Real-time Software Engineering Software Engineering 10
Real-time Software Engineering
Software Engineering 10
Computers are used to control a
wide range of systems from simple
domestic machines, through games
controllers, to entire manufacturing
plants.
The software in these systems is
embedded in system hardware, often
in read-only memory, and usually
responds, in real time, to events from
the system’s environment.
Their software must react to events
generated by the hardware and,
often, issue control signals in
response to these events.
Responsiveness in real-time is the
critical difference between
embedded systems and other
software systems, such as web-
based systems or personal software
systems.
In a real-time system, the
correctness depends both on the
response to an input and the time
taken to generate that response.
If the response to a stimulus in a
real-time system is too late, the
system is considered to be incorrect.
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.
Embedded systems generally run
continuously. They start when the
system is powered up and do not
terminate until the power is switched
off.
Interactions with the system’s
environment are unpredictable.
Events may not occur when
expected.
There may be physical limitations,
such as battery power, that affect the
design of a system.
Real-time systems often interact
directly with hardware through
specialized hardware interfaces.
Issues of safety and reliability may
may be the most important factors to
be considered when designing the
system.
Real-time systems are often
considered to be reactive systems.
Given a stimulus, the system must
produce a reaction or response
within a specified time.
Periodic stimuli. Stimuli which occur
at predictable time intervals
A sensor may return a value every
250 milliseconds. The system
response depends on that value.
Aperiodic stimuli. Stimuli which
occur at unpredictable times
For example, it is impossible to know
when a power failure will occur.
A general model of an embedded real-
time system
04/12/2014 19
Real-time systems are usually
organised as a number of parallel
processes.
This allows them to respond in a
timely way to events from the
system’s environment.
It is difficult to design a sequential
process in such a way that you can
guarantee that predict the
responsiveness of the system.
Sensor and actuator processes
04/12/2014 23