|
The
design of Embedded Systems (ES) is all about the
implementation of a set of functionalities satisfying a
number of constraints ranging from performance to cost,
emissions, power consumption and weight.
The
choice of implementation architecture implies which
functionality will be implemented as a hardware component or
as software running on a programmable component. In recent
years, the functionalities to be implemented in ES have
grown in number and complexity so much that the development
time is increasingly difficult to predict and to keep in
check.
The
complexity increase coupled with the constantly evolving
specifications has forced designers to look at
implementations that are intrinsically flexible, i.e., that
can be changed rapidly. Since hardware-manufacturing cycles
take time and are expensive, the interest in software-based
implementation has risen to previously unseen levels.
The
increase in computational power of processors and the
corresponding decrease in size and cost have allowed the
movement of increasingly functionality to software. Among
the many new developments in information technology, the
fusion of information processing with physical processes
literally changes the physical world around us. From toys to
airplanes and from cars to factory robots, computers monitor
and control our physical environment. Information processing
that is tightly integrated with physical processes is called
embedded computing.
Embedded computing is becoming the universal system
integrator for physical systems. Its pervasiveness is well
illustrated by the following facts: (a) the total shipment
of microprocessor units (MPU) and micro control units (MCU)
in 1997 was over 4.4 billion units, and of this about 98%
related to embedded applications;
and (b) between 1994 and 2004 the need for embedded software
developers was expected to increase 10 fold.
However, this move corresponds to increasing
problems in verifying design correctness, a
critical aspect of ES since several application
domains, such as transportation and environment
monitoring, are characterized by safety
considerations that are certainly not
interesting for traditional PC-like software
applications. In addition, little attention has been
traditionally paid to hard constraints on reaction
speed, memory footprint and power consumption of
software -- these constraints are crucial for ES.
Embedded Software (ESW) is really an implementation
choice of functionality that can be
alternatively implemented as a hardware component
and we cannot abstract away hard characteristics of
software as we have done in the traditional software
domain. No wonder then that we are witnessing a
crisis in the ES domain for ESW design.
|