Model Inconsistency Management

Size: px
Start display at page:

Download "Model Inconsistency Management"

Transcription

1 Model Inconsistency Management by means of Graph Transformation Dependency Analysis Tom Mens Institut d Informatique Université de Mons-Hainaut Belgium

2 Acknowledgements This talk reports on joint work with Maja D Hondt LIFL, Université des Sciences et des Technologies de Lille Ragnhild Van Der Straeten Universität Paderborn / Vrije Universiteit Brussel Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

3 Challenge: Model-driven evolution Observation Model-driven software engineering approaches do not adequately address software evolution problems Need better support (tools, formalisms) for Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

4 Model inconsistency management Goal Specify model inconsistencies and their resolution strategies as graph transformation rules Use this formalisation to support the inconsistency management process Automate the detection of inconsistencies Interactively support the resolution of inconsistencies Analyse transformation dependencies to optimise this process Detect sequential dependencies between resolution rules Detect parallel conflicts between resolution rules that cannot be applied together Remove redundancy between resolution rules Provide optimal resolution strategies Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

5 Model inconsistency management Inconsistency management process inconsistency detection rules? inconsistency resolution rules? UML model detect inconsistencies in UML model select inconsistencies to be resolved choose inconsistency resolution strategy apply inconsistency resolutions annotate model with inconsistencies found modify model by selected resolution rules (may give rise to new inconsistencies) Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

6 Experiment Use AGG (version 1.4), a general-purpose graph transformation language specify the metamodel as a type graph specify the models as graphs detect model inconsistencies by means of graph transformation rules resolve model inconsistencies by means of graph transformation rules detect parallel conflicts and sequential dependencies between inconsistency resolutions by means of critical pair analysis Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

7 Step 1: Specify the metamodel AGG type graph Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

8 Example of a model inconsistency Dangling operation reference Using UML notation Using graph notation contains Class name= ATM isabstract=false Operation name= ejectcard visibility= public nuofpars=0 isabstract=false instanceof Operation name= retaincard visibility= public nuofpars=0 isabstract=false calls InstanceSpecification ConnectableElement represents Interaction LifeLine contains contains represents MessageEvent MessageOccurrenceSpecification Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

9 Step 2: Identify model inconsistencies Dangling Type Reference Classless Instance Abstract Object Abstract Operation Abstract State Machine Cyclic Composition Dangling Operation Reference Transition Without Operation An operation has one or more parameters whose types are not specified A model contains an instance specification that is not linked to a class A model contains an instance specification that is an instance of an abstract class that does not have any concrete subclasses. An abstract operation is defined in a concrete class. A state machine expresses the behaviour of an abstract class that does not have any concrete subclasses. A class contains at least one instance of its subclasses through a composition relationship that may lead to an infinite containment of instances of the affected classes. A state machine contains a transition that refers to an operation that does not belong to any class (or that belongs to a different class than the one whose behaviour is expressed by the state machine). A transition does not have a referred operation attached to it. Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

10 Example of a model inconsistency Dangling operation reference Using UML notation Using graph notation contains Class name= ATM isabstract=false Operation name= ejectcard visibility= public nuofpars=0 isabstract=false instanceof Operation name= retaincard visibility= public nuofpars=0 isabstract=false calls InstanceSpecification ConnectableElement represents Interaction LifeLine contains contains represents MessageEvent MessageOccurrenceSpecification Conflict description= dangling operation reference Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

11 Step 3: Detect model inconsistencies Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

12 Step 3: Detect model inconsistencies Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

13 Step 4: Identify inconsistency resolutions Dangling Type Reference Res1 Res2 Res3 Remove the parameter whose type is undefined. Assign an existing class as the type of the previously undefined parameter. Assign a new class as the type of the previously undefined parameter. Classless Instance Abstract Object Res1 Res2 Res3 Res1 Res2 Res3 Res4 Remove the instance specification. Link the instance specification to an existing class. Link the instance specification to a new class. Change the abstract class into a concrete one. Add a concrete descendant of the abstract class, and redirect the outgoing instance-of relation of the instance specification to this concrete descendant. Remove the instance specification. Add a concrete descendant class of the abstract class. Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

14 Step 5: Resolve model inconsistencies Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

