my m.s. thesis proposal
DESCRIPTION
This is the slideshow I used to present my M.S. thesis proposal, which is tentatively titled "Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases and Class Diagrams Automatically using Design by Contract."TRANSCRIPT
M.S. Thesis Proposal
Yaser Sulaiman
Road map
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
!
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
Unified Modeling Language
Stolen from Wikipedia
Stolen from Wikipedia
Stolen from Wikipedia
Multi-view
System
Function
Behavior Structure
System
UCs
Behavior Structure
System
UCs
Behavior CDs
System
UCs
STDs CDs
System
UCs
STDs CDs
SDs
Developed independently
Detecting inconsistencies
Cross-referencing
Do it AEAP
“The longer the defect stays in the software food chain, the more damage it causes further down the chain.”
—Steve McConnell
Photo by catface3
Problem?
Manual is hard
Photo by TB2011
Generating models from others
Problem?
Manual is hard
Photo by TB2011
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
How?
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
Combine AI planning & DbC
Objectives
Investigate, formulate, & instantiate
Investigate, formulate, & instantiate
Investigate, formulate, & instantiate
Investigate, formulate, & instantiate
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
Stolen from Eiffel
Correctness formulae
aka Hoare triples
𝑃 𝐴 {𝑄}
From a mathematical notation to a programming construct
Preconditions, postconditions, & invariants
Obligations & benefits for suppliers & their clients
Separation of responsibilities
Photo by Metro Transportation Library and Archive
Examples
sqrt(x:REAL): REAL require x >= 0 do .. end
pop(): T require not empty do .. ensure not full count = old count - 1 end
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
S0 S1 S2 … G
S0 S1 S2 … G
Initial State
S0 S1 S2 … G
States
S0 S1 S2 … G
Actions
S0 S1 S2 … G
Goal
Planning languages
Stanford Research Institute Problem Solver
Action Description Language
Preconditions & effects
Striking similarity
A method in a SD*
↔ An action in a plan
* DbC’ed
State-space search
S0 … G
S0 … G
Heuristics
2 groups
Consistency analysis
Automatic model generation
Consistency analysis
Automatic model generation
Consistency Checking of UML Requirements
Li, Liu, and He (2005)
J. He coauthored Unifying Theories of Programming with C. Hoare
Photo by glingl
Consistency analysis
Automatic model generation
A Systematic Review of Transformation Approaches
between User Requirements and Analysis Models
Yue, Briand, and Labiche (2010)
Automatically Deriving UML Sequence Diagrams from Use Cases
Yue, Briand, and Labiche (2010)
Research Questions
1
How can SDs be automatically generate from UCs and a CD that
were DbC’ed?
2
How can that process be used to analyze the consistency between
UCs and the CD?
3
Which contract language should be used to enable those automated
processes?
4
How do the automatically-generated SDs compare to the
manually-generated ones?
Object Constrain Language
UML DbC OCL
XML Metadata Interchange
DbC
Planning techniques & languages
Formal methods & specs
Informal Requirements
Formal Requirements
…
Informal Requirements
Formal Requirements
…
Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases
and Class Diagrams Automatically using Design by Contract
…</presentation> <questions>…