Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability."— Presentation transcript:

1 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

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

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

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

5 5 Ivano Malavolta, University of L’aquila, Computer Science Department Motivating Example C1 C2 C5 C4 C3 ADL1 Deadlock analysis V Performance analysis ADL2 X C1 C2 C5 C4 C3 C2’’C2’

6 6 Ivano Malavolta, University of L’aquila, Computer Science Department 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 7 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy, conceptual view MMx MMx can be either a metamodel or a UML profile. MM1MM2 M2M1 Automatic transformation generation Semantic links (i.e. weaving model) transformation Metamodeling level Modeling level

8 8 Ivano 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 2) Star topology: n notations  n weav. models The consistency of the models may be verified in A0

9 9 Ivano Malavolta, University of L’aquila, Computer Science Department The elements of A 0 (1) A 0 is specific to the software architectures domain. A 0 is an heuristic of the common elements of existing ADLs. AADL xADL 2.0 ACME EAST-ADL Other ADL other ADL A0A0 Component Connector Port Behavior...

10 10 Ivano Malavolta, University of L’aquila, Computer Science Department The elements of A 0 (2) A 0 is a UML profile containing the following elements: ConceptStereotypeMetaclass Architectural component > Component Relationship between SAcomponents > Dependency Connector > Component Communication channel > Dependency Port > Port Architectural Type > Component Package of architectural types > Package Package for state machines and interaction diagrams > Package

11 11 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLyzation process A0 profile MM1MM2 M2M1 Conforms to M(A0) semantic links transformation Automatic transformation generation transformation Metamodeling level Modeling level

12 12 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy Main actors A0 profile MM1MM2 M2M1M(A0) semantic links transformation Automatic transformation generation transformation Metamodeling expert Software architects

13 13 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy Process for each metamodel Metamodeling expert Software architects

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

15 15 Ivano 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

16 16 Ivano Malavolta, University of L’aquila, Computer Science Department Adopted Modeling technologies A0 model MM1 2 M1M2 Model level Weaving model(AMW) Weaving Meta-model(Km3) Weaving model(AMW)(XMI) A0 Profile (XMI)( ) ( ) ( ) ( ) (ATL)( ) ( ) ( ) ( ) ( ) Weaving model(AMW) Meta-model level

17 17 Ivano 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 higher-order transformation

18 18 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy, user interface woven metamodels weaving panelweaving panel toolbar woven panels toolbar

19 19 Ivano Malavolta, University of L’aquila, Computer Science Department M2model M2 Case study: Darwin - Acme semantic links higher-order transformation transformation higher-order transformation

20 20 Ivano 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. A 0  A art-deco A art-deco will likely be the union of the concepts of all the notations. Embedded, real-time systems: A 0 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 intermediate language containing only elements for performability analysis.

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

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

23 23 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy official home page: http://dually.di.univaq.ithttp://dually.di.univaq.it SourceForge project: http://sourceforge.net/projects/duallyhttp://sourceforge.net/projects/dually References


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

Similar presentations


Ads by Google