Chinese Journal of Electronics
Vol.20, No.3, July 2011
Approach of Designing an Executable
Meta-Modeling Language in MDA Framework
∗
WANG Xiaoyan, LIU Shufen, BAO Tie and PENG Jun
(College of Computer Science and Technology, Jilin University, Changchun 130023, China)
Abstract — The aim of MDA is to increase the quality
and speed of system development b y using modeling tech-
niques. However, the lack of accurate semantic language
support has hampered the wide adoption of MDA. This pa-
per presents an executable meta-modeling language xKL
design method and a mapping method from xKL to the
Java language. metaKernel based on CMOF model is the
core of xKL language, which enriches its data types by ex-
panding DataType element, increases expression types by
adding ExpType element, improves Operations by adding
a variety of basic action information. metaOCL expanded
from metaKernel can express constraints between ele-
ments. Model mapping tool metaMap provides mapping
method from xKL language to Java language and illus-
trates the mapping rules. The created domain model us-
ing xKL language can be directly mapped to the target
language using metaMap, so the domain model will never
become obsolete if technology changes, and can be devel-
oped and reused continuously.
Key words — Meta model, Executable meta-modeling
language, Model mapping.
I. Introduction
OMG proposed an open, neutral software development ap-
proach called Model driven architecture (MDA)
[1]
in 2001.
The essential aspects of software in MDA are expressed in the
form of models, and transformations of these models are con-
sidered the core of software development, then models can be
transformed into a technical implementation, i.e.asoftware
system. Such an approach can avoid restricting oneself to a
specific technology in the early stages of the development pro-
cess and can ensure a consistent architecture throughout the
lifecycle of a software system. However, MDA and its related
specifications are still in constant improvement and develop-
ment, such as MOF
[2]
and UML
[3]
. There are a number of
problems with them. Firstly, These specifications are short of
providing a precise semantics. Whilst their syntax are mostly
well specified, the semantics of those syntactic elements are
either missing or provided informally with English. Secondly,
MOF and UML are not executable—they are designed to be a
declarative language. In other words you cannot run a model
as defined in the specification, merely define a specification to
which any executable program must conform. Thirdly, it’s not
clearly defined what is transformation from the most abstract
model of a system to the most refined model is, which may in-
clude several stages of models. In order to overcome these
problems, an executable meta-modeling language is needed
which has a precise semantics and can be constructed to meet
the different needs and all shortcomings brought about by the
imprecise semantics of model-driven software development will
be resolved. An executable meta-modeling language enables
developers to use powerful language abstractions and develop-
ment environments that support their development processes.
They can create models that are rich enough to permit analysis
and simulation of system properties before completely generat-
ing the code for the system, and are more reusable and agile.
They can manipulate their models and programs in signifi-
cantly more sophisticated ways than they can code. So soft-
ware development based on MDA will be further promoted,
which can alleviate or solve the problems, such as the com-
plexity, diversity and variability and improve the efficiency of
software development.
Meta-modeling is the meta model of a modeling lan-
guage, the meta-language is used to describe meta-modeling
and meta-meta model is the meta-model of meta language.
Nowadays, the research on the meta-modeling language or
the meta-meta model majors in 2 aspects: One research
direction is about meta-meta model constructed by object-
oriented methodology, such as MOF and UML class diagram.
UML is self-describing model and through a simple extension
UML class diagram is approximately equivalent to MOF. Ruth
Breu
[4]
outlines a proposal for the formal foundation of UML
that is based on a mathematical system model. A.S. Evans
[5]
introduced denotational semantics into the UML meta-model,
which places emphasis on building a precise core semantics for
the UML. MetaGME
[6]
supports its own metamodeling en-
vironment and language based on UML class diagrams with
class stereotypes and OCL constraints. EMF
[7]
comforms
to EMOF structure, which implements the EMOF metadata
model and metadata operations, but it is not implemented.
Hence the result verification and modeling simulation are lim-
ited. The other research direction is about graph-based meta-
model. The modeling language semantics can be formalized
∗
Manuscript Received July 2010; Accepted Oct. 2010. This work is supported by the National Natural Science Foundation of China
(No.60973041), The Key Program of the Science and Technology Department of Jilin Province (No.20060328).