Tải bản đầy đủ (.pdf) (34 trang)

Lecture Building reliable component-based systems - Chapter 13: Components in real-time systems

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (503.94 KB, 34 trang )

Chapter 13
Components in Real-Time Systems

Building Reliable Component­based 


Overview
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

Building Reliable Component­based 


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

Building Reliable Component­based 


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.

Building Reliable Component­based 


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.

Building Reliable Component­based 


Scheduling
Offline scheduling:
The scheduler has complete knowledge of the task set
and its constraints.
Online scheduling:
Make their scheduling decisions during run-time.
Deadline:
Is the maximum time within which the task must

complete its execution with respect to an event.
Real-time systems are divided into two classes, hard
and soft real-time systems

Building Reliable Component­based 


Limited Resources
Common CBSE technologies (JavaBeans, CORBA and
COM) are seldom used as they:
Require excessive processing requirements
Require excessive memory requirements
Provide unpredictable timing characteristics

Building Reliable Component­based 


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 prerun-time scheduling techniques

Building Reliable Component­based 


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.


Building Reliable Component­based 


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.

Building Reliable Component­based 


IEC 61131-3 Application Structure
Configuration
Resource
Task

Program

Variable
access path

Resource
Task

Task


Program

Program

Task

Program
FB

FB
Function
Block

FB

FB

Variable

FB

Global and direct variables

Access path
Communication Function

Building Reliable Component­based 

Execution
control path



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

Building Reliable Component­based 


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)

Building Reliable Component­based 


Function Block Diagram

  FB1

  FB2

A simple function block diagram representing a feedback control loop.


Building Reliable Component­based 


A Port-based Object Approach
The model is based upon the development of domainspecific 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.

Building Reliable Component­based 


A Port-based Object
Configuration parameters

Variable 
input ports

Port­based  object

Resource ports for communication 
with sensors and actuators

Building Reliable Component­based 


Variable 
output ports


Designing Component-based RTS
System specification

Top­level design

Component 
library

Detailed design

Architecture analysis

Scheduling / interface 
check

Create specifications for 
the new components

Implement and verify 
new components using 
classical development 
methods

Obtain components 
timing behavior on 
target platform


System verification

Final product

Building Reliable Component­based 

Add new 
components 
to library


Top-level Design
The first stage of the development process involves decomposition of the system into manageable
components

Building Reliable Component­based 


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

Building Reliable Component­based 


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

Building Reliable Component­based 


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

Building Reliable Component­based 


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.

Building Reliable Component­based 



An Execution Time Graph
The execution time shows different values for the different
input sub-domains.

  Execution time 

domain 1 

domain 2 

domain 3 

Building Reliable Component­based 

Input 


Maximum execution time per sub-domain

  Execution time 

domain 1 

domain 2 

domain 3 

Building Reliable Component­based 


Input 


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 requirements
The assigned time budget

Building Reliable Component­based 


×