Embedded and Real Time Systems Lecture #2 David Andrews

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Advertisements

Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
EE5900 Advanced Embedded System For Smart Infrastructure
Real-Time Embedded Systems
Chapter 4: Basic Properties of Feedback
INSE - Lectures 19 & 20 SE for Real-Time & SE for Concurrency  Really these are two topics – but rather tangled together.
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
Chapter 10 Quality Control McGraw-Hill/Irwin
Time in Embedded and Real Time Systems Lecture #6 David Andrews
Input/Output Lecture #9 David Andrews
Statistical Methods in Computer Science © 2006-now Gal Kaminka / Ido Dagan 1 Statistical Methods in Computer Science Descriptive Statistics Data 1: Frequency.
Embedded and Real Time Systems Lecture #2 David Andrews
Embedded and Real Time Systems Lecture #4 David Andrews
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
CHAPTER 6 Statistical Analysis of Experimental Data
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Statistical Methods in Computer Science © 2006-now Gal Kaminka / Ido Dagan 1 Statistical Methods in Computer Science Data 1: Frequency Distributions Ido.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Statistical Process Control
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
Computer System Architectures Computer System Software
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
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.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Task Scheduling By Dr. Amin Danial Asham.
20/10/2009 IVR Herrmann IVR: Introduction to Control OVERVIEW Control systems Transformations Simple control algorithms.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
Manufacturing is the changing of raw or processed materials into usable products. Manufacturing occurs in manufacturing plants, or factories.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Computer Control.
Ms. Paschitti. What is your definition of success? bcitech.org/lpaschitti 2.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Power and Control in Networked Sensors E. Jason Riedy and Robert Szewczyk Presenter: Fayun Luo.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
Embedded and Real Time Systems Lecture #2 David Andrews
CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Introduction to Embedded Systems Rabie A. Ramadan 5.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
For a good summary, visit:
1 May-2014 Automotive Protocols & Standards. 2 CAN (Controller Area Network)  Overview Controller Area Network is a fast serial bus designed to provide.
Chapter 5 Probability Distributions 5-1 Overview 5-2 Random Variables 5-3 Binomial Probability Distributions 5-4 Mean, Variance and Standard Deviation.
The first question is really "Why do you need a control system at all?” Consider the following: What good is an airplane if you are a pilot and you.
Quality Control Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
Distributed Systems Lecture 5 Time and synchronization 1.
Discovering Sensor Networks: Applications in Structural Health Monitoring Summary Lecture Wireless Communications.
Embedded System Design and Development Introduction to Embedded System.
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
Real-time Software Design
Non-Preemptive Scheduling
Presented by Kristen Carlson Accardi
Wayne Wolf Dept. of EE Princeton University
Distributed Multimedia Systems
Tiny Computers, Hidden Control
Automation Topics: Elements of an Automated System
CS 501: Software Engineering Fall 1999
Multiprocessor and Real-Time Scheduling
CS703 - Advanced Operating Systems
Presentation transcript:

Embedded and Real Time Systems Lecture #2 David Andrews

What We Will Cover Today Fundamental Concepts and Definitions –Functional and Temporal Requirements –What Is A Distributed System Things That Matter Most In Embedded Systems –A Look At Tradeoffs –Examples Where We Are Going Next –Example System –Modeling/Requirements/System Architecture

Temporal Requirements Temporal requirements from 1.controlled object 2.controlling computer system… Controlled Object (From Control Theory) –delays associated with the time the system requires to Response delay to initiated change d object Achieve desired change d rise –Other Variations/Types Depending On Actual System Controlling Computer –Delays associated with Sampling Times d sample Calculation Times: computer delay d computer Variance in Calculation Times (Jitter)  d computer

Computer Controller Delays

Controlled Object Much information borrowed from control theory…. Exact information based on system under consideration. Flight controller that will adjust Azimuth and Elevation

System Timings  h is given to actuators for adjustment

Control Loop Parameters (Summary from Book) SymbolParameterSphere of ControlRelationships d object Controlled object delay Controlled objectPhysical process d rise Rise time of step response Controlled objectPhysical process d sample Sampling periodComputerd sample << d rise d computer Computer delayComputerd computer << d sample  d computer Jitter of delayComputer  d computer <<d computer d deadtime Dead timeComputer and controlled object d computer + d object

Example Simple Control System In example: Object = metal pot + water + rice Control system is temperature sensor + heating elements sensor CPU Heater Coil Rice + Water

