PhD-defence Adrian Pop
Title: Integrated Model-Driven Development Environments for
Equation-Based Object-Oriented Languages
Integrated development environments are essential for efficient
realization of complex industrial products, typically consisting of
both software and hardware components. Powerful equation-based
object-oriented (EOO) languages such as Modelica are successfully used
for modeling and virtual prototyping increasingly complex physical
systems and components, whereas software modeling approaches like UML,
especially in the form of domain specific language subsets, are
increasingly used for software systems modeling.
A research hypothesis investigated to some extent in this thesis is if
EOO languages can be successfully generalized also to support software
modeling, thus addressing whole product modeling, and if integrated
environments for such a generalized EOO language tool support can be
created and effectively used on real-sized applications.
However, creating advanced development environments is still a
resource-consuming error-prone process that is largely manual. One
rather successful approach is to have a general framework kernel, and
use meta-modeling and meta-programming techniques to provide tool
support for specific languages. Thus, the main goal of this research is
the development of a meta-modeling approach and its associated
meta-programming methods for the synthesis of model-driven product
development environments that includes support for modeling and
simulation. Such environments include components like model editors,
compilers, debuggers and simulators. This thesis presents several
contributions towards this vision in the context of EOO languages,
primarily the Modelica language.
Existing state-of-the art tools supporting EOO languages typically do
not satisfy all user requirements with regards to analysis, management,
querying, transformation, and configuration of models. Moreover, tools
such as model-compilers tend to become large and monolithic. If instead
it would be possible to model desired tool extensions with
meta-modeling and meta-programming, within the application models
themselves, the kernel tool could be made smaller, and better
extensibility, modularity and flexibility could be achieved.
We argue that such user requirements could be satisfied if the
equation-based object-oriented languages are extended with
meta-modeling and meta-programming. This thesis presents a new language
that unifies EOO languages with term pattern matching and
transformation typically found in functional and logic programming
languages. The development, implementation, and performance of the
unified language are also presented.
The increased ease of use, the high abstraction, and the expressivity
of the unified language are very attractive properties. However, these
properties come with the drawback that programming and modeling errors
are often hard to find. To overcome these issues, several methods and
integrated frameworks for run-time debugging of the unified language
have been designed, analyzed, implemented, and evaluated on non-trivial
To fully support development using the unified language, an integrated
model-driven development environment based on the Eclipse platform is
proposed, designed, implemented, and used extensively. The development
environment integrates advanced textual modeling, code browsing,
debugging, etc. Graphical modeling is also supported by the development
environment based on a proposed ModelicaML Modelica/UML/SysML profile.
Finally, serialization, composition, and transformation operations on
models are investigated.