CSCI1600: Embedded and Real Time Software Lecture 9: Modeling III: Hybrid Systems Steven Reiss, Fall 2016 Talk about Xeno’s paradox when describing bouncing ball. Add other type of timed automata?
Time and Finite State Automata We’ve added timing to our automata in an ad-hoc fashion Assuming a fixed period Added timer events Indicated length of time in a state (min/max) No notion of absolute time, clocks, etc. These are easy to implement In order to prove properties of the system With respect to time We need a cleaner, more formal representation Assuming time is continuous Lecture 9: Modeling Hybrid Systems 2/22/2019
Timed Automata Basic idea Timer variables can be set explicitly Extended finite state machine Add the notion of timer variables Timer variables can be set explicitly All timer variables are periodically incremented Can think of this as every k milliseconds Can think of this as continuous as well Timer variables can be used in conditions No ad-hoc time constraints Lecture 9: Modeling Hybrid Systems 2/22/2019
Timed Automata Assume X is a timer variable. What does this do? Lecture 9: Modeling Hybrid Systems 2/22/2019
Another example Lecture 9: Modeling Hybrid Systems 2/22/2019
Extended timed automata Lecture 9: Modeling Hybrid Systems 2/22/2019
Timed Automata Are these still finite state? Timer variables can be unbounded Timer variables are continuous Determine the state ranges for times These form time-states Can create an equivalent FSA Lecture 9: Modeling Hybrid Systems 2/22/2019
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 Lecture 9: Modeling Hybrid Systems 2/22/2019
Modeling in the Real World Lecture 9: Modeling Hybrid Systems 2/22/2019
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 Lecture 9: Modeling Hybrid Systems 2/22/2019
Bouncing Ball Example Will the ball stop bouncing (Zeno’s paradox) What time do we use? Lecture 9: Modeling Hybrid Systems 2/22/2019
RC Car Lecture 9: Modeling Hybrid Systems 2/22/2019
Hybrid Timed Automata The external (timed) portion is set outside the automata Rules for continuous update Model the physics of the real world Lecture 9: Modeling Hybrid Systems 2/22/2019
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 Lecture 9: Modeling Hybrid Systems 2/22/2019
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 Lecture 9: Modeling Hybrid Systems 2/22/2019
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 Lecture 9: Modeling Hybrid Systems 2/22/2019
Analog Computers Lecture 9: Modeling Hybrid Systems 2/22/2019
Analog Computer Can do simple math operations Some complex math operations are easy Integration, differentiation Lecture 9: Modeling Hybrid Systems 2/22/2019
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 error to control system Analog control is all about feedback We can do the same in digital systems Covered a week from Friday First we need to cover details for the assignment And some additional modeling concepts Lecture 9: Modeling Hybrid Systems 2/22/2019
Homework Read Chapter 7.1 Lecture 9: Modeling Hybrid Systems 2/22/2019