15 Step 6: Detect parallel conflicts between resolution rules Some resolution rules cannot be jointly applied (parallel conflict!) Conflict graph can be generated in AGG by means of critical pair analysis Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

16 Step 6: Detect parallel conflicts Example of a critical pair representing a conflict situation Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

17 Step 7: Detect sequential dependencies Some resolution rules may give rise to new opportunities for applying other resolution rules Dependency graph generated by critical pair analysis Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

18 Step 7: Detect sequential dependencies Example of a critical pair representing a sequential dependency Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

19 Step 7: Detect sequential dependencies Some resolution rules may give rise to new model inconsistencies Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

20 Step 8: Refactor resolution rules Observation Different resolution rules for the same model inconsistency may be redundant Different resolution rules for a different model inconsistency may be redundant (even identical) Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

21 Step 8: Refactor resolution rules Dangling Type Reference Classless Instance redundancy Abstract Object Res1 Res2 Res3 Res1 Res2 Res3 Res1 Res2 Res3 Res4 Remove the parameter whose type is undefined. Assign an existing class as the type of the previously undefined parameter. Assign a new class as the type of the previously undefined parameter. Remove the instance specification. Link the instance specification to an existing class. Link the instance specification to a new class. Change the abstract class into a concrete one. Add a concrete descendant of the abstract class, and redirect the outgoing instance-of relation of the instance specification to this concrete descendant. Remove the instance specification. Add a concrete descendant class of the abstract class. Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

22 Step 8: Refactor resolution rules Dangling Type Reference redundancy Classless Instance redundancy Abstract Object Res1 Res2 Res3 Res1 Res2 Res3 Res1 Res2 Res3 Res4 Remove the parameter whose type is undefined. Assign an existing class as the type of the previously undefined parameter. Assign a new class as the type of the previously undefined parameter. Remove the instance specification. Link the instance specification to an existing class. Link the instance specification to a new class. Change the abstract class into a concrete one. Add a concrete descendant of the abstract class, and redirect the outgoing instance-of relation of the instance specification to this concrete descendant. Remove the instance specification. Add a concrete descendant class of the abstract class. Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

23 Step 8: Refactor resolution rules Goal (Future Work!) Detect redundancy automatically Based on the computed conflicts and dependencies between resolution rules Remove redundancy automatically Refactor the resolution rules Transform (i.e., refactor) the transformation rules - Transformations need to be first class models - Reflective transformation engine is needed Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

24 Tool Support Integrate ideas into a modeling tool Ongoing student project export UML models from MagicDraw into AGG, detect and resolve inconsistencies in AGG, and import back into MagicDraw Ongoing student project Add interface on top of AGG to provide interactive support for selecting and resolving inconsistencies based on detected conflicts and dependencies Future work Integrate current work into existing RACOON tool for model inconsistency management (based on description logics) Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

25 Discussion topics Optimality Expressiveness Completeness Compositionality Termination Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

26 Discussion topics Optimality Find an optimal way to resolve model inconsistencies How can we define optimality? Use heuristics and resolution strategies, locally as well as globally Avoid resolution rules that introduce too many new inconsistencies Prefer resolution rules that add new model elements over rules that remove model elements Take into account, and learn, resolution rules preferred by the user other strategies? Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

27 Discussion topics Expressiveness Can all model inconsistencies be expressed? Which types of model inconsistency can be expressed? Structural? Behavioural? Can all resolution rules be expressed? Completeness Are all possible ways to resolve a particular inconsistency covered by the resolution rules? Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

28 Discussion topics Compositionality How to define resolution strategies as a composition of primitive resolution rules? Using sequencing, branching, looping constructs Taking into account the computed dependency analysis Termination Given a set of resolution rules, can we prove that it will resolve all detected inconsistencies and terminate in a finite amount of time? Rely on termination results of graph transformation? Tom Mens, Atelier sur l évolution du logiciel, Nîmes, 21 Mars

A Case Study for Program Refactoring

A Case Study for Program Refactoring A Case Study for Program Refactoring Berthold Hoffmann, Javier Pérez 2, and Tom Mens 3 Universität Bremen, Germany 2 Universidad de Valladolid, Spain 3 Service de Génie Logiciel, Université de Mons-Hainaut,

More information

Business Process Modelling Notation A tutorial

