Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 13Slide 1 Chapter 13 Real-time Software Design.
Advertisements

1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Real-time Software Design IS301.
Real-time Software Design
Real-time software Sommerville, Hfst. 13. Sommerville, Ch. 132 Real-time systems A real-time system is a software system where the correct functioning.
Chapter 20- Embedded Systems
Chapter 2 Real-time software design
Chapter 20- Embedded Systems Lecture 1. Topics covered  Embedded systems design  Architectural patterns  Timing analysis  Real-time operating systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 2.
IT Systems Multiprocessor System EN230-1 Justin Champion C208 –
Real-time Software Design
1 / 32 CS 425/625 Software Engineering Real-Time Software Design Based on Chapter 15 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th.
Chapter 11 Operating Systems
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
1 When to Switch Processes 3 triggers –System call, Interrupt and Trap System call –when a user program invokes a system call. e.g., a system call that.
CprE 458/558: Real-Time Systems
EMBEDDED SOFTWARE Team victorious Team Victorious.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
1 Reference architectures u Reference models are derived from a study of the application domain rather than from existing systems u May be used as a basis.
1 Embedded Systems Development. 2 Topics covered  Embedded systems design  Architectural patterns  Timing analysis  Real-time operating systems.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
 Dr. Syed Noman Hasany 1.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
