Lecture 7: DCR Graphs III Flashcards
1
Q
Spawn relation
A
- Spawn isused to create new instances of a process, only works for multiple-instanceprocesses
- A spawnedsubprocess creates new copies of all the events and relations in the subprocess
2
Q
Data Dependencies
A
- Events encode “state of affairs” ofan activity
- On top of execution, they carryinformation collected in the decision-making process
- Relations enable/disable furtherevents depending on data acquired via events
3
Q
Temporal Dependencies
A
- Conditions and responses mightdefine temporal dependencies between events
- X-timed response: “The execution of this activity has to be done within xtime units”
- X-time condition: “The execution of this activity is possible after x timeunits”
- Performing activities on time determineswhether the graph is accepting or not
4
Q
Why would we make a model of a process?
A
- To understand the process
- For communication (say, between managers)
- For process optimization
- For education
- For requirements specification
- For executing outright
5
Q
3 types of correctness in business processes
A
- Compliance (semantic correctness)
- Soundness (behavioral correctness)
- Syntax conformance (structuralcorrectness)
6
Q
Syntax conformance
A
- Focus on proper use of language abstractions
- Key: does it “read well”?
- Typically controlled via modelling tool/compiler
- Common errors
- Unconnected relations
- Missing variables
- Wrong timestamps
7
Q
Soundness
A
Does my model have structuralerrors?
- Does it ever terminate?
- Does it ever get an accepting state?
- Does it generate circular dependencies (deadlocks)?
8
Q
Soundness – Termination
A
- A trace is accepting, when there areno pending activities to be executed
- Trace length: the number ofactivities executed so far
- A process is non-terminating, if for any trace of length N, the execution of anactivity generates a non-accepting trace, for any N
9
Q
Soundness: The nullprocess
A
When there is no process in place, it points to nothing, no end to the process
!avoidcircular dependencies by adding additional activities
10
Q
Deadlocks
A
- There is a reachable state with no enabled activities, and there is at least one pending activity
- A DCR graph is deadlock free only if for any execution there is either an enabled event or no included required responses
11
Q
Liveness
A
- Deadlock-freedom guarantees that wewill not get stuck, but it does not say that we will do what we require
- Livelock: for all states reachablefrom the current state, there exists an enabled event and at least one includedpending event that never gets excluded or enabled
- A DCR graph is livelock free only ifin every execution it is always possible to continue along an accepting run (i.e.eventually execute or exclude any of the pending responses)