Download presentation
Presentation is loading. Please wait.
Published byCalvin French Modified over 9 years ago
1
Hybrid Systems Concurrent Models of Computation EEN 417 Fall 2013
2
HYBRID SYSTEMS
3
Discrete System (FSM) Continuous System Hybrid System jump flow
4
Topics in Today’s Lecture Examples of Hybrid Systems The Hybrid Automaton Model – properties of this kind of model
5
A Thermostat (happen instantaneously)
6
Dynamics of Thermostat t x 82 80 70 68 on off
7
Hybrid Automaton for Thermostat Is this automaton deterministic?
8
Formal Representation of Hybrid Automaton
9
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)
10
Another example Example due to George Pappas, UPenn Change in Temperature
11
Nuclear reactor example (contd.) Example due to George Pappas, UPenn Each time step, T, y1, and y2 change.
12
Hybrid Automaton for Bouncing Ball x – vertical distance from ground (position) v – velocity c – coefficient of restitution, 0 · c · 1
13
Behavior of Bouncing Ball Automaton: Plot position x as a function of time t, where x starts at height x max What kind of plot would you expect?
14
Simulation of Bouncing Ball Automaton in Ptolemy II / HyVisual
15
Zeno Behavior What is a Zeno machine?
16
Zeno Behavior Informally: The system makes an infinite number of jumps in finite time
17
A Run/Execution of a Hybrid Automaton time
18
Zeno Behavior: Formal Definition time
19
Analysis of Zeno Behavior of Bouncing Ball
20
Why does Zeno Behavior Arise?
21
Our model is a mathematical artifact
22
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
23
CONCURRENT MODELS OF COMPUTATION
24
Recall: Actor Model for State Machines Expose inputs and outputs, enabling composition:
25
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.
26
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.
27
Recall: Composition of actor models
28
Recall: Feedback Composition Angular velocity appears on both sides. The semantics (meaning) of the model is the solution to this equation.
29
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).
30
Model of Computation (MoC): Continuous Time (CT)
31
Discrete-Time (DT) Actor Models Discrete-time helicopter model looks the same:
32
Time-Triggered Reactions of FSMs use a Discrete-Time MoC sigG sigY sigR pedR pedG
33
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.
34
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.
35
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.
36
Uniformly Timed Schedule A preferable schedule would space invocations of A and B uniformly in time, as in: … minimum latency
37
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.
38
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
39
Ignoring Initial Transients, Abstract to Periodic Tasks In steady-state, the execution follows a simple periodic pattern: … … thread 1: thread 2: sampleTime = 1 sampleTime = 8 This follows the principles of rate- monotonic scheduling (RMS).
40
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: 8 interlock
41
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: 8 interlock
42
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: 8
43
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?
44
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: … 11 8
45
WRAP UP
46
For next time Read Chapters 10, 11
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.