Ivano Malavolta

Post on 02-Feb-2016

36 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

University of L’Aquila Computer Science Department. D U AL Ly: an Eclipse platform for architectural languages interoperability. Ivano Malavolta. PROGRESS seminar at MDH. Background. - PowerPoint PPT Presentation

Transcript

1Ivano Malavolta, University of L’aquila, Computer Science Department

Ivano Malavolta

DUALLy: an Eclipse platformfor architectural languages

interoperability

University of L’Aquila

Computer Science Department

PROGRESS seminar at MDH

2Ivano Malavolta, University of L’aquila, Computer Science Department

Background

• Software architecture: description of a system in terms of its components, connectors, the relationships between them and properties.

• Architectural Description languages (ADLs): specific languages to define software architectures.

• Different degrees of formality,• at different levels of abstraction,• domain specific (e.g. vehicular, electronics, …) or generic• …

es. AADL, Darwin

3Ivano Malavolta, University of L’aquila, Computer Science Department

ADLs vs UML for software architectures

ADLs• High degree of formality, making difficult their integration in

industrial life-cycles.• Well-defined, specialized semantics:

• Different analysis require different ADLs• Impossible to construct an ADL which supports every kind of analysis

• Limited tool support, or academic tools

• Lack of industrial lifecycle-wide support.

UML• Understood by many industrial software developers• UML is emerging as the de facto standard design notation of

choice in industrial software development

• It may be adapted for use as an ADL, but:• Less formal and much more ambiguous than existing ADLs• Mature design environments, but lack of powerful analysis tools

4Ivano Malavolta, University of L’aquila, Computer Science Department

Motivations

• The current state of the art is that: • software architecures deal with components at different levels of abstraction,

• they need different informations depending on the type of analysis to perform,

• different domains exists a proliferation of architectural languages and UML-based

approaches.

• In the architectural modeling field, researchers acknowledge that a unique universal language cannot exist

Different Domain Specific Languages lack of a unique tool currently it is difficult to pass from one tool to the other it is hard to achieve a good level of interoperability

5Ivano Malavolta, University of L’aquila, Computer Science Department

Motivating Example

C1

C2

C5 C4

C3ADL1

Deadlock analysis

V

Performance analysis

ADL2 XC1

C2

C5 C4

C3

C2’’C2’

6Ivano Malavolta, University of L’aquila, Computer Science Department

Our proposal

Can we really advocate a stronger synergy between architectural languages?

DUALLyAn automated framework that allows architectural languages

and tools interoperability, including both ADLs andUML-based notations.

Languages interoperate thanks to automated modeltransformation techniques.

7Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy, conceptual view

MMxMMx can be either a metamodel or a UML profile.

MM1 MM2

M2M1

Automatic transformation generation

Semantic links (i.e. weaving model)

transformation

Metamodeling level

Modeling level

8Ivano Malavolta, University of L’aquila, Computer Science Department

How to relate the notations?

1) Full-mesh topology:

n notations n (n-1)/2 weaving

models

Darwin/LTSA

ACME

AADL

SA UMLprofiles

OtherADLs

2) Star topology:

n notations n weav. models

The consistency of the models may be verified in A0

A0 Profile

Darwin/LTSA

ACME

AADLSA UMLprofiles

OtherADLs

9Ivano Malavolta, University of L’aquila, Computer Science Department

The elements of A0 (1)

• A0 is specific to the software architectures domain.

• A0 is an heuristic of the common elements of existing ADLs.

AADL xADL 2.0

AC

ME

EAST-A

DL

Oth

er A

DL

o

ther

AD

L

A0

• Component

• Connector

• Port

• Behavior

• ...

10Ivano Malavolta, University of L’aquila, Computer Science Department

The elements of A0 (2)

• A0 is a UML profile containing the following elements:

Concept Stereotype MetaclassArchitectural component <<SAcomponent>> Component

Relationship between SAcomponents

<<SArelationship>>

Dependency

Connector <<SAconnector>> Component

Communication channel <<SAchannel>> Dependency

Port <<SAport>> Port

Architectural Type <<SAtype>> Component

Package of architectural types <<SAtypeSpec>> Package

Package for state machines and interaction

diagrams<<SA behavior>> Package

11Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLyzation process

A0 profile

MM1 MM2

M2M1

Conforms to

M(A0)

semantic links semantic links

transformation

