Extending ASSL: Making UML Metamodell-based Workflows executable © 2010 University of Rostock | Department of Computer Science Jens Brüning, Andreas Wolff.

Slides:



Advertisements
Similar presentations
1 Mireille Blay-Fornarino – 2007/2008 EPU département SI, Master STIC Survol de Object Constraint Language & IDM À partir du cours Contracts, Patterns.
Advertisements

Workflow Mining: Concepts and Algorithm Dr. Boleslaw Mikolajczak.
University of Rostock 1 CADUI' June FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.
By Karen Richart. The Object Constraint Language (OCL)  Formal specification language that could be used for constraining the model elements that occur.
OCL2 April A presentation of OCL 2 Object Constraint Language Christian Hein, Fraunhofer FOKUS April 2006.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Towards Workflow Pattern Support of Event-Driven Process Chains (EPC) Jan Mendling, Gustaf Neumann Dept. of IS and New Media, WU Wien, Austria Markus Nüttgens.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Consistency, Independence and Consequences in UML and OCL Models Martin Gogolla, Mirco Kuhlmann, Lars Hamann University of Bremen Computer Science Department.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
BUSINESS MODELING BY UML PROFILE VISA ISSUING SYSTEM Dražen Brđanin, Slavko Marić Faculty of Electrical Engineering Banja.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
Detail Design Extending UML and Object Design. Object Design.
Methodologies for Web Information System Design
Software Engineering I Object-Oriented Design
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Computer Science and Engineering Dae-Kyoo Kim Pooja Mehta.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
SEG4110 – Advanced Software Engineering and Reengineering TOPIC E Object Constraint Language (OCL)
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
1 On to Object Design Chapter 14 Applying UML and Patterns.
UML Profile to Support Requirements Engineering with KAOS Presented by Chin-Yi Tsai.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
111 Writing Protocols in OCL CS 4311 Jos B. Warmer and Anneke G. Kleppe, OCL: The Constraint Language of the UML, JOOP, May Jos B. Warmer and Anneke.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Interaction diagrams and activity diagrams Speaker: 陳 奕 全 Real-time and Embedded System Lab 15 August 2002.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
CS551 - Lecture 8 1 CS551 Modelling with Objects (Chap. 3 of UML) Yugi Lee STB #555 (816)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
IM NTU Software Development Methods, Fall2006 Software Development Methods, Fall 2006 OCL 2006/12/ Object Constraint Language (OCL) Yih-Kuen Tsay.
Jairson Vitorino, Cin UFPE May, 2nd 2005
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
System Monitoring using Constraint Checking as part of Model Based System Management 2007 Monitoring using Constraint Checking as part.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
UML Review: State Machines. Sept. 17, 2003Lecture 5: CS660 Fall Overview States Transitions Activities Modeling object lifeline Creating well-structured.
Page 1, CBSE – graduate course Specification of Software Components Frank Lüders Mälardalen University, Dept. of Computer Engineering
Presentation of a paper on “Model-based Software Testing”
Business process management (BPM)
Instructor: Dr. Hany H. Ammar
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Business process management (BPM)
Communication DIAGRAM
Systems Analysis and Design With UML 2
Modeling the OCL Standard Library
University of Central Florida COP 3330 Object Oriented Programming
Unified Modeling Language
Communication Diagrams
Introduction to UML.
Communication DIAGRAM
The Object Constraint Language
Object Constraint Language (OCL)
Workflow Mining: Concepts and Algorithm
Formal Methods in Software Engineering 1
Presentation transcript:

Extending ASSL: Making UML Metamodell-based Workflows executable © 2010 University of Rostock | Department of Computer Science Jens Brüning, Andreas Wolff Rostock University (Germany) Department of Computer Science Lars Hamann Bremen University (Germany) Department of Computer Science OCL /29/2011

2 Overview of this talk 1.Concept of a new metamodel-based approach for workflows Short introduction to workflow modeling The metamodel for workflows Creating workflow models with USE (with static properties checks) 2.Executing workflow models with USE Short introduction to ASSL and its extensions Using ASSL to implement execution semantics for the workflow models Workflow plugin for USE (testing dynamic properties) 3.Summary © 2010 University of Rostock | Department of Computer Science 06/29/2011

3 1. Short introduction to process modeling Process modeling languages for documentation and requirements engineering Event-driven Process Chains UML Activity Diagrams Business Process Modeling Notation (BPMN) The UML metamodel-based approach Uses UML class and state diagrams and OCL for the metamodel UML object and sequence diagrams for process models and process instances © 2010 University of Rostock | Department of Computer Science06/29/2011

4 1. The metamodel for workflows (class diagram) © 2010 University of Rostock | Department of Computer Science06/29/2011