Business Process Modelling Notation A tutorial Business Process Modelling Notation A tutorial Sam Mancarella Chief Technology Officer Sparx Systems sam.mancarella@sparxsystems.com OMG SOA in Healthcare January 14, 2011 Tutorial Objectives This tutorial

More information

Rules and Business Rules

Rules and Business Rules OCEB White Paper on Business Rules, Decisions, and PRR Version 1.1, December 2008 Paul Vincent, co-chair OMG PRR FTF TIBCO Software Abstract The Object Management Group s work on standards for business

More information

Challenges in bootstrapping a model-driven way of software development

Challenges in bootstrapping a model-driven way of software development Challenges in bootstrapping a model-driven way of software development Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Current MDE technologies

More information

Model-Based Analysis of Role-Based Access Control

Model-Based Analysis of Role-Based Access Control Model-Based Analysis of Role-Based Access Control Lionel Montrieux A thesis submitted to The Open University for the degree of Doctor of Philosophy in Computing May 2013 iii Abstract Model-Driven Engineering

More information

Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France

Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France 2003 VRIJE UNIVERSITEIT BRUSSEL SCIENTIA VINCERE TENEBRAS CONSISTENCY MAINTENANCE OF UML

More information

Managing Software Evolution through Reuse Contracts

Managing Software Evolution through Reuse Contracts VRIJE UNIVERSITEIT BRUSSEL Vrije Universiteit Brussel Faculteit Wetenschappen SCI EN T I A V INCERE T ENE BRA S Managing Software Evolution through Reuse Contracts Carine Lucas, Patrick Steyaert, Kim Mens

More information

AN intrinsic property of software in a real-world environment

AN intrinsic property of software in a real-world environment IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. XX, NO. Y, MONTH 2004 1 A Survey of Software Refactoring Tom Mens, Tom Tourwé Abstract This paper provides an extensive overview of existing research in

More information

Réponse à une question de Roger Bastide Document 40

Réponse à une question de Roger Bastide Document 40 www.mauricemauviel.eu contact@mauricemauviel.eu Page 1 sur 44 www.mauricemauviel.eu contact@mauricemauviel.eu Page 2 sur 44 www.mauricemauviel.eu contact@mauricemauviel.eu Page 3 sur 44 www.mauricemauviel.eu

More information

Optimising Measurement Processes Using Automated Planning

Optimising Measurement Processes Using Automated Planning Optimising Measurement Processes Using Automated Planning S. Parkinson, A. Crampton, A. P. Longstaff Department of Informatics, School of Computing and Engineering University of Huddersfield s.parkinson@hud.ac.uk

More information

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV 140703-OOAD Computer Engineering Sem -IV Introduction to UML - UML Unified Modeling Language diagram is designed to let developers and customers view a software system from a different perspective and

More information

A Model Repository for Collaborative Modeling with the Jazz Development Platform

A Model Repository for Collaborative Modeling with the Jazz Development Platform A Model Repository for Collaborative Modeling with the Jazz Development Platform Christian Bartelt University of Clausthal christian.bartelt@tu-clausthal.de Georg Molter Zühlke Engineering GmbH Georg.Molter@zuehlke.com

More information

System Modeling Introduction Rugby Meta-Model Finite State Machines Petri Nets Untimed Model of Computation Synchronous Model of Computation Timed Model of Computation Integration of Computational Models

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

An Automatic Reversible Transformation from Composite to Visitor in Java

An Automatic Reversible Transformation from Composite to Visitor in Java An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,

More information

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective BIS 3106: Business Process Management Lecture Two: Modelling the Control-flow Perspective Makerere University School of Computing and Informatics Technology Department of Computer Science SEM I 2015/2016

More information

A Business Process Driven Approach for Generating Software Modules

A Business Process Driven Approach for Generating Software Modules A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes

More information

How To Test Automatically

How To Test Automatically Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts

More information

Model based testing tools. Olli Pekka Puolitaival

Model based testing tools. Olli Pekka Puolitaival Model based testing tools Olli Pekka Puolitaival Index 1. Software testing evolution 2. model based testing (MBT): main idea 3. MBT: step by step 4. MBT: tools 5. Questions Software testing evolution model

More information

Requirements engineering and quality attributes

Requirements engineering and quality attributes Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

