Top Banner
Introduction to Embedded Systems Edward A. Lee & Alberto Sangiovanni Vincentelli UC Berkeley EECS 149 Fall 2014 Modeling Modal Behavior, Part I
32

Introduction to Embedded Systems - Semantic Scholar

Mar 25, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Embedded Systems - Semantic Scholar

Introduction to Embedded Systems

Edward A. Lee & Alberto Sangiovanni Vincentelli UC Berkeley EECS 149 Fall 2014

Modeling Modal Behavior, Part I

Page 2: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 2

Actor Model of Systems

A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves are functions. Parameters may affect the definition of the function S.

Page 3: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 3

Discrete Systems

Example: count the number of cars that enter and leave a parking garage: Pure signal: Discrete actor:

Counter : (R� {absent,present})P � (R� {absent}⇥N)

up : R� {absent,present}

P = {up,down}

Page 4: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 4

Reaction

Counter : (R� {absent,present})P � (R� {absent}⇥N)P = {up,down}

For any t �R where up(t) ⇥= absent or down(t) ⇥= absent theCounter reacts. It produces an output value in N andchanges its internal state.

Page 5: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 5

Inputs and Outputs at a Reaction For t ⇥ R the inputs are in a set

Inputs = ({up,down}�{ absent,present})

and the outputs are in a set

Outputs = ({count}�{ absent}⇤N) ,

Page 6: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 6

State Space

A practical parking garage has a finite number M of spaces,so the state space for the counter is

States = {0,1,2, · · · ,M} .

Page 7: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 7

Garage Counter Finite State Machine (FSM) in Pictures

Guard g� Inputs is specified using the shorthand

up⇥¬down

which meansg = {{up}} .

Page 8: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 8

Garage Counter Finite State Machine (FSM) in Pictures

Initial state

Page 9: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 9

Garage Counter Finite State Machine (FSM) in Pictures

Output

Page 10: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 10

Garage Counter Mathematical Model

Formally: (States, Inputs,Outputs,update, initialState), where

• States = {0,1, · · · ,M}

• Inputs = ({up,down}⇥{ absent,present}

• Outputs = ({count}⇥{ absent}⇤N)

• update : States� Inputs⇥ States�Outputs

• initialState = 0

The picture above defines the update function.

Page 11: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 11

FSM Notation

transition

self loop

state

initial state

Page 12: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 12

Examples of Guards for Pure Signals

true Transition is always enabled.p1 Transition is enabled if p1 is present.¬p1 Transition is enabled if p1 is absent.

p1� p2 Transition is enabled if both p1 and p2 are present.p1⇥ p2 Transition is enabled if either p1 or p2 is present.

p1�¬p2 Transition is enabled if p1 is present and p2 is absent.

Page 13: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 13

Examples of Guards for Signals with Numerical Values

p3 Transition is enabled if p3 is present (not absent).p3 = 1 Transition is enabled if p3 is present and has value 1.

p3 = 1� p1 Transition is enabled if p3 has value 1 and p1 is present.p3 > 5 Transition is enabled if p3 is present with value greater than 5.

Page 14: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 14

Example: Thermostat

Page 15: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 15

When does a reaction occur?

Suppose all inputs are discrete and a reaction occurs when any input is present. Then the above transition will be taken whenever the current state is s1 and x is present. This is an event-triggered model.

Page 16: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 16

When does a reaction occur?

Suppose x and y are discrete and pure signals. When does the transition occur?

Answer: when the environment triggers a reaction and x is absent. If this is a (complete) event-triggered model, then the transition will never be taken because the reaction will only occur when x is present!

Page 17: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 17

When does a reaction occur?

Suppose all inputs are discrete and a reaction occurs on the tick of an external clock. This is a time-triggered model.

Page 18: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 18

More Notation: Default Transitions

A default transition is enabled if no non-default transition is enabled and it either has no guard or the guard evaluates to true. When is the above default transition enabled?

Page 19: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 19

Only show default transitions if they are guarded or produce outputs Example: Traffic Light Controller

Page 20: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 20

Example where default transitions need not be shown

Exercise: From this picture, construct the formal mathematical model.

Page 21: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 21

Definitions

•  Stuttering transition: (possibly implicit) default transition that is enabled when inputs are absent, that does not change state, and that produces absent outputs.

•  Receptiveness: For any input values, some transition is enabled. Our structure together with the implicit default transition ensures that our FSMs are receptive.

•  Determinism: In every state, for all input values, exactly one (possibly implicit) transition is enabled.

Page 22: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 22

Example: Nondeterministic FSM

Model of the environment for a traffic light, abstracted using nondeterminism: Formally, the update function is replaced by a function

possibleUpdates : States� Inputs⇥ 2States�Outputs

Page 23: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 23

Behaviors and Traces

•  FSM behavior is a sequence of (non-stuttering) steps. •  A trace is the record of inputs, states,

and outputs in a behavior. •  A computation tree is a graphical

representation of all possible traces.

FSMs are suitable for formal analysis. For example, safety analysis might show that some unsafe state is not reachable.

Page 24: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 24

Uses of nondeterminism

1.  Modeling unknown aspects of the environment or system ¢  Such as: how the environment changes the iRobot’s

orientation 2.  Hiding detail in a specification of the system

¢  We will see an example of this later (see the text)

Any other reasons why nondeterministic FSMs might be preferred over deterministic FSMs?

Page 25: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 25

Size Matters

Non-deterministic FSMs are more compact than deterministic FSMs

l  A classic result in automata theory shows that a nondeterministic FSM has a related deterministic FSM that is equivalent in a technical sense (language equivalence, covered in Chapter 13).

l  But the deterministic machine has, in the worst case, many more states (exponential in the number of states of the nondeterministic machine, see Appendix B).

Page 26: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 26

Non-deterministic Behavior: Tree of Computations

For a fixed input sequence: ¢  A deterministic system exhibits a single behavior ¢  A non-deterministic system exhibits a set of behaviors

l  visualized as a computation tree

. . .

. . .

. . .

. . .

. . .

Deterministic FSM behavior:

Non-deterministic FSM behavior:

Page 27: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 27

Related points

What does receptiveness mean for non-deterministic state machines? Non-deterministic Probabilistic

Page 28: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 28

It is sometimes useful to even model continuous systems as FSMs by discretizing their state space. E.g.: Discretized iRobot Hill Climber

Page 29: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 29

Example from Industry: Engine Control

Source: Delphi Automotive Systems (2001)

Page 30: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 30

Elements of a Modal Model (FSM)

Source: Delphi Automotive Systems (2001)

state

initial state

transition

input

output

Page 31: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 31

Actor Model of an FSM

This model enables composition of state machines.

Page 32: Introduction to Embedded Systems - Semantic Scholar

EECS 149, UC Berkeley: 32

What we will be able to do with FSMs

FSMs provide: 1. A way to represent the system for:

l  Mathematical analysis l  So that a computer program can manipulate it

2. A way to model the environment of a system. 3. A way to represent what the system must do and must not do – its specification. 4. A way to check whether the system satisfies its specification in its operating environment.