230 likes | 363 Views
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.
E N D
University of L’Aquila Computer Science Department DUALLy: an Eclipse platform for architectural languages interoperability Ivano Malavolta PROGRESS seminar at MDH
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 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 • 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
C2 C1 C3 C5 C4 C2’ C2’’ C2 C1 C3 C5 C4 Motivating Example ADL1 V Deadlock analysis ADL2 X Performance analysis
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.
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? 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 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 A0 (2) • A0 is a UML profile containing the following elements:
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
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
DUALLy Process for each metamodel Metamodeling expert Software architects
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 DUALLy is an Eclipse plugin that extends the AMMA platform: DUALLy AMW ATL UML2
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 )
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
DUALLy, user interface woven metamodels weaving panel weaving panel toolbar woven panels toolbar
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 • 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 • 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 • 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 • DUALLy official home page: http://dually.di.univaq.it • SourceForge project: http://sourceforge.net/projects/dually