MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "MDD with OMG Standards MOF, OCL, QVT & Graph Transformations"

Transcription

1 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. 20th Feb. 2007, Trento

2 Outline of Presentation 2 Languages and Tools for Model-Driven Development OMG s Model Driven Architecture (MDA) Model-Driven Software Development (MDD) MDD requirements derived from industrial case study From MDD to the World of Graph Transformations Comparison of Meta-Case, Model/Graph Transformation Tools MOFLON = OMG standards + graph transformation technology MOFLON architecture and sublanguages and Back Again Status quo and future of MOFLON Status quo of MDA/MDD/DSL/Meta-Case/ tools in general

3 3 Motivation

4 An Industrial Case Study 4 Magnetic Resonance Imaging System Real-Time Safety-Critical 3D volume scan Quickly evolving technology Scan speed Image resolution More clinical applications Motionless tissues [ ] Heart surgery MLOC, 3 computers, 80 processes SW developers (engineers, scientists)

5 Source code organization 5 source code files leaves of a building block hierarchy

6 Domain-Specific Architecture Concepts 6 A Building Block is a separated unit of Ownership and Responsibility Software Architect for the System Senior Designer for a Subsystem Product-related documents Requirements Specification Design & Interface Specification Test Specification & Reports Functionally related code Encapsulation (information hiding) Hierarchy of Subblocks

7 Mapping of Building Blocks to UML 7

8 Different Levels of Abstraction 8 High-Level Architecture (Domain-Specific Language) Consistency? Low-Level Level Architecture (Unified Modeling Language) Consistency? Implementation (C-Code, Code, )

9 OMG s Model Driven Architecture 9 OMG often recommends: DSL 1 = DSL 2 = DSL 3 = UML Requirements describe describe CIM Transformation Transformation Transformation PIM CIM = Computer Independent Model PIM = Platform Independent Model PSM = Platform Specific Model DSL = Domain-Specific Language MOF = Meta Object Facility UML = Unified Modeling Language DSL DSL 1 Metamodel 1 Metamodel describe PSM DSL DSL 2 Metamodel 2 Metamodel describe Code describe DSL DSL 3 Metamodel 3 Metamodel System describe MOF

10 OMG s Model Driven Architecture 10 describes UML Metamodel describes MOF describes UML, MOF, describes PIM Model System M3 PSM M2 M1 M0 MOF Superstructure Infrastructure (Meta-)Modeling Layers Infrastructure = UML MOF

11 MDD/MDA Tool Requirements 11 Rapid Development (generating) of Local model analysis/transformation support Inter-model consistency checking Traceability link management support Bidirectional model update propagation Model import / export (code generators, parser, ) Tool wrappers for COTS tools New tools for domain-specific languages Integrated model version management

12 MDD Tool Chain 12 Text Templates Representation Grammar Meta Model Analysis Code- Fragment Results Modell Representation Code- Code Fragments Model Parser & Generator Code Parser & Generator High-Level ADL Objects Model Translator Low-Level ADL Objects Model Analyser Model Transformer Model Editor Model Constraints Model Transformations GUI Specification Model Translations Representation Grammar Text Templates Meta Model

