Aravind Venkataraman
Topics of Discussion Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time System Key factors, terminology Real-time System Methodologies Real-time Scheduling Algorithms Real-time Scheduling Implementation Issues Real-time Computing Research Key People
Real –time Computing [1] Software & hardware for systems which have real-time constraints and are interrupted often. Comprises of: Synchronous Programming Language. Real-time Operating System. Real-time Design Methodologies.
Synchronous Programming Language Provides abstract modules for scheduling algorithms, parallelism, pre-emption. Finite state (execution time predictable), deterministic, synchronous dataflow. Declarative and Imperative Languages. Examples: Lustre, Quartz, SOL, Esterel.
Examples: Embedded Systems (Appliance Controller, Spacecraft, Robots, Industrial Control. “Control Program” – American Airlines, IBM – Later called “Sabre Airline Reservation System”. Real-Time Operating System (RTOS) Early Real-time Systems Recent Important Real-time Systems DSOS (Deep Six OS) – Geophysical Services Division, Texas Instruments. Ptolemy Project, University of California, Berkeley [8]. MARS (MAintainable Real-time System). ARTS Kernel. Spring Kernel. CHAOS Kernel. Alpha Kernel. Dragon Kernel.
Real-time System Types ‘Hard’ Real-time System - Guaranteed, deterministic behaviour. - Critical Jobs. - Eg. Nuclear Power Plant controller. ‘Soft’ Real-time System - High Throughput. - Concurrent access, Large demand. - Eg. Airline Reservation System.
Hard deadline
Soft deadline
Minimal Interrupt Latency Minimal Thread switching Latency Real-Time System Key Factors [Burns, ‘91] Other Terminology Task Deadline Maximum Response Time Worst case Execution Time Timing Analysis Priority Inversion Priority Inheritance Priority Ceiling Protocol. Important Real-time System Property [Stankovic, ‘84] System Deadline => Process Deadline Periodic, Aperiodic Process.
MASCOT ( M odular Approach to Software Construction Operation and Test) - Architecture Oriented (RT Control & interface definition between concurrent processes) - British ground-air missile system. HOOD (Hierarchic Object-Oriented Design) - Hierarchical decomposition. - European Space Agency – Aerospace project. AADL (Architecture Analysis and Design Language) [6] - Automotive, aerospace industry. RTSJ (Real-Time Specification for Java) [7] Real-time System Design Methodologies
Real-time Scheduling Algorithms [Stankovic,’88] Classification Static vs Dynamic Preemptive vs Non-preemptive Global vs Local Examples Static: - Fixed-priority Rate-monotonic algorithm - Fixed-priority Deadline-monotonic algorithm - Graph based Approach Dynamic: - Earliest Deadline First - Least Laxity
Communication Delay - worst case execution time, non-deterministic RPC - Remote blocking Real-time Implementation issues in Distributed Systems [Kasavant, ‘88]
Key People in Real-time Computing Edward Lee - UC Berkeley, Ptolemy Project - Alan Burns, Andy Wellings - Univ of York, RT Systems Research group - David Dill - Stanford University - Formal verification in RT Systems design - Rajeev Alur - Univ of Pennsylvania - Hybrid systems, formal modeling, verification of reactive systems; Automata Theory - Nicolas Halbwachs - Grenoble University, Critical embedded systems, data flow synchronous programming languages -
RT Research Groups RT computing lab: RT computation and communication group: RT and embedded systems laboratory: Supercomputing and Parallel computing research group: Systems Research group: Distributed systems research group: Institute for systems engineering, RT Systems group: Institute for computer engineering, RT Systems group: IEEE Technical Committee on Real-Time Systems: Euromicro Technical Committee on Real-time Systems: RT Technical Commitees
RT Scientific conferences EventWebsite IEEE Real-time Technology and Applications Symposium, St. Louis, Missouri, USA - April 22-24, ECRTS – Euromicro Conference on Real-time Systems IEEE Real-time Systems Symposium, Tuscon, Arizona, USA – Dec 3-6, International Symposium on Object oriented Real-time Distributed systems orco7 IEEE International Conference on Embedded and Real-time Computing systems and Applications rtcsa2007/
References S. Cheng, J.A. Stankovic and K. Ramamritham, ‘‘Scheduling Algorithms for Hard Real-Time Systems: A Brief Survey’’, pp in Hard Real-Time Systems: Tutorial, IEEE (1988). 3.T. L. Casavant and J. G. Kuhl, ‘‘A Taxonomy of Scheduling in General Purpose Distributed Computing Systems’’, IEEE Transactions on Software Engineering 14(2), pp (February 1988). 4.A. Burns, ‘‘Scheduling Hard Real-Time Systems: A Review’’, Software Engineering Journal 6(3), pp (1991). 5.K. Ramamritham and J.A. Stankovic, ‘‘Dynamic Task Scheduling in Hard Real- Time Distributed Systems’’, IEEE Software 1(3), pp (July 1984)