1 / 64

Real Time Systems Design

Real Time Systems Design. The RTS design is investigated using common component based model. Embedded vs. Real Time Systems. Real Time System: Correctness of the system depends not only on the logical results, but also on the time in which the results are produced.

qamra
Download Presentation

Real Time Systems Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real Time Systems Design The RTS design is investigated using common component based model

  2. Embedded vs. Real Time Systems • Real Time System: Correctness of the system depends not only on the logical results, but also on the time in which the results are produced. • Embedded system: is a computer system that performs a limited set of specific functions. It often interacts with its environment. Real Time Systems Embedded Systems

  3. Examples • Real Time Embedded: • Nuclear reactor control • Flight control • Basically any safety critical system • GPS • MP3 player • Mobile phone • Real Time, but not Embedded: • Stock trading system • Skype • Pandora • Embedded, but not Real Time: • Home temperature control • Sprinkler system • Washing machine, refrigerator, etc. • Blood pressure meter

  4. Characteristics of RTS • Event-driven, reactive. • High cost of failure. • Concurrency/multiprogramming. • Stand-alone/continuous operation. • Reliability/fault-tolerance requirements. • Predictable behavior.

  5. Time now past future instant instant time line event event duration digital clock tick granule

  6. Definitions • 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. 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

  7. Control systems Man-Machine Interface Instrumentation Interface • Man-machine interface: input devices, e.g. keyboard and output devices, e.g. display • Instrumentation interface: sensors and actuators that transform between physical signals and digital data • Most control systems are hard real-time • Deadlines are determined by the controlled object, i.e. the temporal behavior of the physical phenomenon Operator Real-Time Computer System Controlled Object

  8. Control system example Example: A simple one-sensor, one-actuator control system. rk reference input r(t) A/D uk control-law computation D/A yk A/D y(t) u(t) sensor actuator plant Outside effects The system being controlled

  9. Control systems cont’d. Pseudo-code for this system: set timer to interrupt periodically with period T; at each timer interrupt do do analog-to-digital conversion to get y; compute control output u; output u and do digital-to-analog conversion; end do T is called the sampling period. T is a key design choice. Typical range for T: seconds to milliseconds.

  10. Taxonomy of Real-Time Systems

  11. Taxonomy of Real-Time Systems

  12. Taxonomy of Real-Time Systems

  13. Taxonomy: Static • Task arrival times can be predicted • Static (compile-time) analysis possible • Allows good resource usage (low idle time for processors).

  14. Taxonomy: Dynamic • Arrival times unpredictable • Static (compile-time) analysis possible only for simple cases. • Processor utilization decreases dramatically. • In many real systems, this is very difficult to handle. • Must avoid over-simplifying assumptions • e.g., assuming that all tasks are independent, when this is unlikely.

  15. Taxonomy: Soft Real-Time • Allows more slack in the implementation • Timings may be suboptimal without being incorrect. • Problem formulation can be much more complicated than hard real-time • Two common and an uncommon way of handling non-trivial soft real-time system requirements • Set somewhat loose hard timing constraints • Informal design and testing • Formulate as an optimization problem

  16. Taxonomy: Hard Real-Time • Creates difficult problems. • Some timing constraints are inflexible • Simplifies problem formulation.

  17. Taxonomy: Periodic • Each task (or group of tasks) executes repeatedly with a particular period. • Allows some static analysis techniques to be used. • Matches characteristics of many real problems • It is possible to have tasks with deadlines smaller, equal to, or greater than their period. • The later are difficult to handle (i.e., multiple concurrent task instances occur).

  18. Periodic • Single rate: • One period in the system • Simple but inflexible • Used in implementing a lot of wireless sensor networks. • Multi rate: • Multiple periods • Should be harmonics to simplify system design

  19. Taxonomy: Aperiodic • Are also called sporadic, asynchronous, or reactive. • Creates a dynamic situation • Bounded arrival time interval are easier to handle • Unbounded arrival time intervals are impossible to handle with resource-constrained systems.

  20. Example: Adaptive Cruise Control • Demo video • Control system • Hard Real Time • Multi-rate periodic • Camera • GPS • Low-speed mode for rush hour traffic United States Patent 7096109

  21. Data Acquisition and Signal-Processing Systems • Examples: • Video capture. • Digital filtering. • Video and voice compression/decompression. • Radar signal processing. • Response times range from a few milliseconds to a few seconds. • Typically simpler than control systems

  22. Other Real-Time Applications • Real-time databases. • Examples: stock market, airline reservations, etc. • Transactions must complete by deadlines. • Main dilemma: Transaction scheduling algorithms and real-time scheduling algorithms often have conflicting goals. • Data is subject temporal consistency requirements. • Multimedia. • Want to process audio and video frames at steady rates. • TV video rate is 30 frames/sec. HDTV is 60 frames/sec. • Telephone audio is 16 Kbits/sec. CD audio is 128 Kbits/sec. • Other requirements: Lip synchronization, low jitter, low end-to-end response times (if interactive).

  23. Are All Systems Real-Time Systems? • Question: Is a payroll processing system a real-time system? • It has a time constraint: Print the pay checks every two weeks. • Perhaps it is a real-time system in a definitional sense, but it doesn’t pay us to view it as such. • We are interested in systems for which it is not a priori obvious how to meet timing constraints.

  24. The “Window of Scarcity” • Resources may be categorized as: • Abundant: Virtually any system design methodology can be used to realize the timing requirements of the application. • Insufficient: The application is ahead of the technology curve; no design methodology can be used to realize the timing requirements of the application. • Sufficient but scarce: It is possible to realize the timing requirements of the application, but careful resource allocation is required.

  25. Example: Interactive/Multimedia Applications Requirements (performance, scale) The interesting real-time applications are here sufficient but scarce resources insufficient resources Interactive Video High-quality Audio Network File Access abundant resources Remote Login 2000 1990 1980 Hardware resources in year X

  26. User Program Including Operating User Programs Operating Hardware Hardware System Components System Typical Embedded Configuration OS or not? Typical OS Configuration

  27. Foreground/Background Systems • Task-level, interrupt level • Critical operations must be performed at the interrupt level (not good) • Response time/timing depends on the entire loop • Code change affects timing • Simple, low-cost systems

  28. RTS Programming • 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. • Because of different priorities, unknown ordering and different timing requirements of different stimuli, a simple sequential loop is not usually adequate. • Real-time systems are therefore usually designed as cooperating processes with a real-time kernel controlling these processes. Concurrent programming

  29. Real Time Java? • Java supports lightweight concurrency (threads and synchronized methods) and can be used for some soft real-time systems. • Java 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; • Not possible to access system hardware; • Etc. • Real-Time Specification for Java • Sun Java Real-Time System • Requires a Real Time OS underneath (e.g., no Windows support)

  30. Classification of Scheduling Algorithms All scheduling algorithms dynamic scheduling (or online, or priority driven) static scheduling (or offline, or clock driven) dynamic-priority scheduling static-priority scheduling

  31. 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 I/O). • Pre-emptive scheduling • The execution of an executing processes may be stopped if a higher priority process requires service. • Scheduling algorithms • Round-robin; • Rate monotonic; • Shortest deadline first; • Etc.

  32. Real-time operating systems • Real-time operating systems are specialised operating systems which manage the processes in the RTS. • Responsible for process management and resource (processor and memory) allocation. • Do not normally include facilities such as file management. 14

  33. Operating system components • Real-time clock • Provides information for process scheduling. • 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.

  34. Interrupt servicing • Control is transferred automatically to a pre-determined memory location. • This location contains an instruction to jump to an interrupt service routine. • Further interrupts are disabled, the interrupt serviced and control returned to the interrupted process. • Interrupt service routines MUST be short, simple and fast.

  35. What’s Important in Real-Time Metrics for real-time systems differ from that for time-sharing systems. • schedulability is the ability of tasks to meet all hard deadlines • latency is the worst-case system response time to events • stability in overload means the system meets critical deadlines even if all deadlines cannot be met

  36. Limited Resources • Common Component based software engineering (CBSE) technologies (JavaBeans, CORBA and COM) are seldom used as they: • Require excessive processing requirements • Require excessive memory requirements • Provide unpredictable timing characteristics

  37. System Level Analysis • At system level we analyze to determine if the system composed fulfils the timing requirements. • Several different mature analysis methods exist, for example, analysis for priority-based systems and pre-run-time scheduling techniques

  38. Real-time Component Models • Using a standard operating system in a real-time application, such as windows NT must be done carefully, as it was designed to be used so.

  39. Application-specific Component Models • Maintain a component library which the application engineer can use when developing an application. • In addition to infrastructure components, domain specific component models, which in fact have been used for many years for certain domains must be considered.

  40. IEC 61131-3 Application Structure Configuration Variable Resource Resource access path Task Task Task Task FB Function Block Program Program Program Program Variable FB FB FB FB Global and direct variables Execution control path Access path Communication Function

  41. A Configuration in IEC 61131-3 • Encapsulates all software for an application and consists of one or several resources which provide the computational mechanisms.

  42. A Program in IEC 61131-3 • A program is written in any of the languages proposed in the standard, for example: • Instruction lists • Assembly languages • Structured text • A high level language similar to Pascal • Ladder diagrams • Function block diagrams (FBD)

  43. A Port-based Object Approach • The model is based upon the development of domain-specific components which maximize usability, flexibility and predictable temporal behavior. • Independent tasks are the bases for the PBO model. • Whenever a PBO needs data for its computation, it reads the most recent information from its in-ports, irrespective of its producer. • The PBOs are in their nature periodic and the system can be analyzed using traditional schedulability analysis.

  44. A Port-based Object Configuration parameters Variable input ports Variable output ports Port-based object Resource ports for communication with sensors and actuators

  45. Designing Component-based RTS System specification Component library Top-level design Detailed design Architecture analysis Create specifications for the new components Add new components to library Implement and verify new components using classical development methods Scheduling / interface check Obtain components timing behavior on target platform System verification Final product

  46. Top-level Design • The first stage of the development process involves de-composition of the system into manageable components

  47. Detailed Design • At this stage a detailed component design is performed, by selecting components to be used from the candidate set.

  48. Architecture Analysis • At this stage it is time to check that the system under development satisfies extra-functional requirements such as: • Maintainability • Reusability • Modifiability • Testability

  49. Scheduling • At this point we must check that the temporal requirements of the system can be satisfied, assuming time budgets assigned in the detailed design stage. • In other words, we need to make a schedulability analysis of the system based on the temporal requirements of each component

  50. WCET Verification • Performing a worst-case analysis can either be based on measurements or on a static analysis of the source code. • What is more interesting in the test cases is the execution time behavior shown as a function of input parameters as shown in the following slide.

More Related