Element Definitions d object controlled object delay Delay from applying control force to first observed response Due to inertial lag of physical plant (speed of thermal wavefront in rice cooker) d rise rise time of step response Physical time constant of system (thermal mass of rice+ water+ pot+ heaters) d sample sampling period How often temperature sensor is read ( should be > 10x rise time) d computer computer delay Time to compute new actuator command point (sensor iÿ heater on or off)  d computer jitter of computer delay Variations in computer delay ( e. g., cache misses, competing tasks) d deadtime dead time End- to- end latency from observation to action (lower = more stable)

Example Values For Rice Cooker d object = 90 seconds Time from electricity to coil to temperature change at sensor Varies depending on coil size (amps) and metal d rise = 10 minutes Time to boil water; varies with amount of water d sample = 10 seconds to 1 minute sampling frequency No point sampling temperature at 10 MHz ! d computer = msec compute time Hard to buy a computer slower than that  d computer = msec jitter Conditional branches in software A/ D timeout loops, early- out multiplication, etc. d deadtime = 90 sec + 10 msec ~= 90 sec Computer isn’t a limitation in this case

General Control System Issues Latency is bad; it can create unstable systems If control loop is 180 degrees off from an oscillation, it will amplify problems Variability in latency reduces control effectiveness Communication network can be a large part of this latency And, you’re usually stuck with a given latency in the physical system Make sure control loops run faster than plant time constants Generally 10x faster gives smooth control and a safety margin Generally, want to set control loop deadlines faster than control loop frequency (each answer computed before next reading is taken)

Centralized vs. Distributed Systems Centralized vs. Dispersed vs. Distributed Determined by granularity and distribution of computers Centralized One computer, single set of I/ O channels “Old- style” embedded systems before cheap microcontrollers Common in jet aircraft engines OOoOOo actuator sensor CPUCPU

Dispersed Clustered compute+ I/ O modules “Several” computers (often 3- 10) Each computer has fixed I/ O capability, with a “few” channels Common practice in vehicles (engine, transmission, dashboard, …) Car Parts S A A A SS S SS S SS A A A A A A Engine CPU Trans CPU Ejector Seat CPU Network

Distributed Individual compute+ I/ O modules “Many” computers (dozens or hundreds) One (or a “few”) I/ O channels per computer – Controls a single physical item – “Smart” sensor/ actuator -- I/ O- centric instead of compute- centric Only now becoming widely used (especially building automation) cc Car Parts s a cc s a cc s a cc s a cc s a cc s a Network

What Is “Real Time”? Real time is not just “real fast” Real time means that correctness of result depends on both functional correctness and time that the result is delivered Soft real time Utility degrades with distance from deadline Hard real time System fails if deadline window is missed Firm real time Result has no utility outside deadline window, but system can withstand a few missed results

Typical Real- Time Embedded Characteristics See table 1.2 for summary

Fail Safe vs. Fail Operational Fail safe systems -- when in doubt, turn off Radiation therapy machines Car engines Power tools Nuclear power plant SCRAM system In general, things with a readily attainable safe condition Fail operational systems -- when in doubt, keep working Aircraft engines Military combat systems Difference is not always clear- cut Should an elevator move or not move with an open door in a fire? Pacemaker with a possibly faulty sensor Outcome generally decided by lawyers and liability insurance underwriters

Guarantees vs. Best Effort Guarantee – 100% certain Generally corresponds to hard/ firm real time systems ( e. g., spark plug timing) Can be wasteful; must reserve capacity for worst case Generally ignores possibility of equipment failure (so it’s only …%) Best effort – 0% certain Used in soft real time systems Can be more efficient, but breaks in the worst case Hybrid systems (research area) Provide guaranteed response as a fall- back strategy in the worst case Provide best effort in the average case

Event- Triggered vs. Time- Triggered Event- triggered Computation/ communication responds to an event Events happen whenever they want to happen Think “interrupt- driven I/ O” Efficient -- only do things when they need doing High peak load -- what if all possible events happen simultaneously? Time- triggered Computation/ communication responds to a system clock time Events happen according to a schedule (fixed or changeable) Think “I/ O polling” Inefficient -- do things periodically whether they need it or not Easily characterized load -- a spreadsheet can schedule the whole system

Review System includes many pieces, including the user Key issues are observability & controllability Latency is critical for stable control loops Degree of centralization is a tradeoff Trend is to decentralize as silicon becomes cheaper Real- time systems are more than simply “real fast” Typical tradeoffs with safety, guarantees, resource constraints, triggering Time-“ triggered” really means “periodic”; event- triggered means asynchronous Embedded computers are spreading everywhere Next lecture: Flight Controller Architecture