University of L’Aquila
Download
1 / 23

Ivano Malavolta - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Ivano Malavolta' - mimi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

University of L’Aquila

Computer Science Department

DUALLy: an Eclipse platform

for architectural languages

interoperability

Ivano Malavolta

PROGRESS seminar at MDH


Background
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


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.

ADLs vs UML for software architectures

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


Motivations
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


Motivating example

C2

C1

C3

C5

C4

C2’

C2’’

C2

C1

C3

C5

C4

Motivating Example

ADL1

V

Deadlock analysis

ADL2

X

Performance analysis


Our proposal
Our proposal

Can we really advocate a stronger synergy between

architectural languages?

DUALLy

An automated framework that allows architectural languages

and tools interoperability, including both ADLs and

UML-based notations.

Languages interoperate thanks to automated model

transformation techniques.


D u al ly conceptual view
DUALLy, conceptual view

MMx can be either a metamodel or a UML profile.

Metamodeling level

Semantic links (i.e. weaving model)

Automatictransformation generation

MM1

MM2

Modeling level

M1

M2

transformation


How to relate the notations
How to relate the notations?

2) Star topology:

n notations  n weav. models

The consistency of the models may be verified in A0

  • Full-mesh topology:

    n notations  n (n-1)/2 weaving

    models


The elements of a 0 1
The elements of A0 (1)

  • A0 is specific to the software architectures domain.

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

  • Component

  • Connector

  • Port

  • Behavior

  • ...

ACME

Other ADL other ADL

AADL xADL 2.0

EAST-ADL

A0


The elements of a 0 2
The elements of A0 (2)

  • A0 is a UML profile containing the following elements:


D u al lyzation process
DUALLyzation process

Metamodeling level

A0 profile

semantic links

semantic links

MM1

MM2

Automatic transformation generation

Automatic transformation generation

Modeling level

Conforms to

M1

M(A0)

M2

transformation

transformation


D u al ly main actors
DUALLy Main actors

Metamodeling expert

A0 profile

semantic links

semantic links

MM1

MM2

Automatic transformation generation

Automatic transformation generation

Software architects

M1

M(A0)

M2

transformation

transformation


D u al ly process for each metamodel
DUALLy Process for each metamodel

Metamodeling expert

Software architects


Technologies of the tool
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.


Tool software architecture
Tool software architecture

DUALLy is an Eclipse plugin that extends the AMMA platform:

DUALLy

AMW

ATL

UML2


Adopted modeling technologies
Adopted Modeling technologies

Meta

-

model level

Weaving

Meta

-

model

(

Km

3

)

A

0

Profile

Weaving

Weaving

(

XMI

)

model

(

AMW

)

model

(

AMW

)

Weaving

model

(

AMW

)

MM

1

MM

2

(

XMI

)

(

XMI

)

(

ATL

)

(

ATL

)

(

ATL

)

(

ATL

)

Model level

A

0

M

1

M

2

model

(

ATL

)

(

ATL

)

(

XMI

)

(

XMI

)

(

XMI

)


D u al ly the tool
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.

MM1

ATL transformation

A0

WEAVING

MODEL

higher-order transformation


D u al ly user interface
DUALLy, user interface

woven metamodels

weaving panel

weaving panel toolbar

woven panels toolbar


Case study darwin acme

M

2

model

model

M

2

Case study: Darwin - Acme

semantic links

semantic links

higher-order transformation

higher-order transformation

transformation

transformation


Future work 1 other contexts
Future work 1: other contexts

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

Kernel intermediate

language containing

only elements for

performability analysis.


Future work 2 framework improvements
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


  • Conclusions
    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.


    References
    References

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

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


    ad