Copying Subgraphs within Model Repositories

Size: px
Start display at page:

Download "Copying Subgraphs within Model Repositories"

Transcription

1 Copying Subgraphs within Model Repositories Pieter van Gorp, Hans Schippers, Dirk Janssens April 2, / 37

2 Contents Languages 2 / 37

3 Outline Languages 3 / 37

4 : Model Driven Software Engineering Model A simplified representation of a part of the world, named the system [Sei03] Repositories Databases: serializing into standard formats (like XMI), exposing a query and transformation API (like OCL and JMI). Challenge Manage consistency between and within models: check and transform Platforms Matter Generative (more complex than interpretative, cfr. ToolNet pres.) 4 / 37

5 : Extending Graph Transformation Why Graph Transformation? Ability to model a model transformation Research Goal Extend graph transformation: model transformations can be programmed at a high level of abstraction, while the low-level APIs of mainstream model repositories are interfaced by means of compilers. not just interpreting the rules, execute them on a COTS modeling tool. 5 / 37

6 Outline Languages 6 / 37

7 Conceptual and Robustness Model Schedule +type : Schedule Type [1] +acceptablelimit : int +cancellimit : int Initiator +excludedby 0..* 1..* Attendee 0..* +participation 0..* +exclusion 0..* +from 1 Login Form Time Interval 0..* +preferredby 0..* +preference +to Moment 1 0..* Account Service Flexibility +level : int <<Entity>> Person 1 +user Person Attendee Main Screen Confirm Meeting Mail Status Service <<Entity>> Schedule <<Entity>> Meeting Location 7 / 37

8 Graphs? = Abstract Syntax Node n1. Type: Model Attribute values: name= "Data" Node n2.... Type: UmlPackage Links: Attribute values: l1 (to n2, label "ownedelement") name= "Examples" Links: l2 (to n3, label "ownedelement" ) l1 (to n1, label "namespace") Node n3. Type: UmlPackage Attribute values: Node n4. name= "Meeting Scheduler" Type: Model Links: Attribute values: l3 (to n4, label "ownedelement") name= "CM"... visibility= Public Links: l4 (to n7, label "stereotype") Node n5. Type: Stereotype Attribute values: name= "Foreign Key" baseclass= "Classifier"... Node n6. Type: UmlPackage Attributes values: name= "Robustness Modeling" Links: l5 (to n7, label "ownedelement") Node n7. Type: Stereotype Attributes values: name= "Conceptual Model" Links: l4 (to n4, label "extendedelement") l5 (to n6, label "namespace") 8 / 37

9 : Each class in the conceptual model should correspond to an entity in the robustness model. Constraint Violation Scenario only conceptual model has been developed, no robustness model yet Repairing Transformation generate robustness model from the conceptual model duplicate classes with their attributes as entities no services, no screens Consistency Constraint 9 / 37

10 Outline Languages 10 / 37

11 Trfo Language: Node instances are typed by classes (attributes, associations, inheritance) Primitive Operations: Create/Delete a Node/Edge, Update attribute values Control Structure: Sequence of rewrite rules: introduces bound nodes, loop, branch, method call UML-alike syntax: Fujaba (large community) Standard UML syntax: UML Profile for SDM (MoTMoT) 11 / 37

12 gencopyof_cm {motmot.transprimitive=gencopyof_cm} gencopyof_classincm {motmot.transprimitive=gencopyof_classincm} <<failure>> checkexists_classincmcopy {motmot.transprimitive=checkexistsclassincmcopy} <<failure>> checkexists_cmcopy {motmot.transprimitive=checkexistscmcopy} <<each time>> gencopyof_a {motmot.transprimitive=gencopyof_a} handleoncopy_classincm_null_a {motmot.transprimitive=handleoncopy_classincm_null_a} handleoncopy_cm_null_stereotypeonrm {motmot.transprimitive=handleoncopy_cm_null_stereotypeonrm} handleoncopy_cm_null_wodnapplication {motmot.transprimitive=handleoncopy_cm_null_wodnapplication} <<failure>> checkexists_acopy handleoncopy_classincm_null_entitystereotype {motmot.transprimitive=checkexistsacopy} {motmot.transprimitive=handleoncopy_classincm_null_entitystereotype} <<each time>> <<loop>> select_a_aspart {motmot.transprimitive=select_a_aspart} <<loop>> select_classincm_aspart Lookup Stereotypes in Profiles {motmot.transprimitive=select_classincm_aspart} {motmot.transprimitive=lookupstereotypes} <<success>> <<loop>> Deep Copy of Classes {motmot.transprimitive=docopy} <<failure>> <<each time>> <<success>> <<failure>> <<code>> Print name of RM <<code>> Print success 12 / 37

