Page 229 -
P. 229
214 PASTOR, MOLINA, AND IBORRA
model and whose co-domain is the application model. Mappings can include conditions that must
hold for the mapping to be applied (e.g., some mappings will be applied only on elements of the
conceptual model on which a certain condition is verified). Finally, mappings can be related to
one another to define
• the order in which mappings are to be applied, and
• a dependency hierarchy between mappings.
Text transformations define how to obtain a code fragment from an element in the application
model and the values of its properties. A text transformation can be seen as a function whose do-
main is an element of the application model (or a subset of its properties) and whose co-domain
is a text.
OLIVANOVA MODEL EXECUTION, AN OO-METHOD IMPLEMENTATION
In Miller and Mukerji, (2003), the authors state that “To be adopted, a submitted technology must
include a PIM and at least one PSM; in addition, there must be an implementation or a commit-
ment to provide an implementation within a year.”
France and Rumpe (2007, page 4) state that MDD approaches have to overcome three main
challenges to succeed: to provide high-level, precise modeling abstractions; to deal properly with
different viewpoints when modeling systems; and to manage models (transformations, traceability,
consistency, evolution . . .). Tool support is currently a need to put these ideas successfully in
practice. The OO-Method, aligned with the MDA perspective, has commercial implementations
developed by CARE Technologies (Care Technologies, 2007) that work hard in this direction
under the brand OLIVANOVA Model Execution. It includes, among others, the OLIVANOVA
Modeler modeling tool (CARE Modeler) and a set of model compilers branded OLIVANOVA
Transformation Engines (CARE Model Compiler). Therefore, OLIVANOVA Model Execution
provides a Conceptual Schema-Centric Development Approach that is supported by tools aligned
with the MDA initiative (Molina, 2006). Of course, this is not the “only” working implementa-
tion of MDA, but it provides an adequate workbench where the ideas previously introduced can
be checked in practice.
The main components of OLIVANOVA Model Execution are illustrated in Figure 11.5:
Starting with the set of functional requirements for an application to be developed, the analyst
will create an OO-Method conceptual model of the desired system in OLIVANOVA Modeler.
In MDA terms, the conceptual model would be the PIM of the system since any OO-Method
conceptual model is truly platform-independent because its level of abstraction lets the analyst
define all the functional aspects of the system regardless of the platform (or platforms) on which
this system is to be implemented. Nevertheless, it is important to note that even if the conceptual
model is platform-independent, it is detailed and precise enough to enable an automated set of
transformations to compile it into a full application.
Therefore, this conceptual model, or PIM, is used as input to a set of OLIVANOVA Transfor-
mation Engines or Model Compilers (the choice of which depends on the target platform) which
then operate two transformations:
1. First, the conceptual model is transformed into an application model that addresses the
specific details of the target platform on which the modeled system is to be implemented.
In the MDA jargon, this would correspond to a PIM to PSM transformation.