1 소프트웨어공학 강좌 Chap 11. Real-time software Design - Designing embedded software systems whose behaviour is subject to time constraints -
Getting Started with the µC/OS-III Real Time Kernel Akos Ledeczi EECE 6354, Fall 2015 Vanderbilt University.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Multiprocessor and Real-Time Scheduling Chapter 10.
Slide 1 Chapter 11 Real –time Software Designs. Slide 2 Real-time systems l Systems which monitor and control their environment l Inevitably associated.
EKT 424 Real Time System 1.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 / 30 CS 425/625 Software Engineering Real-Time Software Design Based on Chapter 13 of the textbook [SOMM00] Ian Sommerville, Software Engineering, 6.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Real-time Software Design.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
Chapter 21– Real-time Software Engineering 04/12/2014Chapter 21. Real-time Software Engineering1.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Real-time Software Design Chapter 15 of Ian Sommerville’s Book on Software Engineering.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
Software Engineering for Embedded Systems Lecture 12.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Software Design.
Real-time System Definition A real-time system is a software system where the correct functioning of the system depends on the results produced by the.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Embedded software / Real-time Software Engineering 1.
Real-time Software Design. Objectives l To explain the concept of a real-time system and why these systems are usually implemented as concurrent processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Real-Time Operating Systems RTOS For Embedded systems.
Real-time Software Design
Real-time Software Design
Real-time Software Design
REAL-TIME OPERATING SYSTEMS
Chapter 19: Real-Time Systems
Advanced Operating Systems CIS 720
Real-time Software Design
Operating Systems CPU Scheduling.
Real-time Software Design
Real-time & distributed Software Design
Real-time Software Design
CS 501: Software Engineering Fall 1999
Multiprocessor and Real-Time Scheduling
Real-time & distributed Software Design
Chapter 19: Real-Time Systems
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Reference: Ian Sommerville, Chap 15

 Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect data from the system environment; ◦ Actuators: Change (in some way) the system's environment;  Time is critical. Real-time systems MUST respond within specified times.

 A real-time system is a software system where the correct functioning of the system depends on the results produced by the system and the time at which these results are produced.  A soft real-time system is a system whose operation is degraded if results are not produced according to the specified timing requirements.  A hard real-time system is a system whose operation is incorrect if results are not produced according to the timing specification.

 Given a stimulus, the system must produce a response within a specified time.  Periodic stimuli. Stimuli which occur at predictable time intervals ◦ For example, a temperature sensor may be read 10 times per second.  Aperiodic stimuli. Stimuli which occur at unpredictable times ◦ For example, a system power failure may trigger an interrupt which must be processed by the system.

 Because of the need to respond to timing demands made by different stimuli/responses, the system architecture must allow for fast switching between stimulus handlers.  Timing demands of different stimuli are different so a simple sequential loop is not usually adequate.  Real-time systems are usually designed as cooperating processes with a real-time executive controlling these processes.

 Sensor control process ◦ Collect information from sensors. May buffer information collected.  Data processor ◦ Carries out processing of collected information and computes the system response.  Actuator control process ◦ Generates control signals for the actuators.

 Hard-real time systems may have to be programmed in assembly language to ensure that deadlines are met.  Languages such as C allow efficient programs to be written but do not have constructs to support concurrency.

 Java supports lightweight concurrency (threads and synchronized methods) and can be used for some soft real-time systems.  Java 2.0 is not suitable for hard RT programming but real-time versions of Java are now available that address problems such as ◦ Not possible to specify thread execution time; ◦ Uncontrollable garbage collection;

 Design both the hardware and the software associated with system. Partition functions to either hardware or software.  Design decisions should be made on the basis of non-functional system requirements.  Hardware delivers better performance but potentially longer development and less scope for change.

 Identify the stimuli to be processed and the required responses to these stimuli.  For each stimulus and response, identify the timing constraints.  Aggregate the stimulus and response processing into concurrent processes. A process may be associated with each class of stimulus and response.

 Design algorithms to process each class of stimulus and response. These must meet the given timing requirements.  Design a scheduling system which will ensure that processes are started in time to meet their deadlines.  Integrate using a real-time operating system (RTLinux, WinCE, VxWorks, etc.).  Benefits: accurate timer and preemptive scheduling

 May require extensive simulation and experiment to ensure that these are met by the system.  May mean that certain design strategies such as object-oriented design cannot be used because of the additional overhead involved.  May mean that low-level programming language features have to be used for performance reasons.

 The effect of a stimulus in a real-time system may trigger a transition from one state to another.  Finite state machines can be used for modelling real-time systems.  However, FSM models lack structure. Even simple systems can have a complex model.

 In most real-time systems, there will be several classes of periodic process, each with different periods (the time between executions) and execution times (the time by which processing must be completed).  The real-time clock ticks periodically and each tick causes an interrupt which schedules the process manager for periodic processes.  The process manager selects a process which is ready for execution.

 Concerned with managing the set of concurrent processes.  Periodic processes are executed at pre- specified time intervals.  The RTOS uses the real-time clock to determine when to execute a process taking into account the process period - time between executions.

 The scheduler chooses the next process to be executed by the processor. This depends on the process priority.  The resource manager allocates memory and CPU for the process to be executed.  The dispatcher takes the process from ready list, loads it onto a processor and starts execution.

 Non pre-emptive scheduling ◦ Once a process has been scheduled for execution, it runs to completion or until it is blocked for some reason (e.g. waiting for I/O).  Pre-emptive scheduling ◦ The execution of an executing processe may be stopped if a higher priority process requires service.

 Important class of real-time systems.  Continuously check sensors and take actions depending on sensor values.  Monitoring systems examine sensors and report their results.  Control systems take sensor values and control hardware actuators.

 A system is required to monitor sensors on doors and windows to detect the presence of intruders in a building.  When a sensor indicates a break-in, the system switches on lights around the area and calls police automatically.

 Sensors ◦ Movement detectors, window sensors, door sensors; ◦ 50 window sensors, 30 door sensors and 200 movement detectors; ◦ Voltage drop sensor.  Actions ◦ When an intruder is detected, police are called automatically; ◦ Lights are switched on in rooms with active sensors; ◦ An audible alarm is switched on; ◦ The system switches automatically to backup power when a voltage drop is detected.

 Power failure ◦ Generated aperiodically by a circuit monitor. When received, the system must switch to backup power within 50 ms.  Intruder alarm ◦ Stimulus generated by system sensors. Response is to call the police, switch on building lights and the audible alarm.

 A burglar alarm system is primarily a monitoring system. It collects data from sensors but no real-time actuator control.  Control systems are similar but, in response to sensor values, the system sends control signals to actuators.  An example of a monitoring and control system is a system that monitors temperature and switches heaters on and off.