13 Selecting the conceptual model (CM) applicationmodel : Model <<closure>> +ownedelement * wodnapplication : UmlPackage {motmot.constraint=name.equals(this.getapplicationname())} * cm: Model +ownedelement +stereotype * stereotypeoncm : Stereotype <<copy>> removed Addition of <<Robustnes Model>> stereotype (using <<oncopy>> is removed stereotypeonrm : Stereotype Class and Attribute nodes removed Only used in subsequent stories entitystereotype : Stereotype 13 / 37

14 Is CM already copied? copyof_cm: Model cm: Model content 1 content 1 node node cmnode : be.ac.ua.fots.metamodels.traceability.node copyof_cmnode : be.ac.ua.fots.metamodels.traceability.node node node link 1 link 1 trlinkforcopy: Link 14 / 37

15 Generate Copy of CM node copyof_cm: be.ac.ua.fots.metamodels.traceability.node node content 1 copyof_cm: Model -isactive = cm.isactive() -visibility = cm.getvisibility() -isspecification = cm.isspecification() -isroot = cm.isroot() -isleaf = cm.isleaf() -isabstract = cm.isabstract() +name : String = "RM" this: CM2RMImpl traceabilitylinks * trlinkforcopy: Link link 1 link 1 node cmnode : be.ac.ua.fots.metamodels.traceability.node node content 1 cm: Model 15 / 37

16 Add Conceptual Model Stereotype to Copy copyof_cm: Model extendedelement stereotype * stereotypeonrm : Stereotype 16 / 37

17 Add Copy to containing package wodnapplication : UmlPackage namespace ownedelement * copyof_cm: Model 17 / 37

18 Selecting class in CM cm: Model +ownedelement 0..* classincm : UmlClass 18 / 37

19 Is class already copied? copyof_classincm: UmlClass classincm : UmlClass 1 content 1 content node node classincmnode : be.ac.ua.fots.metamodels.traceability.node copyof_classincmnode : be.ac.ua.fots.metamodels.traceability.node node node 1 1 trlinkforcopy: Link link link 19 / 37

20 Generate Copy of class node copyof_cm: be.ac.ua.fots.metamodels.traceability.node node content 1 copyof_cm: Model -isactive = cm.isactive() -visibility = cm.getvisibility() -isspecification = cm.isspecification() -isroot = cm.isroot() -isleaf = cm.isleaf() -isabstract = cm.isabstract() +name : String = "RM" this: CM2RMImpl traceabilitylinks * trlinkforcopy: Link link 1 link 1 node cmnode : be.ac.ua.fots.metamodels.traceability.node node content 1 cm: Model 20 / 37

21 Add Entity Stereotype to Copy copyof_classincm : UmlClass extendedelement stereotype * entitystereotype : Stereotype 21 / 37

22 Story Patterns for Attribute Once more: Check if already copied, Generate Copy Create links to copy Primitives for Attribute 22 / 37

23 from plain SDM This is not a model of the transformation! = Extend the UML Profile for SDM 23 / 37

24 Outline Languages 24 / 37

25 CM to RM using Copy Operator applicationmodel : Model <<closure>> * +ownedelement wodnapplication : UmlPackage {motmot.constraint=name.equals(this.getapplicationname())} * +ownedelement <<oncopy>> * +ownedelement <<copy>> cm: Model <<oncopy>>+name : String = "RM" +ownedelement 0..* classincm : UmlClass <<oncopy>> +ownedelement 0..* a: Attribute * +stereotype stereotypeoncm : Stereotype <<oncopy>> * +stereotype * +stereotype CM2RM Copy Operator stereotypeonrm : Stereotype entitystereotype : Stereotype 25 / 37

26 Extension to UML Profile copy entry point to the subgraph that needs to be copied root of decorated tree composition Each node and link on this path will be copied. oncopy instruction executed on the copy of an element. association ends of create attribute assignments Note: composition also specifies selection of source elements ( association with two oncopy ends) 26 / 37

27 Well-formedness Rules At least one link should be created from the host graph to a node from the copied subgraph. Apply oncopy instruction only on: attributes inside a copied node, or association ends connected to a copied node. A node should be part of at most one composition. ab1 <<copy>> a: A ab2 b b1: B * b b2: B * <<copy>> c: C a: A c 1 <<copy>> d: D ab * b1: B b db * 1 b2: B c: C b c ab1 <<copy>> a: A ab2 * b b: B c c: C 1 1 b 27 / 37

28 Part 2 of WFR 2: context inv : Remark: OCL Implementation AssociationEnd hasstereotype ( self, " oncopy ") implies ( -- connected class contains <<copy >> stereotype hasstereotype ( self. participant, " copy ") or ( -- or end of class at other side is composite self. participant. ocliskindof ( Classifier ) and self. participant. oclastype ( Classifier ). association. association. connection - > exists ( end2 self <> end2 and end2. aggregation = AggregationKind :: composite ) ) ) 28 / 37

29 Outline Languages 29 / 37

30 Hierarchical GT Assumption: transformed graphs can be decomposed into frames where edges are not allowed to cross frame boundaries. required for proving that rewrite rules do not violate grammatical constraints, but nested visual languages like the UML require a more flexible decomposition mechanism [DHP02], feedback for copy operator: automatically copy all edges between the nodes in a frame 30 / 37

31 Shape Grammars define frame variables in the scope of a rewrite rule instead of in the scope of the complete rewriting system [Ber03]. Refactoring Another model transformation case study can apply transformation model compiler! Extend case study from [HJE05]: consider more grammatical constructs. Strict grammar based approach more attractive than controlled GT? 31 / 37

32 Graph Transformation Theory New operation: copying subgraphs More compact specification in context of model refinement, refactoring Only implementation is specific to model repositories, concept is applicable to any graph with OO types In Practice Integrated into UML Profile for Story Driven Modeling M2M transformation most promising for making operator executable 32 / 37

33 Ongoing and Future Work Making Copy Operator Executable Extend M2C Templates for SDM M2M refinement into plain SDM: MoTMoT independent! Using conditionals presented here Using Reflective helper method Complete Case Studies Learn from Integrating: UML Profiles (CM, RM), MOF (Traceability), OCL (Check Consistency ), Graph Transfo (Realize Consistency), JMI, J2EE,... (Platforms) = Maximal Reuse, Minimal Lockin 33 / 37

34 The end Thank you! Questions? 34 / 37

35 References Berthold Hoffmann. Abstraction and Control for Shapely Nested Graph Transformation. Fundamenta Informaticae, 58(1):39 65, Frank Drewes, Berthold Hoffmann, and Detlef Plump. Hierarchical graph transformation. Journal of Computer and System Sciences, 64: , Berthold Hoffmann, Dirk Janssens, and Niels Van Eetvelde. Cloning and expanding graph transformation rules for refactoring. In International Workshop on Graph and Model Transformation, Tallinn, Estonia, A satellite event of GPCE 05. E Seidewitz. What models mean. IEEE Software, 20, Sept.-Oct / 37

36 Use of UML Profiles No restiction: CM and RM could have different MOF metamodels, could even reside in different repositories! Simple correspondence: baseclass property of stereotype indicates the superclass of a new metaclass with the name of the stereotype tags defined on stereotype become attributes of the new metaclass UML Tool Implementation: The new metaclasses (M2) could be referenced from UML XMI files (M1). Only accessible through MOF reflection, not through static (e.g. generated JMI) interfaces of repository. 36 / 37

37 Use of UML Profiles (cont) Unconventional: meta-object protocol using a conforms to relation different from the instance of relation Not dramatic: Concrete syntax of CM and RM is OK! Model transformation doesn t become more complex. Most Importantly: Copying subgraphs would still be required! 37 / 37

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light Segravis School on Foundations of Visual Modelling Techniques, May 2004, Schloss Dagstuhl Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

More information

Integrating a Declarative with an Imperative Model Transformation Language

Integrating a Declarative with an Imperative Model Transformation Language Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp, Olaf Muliawan, Dirk Janssens September 2006 Technical Report 2006-12 University of Antwerp Department of Mathematics

More information

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Electronic Notes in Theoretical Computer Science 127 (2005) 5 16 www.elsevier.com/locate/entcs Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Hans Schippers, Pieter Van Gorp,

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

UML Semantics 2. Contents. Section Title. This chapter contains the following sections.

UML Semantics 2. Contents. Section Title. This chapter contains the following sections. UML Semantics 2 Contents This chapter contains the following sections. Section Title Page Part 1 - Background Introduction 2-2 Language Architecture 2-4 Language Formalism 2-7 Part 2 - Foundation Foundation

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

ATL: ATLAS Transformation Language. MISO - Uniandes

ATL: ATLAS Transformation Language. MISO - Uniandes ATL: ATLAS Transformation Language MISO - Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 What is ATL? ATL is a model transformation language (MTL) developed

More information

ATL: ATLAS Transformation Language

ATL: ATLAS Transformation Language ATL: ATLAS Transformation Language Rubby Casallas Grupo de Construcción de Software Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 1 What is ATL? ATL

More information

UML Metamodel version September 1997

UML Metamodel version September 1997 UML Metamodel version. September 997 This is the metamodel of the Unified Modeling Language (UML). It describes the constituents of all well-formed models that may be represented in the UML, using the

More information

Transformation Language Integration based on Proles and Higher Order Transformations

Transformation Language Integration based on Proles and Higher Order Transformations Transformation Language Integration based on Proles and Higher Order Transformations Pieter Van Gorp, Anne Keller and Dirk Janssens University of Antwerp {pieter.vangorp,anne.keller,dirk.janssens}@ua.ac.be

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

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

Contents Contents 1 Introduction Entity Types... 37

Contents Contents 1 Introduction Entity Types... 37 1 Introduction...1 1.1 Functions of an Information System...1 1.1.1 The Memory Function...3 1.1.2 The Informative Function...4 1.1.3 The Active Function...6 1.1.4 Examples of Information Systems...7 1.2

More information

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation

More information

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

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

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

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany Softwaretechnik Lecture 19: Model Driven Engineering Peter Thiemann University of Freiburg, Germany 23.07.2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik 23.07.2012 1 / 50 Introduction MDA Introduction

More information

Softwaretechnik Model Driven Architecture Meta Modeling

Softwaretechnik Model Driven Architecture Meta Modeling Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1

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

Applying a Model Transformation Taxonomy to Graph Transformation Technology

Applying a Model Transformation Taxonomy to Graph Transformation Technology Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Applying a Model Transformation Taxonomy to Graph Transformation

More information

Case study: Class diagram restructuring

Case study: Class diagram restructuring Case study: Class diagram restructuring K. Lano, S. Kolahdouz-Rahimi Dept. of Informatics, King s College London, Strand, London, UK This case study is an update-in-place refactoring transformation on

More information

Construction of Complex UML Profiles

Construction of Complex UML Profiles Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040, Spain mmiguel@dit.upm.es!1 Context of this work Profiles Construction The present courseware has been

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

UML PROFILING AND DSL

UML PROFILING AND DSL UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer Design and Prototypical Implementation of a Pivot Model as Exchange Format

More information

Formal tool support for software evolution

Formal tool support for software evolution Service de Génie Logiciel Formal tool support for software evolution Tom Mens staff.umh.ac.be/mens.tom/ www.umh.ac.be/~genlog Université de Mons-Hainaut Problem statement More and better tool support needed

More information

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017 IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer and Birgit Demuth Model-Level Integration of the Using a Pivot Model with Generics

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

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

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

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

A Graphical Specification of Model Composition With Triple Graph Grammars

A Graphical Specification of Model Composition With Triple Graph Grammars A Graphical Specification of Model Composition With Triple Graph Grammars Adil Anwar 1, Amine Benelallam 2, Akram Idani 3, Bernard Coulette 4, and Mahmoud Nassar 2 1 Siweb, Computer Science Department,

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

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

Enterprise Architect. User Guide Series. Model Validation. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Model Validation. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Model Validation Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents Model Validation 3 Configure Model Validation 5 Run Validation

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

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

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Joint Agile Delivery Phase 3

Joint Agile Delivery Phase 3 Joint Agile Delivery Phase 3 Frank Massoudian Edward Pershwitz 2017 TM Forum 1 Joint Agile Delivery Phase 3 Project Lead Champions Participants 2017 TM Forum 2 Catalyst Timeline Oct 10-13, 2016 Stockholm

More information

A Metamodel-Based OCL-Compiler for UML and MOF

A Metamodel-Based OCL-Compiler for UML and MOF Electronic Notes in Theoretical Computer Science 102 (2004) 43 61 www.elsevier.com/locate/entcs A Metamodel-Based OCL-Compiler for UML and MOF Sten Loecher, Stefan Ocke 1,2 Department of Computer Science

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

Enterprise Architect. User Guide Series. Model Validation. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Model Validation. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Model Validation Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH Table of Contents Model Validation 3 Configure Model Validation 5 Run Validation

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

Element. ModelElement. GeneralizableElement isroot : Boolean isleaf : Boolean isabstract : Boolean. +type. Method body : ProcedureExpression

Element. ModelElement. GeneralizableElement isroot : Boolean isleaf : Boolean isabstract : Boolean. +type. Method body : ProcedureExpression Element name : Name +constrainedelement.. ElementOwnership visibility : VisibilityKind +ownedelement +stereotypeconstraint Feature ownerscope : ScopeKind visibility : VisibilityKind +feature +namespace

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

The Architecture of a UML Virtual Machine

The Architecture of a UML Virtual Machine The Architecture of a UML Virtual Machine Dirk Riehle dirk@riehle.org, www.riehle.org Presented to Java User Group Switzerland, December 2003 Last updated. Copyright 2001-2003 by Dirk Riehle. All rights

More information

8. UML Metamodel Getting Started

8. UML Metamodel Getting Started 8. UML Metamodel 8. UML Metamodel 287 8.1 Getting Started 8.1 Getting Started 288 Table 2-1 from Specification 8.1 Getting Started 289 M3 MetaClass MetaAssoc Class:MetaClass Class/AssocEnd:MetaAssoc M2

More information

Web Engineering. Winter Term 2006/07 Prof. Dr. Gregor Engels. Chapter II: Modeling of Web Applications Part 2

Web Engineering. Winter Term 2006/07 Prof. Dr. Gregor Engels. Chapter II: Modeling of Web Applications Part 2 Web Engineering Winter Term 2006/07 Prof. Dr. Gregor Engels Chapter II: Modeling of Web Applications Part 2 Acknowledgements Dr. Nora Koch, LMU München http://www.pst.informatik.uni-muenchen.de/~kochn/index.html

More information

Algebraic Semantics of EMOF/OCL Metamodels

Algebraic Semantics of EMOF/OCL Metamodels Algebraic Semantics of EMOF/OCL Metamodels Artur Boronat and José Meseguer Department of Information Systems and Computation, Technical University of Valencia. Department of Computer Science, University

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

A Generic Deep Copy Algorithm for MOF-Based Models

A Generic Deep Copy Algorithm for MOF-Based Models A Generic Deep Copy Algorithm for MOF-Based Models Ivan Porres Marcus Alanen TUCS Turku Centre for Computer Science Åbo Akademi University, Department of Computer Science Lemminkäisenkatu 4A FIN-20520

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

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

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

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

Approach for Modeling Aspects in Architectural Views

Approach for Modeling Aspects in Architectural Views Approach for Modeling Aspects in Architectural Views ABSTRACT This document presents the approach for modeling aspects in architectural views. It builds on earlier deliverables that have not explicitly

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Metamodeling and Metaprogramming

Metamodeling and Metaprogramming TDDD05 Component-Based Software Metamodeling and Metaprogramming 1. Introduction to metalevels 2. Different Ways of Metaprogramming 3. UML Metamodel and MOF 4. Component markup U. Assmann: Invasive Software

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

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Pontis Interpretive MDD platform. May 2008

Pontis Interpretive MDD platform. May 2008 Pontis Interpretive MDD platform May 2008 Agenda Background Model driven development Problems with main-stream approaches Product line structure Some facts The principles of our approach Detailed description

More information

Enforcing Modeling Guidelines in an ORDBMS-based UML-Repository

Enforcing Modeling Guidelines in an ORDBMS-based UML-Repository Enforcing Modeling Guidelines in an ORDBMS-based UML-Repository Abstract N.Ritter, H.-P. Steiert University of Kaiserslautern, Dept. of Computer Science P. O. Box 3049, D-67663 Kaiserslautern, Germany

More information

OCL Tooling for OMG specifications

OCL Tooling for OMG specifications OCL Tooling for OMG specifications Edward Willink Thales representative for OMG OCL RTF Eclipse OCL Project Lead Thales representative for OMG QVT RTF Eclipse QVT Declarative Project Lead OMG Quarterly

More information

On Using UML Profiles in ATL Transformations

On Using UML Profiles in ATL Transformations On Using UML Profiles in ATL Transformations Manuel Wimmer and Martina Seidl Business Informatics Group, Vienna University of Technology, Austria {wimmer seidl}@big.tuwien.ac.at Abstract. For defining

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

Multidimensional Key, Version 1.0

Multidimensional Key, Version 1.0 1 Multidimensional Key, Version 1.0 URL http://www.wiley.com/compbooks/poole/patterns/mdkey.pdf Contributor John Poole (jpoole@alum.poly.edu) Structural Classification Micro pattern Usage Category Structural

More information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 8 The Enhanced Entity- Relationship (EER) Model Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization

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

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

Customisation of Unified Modeling Language for logical database modeling

Customisation of Unified Modeling Language for logical database modeling Blekinge Institute of Technology Research Report No 2002:12 Customisation of Unified Modeling Language for Logical Database Modeling Editors: Ludwik Kuzniarz and Miroslaw Staron Department of Software

More information

Composition Techniques for Rule-based Model Transformation Languages

Composition Techniques for Rule-based Model Transformation Languages Composition Techniques for Rule-based Model Transformation Languages Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Model transformation

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

Integrating Software Architecture Concepts into the MDA Platform with UML Profile

Integrating Software Architecture Concepts into the MDA Platform with UML Profile Journal of Computer Science 3 (10): 793-802, 2007 ISSN 1549-3636 2007 Science Publications Integrating Software Architecture Concepts into the MDA Platform with UML Profile 1 Adel Alti, 2 Tahar Khammaci

More information

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design

More information

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) Sample Deployment diagram Component diagrams are different in

