MDE projects contain different kinds of artifacts such as models, metamodels, model transformations, and deltas. These artifacts are related in terms of relationships such as transformation or conformance. In this presentation, we capture the types of artifacts and the relevant relationships in a megamodeling-based manner for the purpose of monitoring and recovering project consistency in response to changes that users may apply to the project within an interactive modeling platform. The approach supports users in experimenting with MDE projects and receiving feedback upon changes on the grounds of a specific execution semantics for megamodels. The approach is validated within the web-based modeling platform MDEFORGE.
2. 2
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Introduction > Model-Driven Engineering
Over the last decades many MDE technologies have been conceived to
support a wide range of modeling and model management activities
3. 3
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Introduction > MDE projects
MDE projects contain different kinds of artifacts such as models,
metamodels, model transformations, deltas, …
Artifacts are related in terms of relationships such as transformation or
conformance
Metamodel
4. 4
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Collection of modelling artifacts developed with a specific goal
MDE Projects
Thank you… but …
how to use it????
5. 5
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MDE Project
In case of big projects it’s difficult to figure out the relations between the
different artifacts and to understand their roles in the projects
6. 6
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MDE Project
In case of big projects it’s difficult to figure out the relations between the
different artifacts and to understand their roles in the projects
7. 7
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MDE Project
In case of big projects it’s difficult to figure out the relations between the
different artifacts and to understand their roles in the projects
8. 8
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MDE Project
In case of big projects it’s difficult to figure out the relations between the
different artifacts and to understand their roles in the projects
9. 9
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Research objective
We want to exercise an effective, declarative (model-
based), and transparent (understandable) approach
to organizing the artifacts in an MDE project
(in a model repository or not)
and the relationships between the artifacts
10. 10
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Research objective
A model-managed project has an associated megamodel
- users can understand the structure of the project
- the project’s consistency with the megamodel is continuously monitored in the
background
- changes can be mapped to corrective, automated actions to be proposed to
and confirmed by the user
11. 11
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Research objective
A model-managed project has an associated megamodel
- users can understand the structure of the project
- the project’s consistency with the megamodel is continuously monitored in the
background
- changes can be mapped to corrective, automated actions to be proposed to
and confirmed by the user
+
12. 12
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Research objective
A model-managed project has an associated megamodel
- users can understand the structure of the project
- the project’s consistency with the megamodel is continuously monitored in the
background
- changes can be mapped to corrective, automated actions to be proposed to
and confirmed by the user
+
MegaL/Forge
13. 13
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
The MegaL/Forge language
14. 14
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
A simple project’s megamodel (1/2)
15. 15
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
A simple project’s megamodel (2/2)
16. 16
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge Static Semantics
(Well-formedness)
Types, artifacts, relations, and function are declared before they are
used
Each name can be declared once only (‘no overloading’)
The arguments of relationships and function applications and results of
function applications must be of the types as prescribed by the
signatures of the corresponding relations and functions
Each artifact symbol is linked to some filename
17. 17
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge Dynamic Semantics
(Consistency)
Relational consistency when the interpretation of all relation
applications (relationships) in a given megamodel m for a given
environment E returns true
Functional consistency when the interpretation of all function
applications in the megamodel m with the environment E returns true
18. 18
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Consistency recovery
A project change triggers:
- recovery analysis on the megamodel
- to determine a sequence of function applications
- execution of the recovery sequence
- to facilitate consistency recovery when applied to the artifacts in the project
19. 19
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Sample change scenarios
Modify difference model
Modify one model
20. 20
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Consistency recovery analysis: main issues
Mapping a change to an infinite sequence
This may happen, if a naive definition is used where a change to an
artifact m transitively leads to a change of m
We set up the analysis to never change an artifact that was already changed.
Nondeterminism management
There may exist megamodels and changes for which different recovery
sequences are possible
We set up the analysis to detect nondeterminism and fail with consistency recovery in this case.
21. 21
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge integration into MDEForge
MDEForge is an extensible platform enabling the adoption of model
management tools as SaaS (software as a service)
- Users have the possibility to create modeling artifacts and organize them in
projects that are, in turn, contained in workspaces
22. 22
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge integration into MDEForge
ProjectMonitoring implements listeners that execute the
consistency recovery manager when artifacts or projects
are changed.
23. 23
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge integration into MDEForge
ConsistencyManagement package implements the
presented consistency recovery concepts
For each symbolic function or relation name a
corresponding IOperationApplier implementation is
available
24. 24
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge integration into MDEForge
The links between symbolic operation names and the
corresponding appliers are specified in the operationMapper
HashMap of the ConsistencyRecoveryManager class
25. 25
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
MegaL/Forge integration into MDEForge
The consistency check between a project and the
corresponding megamodel is performed by the method
checkConsistency
The method consistencyRecovery implements the recovery
mechanism
getFunctionsToRecoverConsistency is responsible of
identifying the functions to be applied and their execution order
26. 26
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
User feedback upon changes
27. 27
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Conclusion and future work
Megamodel-based approach towards consistency recovery in MDE
projects
Megamodels are facilitated to express consistency and to provide
guidance for consistency recovery
Future plans include at least:
- Management of richer dependencies between the involved artifacts (i.e.,
management of nondeterminism)
- Application of the approach on non-trivial examples of co-evolution
- Making megamodels and the underlying MDE projects explicitly version-
aware
28. 28
3rd International Workshop on Executable Modeling at MODELS 2017 - September 18, 2017, Austin, Texas
Thank you !!!!