Engineering Modelling Languages: A Precise Meta-Modelling Approach
FASE 02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering (2002)
- ISBN: 3540433538
- DOI: 10.1007/3-540-45923-5_11
Available from www.springerlink.com
or
Abstract
MMF uses meta-modelling techniques to precisely define modelling languages. The approach employs novel technology based on package specialisation and templates. MMF is being applied to the UML 2.0 revision initiative and is supported by a tool.
Page 1
Engineering Modelling Languages: A Precise Meta-Modelling Approach
Engineering Modelling Languages:
A Precise Meta-Modelling Approach
Tony Clark1, Andy Evans2, Stuart Kent3
1.0 Introduction
This paper describes a Meta-Modeling Framework (MMF) that addresses many of the deficiencies in the
definition of The unified Modeling Language (UML), and promises to support the OMG's newly
announced strategy, Model Driven Architecture (MDA) [OMG01]. The facility comprises a language
(MML) for defining modeling notations, a tool (MMT) that checks and executes those definitions, and a
method (MMM) consisting of a model based approach to language definition and a set of patterns
embodying good practice in language definition.
The development of MMF by the pUML group ([pUML]) is ongoing and has been supported by IBM
and Rational Inc. The work reported in this paper is a simplified version of the work described in out ini-
tial submission to the UML 2.0 revision initiative [Cla01] which is expected to be completed in 2002.
The need for the definition of UML are recognized, in part, by the infrastructure RFP for UML 2.0
[OMG00]. In Section 3.0 on page 14 we identify some of the main requirements of the RFP, show how
these relate to the needs described above, and outline how MMF addresses them.
This paper is structured as follows. The three main components (method, language and tool) to the MMF
approach is described. The MMF approach is then applied to a simple description of a modelling lan-
guage. The language, called SML, is a simplified version of a typical object-oriented static modelling
language. MMF allows modelling language properties to be defined as a collection of templates. The
templates for SML are defined and then used to construct models of syntax and semantics. Finally we
place this work into context and outline future work.
1.1 A Method for Meta-Modelling (MMM)
The UML is a collection of notations, some visual some textual. These notations currently have a loose
mapping to an abstract syntax (which is imprecisely defined), which in turn is given an informal seman-
tics written in natural language. The UML needs to become a precisely defined family of modeling lan-
guages, where a modeling language comprises a notation (concrete syntax), abstract syntax and
semantics.
Software Engineers define languages as a collection of models with mappings between them. Typically a
language consists of models for concrete syntax, abstract syntax and for the semantic domain. Mappings
are defined by associating model elements. A language has mappings between concrete syntax and
abstract syntax and between abstract syntax and the semantic domain. For example, a language for class
diagrams can be defined in terms of a model for boxes and lines, a model for classes, attributes and asso-
ciations, and a model for objects and slots. A mapping between abstract and concrete syntax relates
classes, attributes and associations to boxes, text and lines. A mapping between abstract syntax and the
semantic domain relates classes, attributes and associations to objects and slots.
The MMF approach applies OO modelling to the definition of OO modelling languages. Each language
component is defined as a package containing a class diagram. Package specialization is employed to
support reusable, modular, incremental language design. OCL [War99] [Ric99] is used to define well-
1. Department of Computer Science, King’s College London.
2. Department of Computer Science, University Of York.
3. Computing Laboratory, University of Kent.Engineering Modelling Languages: A Precise Meta-Modelling Approach19 October 2001 1
A Precise Meta-Modelling Approach
Tony Clark1, Andy Evans2, Stuart Kent3
1.0 Introduction
This paper describes a Meta-Modeling Framework (MMF) that addresses many of the deficiencies in the
definition of The unified Modeling Language (UML), and promises to support the OMG's newly
announced strategy, Model Driven Architecture (MDA) [OMG01]. The facility comprises a language
(MML) for defining modeling notations, a tool (MMT) that checks and executes those definitions, and a
method (MMM) consisting of a model based approach to language definition and a set of patterns
embodying good practice in language definition.
The development of MMF by the pUML group ([pUML]) is ongoing and has been supported by IBM
and Rational Inc. The work reported in this paper is a simplified version of the work described in out ini-
tial submission to the UML 2.0 revision initiative [Cla01] which is expected to be completed in 2002.
The need for the definition of UML are recognized, in part, by the infrastructure RFP for UML 2.0
[OMG00]. In Section 3.0 on page 14 we identify some of the main requirements of the RFP, show how
these relate to the needs described above, and outline how MMF addresses them.
This paper is structured as follows. The three main components (method, language and tool) to the MMF
approach is described. The MMF approach is then applied to a simple description of a modelling lan-
guage. The language, called SML, is a simplified version of a typical object-oriented static modelling
language. MMF allows modelling language properties to be defined as a collection of templates. The
templates for SML are defined and then used to construct models of syntax and semantics. Finally we
place this work into context and outline future work.
1.1 A Method for Meta-Modelling (MMM)
The UML is a collection of notations, some visual some textual. These notations currently have a loose
mapping to an abstract syntax (which is imprecisely defined), which in turn is given an informal seman-
tics written in natural language. The UML needs to become a precisely defined family of modeling lan-
guages, where a modeling language comprises a notation (concrete syntax), abstract syntax and
semantics.
Software Engineers define languages as a collection of models with mappings between them. Typically a
language consists of models for concrete syntax, abstract syntax and for the semantic domain. Mappings
are defined by associating model elements. A language has mappings between concrete syntax and
abstract syntax and between abstract syntax and the semantic domain. For example, a language for class
diagrams can be defined in terms of a model for boxes and lines, a model for classes, attributes and asso-
ciations, and a model for objects and slots. A mapping between abstract and concrete syntax relates
classes, attributes and associations to boxes, text and lines. A mapping between abstract syntax and the
semantic domain relates classes, attributes and associations to objects and slots.
The MMF approach applies OO modelling to the definition of OO modelling languages. Each language
component is defined as a package containing a class diagram. Package specialization is employed to
support reusable, modular, incremental language design. OCL [War99] [Ric99] is used to define well-
1. Department of Computer Science, King’s College London.
2. Department of Computer Science, University Of York.
3. Computing Laboratory, University of Kent.Engineering Modelling Languages: A Precise Meta-Modelling Approach19 October 2001 1
Page 2
formedness constraints on the language components. Mappings between language components are
defined in terms of OCL constraints on associations between model elements.
The MMF approach uses two key features of OO modelling technology: package specialization and tem-
plates. Package specialization permits (possible partial) definitions of model elements in a super-pack-
age to be consistently specialized in a sub-package. Templates are parametric model elements; supplying
model elements as parameter values stamps out the template to produce a fresh model element. Tem-
plates provide a means of representing reusable modelling patterns; the MMF approach uses templates
to capture patterns that occur repeatedly in OO modelling languages thereby providing a framework for
defining language families.
This technology is not specific to MMF, UML has package specialization and parametric model ele-
ments and in particular the Catalysis approach [D’So98] advocates the use of these features as part of an
OO method. Algebraic specification languages such as Clear and OBJ and abstract programming lan-
guages such as ML and Haskell provide a means of constructing libraries of parameteric components
and organising systems by combining these components in different ways. However, MMF has provided
the most precise definition of these concepts within the scope of OO modelling to date.
1.2 A Language for Meta-Modelling (MML)
MML is a static OO modelling language that aims to be small, meta-circular and as consistent as possi-
ble with UML 1.3. MML achieves parsimony by providing a small number of highly expressive orthog-
onal modelling features. MML is sufficiently expressive that it describes itself. This feature is not
sufficient to guarantee that MML is unambiguous; however, it reduces the language to a handful of prim-
itive semantic features that can be precisely captured by an external formal system.
The complete definition of MML is beyond the scope of this paper; the reader is directed to [Cla00a] ,
[Cla00b] and [Eva99] for an overview of the MMF approach, to [Clark01a] for the meta-circular defini-
tion of MML and to [Cla01b] and [Cla01c] for its formal definition.
The rest of this section gives an overview of the main features of MML which are an OCL-like expres-
sion language; class definitions; package definitions and templates.
1.2.1 A Basic Expression Language
MML consists of a basic expression language which is based on OCL. This language is not primitive to
the approach which uses a much smaller MML calculus described in [Cla01c], however it encodes many
of the abstractions which are both useful and familar to modellers.
The language provides a basic collection of data types including integers, booleans and strings together
with standard operations over values of these types. Object slot reference and (synchronous) message
passing is performed using the standard ‘.’ operator. MML supports sets and sequences together with a
small number of standard OCL interation constructs:
Concrete
Syntax
Abstract
Syntax
Semantic
Domain
Display
Mapping
Semantic
MappingEngineering Modelling Languages: A Precise Meta-Modelling Approach19 October 2001 2
defined in terms of OCL constraints on associations between model elements.
The MMF approach uses two key features of OO modelling technology: package specialization and tem-
plates. Package specialization permits (possible partial) definitions of model elements in a super-pack-
age to be consistently specialized in a sub-package. Templates are parametric model elements; supplying
model elements as parameter values stamps out the template to produce a fresh model element. Tem-
plates provide a means of representing reusable modelling patterns; the MMF approach uses templates
to capture patterns that occur repeatedly in OO modelling languages thereby providing a framework for
defining language families.
This technology is not specific to MMF, UML has package specialization and parametric model ele-
ments and in particular the Catalysis approach [D’So98] advocates the use of these features as part of an
OO method. Algebraic specification languages such as Clear and OBJ and abstract programming lan-
guages such as ML and Haskell provide a means of constructing libraries of parameteric components
and organising systems by combining these components in different ways. However, MMF has provided
the most precise definition of these concepts within the scope of OO modelling to date.
1.2 A Language for Meta-Modelling (MML)
MML is a static OO modelling language that aims to be small, meta-circular and as consistent as possi-
ble with UML 1.3. MML achieves parsimony by providing a small number of highly expressive orthog-
onal modelling features. MML is sufficiently expressive that it describes itself. This feature is not
sufficient to guarantee that MML is unambiguous; however, it reduces the language to a handful of prim-
itive semantic features that can be precisely captured by an external formal system.
The complete definition of MML is beyond the scope of this paper; the reader is directed to [Cla00a] ,
[Cla00b] and [Eva99] for an overview of the MMF approach, to [Clark01a] for the meta-circular defini-
tion of MML and to [Cla01b] and [Cla01c] for its formal definition.
The rest of this section gives an overview of the main features of MML which are an OCL-like expres-
sion language; class definitions; package definitions and templates.
1.2.1 A Basic Expression Language
MML consists of a basic expression language which is based on OCL. This language is not primitive to
the approach which uses a much smaller MML calculus described in [Cla01c], however it encodes many
of the abstractions which are both useful and familar to modellers.
The language provides a basic collection of data types including integers, booleans and strings together
with standard operations over values of these types. Object slot reference and (synchronous) message
passing is performed using the standard ‘.’ operator. MML supports sets and sequences together with a
small number of standard OCL interation constructs:
Concrete
Syntax
Abstract
Syntax
Semantic
Domain
Display
Mapping
Semantic
MappingEngineering Modelling Languages: A Precise Meta-Modelling Approach19 October 2001 2
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
6 Readers on Mendeley
by Discipline
by Academic Status
50% Ph.D. Student
17% Doctoral Student
17% Other Professional
by Country
33% Germany
17% Switzerland
17% Belgium


