- Information
- AI Chat
Was this document helpful?
Real-time software Engineering
Course: Software Engineering (CSPC 111)
140 Documents
Students shared 140 documents in this course
University: STI West Negros University
Was this document helpful?
Real-time software Engineering
Computers are used to control a wide range of systems from simple domestic
machines, through games controllers, to entire manufacturing plants. These computers
interact directly with hardware devices. Their software must react to events generated
by the hardware and often issue control signals in response to these events. These
signals result in an action, such as the initiation of a phone call, the movement of a
character on the screen, the opening of a valve, or the display of the system status. The
software in these systems is embedded in system hardware, often in read-only memory.
It responds, in real time, to events from the system’s environment. By real time, I mean
that the software system has a deadline for responding to external events. If this
deadline is missed, then the overall hardware–software system will not operate
correctly.
Embedded software is very important economically because almost every electrical
device now includes software. There are therefore many more embedded software
systems than other types of software systems. Ebert and Jones (Ebert and Jones 2009)
estimated that there were about 30 embedded microprocessor systems per person in
developed countries. This figure was increasing between 10% and 20% per year. This
suggests that, by 2020, there will be more than 100 embedded systems per person.
Responsiveness in real time is the critical difference between embedded systems and
other software systems, such as information systems, web-based systems, or personal
software systems, whose main purpose is data processing. For non–real-time systems,
the correctness of a system can be defined by specifying how system inputs map to
corresponding outputs that should be produced by the system. In response to an input,
a corresponding output should be generated by the system and, often, some data
should be stored. For example, if you choose a create command in a patient information
system, then the correct system response is to create a new patient record in a
database and to confirm that this has been done. Within reasonable limits, it does not
matter how long this takes.