Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4...

26
1 Lecture 2: Transition Systems, Computations, etc.

Transcript of Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4...

Page 1: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

1

Lecture 2:Transition Systems,Computations, etc.

Page 2: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

2

Model is a simplification of a system for understanding and analysingparticular aspects

In e.g., control engineering, models describe relation between (real-valued) quantities

When analyzing protocols and concurrent software, models should describe possible combinations of sequences of computation steps

=>

Models will have discrete states and transitions between states.

Modeling: informal motivation

Page 3: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

3

Model to describe the operational behavior of systems

Example: Resource Allocation System:

Transition Systems

StatesInitial state

Transitions

We need a mechanism to model “what happens” in a system.

Model of Behavior built from “basic steps” = transitions

We can then say, e.g.,

“When in state at P2, the system must perform from P2 before it can do to P1”

at P1 free at P2

to P2

to P1 from P2

from P1

Labels

Page 4: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

4

Model to describe the operational behavior of systems

Example: Resource Allocation System:

Transition Systems

States: atP1, free, at P2

free at P1 freeComputation: at P2free

free at P1Transition:

StatesInitial state

Transitions

at P1 free at P2

to P2

to P1 from P2

from P1

Labels

to P1

to P1 to P2 from P2from P1

Page 5: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

5

A (labeled) Transition System is a tuple (S, S0 , L, ->) where

S is a set of statesS0 is a set of initial statesL is a set of labels-> ( a subset of S x L x S) is a transition relation

Write s -> s’ for (s , l , s’) ∈∈∈∈ ->

A Computation is a (in-)finite sequence of alternating states and labels

so s1 s2 s3 s4 s5 s6 s7 s8 s9

such that• so is an initial state• (si , li+1, si+1) ∈ -> for all relevant i

Transition Systems (formal definition)

l

l1 l2 l3 l4 l5 l6 l7 l8 l9

Page 6: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

6

Drawing large graphs is very inconvenient.

We need constructs to define transition systems conveniently

• Processes

• control structures

• (shared) variables

• communication channels

– Can be modeled as shared variables

Structured Descriptions of Transition Systems

Page 7: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

7

Example: simple incrementation of stored variable

Structured Description (Action Systems)

fetch

addstore

Action SystemVariables: x, r: integerInitially x = 0

r := x

r < 9 -> r := r+1

x := r

locations

guard effect

label

Page 8: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

8

Example: simple incrementation of stored variable

Structured Description (Action Systems)

fetch

addstore

Action System(aka Process Automaton)

Variables: x, r: integerInitially x = 0

r := x

r < 9 -> r := r+1

x := r

Transition system

States:locations × assignments to variables(add, {x -> 0 , r -> 0} )

Initial States (example):

(fetch, {x -> 0 , r -> 76} )

Transitions (example)(add, {x -> 0 , r -> 0} )

->(store, {x -> 0 , r -> 1} )

locations

guard effect

r < 9 -> r := r+1

label

Page 9: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

9

Example: simple incrementation of stored variable

Structured Description (Action Systems)

fetch

addstore

Action System(aka Process Automaton)

Variables: x, r: integerInitially x = 0

r := x

r < 9 -> r := r+1

x := r

locations

guard effect

label

(fetch, {x -> 0 , r -> 0} )

(add, {x -> 0 , r -> 0} )

(store, {x -> 0 , r -> 1} )

(fetch, {x -> 1 , r -> 1} )

(add, {x -> 8 , r -> 8} )

Computation (example)

r < 9 -> r := r+1

r := x

r := x

x := r

Page 10: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

10

A system can have several parallel process automata

Parallel Processes

fetch

addstore

Variables: x, r, t: integerInitially x = 0

r := x

r := r+1

x := r

fetch

addstore

t := x

t := t+1

x := t

P1: P2:

Page 11: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

11

A system can have several parallel process automata

Parallel Processes

fetch

addstore

Variables: x, r, t: integerInitially x = 0

r := x

r := r+1

x := r

fetch

addstore

t := x

t := t+1

x := t

States: (add, fetch, {x -> 0 , r -> 0 , t -> 0} )

Transitions: (add, fetch, {x -> 0 , r -> 0 , t -> 0} )

-> (store, fetch, {x -> 0 , r -> 1 , t -> 0})

P1: P2:

r := r+1

Page 12: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

12

Transitions of parallel components are merged or “interleaved”

• as if the model is “executed” on a single processor

The order between transitions of different components is completely arbitrary

• as if there is a scheduler with an unknown strategy

• possible that some components are scheduled “very seldom” or never at all

Particular scheduling strategies can be enforced by adding a “scheduler” into the model

• e.g., by using shared variable(s) to model the state of a scheduler

Certain minimal assumptions on scheduling can be represented using fairness (more about this later)

Interleaving

Page 13: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

13

Peterson-Fischer Mutual Exclusion prot.

