Title: A Visual Query Language for Business Processes
1 A Visual Query Language for Business Processes
-
- Catriel Beeri Hebrew University
- Anat Eyal,
- Simon Kamenkovich, Tel Aviv University
- Tova Milo
2Outline
- Introduction and motivation
- Overview by example
- System and query formal model
- Compact representation of query answers
- Implementation
- Summary
3The Standard Example
Credit Service
Consolidate Results
PO Service
Client
Inventory Service
4Web Services Meet Business Processes
Local to company A
Web Service 1
Web Service 4
Web Service 2
Web Service 5
Web Service 3
Web Service n
At company B
On the Web
Company A business process
5Recent History of Business Process Standards
BPML (Intallio et al)
BPSS (ebXML)
WS-Choreography (W3C)
WSCI (Sun et al)
2000/05
2001/03
2001/05
2001/06
2002/03
2002/06
2003/01
2003/04
2002/08
XLang (Microsoft)
WSFL (IBM)
BPEL4WS 1.0 (IBM, Microsoft)
BPEL4WS 1.1(OASIS)
WSCL (HP)
BPEL
6BPEL in a nutshell
- Business process -- control and data flow
- Actions
- atomic
- compound fork, join, while, procedure/process
call, - Process spec. represented in XML
- Commercial products
- design tools with conceptual model
- Application generators compile to executable code
- Application servers execute the code
7Points to note
- Not just a modeling language applications
are automatically generated from the (relatively
declarative) specs. - There will be plenty of such specs around
- Specs are data a lot of interest in querying
them - What kind of credit services are used
(in)directly? - How can I buy a plane ticket ?
- Can one get a price quote without giving
first credit card info? - ? motivation for developing a query facility
8Can a QL be based on BPEL?
- NO!
- The BPEL XML representation is machine oriented,
- unfit for human consumption
- It decomposes the system diagram into a
(XML-based) relational representation of
nodes and edges - ? loss of understanding queries will require
lots of joins - Need Similarity of system and query models
9Why not XQuery?(on XML representation of
conceptual model)
- Additional requirements from query language
- Graphs rather than trees
- Queries about control data flow paths
- Need to query at different level of granularity
- Zoom-in/zoom-out
- P2P architecture Specs are distributed
- ? We use a home-brewed QL
10Querying Specs, not Runs
- Not the same semantics
- Q does the spec contain these two operations ?
- V can there be a run that contains these two
operations? - Querying the specs is
- Cheaper (specs are data, not possible
executions) - Gives a reasonably good approximation for actual
runs - A (practical) problem with verification
- It needs a clear semantics...
11Outline
- Introduction and motivation
- Overview by example
- System and query formal model
- Compact representation of query answers
- Implementation
- Summary
12A system specification
- Property, data activity nodes
- Control and data flow edges
- A process is a di-graph of atomic and compound
activities - Compound activities can be zoomed-in (a-la
statecharts)
13Travel Agency Process
14Zoom In
15Queries
- Use process patterns (like tree patterns for
xml) - Single/double-headed edges (compare to / and //
in XPath) - edges
- paths of arbitrary length
- Single/double-bounded activities
- w/o zoom-in
- unbounded zoom-in
- Allow as node label
- Node label variables
- Mark requested nodes/edges by
16Query1 provided operations?
17Query2 used credit card services?
local
18Query3 search without login?
19Query4 data flow
Data elements affected by searchRequest and
affecting returnTripResults
20Outline
- Introduction and motivation
- Overview by example
- System and query formal model
- Compact representation of query answers
- Implementation
- Summary
21Formal Model
- System
- Process graphs implementation function
- Graph refinement (graph rewriting)
- Query
- Process patterns implementation function
22System example
implementation
23Refinement (rewriting)
searchTrip
refined to
24Query
- Process patterns
- node labels, node variables
- Nodes / edges can be marked as transitive
- Transitive edges paths of arbitrary
length - Transitive node refinements of arbitrary
depth - Nodes / edges can be marked as output
- Patterns related by a query implementation
function
25Query semantics
- An embedding a mapping
- from query graphs (with uniquely identifiable
nodes) - to refinements of process graphs
- satisfying conditions
- (nodes) preserves nodes types and labels
- (edges) edge mapped to
- edge mapped
to a path - (imp) preserves implementation
relationships - A result image of query graph under an
embedding - Answer all results
26answer
system
query
A B C
A1 B2 B3 4
A1 B2 B3 C4
27System
A B C D
A B C
Query
A1 B2 B3 4
A1 B2 D3
Answer
A1 B2 B3 C4
A1 B2 C B D3
28Outline
- Introduction and motivation
- Overview by example
- System and query formal model
- Compact representation of query answers
- Implementation
- Summary
29Large or Infinite answers!
- Many fork/joins ? exponential number of paths
30- Infinite answers can be generated by either
- Cycles in process graph (example seen previously)
- Cycles (recursion) in zoom-in relationships
? Infinite of refinements - Path vars (double headed edges) cycles
- ? infinite of results
-
-
31Recursive zoom-in
32A query with an infinite answer
33Finite representation
34- Systems and queries are essentially
- regular graph grammars
- Bad news ?
- not closed under intersection (general case)
- Good news ?
- Our systems and queries are sufficiently simple
Psize representation (as a regular
grammar) can be computed in Ptime (data
complexity!) - skip
35Answer construction
- Observations
- Embeddings (results) can be composed of
- query pattern to system process embeddings
(results) - glue the constraint (imp)
- Multiple embeddings can be represented by
- a shared node mapping
- (that satisfies (nodes) and (edges) -- a
homomorphism) - ? Construction of node mappings is the core
problem
36Node mapping/answer construction
- The simple case from pQ to pS (not into
refinement) - Find node mappings that satisfy (nodes), (edges)
- NP-complete in pQ (query) , Ptime in pS
(data) - Results are 1-1 images of mappings
- each query node is distinct,
- new nodes and edges for paths (images of
) -
A B C D
A1 B2 C B D3
A1 B2 D3
37- The complex case from pQ to refinement of
pS - A mapping may be split into parts
- into pS itself
- into implementation of a compound action of pS,
and so on - with double-headed edges to any depth,
including cycles - Observations
- Only sub-graphs of pQ with single entry/exit can
be mapped to an implementation - In one mapping, a disjoint set of such graphs can
be mapped to an implementation
38- The construction For each pQ and pS
- For disjoint set J of such sub-graphs, construct
mappings for pQ/J (each member of J replaced by
node) to pS - Do same for also for these sub-graphs
- Glue together using by a regular grammar
- nodes (suitably labeled) are non-terminals
- Each node (for G) is associated with the mappings
for G
39Query
System
A
D
A
A
B
E
B
B
C
F
C
C
40Extensions to QL
- OK extensions
- label predicates ,
- Regular path expressions (on node labels),
- Negation,
- Joins on node labels
- Not OK extensions
- Joins on path variables
- The result is not a regular graph grammar
- Emptiness is undecidable
- NP-hard even without cycles and recursion
41Outline
- Introduction and motivation
- Overview by example
- System and query formal model
- Compact representation of query answers
- Implementation
- Summary
42- Simple and intuitive query formulation
- similar to how processes are specified
- Operates in distributed environment
- System and queries modeled as graph grammars
- ? allows compact representation of
large/infinite answers - Ignores semantics of composite actions
- AXML as an implementation platform supports
- Transparent distribution
- Taking advantage of built-in optimizations
43High Lights of Model QL
- Base system unit directed node-labeled graph
- QL primitives
- /, // (forward axis only)
- Node equality
- Node label equality
- Node label predicates
- Regular expressions on node labels in paths
- Negation on sub-patterns
- Can be seen as adaptation of XPath to di-graphs,
but selection not restricted to one path
44- Advanced system structure an infinite family
of directed node-labeled graphs, specified by
a graph grammar - Additional QL primitives
- double-headed node query on all graphs derived
from a given graph - Answer representation as a graph grammar
45Future work
- Investigate queries on logs
- Does this pattern exist?
- Querying of runs essentially verification
- Marxist extensions to QL primitives