Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Wolfgang Runte Software Engineering Research Group Institute.

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Heuristic Search techniques
Constraint Satisfaction Problems Russell and Norvig: Chapter
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Timed Automata.
Chapter 4 Quality Assurance in Context
Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data.
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Programming Fundamentals (750113) Ch1. Problem Solving
Constraint Satisfaction Problems
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Chapter 5 Section 1 – 3 1.  Constraint Satisfaction Problems (CSP)  Backtracking search for CSPs  Local search for CSPs 2.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
Static Program Analysis of Embedded Software Ramakrishnan Venkitaraman Graduate Student, Computer Science Advisor: Dr. Gopal Gupta
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Grand Challenge:
CHAPTER 5 SECTION 1 – 3 4 Feb 2004 CS Constraint Satisfaction 1 Constraint Satisfaction Problems.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1. 2 Outline of Ch 4 Best-first search Greedy best-first search A * search Heuristics Functions Local search algorithms Hill-climbing search Simulated.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Roman Barták (Charles University in Prague, Czech Republic) ACAT 2010.
1 Constraint Satisfaction Problems (CSP). Announcements Second Test Wednesday, April 27.
Enhancing Business Process Management with a Constraint-Based Approach Wolfgang Runte Software Engineering Research Group Institute of Computer Science.
Wolfgang Runte Slide Marwane El Kharbili Wolfgang Runte University of Osnabrueck Institute of Computer Science Software Engineering Research.
Modelling and Solving Configuration Problems on Business
Elaboration popo.
Software Testing.
Software Project Configuration Management
OPERATING SYSTEMS CS 3502 Fall 2017
Algorithms and Problem Solving
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The Development Process of Web Applications
Debugging Constraint Models with Metamodels and Metaknowledge
Objectives State the reasons for the complexity involved in the development of software Define the following terms Objects Classes Messages Methods Explain.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
About the Presentations
CS 188: Artificial Intelligence
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Objective of This Course
Verification and Validation Unit Testing
Model Checking for an Executable Subset of UML
Programming Fundamentals (750113) Ch1. Problem Solving
KNOWLEDGE REPRESENTATION
Constraint Satisfaction Problems
Analysis models and design models
Artificial Intelligence
Chapter 11: Software Configuration Management
Algorithms and Problem Solving
Constraint satisfaction problems
CS 8520: Artificial Intelligence
Constraint Satisfaction Problems
Constraint Satisfaction Problems (CSP)
Presentation transcript:

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Wolfgang Runte Software Engineering Research Group Institute of Computer Science University of Osnabrueck P.O. Box 4469, Osnabrueck, Germany Formalizing Dependencies in Business Process Models Using Constraint Satisfaction Leipzig – INFORMATIK 2010 Workshop on Protocol based modelling of business interactions (PBMBI-GI'10) September 30, 2010

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic Use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 1. Introduction Management of dependencies in business process models  Modelling process models is a task of permanent change.  Like all modeling tasks errors may occur by human failure.  Problems: Process models are incomplete. Different modelers acting on the same process model.  Result: Process models may be inconsistent.  Inconsistencies should be discovered in an early stage of modelling. Reduction in time and cost for process maintenance. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 1. Introduction Quality assurance (QA) for business process models:  simulation of process models  defining input/output data for running tests  detecting inconsistencies during simulation should be efficient... Inconsistencies during live operations should result in:  notification and/or  pre-defined regular operations to deal with the inconsistency Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 1. Introduction Idea to handle inconsistencies:  Modeling known dependencies into the process model.  A solver component will efficiently check this dependencies. During modeling, simulation and in live operations the solver component may alert in case of inconsistencies. Idea:  Formalizing the dependencies in business processes explicit as constraints.  Solver component will use Constraint Satisfaction to check for inconsistencies. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic Use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 2. Consistent Business Processes with Constraint Satisfaction Check for consistencies in business processes with methods out of the field of Artificial Intelligence (AI). Constraint Satisfaction  Knowledge-based Configuration: using Constraint Satisfaction to model complex relations between (attributes of) components. Constraints as relations between (attributes of) processes:  for the (early) detection of inconsistencies  algebraic constraints: intensional relations → equations/inequations  temporal operators to define temporal relations between processes  any other operator who seems to be useful... Constraint Satisfaction:  Characteristic: Propagation of changes throughout a “constraint net”.  Techniques for the handling of combinatorial and numerical problems. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 2. Consistent Business Processes with Constraint Satisfaction A Constraint Satisfaction Problem (CSP) is a triple CSP(V,D,C): V = {v 1,...,v n } a finite set of variables D = {D 1,..., D n } associated value domains {v 1 : D 1,...,v n : D n } C a finite set of constraints c i (V i ), i  {1,..., m}, with c i (V i ) to set the subset V i = {v i 1,..., v i k }  V in relation, solution space for c i (V i ): {D i 1 ...  D i k } Example:  Variables: a and b each with the value domain {0,1,2,3,4,5,6,7,8,9}  Constraints: a + b = 10 and a - b = 2  Solution: a = 6 and b = 4  Note: Besides arithmetic domains also symbolic domains are feasible. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic Use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 3. Static and Dynamic Use of Constraints Usage of constraint relations for business processes:  static use of constraints → at modeling  constraint solver will check for a consistent process model  dynamic use of constraints → at runtime (simulation or live)  constraint solver will check for consistent states of process instances Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 3. Static and Dynamic Use of Constraints Static use of constraints at modeling:  The modeler defines known static dependencies in the process model as constraints.  A constraint solver component checks efficiently for inconsistencies.  If a constraints does not hold the (current) modeler will get a notification. Dynamic use of constraints at runtime (simulation or live):  Known dependencies have to be defined in the process model.  Constraint solver checks for inconsistencies during the execution of the business processes.  Inconsistencies will result in pre-defined regular operations. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic Use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: static dependencies static structure constraints: These constraints are related to the static structure of a process model. Examples: A particular region in the process model does not allow cycles. A particular ordering has to be kept for specific processes (e.g. process “A” has to be done before process “B” is able to start). Particular processes have to get the same number of input values (e.g. they are related to the same items). Check the value domains of input/output data (e.g. “A + B = C” may be result in values for variable “C” that are not in the value domain of “C”). Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: static dependencies Graphical example for static structure constraint: (particular ordering) Formalizing Dependencies in Business Process Models Using Constraint Satisfaction customer calling take order from customer bill sent billing The constraint C1 only holds if process “take order from customer” is modelled before the process “billing” in the static process model. C1 C1: “take order from customer” BEFORE “billing”

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies dynamic structure constraints:  Also related to the structure of the process model.  Because these constraints are checked during runtime they are more flexible than static structure constraints.  Examples: Cycles can be restricted by counters, e.g. passing a process instance during runtime will increase a counter variable which is part of a constraint. By setting a maximum value for the counter it is possible to regulate these passing to a maximum number. Particular processes have to get dynamically the same number of input values which are statically not known (e.g. they are related to the same bill of cost during billing). Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies Graphical example for dynamic structure constraint: (restricted cycles) Formalizing Dependencies in Business Process Models Using Constraint Satisfaction next order C2: “counter: order” <=10 take order C2 counter: order = order+1 Constraint C2 defines that a maximum number of 10 orders is allowed.

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies input/output constraints:  These constraints are related to the input and output values of a process instance.  Examples: Quality assurance: Only items with the correct invoice number are included. The full amount of the invoice has to be below a specific value (to be executed by a specific employee). Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies Graphical example for input/output constraint: (value check) Formalizing Dependencies in Business Process Models Using Constraint Satisfaction invoice: full amount employee information: max. amount Constraint C3 holds if the employee is allowed to work on the invoice. employee C3 C3: “invoice: full amount” <= “employee information: max amount” work on invoice

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies resource constraints:  These constraints are dedicated for continuous processes respectively continuous production processes.  During continuous processes a permanent throughput is reached with specific resources.  Continuous processes are usually not embedded in a specific control flow, instead they are controlled indirectly.  If a monitored resource decreases below a defined value or raises over a defined value a specific action is taken.  Example: If the storage level of a warehouse decreases below a defined value, an ordering is triggered to get new stuff. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies Graphical example for resource constraint: (value check) Formalizing Dependencies in Business Process Models Using Constraint Satisfaction warehouse report: storage level C4 C4: “warehouse report: storage level” >= 10% IN_CONFLICT_DO_ACTION: “order” produceorder

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies temporal constraints:  Like rules in planning to plan actions temporal constraints focus on the time flow and can be used for scheduling.  Temporal Constraint Satisfaction Problem (TCSP)  Uses its own temporal logic representing temporal relations.  Here: TCSP is used for flow control instead of scheduling.  Example: A process has to be waiting until another (parallel running) process in another branch of the process model has been ended. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 4. Examples: dynamic dependencies Graphical example for temporal constraint: (waiting) Formalizing Dependencies in Business Process Models Using Constraint Satisfaction buyer supplier C5 C5: “deliver the product” NOT_START_BEFORE_ENDED “pay the bill” deliver the product Constraint C5 prevents process “deliver the product” to start before the process “pay the bill” has ended. pay the bill

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Outline of the talk: 1. Introduction 2. Consistent Business Processes with Constraint Satisfaction 3. Static and Dynamic use of Constraints 4. Examples 5. Summary & Outlook Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 5. Summary Management of dependencies in business process models. Avoiding inconsistencies in business process modeling using constraint satisfaction (static use of constraints). Avoiding inconsistencies during runtime (simulation or live operation) using constraint satisfaction (dynamic use of constraints). Categories of constraints identified representing different dependencies:  static: structure constraints  dynamic: structure constraints input/output constraints Formalizing Dependencies in Business Process Models Using Constraint Satisfaction resource constraints temporal constraints

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group 5. Outlook Case study to identify some more categories and examples of dependencies. Study the adequacy of different CSP techniques for the different categories of business process dependencies. Evaluate business process modeling tools for the integration of consistency checking constraints solvers. Implementation of a prototype. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Thank you for your attention! Questions, Ideas, Suggestions? Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Constraints, Constraint Satisfaction Problem Constraints as relations between attributes of processes:  algebraic constraints: intensional relations → equations/inequations  to reduce the possible assignments to variables (problem reduction)  for the (early) detection of inconsistencies Constraint Satisfaction Problem (CSP):  Characteristic: Propagation of changes throughout a “constraint net”.  Techniques for the handling of combinatorial and numerical problems.  In the focus of intensive research and experiences for decades.  Efficient algorithms and heuristics: reduction of the problem size/solution space efficient generation of solutions guarantee that specific relations hold Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Constraints, Constraint Satisfaction Problem X = {red, green, blue} X  YX  Z Y  Z Example of a constraint graph: map colouring problem nodes → constraint variables edges → constraints X Y Z A possible solution for this CSP: Y = {red, green, blue} Z = {red, green, blue} Formalizing Dependencies in Business Process Models Using Constraint Satisfaction

Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Multi-Level Constraint Problem Goal: Handle different levels of nested business processes. Flexibility: Different layers of processes in hierarchies define different sub-problems.  the need to define different solutions strategies,  application of problem specific solving algorithms. For each sub-problem another solution strategy can be applied depending on:  the value domain of the involved variables,  the problem structure defined by the constraint net. Integration of local solutions of sub-processes has to be done on the higher-ordered level leading to global solutions and hence globally consistent configurations. Formalizing Dependencies in Business Process Models Using Constraint Satisfaction