CSE4213 Lecture Notes

CSE4213 Lecture Notes CSE4213 Lecture Notes Introduction to B Tools Computer Science and Software Engineering Monash University 20070226 / Lecture 1 ajh 1/15 1 Outline 2 3 4 5 ajh 2/15 In this course we will be introducing

More information

70 October 1997/Vol. 40, No. 10 COMMUNICATIONS OF THE ACM

70 October 1997/Vol. 40, No. 10 COMMUNICATIONS OF THE ACM 70 October 1997/Vol. 40, No. 10 COMMUNICATIONS OF THE ACM Because customizing real-world applications is a genuinely complex operation, developers must look beyond the seductive appeal of filling in hot

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

More information

Some Methodological Clues for Defining a Unified Enterprise Modelling Language

Some Methodological Clues for Defining a Unified Enterprise Modelling Language Some Methodological Clues for Defining a Unified Enterprise Modelling Language Michaël Petit University of Namur, Belgium, mpe@info.fundp.ac.be Abstract The need for a Unified Enterprise Modelling Language

More information

LECTURE 1. SYSTEMS DEVELOPMENT

LECTURE 1. SYSTEMS DEVELOPMENT LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics

More information

Traceability and fine-grained Constraints in interactive Inconsistency Management

Traceability and fine-grained Constraints in interactive Inconsistency Management Traceability and fine-grained Constraints in interactive Inconsistency Management Pieter Van Gorp 1, Frank Altheide 2, and Dirk Janssens 1 1 {pieter.vangorp,dirk.janssens}@ua.ac.be Department of Mathematics

More information

Semantics of UML class diagrams

Semantics of UML class diagrams 1 Otto-von-Guericke Universität Magdeburg, Germany April 26, 2016 Sets Definition (Set) A set is a collection of objects. The basic relation is membership: x A (x is a member of A) The following operations

More information

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile Modelling the Railway Control Domain rigorously with a UML 2.0 Profile Kirsten Berkenkötter Ulrich Hannemann Germany kirsten,ulrichh@informatik.uni-bremen.de Outline Outline 1. Context 2. Railway Control

More information

A NEW APPROACH TO MODEL A FORMALISED DESCRIPTION OF A COMMUNICATION SERVICE

A NEW APPROACH TO MODEL A FORMALISED DESCRIPTION OF A COMMUNICATION SERVICE A NEW APPROACH TO MODEL A FORMALISED DESCRIPTION OF A COMMUNICATION SERVICE FOR THE PURPOSE OF FUNCTIONAL TESTING Patrick Wacht, Thomas Eichelmann, Armin Lehmann, Woldemar Fuhrmann, Ulrich Trick and Bogdan

More information

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de

More information

Lecture 03 (04.11.2013) Quality of the Software Development Process

Lecture 03 (04.11.2013) Quality of the Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm...

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm... 1 Table of Contents BUSINESS RULES CONCEPTS... 2 BUSINESS RULES... 2 RULE INFERENCE CONCEPT... 2 BASIC BUSINESS RULES CONCEPT... 3 BUSINESS RULE ENGINE ARCHITECTURE... 4 BUSINESS RULE ENGINE ARCHITECTURE...

More information

Efficient and Scalable Graph View Maintenance for Deductive Graph Databases based on Generalized Discrimination Networks

Efficient and Scalable Graph View Maintenance for Deductive Graph Databases based on Generalized Discrimination Networks Efficient and Scalable Graph View Maintenance for Deductive Graph Databases based on Generalized Discrimination Networks Thomas Beyhl, Holger Giese Technische Berichte Nr. 99 des Hasso-Plattner-Instituts

More information

How To Create A Complex Diagram On A Computer Game

How To Create A Complex Diagram On A Computer Game ENTERPRISE ARCHITECT IMPORT user guide No Magic, Inc. 2013 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by

More information

EXTREME: EXecuTable Requirements Engineering, Management and Evolution. Dr. Ella Roubtsova Open University of the Netherlands

EXTREME: EXecuTable Requirements Engineering, Management and Evolution. Dr. Ella Roubtsova Open University of the Netherlands EXTREME: EXecuTable Requirements Engineering, Management and Evolution Dr. Ella Roubtsova Open University of the Netherlands Two phases of the Cognitive process Cognitive laws state that men: discover

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS

RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS Eduardo Piveta 1, Ana Morra 2, Maelo Penta 1 João Araújo 2, Pedro Guerrro 3, R. Tom Price 1 1 Instituto de Informática, Universidade

More information

A Framework for the Semantics of Behavioral Contracts

A Framework for the Semantics of Behavioral Contracts A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept

More information

A CSPm Model for the Procure to Pay Case Study

A CSPm Model for the Procure to Pay Case Study A CSPm Model for the Procure to Pay Case Study Andreas V. Hense Bonn-Rhein-Sieg University oas, Grantham-Allee 20, 53757 Sankt Augustin, Germany, andreas.hense@brsu.de Abstract. The model presented here

More information

Object Oriented Programming. Risk Management

Object Oriented Programming. Risk Management Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling

More information

Software Processes. Agile Methods

Software Processes. Agile Methods Software Processes Agile Methods Roadmap Agile Methods Agile Manifesto Agile Principles Agile Methods Agile Processes Scrum, Crystall,... Integrating Agile with Non-Agile Processes 2 Agile Development

More information

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

Modelling Workflow with Petri Nets. CA4 BPM PetriNets Modelling Workflow with Petri Nets 1 Workflow Management Issues Georgakopoulos,Hornick, Sheth Process Workflow specification Workflow Implementation =workflow application Business Process Modelling/ Reengineering

More information

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0 INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0 Email: {goliva,gerosa}@ime.usp.br / Twitter: @golivax Agenda 2 Introduction to Business Processes BPMN 1.2 Introduction Elements

More information

Business Process Modelling Languages

Business Process Modelling Languages Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Business Process Modelling Languages Paola Turci AOT Lab - DII - Università di Parma Business

More information

Supporting Software Development through Declaratively Codified Programming Patterns

Supporting Software Development through Declaratively Codified Programming Patterns Supporting Software Development through Declaratively Codified Programming Patterns Kim Mens, Isabel Michiels and Roel Wuyts Vrije Universiteit Brussel (VUB), Belgium Table of Contents Introduction Our

More information

Scenario-based Requirements Engineering and User-Interface Design

Scenario-based Requirements Engineering and User-Interface Design Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria kaindl@ict.tuwien.ac.at

More information

Process Modeling Notations and Workflow Patterns

Process Modeling Notations and Workflow Patterns Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros

More information

Using Bonds for Describing Method Dispatch in Role-Oriented Software Models

Using Bonds for Describing Method Dispatch in Role-Oriented Software Models Using Bonds for Describing Method Dispatch in Role-Oriented Software Models Henri Mühle Technische Universität Dresden Institut für Algebra Henri.Muehle@tu-dresden.de Abstract. Role-oriented software modeling

More information

Automating Business Processes Using SharePoint Designer

Automating Business Processes Using SharePoint Designer Automating Business Processes Using SharePoint Designer Jeff MacKenzie Director of Technology Edgewater Technology www.edgewater.com jmackenzie@edgewater.com Contents What is a workflow? Types of SharePoint

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 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, András Vörös, and Dániel Varró* Budapest University

More information

Reuse Contracts: Managing the Evolution of Reusable Assets

Reuse Contracts: Managing the Evolution of Reusable Assets Reuse Contracts: Managing the Evolution of Reusable Assets Patrick Steyaert, Carine Lucas, Kim Mens, Theo D Hondt Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2, 1050 Brussels, Belgium

More information

Modeling Systems - External and Internal Behavior Models

Modeling Systems - External and Internal Behavior Models Systematically Combining Specifications of Internal and External System Behavior Using Statecharts Martin Glinz Department of Informatics, University of Zurich Winterthurerstrasse 190 CH-8057 Zurich, Switzerland

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

Supporting Software Development Process Using Evolution Analysis : a Brief Survey Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada samaneh@ualberta.ca Abstract During

More information

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in

More information

Quick Guide Business Process Modeling Notation (BPMN)

Quick Guide Business Process Modeling Notation (BPMN) Quick Guide Business Process Modeling Notation (BPMN) IDM Technical Team January 2007 Quick Guide: BPMN 2 of 14 The scope of this document is to provide a quick guide to the concepts and usage of the Business

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

