Difference between revisions of "MetaModelling"
From Suhrid.net Wiki
Jump to navigationJump to search (→Uses) |
|||
Line 45: | Line 45: | ||
* ''A metamodel is used to define the characteristics of a valid model.'' | * ''A metamodel is used to define the characteristics of a valid model.'' | ||
+ | * A model conforms to its metamodel. | ||
+ | * A model is an instance of its metamodel. | ||
+ | * e.g in UML, a Class is an instanceof Classifier. | ||
== Uses == | == Uses == |
Revision as of 12:21, 6 January 2012
Contents
MDA
- Model driven architecture effectively defines a philosophy and loose process for developing systems.
- It is model-centric, everything is a model: system, requirements, platform, the transformations that are used to move from one model to another.
- System models are separated into two parts:
- Platform independent.
- Platform dependent.
- Mappings and transformations are needed to include platform specific details - they should be modelled to.
MDA Models
PIM
- Platform Independent Model.
- Formal specifications of a system (business and service model) that abstracts away technical detail.
- e.g. a Billing System in UML.
- "Model once, generate everywhere."
PSM
- Platform Specific Model.
- Business and Service Model expressed in terms of the specification model of the platform.
- e.g. a Billing System expressed in UML Profile for CORBA.
Platform Model
- Model of platform component constructs e.g. of Eiffel, C#, EJB etc.
MDA Technologies
MOF
- All languages used in MDA will be based on MOF.
QVT
- Query-View-Transformation: a standard for modelling transformations between languages.
- Expresses relationships between model elements and constraints on when the transformations can be fired.
XMI
- Tool interchange.
MetaModel
- A metamodel is used to define the characteristics of a valid model.
- A model conforms to its metamodel.
- A model is an instance of its metamodel.
- e.g in UML, a Class is an instanceof Classifier.
Uses
- To define the syntax and semantics of a language.
- UML is a language. So the document that defines UML is the UML Metamodel.
- e.g. a Class IS-A Classifier, an Association IS-A Relationship.
- To explain the language.
- To compare languages rigorously.
- To specify requirements for a tool for the language.
- To enable interchange between tools.