Real-Time Systems, Events, Triggers
Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness depends on the logical results and the time in which results are produced Key Issues –System evolution –Composibility –Software engineering –Performance guarantees –Reliability & formal verification –General system issues –Programming languages –Education
Real World Examples –Intelligent vehicle highway systems –Avionics –Air traffic Control Systems –Multi media –Virtual reality –Defense applications –Nuclear Power Plants –Medical Applications –Process control
Brake Pads –Dynamically measure the pressure –TactArray Sensors: pressures up to 2000 psi at temperatures up 200C
Gastrointestinal Diagnostic equipment Measures the pressures applied by muscles in the GI tract
FingerTPS To teach doctors performing physical manipulations in a consistent and repeatable way System records and displays finger and palm pressures exerted during treatment
Soft v. Hard Real-Time Systems Hard real-time Mission critical systems Catastrophic consequences Soft real-time Statistical margin of error No significant financial loss
Design Priorities Design of HRT is fundamentally different than that of SRT –HRT – temporal domain is as critical as value domain –SRT – temporal domain is not critical as value domain
Real-Time Task Models Periodic –Continuous & deterministic pattern of time interval –Characterized as a tuple (C,T) e.g., robotics application: s ensor data & network transmission
Real-Time Task Models Aperiodic –Non-deterministic request periods –Event driven real-time systems –e.g. Ejection of a pilot seat
Technology Trends System on a chip –Integrating all components on a single chip –Cost-effective if mass-produced
Low-Level Design –Reentrancy Disable/enable interrupts EnterCritical / ExitCritical Semaphores
Example: Blinking LED v. 1.0v. 2.0
RT Development Issues –Driving force There is an increasing demand for RT embedded systems in various places and novel scenarios Safer, cheaper and more reliable Moving away from old, clunky “legacy systems” –High level challenges System evolution Open real time systems Composibility Software engineering
Challenges – System Evolution System Evolution –Keeping up with technology trends –System upgrades –Personnel turnover –Vendor changes –Equipment Upgrades –Cost analysis – new system vs. system upgrade
Challenges – Open RT Systems –How to create general solution to coexist and support with very specific needs? –Real-time architecture Processor speed, caches, memory, buses, and I/O devises Multiple applications doing various things (scheduling) –Perfect execution vs. price $50 Good enough vs $400 perfect
Challenges – Composability Function Time Fault Tolerance COTS integration, Web services Properties at component level must hold at system level Properties of an ideal component: –Service provision –Validation –Error containment –Reusability –Design and maintenance Principles –Independent development of components –Stability of prior services –Constructive integration
Challenges – Software Engineering Need to rapidly develop and deploy large, complex systems Software engineering principles Processes, methods, tools Existing middleware platform do not meet all needs –Evolvability, timing constraints, dependability, etc.
Challenges – Performance Science of performance guarantees Determining how system will perform under various workloads and still being able to abide by certain requirements (predictability) Larger, dynamic systems in various domains and environments Determining worst-case scenarios Deterministic and probabilistic algorithms
Challenges – V & V Simulation, testing, and validation Expensive time consuming TLYF – Test Like You Fly Proving it works Meeting various Quality of Service Requirements Timing validation Scheduling
Verification and Validation Composable architectures will shift focus back to product validation Knowledge about worst-case execution time Rare event simulations –Validate fault-tolerance –Peak-load performance Formal verification –Critical algorithms