Process Modeling using BPMN 2.0

Process Modeling using BPMN 2.0 Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes

More information

Architecture Design & Sequence Diagram. Week 7

Architecture Design & Sequence Diagram. Week 7 Architecture Design & Sequence Diagram Week 7 Announcement Reminder Midterm I: 1:00 1:50 pm Wednesday 23 rd March Ch. 1, 2, 3 and 26.5 Hour 1, 6, 7 and 19 (pp.331 335) Multiple choice Agenda (Lecture)

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION 1.1 Research Motivation In today s modern digital environment with or without our notice we are leaving our digital footprints in various data repositories through our daily activities,

More information

An ARIS-based Transformation Approach to Semantic Web Service Development

An ARIS-based Transformation Approach to Semantic Web Service Development An ARIS-based Transformation Approach to Semantic Web Development Cheng-Leong Ang ϕ, Yuan Gu, Olga Sourina, and Robert Kheng Leng Gay Nanyang Technological University, Singapore eclang@ntu.edu.sg ϕ Abstract

More information

WS15. Workshop on Knowledge-Based Object-Oriented Software Engineering (KBOOSE)

WS15. Workshop on Knowledge-Based Object-Oriented Software Engineering (KBOOSE) WS15. Workshop on Knowledge-Based Object-Oriented Software Engineering (KBOOSE) Maja D Hondt 1, Kim Mens 2, and Ellen Van Paesschen 3 1 System and Software Engineering Lab Vrije Universiteit Brussel mjdhondt@vub.ac.be

More information

