Lectures 7 and 8: 15th October 2019 Flashcards
Transition Systems
What does Spin use as its underlying model?
Labelled Transition Systems
How can TSes be modelled as graphs?
Nodes represent the states and the edges represent the program’s transitions between them.
What are action names?
The identifiers sent from one process to another to perform certain functionality. Used in inter-process comms.
What are atomic propositions?
A statement or assertion that must be true or false.
How do you formally define a transition system?
Transition Systems are defined as (S, Act, T, I, AP, L)
where
S = finite set of states
Act = finite set of actions: ~ inputs
T = set of transitions, in form T ⊆ (S x Act x S): which state to go to from a current state for a given action
I = set of initial states
AP = set of atomic propositions
L:S→2 ^ AP = labelling function: determines which APs hold in which states
Why is the labelling function in a TS equal to 2 ** AP?
The number of labels for each state will be equal to 2 ^ |AP| since each AP is binary - each possible combo of true/false satisfaction.
What are direct-α successors?
All the states that can be transitioned to from a current state given the action α.
What are α-predecessors?
All the states that can transition to a current state given the action α.
What is a terminal state in a TS?
A state which has no successors for any action.
When is nondeterminism useful?
It can be useful for abstraction and underspecification and modelling stochastic environments and parallelism.
What is action-based determinism?
Systems are action-based deterministic iff there is ⩽ 1 transition from a state for each action.
What is state-based determinism?
Systems are state-based deterministic iff there is ⩽ 1 direct successor for each state whose list of holding APs is exactly the same, except for none holding (∅).
What are execution fragments?
Possible alternating sequences of states and actions that represent a trace of execution. For example, ϱ = s0 α1 s1 α2 s2 … αn sn
What are infinite execution fragments?
An execution fragment which loops infinitely, without ever terminating.
What are maximal execution fragments?
An execution fragment which is infinite or terminates in a terminal state - goes to the end of the execution.
What are initial execution fragments?
An execution fragment starts in an initial state - goes from the start of the execution.
What are reachable states?
States that can be transitioned to in a path from an initial state. They will have initial and finite execution fragments which terminate on them. Unreachable states have no predecessors.
How can you tell if a state is reachable from execution fragments?
All reachable states have initial and finite execution fragments which terminate on them.
When can states with connections (transactions going to them) still be unreachable?
The actions and conditions triggering the transitions to the state are impossible, or if all the states that would lead to it are themselves unreachable.
How do you label states, APs, and actions on TS diagrams?
states as name inside of a circle
APs as a comma-separated list (of those holding) above a state, within a {} wrapper: {AP1, AP2}
actions as name over an arrow (associated transition) between states