continuous dynamics security n.
Skip this Video
Loading SlideShow in 5 Seconds..
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 66


  • Uploaded on

CONTINUOUS DYNAMICS & SECURITY. EEN 417 Fall 2013. 8/30/13, Dr. Eric Rozier , V1.0, ECE Thanks to Edward Lee and Sanjit Seshia of UC Berkeley. Course Progression. Course Progression. Plan for today’s class period. Computer Engineering and Computer Science Continuous Dynamics

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CONTINUOUS DYNAMICS & SECURITY' - iokina

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
continuous dynamics security


EEN 417

Fall 2013

8/30/13, Dr. Eric Rozier, V1.0, ECE

Thanks to Edward Lee and SanjitSeshia of UC Berkeley


Plan for today’s class period

Computer Engineering and Computer Science

Continuous Dynamics

Wrap up





bloom s taxonomy
Bloom’s Taxonomy







cs and ce
CS and CE
  • What are the disciplines?
    • Computer Engineering?
    • Computer Science?
what it isn t
What it isn’t
  • "What would we like our children- the general public of the future—to learn about computer science in schools? We need to do away with the myth that computer science is about computers. Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is about how we use them and what we find out when we do."

-- Ian Parberry

what it isn t1
What it isn’t
  • A confusion of even longer standing came from the fact that the unprepared included the electronic engineers that were supposed to design, build, and maintain the machines. The job was actually beyond the electronic technology of the day, and, as a result, the question of how to get and keep the physical equipment more or less in working condition became in the early days the all-overriding concern. As a result, the topic became —primarily in the USA— prematurely known as "computer science" —which, actually is like referring to surgery as "knife science"— and it was firmly implanted in people's minds that computing science is about machines and their peripheral equipment.

-- EdsgerDijkstra

what it really is
What it really is
  • Computer science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic processes that create, describe, and transform information and formulate suitable abstractions to model complex systems.
  • Computer engineering is the process of analyzing, designing, and integrating the hardware and software systems needed for information processing or computation. Computer engineers are saddled with the difficult tasks of modeling, designing, and analyzing cyberphysical systems which solve interdisciplinary problems in a wide variety of domains.
modeling design analysis
Modeling, Design, Analysis
  • Modeling is the process of gaining a deeper understanding of a system through imitation. Models specify what a system does.
  • Design is the structured creation of artifacts. It specifies how a system does what it does. This includes optimization.
  • Analysis is the process of gaining a deeper understanding of a system through dissection. It specifies why a system does what it does (or fails to do what a model says it should do).
what is modeling
What is Modeling?
  • Developing insight about a system, process, or artifact through imitation.
  • A model is the artifact that imitates the system, process, or artifact of interest.
  • A mathematical model is model in the form of a set of definitions and mathematical formulas.
what is model based design
Create a mathematical model of all the parts of the embedded system

Physical world

Control system

Software environment

Hardware platform


Sensors and actuators

Construct the implementation from the model

Construction may be automated, like a compiler

More commonly, portions are automatically constructed

What is Model-Based Design?
modeling techniques in this course
Models that are abstractions of system dynamics

(how things change over time)


Modeling physical phenomena – ODEs

Feedback control systems – time-domain modeling

Modeling modal behavior – FSMs, hybrid automata

Modeling sensors and actuators – calibration, noise

Modeling software – concurrency, real-time models

Modeling networks – latencies, error rates, packet loss

Modeling Techniques in this Course
modeling of continuous dynamics
Modeling of Continuous Dynamics
  • Ordinary differential equations, Laplace transforms, feedback control systems, stability analysis, robustness analysis, …
modeling physical motion
Six degrees of freedom:

Position: x, y, z

Orientation: pitch, yaw, roll

Modeling Physical Motion
angular version of force is torque for a point mass rotating around a fixed axis
Just as force is a push or a pull, a torque is a twist.

Units: newton-meters/radian, Joules/radian

Note that radians are meters/meter (2p meters of circumference per 1 meter of radius), so as units, are optional.

