PROPOLIS: Provisioned Analysis of
Data-Centric Processes
∗
Daniel Deutch
Ben Gurion University
Yuval Moskovitch
Ben Gurion University
Val Tannen
University of Pennsylvania
ABSTRACT
We consider in this demonstration the (static) analysis of
data-centric process-based applications, namely applications
that depend on an underlying database and whose control
is guided by a finite state transition system. We observe
that analysts of such applications often want to do more
than analyze a specific instance of the application’s pro-
cess control and database. In particular they want to in-
teractively test and explore the effect on analysis results
of different hypothetical modifications applied to the appli-
cation’s transition system and to the underlying database.
To that end, we propose a demonstration of PROPOLIS, a
system for PROvisioned PrOcess anaLysIS, namely analy-
sis of data-centric processes under hypothetical modification
scenarios. Our solution is based on the notion of a provi-
sioned expression (which in turn is based on the notion of
data provenance), namely an expression that captures, in a
compact way, the analysis result with respect to all possible
combinations of scenarios, and allows for their exploration
at interactive speed. We will demonstrate PROPOLIS in the
context of an online shopping application, letting partici-
pants play the role of analysts.
1. INTRODUCTION
Many real-life applications rely, in intricate ways, on an
underlying database in their operation. For example, E-
commerce applications such as that of Ebay [9] rely on a
database for management of products, orders etc., which
affects the possible execution of the application and its in-
teraction with potential users. Due to the complexity and
importance of such applications, it is a common practice to
perform an automatic (static) analysis of properties related
to anticipated application executions.
As a simple example, consider a typical E-commerce ap-
plication where users can navigate through a selection of
∗
This research was partially supported by the Frankel In-
stitute, the National Science Foundation (NSF IIS 1217798)
and the US-Israel Binational Science Foundation
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee. Articles from this volume were invited to present
their results at The 39th International Conference on Very Large Data Bases,
August 26th - 30th 2013, Riva del Garda, Trento, Italy.
Proceedings of the VLDB Endowment, Vol. 6, No. 12
Copyright 2013 VLDB Endowment 2150-8097/13/10... $ 10.00.
products (classified through categories and sub-categories),
and proposed discount deals. The underlying process logic
can be captured via a Finite State Machine whose states
reflect web-pages and logical application states, and (part
of) its transitioning is governed by queries on an underlying
relational database. Now, an analyst may be interested in
answering, among others, the following questions:
• (A1) What is the probability that a user would exit
without viewing the daily discount deals?
• (A2) What is the minimal number of clicks allowing a
user to view daily deals?
• (A3) What is the probability that a user would view
product sub-categories for some category?
Such analysis tasks can be expressed in LTL (Linear Tem-
poral Logic) [12] which is commonly used in the context of
static analysis. To obtain a better understanding of the ap-
plication, analysts may want to do more than pose a single,
static analysis task with respect to its current specification,
but rather to test and explore the effect of different modifica-
tions to the process or underlying data, on analysis results.
Hence, she may want to perform analysis of the above flavor
under hypothetical scenarios such as:
• (S1) What if we remove/add a link between two web
pages?
• (S2) What if a particular product is no longer avail-
able?
• (S3) What if the user is a member of a particular club?
In realistic cases, there may be many possible scenarios
and combinations thereof that are of interest. An analyst
would like to interactively explore the different combina-
tions, refining them according to the analysis results (e.g.
removing one link at a time and observing is effect). A sim-
ple way to support the exploration of such scenarios is to ap-
ply each requested hypothetical scenario to the application
specification, and then analyze the obtained specification.
This, however, would be prohibitively inefficient, as it in-
volves repeated costly evaluation of the LTL formula as well
as costly accesses to the application’s underlying database.
Instead, we propose an alternative approach and imple-
ment it in PROPOLIS (PROvisioned PrOcess anaLysIS), whose
high-level architecture is depicted in Fig. 1. Once the model
specification was set, the analyst may (1) pose an LTL query
and (2) define hypothetical scenarios by defining parameters
with respect to the process specification (logical flow and/or
underlying database) at points of interest. Then, PROPOLIS
evaluates the given LTL formula with respect to the param-
eterized specification, and computes an expression referred
to as a provisioned expression. This expression captures, in
1302