Page 234 -
P. 234
OO-METHOD 219
Table 11.1
Functional Model in OO-Method
Attribute Event Valuation effect
InvoicePaymentDate pay paymentDate
IsPaid pay true
model view that are referenced from this view (classes, attributes, relationships, services) must
already have been defined.
OLIVANOVA Transformation Engines
The OLIVANOVA Transformation Engines are implementations of different conceptual model
compilation processes. Each transformation engine implements the following: a repository of the
conceptual model, a repository of the application model, a set of mappings between the elements
in the repository of the conceptual model and the elements in the repository of the application
model, and the set of text transformations associated with each element in the repository of the
application model.
The conceptual model repository is a common component that is common to all transforma-
tion engines. It is capable of loading an XML interchange file containing a model created with
OLIVANOVA Modeler.
Mappings access the conceptual model repository and populate the application model reposi-
tory. This application model repository is specific to each transformation engine and contains the
elements that correspond to mechanisms that execute elements in the conceptual model as defined
in the execution model, as well as those mechanisms pertinent to the platform, technology, and
programming language at which the transformation engine is targeted.
Text transformations operate on the application model repository to generate the code fragments
corresponding to each element in it.
In MDA terms, we could say that an OLIVANOVA Transformation Engine is the implementation
of a tool that operates PIM-to-PSM transformations and PSM-to-Text (code) transformations.
Compiling OO-Method Models with OLIVANOVA Transformation Engines
Once the analyst has a version of the OO-Method conceptual model ready for implementation,
s/he then moves on to choose the set of model compilers that automate that implementation task.
Currently, OLIVANOVA Model Execution targets three-layered architectures (the presentation
layer, the business logic layer, and the persistence layer) offering transformation engines that al-
low the compilation of an OO-Method conceptual model to (among others):
• JSP, ASP.Net, Visual Basic, and C# for the presentation layer,
• EJB, Visual Basic, and C# for the business logic layer, and
• SQLServer, Access, MySQL, Oracle, and DB2 for the persistence layer.
If, for instance, the analyst decides to have her/his model implemented in JSP for the presenta-
tion layer and EJB for the business logic layer using a MySQL database for persistence, then s/he