doctoralThesis
MODELOG : model-oriented development with executable logical object generation
Registro en:
de Souza Ramalho, Franklin; Pierre Louis Robin, Jacques. MODELOG : model-oriented development with executable logical object generation. 2007. Tese (Doutorado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2007.
Autor
de Souza Ramalho, Franklin
Institución
Resumen
The Unified Modeling Language (UML) has far outgrown its initial purpose as a standard
visual notation for constructing intuitive, high-level blueprint models of object-oriented
software. A series of extension, such as OCL, XMI, ASL, MOF, UML profiles, and
different proposed formal semantics, to the language and to its application scope have fedoff
each other in synergy. While these extensions constitute a sound starting point to make
UML the pivotal element for the Model-Driven Engineering (MDE) and Semantic Web
(SW) visions, many other building blocks are still missing, including: (1) Complete formal
semantics for UML and OCL; (2) UML inference engine based on such semantics to
support model checking and intelligent agent reasoning with UML semantic web
ontologies; (3) UML model compilers to fully automate both structural and behavioral code
generation from detailed UML/OCL models.
In this thesis, we present the MODELOG framework based on a single proposal to
address these three issues: it consists of an automatic mapping from fully refined
UML/OCL models to the object-oriented logic programs in the Flora-2, an executable and
Turing-complete language with a well-defined formal semantics.
We developed the MODELOG mapping as model transformations. As source for
these transformations, we reused the UML2 and OCL2 metamodels provided by OMG and
as target we developed a Flora metamodel. As we experimented and compared two
language to implement the transformation: the dedicated transformation language ATL
based on OCL, and Flora itself viewed as a model transformation language. As validating
case study for MODELOG, we developed the Triangram robotic assembly puzzle. It is an
example of planning tasks often executed by agents and it requires a complex class
hierarchy together with complex structural and behavioral constraints. The Flora PSM of
this puzzle was entirely automatically generated from its UML/OCL model by applying the
MODELOG transformations.
The main originality of this thesis is twofold. First, it simultaneously tackles various
gaps in UML for its new extended role: formal specification language, MDE, semantic web
services and agent engineering, Second, it does so without putting forward any new
language but only by reusing a theoretically consolidated and efficiently implemented one.
In contrast, previous proposals tend be limited to one or two such applications while often
proposing new languages.
The thesis makes contributions to various fields:
For MDE, it shows the feasibility of completely automated full structural and
behavioral executable code generation from a UML/OCL PIM, on a non-trivial,
complex case study involving automated reasoning;
For agile development, it reconcile that the robustness of formal methods with
the early testing of fast prototyping, since MODELOG not only generates
executable code, but also model checking code from UML/OCL models.
For UML and OCL, it provides a fully integrated denotational formal semantics
in Transaction Frame Logic on which Flora is based;
For logic programming, it provides compositional metamodels of all the
languages integrated in the Flora platform that clarify their relations and make them
available as source or target language for a variety of MDE tasks such as model
checking and fast prototyping; it also provides a way to develop logic programs
using the consolidated full-life cycle object-oriented software engineering
processes;
For agent engineering, it shows how to get combine the complementary
strengths of the object-oriented and logic paradigms, the two mostly widely reused
in agent-oriented methods;
For the semantic web service development, its introduced a highly automated
MDE approach allowing to model them visually with UML-based industrial
strengths method and CASE tools, and automatically generate their specification in the
W3C standard SWSL, which is a XML-enabled variant of Flora