Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp

Slides:



Advertisements
Similar presentations
PROGRESS User Committee Meeting, December 11, On the Fundamental Design Gap in Complex Systems Mark Verhappen Piet van der Putten.
Advertisements

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
1 UML 2.0 Compliance Points Proposal Jim Amsden, Bran Selic 21 October 2003.
Department of Software and Computing Systems Physical Modeling of Data Warehouses using UML Sergio Luján-Mora Juan Trujillo DOLAP 2004.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
Instant Bidirectional QVT Transformation for Runtime Models.
A model-driven course on Petri-Nets, Metamodels and Graph Grammars Pieter Van Gorp Hans Schippers Dirk.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Pieter Van Gorp, Olaf Muliawan, Hans Schippers MoTMoT.sourceforge.net.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Model Eco-systems Decision Systems Lab University of Wollongong.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Sheet 1© 2005 Lentedagen, 30 March-1 April 2005 IPA Lentedagen on Software Architecture Model Transformations in MDA Ivan Kurtev.
Sangam: A Transformation Modeling Framework Kajal T. Claypool (U Mass Lowell) and Elke A. Rundensteiner (WPI)
Modeling and Evaluation. Modeling Information system model –User perspective of data elements and functions –Use case scenarios or diagrams Entity model.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Chapter 7: System models
Software Design Description (SDD) Diagram Samples
Chapter 10 Architectural Design
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Improving Design Workflow in Architectural Design Applications Presentation Doctoral Seminar 16/06/2006 Leuven (Belgium)
Managing Organizations Informed decision making as a prerequisite for success Action Vision Mission Organizational Context Policies, Goals, and Objectives.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
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.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
RCDL Conference, Petrozavodsk, Russia Context-Based Retrieval in Digital Libraries: Approach and Technological Framework Kurt Sandkuhl, Alexander Smirnov,
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Chapter 7 System models.
A language to describe software texture in abstract design models and implementation.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
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.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model Fabiano Dalpiaz¹, Ambra Molesini², Mariachiara Puviani³,
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Abstract descriptions of systems whose requirements are being analysed
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Implementation support
Implementation support
Presentation transcript:

Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp

2 Overview Case Study  Conceptual Model  Robustness Model Imperative Approach  Story Diagrams  Flexible  Too Low Level Declarative Approach  Triple Graph Grammars  Compact  Too Generic Hybrid Approach  Story Diagrams + TGG rules  Expressive and Compact Language Integration  Metamodel Merging  Metamodel Mapping

3 Case Study Conceptual Model Robustness Model

4 UML Profiled Models as Graphs

5 Sample Constraint (Informal Version) All classes from the conceptual model should correspond to entities in the robustness model. Their attributes and attribute types should correspond. Both internal types and library types should be supported.

6 Overview Case Study Imperative Approach - Story Diagrams Declarative Approach Hybrid Approach Language Integration

7 Imperative Approach: Story Diagrams Evaluate whether each class in the conceptual model traces to an entity in the robustness model 91 let eachClassTracesToAnEntity(): Boolean= 92 conceptualmodelTracesToRobustnessmodel() and -- ’rm’ not Undefined 93 allClassesFromModel(cm)->forAll(cmc| 94 allClassesFromModel(rm)->exists(rmc| 95 this.traceabilityLinks->select(oclIsKindOf(Class2Entity))->exists(l| 96 l.node->contains(cmc) and 97 l.node->contains(rmc) 98 ) 99 ) 100 ) Any interaction pattern can be implemented: setFocus chooseAlternative...

8 Story Pattern: “Is the Class related to an Entity?”

9 Can be abstracted by TGG rules.. Too low-level Recurring Patterns - Story diagram for creating elements - Story diagram for incremental update - Story diagram for manual resolution -... Problem

10 Overview Case Study Imperative Approach Declarative Approach - TGG Rules Hybrid Approach Language Integration

11 Classes to Entities

12 Handling Internal Attribute Types

13 Handling External Attribute Types

14 Problem Overlapping Applicability Need user decision to resolve

15 Overview Case Study Imperative Approach Declarative Approach Hybrid Approach Language Integration

16 Solution Adding a rule with higher preference - Application condition: situation (6) or (8) - Effects: user interaction delegate to appropriate TGG rule - Arbitrary user interaction and control flows story diagrams Resulting language: Hybrid - Declarative: TGG rules fully supported Staged: rules are ordered - Imperative: Calls & branches in rules

17 Making TGG rules Callable First State - Match nodes that are bound in the controlled TGG rule Second State - Call to the controlled TGG rule

18 Controlled Triple Graph Grammars

19 Language Integration Case Study Imperative Approach Declarative Approach Hybrid Approach Language Integration

20 Metamodel Merging VS Mapping Hybrid Language: TGGs merged with SDM Alternative: Strict mapping from TGGs to SDM - With traceability (=> bootstrap desirable?) - User interaction implemented by manually completing the generated story diagrams Discussion: - What adds most value to the QVT approach? - What is most readable? -... Either approach would make TGGs more attractive than QVT

21 Related Work ATL - Not bidirectional, which reduces the declarativeness of a called rule to... 0 QVT: - Also 2 layer language architecture - May not be possible to merge relational and operational Choosing a TGG tool to extend... - Darmstadt: advantage of JMI compliance Wait for all operational rule derivations? - Paderborn: advantage of completed incrementality Generate JMI wrappers? - Aachen: advantage of alternative approach to user interaction Standard Compliance? Why not share what is no contribution anymore?

22 Conclusions Hybrid Language reconciles: - Compactness of TGTSs with - Expressiveness of Story Diagrams Language Engineering: - Metamodel Merging: Advantage: no confusion about semantics of TGG rules Implementation: - Minimal modification to rule derivation strategy (add > nodes) - Metamodel Mapping: Advantage: no “details” on TGG level Implementation: - Rule derivation HOT needs to generate traceability links - No hard guidelines (yet)

23 Thanks for your Attention Questions?