Querying business processes with bp ql
Sponsored Links
This presentation is the property of its rightful owner.
1 / 42

Querying business processes with BP-QL PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Querying business processes with BP-QL. Victoria Markozen. What is a BP?. BP = business processes A BP consists of a group of business activities undertaken by one or more organizations in pursuit of some particular goal.

Download Presentation

Querying business processes with BP-QL

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Querying business processes with bp ql

Querying business processes with BP-QL

Victoria Markozen

What is a bp

What is a BP?

  • BP = business processes

  • A BP consists of a group of business activities undertaken by one or more organizations in pursuit of some particular goal.

  • A BP usually depends upon various business functions for support, (for example: personnel, accounting, inventory) and interacts with other BPs/activities carried by the same or other organizations.

  • the software implementing BPs typically operate in a cross-organization, distributed environment.

The main challenges in querying bp specifications

The main Challenges in querying BP specifications:

  • Flexible granularity

  • Distribution

  • Paths extraction

  • Ease of querying

Flexible granularity

Flexible granularity

An adequate query language mustallow users to

query the processesat different,flexible,

granularity levels.

This property can be also called

“flexible zoom-in”.

Usersmay wish to ask coarse-grain queries that

consider certainprocess components as black

boxes and allow for high levelabstraction, as

wellas fine-grained queries that ‘‘zoom-in’’ on all

theprocess components, possibly recursively.

Visual example

Visual example:

View Travel Agency

After zooming into search trip

Querying business processes with bp ql


Paths extraction

Paths extraction

  • users maybe interested in retrieving as an answer thequalifying flow paths.

    For example: the query‘‘What should I do to confirm my purchase?’’

  • As the number of relevant paths may be large(or even infinite in recursive processes) a majorchallenge is to provides the users with acompactfinite representation of the (possible infinite)answer.

Visual example1

Visual example:

  • As we have seen in the “zoom-in”example inside the “search trip” operation we have the next operations: “search cars”, “search flights” and “search rooms”.

  • In our system we can go to “search trip” (followed by “search flights”) and after that go to “search trip” again – an action that will create a cycle.

Ease of querying

Ease of querying

  • The BP query language is based on an intuitivemodel of BPs.

  • BP-QLworks with a graphical user interface that allowsfor simple formulation of queries over this model.

  • BP-QL hides from the users the tedious details and allows for more natural queryformulation.

Bp ql user interface

BP-QL user interface

Bp ql user interface1

BP-QL user interface

property nodes:

general description of the process properties,including its name, capabilities, the serviceprovider, and so on.

Bp ql user interface2

BP-QL user interface

data nodes:

The data used in the process - the processvariables and the input and output parametersfor the participating activities/services.

Bp ql user interface3

BP-QL user interface

activity nodes:

The activities of which the process is composed.

Bp ql user interface4

BP-QL user interface

provided operations:

the services offeredby the process to other processes.

Bp ql user interface5

BP-QL user interface


describe the external services that the processrequests.

Bp ql user interface6

BP-QL user interface

Data flow edges:

Describewhich data is read or output by which activity.

Bp ql user interface7

BP-QL user interface

Activity flow edges:

describe the operationalflow.

Bp ql user interface8

BP-QL user interface

Compound node:

a zoom-in allows to replace a compound

activity by a detailed description of the process thatit invokes.

Bp ql user interface9

BP-QL user interface

View Travel Agency

Atomic operation

After zooming into search trip

Bp ql user interface10

BP-QL user interface

View Travel Agency


After zooming into search trip

Q uery examples

Query examples

Q uery example 1 find provided operations

Query example #1 : Find provided operations


Q uery example 1 find provided operations1

Query example #1 : Find provided operations

activities at anydistance from thestart/end nodes may qualify.

unbounded zoom-in; we look for compound activitiesof type “provided operation”, and the compoundactivities that they invoke.

The zoom-in is restrictedto activities whose specifications reside on the same.

Q uery example 2 which visa credit card services are called by alpha tour s confirmtrip activity