13 Integrated Metamodeling Language 13 Code/Text Generator & Parser Parser GUI GUI (Concrete Syntax) Constraint (Static (StaticSemantics) Metamodel (Abstract Syntax) Transformation (Dyn. (Dyn. Semantics) Model-to-Model Translation

14 Categories of MDD Tools 14 Pure Model Transformation Tools AMMA / ATL (INRIA) ArcStyler (Interactive Objects Software GmbH) Pure DSL Editor Generators Microsoft DSL MetaEdit+ (MetaCase) Integrated Approaches GME (Vanderbilt University) (OMG Standards) MOFLON / Fujaba (Uni. Darmstadt, Paderborn, Kassel, )

15 Model Transformation with AMMA 15 Code Code Generator TCS GUI GUI (Concrete Syntax) Constraint (Static (StaticSemantics) Metamodel (Abstract Syntax) Transformation (Dyn. (Dyn. Semantics) ATL Model-to-Model Translation

16 The Microsoft DSL Tools 16 Code Code Generator Concrete Syntax Syntax (API) (API) Analysis Report Report Metamodel (API) (API) Transformation (API) (API) M2M M2M Translation

17 Microsoft DSL - Metamodellierung 17

18 Beispiel Editor Definition 18

19 The Meta-CASE Tool MetaEdit+ 19 Code Code Generator Concrete Syntax Syntax Analysis Report Report Metamodel (API) (API) Transformation (API) (API) M2M M2M Translation

20 Meta-Edit Edit+ + DSL Definition 20 Abstract Syntax Definition Concrete Representation Definition

21 The Meta-CASE Tool GME 21 Code Code Generator GUI GUI (Concrete Syntax) Constraint (Static (StaticSemantics) Metamodel (Abstract Syntax) Transformation (Dyn. (Dyn. Semantics) Model-to-Model Translation GReAT

22 GME + GReAT 22 Meta-Model Transformation Rule

23 Elements of OMG s MDA World 23 Model Model to to Text Text Transformation RFP RFP MOF MOF View Viewtoto Diagram RFP RFP OCL OCL Constraint MOF MOF Metamodel (QVT (QVT 1.0) 1.0) Transformation QVT QVT M2M M2M Translation

24 MDD / DSL Tools - Summary 24 OMG Languages AMMA (INRIA) MS DSL (Microsoft) GME (Vanderbilt) Fujaba (UPB, UKa) Metamodel Def. Lang. MOF KM3 + GME 5.0 UML 1.x GUI Def. Lang Constraint Def. Lang. Model Trafo Def. Lang. M2M Trans. Def. Lang. OCL ATL / OCL GME QVT 1 ATL - GReAT SDM QVT ATL / AMW 2 - GReAT 2 TGG - Code Gen. Def. Lang. - TCS + - Velocity 1: QVT has been designed for model-to-model translation purposes 2: ATL and GReAT are unidirectional model translation languages

25 Fujaba Goes to the OMG 25 Metamodel Def. Lang. Code Gen. Def. Lang. OMG Languages Fujaba (UPB, UKa) MOF UML 1.x GUI Def. Lang. -??? Constraint Def. Lang. Model Trafo Def. Lang. M2M Trans. Def. Lang. OCL - - SDM QVT TGG - Velocity

26 OMG Standard + Graph Transformation 26 Velocity, XSLT XSLT Codegenerierung DiaMeta Editorgenerierung University BW Munich University of Techn. Dresden OCL OCL Constraint MOF MOF Metamodel University of Techn. Darmstadt SDM SDM Fujaba Fujaba Graph Graph Transformations University of Paderborn University of Techn. Darmstadt TGG TGG (QVT (QVT Subset) M2M M2M Translation University of Kassel University of Paderborn

27 27 Back to the Running Example

28 Simplified Running Example 28 High-Level Architecture (Domain-Specific Language) Consistency Consistency Low-Level Level Architecture (Unified Modeling Language) Consistency Implementation - PSM (C-Code, Code, )

29 Forward Transformation Scenario 29 EBNF / XSLT Lang. Defs. MOF Meta Model Analysis Code- Fragment Results Modell Representation Code- Code Fragments Model Parser Code Generator High-Level ADL Objects Model Translator Low-Level ADL Objects Model Analyser OCL Constraints SDM Graph Transformation generates TGG (QVT-like) Translations Velocity / XSLT Templates MOF Meta Model

30 Meta-Modeling Modeling with MOF ADL DSL Meta-Model

31 Meta-Modeling Modeling with MOF Implementation Meta-Model contains association: heavy-weight association (implemented as relation) association owns association ends (and not class) association ends are not navigable (from classes)

32 Unique Features of MOF Different sorts of associations pointers versus real associations navigability (for API method selection) ownership of association ends (for DBMS schemata) Excellent support for model refinement class inheritance hierarchies refinement of associations (subset, redefines, ) refinement of packages Powerful modularization concepts hierarchies of packages import/export relationships merging of packages

33 Static Semantics of MOF From 90 MOF constraints are 48 (53%) 42 (47%) correct erroneous We added 86 constraints Reasons for 51 bug fixes are 50 (50%) additional 16 (29%) 51 (50%) modified 19 (34%) erroneous metamodel reference 21 (37%) erroneous semantics Erroneous syntax

34 Forward Transformation Scenario 34 MOF Meta Model Analysis Code- Results Fragment High-Level ADL Objects Low-Level ADL Objects Model Analyser OCL Constraints SDM Graph Query MOF Meta Model

35 Constraint Definition with OCL 2.x 35 Consistency rules for ADL A block uses interfaces that are required interfaces A block uses blocks that own required interfaces Equivalent OCL constraint (helper function) context Block def: illegalusage() : Boolean = self.usedconcept->forall( c ( c.ocliskindof( Interface ) implies requiredinterface->contains( c ) ) and ( c.ocliskindof( Block ) implies requiredinterface.owningblock->contains( c ) ) )

36 Constraint Definition with Graph Query 36

37 Forward Transformation Scenario 37 MOF Meta Model Analysis Code- Fragment Results High-Level ADL Objects Model Translator Low-Level ADL Objects Model Analyser OCL Constraints SDM Graph Query SDM Graph Transformation MOF Meta Model

38 Forward Transformation - Context 38 source model traceability link target model

39 Forward Transformation - Complete 39 Created target model extension (plus new traceability link)

40 Generating Operational Rules 40 Needed model transformation rule sets: forward transformation backward transformation create traceability links only check traceability link consistency forward/backward attribute propagation remove traceability links forward/backward deletion propagation Generate all transformation rule sets from single declarative bidirectional model integration rules QVT core/relational = Triple Graph Grammars (TGG)

41 Forward Transformation Scenario 41 MOF Meta Model Analysis Code- Fragment Results High-Level ADL Objects Model Translator Low-Level ADL Objects Model Analyser OCL Constraints SDM Graph Query SDM Graph Transformation generates TGG (QVT-like) Translations MOF Meta Model

42 TGG (QVT( QVT-like) Specification 42 Declaration of Traceability Relationships (Mappings) with associated bidirectional translation rules

43 TGG (QVT( QVT-like) Rule for Blocks 43 Architecture model File system model

44 TGG (QVT( QVT-like) Rule for Subblocks 44 Architecture model Inherited rule pattern File system model

45 Generated Forward Transformation 45

46 Summary of MOFLON MDD World 46 Text Templates EBNF / XML Lang. Defs. MOF Meta Model Analysis Code- Fragment Results Modell Representation Code- Code Fragments Model Parser & Generator Code Parser & Generator High-Level ADL Objects Model Translator Low-Level ADL Objects Model Analyser Model Transformer Model Editor OCL Constraints SDM Graph Transformation DiaMeta Ed. Specification TGG (QVT-like) Translations Representation Grammar Velocity / XSLT Templates MOF Meta Model

47 47 Conclusions

48 and Back Again to MDD 48 Model-Driven Development (MDD) is a hot topic of the Software Engineering Community with all the resulting pros and cons MDD combines established technology meta-modeling / meta-case tool technology compiler compiler technology Currently available (commercial / academic) MDD tools support only subsets of all MDD activities lack precise definition (available for graph transformations)

49 OMG Standard + Graph Transformation 49 Velocity, XSLT XSLT Codegenerierung DiaMeta Editorgenerierung University BW Munich University of Technology Dresden OCL OCL Constraint MOF MOF Metamodel University of Technoloy Darmstadt SDM SDM Fujaba Fujaba Graph Graph Transformations University of Paderborn University of Technology Darmstadt TGG TGG (QVT (QVT Subset) M2M M2M Translation University of Kassel University of Paderborn

50 Typical MOFLON Applications 50 system engineering tool integration (ToolNet project with DaimlerChrysler et al.) model analysis / design guideline checking (MATE project with DaimlerChrysler et al.) software analysis / reverse engineering (based on experiences at Philips Medical Research) visual DSL editor development (ECLIPSE plug-ins in cooperation with UniBw)

51 Open Problems & Ongoing Work 51 Metamodeling with MOF 2.0 missing UML concepts (association classes) integration with UML profile definition Constraint Definition with OCL 2.0 incremental (event-driven) constraint checking integration with transactions & repair actions Local Model Transformations with SDM handling of composition hierarchies (still a problem!) integrated formal definition of language mix Model To Model Transformations with TGGs merging TGGs with QVT Relational Integration with Editor Generator Framework DIAMETA

52 52 Model-Driven Development with OMG Standards Graph Transformations Version 1.0 (Queen) Questions? Download/Feedback:

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

Towards 2D Traceability

Towards 2D Traceability Towards 2D Traceability in a platform for Contract Aware Visual Transformations with Tolerated Inconsistencies Pieter Van Gorp pieter.vangorp@ua.ac.be Frank Altheide frank.altheide@gmail.com Dirk Janssens

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Model Abstraction versus Model to Text Transformation

Model Abstraction versus Model to Text Transformation Model Abstraction versus Model to Text Transformation Jon Oldevik, Tor Neple, Jan Øyvind Aagedal SINTEF Information and Communication Technology, Forskningsvn 1, N-0314 Oslo, Norway {jon.oldevik tor.neple

More information

An Introduction to MDE

An Introduction to MDE An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

Model Querying with Graphical Notation of QVT Relations

Model Querying with Graphical Notation of QVT Relations Model Querying with Graphical Notation of QVT Relations Dan LI, Xiaoshan LI Faculty of Science and Technology, University of Macau Volker Stolz University of Oslo, Norway Agenda! Motivation! QVT Relations

More information

Model Driven Architecture - The Vision

Model Driven Architecture - The Vision Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support

More information

All you need are models Anneke Kleppe, Klasse Objecten

All you need are models Anneke Kleppe, Klasse Objecten Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in

More information

Adapting FUJABA for Building a Meta Modelling Framework

Adapting FUJABA for Building a Meta Modelling Framework Adapting FUJABA for Building a Meta Modelling Framework Carsten Amelunxen, Alexander Königs, Tobias Rötschke, Andy Schürr Technische Univeristät Darmstadt Institut für Datentechnik, FG Echtzeitsysteme

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

Model-Driven Architecture

Model-Driven Architecture THE IT-ARCHITECTURE PROFESSIONALS Model-Driven Architecture Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise Interactive Objects Software info@io-software.com Agenda 2 Motivation for MDA Terminology:

More information

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik Modellierung operationaler Aspekte von Systemarchitekturen Master Thesis presentation October 2005 March 2006 Agenda Goals Model-Driven Software Development Pro-active Infrastructure (PAI) Operational

More information

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005 Dottorato di Ricerca in Informatica Università di Bologna e Padova Whole Platform Riccardo Solmi March 2005 Coordinatore: Prof. Özalp Babaoğlu Tutore: Prof. Andrea Asperti To my mother and my grandmother

More information

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions. The TopModL Initiative Pierre-Alain Muller pa.muller@uha.fr INRIA/Irisa Université de Rennes France Cédric Dumoulin cedric.dumoulin@lifl.fr LIFL Université de Lille France Frédéric Fondement frederic.fondement@epfl.ch

More information

Modelling in Enterprise Architecture. MSc Business Information Systems

Modelling in Enterprise Architecture. MSc Business Information Systems Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling

More information

M B S E. Model Transformations in Model-Based Systems Engineering. Chris Paredis Associate Director. Model-Based Systems Engineering Center

M B S E. Model Transformations in Model-Based Systems Engineering. Chris Paredis Associate Director. Model-Based Systems Engineering Center 1 M B S E Model-Based Systems Engineering Center Model Transformations in Model-Based Systems Engineering Chris Paredis Associate Director Model-Based Systems Engineering Center Georgia Tech chris.paredis@me.gatech.edu

More information

Enabling Component-Based Model Transformations with QVT. Li Dan

Enabling Component-Based Model Transformations with QVT. Li Dan Enabling Component-Based Model Transformations with QVT by Li Dan Doctor of Philosophy in Software Engineering 2013 Faculty of Science and Technology University of Macau Enabling Component-Based Model

More information

UML 2.5: Specification Simplification

UML 2.5: Specification Simplification A division of Data Access Technologies, Inc. UML 2.5: Specification Simplification Presented at the Third Biannual Workshop on Eclipse Open Source Software and OMG Open Specifications Ed Seidewitz Timeline

More information

Model-driven systems engineering: state-of-the-art and research challenges

Model-driven systems engineering: state-of-the-art and research challenges BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 58, No. 3, 2010 DOI: 10.2478/v10175-010-0039-x Model-driven systems engineering: state-of-the-art and research challenges M. LAUDER 1,

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES BY LUIS ROCHA A project submitted in partial fulfillment Of the requirements for the degree of MASTER OF SCIENCE

More information

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development TOPCASED Toolkit In OPen source for Critical Applications & SystEms Development General presentation of the project A meta-modeling toolset The toolset architecture Services & Formats Demo / screenshots

More information

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information

Model Driven Engineering

Model Driven Engineering Model Driven Engineering Stuart Kent University of Kent Royal Society Industry Fellow with IBM Model Terminology encompasses more than program code design, analysis, specification, business models Driven

More information

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)

More information

Software Architecture

Software Architecture Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile

More information

Model Transformation Techniques

Model Transformation Techniques Transformation Techniques (or: Why I'd like write programs that write programs rather than write programs) Prof. Jean-Marc Jézéquel (Univ. Rennes 1 & INRIA) Triskell Team @ IRISA Campus de Beaulieu F-35042

More information

Do model transformations solve all the problems?

Do model transformations solve all the problems? Do model transformations solve all the problems? Panel@ICFEM'2008 Kitakyuschu City, October, 27 th Jean Bézivin (AtlanMod team, INRIA& EMN) -1- Ten years or Research in Model Transformation: where do we

More information

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Outline Basic Requirements Preliminary Dates

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

Model Driven Development Unified Modeling Language (UML)

Model Driven Development Unified Modeling Language (UML) Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations

More information

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Noname manuscript No. (will be inserted by the editor) Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Joel Greenyer 1, Ekkart Kindler 2 1 Software Engineering

More information

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano Model Driven Development Building Automated Code Generation Methods with Eclipse and DSL Tools Vicente Pelechano Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

What is Metamodeling and Code Generation All About

What is Metamodeling and Code Generation All About Automating Design and Verification of Embedded Systems Using Metamodeling and Code Generation Techniques What is Metamodeling and Code Generation All About Wolfgang Ecker & Michael Velten, Infineon Tutorial

More information

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS A Metamodel independent approach for Conflict Detection to support distributed development in MDE By Mostafa Pordel mpl08001@student.mdh.se A THESIS Submitted in partial fulfillment of requirements for

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

Composable Code Generation Applied to MDA

Composable Code Generation Applied to MDA Composable Code Generation Applied to MDA Kirk Schloegel, David Oglesby, Eric Engstrom MDA Implementers Workshop December 2-5, 2003 Work is supported by a grant from DARPA. Agenda Modeling, Meta-modeling,

More information

The Write Once, Deploy N MDA Case Study

The Write Once, Deploy N MDA Case Study Pieter Van Gorp, The Write Once, Deploy N MDA Case Study Belgisch-Nederlandse Evolution Workshop July 8-9, 2004 @ University of Antwerp The Write Once, Deploy N MDA Case Study Pieter Van Gorp, Dirk Janssens

More information

Role of Executable UML in MDA. Presented by Shahid Alam

Role of Executable UML in MDA. Presented by Shahid Alam Role of Executable UML in MDA Presented by Shahid Alam salam3@connect.carleton.ca 12/2005 Outline Introduction to MDA Executable UML Does it apply to MDA Model Compilers Conclusion Model Driven Architecture

More information

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems Object Security TM The Security Policy Company Protection of Resources in Complex Distributed Systems Ulrich Lang, Rudolf Schreiner ObjectSecurity Ltd. University of Cambridge Agenda COACH Project Model

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

OCL for the Specification of Model Transformation Contracts

OCL for the Specification of Model Transformation Contracts OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -

More information

ECLIPSE MODELING PROJECT

ECLIPSE MODELING PROJECT ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Write Once, Deploy N a Performance Oriented MDA Case Study

Write Once, Deploy N a Performance Oriented MDA Case Study Pieter Van Gorp, The Write Once, Deploy N MDA Case Study Write Once, Deploy N a Performance Oriented MDA Case Study Pieter Van Gorp and Dirk Janssens Formal Techniques in Software Engineering Pieter.VanGorp@ua.ac.be,

More information

Process DSL Transformation by Mappings Using Virtual Functional Views

Process DSL Transformation by Mappings Using Virtual Functional Views Baltic J. Modern Computing, Vol. 3 (2015), No. 2, 133-147 Process DSL Transformation by Mappings Using Virtual Functional Views Lelde LACE, Audris KALNINS, Agris SOSTAKS Institute of Mathematics and Computer

More information

Bachelor of Engineering, IT Thesis

Bachelor of Engineering, IT Thesis Technical University of Denmark Bachelor of Engineering, IT Thesis models Jakob Frydensberg Study no.: s020629 May 2008 Internal Report Number: IMM-B.Eng-2008-5 Supervisor: Hubert Baumeister, IMM, DTU

More information

Computer Science at Kent

Computer Science at Kent Computer Science at Kent YATL: Yet Another Transformation Language - Reference Manual Version 1.0 Octavian Patrascoiu Technical Report No. 2-04 March 2004 Copyright 2004 University of Kent at Canterbury

More information

A universal PNML Tool. Lukasz Zoglowek

A universal PNML Tool. Lukasz Zoglowek A universal PNML Tool Lukasz Zoglowek Kongens Lyngby 2008 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45

More information

ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION

ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION A thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

MOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package:

MOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package: MOMOCS Model driven Modernisation of Complex Systems D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS Dissemination Level: Work package: Lead Participant: Public WP2 ATOS Contractual Delivery Date: January

More information

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007 Model-Based Techniques in the Development of Net-Centric Applications June 20, 2007 Timothy A. Anderson Basil C. Krikeles BAE-Systems Advanced Information Technologies 6 New England Executive Park Burlington,

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

16 Evaluation Framework for Model-Driven Product Line Engineering Tools 16 Evaluation Framework for Model-Driven Product Line Engineering Tools J. Oldevik, A. Solberg, Ø. Haugen, and B. Møller-Pedersen Abstract Both the -driven development (MDD) approach and the product line

More information

Overview of lectures today and Wednesday

Overview of lectures today and Wednesday Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812) CSSE 490 Model-Based Software Engineering: More MBSD Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: MBE Discipline Relate Model-Based Engineering

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Orthographic Software Modeling A Practical Approach to View Based Development

Orthographic Software Modeling A Practical Approach to View Based Development Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms

More information

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J.

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J. International Conference on Product Lifecycle Management Enabling Multi-View Modeling With SysML Profiles and Model Transformations Aditya A. Shah, Dirk Schaefer and Christiaan J.J. Paredis Systems Realization

More information

ATL Demystified and an Introduction to the RPG2Petrinet Experiment

ATL Demystified and an Introduction to the RPG2Petrinet Experiment ATL Demystified and an Introduction to the RPG2Petrinet Experiment Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract ATL is a fairly well known M2M model transformation language.

More information

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS Jean Bézivin, Frédéric Jouault, Jean Paliès ATLAS Group (INRIA & LINA, University of Nantes) {bezivin frederic.jouault jean.palies}@gmail.com Abstract Keywords:

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Transforming models with ATL

Transforming models with ATL The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

A Model-driven approach to NLP programming with UIMA

A Model-driven approach to NLP programming with UIMA A Model-driven approach to NLP programming with UIMA Alessandro Di Bari, Alessandro Faraotti, Carmela Gambardella, and Guido Vetere IBM Center for Advanced Studies of Trento Piazza Manci, 1 Povo di Trento

More information

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf Open Source Software for Model Driven Engineering 2014 On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf Zoltán Micskei, Raimund-Andreas Konnerth, Benedek Horváth, Oszkár Semeráth,

More information

Comparison of different Model Driven Development approaches. Master thesis. Gøran Klepp Olsen. A mobile Meal Ordering System for the healthcare sector

Comparison of different Model Driven Development approaches. Master thesis. Gøran Klepp Olsen. A mobile Meal Ordering System for the healthcare sector UNIVERSITY OF OSLO Department of Informatics Comparison of different Model Driven Development approaches A mobile Meal Ordering System for the healthcare sector Master thesis Gøran Klepp Olsen 27th October

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

A MOF based Meta-Model and a Concrete DSL Syntax of IIS*Case PIM Concepts

A MOF based Meta-Model and a Concrete DSL Syntax of IIS*Case PIM Concepts DOI:10.2298/CSIS120203034C A MOF based Meta-Model and a Concrete DSL Syntax of IIS*Case PIM Concepts Milan Čeliković, Ivan Luković, Slavica Aleksić, and Vladimir Ivančević University of Novi Sad, Faculty

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Comparative analysis of MDA tools

Comparative analysis of MDA tools STUDIA INFORMATICA Nr 1-2(16) Systems and information technology 2012 Comparative analysis of MDA tools Krzysztof Pietraszek 1 1 Institute of Computer Science, University of Natural Sciences and Humanities,

More information

SPECIFICATION OF MODEL TRANSFORMATION AND WEAVING IN MODEL DRIVEN ENGINEERING

SPECIFICATION OF MODEL TRANSFORMATION AND WEAVING IN MODEL DRIVEN ENGINEERING Dipartimento di Informatica Università di L Aquila Via Vetoio, I-67100 L Aquila, Italy http://www.di.univaq.it PH.D. THESIS IN COMPUTER SCIENCE XIX SPECIFICATION OF MODEL TRANSFORMATION AND WEAVING IN

More information

An Open Modeling Infrastructure. Olaf Kath Marc Born

An Open Modeling Infrastructure. Olaf Kath Marc Born An Open Modeling Infrastructure Olaf Kath Marc Born Agenda Architecture Guidelines Users View Medini Toolset Model Transformations Conclusions Our Vision on MDA: A Modeling Infrastructure open to a variety

More information

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information