Difference between revisions of "MetaModelling"
From Suhrid.net Wiki
Jump to navigationJump to search (→XMI) |
(→Uses) |
||
Line 49: | Line 49: | ||
* To define the syntax and semantics of a language. | * To define the syntax and semantics of a language. | ||
+ | ** UML is a language. So the document that defines UML is the UML Metamodel. | ||
* To explain the language. | * To explain the language. | ||
* To compare languages rigorously. | * To compare languages rigorously. |
Revision as of 12:18, 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.
Uses
- To define the syntax and semantics of a language.
- UML is a language. So the document that defines UML is the UML Metamodel.
- To explain the language.
- To compare languages rigorously.
- To specify requirements for a tool for the language.
- To enable interchange between tools.