1 / 23

Ivano Malavolta

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.

mimi
Download Presentation

Ivano Malavolta

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. C2 C1 C3 C5 C4 C2’ C2’’ C2 C1 C3 C5 C4 Motivating Example ADL1 V Deadlock analysis ADL2 X Performance analysis

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

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

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

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

  10. The elements of A0 (2) • A0 is a UML profile containing the following elements:

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

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

  13. DUALLy Process for each metamodel Metamodeling expert Software architects

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

  15. Tool software architecture DUALLy is an Eclipse plugin that extends the AMMA platform: DUALLy AMW ATL UML2

  16. 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 )

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

  18. DUALLy, user interface woven metamodels weaving panel weaving panel toolbar woven panels toolbar

  19. M 2 model model M 2 Case study: Darwin - Acme semantic links semantic links higher-order transformation higher-order transformation transformation transformation

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

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

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

  23. References • DUALLy official home page: http://dually.di.univaq.it • SourceForge project: http://sourceforge.net/projects/dually

More Related