Hybrid Systems Concurrent Models of Computation EEN 417 Fall 2013.

Post on 31-Dec-2015

219 views 3 download

Tags:

Transcript of Hybrid Systems Concurrent Models of Computation EEN 417 Fall 2013.

Hybrid SystemsConcurrent Models of Computation

EEN 417Fall 2013

HYBRID SYSTEMS

Discrete System (FSM)

Continuous System

Hybrid System jump

flow

Topics in Today’s Lecture Examples of Hybrid Systems

The Hybrid Automaton Model – properties of this kind of model

A Thermostat

(happen instantaneously)

Dynamics of Thermostat

t

x82

80

70

68

on

off

Hybrid Automaton for Thermostat

Is this automaton deterministic?

Formal Representation of Hybrid Automaton

Where do Hybrid Systems arise?

Digital controller of physical “plant” – thermostat – controller for power plant– intelligent cruise control in cars – aircraft auto pilot

Phased operation of natural phenomena– bouncing ball– biological cell growth

Multi-agent systems– ground and air transportation systems– interacting robots (e.g., RoboSoccer)

Another example

Example due to George Pappas, UPenn

Change in Temperature

510 550

+1 +5

-5 -1

-9 -5

Nuclear reactor example (contd.)

Example due to George Pappas, UPenn

Each time step, T, y1, and y2 change.

Hybrid Automaton for Bouncing Ball

x – vertical distance from ground (position)v – velocity c – coefficient of restitution, 0 · c · 1

Behavior of Bouncing Ball Automaton: Plot position x as a function of time t ,

where x starts at height xmax

What kind of plot would you expect?

Simulation of Bouncing Ball Automaton in Ptolemy II / HyVisual

Zeno Behavior

What is a Zeno machine?

Zeno Behavior

•Informally:• The system makes an infinite number of jumps• in finite time

A Run/Execution of a Hybrid Automatontim

e

Zeno Behavior: Formal Definitiontim

e

Analysis of Zeno Behavior of Bouncing Ball

Why does Zeno Behavior Arise?

Why does Zeno Behavior Arise?•Our model is a mathematical artifact

Why does Zeno Behavior Arise?•Our model is a mathematical artifact

•Zeno behavior is mathematically possible, but it is infeasible in the real, physical world

•Points to some unrealistic assumption in the model

CONCURRENT MODELS OF COMPUTATION

Recall: Actor Model for State Machines

•Expose inputs and outputs, enabling composition:

Recall: Actor Model of Continuous-Time 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.

Example: Actor model of the helicopter

•Input is the net torque of the tail rotor and the top rotor. Output is the angular velocity around the y axis.

Parameters of the model are shown in the box. The input and output relation is given by the equation to the right.

Recall: Composition of actor models

Recall: Feedback Composition

Angular velocity appears on both

sides. The semantics (meaning) of

the model is the solution to this

equation.

Models of Computation (MoC)•A model of computation assigns semantics (meaning) to the syntax defined in the actor model.

•The MoC gives operational rules for executing a model. These rules determine when actors perform internal computation, update their internal state, and perform external communication.

•An MoC also defines the nature of communication between components (e.g., buffered I/O).

Model of Computation (MoC):Continuous Time (CT)

Discrete-Time (DT) Actor Models

•Discrete-time helicopter model looks the same:

Time-Triggered Reactions of FSMs use a Discrete-Time MoC

sigG

sigY

sigR

sigR

pedR

pedG

Mixed Signal Models•A more reasonable model of a discrete helicopter controller would be a mixed-signal model:

•Here, the signals inside the blue area are continuous-time signals, and the ones outside are discrete-time signals.

To jointly model discrete and continuous-time signals in the same MoC, use the notion of “absent” values

Event-triggered composition of state machines uses a discrete-event MoC.

Actors are not the only way to do things

•Imperative, Threads, Declarative physical models, Constraints, …

Modelica

model of an

industrial robot.

Modelica uses

Spice-like

models where

components

have no inputs

or outputs.

Uniformly Timed Schedule

•A preferable schedule would space invocations of A and B uniformly in time, as in:

minimum latency

Non-Concurrent Uniformly Timed Schedule

•Notice that in this schedule, the rate at which A and B can be invoked is limited by the execution time of C.

No jitter, but utilization is poor.

Concurrent Uniformly Timed Schedule:Preemptive schedule

•With preemption, the rate at which A and B can be invoked is limited only by total computation:

…preemptions

thread 1:

thread 2:

high priority

low priority

Ignoring Initial Transients,Abstract to Periodic Tasks

•In steady-state, the execution follows a simple periodic pattern:

thread 1:

thread 2:

sampleTime = 1 sampleTime = 1

sampleTime = 8

This follows the principles of rate-monotonic scheduling (RMS).

Requirement 1 for Determinacy: Periodicity

•If the execution of C runs longer than expected, data determinacy requires that thread 1 be delayed accordingly. This can be accomplished with semaphore synchronization. But there are alternatives: Throw an exception to indicate timing failure. “Anytime” computation: use incomplete results of C

thread 1:

thread 2:sampleTime: 1 sampleTime: 1

sampleTime: 8

interlock

Requirement 1 for Determinacy: Periodicity

•If the execution of C runs shorter than expected, data determinacy requires that thread 2 be delayed accordingly. That is, it must not start the next execution of C before the data is available.

thread 1:

thread 2:sampleTime: 1 sampleTime: 1

sampleTime: 8

interlock

Semaphore Synchronization Required Exactly Twice Per Major Period

•Note that semaphore synchronization is not required if actor B runs long because its thread has higher priority. Everything else is automatically delayed.

thread 1:

thread 2:sampleTime: 1 sampleTime: 1

sampleTime: 8

Discussion Questions What about more complicated rate conversions (e.g. a task with sampleTime 2 feeding one with sampleTime 3)? How can these ideas be extended to non-periodic execution?

Abstracted Version of the Spectrum Example

•Suppose that C requires 8 data values from A to execute. Suppose further that C takes much longer to execute than A or B. Then a schedule might look like this:

1 1

8

WRAP UP

For next time

Read Chapters 10, 11