Constraint-Based Workflow Models Change Made Easy! Maja Pesic Helen Schonenberg Natalia Sidorova Wil van der Aalst Eindhoven University of Technology.

Slides:



Advertisements
Similar presentations
DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,
Advertisements

Transformation of an ER Model into a Relational Database Schema Translating to Software.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Operating Systems Lecture Notes Deadlocks Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
An EHR based methodology for Concurrency management Arvind (with Asif Khan) Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.
Process Mining in the Context of Web Services Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands.
Towards a DecSerFlow mapping to SCIFF Federico Chesani, Paola Mello, Marco Montali, Sergio Storari.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
1 Important issues for the future Adaptive and interorganizational workflows Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Planning and Scheduling. 2 USC INFORMATION SCIENCES INSTITUTE Some background Many planning problems have a time-dependent component –  actions happen.
A university for the world real R © 2009, Chapter 6 Declarative Workflow Maja Pesic Helen Schonenberg Wil van der Aalst.
Monitoring and Control
Mining Declarative Models using Intervals Jan Martijn van der Werf Ronny Mans Wil van der Aalst.
Process Mining in CSCW Systems All truths are easy to understand once they are discovered; the point is to discover them. Galileo Galilei ( )
What is workflow?  A workflow is a structured way of defining and automating structures and procedures within an organization. What is workflow management.
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
1 From Requirements via Colored Workflow Nets to an Implementation in Several Workflow Systems R.S. Mans – TU Eindhoven W.M.P van der Aalst – TU Eindhoven.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Process Mining: Discovering processes from event logs All truths are easy to understand once they are discovered; the point is to discover them. Galileo.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction.
Describing Syntax and Semantics
Internet, 16 July 2014 Predica bag of (FIM)tricks Tomasz Onyszko
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
Lecture 3: Writing the Project Documentation Part I
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Test Design Techniques
A university for the world real R © 2009, Chapter 23 Epilogue Wil van der Aalst Michael Adams Arthur ter Hofstede Nick Russell.
Cs205: engineering software university of virginia fall 2006 Semantics and Specifying Procedures David Evans
A university for the world real R © 2009, Chapter 18 Process Configuration Florian Gottschalk Marcello La Rosa.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Soundness problem for Resource-Constrained Workflow nets revisited Natalia Sidorova and Christian Stahl.
CSE 308 Software Engineering Software Engineering Strategies.
A university for the world real R © 2009, Chapter 21 YAWL4Healthcare Ronny Mans Wil van der Aalst Nick Russell Arnold Moleman Piet.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications.
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland.
C Functions Three major differences between C and Java functions: –Functions are stand-alone entities, not part of objects they can be defined in a file.
Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems.
Distributed Programming Concepts and Notations. Inter-process Communication Synchronous Messages Asynchronous Messages Select statement Remote procedure.
Debugging Computer Networks Sep. 26, 2007 Seunghwan Hong.
Inheritance Revisited Other Issues. Multiple Inheritance Also called combination--not permitted in Java, but is used in C++ Also called combination--not.
1 Modeling workflows : The organizational dimension and alternative notations. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
BTS730 – Systems Analysis and Project Management Cost Management.
(c) University of Washington10-1 CSC 143 Java Errors and Exceptions Reading: Ch. 15.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
A university for the world real R © 2009, Chapter 12 The Declare Service Maja Pesic Helen Schonenberg Wil M.P. van der Aalst.
Software Development Cycle From Wikipedia: fe-cycle
CSCE 240 – Intro to Software Engineering Lecture 3.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
Andrés Jiménez Ramírez Quivir Research Group University of Seville.
Command Pattern. Intent encapsulate a request as an object  can parameterize clients with different requests, queue or log requests, support undoable.
1 Queensland University of Technology, Brisbane, Australia
SysML v2 Formalism: Requirements & Benefits
Paper Prototyping.
UML State machine diagram
CSE 3302 Programming Languages
Wil van der Aalst Eindhoven University of Technology
Workflow Management Systems: Functions, architecture, and products.
Wil van der Aalst Eindhoven University of Technology
Workflow Management Systems: Functions, architecture, and products.
Presentation transcript:

Constraint-Based Workflow Models Change Made Easy! Maja Pesic Helen Schonenberg Natalia Sidorova Wil van der Aalst Eindhoven University of Technology

support control flexibility Workflows, what people want...

Classical trade-off "do whatever you want but get no support" "support but no flexibility"

Three types of flexibility Defer (decide to decide later) –deferred choice –late binding (e.g., worklets) Change (decide to change model) –ad-hoc change –evolutionary change Deviate (decide to ignore model) –skip –redo –swap

Typical approach: procedural language + change Changes: ad-hoc (one instance) and evolutionary (whole process). Attempts to combine the best of both worlds. Supported by smart/mature systems like ADEPT. Problems: –Users cannot model! –Difficult to support. dynamic change bug

?

An alternative approach based on constraints...

Basic idea Declarative notation (e.g., ConDec, DecSerFlow) LTL semantics

Example: "existence response" OK: –[ ] –[A,B,C,D,E] –[A,A,A,C,D,E,B,B,B] –[B,B,A,A,C,D,E] –[B,C,D,E] NOK –[A] –[A,A,C,D,E]

Example: "response" OK: –[ ] –[A,B,C,D,E] –[A,A,A,B,C,D,E] –[B,B,A,A,B,C,D,E] –[B,C,D,E] NOK –[A] –[B,B,B,B,A,A]

Example: "precedence" OK: –[ ] –[A,B,C,D,E] –[A,A,A,C,D,E,B,B,B] –[A,A,C,D,E] NOK –[B] –[B,A,C,D,E]

DECLARE

Model with constraints –(C.1) Always start with activity register client data. –(C.2) Activity bill must be executed at least once. –(C.3) Every room service must be billed. –(C.4) Every laundry service must be billed. –(C.5) If the client checks-out- she/he must be charged. –(C.6) Sometimes it is recommended that additional cleaning is also be billed. (---optional---)

constraints can be: –mandatory imposed by DECLARE can be fulfilled or temporarily violated –optional used as warnings for users can be fulfilled or temporarily violated or permanently violated at the end of the execution all mandatory constraints have to be fulfilled

(a) initial state (b) after "register client data" (c) after "room service"(d) after "bill"

Change Made Easy.... Flexibility

Three types of flexibility revisited Defer (decide to decide later) Change (decide to change model) Deviate (decide to ignore model)

Defer (decide to decide later) Try to model this is your favorite business process modeling tool!

Change (decide to change model) pray to become holy Jane: curse, curse, pray, curse Mike: pray, become holy, pray Tracy: become holy, pray

Deviate (decide to ignore model) soft versus hard constraints (levels/warnings) optional

Conclusion DECLARE supports different types of flexibility in a natural way: –Defer (decide to decide later) –Change (decide to change model) –Deviate (decide to ignore model) Avoids problems such as the dynamic change bug and can deal with situations where users will not change models. Fully implemented and integrated with ProM and YAWL. See vdaalst.com for papers and is.tm.tue.nl/staff/mpesic/declare.htm for software.