Table 1. Model elements and model links of Bank_Client and SimpleUML model
C
Bank_Client
C
SimpleUML
elements {Bank,Client,Bank_Client} {Class, Association}
links/ basic
navigations
{(Bank,[forward],[Bank_Client]),
(Client,[reverse],[Bank_Client]),
(Bank_Client,[source],[Bank]),
(Bank_Client,[destination],[Client])}
{(Class,[forward],[Association]),
(Class,[reverse],[Association]),
(Association,[source],[Class]),
(Association,[destination],[Class])}
Table 2. Navigation mapping and mapping of a composition
From Bank_Client To SimpleUML
(Bank,[forward],[Bank_Client]) (Class,[forward],[Association])
(Bank_Client,[destination],[Client]) (Association,[destination],[Class])
(Bank,[forward],[Bank_Client]) °
(Bank_Client,[destination],[Client])=
(Bank,[forward,destination],[Bank_Client,Client])
(Class,[forward],[Association]) °
(Association,[destination],[Class])=
(Class,[forward,destination],[Association,Class])
Remarks. The mapping of the composition of two navigations is the composition of
the mappings of the two navigations. This is an important property of the structural
mapping and is called structure-preserving mapping in the category theory.
4 Exploiting the formalization
In order to demonstrate the benefits of the proposed formalization, we have developed
a prototype of an MDE environment in which different kind of data such as models,
meta-models, mapping specifications, conformance relationships and more generally,
any structure-preserving relationship can be represented in a unified manner (using
categories and functors).
The developed prototype having architecture depicted in Fig.6 contains an OCL
evaluator that exploits categorical representations of models and conformance
mapping to navigate through model elements. The implementation of this evaluator is
well facilitated since model navigation – an important part of the language is made
explicit in the categorical representation of (meta-)models.
Modu le Model/
Category
Module OCL (parser and evaluator)
Modu le Set
Module Transformation Engine
ModuleTracking/
Impact Analyse
Mode l Query/
Model Checker
(formal) Subset of QVTTracking/Impact analyse…
Modu le Model/
Category
Module OCL (parser and evaluator)
Modu le Set
Module Transformation Engine
ModuleTracking/
Impact Analyse
Mode l Query/
Model Checker
(formal) Subset of QVTTracking/Impact analyse…
Fig. 6. The MDE environment prototype
The developed prototype has allowed us to point out several potential usages of the
formalization presented in the previous sections. Some of these usages are provided
below:
– Verifying for model conformance: the input and output model of a transformation
can be respectively verified if each model conforms to its meta-model due to the
OCL evaluator.
– Model query: models can be queried with the OCL language.
114