SLIDE 1
Improving the Definition of UML Greg OKeefe Computer Sciences - - PowerPoint PPT Presentation
Improving the Definition of UML Greg OKeefe Computer Sciences - - PowerPoint PPT Presentation
Improving the Definition of UML Greg OKeefe Computer Sciences Laboratory Australian National University Outline The UML definition claims to be Outline The UML definition claims to be precise Outline The UML definition claims to be
SLIDE 2
SLIDE 3
Outline
The UML definition claims to be precise
SLIDE 4
Outline
The UML definition claims to be precise easy to understand
SLIDE 5
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
SLIDE 6
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that
SLIDE 7
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals
SLIDE 8
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals the current definition does not achieve them
SLIDE 9
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is
SLIDE 10
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is
unavoidable for precision
SLIDE 11
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is
unavoidable for precision compatible with understandability
SLIDE 12
Outline
The UML definition claims to be precise easy to understand
(because it avoids mathematical formality)
I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is
unavoidable for precision compatible with understandability
and I will survey some relevant work
SLIDE 13
Criteria for a good definition of UML
SLIDE 14
Criteria for a good definition of UML
Criterion 0 it must define UML
SLIDE 15
Criteria for a good definition of UML
Criterion 0 it must define UML Criterion 1 it must define UML
SLIDE 16
Criteria for a good definition of UML
Criterion 0 it must define UML Criterion 1 it must define UML (5 things to define)
SLIDE 17
Criteria for a good definition of UML
Criterion 0 it must define UML Criterion 1 it must define UML
(Σ, ε)
A B A:Class :Property :Association ex:Property B:Class
concretesyntax abstractsytnax semanticdomain notationalconventions semantics
- wnedEnd
- wningAssociation
type class
- wnedAttribute
type memberEnd association ex
SLIDE 18
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like
SLIDE 19
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability
SLIDE 20
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models
SLIDE 21
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation “soundness”
SLIDE 22
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation “soundness” Criterion 3 enables agreement on complex ideas
people tools
SLIDE 23
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation “soundness” Criterion 3 enables agreement on complex ideas
people tools
real agreement requires understanding
SLIDE 24
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation “soundness” Criterion 3 enables agreement on complex ideas
people tools
real agreement requires understanding
- f the models
SLIDE 25
Criteria: semantic applications, agreement
Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation “soundness” Criterion 3 enables agreement on complex ideas
people tools
real agreement requires understanding
- f the models
hence, of the language
SLIDE 26
Criteria: reflection and flexibility
Criterion 4 reflective
SLIDE 27
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S
SLIDE 28
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
SLIDE 29
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
- Criterion 5 flexible, to cater for
SLIDE 30
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
- Criterion 5 flexible, to cater for
semantic variation points
SLIDE 31
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
- Criterion 5 flexible, to cater for
semantic variation points profiles
SLIDE 32
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
- Criterion 5 flexible, to cater for
semantic variation points profiles DSL’s interoperable with UML
SLIDE 33
Criteria: reflection and flexibility
Criterion 4 reflective language in semantic domain: L = mm ⊆ S each model contains its metamodel: c C
∈
- :C
c
i
- :C
C
≪instanceOf≫
C
C
i
- c
C
instanceOfType
- Criterion 5 flexible, to cater for
semantic variation points profiles DSL’s interoperable with UML later versions of UML
SLIDE 34
Criteria Summary
We want a precise, yet understandable definition of UML.
SLIDE 35
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
SLIDE 36
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature
SLIDE 37
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners
SLIDE 38
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
SLIDE 39
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
precise understandable definition would resolve disagreements
SLIDE 40
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!)
SLIDE 41
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts
SLIDE 42
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts precision: mathematics
SLIDE 43
Evaluation of the Current Definition of UML
no agreement on meaning of UML models
claims in the literature discussions with practitioners OMG issues,
- eg. #5977 association semantics
precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts precision: mathematics understanding: cognitive psychology
SLIDE 44
Survey: Z and Algebra
we survey the literature on semantics for UML
SLIDE 45
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
SLIDE 46
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
Z
SLIDE 47
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
Z
Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language
SLIDE 48
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
Z
Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?)
SLIDE 49
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
Z
Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?)
Algebraic Specification
SLIDE 50
Survey: Z and Algebra
we survey the literature on semantics for UML most has some other agenda
Z
Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?)
Algebraic Specification
Reggio et al 2001, seek semantics for whole language, advocate models as axioms, recognise need for temporal
- perators
SLIDE 51
Survey: Logic and OCL
Translating OCL to Logic
SLIDE 52
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002
SLIDE 53
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002
SLIDE 54
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002
Dynamic Logic
SLIDE 55
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002
Dynamic Logic
Beckert 2001, gives a special dynamic logic for Java-Card
SLIDE 56
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002
Dynamic Logic
Beckert 2001, gives a special dynamic logic for Java-Card Weiringa and Broerson 1997, use a DL based language to formalise a “methodologically analysed” form of UML
SLIDE 57
Survey: Logic and OCL
Translating OCL to Logic
OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002
Dynamic Logic
Beckert 2001, gives a special dynamic logic for Java-Card Weiringa and Broerson 1997, use a DL based language to formalise a “methodologically analysed” form of UML O’Keefe 2006, small UML subset with sequence diagrams translated to DL for satisfiability checking
SLIDE 58
Survey: Graphs and STS
Symbolic Transition Systems
SLIDE 59
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models
SLIDE 60
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions
SLIDE 61
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions
Graph Transformation Systems
SLIDE 62
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions
Graph Transformation Systems
several groups persuing the same basic idea
SLIDE 63
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions
Graph Transformation Systems
several groups persuing the same basic idea a system state is an object diagram = a graph
SLIDE 64
Survey: Graphs and STS
Symbolic Transition Systems
Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions
Graph Transformation Systems
several groups persuing the same basic idea a system state is an object diagram = a graph evolution defined by graph transformation rules (perhaps given as UML interaction diagrams)
SLIDE 65
Conclusions
What Formalism?
SLIDE 66
Conclusions
What Formalism?
graph transformation for understandability
SLIDE 67
Conclusions
What Formalism?
graph transformation for understandability dynamic logic for expressiveness
SLIDE 68
Conclusions
What Formalism?
graph transformation for understandability dynamic logic for expressiveness a new logic with graphs as static statements, graph transformation rules as atomic programs?
SLIDE 69
Conclusions
What Formalism?
graph transformation for understandability dynamic logic for expressiveness a new logic with graphs as static statements, graph transformation rules as atomic programs? we must gain precision and understandability,
- therwise model driven development will fail