Query example #2 : which VISA credit card services arecalled by Alpha Tour’s “ConfirmTrip” activity?

Q uery example 3 in what ways can a user search for flights without logging in

Query example #3 : in what ways can a user search for flights without logging-in?

  • We will use “negation”

  • The dashed edgesand nodes are stating thata path to the “searchFlights” activity that passesthrough a “login” activity does not exist.

  • The existing flow paths leading to “searchFlights” are retrieved

Another solution path constraints

Another solution: Path constraints

The wanted path can be also expressed byattaching a variable - x tothe edge, along with the selectioncondition :

Last querying example querying the data flow

Last querying example:querying thedata flow

Our query:

Which data elements areaffected by the “tripRequest” activity,and serve as input for sending the suggested tripsback to the client?

Bp ql formal model

BP-QL formal model

Some definitions

Some definitions

  • N - domain ofnodes.

  • L - domain of node labels.

    a disjoint unionof several domains

    including data values, attributenames,

    data elementnames, process property

    names, and atomicand compound

    activity names.

Business graphs and processes

Business graphs and processes

We model a BP as a directed labeled graphwith nodes of two types:

  • Concrete nodes - represent process properties, attributes,data elements, and atomic activities.

  • Compoundnodes- represent compound activities, meaning calls of (possibly remote) operations.

  • Two distinguishednodes of the BP graph represent its “start” and “end” activities.

Business graph and process definitions

Businessgraph andprocess definitions

business graph

A business graph is a pair, where

is a directed graph inwhich is a finite set of nodes, andis a setof edges with endpoints nodes in and is a labeling function for the nodes.

business process

A BP is a triple p = (g, start, end),where:

g is a business graph.

start, end are twodistinguished activity nodes in g.

each activitynode in g resides on some path from start toend.

System definition

System definition

A system S of BPs is a pair , where P is a finite set of BPs, and t is a function, called the “implementation function”, from the compound activity nodes in P to BPs in P.

In simple words:

A system is a collection of BPs (or graphs), along with a mapping between compound nodes and their implementations - the processes they invoke.

A system of bps

A system of BPs:

A system of bps1

A system of BPs:

“start”=compound activity=“end”

A system of bps2

A system of BPs:

“start”=compound activity=“end”

Implementation of the compound activity



  • Queries are modeled using BP patterns.

  • A BP pattern is a tuple рp;T;RЮ,where:

  • A simple query q is a system of BP patterns рQ; tq

    where Q is a set of BP patterns , and tq is an

    implementation function (to know where to go from T).

Query answers

Query answers

  • To evaluate a query, its patterns are matched to those of the system.

  • A match is called an embedding.

  • Let ¼ ðQ; tq be a simple query and let S be a simple system.

    An embedding of q into S is a homomorphism r from the nodes and edges in q to nodes edges and paths in some refinement 0 ¼ ðP0; t of S.

  • The answer of q, denoted рs, is the set of all query results.

Compact representation of query results

fork join -- -- fork join

Compact representation of query results

the two main factors that contributeto large or infiniteresults andanswers:

1. flat BPs - BPs with nocompound activities.

each query BP pattern maybe considered in isolation,But answersmay

belarge or infinite.

2. Nested BPs - If each BP has several compound activities, then since these may be refined independently of each other, the number of refinements may be large.




Compound nodes

Compact representation of query results1

Compact representation of query results

The solution:

We canrepresent the set of paths between two nodes by acopy of the sub-graph that connects the nodes, And show the connections between the compound nodes and the graphs that implement them.

Onemight actually say this is what the user intended:

tosee the specification of the paths between the the nodes, rather than the individual paths themselves.



  • BP-QL allows users toquery BPs visually, in a manner very close to howsuch processes are typically specified.

  • The main innovation of BP-QL is in introducingprocess patterns that enrich the standard path-basednavigation with:

    1) a (transitive) zoom-in, thatallows to query

    processcomponents at any depth ofnesting.

    2) the retrieval of paths of interest.

    Together, these features allow for simple formulation

    of queries on BPs.

Thank you

Thank you 

  • Login