System Modelling Introduction Finite State Machines Petri Nets - - PowerPoint PPT Presentation

system modelling
SMART_READER_LITE
LIVE PREVIEW

System Modelling Introduction Finite State Machines Petri Nets - - PowerPoint PPT Presentation

System Modelling Introduction Finite State Machines Petri Nets Untimed Model of Computation Synchronous Model of Computation Timed Model of Computation Integration of Computational Models Tightly Coupled Process Networks System Modelling,


slide-1
SLIDE 1

System Modelling

Introduction Finite State Machines Petri Nets Untimed Model of Computation Synchronous Model of Computation Timed Model of Computation Integration of Computational Models Tightly Coupled Process Networks

slide-2
SLIDE 2

System Modelling, Jan-Feb 2005, Kista Finite State Machines 1

The Man, Wolf, Goat, Cabbage Problem

✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ✤ ✣ ✜ ✢ ★ ✧ ✥ ✦ ✓ ✓ ✓ ✓ ✓ ❚ ❚ ❚ ❚ ❚ ✡ ✡ ✡ ✡ ✡ ❚ ❚ ❚ ❚ ❚

g C-MWG m g c w MWC-G W-MCG MG-WC G-MWC MGC-W MWGC-∅ MWG-C WC-MG g w c m g ∅-MWGC

  • A. Jantsch, KTH
slide-3
SLIDE 3

System Modelling, Jan-Feb 2005, Kista Finite State Machines 2

Finite State Machine Definition

Definition: A finite state machine is a five-tuple (Σ, X, g, x0, F) where Σ is a finite alphabet X is a finite set of states g is a state transition function, g : X × Σ → X x0 is the initial state, x0 ∈ X F is the set of final states, F ⊆ X.

  • A. Jantsch, KTH
slide-4
SLIDE 4

System Modelling, Jan-Feb 2005, Kista Finite State Machines 3

The Man-Wolf-Goat-Cabbage Problem as FSM

M = (Σ, X, g, x0, F ), where Σ = {m, w, g, c} X = {(x, y) | x, y ⊆ {M, W, G, C} and y = {M, W, G, C} \ x} x0 = {({M, W, G, C}, ∅)} F = {(∅, {M, W, G, C})} g(({M, W, G, C}, ∅), g) = ({W, C}, {M, G}), g(({W, C}, {M, G}), m) = ({W, C, M}, {G}), g(({M, W, C}, {G}), w) = ({C}, {M, W, G}), g(({M, W, C}, {G}), c) = ({W }, {M, G, C}), g(({C}, {M, W, G}), g) = ({M, G, C}, {W }), g(({W }, {M, G, C}), g) = ({M, W, G}, {C}), g(({M, G, C}, {W }), c) = ({G}, {M, W, C}), g(({M, W, C}, {G}), w) = ({G}, {M, W, C}), g(({G}, {M, W, C}), m) = ({M, G}, {W, C}), g(({M, G}, {W, C}), g) = (∅, {M, W, G, C}).

  • A. Jantsch, KTH
slide-5
SLIDE 5

System Modelling, Jan-Feb 2005, Kista Finite State Machines 4

Some Definitions

  • Σ∗ is the set of strings formed from elements of alphabet Σ.
  • Let g : X × Σ → X be a state transition function. Then g∗ : X × Σ∗ → X

is defined as follows ∀x ∈ X, a ∈ Σ, r ∈ Σ∗. g∗(x, ǫ) = x g∗(x, a) = g(x, a) g∗(x, “a” + r) = g∗(g(x, a), r)

  • A. Jantsch, KTH
slide-6
SLIDE 6

System Modelling, Jan-Feb 2005, Kista Finite State Machines 5

More Definitions

  • A finite state machine M = (Σ, X, g, x0, F) accepts an input string

r ∈ Σ∗ iff g∗(x0, r) ∈ F.

  • The language accepted by M, designated L(M), is the set of strings

accepted by M, i.e. L(M) = {r ∈ Σ∗ | g∗(x0, r) ∈ F}. E.g. in the Man-Wolf-Goat-Cabbage problem the machine M accepts strings “gmwgcmg” and “gmcgwmg” but no other strings. Thus L(M) = {“gmwgcmg”, “gmcgwmg”}.

  • A. Jantsch, KTH
