Title: Microsoft DSL Tools and Model Driven Engineering MDE
1 The AMMA Platform and the DotNET
environment Some interoperable solutions
2Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
3Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
4Principles, standards and tools
Model-Driven Engineering (MDE)
Principles
Standards
Other tools
Tools
5MS/DSL Tools
Eclipse EMF GMF
AMMA Platform
6KM3 as a pivot a neutral metametamodel
7KM3 as a pivot a neutral metametamodel
8The Atlantic Zoos http//www.eclipse.org/gmt/am3/
zoos/
9Various bridges
- KM32DSLDM Exports a KM3 metamodel to DSL Tools.
- KM32VB Exports a KM3 metamodel to a Visual Basic
project with VB source code and a preformatted
Visual Studio class diagram. - KM32ASML or KM32XASM To translate KM3 models to
a formal language. -
- KM32MOF MOF2UML Two transformations to realize
KM32UML. - KM32Dot Allows graphical representations with
automatic placement using Dot. - GME2KM3 To inject a GME project into KM3 format.
10Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
11KM32DSLDM Overview
12KM32DSLDM Overview
- A bridge ? A chain of transformations
- Dynamic execution thanks to an ANT Script calling
ATL and TCS tasks (loading of models,
transformations, etc) - In the KM32DSLDM bridge
- An injector using TCS (Textual Concrete Syntax)
injection of the content of a KM3 file into a KM3
model - Two classic transformations, mapping of
concepts KM32DSL and DSL2XML - An extractor serialization of an XML model into
a Microsoft DSL Tools .dsldm file (XML format) - Zoo of generated DSL Tools domain models
available at http//www.eclipse.org/gmt/am3/zoos/
atlanticDSLToolsZoo/
13KM32DSLDM PetriNet example
- Source KM3 file (AMMA Platform) Generated
.dsldm file (for VS 2005)
14Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
15KM32VB Overview
- Two ways
- Visual Basic classes for a better graphical
representation - Visual Basic interfaces for better
implementations - Zoo of generated Visual Studio 2005 projects
available at - http//www.eclipse.org/gmt/am3/zoos/atlanticVBZoo/
16KM3 Exemple
This is an example of a KM3 file which describe
the XML metamodel in the right.
XML metamodel
An example of a metamodel in KM3
17KM3 to Visual Basic Classes
- Good visual representation
- No multiple inheritance
18KM3 to Visual Basic Interfaces
- Better implementation facilities
- Multiple inheritance possible
19Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
20ModelExtractor principles
- We want to reverse engineer a system with a
parametric Ecore decorated metamodel.
- Decorations are like an executable weaving which
automatically produces rules.
- Models and metamodels can be exported/injected
from/to Ecore serialization format.
21Another Atlas interoperable solution
ModelExtractor
- ModelExtractor is a parametric model extractor
which also bridge the EMF technical space and the
Microsoft DotNET one - Can read models in Ecore format, work on these
in DotNET environment and export the extracted
model in Ecore format
22Another Atlas interoperable solution
ModelExtractor
DSFM Data Structure For Models. A KM3 like
models representation structure in DotNET
technical space.
23Interoperability with ModelExtractor
- MetamodelsLoader component injects models from
Ecore file to DSFM. - ModelsExporter component exports DSFM models to
Ecore format.
24ModelExtractor
demo
25ModelExtractor Aim
26ModelExtractor Decorated metamodel
27ModelExtractor the system to explore
28Summary
- Introduction zoo and mirrors
- KM32DSLDM
- KM32VB
- Another AMMA tool ModelExporter
- Future works on ModelExtractor
29Future works
30Future works
31Future works
32Future works
ATL
33Thanks
Régis Chevrel