Angular version of force is torque.For a point mass rotating around a fixed axis:

Ty(t )= rf (t )

angular momentum, momentum

feedback control problem
Feedback Control Problem

A helicopter without a tail rotor, like the one below, will spin uncontrollably due to the torque induced by friction in the rotor shaft.

Control system problem: Apply torque using the tail rotor to counterbalance the torque of the top rotor.

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.

Actor Model of Systems
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.Actor model of the helicopter

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

proportional controller
Proportional controller








Note that the angular velocity appears on both sides, so this equation is not trivial to solve.

How do we measure the angular velocity?

Can this controller be implemented in software?

How does the behavior change when it is implemented in software?

other modeling techniques we will talk about
State machines

sequential decision logic

Synchronous/reactive concurrent composition

concurrent computation

composes well with state machines

Dataflow models

exploitable parallelism

well suited to signal processing

Discrete-event models

explicit about time


suitable for periodic, timed actions

Continuous-time models

models of physical dynamics

extended to “hybrid systems” to embrace computation

Other Modeling Techniques we will talk about
discretized model a step towards software
Discretized ModelA Step Towards Software
  • Numerical integration techniques provided sophisticated ways to get from the continuous idealizations to computable algorithms.
  • Discrete-time signal processing techniques offer the same sophisticated stability analysis as continuous-time methods.

But it’s not accurate for software controllers (fails on correctness)

hybrid systems union of continuous discrete
Hybrid Systems –Union of Continuous & Discrete

A good starting point, but has limitations.

E.g. Consider building a hybrid system model for software running under a multitasking real-time OS.

understanding models can be very challenging
Understanding models can be very challenging

An example, due to Jie Liu, has two controllers sharing a CPU under an RTOS. Under preemptive multitasking, only one can be made stable (depending on the relative priorities). Under non-preemptive multitasking, both can be made stable.

Theory for this is lacking, so designers resort to simulation and testing.

key concepts in model based design
Models describe physical dynamics.

Specifications are executable models.

Models are composed to form designs.

Models evolve during design.

Deployed code may be (partially) generated from models.

Modeling languages have semantics.

Modeling languages themselves may be modeled (meta models)

For embedded systems, this is about




Key Concepts in Model-Based Design
pid controller
PID Controller




pid control
PID Control
  • Proportional control
    • Output is proportional to current error value
  • Integral Control
    • Output is the sum of instantaneous error value over time
  • Derivative Control
    • Output is the sum of the slope of the error over time
a simple system with proportional control
A simple system with proportional control
  • Control is proportional to the error
  • Consider a marble on a flat and perfectly leveled tabled.
    • Any point can be an equilibrium point.
    • Motion can be described with Newton’s law
      • F = ma
      • x’’ = F/m
    • We want to keep the marble at x=0 by applying proportional control F = -kp*x
proportional control
Proportional Control

F = -kp*x

Describe the motion of the marble under this control?

proportional control1
Proportional Control

F = -kp*x

Describe the motion of the marble under this control?

Unstable, oscillates about 0 due to lack of friction in our control equation.

proportional control2
Proportional Control

Error is the difference between where the object is, and where we want it to be, the set point.

Set point – can be stationary, an orbit, a proscribed trajectory, etc.

Objective of this control is to put the marble at x=0 from any initial condition, or if disturbed by a force.

This intuition is formalized as stability.

  • Asymptotic stability
    • Error will converge to 0 over time
  • Instability
    • Error will diverge without bound
  • Marginal stability
    • Error will stay within some bound
proportional control3
Proportional Control

F = -kp*x

-kp-> proportional control constant

Characterize the stability of the marble.

proportional control4
Proportional Control

F = -kp*x

Characterize the stability of the marble.

Marginally stable

determining stability
Determining stability
  • Given some linear differential equation
    • 3*y’’ + 4*y’ + 5*y = 0
    • From calculus we know the solution is the sum of exponentials:
      • Y(t) = c1exp(L1t) + c2(L2t) + …
        • Where L1, L2, … are the eigenvalues of the system
        • Eigenvalues can be complex!
