360 likes | 510 Views
Customer. Logistics. Bank. HR System. Supplier. eComm. CRM. ERP. Querying Business Processes Under Models of Uncertainty. Daniel Deutch, Tova Milo Tel-Aviv University. Introduction & Motivation External Events Partial Tracing Related and Future work. Outline.
E N D
Customer Logistics Bank HR System Supplier eComm CRM ERP Querying Business Processes Under Models of Uncertainty Daniel Deutch, Tova Milo Tel-Aviv University
Introduction & Motivation External Events Partial Tracing Related and Future work Outline Querying BPs Under Models of Uncertainty
Introduction & Motivation External Events Partial Tracing Related and Future work Outline Querying BPs Under Models of Uncertainty
Web-based Business Processes are very popular Querying possible \ likely execution flows of such applications Allows for optimization, personalized ads, improved business logic,… Queries over specification structure Database approach to specification analysis Introduction and Motivation Querying Business Process Querying BPs Under Models of Uncertainty
Introduction and Motivation Example BP Querying BPs Under Models of Uncertainty
BP specifications are compiled to running code Modeled as nested DAGs Each DAG corresponds to a function\web-page Node pairs model activities activation and completion Edges mark flow relation Atomic/compound activities Nesting models implementation relations \ links Guarding formulas (on external events) model choices Recursion is allowed Introduction and Motivation BP Specifications Querying BPs Under Models of Uncertainty
$searchType = “flights+hotels+cars” $searchType = “flights only” $searchType = “flights + hotels” chooseTravel chooseTravel Login Login … F1 Login Login $airline=“AL” … Flights Advertise Flights $airline=“BA” Flights Advertise Flights Advertise $hotel=“CrownePlaza” … Advertise … $airline=“AF” Hotels Confirm $choice=“confirm” … Hotels Confirm … $hotel=“Marriott” Confirm $choice=“reset” … F1 Confirm F2 F4 F3 Introduction and Motivation Example Specification Querying BPs Under Models of Uncertainty
A a specific run is called an EX-flow Describes activities that occurred in practice + their flow relation Obtained from a BP by choosing one implementation for each compound activity Zoom-in edges connect implementations to activation and completion nodes of the corresponding compound activity Execution trace (Ex-trace) is the log recorded for an EX-flow Traces size for a given BP may be unbounded Introduction and Motivation Execution Flow Querying BPs Under Models of Uncertainty
07:00 chooseTravel $searchType=“flight only” 07:02 Login Login 07:04 07:05 Advertise Flights $airline = “BA” 07:10 Advertise ... 07:30 Flights 07:40 $choice = “confirm” Confirm 07:41 ... 07:42 Confirm 07:43 chooseTravel Introduction and Motivation Example Execution Flow Querying BPs Under Models of Uncertainty
External Effects, such asuser choices, server response time, etc. Partial Tracing, due to lack of storage, confidentiality, etc. Thus the past is uncertain, and the future unknown Introduction and Motivation Sources of Uncertainty Querying BPs Under Models of Uncertainty
Introduction & Motivation External Events Partial Tracing Related and Future work Outline Querying BPs Under Models of Uncertainty
Even when traces of past executions are known, future executions are hard to predict The effect of external events is modeled by logical formulas, guarding implementations At run-time, formulas’ truth values determines the chosen implementations External Events Uncertainty Querying BPs Under Models of Uncertainty
Example queries: What is the possible behavior (flow) for users that do not finalize their reservation? Which hotels can be reserved by British Airways fliers? The set of all EX-flows conforming to a query may be large (possibly infinite) But some are more interesting than others… External Events TOP-K most likely EX-flows Querying BPs Under Models of Uncertainty
We define likelihood of EX-flows Then find the top-k most likely out of these conforming to a query (TOP-K-MATCHES) What is the typical behavior (flow) for users that do not finalize their reservation? Which hotels are preferred by British Airways fliers? TOP-K answers reflect common usage patterns External Events TOP-K likely EX-flows (cont.) Querying BPs Under Models of Uncertainty
Execution patterns Intuitive, similar in structure to execution traces Seek for occurrences (homomorphism) of the pattern within (any) trace’s sub-graph May contain transitive nodes and edges May contain a projection part External Events Query language Querying BPs Under Models of Uncertainty
chooseTravel Start Start Flights chooseTravel $Airline = “BA” Flights chooseTravel Hotels chooseTravel Any chooseTravel Any Hotels Confirm Confirm chooseTravel External Events Example Query Querying BPs Under Models of Uncertainty
We distinct three classes of distributions, according to their level of dependency Memory-less (markovian): no dependencies between formulas. Bounded-memory: dependency in(at most) B last values of each formula. General External Events Distribution Classes Querying BPs Under Models of Uncertainty
$searchType = “flights+hotels+cars” $searchType = “flights only” $searchType = “flights + hotels” chooseTravel chooseTravel Login Login … F1 Login Login $airline=“AL” … Flights Advertise Flights $airline=“BA” Flights Advertise Flights Advertise $hotel=“CrownePlaza” … Advertise … $airline=“AF” Hotels Confirm $choice=“confirm” … Hotels Confirm … $hotel=“Marriott” Confirm $choice=“reset” … F1 Confirm F2 F4 F3 External events Our Example Specification Querying BPs Under Models of Uncertainty
External Events Distribution Querying BPs Under Models of Uncertainty
For memory-less distribution, we find the TOP-K matches in PTIME (data complexity) [compute a compact representation of output] For bounded-memory distributions, NP-completeness in the data size, but we give powerful heuristics In all settings, NP-completeness in the query size For general distributions, we show undecidability External Events Results Querying BPs Under Models of Uncertainty
For memory-lessdistributions, Dynamic Programming algorithm Gradually computes a table holding the i’th most probable trace rooted at any activity Implemented with satisfactory performance External Events Algorithms (intuition) Querying BPs Under Models of Uncertainty
For bounded-memory, we build a memory-less BP where activity is a “state”, holding all relevant information for future computations. This “explodes” exponentially the number of compound activity names. Optimizations utilize conditional independencies between formulas. Compute approximation of “actual memory”, and maintain only that. External Events Algorithms (intuition, cont.) Querying BPs Under Models of Uncertainty
Introduction & Motivation External Events Partial Tracing Related and Future work Outline Querying BPs Under Models of Uncertainty
Partial Tracing, due to lack of storage, confidentiality,… Naïve tracing records all activities accurately Semi-Naïve tracing contains only partial information on the names of some activities Selective tracing may omit some activities occurrences Tracing systems (called types) are represented by a renaming function and a deletion set Partial Tracing Types of Partial Traces Querying BPs Under Models of Uncertainty
Trip Luxury Luxury Trip Search Search Search Search Hotel Credit1 Flight Credit1 LuxHotel Credit2 LuxFlight Credit2 Hotel Credit1 Flight Credit1 LuxHotel Credit2 LuxFlight Credit2 Print Print Print Print Partial Tracing Example BP Querying BPs Under Models of Uncertainty
Partial Tracing Naïve Traces Trip Trip Luxury Search Search Search Search LuxHotel LuxFlight Hotel Flight Credit2 Credit1 Credit2 Credit1 Credit2 Credit1 Credit2 Credit1 LuxHotel Hotel LuxFlight Flight Print Print Print Print Luxury Trip Trip Querying BPs Under Models of Uncertainty
Partial Tracing Semi-Naïve Traces Trip Trip Luxury Search Search Search Search Hotel Flight Hotel Flight Credit Credit Credit Credit Credit Credit Credit Credit Hotel Hotel Flight Flight Print Print Print Print Luxury Trip Trip Querying BPs Under Models of Uncertainty
Partial Tracing Selective Traces Trip Trip Search Search Search Search Hotel Flight Hotel Flight Credit Credit Credit Credit Credit Credit Credit Credit Hotel Hotel Flight Flight Print Print Print Print Trip Trip Querying BPs Under Models of Uncertainty
VLDB sneak preview… Type inference: Given an input type and a query over its traces, infer a type representing exactly the qualifying traces Type checking: Given also an output type, verify that the qualifying traces conform to it Practical motivation stems from optimization of queries over execution traces repositories Partial Tracing Type Inference & Checking Querying BPs Under Models of Uncertainty
Type Inference Impossible with only naïve tracing Possible, but with exponential blowup for semi-naïve tracing systems In PTIME for selective tracing systems Type Checking NP-hard and solvable in EXPTIME for naïve and semi-naïve tracing systems Undecidable for selective tracing systems Partial Tracing Complexity Querying BPs Under Models of Uncertainty
Selective tracing is “ideal” for type inference Other methods should be considered for type checking Partial Tracing Practical Implication Querying BPs Under Models of Uncertainty
Given a partial trace, what is its most likely origin? Or, more generally, given a pattern (query) of partial traces, what are the most likely origins of partial traces of this pattern ? Good news: All query evaluation algorithms extend to this context (even without knowing the tracing system…) Partial Tracing Lets talk about (top-k) queries Querying BPs Under Models of Uncertainty
Introduction & Motivation External Events Partial Tracing Related and Future work Outline Querying BPs Under Models of Uncertainty
(Probabilistic) Recursive State Machines with temporal logic as query language Probabilistic Relational DBs Probabilistic XML Graphgrammars with MSO (or FO) as query language BP and Web applications mining Related & Future Work Related work Querying BPs Under Models of Uncertainty
Practical applications: Web-sites design On-line advertisements Improved business logic Enriched Query Language Joins Data values Projection queries with further aggregation functions Distribution Optimization Efficient Type checking under some restrictions Inference of specifications/probability distributions Related & Future Work Future work Querying BPs Under Models of Uncertainty