slide-7
SLIDE 7

System Modelling, Jan-Feb 2005, Kista Finite State Machines 6

FSM Accepting an Even Number of Symbols

✣✢ ✤✜ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔

1 1 x0 x2 x1 x3 1 1

M = (Σ, X, g, x0, F), where Σ = {0, 1} X = {x0, x1, x2, x3} F = {x0, x3} g(x0, 0) = x2, g(x0, 1) = x1 g(x1, 0) = x3, g(x1, 1) = x0 g(x2, 0) = x0, g(x2, 1) = x3 g(x3, 0) = x1, g(x3, 1) = x2.

  • x0 represents an even number of both zeros and ones;
  • x3 represents an odd number of both zeros and ones;
  • x1 represents an even number of zeros and an odd number of ones;
  • x2 represents an odd number of zeros and an even number of ones;
  • F = {x0, x3} ⇒ L(M) = {r ∈ Σ∗ | #r mod 2 = 0}.
  • A. Jantsch, KTH
slide-8
SLIDE 8

System Modelling, Jan-Feb 2005, Kista Finite State Machines 7

Non-finite State Machines

Definition: A state machine is a five-tuple (Σ, X, g, x0, F) where Σ is a countable alphabet X is a countable set of states g is a state transition function, g : X × Σ → X x0 is the initial state, x0 ∈ X F is the set of final states, F ⊆ X.

  • A. Jantsch, KTH
slide-9
SLIDE 9

System Modelling, Jan-Feb 2005, Kista Finite State Machines 8

Nondeterministic Finite State Machines

Definition: A nondeterministic finite state machine is a five tuple (Σ, X, g, x0, F) where Σ is a finite alphabet X is a finite set of states g is a state transition mapping, g : X × Σ → ℘(X) x0 is the initial state, x0 ∈ X F is the set of final states, F ⊆ X.

  • A. Jantsch, KTH
slide-10
SLIDE 10

System Modelling, Jan-Feb 2005, Kista Finite State Machines 9

An Example Nondeterministic FSM

✖✕ ✗✔

a x1 x0 a b

M = (Σ, X, x0, g, F) is defined as follows. Σ = {a, b} X = {x0, x1} F = {x0} g(x0, a) = {x0, x1}, g(x0, b) = ∅ g(x1, a) = ∅, g(x1, b) = {x0}

  • A. Jantsch, KTH
slide-11
SLIDE 11

System Modelling, Jan-Feb 2005, Kista Finite State Machines 10

Extended Transition Function for Nondeterministic FSM

g : X × Σ → ℘(X) is a state transition function Then g∗ : X × Σ∗ → ℘(X) is defined as follows ∀x ∈ X, a ∈ Σ, r ∈ Σ∗. g∗(x, ǫ) = {x} g∗(x, a) = g(x, a) g∗(x, r + “a”) = {z | z ∈ g(y, r) for some y ∈ g∗(x, r)}

  • A. Jantsch, KTH
slide-12
SLIDE 12

System Modelling, Jan-Feb 2005, Kista Finite State Machines 11

An Execution Example of a Nondeterministic FSM

✖✕ ✗✔

a x1 x0 a b

For input string “abaab”: g∗({x0}, “abaab”) step 1 = g∗({x0, x1}, “baab”) step 2 = g∗({x0}, “aab”) step 3 = g∗({x0, x1}, “ab”) step 4 = g∗({x0, x1}, “b”) step 5 = g∗({x0}, ǫ) = {x0}

  • A. Jantsch, KTH
slide-13
SLIDE 13

System Modelling, Jan-Feb 2005, Kista Finite State Machines 12

Equivalence of Deterministic and Nondeterministic FSMs

Theorem: For every deterministic finite state machine M there is a nondeterministic finite state machine MND with L(M) = L(MND). Theorem: For every nondeterministic finite state machine M there is a deterministic finite state machine MD with L(M) = L(MD).

  • A. Jantsch, KTH
slide-14
SLIDE 14

System Modelling, Jan-Feb 2005, Kista Finite State Machines 13

Construction of a Deterministic FSM

✖✕ ✗✔

a x1 x0 a b

M = (Σ, X, x0, g, F) Σ = {a, b} X = {x0, x1} F = {x0} g(x0, a) = {x0, x1} g(x0, b) = ∅ g(x1, a) = ∅ g(x1, b) = {x0} Deterministic machine: M D = (ΣD, XD, xD

0 , gD, F D)

ΣD = Σ XD = {y∅, y0, y1, y01} xD = y0 F D = {y0, y01} gD(y∅, a) = y∅, gD(y∅, b) = y∅ gD(y0, a) = y01, gD(y0, b) = y∅ gD(y1, a) = y∅, gD(y1, b) = y0 gD(y01, a) = y01, gD(y01, b) = y0 Intuitively, we have the following correspondence: y∅ : ∅ : “no possible state of M” y0 : {x0} : x0 y1 : {x1} : x1 y01 : {x0, x1} : “either state x0 or state x1”.

  • A. Jantsch, KTH
slide-15
SLIDE 15

System Modelling, Jan-Feb 2005, Kista Finite State Machines 14

Construction of a Deterministic FSM - cont’d

Nondeterministic FSM:

✖✕ ✗✔

a x1 x0 a b

Deterministic FSM:

✖✕ ✗✔ ✖✕ ✗✔ ✣✢ ✤✜ ✖✕ ✗✔ ★ ★ ★ ★

a b b y0 a y1 b b y∅ a y01

  • A. Jantsch, KTH
slide-16
SLIDE 16

System Modelling, Jan-Feb 2005, Kista Finite State Machines 15

Finite State Machnines with ǫ-Moves

Definition: A nondeterministic finite state machine with ǫ-moves is a five tuple (Σ, X, g, x0, F) where Σ is a finite alphabet X is a finite set of states g is a state transition mapping, g : X × (Σ ∪ {ǫ}) → ℘(X) x0 is the initial state, x0 ∈ X F is the set of final states, F ⊆ X.

  • A. Jantsch, KTH
slide-17
SLIDE 17

System Modelling, Jan-Feb 2005, Kista Finite State Machines 16

Finite State Machnines with ǫ-Moves - cont’d

Example:

✚✙ ✛✘ ✖✕ ✗✔ ✖✕ ✗✔

x0 x2 x1 ǫ ǫ b a c

Theorem: For every nondeterministic finite state machine with ǫ-moves M there is a nondeterministic finite state machine MD with L(M) = L(MD).

  • A. Jantsch, KTH
slide-18
SLIDE 18

System Modelling, Jan-Feb 2005, Kista Finite State Machines 17

State Equivalence

Definition: Let M = (Σ, X, g, x0, F) be a finite state

  • machine. Two states x and y are equivalent, denoted

by x ∼ y, iff ∀r ∈ Σ∗ : g∗(x, r) ∈ F ⇔ g∗(y, r) ∈ F. A set R ⊆ X is a set of equivalent states iff ∀x, y ∈ R, r ∈ Σ∗ : x ∼ y.

  • A. Jantsch, KTH
slide-19
SLIDE 19

System Modelling, Jan-Feb 2005, Kista Finite State Machines 18

State Equivalence - cont’d

(i) Two states x ∈ F and y / ∈ F are not equivalent because g(x, ǫ) ∈ F but g(y, ǫ) / ∈ F. (ii) Two states x, y ∈ X, of which either both are in F or neither is in F, are equivalent if ∀e ∈ Σ : g(x, e) = g(y, e). (iii) Two states x, y ∈ X, of which either both are in F or neither is in F, are equivalent if for some e ∈ Σ : g(x, e) = y and g(y, e) = x and ∀e′ ∈ Σ, e′ = e : g(x, e′) = g(y, e′). Thus, for event e the states x and y are simply interchanged and for all other events the successor states for x and y are identical. (iv) We can generalize previous observation. A set R ⊆ X, for which either R ⊆ F or R ∩ F = ∅, is a set of equivalent states if ∀x, y ∈ R, e ∈ Σ : g(x, e) = z / ∈ R ⇒ g(y, e) = z. Intuitively, if for an event e the set R is left, it is left for all states in R and it leads to the same state outside R.

  • A. Jantsch, KTH
slide-20
SLIDE 20

System Modelling, Jan-Feb 2005, Kista Finite State Machines 19

State Aggregation

Algorithm: Step 1. for all pairs of states (x, y) set L(x, y) := ∅; mark all pairs of states (x, y) with x ∈ F and y / ∈ F; Step 2. for every pair (x, y) not marked do set flag := 0; Step 2.1. for every e ∈ Σ; do if (g(x, e), g(y, e)) is marked then markall(L, (x, y)); set flag := 1; Step 2.2. if (flag = 0) then for every e ∈ Σ if (g(x, e) = g(y, e)) then add (x, y) to L(g(x, e), g(y, e)). L(x, y) = set of states that are equivalent iff x ∼ y.

  • A. Jantsch, KTH
slide-21
SLIDE 21

System Modelling, Jan-Feb 2005, Kista Finite State Machines 20

State Aggregation Example - 1

✣✢ ✤✜ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔

1 1 x0 x2 x1 x3 1 1

Step 1: x0 x1 x2 x3 x0 ×

  • x1

× ×

  • x2

× × ×

  • x3

× × × × (x0, x3) and (x1, x2) are not marked.

  • A. Jantsch, KTH
slide-22
SLIDE 22

System Modelling, Jan-Feb 2005, Kista Finite State Machines 21

State Aggregation Example - 2

Step 2: We consider the pairs {(x1, x2), (x0, x3)}. First iteration through the loop of (step 2): We set (x, y) := (x1, x2) and flag := 0. Step 2.1: The list of events to consider is {0, 1}. e := 0: g(x1, 0) = x3, g(x2, 0) = x0 and (x0, x3) are not marked. e := 1: g(x1, 1) = x0, g(x2, 1) = x3 and (x0, x3) are not marked. Step 2.2: Since flag is not set, we enter (step 2.2). e := 0: g(x1, 0) = x3 = g(x2, 0) = x0; we set L(x0, x3) := {(x1, x2)}. e := 1: g(x1, 1) = x0 = g(x2, 1) = x3; L(x0, x3) := L(x0, x3) ∪ (x1, x2) = {(x1, x2)}.

  • A. Jantsch, KTH
slide-23
SLIDE 23

System Modelling, Jan-Feb 2005, Kista Finite State Machines 22

State Aggregation Example - 3

Step 2: (x, y) := (x0, x3) and flag := 0. Step 2.1: The list of events to consider is {0, 1}. e := 0: g(x0, 0) = x2, g(x3, 0) = x1 and (x1, x2) is not marked. e := 1: g(x0, 1) = x1, g(x3, 1) = x2 and (x1, x2) is not marked. Step 2.2: Since flag has not been set, we enter (step 2.2). Again we have to go through the set of events. e := 0: g(x0, 0) = x2 = g(x3, 0) = x1; L(x1, x2) := {(x0, x3)}. e := 1: g(x0, 1) = x1 = g(x3, 1) = x2; L(x0, x3) := L(x1, x2) ∪ (x0, x3) = (x0, x3). End: (x0, x3) and (x1, x2) are unmarked; ⇒ x0 ∼ x3 and x1 ∼ x2.

  • A. Jantsch, KTH
slide-24
SLIDE 24

System Modelling, Jan-Feb 2005, Kista Finite State Machines 23

State Aggregation Example - 4

✚✙ ✛✘ ✖✕ ✗✔ ✖✕ ✗✔ ✚✙ ✛✘ ✖✕ ✗✔ ✘ ✘ ✘ ❳ ❳ ❳

0,1 x03 x0 1 x2 x3 1 x1 1 1 x12 0,1

  • A. Jantsch, KTH
slide-25
SLIDE 25

System Modelling, Jan-Feb 2005, Kista Finite State Machines 24

Operations on Languages

Definition: Σ is a set of symbols; L, L1, and L2 are sets of strings from Σ∗. The concatenation of two languages L1 and L2 is L1L2 = {xy | x ∈ L1 and y ∈ L2} Ln is the concatenation of a language n times with itself, i.e. L0 = {ǫ}, Li = LLi−1, ∀i > 0. The Kleene closure of L is L∗ =

  • i=0

Li. The positive Kleene closure, L+, is the setL+ =

  • i=1

Li.

  • A. Jantsch, KTH
slide-26
SLIDE 26

System Modelling, Jan-Feb 2005, Kista Finite State Machines 25

Operations on Languages - Examples

Let Σ = {a, b, c}, L1 = {ǫ, a, abb} and L2 = {c}. Then L2

1

= {ǫ, a, abb, aa, aabb, abba, abbabb} L3

2

= {ccc} L1L2 = {c, ac, abbc} L∗

1

= {ǫ, a, abb, aa, abba, aabb, abbabb, aaa, abbaa, aabba, . . .} L+

2

= {c, cc, ccc, . . .}

  • A. Jantsch, KTH
slide-27
SLIDE 27

System Modelling, Jan-Feb 2005, Kista Finite State Machines 26

Regular Expressions and Regular Languages

Definition: Let Σ be an alphabet. The regular expressions and the sets that they denote are defined as follows.

  • 1. ∅ is a regular expression and denotes the empty set.
  • 2. ǫ is a regular expression and denotes {ǫ}.
  • 3. For each a ∈ Σ, a is a regular expression and denotes {a}.
  • 4. If r and s are regular expressions with L(r) = R, L(s) = S,

then (a) (r + s) is a regular expression with L(r + s) = R ∪ S; (b) (rs) is a regular expression with L(rs) = RS; (c) r∗ is a regular expression with L(r∗) = R∗. Definition: Every set (language) that can be denoted by a regular expression is a regular set (regular language).

  • A. Jantsch, KTH
slide-28
SLIDE 28

System Modelling, Jan-Feb 2005, Kista Finite State Machines 27

Regular Expression Examples

  • aa: L(aa) = {aa}
  • a∗: L(a∗) = {ǫ, a, aa, . . .}
  • (a + ab)∗: L((a + ab)∗) = all strings starting with a and

with at most 1 consecutive b;

  • aab(a + b)∗baa: L(aab(a + b)∗baa) = all strings of a’s and

b’s beginning with aab and ending with baa;

  • A. Jantsch, KTH
slide-29
SLIDE 29

System Modelling, Jan-Feb 2005, Kista Finite State Machines 28

Regular Expressions and Finite State Machines

Theorem: A language can be denoted by a regular expression iff there exists a nondeterministic finite state machine with ǫ-transitions which accepts the language.

  • A. Jantsch, KTH
slide-30
SLIDE 30

System Modelling, Jan-Feb 2005, Kista Finite State Machines 29

FSM Templates for Regular Expressions

✧✦ ★✥ ✧✦ ★✥ ✧✦ ★✥ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔

x1 x3

✪ ✪ ✪ ✪ ❜❜❜❜❜ ❡ ❡ ❡ ❡ ✑✑✑✑✑

ǫ x0 x3 x2 ǫ M2 M1 x0 x1 x2 ǫ ǫ ǫ ǫ x2 M1 x0 ǫ ǫ ǫ x4 x5 x3 x1 M2 M1

Kleene Closure: r∗ Concatanation: rs Union: r + s

  • A. Jantsch, KTH
slide-31
SLIDE 31

System Modelling, Jan-Feb 2005, Kista Finite State Machines 30

FSM Construction Example - 1

r = ab∗ + a

✒✑ ✓✏ ✚✙ ✛✘

x0 x1 a a :

✒✑ ✓✏ ✚✙ ✛✘

x2 b x3 b :

✒✑ ✓✏ ✚✙ ✛✘

x4 b x5 a :

  • A. Jantsch, KTH
slide-32
SLIDE 32

System Modelling, Jan-Feb 2005, Kista Finite State Machines 31

FSM Construction Example - 2

r = ab∗ + a

✖✕ ✗✔ ✖✕ ✗✔ ✣✢ ✤✜ ✖✕ ✗✔

x3 b x2 x7 ǫ ǫ ǫ ǫ x6 b∗ :

✚✙ ✛✘ ✒✑ ✓✏

x7

✒✑ ✓✏ ✒✑ ✓✏ ✒✑ ✓✏ ✒✑ ✓✏

x1 a ǫ x6 ǫ x2 b x3 ǫ ǫ ǫ x0 ab∗ :

  • A. Jantsch, KTH
slide-33
SLIDE 33

System Modelling, Jan-Feb 2005, Kista Finite State Machines 32

FSM Construction Example - 3

r = ab∗ + a

☎ ☎ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✧✦ ★✥ ✖✕ ✗✔ ✖✕ ✗✔ ✖✕ ✗✔ ✘ ✘ ❳ ❳ ✘ ✘ ❳ ❳ ✘ ✘ ❳ ❳ ✘ ✘ ❳ ❳ ✦✦✦✦✦✦✦✦✦ ✭ ✭ ✘ ✘ ❳ ❳ ✱ ✱ ✱ ✱ ✱ ❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵❵ ✘ ✘ ❳ ❳ ❭ ❭ ❭ ❭

ǫ x6 ǫ x2 b x3 ǫ ǫ a x7 ǫ ǫ ǫ x9 x1 a x0 ǫ ǫ x8 x4 x5 ab∗ + b :

  • A. Jantsch, KTH
slide-34
SLIDE 34

System Modelling, Jan-Feb 2005, Kista Finite State Machines 33

Moore Finite State Machines

Definition: A deterministic Moore machine is a six-tuple (Σ, ∆, X, g, f, x0) where Σ is a finite alphabet ∆ is a finite output alphabet X is a finite set of states x0 is the initial state, x0 ∈ X g is a state transition function, g : X × Σ → X f is an output function, f : X → ∆

  • A. Jantsch, KTH
slide-35
SLIDE 35

System Modelling, Jan-Feb 2005, Kista Finite State Machines 34

A Moore Machine Example

✓ ✒ ✏ ✑ ✓ ✒ ✏ ✑ ✗ ✖ ✔ ✕ ◗ ◗ ◗ ◗ ◗ ◗ ◗ ◗ ✱ ✱ ✱ ✱ ✱ ✱

T/waiting S/transmitted a t τ1 r I/idle M/preparing τ2

M = (Σ, ∆, X, x0, g, f) with Σ = {a, t, τ1, τ2, r} X = {I, M, T, S} x0 = I ∆ = {idle, preparing, waiting, transmitting} g(I, a) = M, g(M, t) = T g(T, r) = S, g(T, τ1) = M g(S, τ2) = I f(I) = idle, f(M) = preparing f(T) = waiting, f(S) = transmitted

  • A. Jantsch, KTH
slide-36
SLIDE 36

System Modelling, Jan-Feb 2005, Kista Finite State Machines 35

Mealy Finite State Machines

Definition: A deterministic Mealy machine is a six-tuple (Σ, ∆, X, g, f, x0) where Σ is a finite alphabet ∆ is a finite output alphabet X is a finite set of states x0 is the initial state, x0 ∈ X g is a state transition function, g : X × Σ → X f is an output function, f : X × Σ → ∆

  • A. Jantsch, KTH
slide-37
SLIDE 37

System Modelling, Jan-Feb 2005, Kista Finite State Machines 36

A Mealy Machine Example

✖✕ ✗✔ ✒✑ ✓✏

a/received I M t/transmitted T τ/timout r/acknowledged

M = (Σ, ∆, X, x0, g, f): Σ = {a, t, τ, r} X = {I, M, T} x0 = I ∆ = {received, transmitted, time-out, acknowledged} g(I, a) = M, g(M, t) = T g(T, r) = I, g(T, τ) = M f(I, a) = received, f(M, t) = transmitted f(T, τ) = time-out, f(S, r) = acknowledged

  • A. Jantsch, KTH
slide-38
SLIDE 38

System Modelling, Jan-Feb 2005, Kista Finite State Machines 37

Summary

  • Finite state machines
  • State machine with infinite, countable state space
  • Nondeterministic FSM
  • FSM with ǫ-move
  • Equivalence of FSM with nondeterministic FSM with

ǫ-FSM

  • State equivalence and state aggregation
  • Regular expressions and regular languages
  • Equivalence of regular languages and FSMs
  • Moore FSMs
  • Mealy FSMs
  • A. Jantsch, KTH