Arijit Mondal Dept. of Computer Science & Engineering...

33
IIT Patna 1 Composition of State Machine Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna [email protected]

Transcript of Arijit Mondal Dept. of Computer Science & Engineering...

Page 1: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 1

Composition of State Machine

Arijit MondalDept. of Computer Science & Engineering

Indian Institute of Technology Patna

[email protected]

Page 2: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 2

Introduction

• A system can have large number of states

• Dividing large state machine into smaller can ease modeling

• Multiple state machines interact with each other to realize bigger functionality

• Known as concurrent composition

• Hybrid systems are example of sequential composition

Page 3: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 3

Concurrent composition

• Two or more state machines react either simultaneously or independently

• Synchronous composition — if the reaction occurs simultaneously

• Asynchronous composition — if the reaction occurs independently

• Need to define semantics of such composition

Page 4: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

side-by-side

cascade

A B

feedback

IIT Patna 4

Spatial composition

• Side-by-side composition

• Cascade composition

• Feedback composition

Page 5: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A

B

iA

iB

oA

oB

C

IIT Patna 5

Side-by-side synchronous composition

Page 6: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 6

Synchronous composition

• A reaction in the composition system is a simultaneous reaction of its constituents

• Recall, environment decides when state machine reacts

• Synchronous side-by-side composition is easy

• Such compositions are modular

• If A and B are deterministic, then so is synchronous side-by-side composition

• Compositional — if a property held by the components is also a property of thecomposition

• Determinism is compositional

Page 7: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 7

Mathematical description

• Let SMA = 〈SA, IA,OA, updateA, S0A〉

• Let SMB = 〈SB , IB ,OB , updateB , S0B〉

• S - states, I - inputs, O - outputs, S0 - initial state

• Composition machine C will have

• SC = SA × SB• IC = IA × IB• OC = OA × OB

• S0C = S0

A × S0B

• updateC ((sA, sB), (iA, iB)) = ((s ′A, s′B), (oA, oB)) where

(s ′A, oA) = updateA(sA, iA) and(s ′B , oB) = updateB(sB , iB)

Page 8: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

true/

true/a

output: a

A

a

S3 S4

true/b

true/

output: b

B

b

C

IIT Patna 8

Side-by-side synchronous composition: example

Page 9: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

true/

true/a

output: a

A

a

S3 S4

true/b

true/

output: b

B

b

C

S1,S3 S2,S4

S1,S4 S2,S3

true/b

true/a

true/

true/a, b

output: a,b

C

a

b

IIT Patna 9

Side-by-side synchronous composition: example

Page 10: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

true/

true/a

output: a

A

a

S3 S4

true/b

true/

output: b

B

b

C

S1,S3 S2,S4

S1,S4 S2,S3

true/b

true/a

true/

true/a, b

output: a,b

C

a

b

IIT Patna 9

Side-by-side synchronous composition: example

Page 11: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 10

Side-by-side asynchronous composition

• Component machine reacts independently

• A reaction of composition machine C is a reaction of one of A or B where the choiceis nondeterministic

• Interleaving in nature as A or B never react simultaneously

• A reaction of composition machine C is a reaction of A or B or both A and B wherethe choice is nondeterministic

• Composition machine C will have

• updateC ((sA, sB), (iA, iB)) = ((s ′A, s′B), (o

′A, o

′B)) where

(s ′A, o′A) = updateA(sA, iA) and s ′B = sB and o ′B = absentOR

(s ′B , o′B) = updateB(sB , iB) and s ′A = sA and o ′A = absent

Page 12: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

true/

true/a

output: a

A

a

S3 S4

true/b

true/

output: b

B

b

C

S1,S3 S2,S3

S1,S4 S2,S4

true/

true/a

true/b

true/

true/a

true/

true/

true/b

output: a,b

C

a

b

IIT Patna 11

Side-by-side asynchronous composition:example

Page 13: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

true/

true/a

output: a

A

a

S3 S4

true/b

true/

output: b

B

b

C

S1,S3 S2,S3

S1,S4 S2,S4

true/

true/a

true/b

true/

true/a

true/

true/

true/b

output: a,b

C

a

b

IIT Patna 11

Side-by-side asynchronous composition:example

Page 14: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 12

Composition using shared variable

• Extended state machine has local variables

• Sometime it is useful when composing state machine to allow these variables shared

• Useful for modeling interrupts, threads, etc.

• Atomic operation

Page 15: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 13

Composition using shared variable: example

• Two servers receive request

• Each request requires unknown amount of time of service

• Server shares queue of request

• If one server is busy, the other server can respond yo a request, even if the requestarrives at the network interface of the first server

Page 16: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

idle servingreq/

pend > 0 ∧ ¬req/pend := pend − 1

¬req ∧ pend = 0/done req/pend := pend + 1

req/done

¬req ∧ pend > 0/donepend := pend − 1¬req/

output: done

input: request

A

done doneA

idle servingreq/

pend > 0 ∧ ¬req/pend := pend − 1

¬req ∧ pend = 0/done req/pend := pend + 1

req/done

¬req ∧ pend > 0/donepend := pend − 1¬req/

