Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.

Similar presentations


Presentation on theme: "Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park."— Presentation transcript:

1 Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park

2 Topics Covered  System design  Real-time executives  Monitoring and control systems  Data acquisition systems

3 Real-Time Systems  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  Soft real-time system  Hard real-time system  Time is critical. Real-time systems MUST respond within specified times

4 Stimulus/Response Systems  One way of looking at a real-time system is as a stimulus / response system  Given a stimulus, the system must produce a response within a specified time  Periodic stimuli  Stimuli which occur at predictable time intervals (A temperature sensor may be polled 10 times per second)  Aperiodic stimuli  Stimuli which occur at unpredictable times (A system power failure may trigger an interrupt which must be processed by the system)

5 Architectural Considerations  A real-time system has to respond to stimuli that occur at different times  Control should be transferred to the appropriate handler for that stimulus as soon as it is received  This is impractical in sequential programs  Real-time systems are usually designed as a set of concurrent, cooperating processes with a real-time executive controlling these processes

6 A Real-Time System Model

7 Sensor/Actuator Control Processes

8 System Elements  Sensor control  Collect information from sensors. May buffer information collected from a sensor  Data processor  Carry out processing of collected information and compute the system response  Actuator control  Manage actuator operation

9 Real-Time System Design Process 1.Identify stimuli and associated responses 2.Define the timing constraints associated with each stimulus and response 3.Aggregate the stimulus and response processing to concurrent processes 4.For each stimulus and response, design algorithms to carry out the required computations 5.Design a scheduling system which will ensure that processes are started in time to meet their deadlines 6.Integrate the system under the control of a real-time executive

10 Real-Time System Modeling  The effect of a stimulus in a real-time system may trigger a transition from one state to another  Finite state model is a good, language-independent way of representing the design of a real-time system  The UML includes notations for defining state machine models

11 State Machine Model Of A Microwave Oven

12 Real-Time Programming  Hard real-time systems may have to be programmed in assembly language to ensure that deadlines are met  System-level languages such as C allow efficient programs to be written but do not have constructs to support concurrency or shared resource management  Ada as a language designed to support real-time system design includes a general purpose concurrency mechanism

13 Java As A Real-Time Language  Java supports lightweight concurrency (threads and synchronized methods) and can be used for some soft real-time systems  Java is not suitable for hard real-time programming or programming where precise control of timing is required  Not possible to specify thread execution time  Uncontrollable garbage collection  Not possible to discover queue sizes for shared resources  Variable virtual machine implementation  Not allow for detailed run-time space or processor analysis

14 Real-Time Executives  Real-time executives are analogous to an operating system in a general-purpose computer  Responsible for process management and resource (processor and memory) allocation  Components  Real-time clock (timer)  Interrupt handler: manages aperiodic requests for service  Scheduler: chooses the next process to be run  Resource manager: allocates memory and processor resources  Dispatcher: starts process execution

15 Components Of A Real-Time Executives

16 Starting A Process

17 Stimuli Priority  The executive has to be able to manage at least two priority levels for the system processes  Interrupt level priority: highest priority which is allocated to processes requiring a very fast response  Clock level priority: allocated to periodic processes

18 Scheduling Strategies  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 input)  Pre-emptive scheduling  The execution of an executing process may be stopped if a higher priority process requires service  Scheduling algorithms  Round-robin  Rate monotonic  Shortest deadline

19 Monitoring and Control Systems  Important standard/generic real-time system class  Continuously check sensors and take actions depending on sensor values  Monitoring systems take an action when some exceptional sensor value is detected  Control systems continuously control hardware actuators depending on the value of associated sensors

20 Burglar Alarm System  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  The system should include provision for operation without a main power supply

21 Control Systems  The burglar alarm system is a monitoring system rather than a control system as it does not include actuators which are directly affected by sensor values  Control systems are similar but, in response to sensor values, the system sends control signals to actuators  An example of a control system is a building heating control system which monitors temperatures and switches heaters on and off

22 Data Acquisition System  Collect data from sensors for subsequent processing and analysis  Data collection processes and processing processes may have different periods and deadlines  Data collection may be faster than processing  Circular or ring buffers are a mechanism for smoothing speed differences

23 A Ring Buffer For Data Acquisition

24 Mutual Exclusion  Producer processes collect data and add it to the buffer. Consumer processes take data from the buffer and make elements available  Producer and consumer processes must be mutually excluded from accessing the same element  The buffer must stop producer processes from adding information to a full buffer and consumer processes from trying to take information from an empty buffer


Download ppt "Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park."

Similar presentations


Ads by Google