Process Query Language (PQL) is a special-purpose programming language for managing process models based on information about process instances that these models describe. PQL is based upon temporal logic and adopts the concrete syntax of SQL.
Links
1) http://processquerying.com/
2) https://github.com/processquerying/PQL
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
PQL: Process Query Language (An Interview)
1. Artem Polyvyanyy
Business Process Management Team
School of Computing and Information Systems
Melbourne School of Engineering
The University of Melbourne
Photo by: Jamie Davies
Licence: https://creativecommons.org/licenses/by-nc-nd/2.0/
URL: https://www.flickr.com/photos/jmdavies/24604646763/in/photolist-6MVhYF-9NED8w-DuefgD
PQL: Process Query Language
Melbourne, Australia
2. Welcome to our Interview
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne 2
1) This interview is intended to explore how you manage process
models; specifically, which sort of questions you typically have to
answer about process models that exist in your organization.
2) We will be asking you about specific analyses of process models and
we will try to understand the way you do things and why.
3) We want to understand the challenges and typical scenarios of
process analysis that you are confronted with.
3. About the Participant
3
Tell us about yourself:
1) What are your degrees/qualifications?
2) What do you do and what is your role in your organization?
3) How long have you been in this role?
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
4. Process Management Practices
4
Tell us about the process models you typically manage:
1) How many process models do you manage?
2) What are they about?
3) Characterize the process models (e.g., structured, documented,
automated, complex, large)
4) Key problems/issues with the process models?
5) Extent of process analysis in your day-to-day work (How often? How
important? How advanced?)
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
5. Questions during Process Analysis
5
Tell us about typical scenarios that occur when you analyze
process models:
1) Thinking in terms of questions: what kind of questions do you “ask
about the process models”? Name and briefly describe as many as
you can think of.
2) What kind of information would you like to obtain about process
models? Please indicate what kind of information is available to you
and what kind would be “nice to have if that were possible”.
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
6. Models and Instances (I)
6
BPMN
Petri net
EPC
Process models are graphs ...
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
Order is
received
Analyze
order
XOR
Order is
rejected
Order is
accepted
Check
stock
XOR
Product
not in
stock
Product in
stock
XOR
Make
product
Product is
available
Ship
product
Product is
shipped
Analyze
order
Check
stock
Purchase
raw
material
Make
production
plan
Manufacture
products
Ship
products
Send
bill
Receive
payment
Order
Not in stock
In stock
Make products
Receive order
T1
T3
T2
T4
T6
T5
T7 T9T8
T10
start
Confirm order
Update order
statistics
Allocate
resources
Produce
item
Arrange
delivery
stop
Decrease
quality
class
Repair
defect
Discard
item
i
o
7. Quote
requested
Get flight
preferences
Get flight
quote
Get hotel
quote
Combine
quotes
Quote
Sent
Adjust flight
preferences
Preferences
fulfilled?
No
Yes
Models and Instances (II)
7
... with execution semantics.
A
B
C
E
D
Model M
Instances of M
1) A B C D
2) C A B D
3) A C B D
4) A B C D E C B D
5) C A B D E C B D E C B D E B C D
...
Process models are graphs ...
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
9. PQL: Process Query Language
9
PQL is a query language for retrieving process models
from repositories using execution-related properties.
PQL query defines a collection of instances
Process model defines a collection of instances
Query match
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
10. Can Occur/Always Occurs (I)
10
Can occur: Find all process models where task A occurs in
at least one instance
Always occurs: Find all process models where task A occurs
in every instance
1) B C D E F
2) B C B C B
3) F E D C B
1) B C A E F
2) B A B A B
3) F E D C B
1) B C A E F
2) B A B A B
3) F E A C B
Can occur A
Always
occurs A
NO
NO NO
YES YES
YES
All
instances
of model M
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
11. Can Occur/Always Occurs (II)
11
Find all process models …
… where task “Apply discount” can occur.
… where task “Check credit” always occurs.
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
12. Attention
12
The following question types explore behavioral relations
between pairs of tasks and are thus formulated using two
example tasks A and B.
All these question types assume an implicit condition that both
tasks A and B can occur, i.e., each of the tasks occurs in at
least one instance.
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
13. Co-occur
13
Find all process models where it holds that if task A occurs in some
instance then task B occurs in the same instance, and vice versa
1) A F D C A
2) B C A C B
3) F E D C B
1) A B D E A
2) A B A B A
3) F E D F E
1) B C D E F
2) D A D B D
3) F E F C E
Co-occur
A and B NO YES NO
Find all process models where tasks
“Check credit” and “Check character” co-occur.
All
instances
of model M
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
14. Conflict
14
1) E F D C E
2) B C B C C
3) F E D C B
1) B C D E F
2) B A B A B
3) F E D C B
1) B C D E F
2) D A D A D
3) F E F C E
Conflict
A and B
All
instances
of model M
NONO YES
Find all process models where tasks
“Apply discount” and “Apply promotion” are in conflict.
Find all process models where it holds that there is no instance in
which tasks A and B both occur
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
15. Existential Precedence
15
1) B F D C A
2) A C B C A
3) F E D C A
1) B A D E A
2) B B A A A
3) F E D F E
1) A A D B F
2) D B D A D
3) B F F D F
Ex. prec.
A and B YES NO YES
All
instances
of model M
Ex. tot. prec.
A and B
Find all process models where tasks “Ship order” and “Pay order”
are in an existential precedence relation.
Find all process models where in at least one instance it holds that
some occurrence of task A precedes some occurrence of task B
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
16. Existential Total Precedence
16
1) B F D C A
2) A C B C A
3) F E D C A
1) B A D E A
2) B B A A A
3) F E D F E
1) A A D B F
2) D B D A D
3) B F F D F
Ex. prec.
A and B YES NO YES
All
instances
of model M
Ex. tot. prec.
A and B
Find all process models where tasks “Check item” and “Repair
item” are in an existential total precedence relation.
Find all process models where in at least one instance it holds that
tasks A and B both occur, and every occurrence of task A precedes
every occurrence of task B
NO NO YES
16PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
17. Total Existential Precedence
17
1) B F D C B
2) A C B C A
3) F B D C A
1) F A D B B
2) D A D B D
3) D F F C D
All
instances
of model M
Tot. ex. prec.
A and B NO YES YES
Find all process models where tasks “Produce product” and
“Receive order” are in a total existential precedence relation.
Find all process models where for every instance in which
tasks A and B both occur, it holds that some occurrence of task
A precedes some occurrence of task B
1) B A D B F
2) D A D B A
3) D F F C D
Tot. prec.
A and B
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
18. Total Precedence
18
1) B F D C B
2) A C B C A
3) F B D C A
1) F A D B B
2) D A D B D
3) D F F C D
All
instances
of model M
Tot. ex. prec.
A and B NO YES YES
Find all process models where tasks “Check credit” and “Make offer”
are in a total precedence relation.
Find all process models where for every instance in which
tasks A and B both occur, it holds that every occurrence of task
A precedes every occurrence of task B
1) B A D B F
2) D A D B A
3) D F F C D
Tot. prec.
A and B
NO NO YES
18PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
19. Concurrency
... potential concurrent
execution of tasks.
Quote
requested
Get flight
preferences
Get flight
quote
Get hotel
quote
Combine
quotes
Quote
Sent
Adjust flight
preferences
Preferences
fulfilled?
No
Yes
A
B
C
E
D
Model M
Concurrent instances of M
...
Process models specify ...
1) DA B
C
Tasks A and B can be executed at the same time with task C!
2) D DA B
C
E B
C
3) D D DA B
C
E B
C
E B
C
19PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
20. Existential Concurrent
20
Find all process models where in at least one instance it holds that
some occurrence of task A can be executed at the same time with
some occurrence of task B
1) E F D C E
2) C C A C B
Ex. conc.
A and B
NO YESNO
Find all process models where tasks “Check credit” and
“Check character” are in an existential concurrent relation.
All
conc. inst.
of model M
1) A F D C A
2) C C A C B 2) C A B D C
1) C D CA
B
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
21. Existential Total Concurrent
21
Find all process models where in at least one instance it holds that tasks
A and B both occur, and every occurrence of task A can be executed at
the same time with every occurrence of task B
1) E F D C E
2) C C A C B
Ex. tot. conc.
A and B
NO YESNO
Find all process models where tasks “Check credit” and “Check
character” are in an existential total concurrent relation.
All
conc. inst.
of model M 2) E F D C E
1) C DA A
B C B
2) C A B D C
1) C D C BA
B
21PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
22. Total Existential Concurrent
22
Find all process models where for every instance in which tasks A
and B both occur, it holds that some occurrence of task A can be
executed at the same time with some occurrence of task B
1) E F D C E
2) C C A C B
Tot. ex. conc.
A and B
NO YESNO
Find all process models where tasks “Check credit” and
“Check character” are in a total existential concurrent relation.
All
conc. inst.
of model M
1) C DA A
B C B
2) C A B D C
1) C D C BA
B
2) C D C BA
B
22PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
23. Total Concurrent
23
Find all process models where for every instance in which tasks A
and B both occur, it holds that every occurrence of task A can be
executed at the same time with every occurrence of task B
1) E F D C E
2) C C A C B
Tot. ex. conc.
A and B
NO YESNO
Find all process models where tasks “Check credit” and
“Check character” are in a total concurrent relation.
All
conc. inst.
of model M
1) C DA A
B C B
2) C D C DA
B
1) C DA A
B C B
2) C D C BA
B
23PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne
24. Open Questions
24
Based on the information about PQL you just received,
what is your view on such a query language?
1) Useful?
2) Important?
3) Relevant?
4) Applicable in practice?
Any other comments?
PQL: Process Query Language | Dr Artem Polyvyanyy | The University of Melbourne