y1 := true

¬¬¬¬y2 \/ t = 1

t := 2

l0 l1

l3 l2

Variables: y1, y2: boolean, t: {1,2}

Initially y1 = y2 = false, t = 1

y1 := false

y2 := true

¬¬¬¬y1\/ t = 2

t := 1

m1

m3 m2

y2 := false

m0P1: P2:

Page 14: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

14

Peterson-Fischer Mutual Exclusion prot.

y1 := true

¬¬¬¬y2 \/ t = 1

t := 2

l0 l1

l3 l2

Variables: y1, y2: boolean, t: {1,2}

Initially y1 = y2 = false, t = 1

y1 := false

y2 := true

¬¬¬¬y1\/ t = 2

t := 1

m1

m3 m2

y2 := false

m0

States: ( l1 , m1, {y1 -> true ,y2 -> true , t -> 1} )Initial States: ( l0 , m0, {y1 -> false ,y2 -> false , t -> 1} )Transition:( l0 , m0, {y1 -> false ,y2 -> false , t -> 1} ) ( l1 , m0, {y1 -> true ,y2 -> false , t -> 1} )

P1: P2:

Page 15: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

15

Peterson-Fischer Transition System

t = 1

y1: F T T Tl0 l1 l2 l3

y2:F m0

T m1

T m2

T m3

t = 2

F T T Tl0 l1 l2 l3

Page 16: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

16

Peterson-Fischer: Computation

t = 1

y1: F T T Tl0 l1 l2 l3

y2:F m0

T m1

T m2

T m3

t = 2

F T T Tl0 l1 l2 l3

Page 17: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

17

Each transition is atomic, i.e., it is an undivisible operation, which has no “intermediate states”, i.e., can not be stopped “in the middle”

Atomicity

l1

l2

Variables: x: integerInitially x = 0

x := x+1

m1

m2

x := x+1

This transition system will “terminate” with the value of x being 2

Page 18: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

18

Atomicity

l2

l3

Variables: x, r, t: integerInitially x = 0

r := r+1

This transition system will “terminate” with the value of x being 1 or 2

l1

l4

r := x

x := r

m2

m3

t := t+1

m1

m4

t:= x

x := t

Page 19: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

19

How much detail must be modeled?

l2

l3

Variables: x, r, t: integerInitially x = 0

r := r+1

l1

l4

r := x

x := r

m2

m3

t := t+1

m1

m4

t:= x

x := t

All possible sequences of ”externally interesting” transitions must be modeled

Critical event is an operation, for which is makes a difference how it is interleaved•Reading shared varialbe•Writing to shared variable

Recepy:•Each transition should involve at most one critical event

Page 20: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

20

Also a faithful model

l2

l3

Variables: x, r, t: integerInitially x = 0

l1

r := x

x:=r+1

m2

m3

m1

t:= x

x:=t+1

All possible sequences of ”externally interesting” transitions must be modeled

Critical event is an operation, for which is makes a difference how it is interleaved•Reading shared varialbe•Writing to shared variable

Recepy:•Each transition should involve at most one critical event

Page 21: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

21

• “Principle of relativity” (simultaneity can not be observed)

• Fewer transitions to consider in analysis

Arguments for using Interleaving

x := x+1 x := x+1 x := x+1

• In general: 2n possible transitions

• With interleaving: n possible transitions

Page 22: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

22

• Some (noninteresting) “pathological” properties are satisfied when using interleaving

Limitations of interleaving

• Interleaving makes the system satisfy the (uninteresting) property:

“there must be a (short) instant when x and y are different”

l1

l2

Variables: x,y: integerInitially x = y = 0

x := x+1

m1

m2

y := y+1

Page 23: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

23

Small Example: Mars Pathfinder 1997

Typical properties of synchronization in real-time systems

• Mutual exclution

– A process cannot access the data-bus unless it owns a mutex-lock

• Scheduling priority

– Saving data to memory has higher priority than processing data

– Low priority process cannot execute when high priority process is ready to execute or executes

Small Idealized Example from Reality

Page 24: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

24

Idealized model of processes

idle

wait

run

idle

wait

run

High priority process Low priority process

Page 25: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

25

Idealized model of processes

idle

wait

run

Variables: l: integerInitially l = 1

l := 1

l = 1 -> l := 0

idle

wait

run

l := 1

l = 1 -> l := 0

High priority process Low priority process

Page 26: Lecture 2: Transition Systems, Computations, etc.€¦ · to P2 to P1 from P2 from P1 Labels. 4 Model to describe the operational behavior of systems Example: Resource Allocation

26

Idealized model of processes

idle

wait

run

Variables: l: integerInitially l = 1

High@idle -> l := 1

High@idle /\ l = 1 -> l := 0

idle

wait

run

l := 1

l = 1 -> l := 0

High priority process Low priority process