29
Università degli Studi dell’Aquila Weaving Models Ivano Malavolta DISIM Department, University of L’Aquila [email protected]

Weaving models

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

Page 1: Weaving models

Università degli Studi dell’Aquila

Weaving Models

Ivano Malavolta

DISIM Department, University of L’Aquila [email protected]

Page 2: Weaving models

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

Page 3: Weaving models

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

Page 4: Weaving models

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

Page 5: Weaving models

http://mdse-book.com

Page 6: Weaving models

http://mdse-book.com

Page 7: Weaving models

...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”

Page 8: Weaving models

The means to specify the way to produce target models from a number of source models

Can be either horizontal or vertical

Page 9: Weaving models

Why Linking Models together?

Model Weaving & Weaving Models

The AMW Project

The AMW User Interface

The AMW Core Metamodel

Extending AMW

Examples

Page 10: Weaving models

A system can be represented by “n” models

Each model focusses on a specific aspect

Page 11: Weaving models

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

Page 12: Weaving models

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.

Page 13: Weaving models

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

Page 14: Weaving models

Weaving models conform to a weaving metamodel

A weaving metamodel specifies the types of links that can be established between woven models

Page 15: Weaving 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

Page 16: Weaving models

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

Page 17: Weaving models

Projects

Woven model

Weaving properties

Woven model

Weaving Model

Weaving Tools

Page 18: Weaving models

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

Page 19: Weaving models

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

Page 20: Weaving 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

Page 21: Weaving models

http://www.eclipse.org/gmt/amw/usecases/

Page 22: Weaving models
Page 23: Weaving models
Page 24: Weaving models
Page 25: Weaving models
Page 26: Weaving models
Page 27: Weaving models
Page 28: Weaving models
Page 29: Weaving models

Demo