1 ivano malavolta, university of l’aquila, computer science department ivano malavolta dually: an...

23
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability University of L’Aquila Computer Science Department PROGRESS seminar at MDH

Upload: hillary-townsend

Post on 23-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 2: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 3: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 4: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 5: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages 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’

Page 6: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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.

Page 7: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 8: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 9: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

• ...

Page 10: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 11: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 12: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 13: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

DUALLy Process for each metamodel

Metamodeling expert

Software architects

Page 14: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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.

Page 15: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 16: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 17: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 18: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

DUALLy, user interface

woven metamodels weaving panel weaving panel toolbarwoven panels toolbar

Page 19: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 20: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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.

Page 21: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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

Page 22: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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.

Page 23: 1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability

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