![Page 1: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/1.jpg)
A Visual Query Language for Business Processes
Catriel Beeri Hebrew University
Anat Eyal, Simon Kamenkovich, Tel Aviv UniversityTova Milo
![Page 2: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/2.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 2
Outline
Introduction and motivation
Overview by example
System and query formal model
Compact representation of query answers
Implementation
Summary
![Page 3: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/3.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 3
The Standard Example
ClientPO Service
Credit Service
Inventory Service
Purchase Order
Credit
Check
ReserveInventory
Credit
Response
InventoryResponse
InvoiceConsolidate
Results
![Page 4: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/4.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 4
Web Services Meet Business Processes
Web Service 1
Web Service 2
Web Service 3
Web Service 4
Web Service 5
Web Service n
Company A business process
Local to company A
At company B On the Web
![Page 5: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/5.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 5
Recent History of Business Process Standards
2000/05
XLang(Microsoft)
2001/03
BPML(Intallio et al)
2001/05
WSFL(IBM)
2001/06
BPSS(ebXML)
2002/03
BPEL4WS 1.0 (IBM, Microsoft)
BPEL4WS 1.1(OASIS)
2002/06 2003/01
WS-Choreography(W3C)
2003/04
WSCI(Sun et al)
WSCL(HP)
2002/08
BPEL
![Page 6: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/6.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 6
BPEL 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
![Page 7: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/7.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 7
Points 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
![Page 8: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/8.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 8
Can 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
![Page 9: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/9.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 9
Why 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
![Page 10: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/10.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 10
Querying 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...
![Page 11: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/11.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 11
Outline
Introduction and motivation
Overview by example
System and query formal model
Compact representation of query answers
Implementation
Summary
![Page 12: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/12.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 12
A 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)
![Page 13: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/13.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 13
Travel Agency Process
![Page 14: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/14.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 14
Zoom In
![Page 15: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/15.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 15
QueriesUse 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
![Page 16: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/16.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 16
Query1: provided operations?
![Page 17: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/17.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 17
Query2: used credit card services?
local
![Page 18: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/18.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 18
Query3: search without login?
"Ø $Ø
![Page 19: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/19.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 19
Query4: data flowData elements affected by searchRequest and affecting returnTripResults
![Page 20: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/20.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 20
Outline
Introduction and motivation
Overview by example
System and query formal model
Compact representation of query answers
Implementation
Summary
![Page 21: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/21.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 21
Formal Model
System:• Process graphs + implementation function• Graph refinement (graph rewriting)
Query:Process patterns + implementation function
![Page 22: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/22.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 22
System example
Alpha-tours
serviceprovider
behaviorsearchCars searchRoomssearchFlights
fork
getTripRequest
join
...
searchTrip
reserveTrip
cancelTrip
startTrip
endTrip
startSearch
endtSearch...
confirmTrip
provided
provided
provided provided
requestedrequested
requested
capability
implementation
![Page 23: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/23.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 23
Refinement (rewriting)
Alpha-tours
serviceprovider
behavior
searchCars searchRoomssearchFlights
fork
getTripRequest
join
reserveTrip
cancelTrip
startTrip
endTrip
startSearch
endtSearch
confirmTripprovided
provided
requestedrequested
requested
capability
...
...provided
searchTrip
refined to
![Page 24: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/24.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 24
Query
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
![Page 25: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/25.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 25
Query 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
m n ( ) ( )m n m n ( ) .... ( )m n
![Page 26: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/26.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 26
Examples:
A B C A1 B2 B3 *4
A1 B2 B3 C4
answersystem query
![Page 27: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/27.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 27
Examples:
A B C
A1 B2 B3 *4
A1 B2 B3 C4
Answer:
System:
Query
A B C D
A1 B2 D3
A1 B2 C B D3
![Page 28: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/28.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 28
Outline
Introduction and motivation
Overview by example
System and query formal model
Compact representation of query answers
Implementation
Summary
![Page 29: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/29.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 29
Many fork/joins exponential number of paths
Large or Infinite answers!
![Page 30: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/30.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 31: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/31.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 31
Recursive zoom-in
![Page 32: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/32.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 32
A query with an infinite answer
![Page 33: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/33.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 33
Finite representation
![Page 34: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/34.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 35: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/35.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 35
Answer constructionObservations:• 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
![Page 36: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/36.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 36
Node mapping/answer constructionThe 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 D3A1 B2 C B D3
![Page 37: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/37.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 38: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/38.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 39: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/39.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 39
C
Query :
A
B
B
F
D
E
C
A
B
System :
A
C
![Page 40: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/40.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 40
Extensions 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
![Page 41: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/41.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 41
Outline
Introduction and motivation
Overview by example
System and query formal model
Compact representation of query answers
Implementation
Summary
![Page 42: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/42.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 43: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/43.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 43
High Lights of Model & QLBase system unit: directed node-labeled graphQL 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
![Page 44: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/44.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 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
![Page 45: A Visual Query Language for Business Processes Catriel Beeri Hebrew University Anat Eyal, Simon Kamenkovich, Tel Aviv University Tova Milo](https://reader030.vdocuments.site/reader030/viewer/2022032703/56649d0b5503460f949def2a/html5/thumbnails/45.jpg)
Beeri, Eyal, Kamenkovitch, Milo 2006 45
Future work
• Investigate queries on logsDoes this pattern exist?
• “Querying of runs” – essentially verification• “Marxist” extensions to QL primitives