190 likes | 362 Views
Devon M. Simmonds. Metadata & The UML Metamodel. SLIDES include some from tvarious sources including: (1) http://www.econ.kuleuven.ac.be/public/ndbaa30/SWMGT/
E N D
Devon M. Simmonds Metadata & The UMLMetamodel SLIDES include some from tvarious sources including: (1) http://www.econ.kuleuven.ac.be/public/ndbaa30/SWMGT/ (2) Object Modeling with OMG UML Tutorial Series - http://www.omg.org/technology/uml/uml_tutorial.htm
Mike:Customer Id= 12345 b:CustomerOrder c:CustomerOrder Item=batter Quantity=<5 tons> (M0) Customer CustomerOrder (M1) id item quantity (M2) Class Association Meta-Models • Models that describe other models Objects * Model Meta-Model Advanced Modeling with UML
UML • The UML specification consists of two interrelated parts: • UML Semantics. A metamodel that specifies the abstract syntax and semantics of UML object modeling concepts. • UML Notation. A graphic notation for the visual representation of the UML semantics.
UML • The abstract syntax for the UML Semantics is expressed using a small subset of the UML Notation. • The UML Notation describes the mapping of the graphic notation to the underlying semantics.
UML • The UML metamodelis described in a semi-formal manner using three views: • Abstract syntax • Well-formedness rules • Semantics • The abstract syntax is provided as a model described in a subset of UML, consisting of a UML class diagram and a supporting natural language description.
UML • The well-formedness rules are provided using a formal language (Object Constraint Language) and natural language (English). • The semantics are described primarily in natural language, but may include some additional notation.
* GeneralizableElement Feature isRoot : Boolean isLeaf : Boolean isAbstract : Boolean visibility : {public, private, protected} Well-formedness constraint (OCL) not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op))) Class isActive : Boolean The UML Meta-Model • A UML Model that describes UML Meta-Class Classifier Advanced Modeling with UML
OMG Modeling Infrastructure Instance_of Instance_of Instance_of Meta-Object Facility (MOF) M3 UML Metamodel M2 Modeling concepts M1 User Data M0
UML Metamodel Features • UML metamodel is managed by organizing it into packages. • Each package groups related metaclasses SWE 699
«metamodel» UML “Behavioral Elements” dependency “Structural Elements” package UML Metamodel Overview Advanced Modeling with UML
“Structural Elements” Classes Components Deployments Composite Structures UML Overview <<imports>> <<imports>> <<imports>> Advanced Modeling with UML
Example 1 A meta-model is a conceptual model of a modeling technique ! Entity PERSON Name [0..1] 1 owns [0..*] [0..*] Association End [2..*] 1 Association CAR Cardinality range Name Rolename Model Layer Meta Model Layer
Classifier Relationship Example 2 0..1 2..* 0..1 Class Property Association 0..1 member end 0..1 0..* Owned end Syntactically valid ?
Behavioral Elements of UML Metamodel Advanced Modeling with UML
Qu es ti ons? The End ______________________ Devon M. Simmonds Computer Science Department University of North Carolina Wilmington _____________________________________________________________