Modelling Hybrid systems Hybrid Systems n Hybrid combined
Modelling Hybrid systems
Hybrid Systems n Hybrid (combined) Modeling Framework – Use more than one formalism – Different formalisms to specify different levels of abstraction – Top-down design – step-wise refinement – Ex: FSM + Difference equation Design and Implement the following waveform generator • Observation Periodic, say-tooth waveform Tc : Charging time Td : Discharging time • Top-Level Spec in FSM M=<X, Y, S, , > S = { Ch, Dis} X = { charge, discharge} Y= { 0_to_V, V_to_0} V Tc Td
Example: hierarchical control n Ex. Hierarchical control Operator Planning/scheduling Event-based control Discrete Event Controller Discrete state Command Time-based control Supervisory control PID controller analog/digital actuation Sensor Plant
Motivation Opto-electrical interfaces: transmitter and receiver Conversion of electrical current into optical impulses, and viceversa.
Motivation n Continuous systems analysis: ¨ Different mathematical formalisms ¨ Simulation: solutions to particular problems under certain experimental conditions of interest n Classical methods for continuous systems simulation ¨ Based on numerical approximation ¨ Require time discretization => of time ¨ Inefficient in terms of execution times ¨ Complex composition; difficulties in integration, multiresolution models n Benefits of DEVS for continuous system M&S ¨ Discrete event models specification: continuous time base ¨ Execution time reduction ¨ Complex system definition using hierarchical modular models ¨ Easier integration with discrete-event models
GDEVS n Generalization of DEVS formalism Polynomial of any degree to represent piecewise input-output trajectories ¨ Introduction of a new event concept: coefficient-events ¨ Piecewise linear trajectory specification n w<t 0; tn> A a trajectory on a continuous time base finite set of instants t 0, t 1, …, tn associated with constant pairs (ai; bi) such that t <ti; tj>, w(t) = ai t + bi, and w<t 0; tn> = w<t 0; t 1>*w<t 1; t 2>*…*w<tn-1; tn> n Advantages of GDEVS Greater accuracy for continuous systems modeling ¨ Unified approach to model hybrid systems ¨
Discontinuities Event at t+d f 1(x, u) t 2 h t-h f 2(x, u) t t+d t+h
Overview of Hybrid OO modelling. n f 1(x, u) t 2 h t-h f 2(x, u) t n The occurrence of events should be notified to the simulation runtime. Time events: calendar of events is known beforehand. t+d t+h n State events: triggered by state of simulation
Quantized DEVS n Continuous signal represented by crossing of an equal spaced set of boundaries, separated by a quantum size n Check for boundary crossing for every change in the model n Outputs generated only when a crossing occurs n Substantial reduction of the message updates frequency Signal Quantization
DEVS Quantized models n n n Crossings of an equal spaced set of boundaries: quantum Quantizer: checks for boundary crossings. The sender computes a value, and generates outputs. The number of messages involved is reduced. The quantizer consumes CPU time. The receiver will have some error, depending on q.
Theoretical results on quantization #messages(D) = #messages(1)/D Error = c D 0 1 Quantum size, D Dtol = tolerance / c Tolerance to error
Q-DEVS with hysteresis n n n strong stability, convergence and error bound properties. If signal changes direction: use n*Q size (proof: n=2 provides best results) If signal keeps current direction: use Q size
QDEVS based models Uniform quantizer n Uniform quantizer with hysteresis Hysteresis assures legitimate DEVS models’ simulation ¨Avoids infinite iterations on finite time interval
Multiple Model Controller
Adaptive Control results q=0. 02 q=0. 2
Higher-order Approximations
Complete model n Multiple model controller allowed to operate as designed, and switch among plant identifying models n Controller was able to find it and use its parameters n Error existed only at the period coinciding w/each jump in plant parameters n Only at time 355 did a false model switch occur (due to two models having almost zero error )
Bond Graphs n n Suitable for multiple domains: electrical, mechanical, hydraulic, etc. Physical processes: vertices in a directed graph. Edges: represent ideal exchange of energy between components. Interactions: 0 -junction (connectors), 1 -junction (interactions between serial components). Causality: given a pair of elements connected through a bond, causality determine which component causes flow, which effort. SF R
Bond Graphs Formalism n Exchange of energy and information between elements of a system can be represented in a graphical form n Energy is the fundamental feature that is exchanged between elements of a system during interaction n Constrained interactions in Bond Graphs are represented by junctions – – constraint equalizes the flow in the elements 1 junction constraint equalizes the effort in the elements 0 junction
A library for Bond Graph development on DEVS n Model library: modular approach to build systems; code reuse n Bond Graph library built to model and simulate continuous systems on different domains n Library designed using GDEVS formalism concepts ¨ BG components developed as atomic GDEVS models of degree one ¨ Multicomponent systems can be built as coupled DEVS components ¨ Models implemented using the CD++ tool
GDEVS Capacitor model ¨ Equations: Flow arrives at component: ext. - Calculates effort: integrate input flow data (generate Capacitor’s load). - Value computed according to the elapsed time since last transition. - Output function transmits the previously computed value yout. - Internal transition: computes next state using a polynomial approximation. External transition . . . // time since last transition elapsed. Time=msg. time(). as. Msecs()- time; // calculates load value c = c+a 1/2*pow(elapsed. Time, 2)+a 0*elapsed. Time; . . . yout->upd. Element. At. Pos(1, c); yout->upd. Element. At. Pos(2, a 1/2*dt + a 0); hold. In( active, Time: : Zero ); Internal transition // approximates load using order 1 polynomial. if ( a 1 != 0 ) { // next state calculated using coefficients c = c + a 1/2 * pow(dt, 2) + a 0*dt; a 0 = a 1*dt + a 0; // coefficient values to send when dt elapsed yout->upd. Element. At. Pos(1, c); yout->upd. Element. At. Pos(2, a 1/2*dt+a 0); hold. In(active, Time(dt)); } else { passivate(); // slope is null }
BG library class hierarchy
Model execution examples n Electrical Circuit Simulation Bond Graph model construction of the electrical circuit Electrical circuit Bond Graph representation
Electrical circuit simulation GDEVS Bond Graph model representation
Bond-Graph model simulation in CD++ • Resistance (R 1)=1 • Inductors: L 1 = 48; L 2 = 48. • Capacitance: C = 65. • Conductance: R 2 = 0. 001 • Effort. Source: emits pulses; period = 2500 ms; duration = 2 ms. Pulse amplitude= 220 V Circuit current
Model execution – Comparing Quantizers n Uniform quantizer vs. HQ (Quantizer with hysteresis) Test cases - Evaluation functions
Modelica n object-oriented language for modeling physical systems n designed to support library development and model exchange n Modelica supports different formalisms such as: – – – ODEs finite state automata Petri nets discrete events bond graphs
Creating Models in Modelica/CD++ Model circuit Modelica. Electrical. Analog. Sources. Sine. Voltage V(V=15, freq. Hz=60); Modelica. Electrical. Analog. Basic. Resistor R 1(R=10); Modelica. Electrical. Analog. Basic. Ground Gnd; equation connect(V. p, R 1. p); connect(R 1. n, V. n); connect(R 1. n, Gnd. p); end circuit 1;
M/CD++ Execution Example: Modelica model circuit Modelica. Electrical. Analog. Sources. Pulse. Voltage V(V=10, width=50, period=2. 5); Modelica. Electrical. Analog. Basic. Resistor R 1(R=0. 001); Modelica. Electrical. Analog. Basic. Inductor I 1(L=500); Modelica. Electrical. Analog. Basic. Inductor I 2(L=2000); Modelica. Electrical. Analog. Basic. Capacitor C(C=10); Modelica. Electrical. Analog. Basic. Resistor R 2(R=1000); Modelica. Electrical. Analog. Basic. Ground Gnd; equation connect(V. p, R 1. p); connect(R 1. n, I 2. p); connect(I 2. n, C. p); connect(I 2. n, R 2. p); connect(C. n, I 1. n); connect(R 2. n, C. n); connect(I 1. n, V. n); connect(V. n, Gnd. p); end circuit;
M/CD++ Execution Example: The results
M/CD++ Execution Example: The results
Modelica/DEVSLib Model Transmitter model The received electrical current (continuous) is translated into optical impulses (discrete). The driver model can include any modulation and polarization circuit. No actions performed in this case, to simplify the model. The laser translates the electrical signal into events using the cross. UP model included in DEVSLib.
Modelica/DEVSLib Model Detail of the cross. UP model when (u > Value-Threshold) and x > 0 and time > 0 then e. Type : = EType; e. Value : = u; e. Port : = 1; send. Event(outport. queue, e); outport. event : = pre(outport. event) + 1; end when;
Cell-DEVS quantization
Quantized Cell-DEVS • Every cell includes a quantizer. • The value produced by the local computing function is quantized. • The quantized value is compared with the quantum threshold. • If the threshold bound was reached, an output is provided. The output is delayed using transport or inertial delays. • If the threshold was not reached, the change is not sent to other models.
Experimental results (a) Heat diffusion: two-dimensional model (10 x 10 cells). One "hot" cell. (b) Heat model with 87% of active cells. (c) Three-dimensional extension of the previous model. (d) Three-dimensional modification of the Life game (e) Four dimensional extension of the previous model. (f) Dynamic heat seeker: a three dimensional model consisting of two adjacent planes.
Number of messages involved
Error behavior
Cell-DEVS w/Dynamic Quantization n Reduce error (improving precision) in each cell. n Rationale: active cell can appear as quiescent (Q size covering activity area). Q dynamically adjusted -> smaller error. n Dynamic increase Q in cells with steep functions: execution improved at a low cost. n Strategy 1: reduce Q if cell's update does not cross threshold (increase precision). Strategy 2: reduce Q if threshold is crossed (2 nd chance in case of oscillations; higher precision). n update
Test cases: a heart tissue model n n Heart muscle excitable; responds to external stimuli by contracting muscular cells. Equations defined by Hodgkin and Huxley
A Watershed model
Flow Injection Analysis Model
Approximating the Corsica fire model
- Slides: 43