Software engineering for realtime systems Section 1 Introduction

  • Slides: 33
Download presentation
Software engineering for real-time systems Section 1 Introduction to real-time systems SOFTWARE ENGINEERING for

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.

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)

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

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)

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: •

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

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

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)

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

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

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)

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

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 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

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.

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.

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.

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

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.

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

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

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

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

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

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

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.

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.

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

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)

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 (©

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)

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.

Review of ‘Introduction to real-time systems’ SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J. E. Cooling 2003) 33