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

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

June 9, 2006 Transforming models with ATL © 2006 ATLAS Nantes Transforming models with ATL The A TLAS Transformation Language Frédéric Jouault ATLAS.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes,
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Architecture Description Languages (ADLs). A Brief History of ADLs  Software architecture emerged as a research discipline in the early 1990s  Soon.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University,
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione Computer Science Department University of L'Aquila - Italy Architectural notations interoperability.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Model-Driven User Requirements Specification using SysML Authors: Michel dos Santos Soares, Jos Vrancken Source: Journal of Software(JSW), Vol. 3, No.
Composing Models: Principles & Techniques © Copyright TUBS & TUD Composing Models: Principles & Techniques Steven Völkel & Jendrik Johannes.
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Henry Muccini - Computer Science Department, Universita' dell'Aquila, Italy Paola Inverardi - Computer Science Department, Universita'
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Selected Topics in Software Engineering - Distributed Software Development.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
A common meta-model for the interoperation of tools with heterogeneous data models ECMFA 2010 Third Workshop on Model-Driven Tool & Process Integration.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
October 1st 2015 Alexis Fouché 1, Florian Noyrit 1, Sébastien Gérard 1, Maged Elaasar 2 SYSTEMATIC GENERATION OF STANDARD COMPLIANT TOOL SUPPORT OF DIAGRAMMATIC.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-7 in the text book All lecture material through intro to.
SysML v2 Formalism: Requirements & Benefits
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Architecture Description Languages
Execute your Processes
Automated Analysis and Code Generation for Domain-Specific Models
Introduction to TDL and TOP
Software Architecture & Design
Presentation transcript:

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 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 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 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 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 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 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 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 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 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 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 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 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy Process for each metamodel Metamodeling expert Software architects

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 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 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 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 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy, user interface woven metamodels weaving panelweaving panel toolbar woven panels toolbar

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 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 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 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 Ivano Malavolta, University of L’aquila, Computer Science Department DUALLy official home page: SourceForge project: References