Professional Documents
Culture Documents
Mo - 21 - Ebert - Lecture Model-Integrating Software
Mo - 21 - Ebert - Lecture Model-Integrating Software
to Model-Integrating Software
Jürgen Ebert
University of Koblenz-Landau
ebert@uni-koblenz.de
1. Some Terminology
2. A Short History
• Model-Based Development
• Model-Driven Development
3. Model-Integrating Development
• Defining Modeling Languages
• Implementing Modeling Languages
4. Conclusion
conformsTo
Metamodel
isRenderedTo
Metametamodel
isRenderedTo
M2:
conformsTo
Metamodel
Abstract Syntax (Metamodel)
M1: isRenderedTo
Many such tools have been developed over the last decades.
Model-Based Development
Definition ([Sauer2011SDO])
A development method is model-based, if it deploys models
to describe certain aspects of the system and models play an
important role in the development method. …
DIN66001
Computer-Aided Software
Engineering (CASE)
Solutions
There were (at least) two ways out of this language chaos:
– Unification
defining an interlingua
that could play the role of a standard
– MetaCASE
building generic tools
that are parameterizable by the langage
MetaCASE Lost
Further Support
Model-Driven Development
Definition ([Sauer2011SDO])
A development method is model-driven, if models are the
central artifacts of the development method and model
transformations accompany the models.
These methods (e.g., OMG’s model driven architecture
(MDA)) combine views of an overall system model and
stepwise transform them to the resulting system. They
separate
– domain knowledge (in the views) and
– development knowledge (in the transformations).
Transformation
concretize by
transformation
Transformation Languages
transform
Transformation Languages
Example: GReTL
GReTL (Graph Repository Transformation Language) is an
embedded transformation language with a simple notation,
which coevolves metamodels and models on the level of
classes.
Body of Knowledge
Body of Knowledge
Definition
A development method is model-integrating, if models
become parts of the running software as first-class objects.
m1
m2
To achieve this,
– modeling languages must be described precisely and
comprehensively, and
– an appropriate infrastructure is needed to manage and
use (e.g., edit, query, transform, execute) models
Class Simula