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.