A Modular Representation of a Business Process Planner



Similar documents
CSC 373: Algorithm Design and Analysis Lecture 16

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison

Lecture 7: NP-Complete Problems

µz An Efficient Engine for Fixed points with Constraints

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Introduction to computer science

Introducing Formal Methods. Software Engineering and Formal Methods

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

CoNP and Function Problems

Bounded Treewidth in Knowledge Representation and Reasoning 1

Mathematics Curriculum Guide Precalculus Page 1 of 12

Introduction to Logic in Computer Science: Autumn 2006

Fixed-Point Logics and Computation

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Performance Level Descriptors Grade 6 Mathematics

The Classes P and NP

CS510 Software Engineering

CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA

[Refer Slide Time: 05:10]

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

11. APPROXIMATION ALGORITHMS

Logic in general. Inference rules and theorem proving

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Limits and Continuity

NP-Completeness and Cook s Theorem

GameTime: A Toolkit for Timing Analysis of Software

Rigorous Software Development CSCI-GA

You know from calculus that functions play a fundamental role in mathematics.

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

ALGEBRA I (Common Core)

P versus NP, and More

How To Test Automatically

ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS

2.1 Complexity Classes

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

Software Modeling and Verification

The Model Checker SPIN

Handout #1: Mathematical Reasoning

Notes on NP Completeness

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Cyclotomic Extensions

Introduction to Algorithms. Part 3: P, NP Hard Problems

Introduction to Finite Fields (cont.)

Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems

(67902) Topics in Theory and Complexity Nov 2, Lecture 7

The Division Algorithm for Polynomials Handout Monday March 5, 2012

ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS

Georgia Standards of Excellence Mathematics

2.3 Convex Constrained Optimization Problems

Notes 11: List Decoding Folded Reed-Solomon Codes

A Working Knowledge of Computational Complexity for an Optimizer

Lecture 1: Oracle Turing Machines

Lecture 2: Universality

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Generating models of a matched formula with a polynomial delay

P NP for the Reals with various Analytic Functions

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

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

Tetris is Hard: An Introduction to P vs NP

How To Write A Program Verification And Programming Book

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

How To Solve An Npa-Complete Problems With Quantum Computing And Chaotic Dynamics

Predicate Logic Review

Algebra 2 Notes AII.7 Functions: Review, Domain/Range. Function: Domain: Range:

Cassandra. References:

Testing LTL Formula Translation into Büchi Automata

Modular Communication Infrastructure Design with Quality of Service

OHJ-2306 Introduction to Theoretical Computer Science, Fall

minimal polyonomial Example

Number of hours in the semester L Ex. Lab. Projects SEMESTER I 1. Economy Philosophy Mathematical Analysis Exam

M.S. Project Proposal. SAT Based Attacks on SipHash

Alex, I will take congruent numbers for one million dollars please

What are the place values to the left of the decimal point and their associated powers of ten?

A Propositional Dynamic Logic for CCS Programs

Answer Key for California State Standards: Algebra I

DEFINABLE TYPES IN PRESBURGER ARITHMETIC

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

Classification - Examples

Optimizing Description Logic Subsumption

Schema Mappings and Data Exchange

System BV is NP-complete

NOTES ON CATEGORIES AND FUNCTORS

Reductions & NP-completeness as part of Foundations of Computer Science undergraduate course

Software Engineering using Formal Methods

Near Optimal Solutions

For example, estimate the population of the United States as 3 times 10⁸ and the

The Heat Equation. Lectures INF2320 p. 1/88

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Data Integration. Maurizio Lenzerini. Universitá di Roma La Sapienza

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Transcription:

A Modular Representation of a Business Process Planner Shahab Tasharrofi and Evgenia Ternovska School of Computing Science Simon Fraser University Canada 1st International Workshop on Knowledge-intensive Business Processes

Motivating Example: Business Process Planner (BPP) Planner works in collaboration with service providers R S P1' P2' P3' Planner P R1 S1 R2 S2 R3 S3 Provider1 Provider2 Provider3 P1 P2 P3 Planner takes a set S of services and a set R of restrictions (such as service dependencies or deadlines) and generates plan P. Each Provider i takes a subset of services S i and their restrictions R i, generates a potential plan P i and returns it to Planner. Planner takes all these partial plans and, if not satisfied with them, reconsiders service allocations or providers. However, if satisfied, it outputs plan P by combining partial plans P i.

