1 ivano malavolta, university of l’aquila, computer science department ivano malavolta dually: an...
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