OMG Model-Driven Architecture: Principles and Frameworks

OMG Model-Driven Architecture (MDA)

The Object Management Group (OMG) has defined a comprehensive proposal for applying Model-Driven Engineering (MDE) practices to system development: MDA (Model-Driven Architecture).

Four Principles of MDA

  • Models must be expressed in a well-defined notation to enable effective communication and understanding.
  • System specifications must be organized around a set of models and associated transformations (mappings and relations between multi-layered models).
  • Models must be compliant with metamodels.
  • Increase acceptance, broad adoption, and tool competition for MDE.

Core Model Layers

  • Computation Independent Model (CIM): Describes requirements and needs at a very abstract level, without any reference to implementation aspects (e.g., description of user requirements or business objectives).
  • Platform Independent Model (PIM): Defines the behavior of the systems in terms of stored data and performed algorithms, without any technical or technological details.
  • Platform-Specific Model (PSM): Defines all the technological aspects in detail.

Transformations / mappings: CIM → PIM → PSM

Principles for Domain-Specific Languages

  • The language must provide good abstractions to the developer/modeler, must be intuitive, and make life easier, not harder.
  • The language must not depend on one-man expertise for its adoption and usage; its definition must be shared and agreed upon.
  • The language must evolve and be kept updated based on user and context needs, otherwise it is doomed to die.
  • The language must be supported by tools and methods.
  • The language should be open for extensions and closed for modifications (open-closed principle).

Formalisms to Specify Languages (Metalanguages)

The Four-Layer Metamodel Structure

M3 – Meta-metamodel (Language for Metamodels): The top layer is the foundation, defining the language for creating metamodels. The most common example is the Meta-Object Facility (MOF).