Motivating Example: Business Process Planner (BPP) Examples of BPP: Logistics Service Provider uses transportation management systems, contracted carriers, local post, fleet management, driver dispatch, warehouse services, e-business services etc. Manufacturer Supply Chain Management uses transportation, inventory spaces, services of third party logistics (3PL) providers, which themselves depend on services provided by smaller local companies Mid-size Businesses Relying on External Web Services and Cloud Computing use data analysis services, storing, spreadsheet software (office suite), etc. All are clusters of interactive agents/modules (From Oracle s Global Adaptable Business Process Platforms)

Properties of BPP Each business entity, while interested to participate in the process, is not necessarily willing to share the information that has affected their decisions Each agent (planner, service provider) operates under incomplete information about other agents does not know internal languages and behaviour of other modules may have to deal with multiple plans generated by each external service provider deals with on-the fly changes from other modules

Our Goals Develop a framework that treats specification languages equally and independently of their internal semantics, and is able to handle incomplete information Our goal is not only to formalize, but to eventually develop a method for finding solutions to complex modular systems like the BPP

Challenges Computational Complexity: Computing individual plans is often NP-complete (e.g. Travelling Salesman Problem in Logistics) the overall computational complexity can be quite high, efficient tools are needed So, for solving, we take inspiration in how solvers for combined systems such as Satisfiability Modulo Theory (SMT) are constructed Incomplete Information: a way of handling incomplete information is needed So, for representing, we should not assume unlimited access to complete axiomatizations of the business entities involved

First Step: Theoretical Framework We need a rigorous formalization to prove correctness verify properties of solutions (give convincing arguments) to develop solving techniques to adopt existing techniques from model theory, the semantics of logic programming, SAT, SMT solving etc. Need a formal approach since want language-independence, use model theory start bottom-up, from the semantic foundations use semantic foundations in the development of logics, reasoning methods and algorithms

