In this chapter, the following content will be discussed: Introduction, Characteristics and challenges of real-time systems, real-time component models, designing component-based real-time systems, composition of components, example: RT components in rubus OS.
Trang 1Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Chapter 13 Components in Real-Time Systems
Trang 2Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Trang 3Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Introduction
Embedded computers
Medical control equipment, mobile phones, and vehicle control systems
Most of such embedded systems can also be
characterized as real-time systems.
They must usually meet stringent specifications for safety, reliability, limited hardware capacity etc
Trang 4Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Characteristics and Challenges of RTS
Real-time systems are computing systems in which the meeting of timing constraints is essential to
correctness.
If the system delivers the correct answer, but after a certain deadline, it could be regarded as having failed.
Trang 5Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Tasks
Real-time systems can be constructed of sequential programs, but typically they are built of concurrent
programs, called tasks
Tasks are usually divided into:
Periodic tasks: consist of an infinite sequence of
identical activities, called instances, which are invoked
within regular time periods
Non-periodic : are invoked by the occurrence of an event
Trang 6Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Trang 7Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Trang 8Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
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
Trang 9Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
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.
Trang 10Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
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
Trang 11Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
IEC 61131-3 Application Structure
Global and direct variables
Access path
Execution control path
Variable access path
FB Task
Variable
Trang 12Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
A Configuration in IEC 61131-3
Encapsulates all software for an application and
consists of one or several resources which provide the
computational mechanisms
Trang 13Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
A Program in IEC 61131-3
A program is written in any of the languages proposed
in the standard, for example:
Instruction listsAssembly languagesStructured text
A high level language similar to PascalLadder diagrams
Function block diagrams (FBD)
Trang 14Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Function Block Diagram
A simple function block diagram representing a feedback control loop.
Trang 15Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
A Port-based Object Approach
The model is based upon the development of specific components which maximize usability,
domain-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
Trang 16Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Configuration parameters
Trang 17Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Designing Component-based RTS
System specification Toplevel design Detailed design
Scheduling / interface
check
Obtain components timing behavior on target platform System verification Final product
Component library
Create specifications for the new components
Implement and verify new components using classical development methods
Add new components
to library Architecture analysis
Trang 18Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Top-level Design
The first stage of the development process involves composition of the system into manageable
de-components
Trang 19Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Detailed Design
At this stage a detailed component design is performed,
by selecting components to be used from the candidate set
Trang 20Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Architecture Analysis
At this stage it is time to check that the system under development satisfies extra-functional requirements such as:
MaintainabilityReusabilityModifiabilityTestability
Trang 21Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
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
Trang 22Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
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
Trang 23Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
An Execution Time Graph
Execution time
Input domain 1 domain 2 domain 3
The execution time shows different values for the different
input sub-domains.
Trang 24Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Maximum execution time per sub-domain
Execution time
Input domain 1 domain 2 domain 3
Trang 25Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Implementation of New Components
New components; Those not already in the library must
be implemented The designer of the component has two requirements:
The functional requirementsThe assigned time budget
Trang 26Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
System Build and Test
Finally, we build the system using old and new
components.
We must now verify the functional and temporal
properties of the system obtained
If the verification test fails, we must return to the
relevant stage of the development process and correct the error
Trang 27Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Component Library
Is the most central part of any CBSE system as it
contains binaries of components and their descriptions.
A component library containing real-time components should provide the following:
Memory requirements WCET test cases
Dependencies Environment assumptions
Trang 28Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Composition of Components
Component 1 (C 1 )
Component 2 (C 3 )
Component n (C 2 )
out_C 1
out_C 2
out1_C n out2_C n
out1_C new out2_C new
out3_C new
New Component (C new )
Trang 29Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Trang 30Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Specification Of Timing Attributes
We specify virtual timing attributes of the composed component, which are used to compute the timing
attributes of sub-components, ie:
IF virtual period is set to P,
THEN the period of a sub-component A should be f A * P AND the period of B is f B * P,
WHERE f A and f B are constants for the composed
component, which are stored in the component library
Trang 31Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Trang 32Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
A Task and Its Interfaces
The timing requirements are specified by release-time, deadline, WCET and period
Trang 33Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
A Composed System in the Red Model of Rubus
The task depicted below is required to execute before
the outputBrakeValues task, (i.E Task BrakeLeftRight precedes task outputBrakeValues)
Component:
State information
input 1 input 2
Component:
OutputBrakeValues
State information
Trang 34Building Reliable Componentbased Systems
Chapter 13 Components in RealTime Systems
Composition of Components in Rubus
Task:
BrakeLeftRight
oil pressure speed
brake left brake right
Task state information
Task:
OutputBrakeValues
Task state information Component: BrakeSystem
pressure
speed