2. Petri nets Flashcards

1
Q

What is noise?

A

Infrequent, random behaviour

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is incompleteness?

A

Only a fraction of all possible behaviour is observed (in the log)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why are petri nets good for process modelling?

A

Can be used to model concurrent processes (multiple things happening at the same time) rather than just sequential

Real life processes can be quite complex so need notation that does not enforce too much structure in order to properly be able to represent them

Industrial languages/ tools come and go. Petri nets allow us to focus on basic concepts, has formal semantics and has analysis technologies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between petri nets and transition systems?

A

A Petri net is a mathematical modeling language used for the description of distributed systems. It is particularly well-suited for systems that can be described as concurrent processes, where multiple events can occur simultaneously. Petri nets consist of places, transitions, and arcs. Places represent conditions or states, transitions represent events or activities, and arcs represent the flow of tokens (representing resources or control) between places and transitions.

A transition system is a more general and abstract mathematical model used to describe the behavior of systems. A transition system consists of states, transitions, and an initial state. States represent possible configurations of the system, transitions represent actions or events that can change the state of the system, and the initial state represents the starting point of the system.

Petri nets are specifically designed for modeling concurrent and distributed systems, emphasizing the flow of resources and synchronization, whereas transition systems are more general and can be used to model a broader range of systems, focusing on the states and transitions between them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Give me an example of a discrete dynamic system and a continuous one

A

Digital alarm clock (digital, countable characteristics)

Water flow system (smoothly changing quantities that can take any value within a given range and are described using continuous mathematics)

Any DISCRETE system can be described as a transition system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the elements of petri nets?

A

Transitions = boxes
Places = circles (can contain 0 or more tokens)
States = distribution of tokens over places

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the petri net firing rule? Describe also the formal notation

A

Used for state changes

A transition in a Petri net is enabled to fire if and only if each of its input places contains at least one token. When a transition fires, it consumes one token from each of its input places and produces one token in each of its output places (DOES NOT MOVE TOKEN).

This firing rule ensures that transitions can only fire when all of their input conditions (input places) are satisfied, representing a synchronization mechanism.

Once a transition fires, it moves the Petri net from one state (marking) to another, reflecting the change in the system’s configuration.

For a Petri net (P, T, F), firing transition t ∈ T at a marking m1 leads to a new marking m2 such that for any pϵP
* m2(p) = m1(p) –1if pϵ●t \t● (●t \t● = {pϵ●t; p∉t●} p is in preset but not in postset)
* m2(p) = m1(p) + 1if pϵt●\●t
* m2(p) = m1(p) otherwise

NOTE THE FORWARD SLASH IN THE FIRING RULE (\ NOT /)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Imagine you want to model two traffic lights with one model (places red, green, yellow) and two tokens. Would this work?

A

Yes but wouldn’t be able to tell which traffic light is in which current state, cannot distinguish between tokens

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a double sided arc called and what is it’s functionality?

A

A test arc (used to test if condition is met but immediately replaced). For example, checking that other traffic light is red before changing this one to green

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the formal definition of a Petri net?

A

A Petri net is a triple (P, T, F), where
- P is a finite set of places
- T is a finite set of transitions,
- F ⊆ (P×T) ∪ (T×P) is a flow relation. (F is a subset of)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the preset and postset of transition t?

A

PRESET: Set t= {p| (p, t) ∈ F} defines all input places of t
POSTSET Set t
= {p| (t, p) ∈ F} defines all output places of t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the formal definition of a marking m? What are the three possible notation formats for m?

A

A marking of a Petri net (P, T, F) is a function
m: P →N (natural numbers, positive starting at 0)
assigning to each place p ∈ P the number m(p) of tokens at this place. The set M of all markings of this net is the set of all such functions.

m is a multiset (collection of objects (called elements) in which elements may occur more than once)

function notation
m(p1) = 1
m(p2) = 2
m(p3) = 0

multiset notation
m= [p1, p2^2], so no tokens would be []

vector notation
m=
[1
2
0]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Do the visual questions for 2

A

Yes?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the formal definition of enabledness?

A

In a Petri net (P, T, F), a transition t ∈ T is enabled at marking m: P →N if for all p ∈ preset of t, m(p) > 0

