Software engineering for realtime systems Section 1 Introduction

































- Slides: 33
Software engineering for real-time systems Section 1 Introduction to real-time systems SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) Introduction to real-time systems - slide 1
Introduction Objectives To: • Outline the differences between general-purpose computer applications and real-time systems. • Give an overview of practical real-time system structures. • Describe some key environmental and performance requirements of embedded real-time computers. • Describe the structures of modern microprocessors and microcomputers. SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 2
A modern batch system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 3
Typical interactive on-line computer system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 4
A real-time computer system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 5
Categorizing real-time systems • Two major categorization factors: criticality and speed. • Criticality: • Hard systems - deadlines (responsiveness) is critical. Failure to meet these have severe consequences (e. g. injury, damage or death). • Soft systems - deadlines are less critical; in many cases significant tolerance can be permitted. • Speed: – Fast systems - responses in the microseconds to hundreds of milliseconds. – Slow systems - responses in the range seconds to days. – Arbitrary boundary: 1 second (chosen because the problems shift from individual computing issues to overall system behaviour and interaction at around this point). SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 6
Attributes of real-time systems • Major attributes of real-time systems. • For hard systems emphasis is placed on the need to meet deadlines. • Hard-fast systems tend to have low software complexity. • For soft-fast systems emphasis is put on computation performance. • In general soft systems tend to be the more complex ones (from a software perspective). SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 7
Telemetry control system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 8
Sea Skua missile system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 9
Submarine control console SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 10
Typical avionic platforms SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 11
Microprocessor-based vending machine units SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 12
Consumer communications SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 13
Embedded systems platforms SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 14
Embedded systems characteristics SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 15
Typical temperature specifications for real-time systems SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 16
Computer loading - single synchronous (periodic) task SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 17
Computer loading - single asynchronous (aperiodic) task SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 18
Computer loading - multiple asynchronous (aperiodic) tasks (E 1) (E 2) (S 1) (S 2) (I) (E 1 ) = = = Event task 1 execution Event task 2 execution Event signal, task 1 Event signal, task 2 Idle (spare) time (I) (E 1) (I) ( W) = waiting time for task to complete (W) (E 2 ) (I) (E 1 ) (E 2 ) Time S 1 S 1 S 2 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) S 1 S 2 19
The computing elements of real-time systems SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 20
Elements of a microcomputer system SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 21
Timing in hardware Real-time clock Programmable timer Control Address bus SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) To interrupt Chip select line 22
The watchdog timer SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 23
DMA operation SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 24
Intelligent I/O processing Local memory Main processor Disk store I/O processor Primary bus SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) Secondary bus 25
I/O interface peripheral SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 26
Highly integrated processor -Motorola MPC 8240 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 27
Single chip microcomputer - Philips Semiconductor 8052 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 28
Single chip microcontroller - Fujitsu MB 91 F 361 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 29
Digital signal processor structure SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 30
Mixed signal processor structure - Texas MSP 430 SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 31
Example system-on-a-chip (SOC) design SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 32
Review of ‘Introduction to real-time systems’ SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 33