5 1. The metamodel for workflows (state diagrams) State diagram for modeling object life cycles of Activity and Iteration State diagram expressed by OCL pre- and postconditions context Activity::start() pre isWaiting: state=#waiting post isRunning: state=#running © 2010 University of Rostock | Department of Computer Science Life cycle for class Activity 06/29/2011

6 1. The metamodel for workflows (OCL contraints) OCL invariants are used to define the execution semantics in the metamodel Sequence relationship (WCP1) context Activity inv seqActivity: let activities:Set(Activity) = pred.oclAsType(Activity)->select(isDefined)->asSet in let ops:Set(Group) = pred.oclAsType(Group)->select(isDefined)->asSet in self.state = #running implies activities->union(ops.activity)->forAll(state=#done or state=#skipped) OCL invariants to assure structural properties (e.g. no deadlocks) Context FlowObject inv noSeqCycles: self.getPredObjects(oclEmpty(Set(FlowObject)))->excludes(self) FlowObject :: getPredObjects(act:Set(FlowObject)):Set(FlowObject)= let newElems:Set(FlowObject)=self.pred - act in if newElems->isEmpty() then act else newElems->collect(getPredObjects(act->union(newElems))) ->asSet()->union(act) endif © 2010 University of Rostock | Department of Computer Science06/29/2011

7 1. Modeling processes with the new approach Differences between UML AD and the metamodel-based approach Sequence (WCP 1) Choice (WCP 4) Concurrency (WCP 2) AB B C B C © 2010 University of Rostock | Department of Computer Science Activity DiagramMetamodel approach 06/29/2011

8 More advanced relationships can be expressed easily by declarative OCL expressions Interleaved Parallel Routing (Workflow Pattern 17) –Execute a number of activities in any order, but do not execute any of these at the same time / simultaneously Parallel relationship –For example for modeling assistance or observation activities B C Set{B,C} ->select(state=running) ->size<=1 1. Modeling processes with the new approach B C B.state=C.state © 2010 University of Rostock | Department of Computer Science06/29/2011

9 Processes, Activities and temporal relations can be modeled by drag and drop in USE 1. Modeling processes with USE © 2010 University of Rostock | Department of Computer Science06/29/2011

10 Hospital emergency process modeled in USE 1. Modeling processes with USE © 2010 University of Rostock | Department of Computer Science06/29/2011

11 ASSL implements large parts of the UML action semantics –Object creation and deletion –Link creation and deletion –Setting attributes –OCL expressions can be integrated in the ASSL expressions Special ASSL commands to find valid snapshots – Try and Any – try to find valid snapshot semi-automatically –If no valid state was found the ASSL procedure returns without results Newly implemented ASSL commands –Calling procedures: ASSLCall ( ); –Entering operations with pre-condition checks: OpEnter ( ); –Exiting operations with post-condition checks: OpExit ; 2. Short introduction to ASSL and its extensions © 2010 University of Rostock | Department of Computer Science06/29/2011

12 ASSL implementation of the imperative parts of the workflow metamodel 2. Execution semantics for the workflow models © 2010 University of Rostock | Department of Computer Science procedure start(a:Activity) var setA:Set(Activity); begin -- checking precondition of operation OpEnter [a] start(); -- changing state to running [a].state:=[#running]; for gr:Group in [a.group->asSequence] begin -- skipping all deferred choice activities if [gr.oclIsTypeOf(DeferredChoice)] then begin setA := [gr.activity ->select(a2|a2.state=#waiting)]; for a2:Activity in [setA->asSequence] begin ASSLCall skip([a2]); end; -- starting all parallel activities if [gr.oclIsTypeOf(Parallel)] then begin setA := [gr.activity->select(a2| a2<>a and a2.state<>#running)]; for a2:Activity in [setA->asSequence] begin ASSLCall start([a2]); end; end; end;... OpExit ; end 06/29/2011

13 Dynamic properties of the process models can be tested with the workflow plugin in USE The interface of Activities is provided by the buttons start, finish, skip and fail Activity execution states are expressed by the color (e.g. blue = running ) Workflow plugin provides different views on the workflow instance 2. Workflow plugin for USE © 2010 University of Rostock | Department of Computer Science Extended viewWorklist view 06/29/2011

14 2. Workflow plugin for USE Process scenario is logged by an UML sequence diagram in USE 06/29/2011© 2010 University of Rostock | Department of Computer Science

15 A UML metamodel for workflow models with declarative execution semantics was presented Some temporal relations could be expressed easier than in traditional modeling languages Creating process models in USE was demonstrated ASSL as language for workflow execution was introduced Process execution with USE Workflow Plugin was presented 3. Conclusion 06/29/2011© 2010 University of Rostock | Department of Computer Science

16 Thank you very much for your attention! Any questions? 06/29/2011© 2010 University of Rostock | Department of Computer Science