MetaModelling

From Suhrid.net Wiki
Revision as of 12:20, 6 January 2012 by Suhridk (talk | contribs) (→‎Uses)
Jump to navigationJump to search

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.
    • 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.