Difference between revisions of "MetaModelling"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 42: | Line 42: | ||
* Tool interchange. | * Tool interchange. | ||
− | = | + | = Metamodel = |
* ''A metamodel is used to define the characteristics of a valid model.'' | * ''A metamodel is used to define the characteristics of a valid model.'' | ||
Line 58: | Line 58: | ||
* To specify requirements for a tool for the language. | * To specify requirements for a tool for the language. | ||
* To enable interchange between tools. | * To enable interchange between tools. | ||
+ | |||
+ | == Tools to build Metamodels == | ||
+ | |||
+ | === UML/MOF === | ||
+ | |||
+ | * Advantages: Promotes understandability, deals with reasonably large structures, CASE tools exist. | ||
+ | * Disadvantages: Meta circularity, semantic checking. | ||
+ | |||
+ | === Formal Specification Language === | ||
+ | |||
+ | * Advantages: Avoids meta circularity, proof system for semantic checking : possible to construct proofs of consistency/soundness. | ||
+ | * Disadvantages: Difficult to understand, requires expertise. | ||
[[Category:OODE]] | [[Category:OODE]] |
Revision as of 12:33, 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.
Tools to build Metamodels
UML/MOF
- Advantages: Promotes understandability, deals with reasonably large structures, CASE tools exist.
- Disadvantages: Meta circularity, semantic checking.
Formal Specification Language
- Advantages: Avoids meta circularity, proof system for semantic checking : possible to construct proofs of consistency/soundness.
- Disadvantages: Difficult to understand, requires expertise.