CSCI1600: Embedded and Real Time SoftwareLecture 8: Modeling III: Hybrid Systems
Steven Reiss, Fall 2015
Time and Finite State Automata
We’ve added timing to our automata in an ad-hoc fashion Added timer events
Indicated length of time in a state (min/max)
No notion of absolute time, clocks, etc.
In order to prove properties of the system With respect to time
We need a cleaner, more formal representation
Timed Automata Basic idea
Extended finite state machine
Add the notion of timer variables (bounded)
Timer variables can be set explicitly
All timer variables are periodically incremented Can think of this as every k milliseconds
But in general it is considered a tick
Timer variables can be used in conditions
No ad-hoc time constraints
Timed Automata
Another example
Extended timed automata
Modeling and the Real World
Often we want to model both the system and the world The system is a finite automata
The real world is continuous & not just clocks
Problems How to combine the two
What can we do with the combination
Understanding
Proving properties
Modeling in the Real World
Hybrid Automata
State variables reflect the real world Updates done over time automatically
Updates can use continuous modeling Can specify velocity, acceleration rather than position
Can specify rules for doing the update
Bouncing Ball Example
RC Car
Hybrid Timed Automata
The external (timed) portion is set outside the automata Rules for continuous update
Model the physics of the real world
Why Model the World?
Does the code need to know the state of the real world Either precisely or approximately
Does it need to compute that state Or retrieve it via sensors
How accurate can you model the world? Consider speed control on a car
Proving properties of the program wrt the model Does this prove the system correct
Implementation Approach
Get information from the real world What the actual speed is, change of speed
Actual temperature (and change rate)
Compute the difference between actual and desired This is called the error
Use this to determine the action
This is considered feedback
Control Theory
Why are computers called “digital computers” What is the alternative
What is an analog computer
It turns out that analog computers are easy to build Either mechanically or electronically
Predate digital computers
Analog Computers
Analog Computer
Can do simple math operations
Some complex math operations are easy Integration, differentiation
Controlling Physical Systems Analog computers are designed for this
If you want a car to go in a straight line
Use feedback from left/right to update steering
Use intergrator to determine how much off and to control system
Analog control is all about feedback
We can do the same in digital systems Covered a week from Monday
First we need to cover details for the assignment
And some additional modeling concepts
Homework
Read Chapter 7.1