be automatically refined into mappings. Mappings
are typically uni-directional and must be consistent
with the relations it refines.
A model transformation specification defines how a
target model is derived from an existing source
model. Since MDA requires its model to be
well-formed, there are always two meta-models, i.e.,
source meta-model and target meta-model, to
validate their conformance. What will be
transformed are the actual data models, while rule
sets are defined on meta-model level. The
equivalence of source model and target model are
reflected in the static relations of the corresponding
meta-models.
On the lower level of Figure 1, we can see
clearly that the relation consists of several
transformation rules, represented by TRule. TRule is
usually responsible for transforming a clipping of
source model into a clipping of target model. So
each TRule has a source ExtentVar and a target
ExentVar. An ExtentVar is an extent variable
representing a meta-model or a meta-model
fragment, since a transformation rule. Similarly,
mapping is composed of several PatternDefn, which
is a pattern definition describing the details of
transformation. Each PatternDefn specifies how a
source Term is transformed into a target Term. And
a Term tracks to a MOF class in a model.
3 BASIC FORMALISM
As for the expression of specifications and
implementations of transformation, it may need a
specific modal transformation language. This
language should be precise and unambiguous. A
formal language based on mathematical logic and set
theory can meet this goal. Formal language allows
software engineers to create integral, conformant
and unambiguous specifications. Additionally,
formal language is easy for automation.
According to our designed transformation
model, such a formal transformation language
should provide at least definitions of three aspects:
- meta-model: a set of concepts to be matched
for an instantiated model,
- model: a set of entities to be dealt with by
transformation, and
Fi
- transformation: a functional mapping reflecting
a set of relations and evolution of elements from
the source to the target.
In the following, we will present the essential
formal definitions of all the elements in the
transformation model in part 2.
3.1 Definitions of Meta-models
ure 1: Transformation Model ada
ted from OMG.
These three consecutive concepts are defined on
meta-model level. To be mentioned here, all the
concepts have the most common sense. For example,
the attribute of class here is a general concept,
including universal attribute of the primitive type,
association end of Object type and method of the
class, and we use a full stop to attach it to its
belonging class. So a meta-model, which actually
contains meta-classes and associations between
them, can be simplified to be a group of
meta-classes.
Def1 A meta-class mc(id, A)
z An identifier id
z A meta-attribute set A of tuples (n, t) with
an identifier n and a type t, with the
property:
jijjjii ttnnAtntn i =⇒=
:),(),,(
Def2 A meta-model mm is a collection of
meta-classes {m
0
, m
1
,…,m
n
}, with the property:
:, mmmcmc ji
jiji mcmcidmcidmc =⇒
..
Def3 A meta-model fragment mmf(mm, MCC)
z A meta-model mm which it belongs to
z A set MCC is a collection of meta-classes,
with the property:
mmmmfMCCmmfmmf ..: ⊆
3.2 Definitions of Models
Def4 to Def6 deals with the model and its containing
elements. These definitions are dependent on the
above definitions since models are the instances of
meta-models. So, each of the following definitions
attach a tag or mark reflecting its belonging meta
source.
Def4 A class c(id, mc, V)
z An identifier id
z A regarding meta-class mc
z An attribute set V of tuples (a, v), with the
property:
jijjjii vavaVvava i =⇒=
:),(),,(
,and
:.),(,.),(, AmctnVcvac ∈
AmcVcna .. =∧=
, which ensure that the
ICEIS 2005 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
430