Download presentation
Presentation is loading. Please wait.
Published byRolf Morgan Modified over 9 years ago
1
Querying Business Processes Under Models of Uncertainty Daniel Deutch, Tova Milo Tel-Aviv University ERP HR System eComm CRM Logistics Customer Bank Supplier
2
Querying BPs Under Models of Uncertainty2 Outline Introduction & Motivation External Events Partial Tracing Related and Future work
3
Querying BPs Under Models of Uncertainty3 Introduction & Motivation External Events Partial Tracing Related and Future work Outline
4
Querying BPs Under Models of Uncertainty4 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 Querying Business Process Introduction and Motivation
5
Querying BPs Under Models of Uncertainty5 Example BP Introduction and Motivation
6
Querying BPs Under Models of Uncertainty6 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 BP Specifications Introduction and Motivation
7
Querying BPs Under Models of Uncertainty7 Example Specification Introduction and Motivation F1 F3 F2 chooseTravel F4 … $searchType = “flights only” Confirm $searchType = “flights + hotels” $searchType = “flights+hotels+cars” … … $airline=“BA” Login Flights Advertise Confirm $airline=“AF” Confirm Login Flights Advertise Confirm Hotels … $hotel=“Marriott ” $hotel=“Crown ePlaza” … $choice=“confirm” F1 $choice=“reset” … $airline=“AL” …
8
Querying BPs Under Models of Uncertainty8 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 Execution Flow Introduction and Motivation
9
Querying BPs Under Models of Uncertainty9 Example Execution Flow Introduction and Motivation chooseTravel Login Flights $searchType=“flight only” $airline = “BA” Confirm 07:00 07:02 07:04 07:05 07:10 07:30 07:40 07:43 07:41 07:42 Flights Confirm Advertise... $choice = “confirm”...
10
Querying BPs Under Models of Uncertainty10 External Effects, such as user choices, server response time, etc. Partial Tracing, due to lack of storage, confidentiality, etc. Thus the past is uncertain, and the future unknown Sources of Uncertainty Introduction and Motivation
11
Querying BPs Under Models of Uncertainty11 Introduction & Motivation External Events Partial Tracing Related and Future work Outline
12
Querying BPs Under Models of Uncertainty12 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 Uncertainty External Events
13
Querying BPs Under Models of Uncertainty13 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… TOP-K most likely EX-flows External Events
14
Querying BPs Under Models of Uncertainty14 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 TOP-K likely EX-flows (cont.) External Events
15
Querying BPs Under Models of Uncertainty15 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 Query language External Events
16
Querying BPs Under Models of Uncertainty16 Example Query External Events chooseTravel Any Start $Airline = “BA” Flights Hotels Confirm chooseTravel
17
Querying BPs Under Models of Uncertainty17 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 Distribution Classes External Events
18
Querying BPs Under Models of Uncertainty18 Our Example Specification External events F1 F3 F2 chooseTravel F4 … $searchType = “flights only” Confirm $searchType = “flights + hotels” $searchType = “flights+hotels+cars” … … $airline=“BA” Login Flights Advertise Confirm $airline=“AF” Confirm Login Flights Advertise Confirm Hotels … $hotel=“Marriott ” $hotel=“Crown ePlaza” … $choice=“confirm” F1 $choice=“reset” … $airline=“AL” …
19
Querying BPs Under Models of Uncertainty19 Distribution External Events
20
Querying BPs Under Models of Uncertainty20 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 Results External Events
21
Querying BPs Under Models of Uncertainty21 For memory-less distributions, Dynamic Programming algorithm Gradually computes a table holding the i’th most probable trace rooted at any activity Implemented with satisfactory performance Algorithms (intuition) External Events
22
Querying BPs Under Models of Uncertainty22 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. Algorithms (intuition, cont.) External Events
23
Querying BPs Under Models of Uncertainty23 Introduction & Motivation External Events Partial Tracing Related and Future work Outline
24
Querying BPs Under Models of Uncertainty24 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 Types of Partial Traces Partial Tracing
25
Querying BPs Under Models of Uncertainty25 Trip Search HotelFlight Print Credit1 HotelCredit1 Luxury Search LuxHotelLuxFlight Print Credit2 LuxHotelCredit2 Credit1 Example BP Partial Tracing
26
Querying BPs Under Models of Uncertainty26 Trip Search Hotel Flight Print Credit1 Trip Search LuxHotel Credit2 LuxFlight Print Credit2 Luxury Credit1 Naïve Traces Partial Tracing
27
Querying BPs Under Models of Uncertainty27 Trip Search Hotel Flight Print Credit Trip Search Hotel Credit Flight Print Credit Luxury Credit Semi-Naïve Traces Partial Tracing
28
Querying BPs Under Models of Uncertainty28 Trip Search Hotel Flight Print Credit Trip Search Hotel Credit Flight Print Credit Selective Traces Partial Tracing
29
Querying BPs Under Models of Uncertainty29 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 Type Inference & Checking Partial Tracing
30
Querying BPs Under Models of Uncertainty30 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 Complexity Partial Tracing
31
Querying BPs Under Models of Uncertainty31 Selective tracing is “ideal” for type inference Other methods should be considered for type checking Practical Implication Partial Tracing
32
Querying BPs Under Models of Uncertainty32 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…) Lets talk about (top-k) queries Partial Tracing
33
Querying BPs Under Models of Uncertainty33 Introduction & Motivation External Events Partial Tracing Related and Future work Outline
34
Querying BPs Under Models of Uncertainty34 (Probabilistic) Recursive State Machines with temporal logic as query language Probabilistic Relational DBs Probabilistic XML Graph grammars with MSO (or FO) as query language BP and Web applications mining Related work Related & Future Work
35
Querying BPs Under Models of Uncertainty35 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 Future work Related & Future Work
36
תודה ( = Thanks )
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.