Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI1600: Embedded and Real Time Software

Similar presentations


Presentation on theme: "CSCI1600: Embedded and Real Time Software"— Presentation transcript:

1 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?

2 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

3 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

4 Timed Automata Assume X is a timer variable. What does this do?
Lecture 9: Modeling Hybrid Systems 2/22/2019

5 Another example Lecture 9: Modeling Hybrid Systems 2/22/2019

6 Extended timed automata
Lecture 9: Modeling Hybrid Systems 2/22/2019

7 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

8 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

9 Modeling in the Real World
Lecture 9: Modeling Hybrid Systems 2/22/2019

10 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

11 Bouncing Ball Example Will the ball stop bouncing (Zeno’s paradox)
What time do we use? Lecture 9: Modeling Hybrid Systems 2/22/2019

12 RC Car Lecture 9: Modeling Hybrid Systems 2/22/2019

13 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

14 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

15 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

16 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

17 Analog Computers Lecture 9: Modeling Hybrid Systems 2/22/2019

18 Analog Computer Can do simple math operations
Some complex math operations are easy Integration, differentiation Lecture 9: Modeling Hybrid Systems 2/22/2019

19 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

20 Homework Read Chapter 7.1 Lecture 9: Modeling Hybrid Systems 2/22/2019


Download ppt "CSCI1600: Embedded and Real Time Software"

Similar presentations


Ads by Google