CSCI1600: Embedded and Real Time Software

Slides:



Advertisements
Similar presentations
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Advertisements

Timed Automata.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
1 Homework Turn in HW2 at start of next class. Starting Chapter 2 K&R. Read ahead. HW3 is on line. –Due: class 9, but a lot to do! –You may want to get.
Memory - Registers Instruction Sets
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
March 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Real Time & Embedded Systems Lecture 1: Real Time Systems Software (RTSS) RTSS: the software half of the Real Time & Embedded Systems unit What do we mean.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Dynamic Presentation of Key Concepts Module 5 – Part 1 Fundamentals of Operational Amplifiers Filename: DPKC_Mod05_Part01.ppt.
Digital to Analog Converters (DAC) 15 March 2006 Doug Hinckley Lee Huynh Dooroo Kim.
Chapter 2 – Fundamental Simulation ConceptsSlide 1 of 46 Chapter 2 Fundamental Simulation Concepts.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Digital Logic Lecture 3 Binary Arithmetic By Zyad Dwekat The Hashemite University Computer Engineering Department.
CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay 2 The D FlipFlop The RS flipflop stores one bit of information.
CSCI1600: Embedded and Real Time Software Lecture 4: Introduction to the Arduino Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 7: Modeling II: Discrete Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Steven Reiss Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 6: Modeling I: Continuous Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 9: Input Output Concepts Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
July 18, UCSD - R.A. de Callafon Short Intro to Micro Processors and I/O functions of our Kinetic Sculpture Control Box Raymond de Callafon.
CSCI1600: Embedded and Real Time Software Lecture 14: Input/Output II Steven Reiss, Fall 2015.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
CSCI1600: Embedded and Real Time Software Lecture 15: Advanced Programming Concepts Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 10: Modeling IV: Compositions of State Machines Steven Reiss, Fall 2015.
Requirements Specification
Chapter 3 Data Representation
Chapter 1: Overview of Control
DATA MODELS.
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
CSCI1600: Embedded and Real Time Software
Lesson 1: Overview of Sequential Control and Data Acquisition
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSEP590 – Model Checking and Automated Verification
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Chapter 14 Partial Derivatives. Chapter 14 Partial Derivatives.
ECE 445 – Computer Organization
Chapter 7 Converters.
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Simple Control System.
CSCI1600: Embedded and Real Time Software
Presentation transcript:

CSCI1600: Embedded and Real Time Software Lecture 10: Modeling III: Hybrid Systems Steven Reiss, Fall 2017

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/24/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/24/2019

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

Another example Lecture 9: Modeling Hybrid Systems 2/24/2019

Another Example Lecture 9: Modeling Hybrid Systems 2/24/2019

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

Timed Automata Are these still finite state? Timer variables can be unbounded Timer variables are continuous Determine the state ranges for times Regions with no checks These form time-states Can create an equivalent FSA Lecture 9: Modeling Hybrid Systems 2/24/2019

What is the FSA? Assume X is a timer variable. What does this do? Lecture 9: Modeling Hybrid Systems 2/24/2019

Modeling and the Real World We might want to model both the system and the world The system is a finite automata The real world is continuous & not just clocks But it is similar to clocks: continuously changing variables Problems How to combine the two What can we do with the combination Understanding Proving properties Lecture 9: Modeling Hybrid Systems 2/24/2019

Modeling in the Real World Lecture 9: Modeling Hybrid Systems 2/24/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/24/2019

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

RC Car Lecture 9: Modeling Hybrid Systems 2/24/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/24/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/24/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/24/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/24/2019

Analog Computers Lecture 9: Modeling Hybrid Systems 2/24/2019

Analog Computer Can do simple math operations Some complex math operations are easy Integration, differentiation LM107 is an op amp Lecture 9: Modeling Hybrid Systems 2/24/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 Hybrid digital-analog systems 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/24/2019

Homework Read Chapter 5 Exercises 5.3, 5.5 Lecture 9: Modeling Hybrid Systems 2/24/2019