Model Driven Engineering and introduces the IFML.
Section 4 and 5 present respectively the work
elaborated and the running example and Section 6
concludes.
2 RELATED WORK
This work is related to several works that dealing
with conceptual modeling of software applications.
Among these works, there are those focusing on the
Web: The Web Modeling Language (WebML)
(Ceri, 2002), defined as a conceptual model for data-
intensive Web. Also, we find the OO-HDM
(Schwabe and Rossi, 1995), a UML-based approach
for modeling and implementing Web application
interfaces. Moreover, WebDSL (Groenewegen et al.,
2008) is a domain-specific language consisting of a
core language with constructs to define entities,
pages and business logic. In addition, we find HERA
(Vdovjàk et al., 2003) which is a model-driven
design approach and specification framework
focusing on the development of context-dependent
or personalized Web information system.
Some researches apply model based approaches
for multi-device user interface development. Among
them we can cite: TERESA (Transformation
Environment for inteRactivE Systems
representations) (Berti et al., 2003) and MARIA
with (Paterno et al., 2009). Also, UsiXML (USer
Interface eXtended Markup Language)
(Vanderdonckt, 2005).
Another related work on applying MDA
approach for Rich Internet Applications is found in
(Martinez-Ruiz et al., 2006). The approach is based
on XML User Interface description languages using
XSLT as the transformation language between the
different levels of abstraction
Other recent proposals in the Web Engineering
field represent the RIA foundations (Urbieta et al.,
2007) by extending existing Web engineering
approaches. We also find combination of the UML
based Web Engineering (UWE) method for data and
business logic modeling with the RUX-Method for
the user interface modeling of RIAs was proposed as
model-driven approach to RIA development
(Preciado et al., 2008).
Also, an MDA approach for AJAX web
applications (Gharavi et al., 2008) was the subject of
a study that proposes a UML scheme by using the
profiling for modeling AJAX user interfaces, and
report on the intended approach of adopting
ANDROMDA for creating an AJAX cartridge to
generate the corresponding AJAX application code,
in ICEFACES, with back-end integration. A Meta
Model of AJAX has been defined using the
AndroMDA tool.
3 MODEL DRIVEN
ENGINEERING (MDE)
3.1 Transformation Process in MDE
In MDE, every artefact, including the source code, is
considered as a model element, and the whole
development process can be seen as a set of related
transformations from one model to the next one in
order to automate the system’s implementation from
its requirements. This brings up the three different
layers of abstraction that can be described as follow:
Computing Independent Model (CIM): It
represents a high level specification of the
system’s functionality. It shows exactly what the
system is supposed to do, but hides all the
technology specifications.
Platform Independent Model (PIM): It allows
the extraction of the common concept of the
application independently from the platform
target.
Platform Specification Model (PSM): It
combines the specifications in the PIM with the
details required of the platform to stipulate how
the system uses a particular type of platform
which leads to include platform specific details.
Once the Meta Models developed, MDE provides
the transition between the CIM, PIM and PSM
models through the execution of models
transformation. A transformation converts models
with a particular perspective from one level of
abstraction to another, usually from a more abstract
to less abstract view, by adding more detail supplied
by the transformation rules. There are two types of
transformations in the MDA approach:
Model To Model: it concerns the transition from
CIM to PIM or from PIM to PSM.
Model To Text: it concerns the generation of the
code from the entry model (the PSM) to a
specific programming language as a target.
For the Model To Model transformation, using the
modeling approach is designed to have a sustainable
and productive models transformation,
independently of any execution platform. This is
why the OMG has developed a standard for this
transformation language which is the MOF 2.0 QVT
(OMG - Object Management Group (MOF, MDA,