More information

Generic Modeling using UML extensions for variability

Generic Modeling using UML extensions for variability Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,

More information

UML Profiles Radovan Cervenka

UML Profiles Radovan Cervenka Unified Modeling Language UML Profiles Radovan Cervenka UML Profiles The mechanisms that allow metaclasses from existing metamodels to be extended to adapt them for different purposes, e.g., to tailor

More information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer

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

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

The TTC 2014 Movie Database Case: Rascal Solution

The TTC 2014 Movie Database Case: Rascal Solution The TTC 2014 Movie Database Case: Rascal Solution Pablo Inostroza Tijs van der Storm Centrum Wiskunde & Informatica (CWI) Amsterdam, The Netherlands pvaldera@cwi.nl Centrum Wiskunde & Informatica (CWI)

More information

Introduction. O.Univ.-Prof. DI Dr. Wolfgang Pree. Universität Salzburg

Introduction. O.Univ.-Prof. DI Dr. Wolfgang Pree.  Universität Salzburg OO Reengineering Patterns O.Univ.-Prof. DI Dr. Wolfgang Pree Universität Salzburg www.softwareresearch.net Introduction 2 Goals Convince you about the following: 3 Lehman s laws 4 What is a legacy system?

More information

CimConteXtor User Guide

CimConteXtor User Guide CimConteXtor User Guide V3 1/86 CimConteXtor User Guide User Guide V3 CimConteXtor is an Enterprise Architect Add-In. The main purpose of CimConteXtor is to create a UML profile in EA, profile that is

More information

Meta Object Facility (MOF) Specification

Meta Object Facility (MOF) Specification Date: July 2005 Meta Object Facility (MOF) Specification Version 1.4.1 formal/05-05-05 This version is also available from ISO as ISO/IEC 19502. Contents Foreword... ix Introduction... xi 1 Scope...1

More information

Towards using OWL DL as a metamodelling framework for ATL

Towards using OWL DL as a metamodelling framework for ATL Towards using OWL DL as a metamodelling framework for ATL Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Ontologies have become increasingly

More information

SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Telecommunications management network

SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Telecommunications management network International Telecommunication Union ITU-T M.3020 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (07/2011) SERIES M: TELECOMMUNICATION MANAGEMENT, INCLUDING TMN AND NETWORK MAINTENANCE Telecommunications

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Metamodeling directed relationships in UML

Metamodeling directed relationships in UML Basic modeling concepts in model-driven software engineering Braga, April 15-16, 2013 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

More information

Metamodeling and Metaprogramming

Metamodeling and Metaprogramming TDDD05 / DF4900 Metamodeling and ming Linköpings universitet Some slides by courtesy of U. Assmann, IDA / TU Dresden. Introduction to metalevels 2. Different Ways of ming 3. UML Metamodel and MOF 4. Component

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