Académique Documents
Professionnel Documents
Culture Documents
Slides from Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by Burns and Wellings
www.cs.york.ac.uk/rts/RTSBookThirdEdition.html
Prerequisites
Basic understanding of Assembly Language and C Basic understanding of Computer Architectures.
CISC RISC
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
To understand the implementation and analysis techniques which enable the requirements to be realised.
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
Hardware
Hardware
System
System Components
Typical OS Configuration
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
Terminology
Hard real-time systems where it is absolutely imperative that responses occur within the required deadline. E.g. Flight control systems. Soft real-time systems where deadlines are important but which will still function correctly if deadlines are occasionally missed. E.g. Data acquisition system. Real real-time systems which are hard real-time and which the response times are very short. E.g. Missile guidance system. 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 real-time subsystems. In reality many systems will have a cost function associated with missing each deadline
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
Flow meter
Processing
Valve
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
A Widget-Packing Station
Switch Computer
Box
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
10
Data Logging
Operators Console
Operator Interface
Real-Time Computer
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
11
Characteristics of a RTS
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
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
12
Characteristics of a RTS
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
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
13
Summary
Two main classes of such systems have been identified:
hard real-time systems soft real-time systems
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
14
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
15
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
16
Modules
A collection of logically related objects and operations Encapsulation the technique of isolating a system function within a module with a precise specification of the interface
information hiding separate compilation abstract data types
How should large systems be decomposed into modules? The answer to this is at the heart of all Software Engineering!
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
17
Information Hiding
A module structure supports reduced visibility by allowing information to be hidden inside its body The specification and body of a module can be given separately Ideally, the specification should be compilable without the body being written
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
18
19
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.
20
Summary
Module supports: information hiding, separate compilation and abstract data types Separate compilation enables libraries of precompiled components to be constructed The decomposition of a large program into modules is the essence of programming in the large The use of abstract data types or object-oriented programming, provides one of the main tools programmers can use to manage large software systems
Original Slides Alan Burns and Andy Wellings, 2001 Modified - CLR-Jan 2002, Sep 2005.