OVERVIEW OF THE PROJECT USAGE MAP. ` Four Key Improvements When Managing the Teamwork Server Repository

OVERVIEW OF THE PROJECT USAGE MAP. ` Four Key Improvements When Managing the Teamwork Server Repository ` Four Key Improvements When Managing the Teamwork Server Repository OVERVIEW OF THE PROJECT USAGE MAP SauliusPavalkis System Analyst for the MagicDraw saulius.pavalkis@nomagic.com Contents Introduction...

More information

http://www.guido.be/intranet/enqueteoverview/tabid/152/ctl/eresults...

http://www.guido.be/intranet/enqueteoverview/tabid/152/ctl/eresults... 1 van 70 20/03/2014 11:55 EnqueteDescription 2 van 70 20/03/2014 11:55 3 van 70 20/03/2014 11:55 4 van 70 20/03/2014 11:55 5 van 70 20/03/2014 11:55 6 van 70 20/03/2014 11:55 7 van 70 20/03/2014 11:55

More information

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary Workflow The automation of a business process, in whole or part, during which documents, information

More information

A Model-Based Development Process for Embedded System

A Model-Based Development Process for Embedded System A Model-Based Development Process for Embedded System Maritta Heisel and Denis Hatebur Abstract: We present a development process for embedded systems which emerged from industrial practice. This process

More information

Synthesizing Object Life Cycles from Business Process Models

Synthesizing Object Life Cycles from Business Process Models Synthesizing Object Life Cycles from Business Process Models Rik Eshuis and Pieter Van Gorp Eindhoven University of Technology P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands {h.eshuis,p.m.e.v.gorp}@tue.nl

More information

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book. * ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes

More information

Detecting and Refactoring Operational Smells within the Domain Name System

Detecting and Refactoring Operational Smells within the Domain Name System Detecting and Refactoring Operational Smells within the Domain Name System Graphs as Models (GaM) Workshop, European Joint Conferences on Theory and Practice of Software (ETAPS-15) 11,12 April 2015 Queen

More information

UML: Classes -- Association

UML: Classes -- Association UML: Classes -- Association Class1 You can indicate that two classes have an association by using a simple line connector. Class2 Web Development for Business 69 UML: Classes -- Association Class1 You

More information

The BPM to UML activity diagram transformation using XSLT

The BPM to UML activity diagram transformation using XSLT The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,

More information

Clustering and scheduling maintenance tasks over time

Clustering and scheduling maintenance tasks over time Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating

More information

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in

More information

Model Transformation by Graph Transformation: A Comparative Study

Model Transformation by Graph Transformation: A Comparative Study Model Transformation by Graph Transformation: A Comparative Study Gabriele Taentzer 1, Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Daniel

More information

Process Mining Using BPMN: Relating Event Logs and Process Models

Process Mining Using BPMN: Relating Event Logs and Process Models Noname manuscript No. (will be inserted by the editor) Process Mining Using BPMN: Relating Event Logs and Process Models Anna A. Kalenkova W. M. P. van der Aalst Irina A. Lomazova Vladimir A. Rubin Received:

More information

Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397

Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397 Ghizlane El Boussaidi http://pages.videotron.com/ghizlane/ 3207, boul. Lévesque Est Phone : (450) 661-4397 Laval, Québec, Canada email : gelboussaidi@gmail.com H7E 2P4 Citizenship: Canadian EDUCATION Ph.D.

More information

Representing Code History with Development Environment Events

Representing Code History with Development Environment Events Representing Code History with Development Environment Events Martín Dias Damien Cassou Stéphane Ducasse RMoD Inria Lille Nord Europe University of Lille Lifl Abstract Modern development environments handle

More information

IT Service Manager Agent Guide

IT Service Manager Agent Guide IT Service Manager Agent Guide Issue Training - Online Tutorials & Guides http://www.it.northwestern.edu/service-manager/ IT Service Manager Login Page https://itsm-fp.northwestern.edu/footprints/ Contents

More information

Database Design Methodology

Database Design Methodology Database Design Methodology Three phases Database Design Methodology Logical database Physical database Constructing a model of the information used in an enterprise on a specific data model but independent

More information

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects Björn Axenath, Ekkart Kindler, Vladimir Rubin Software Engineering Group, University of Paderborn, Warburger Str. 100, D-33098

More information

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

More information

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey George Chatzikonstantinou, Kostas Kontogiannis National Technical University of Athens September 24, 2012 MESOCA 12,

More information

The Best Software Testing Arie Van Deursen TU Delft, 2011

The Best Software Testing Arie Van Deursen TU Delft, 2011 Favorite Picks in Software Testing Arie van Deursen TU Delft @avandeursen Kickoff presentation Test Week Stabiplan, 2011 1 Outline 1. Background 2. Test Strategies 3. Test Week Objectives 4. Selected Strategies

More information

Using UML Part Two Behavioral Modeling Diagrams

Using UML Part Two Behavioral Modeling Diagrams UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Brief description of the paper/report. Identification

Brief description of the paper/report. Identification Brief description of the paper/report Argument Original reference A holonic framework for coordination and optimization in oil and gas production complexes E. Chacon, I. Besembel, Univ. Los Andes, Mérida,

More information

Load balancing in SOAJA (Service Oriented Java Adaptive Applications)

Load balancing in SOAJA (Service Oriented Java Adaptive Applications) Load balancing in SOAJA (Service Oriented Java Adaptive Applications) Richard Olejnik Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022)

More information

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications. Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:

More information

Umbrello UML Modeller Handbook

Umbrello UML Modeller Handbook 2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................

More information

Aspect Oriented Strategy to model the Examination Management Systems

Aspect Oriented Strategy to model the Examination Management Systems Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of

More information

Chapter 19. Activity Diagrams

Chapter 19. Activity Diagrams Use a sequence diagram if you want to emphasize the time ordering of messages. Use a collaboration diagram if you want to emphasize the organization of the objects involved in the interaction. Lay out

More information

An Automation Approach Based on Workflows and Software Agents for IPS² by

An Automation Approach Based on Workflows and Software Agents for IPS² by The 7 th CIRP IPSS Conference 21-22 May 2015 Saint-Etienne, France An Automation Approach Based on Workflows and Software Agents for IPS² by E. Uhlmann, C. Gabriel and N. Raue Presenting Author: C. Gabriel

More information

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Adaptation of the ACO heuristic for sequencing learning activities

Adaptation of the ACO heuristic for sequencing learning activities Adaptation of the ACO heuristic for sequencing learning activities Sergio Gutiérrez 1, Grégory Valigiani 2, Pierre Collet 2 and Carlos Delgado Kloos 1 1 University Carlos III of Madrid (Spain) 2 Université

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

From Workflow Design Patterns to Logical Specifications

From Workflow Design Patterns to Logical Specifications AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software

More information