School of Computing

A Relational Approach to Defining and Implementing Transformations in Metamodels

David Akehurst, Stuart Kent, and Octavian Patrascoiu

Software and Systems Modeling, 2(4):182-196, December 2003.


Metamodelling is becoming a standard way of defining languages such as the UML. A language definition distinguishes between concrete syntax, abstract syntax and semantics domain. It is possible to define all three using a metamodelling approach, but it is less clear how to define the transformations between them. This paper proposes an approach which uses metamodelling patterns that capture the essence of mathematical relations. It shows how these patterns can be used to define both the relationship between concrete syntax and abstract syntax, and between abstract syntax and semantics domain, for a fragment of UML. A goal of the approach is to provide a complete specification of a language from which intelligent tools can be generated. The paper describes implementations of the examples, which have been partially generated from the metamodel definitions using a tool generation tool. A number of issues emerge which need to be solved in order to achieve the stated goal; these are discussed. The approach to defining mappings is also applicable to defining mappings between languages; this is discussed.

Bibtex Record

author = {David Akehurst and Stuart Kent and Octavian Patrascoiu},
title = {{A} {R}elational {A}pproach to {D}efining and {I}mplementing {T}ransformations in {M}etamodels},
month = {December},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {article},
    submission_id = {6344_1074168491},
    journal = {Software and Systems Modeling},
    volume = {2},
    number = {4},
    publisher = {Springer-Verlag},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014