Automatic transformation generation

Automatic transformation generation

transformation

Metamodeling level

Modeling level

12Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy Main actors

A0 profile

MM1 MM2

M2M1 M(A0)

semantic links semantic links

transformation

Automatic transformation generation

Automatic transformation generation

transformation

Metamodeling expert

Software architects

13Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy Process for each metamodel

Metamodeling expert

Software architects

14Ivano Malavolta, University of L’aquila, Computer Science Department

Technologies of the tool

• ATLAS Model Management Architecture (AMMA) is a platform based on MDE principles.

• The AMMA platform extends the Eclipse Modeling Framework (EMF).

• AMMA is composed of 3 sub-projects that are contained into the Eclipse Generative Modeling Tools (GMT):

• AM3, ATLAS Megamodel Management;• ATL, ATLAS Transformation Language;• AMW, ATLAS Model Weaver.

• AMMA provides also 3 Domain Specific Languages (DSLs) :• KM3 (Kernel MetaMetaModel), a textual notation to define metamodels;

• ATL, to define model transformations;• TCS (Textual Concrete Syntax), to define free-context syntaxes.

15Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy is an Eclipse plugin that extends the AMMA platform:

Tool software architecture

AMW

ATL

UML2

DUALLy

16Ivano Malavolta, University of L’aquila, Computer Science Department

Adopted Modeling technologies

A0 model

MM1 MM2

M1 M2

Model level

Weaving model ( AMW)

Weaving Meta-model (Km3)

Weaving model ( AMW)(XMI)

A0 Profile

(XMI) (XMI)

(XMI)(XMI)(XMI)

(ATL) (ATL)

(ATL)(ATL)

(ATL)(ATL)

Weaving model ( AMW)

Meta -model level

17Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy, the tool

DUALLy extends the AMMA platform with 3 components:

• A customized editor (Java) to define weaving models;

• Weaving metamodel (defined in KM3) containing the types of semantic links between metamodels/profiles;

• Two higher-order transformations (ATL, ~1000 LOCs): left2right and viceversa.

WEAVING MODEL

MM1

A0 ATL transformation

ATL transformation

higher-order transformation

18Ivano Malavolta, University of L’aquila, Computer Science Department

DUALLy, user interface

woven metamodels weaving panel weaving panel toolbarwoven panels toolbar

19Ivano Malavolta, University of L’aquila, Computer Science Department

M1 modelM1 model M2 modelM2 model

Case study: Darwin - Acme

DARWIN UML profile

DUALLy A0 ProfileDUALLy A0 Profile

ACME metamodel

A0 model

semantic links semantic links

higher-order transformation

transformation transformation

higher-order transformation

: conforms to : ATL transformation : weaving model

20Ivano Malavolta, University of L’aquila, Computer Science Department

• Performability: Klaper as pivot metamodel.

• ART-DECO: an Italian FIRB project. There are notations for different domains and at different levels of abstraction.

A0 Aart-deco

Aart-deco will likely be the union of the concepts of all the notations.

• Embedded, real-time systems: A0 may be customized on the various languages (Save, ProSave, UML and other DSLs) used in the department of Software Engineering of the Mälardalen University.

Future work 1: other contexts

Kernel intermediatelanguage containingonly elements forperformability analysis.

21Ivano Malavolta, University of L’aquila, Computer Science Department

Future work 2: framework improvements

• Automatic generation of the weaving model the whole process becomes automatic

• Tracing of the modifications at the target model back to the source model through model differencing techniques

• Evaluation of techniques to check the quality of the generated transformations

• Preservation of the Δ if the user obtained a generic model from a more detailed one (e.g. from AADL to Darwin)

• Generic improvements of the weaving metamodel

22Ivano Malavolta, University of L’aquila, Computer Science Department

Conclusions

• DUALLy works at two abstraction levels

separation between model driven experts (the technical stakeholder) and software architects (the final users).

The model transformation engine is completely hidden to a software architect.

• The weaving model of each notation is graphically defined once, and reused for each model that will be made.

• DUALLy permits the transformation among formal ADLs and UML model-based notations and viceversa.

• Software architects can continue using familiar architectural notations and tools, and reusing existing architectural models.

23Ivano Malavolta, University of L’aquila, Computer Science Department

• DUALLy official home page: http://dually.di.univaq.it

• SourceForge project: http://sourceforge.net/projects/dually

References

top related