MDA, Metamodeling and Transformation

MDA, Metamodeling and Transformation

Liliana María Favre (Universidad Nacional del Centro de la Pcia. de Buenos Aires, Argentina)
DOI: 10.4018/978-1-61520-649-0.ch003

Abstract

MDA requires the ability to understand different languages such as general purpose languages, domain specific languages, modeling languages or programming languages. An underlying principle of MDA for integrating semantically in a unified and interoperable way such languages is using metamodeling techniques.
Chapter Preview
Top

Introduction

MDA requires the ability to understand different languages such as general purpose languages, domain specific languages, modeling languages or programming languages. An underlying principle of MDA for integrating semantically in a unified and interoperable way such languages is using metamodeling techniques.

A metamodel describes a family of models whose elements are instances of the metaclasses of the respective metamodel. The kind of entities and relations defines the kind of metamodel, for instance:

  • An ISM-Java metamodel includes entities (metaclasses) for classes, fields, operations, methods, constructors, parameters and interfaces. Methods and constructors are subtypes of operations. Interfaces are associated with classes.

  • A PSM-Java metamodel distinguishes entities such as Java-metamodel entities and another entities such as associations.

  • A RDBMS metamodel includes entities for schema, table, column, key and foreign key.

The OMG standard for defining models is the Meta-Object-Facility (MOF) metamodel (MOF, 2006). MOF is essential to define different modeling languages and metamodeling languages such as UML or MOF itself. It allows capturing all the diversity of modeling standards and interchange constructs that are used in MDA. A MOF-aware modeling tool can capture UML diagram elements in machine readable form allowing tools from multiple vendors to be used together on a single project.

The initial diffusion of MDA was focused on its relation with UML as modeling language. However, there are UML users who do not use MDA, and MDA users who use other modeling languages such as Domain Specific Languages (DSL).

The essence of MDA is MOF that allows different kinds of software artifacts to be used together in a single project. It allows capturing all the diversity of modeling standards and interchange constructs that are used in MDA. MOF provides a metadata management framework, and a set of metadata services to enable the development and interoperability of models and metadata driven systems.

Top

Mof Constructs

The MOF modeling concepts are “classes, which model MOF meta-objects; associations, which model binary relations between meta-objects; Data Types, which model other data; and Packages, which modularize the models” (MOF, 2006, pp. 2-6). OCL can be used to attach consistency rules to metamodel components.

Next, we describe these constructs in detail.

Complete Chapter List

Search this Book:
Reset