SLIDE 26 26
USC - Center for Software Engineering
USC
C S E
Simplified UML Meta-Model
Model ModelElement name : String Association AssocEnd multiplicity : Multiplicity aggregation : {none, aggregate, Class Interface Feature visibility : {public, private, protected} Operation dir : {require, provide} Attribute type : TypeExpr Constraint body : Uninterpreted Stereotype
Note: All classes are subclasses of Mod- elElement (except ModelElement itself). This relationship is not shown.
2..* 0..* 0..* 0..* 0..* 0..* 1..* 0..* 1..* 0..*
Parameter type : TypeExpr kind : {in, out, inout, return}
0..*
LinkEnd
0..* instance
StateMachine TaggedValue value : Uninterpreted
1..* Transition
State CompositeState
0..1 1..* 0..* source 0..* target 0..*
Event CallEvent Operation
0..1 0..* 0..1 0..1 0..1 0..1 0..1 0..1 {ordere d} top 0..* 0..* {ordered} 0..1 0..1 0..1 0..* 0..1 0..1
Simplified UML Meta Model (adapted from [26])
USC - Center for Software Engineering
USC
C S E
- UML notation is not very complex but there are many
subtleties in interpreting things.
- UML is not well suited for precision (too many
ambiguities).
- Nevertheless, UML is sufficient in modeling many (most)
- things. Often there is no need for strong formalism.
=> use UML during general development process => use something else (e.g. ADLs) when it is less suited
Conclusions