Model Expansion Given logic L (specification/modelling language) Model Expansion (abbreviated MX) for L Given: φ in logic L and structure A for a part of vocab(φ) Construct: an expansion of A to satisfy φ Model Expansion: solution A { }} { { }} { (A; R1 A,... Rn A, E1 B,..., Em) B } {{ } B a useful abstraction, natural formalization for search problems = φ Structure A can be seen as input data, solution part can be seen as a built-to-order artifact or process plan (non-unique)

Model Expansion (Cntd.) MX underlies what is done in many specification languages for search problems Example: Graph 3-coloring φ := x [R(x) B(x) G(x)] x [(R(x) B(x)) (R(x) G(x)) (B(x) G(x))] x y [E(x, y) ((R(x) R(y)) (B(x) B(y)) (G(x) G(y)))] σ φ = {E} ε φ = {R, G, B}

Modular Systems Now: extend the framework to represent multiple interactive modules Idea: Modular system = primitive modules + operators on modules Definition: Primitive Module M is a set of all (σ ε) structures B with σ the instance vocabulary and ε the expansion vocabulary. σ ε { }} { { }} { (A; R1 A,... Rn A, E1 B,..., Em) B } {{ } B σ is the input (can be empty) and ε the output Thus, a module is an MX task (for all possible inputs) A module can have a formula φ that axiomatizes that set of structures in some logic L, M = Mod(φ)

Example: Simple SMT Solver SAT A R L ILP L This modular system describes a simple SMT solver for the theory of Integer Linear Arithmetic. Two MX modules, SAT and ILP, work on different parts of a specification. The ILP module takes a set L of literals and a mapping M from atoms to linear arithmetic formulas. It returns two sets R and A. The SAT module takes R and A and a propositional formula F and returns set L of literals such that L makes F true. M F

Combining Modular Systems A modular system is a combination of primitive modules using the operators of: Projection: π τ (M) Composition: M 1 M 2 Union: M 1 M 2 Feedback: M[R = S], when R σ M (input of M) and S ε M (output of M) Similar to relational algebra, but with information flow A composed modular system also represents an MX task (a set of structures), just as an individual module

Example: Simple SMT Solver (Cntd) L SAT A R ILP F L Figure: Modular System Representation of an SMT Solver for the Theory of Integer Linear Arithmetic SMT := π {F,M,L} ((ILP SAT )[L = L ]) M

Business Process Planner (BPP) P1' P2' P3' R Planner S P R1 S1 R2 S2 R3 S3 Provider1 Provider2 Provider3 P1 P2 P3 Figure: Business Process Planner (BPP). Primitive modules boxes with solid borders. The compound module (dotted borders) is specified by the following algebraic expression: BPP := π {S,R,P} (Planner ((Provider 1 Provider 2 Provider 3 )[P 1 = P 1][P 2 = P 2][P 3 = P 3]))

Composable, Independent Modular Systems To define operators on modules formally, need the following definitions: Definition: based on [Järvisalo, Oikarinen, Janhunen, Niemelä, 2009] M is composable with M if ε M ε M = (outputs are distinct, no output interference) M is independent from M if σ M ε M = (output is not connected to input, no cyclic dependencies) The following definitions generalize and extend the initial development in [Järvisalo et al. 2009]

Detailed Definitions of Operations Projection(π τ (M)), B π τ (M) there exists B M s.t. B = B τ Composition(M 1 M 2, for M 1 composable with and independent from M 2 ) B (M 1 M 2 ) B vocab(m1 ) M 1 and B vocab(m2 ) M 2 Union(M 1 M 2 ), B (M 1 M 2 ) B vocab(m1 ) M 1 or B vocab(m2 ) M 2 Feedback(M[R = S], when R σ M and S ε M ), B M[R = S] B M and R B = S B

Properties of Modular Representations Module internals are invisible from the outside. Each agent can see only the inputs and outputs of other modules (black boxes) Modules communicate with each other through common vocabulary symbols Languages of other modules can be unknown to other modules. Such languages can even be old and no longer supported, as is common for legacy systems Multiple models (possible plans) are allowed Each module has hidden information and shared information

Bigger Picture: Expressive Power Why study expressive power: Capturing Property: Capture a complexity class Universal for that class (for example, FO-MX captures NP ) Limited to a complexity class Efficiency guarantee (for example, polytime reducibility guarantee for NP) Theorem: Capturing NP The following are equivalent: K is in NP, K is the models of a modular system where all primitive modules M are σ M -ε M -deterministic, σ M -total, σ M -vocab(k)-ε M -anti-monotone, and polytime solvable, K is the models of a modular system with polytime checkable primitive modules.

Solving Goal: Given a modular system and its inputs, want an algorithm that finds a solution to (or a model of) the given modular system Investigated solving algorithms in combined systems, SMT (DPLL(T)) algorithm, ASP+CP, ILP, etc. a general algorithm [Tasharrofi,Wu,T: WLP:2011] Some common principles. Can be applied to solving modular systems!

Solving SAT A R L ILP two kinds of propagation work interactively propositional satisfiability (SAT) and theory propagation L M F partial structures, add more information during computation oracles (similar to solvers/propagators used in SMT) structures or unstructured generic, for arbitrary theories in a specific logic module-specific (can even be a human expert) in collaboration with process oracles, our algorithm constructs a process plan

Summary of Ideas A model-theoretic approach: language independence Model Expansion: process and data integration? (input databases expanded to process plans) global structure of modular system artifact service container??? Computational methods used in the design of efficient SMT (and similar) solvers can be applied to the problem of interactive generation of a model of a modular system Consequences: shared data, hidden data, communication through common vocabulary SMT-like solving (interaction of modules)

Example: Business Process Planner (BPP) A plan for each item should: (1) start at the source and end at the destination: i Items (P(i) = c 0,, c n c 0 = s(i) c n = d(i)), (2) arrive at the destination sooner than their latest delivery time: i Items (P(i) = c 0,, c n at(i, n) t(i)), (3) pass through cities which are connected to each other: i Items (P(i) = c 0,, c n j [1, n] (connected(c j 1, c j )), (4) respect time constraints, i.e., be picked up at a city after they have arrived at that city: i Items (P(i) = c 0,, c n j [0, n] (pt(i, j) at(i, j))), (5) respect the distance between cities:...

Properties This is a structured process We say that a plan P is good for a set of services S and restrictions R if P does all services in S and satisfies all restrictions in R. Notation: Good(P, S, R). Definition [Intended Solutions] Structure B is an intended solution of BPP if: P B is good for S B and R B, i.e., B = Good(P, S, R), All atomic actions A of P B are doable by one of the n providers. PROPOSITION [Correctness] Structure B is in modular system BPP iff B is an intended solution of BPP.

Future Work design algorithms for solving modular systems, including methods to approximate solutions develop techniques for data management design embedded modular framework to deal with arithmetic and other external functions (our previous work is applicable) add preference handling look into combining general process planning with the situation calculus, IndiGolog, continuous planning

Thank you for your attention!

Matti Järvisalo, Emilia Oikarinen, Tomi Janhunen, and Ilkka Niemelä. A module-based framework for multi-language constraint modeling. In Esra Erdem, Fangzhen Lin, and Torsten Schaub, editors, Logic Programming and Nonmonotonic Reasoning, volume 5753 of Lecture Notes in Computer Science, pages 155 168. Springer Berlin / Heidelberg, 2009.