Upload
ivano-malavolta
View
1.359
Download
0
Embed Size (px)
DESCRIPTION
Advanced Software Engineering course - Guest Lecture Weaving Models This presentation has been developed in the context of the Advanced Software Engineering course at the DISIM Department of the University of L’Aquila (Italy). http://www.di.univaq.it/malavolta
Citation preview
Università degli Studi dell’Aquila
Weaving Models
Ivano Malavolta
DISIM Department, University of L’Aquila [email protected]
The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved.
Ivano Malavolta
MDE Primer
Model Weaving
Why Linking Models together?
Model Weaving & Weaving Models
The AMW Project
The AMW User Interface
The AMW Core Metamodel
Extending AMW
Examples
GOALS
to abstract upon selected aspects of the system
to assess specific properties of the system early in the life cycle
http://mdse-book.com
http://mdse-book.com
http://mdse-book.com
...example
the metamodels for metamodels
defines the first-class entities, relationships and constraints of a modeling language
a reduced representation of the system
models should have a focus in order to be useful
the “real thing”
The means to specify the way to produce target models from a number of source models
Can be either horizontal or vertical
Why Linking Models together?
Model Weaving & Weaving Models
The AMW Project
The AMW User Interface
The AMW Core Metamodel
Extending AMW
Examples
A system can be represented by “n” models
Each model focusses on a specific aspect
It is often necessary to establish links between elements of different models
Tool interoperability
Transformation specification
Linking entities across models
Traceability
Model merging
Model annotation
Model weaving is a generic operation that establishes fine-grained correspondences between model elements*
Each correspondence defines associations between elements from different models
* FABRO, M. D. D., BZIVIN, J., JOUAULT, F., AND VALDURIEZ, P. Applying generic
model management to data mapping. In Proceedings of the Journes Bases de Donnes
Avances (BDA05) (2005).
According to the everything-is-a-model principle in MDE: models = models, metamodels, transformations, weaving models, etc.
Weaving models are special kinds of models that link together other models
In general a weaving model contains a set of links between elements of a model and elements of another model
Linked models are called woven models
Weaving models conform to a weaving metamodel
A weaving metamodel specifies the types of links that can be established between woven models
The operation of automatically creating a weaving model
If we consider two woven models, the matching operation can be seen as a function
match : mm1 X mm2 WMM
Examples of matching policies:
• name similarity (eg. via edit distance)
• structural similarity
AMW, the Atlas Model Weaver*, is a platform that manages weaving models
AMW is part of the AMMA** platform, and it is being developed by the ATLAS group, INRIA
It provides:
• an EMF-based implementation of weaving model
• an extensible GUI to create & manage weaving models
• a core weaving metamodel
* DIDONET DEL FABRO M., B´E ZIVIN J., JOUAULT F. AND BRETON E. AND
GUELTAS G. AMW: a generic model weaver. In Proc. of 1re Journe sur l’Ingnierie
Dirige par les Modles, Paris, France. pp 105-114 (2005).
** http://wiki.eclipse.org/index.php/AMMA
Projects
Woven model
Weaving properties
Woven model
Weaving Model
Weaving Tools
The core weaving metamodel enables to create links between model elements
It can be extended to add other mapping semantics
there is the possibility of creating variable mapping languages
dedicated to specific application requirements
Every element in a WM has a name & description
The root element of a WM
Weaving Links (can be nested)
The type of elements that are linked
Contain the identifiers of the woven elements
Identify the woven models
Weaving metamodel extensions must either:
• extend the core WMM
• extend other weaving extensions
WMM extensions can be arranged hierarchically
The following classes of the core metamodel can be extended:
Wmodel
WModelRef
WElementRef
Wlink
WLinkEnd
WElementRef
http://www.eclipse.org/gmt/amw/usecases/
Demo