(ALL places in preset have at least one token)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a case?

A

Cases are the ‘objects’ in a process that change over time. For example, an insurance claim, parking ticket, or loan application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe processes vs. petri nets

A
  • Activity by resource = Transition (-label, typically present tense) (check documents)
  • Decision by environment = Transition (-label, typically past tense) (application submitted)
    *Process Model = Petri net explaining the flow of each case
    *Case = Token(s) in the net
    *State of a case = Marking of the Petri net
17
Q

What are the start and end of a petri net called?

A

The input and output place

18
Q

What are explicit and implicit choices?

A

Explicit = choices internal to the process, i.e. choices company makes, like approving/ rejecting loan
Implicit = external choices i.e. customer accepting/ rejecting offer

19
Q

What are parallelism and synchronisation?

A

Parallelism - two subprocesses happening concurrently, represented with two tokens
Synchronisation- activity that requires two tokens (so result from two subprocesses)

20
Q

What are tau transitions?

A

Transition with no purpose other than to route cases through the system (no corresponding real world activity)

21
Q

System models vs. process models

A

When Petri nets are used to model systems, the marking denotes the state of the system- may contain multiple cases (this can be very confusing as can trigger synchronisation transitions with tokens from two different cases- cannot discriminate between tokens in classical petri net).

When Petri nets are used to model processes, the marking typically denotes the state of an individual case (and only markings are considered that can be reached from the initial marking with a single token in the initial place).

So in general we only consider a petri net for a particular case.

22
Q

What is the state space of a petri net?

A
  • Add first input arrow into initial marking
  • Start from the initial marking (in multiset marking, as a square)
  • Fire transitions (draw arrow to next marking) and note down all new markings
  • Do the same for all markings until all have been investigated
23
Q

What are the three dimensions of case driven processes?

A
  1. Control flow (partial ordering/ certain constraints on order tasks can be completed)
  2. Resource dimension (roles and organisational units- human/ non-human- device, software, hardware)
  3. Focussed on individual case
24
Q

What criterion to we use for correctness?

A

Soundness

25
Q

Why can we ignore the resource perspective for verification?

A

These are integrated into workflow management systems by only being able to have one person per task at a time. Then you cannot have people waiting on each other within the same task. If the control flow is sound then there is no issue for the resources either.

Competition between cases for resources is only relevant for performance analysis

26
Q

Why can we ignore the data perspective for verification?

A

Production data out of scope, can be changed outside process

For control data (data relevant to routing of cases) we can understand the routing decisions but not how decisions are actually made- we focus on the outcome decision. So we represent decisions as non-deterministic (cannot predict what decision will be made, if loan will be approved)

Ignore details like time-outs so can use classical petri nets

27
Q

What perspectives are relevant to workflow modelling and execution?

A
  1. Control flow
  2. Resource
  3. Data
  4. Task (activities in control flow)
  5. Operation (more detailed than task, i.e. open file)
28
Q

Why can we ignore the task/ operation perspective for verification?

A

Workflow management can only trigger someone to start task, cannot control execution.

We already consider a task as atomic

29
Q

How can we compare two states M_1 <= M_2?

A

Take for example the state M_1 denoted as 1p_1+2p_2+1p_3+0p_4, which is the same state as mentioned in the paper. So one token is in p_1, two tokens in p_2, 1 token in p_3 and zero in p_4. The notation M_1(p_1) is used to tell how many tokens state M_1 has in place p_1. If M_1(p_1)<=M_2(p_1), this means that M_2 must have at least one token in p_1. So M_1(p_2) <= M_2(p_2) means that state M_2 has at least two tokens in p_2. If this holds for all places, then M_1<=M_2.

marking M1 is said to be less than or equal to marking M2 if and only if, for each place p belonging to the set of all places P, the number of tokens in place p of marking M1 is less than or equal to the number of tokens in the same place p of marking M2 .

30
Q

If a transition had no places in its postset, how would we represent this?

A

The empty set symbol ∅

31
Q

If you are modelling a production line/ resources what additional element should we think of?

A

Are the resources free? If need to model this then can use an extra place

32
Q

How would you model the following: AND-split? AND-join? OR-split? OR-join?

A

AND = with transitions (out for split, in for join)
OR = with places (out for split, in for join)