RealTime Systems and Programming Languages Buy RealTime Systems
Real-Time Systems and Programming Languages Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by Burns and Wellings n See www. cs. york. ac. uk/rts/RTSBook. Third. Edition. html n Foils: /usr/course/rts/foils n Practicals: email me your preference n © Alan Burns and Andy Wellings, 2001
Prerequisites n Basic understanding of Ada and C n Basic understanding of Computer Architectures. n Basic understanding of Operating Systems © Alan Burns and Andy Wellings, 2001
Course Aims n Understanding of the broad concept n Practical understanding for industry n To stimulate research interest © Alan Burns and Andy Wellings, 2001
Overall Technical Aims of the Course n To understand the basic requirements of real-time systems and how these requirements have influenced the design of real-time programming languages and real -time operating systems. n To understand the implementation and analysis techniques which enable the requirements to be realized. © Alan Burns and Andy Wellings, 2001
What is a real-time system? n A real-time system is any information processing system which has to respond to externally generated input stimuli within a finite and specified period – the correctness depends not only on the logical result but also the time it was delivered – failure to respond is as bad as the wrong response! n The computer is a component in a larger engineering system => EMBEDDED COMPUTER SYSTEM n 99% of all processors are for the embedded systems market © Alan Burns and Andy Wellings, 2001
Terminology n Hard real-time — systems where it is absolutely imperative that responses occur within the required deadline. E. g. Flight control systems. n Soft real-time — systems where deadlines are important but which will still function correctly if deadlines are occasionally missed. E. g. Data acquisition system. n Real real-time — systems which are hard real-time and which the response times are very short. E. g. Missile guidance system. n Firm real-time — systems which are soft real-time but in which there is no benefit from late delivery of service. A single system may have all hard, soft and real-time subsystems In reality many systems will have a cost function associated with missing each deadline © Alan Burns and Andy Wellings, 2001
A simple fluid control system Interface Pipe Input flow reading Flow meter Processing Output valve angle Valve Time Computer © Alan Burns and Andy Wellings, 2001
A Grain-Roasting Plant Bin Furnace Fuel Tank grain Pipe fuel © Alan Burns and Andy Wellings, 2001
A Widget-Packing Station Switch Computer Switch Assembly line Bell Line controller Box 0 = stop 1 = run © Alan Burns and Andy Wellings, 2001
A Process Control System Process Control Computer Chemicals and Materials Valve Temperature Transducer Stirrer Finished Products PLANT © Alan Burns and Andy Wellings, 2001
A Production Control System Finished Products Parts Machine Tools Manipulators Conveyor Belt © Alan Burns and Andy Wellings, 2001
A Command Control System Command Post Command Control Computer Temperature, Pressure, Power and so on Terminals Sensors/Actuators © Alan Burns and Andy Wellings, 2001
A Typical Embedded System Real-Time Clock Algorithms for Digital Control Engineering System Interface Data Logging Remote Monitoring System Data Retrieval and Display Devices Database Operator’s Console Operator Interface Real-Time Computer © Alan Burns and Andy Wellings, 2001
Characteristics of a RTS n n n Large and complex — vary from a few hundred lines of assembler or C to 20 million lines of Ada estimated for the Space Station Freedom Concurrent control of separate system components — devices operate in parallel in the real-world; better to model this parallelism by concurrent entities in the program Facilities to interact with special purpose hardware — need to be able to program devices in a reliable and abstract way © Alan Burns and Andy Wellings, 2001
Characteristics of a RTS n n Extreme reliability and safe — embedded systems typically control the environment in which they operate; failure to control can result in loss of life, damage to environment or economic loss Guaranteed response times — we need to be able to predict with confidence the worst case response times for systems; efficiency is important but predictability is essential © Alan Burns and Andy Wellings, 2001
Real-time Programming Languages n n n Assembly languages Sequential systems implementation languages — e. g. RTL/2, Coral 66, Jovial, C. Both normally require operating system support. High-level concurrent languages. Impetus from the software crisis. e. g. Ada, Chill, Modula-2, Mesa, Java. No operating system support! We will consider: – – Java/Real-Time Java C and Real-Time POSIX Ada 95 Also Modula-1 for device driving © Alan Burns and Andy Wellings, 2001
Real-Time Languages and OSs User Programs Operating Hardware System Typical OS Configuration User Program Including Operating Hardware System Components Typical Embedded Configuration © Alan Burns and Andy Wellings, 2001
Summary n Two main classes of such systems have been identified: – hard real-time systems – soft real-time systems n The basic characteristics of a real-time or embedded computer system are: – – – – largeness and complexity, manipulation of real numbers, extreme reliability and safety, concurrent control of separate system components, real-time control, interaction with hardware interfaces, efficient implementation. © Alan Burns and Andy Wellings, 2001
- Slides: 18