output: done

input: request

B

done doneB

C

IIT Patna 14

Server queue

Page 17: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 15

Cascade composition

• Output of one of the machines feeds into input of the other

A BiA oA iB oB

• Data type must conform

• Synchronous composition

Page 18: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

IIT Patna 16

Cascade composition:Example

• Output of one of the machines feeds into input of the other

S1 S2

input: a

output b

¬a/

true/

a/b

A

S3 S4

input: b

output c

¬b/

true/

b/c

BC

a cb b

Page 19: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

input: a

output b

¬a/

true/

a/b

A

S3 S4

input: b

output c

¬b/

true/

b/c

BC

a cb b

S1,S3 S2,S4

S1,S4 S2,S3

¬a/

true/

¬a/

true/

a/

a/c

input: a

output c

a c

IIT Patna 17

Cascade composition:synchronous

Page 20: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

S1 S2

input: a

output b

¬a/

true/

a/b

A

S3 S4

input: b

output c

¬b/

true/

b/c

BC

a cb b

S1,S3 S2,S4

S1,S4 S2,S3

¬a/

true/

¬a/

true/

a/

a/c

input: a

output c

a c

IIT Patna 17

Cascade composition:synchronous

Page 21: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

green red

variable: pcount

input: sigR

output: pedG, pedRpcout ≥ 55/pedR

sigR/pedGpcount := 0

pcount := pcount + 1

pcount:=0

IIT Patna 18

Cascade composition:Traffic light

Page 22: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

green red

variable: pcount

input: sigR

output: pedG, pedR

pcout ≥ 55/pedR

sigR/pedGpcount := 0

pcount := pcount + 1

pcount:=0

red pending

green

yellow

variable: count : {0, 1, . . . ,M}input: pedestrian : pureoutput: sigY , sigG , sigR : pure

count := 0

count ≥ 60/sigGcount := 0

pedestrian ∧ count < 60/count := count + 1

count ≥ 60/sigYcount := 0count ≥ 5/sigR

count := 0

pedestrian ∧ count ≥ 60/sigYcount := 0

count :=count+1 count :=

count+1

count < 60/count := count + 1

count := count + 1

IIT Patna 19

Cascade composition:Traffic light

Page 23: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

red,red

green,red

pending,red

yellow,red

red,green

variable: pcount,count

input: pedestrian

output: sigG,sigR,sigY,pedG,pedR

count ≥ 60/sigGcount := 0

pedestrian ∧ count < 60

count ≥ 60/sigYcount := 0

count ≥ 5/sigR, pedGcount := 0pcount := 0

pcount ≥ 55/pedRcount := count + 1

pedestrian ∧ count ≥ 60/sigYcount := 0

count := count + 1

count < 60/count := count + 1

count := count + 1

count := count + 1

count := count + 1pcount := pcount + 1

pcount := 0count := 0

IIT Patna 20

Cascade composition:Traffic light

Page 24: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A1

A2

A3

B

IIT Patna 21

General composition

Page 25: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

IIT Patna 22

Hierarchical SM

Page 26: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

A C D

g2/a2

¬g1 ∧ ¬g4/a1

g1 ∧ g4/a4; a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1 ∧ ¬g3/a1

g1 ∧ g3/a3; a1

IIT Patna 23

Hierarchical SM

Page 27: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

A C D

g2/a2

¬g1 ∧ ¬g4/a1

g1 ∧ g4/a4; a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1 ∧ ¬g3/a1

g1 ∧ g3/a3; a1

IIT Patna 23

Hierarchical SM

Page 28: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

IIT Patna 24

Hierarchical SM: preemptive transition

Page 29: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

A C D

g2/a2

g1/a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1/a1

IIT Patna 25

Hierarchical SM: preemptive transition

Page 30: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2

g1/a1

C D

g4/a4

g3/a3

A C D

g2/a2

g1/a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1/a1

IIT Patna 25

Hierarchical SM: preemptive transition

Page 31: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2H

g1/a1

C D

g4/a4

g3/a3

IIT Patna 26

Hierarchical SM: history transition

Page 32: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2H

g1/a1

C D

g4/a4

g3/a3

A,C B,C

B,DA,D

g2/a2

g1 ∧ ¬g4/a1

g2/a2

g1 ∧ ¬g3/a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1 ∧ g4/a4; a1

g1 ∧ g3/a3; a1

IIT Patna 27

Hierarchical SM: history transition

Page 33: Arijit Mondal Dept. of Computer Science & Engineering ...arijit/dokuwiki/lib/exe/fetch.php?media=courses:2017:ee512:05... · IIT Patna 1 Composition of State Machine Arijit Mondal

A B

g2/a2H

g1/a1

C D

g4/a4

g3/a3

A,C B,C

B,DA,D

g2/a2

g1 ∧ ¬g4/a1

g2/a2

g1 ∧ ¬g3/a1

¬g1 ∧ g4/a4

¬g1 ∧ g3/a3

g1 ∧ g4/a4; a1

g1 ∧ g3/a3; a1

IIT Patna 27

Hierarchical SM: history transition