determining stability1
Determining stability
  • Study of stability
    • Stability – all eigenvalues real parts are negative
      • Stable with oscillation that dies down, imaginary parts non-zero
      • Stable with no oscillation, imaginary parts are zero
    • Instability -- At least one eigenvalue’s real part is greater than 0
    • Marginal stability – all the real parts not greater than zero, but some equal to zero.
example system
Example system
  • Eigenvalue
    • s=5+6j
  • Is the system unstable?
example system1
Example system
  • Eigenvalue
    • s=5+6j
  • Is the system unstable?
  • Error y(t)

y(t) = exp((5+6j)t)

exp(5*t) * exp(6jt)

  • exp(5t)
    • grows unbounded
  • exp(6jt)
    • = exp(0 + 6jt)
    • = e^0(cos 6t) + j sin(6t)
    • = (cos 6t) + j sin(6t)
    • Oscillates with constant magnitude
  • Unstable!
derivative control
Derivative Control
  • Modify our control equation
    • F = -kp*x
    • F = -kp*x - kd*x’
    • m*x’’ + kd*x’ + kp*x = 0
    • m*s2 + kd*s + kp = 0
    • s = (-kd +/- SQRT(kd2 - 4m * kp))/2m
derivative control1
Derivative Control
  • Is this system stable?
    • s = (-kd +/- SQRT(kd2 - 4m * kp))/2m
  • Try some values for kp > 0 and kd > 0
    • m = 1, kp= 2 and kd = 1
    • s1,2 = -1/2 +/- 1.32 j
  • System is now stable!
integral control
Integral Control
  • Systems often have friction, or other changing workloads we can’t model in advance
    • Cruise control – how many passengers?
    • Friction – may change due to conditions
  • Unmodeled heavy load often results in steady-state error, system will settle near, rather than at the set-point.
integral control1
Integral Control
  • Adds up (integrates) past errors, and then provides a force that is proportional to the cumulative errors.
    • If the marble gets stuck due to some friction the error will add up over time, eventually generating a force large enough to overcome friction.
    • Heavier car has lower velocity, error adds up and integral control leads to increased throttle.
integral control pitfalls
Integral Control Pitfalls
  • Acts on cumulative errors.
    • Takes some time to reach a large sum
    • Takes some time to reduce the sum
integral control pitfalls1
Integral Control Pitfalls
  • Acts on cumulative errors.
    • Takes some time to reach a large sum
    • Takes some time to reduce the sum
  • Overdose of integral control is a common source of overshooting, oscillations, and instability
using integral control
Using Integral Control
  • Start with zero integral control and use it lightly!
  • Check the eigenvalues of the system to make sure all of them are sufficiently negative
bibo stability
BIBO Stability
  • Bounded-input bounded-output stability
    • If the output signal is bounded for all bounded input signals
    • Input is bounded if there is some real number A < ∞such that |w(t)| <= A for all t in R.
    • Output is bounded if there is some real number B < ∞such that |v(t)| <= B for all t in R.
final thoughts on control
Final thoughts on control
  • Proportional control
    • Output is proportional to current error
    • Non-zero error required to drive the controller, so pure proportional operates with steady state error, known as droop
  • Derivative control
    • Output is determined by the slope of the error over time
    • Slows the rate of change of the controller output
    • Used to reduce the magnitude of overshoot produced by the integral component, and improve the combined controller-process stability
    • Slows the transient response of the controller
    • Highly sensitive to noise
  • Integral control
    • Proportional to the cumulative instantaneous error
    • Gives the accumulated offset that should have been corrected previously
    • Accelerates movement towards the set point, and eliminates residual steady state error
    • Can cause overshoot, requires loop tuning
other topics
Other topics
  • Causal systems
  • Memoryless systems
  • Linear and time invariance
for next time
For next time
  • Read Chapter 8 – Memory Architectures
  • Assignment 2: Problems 1, 2, 3, and 4 from Chapter 2.
    • Due in two weeks (Friday 9/13at the beginning of class)