hi dear ones,
The New World of pervasive computing, with millions of computers virtually everywhere, brings new opportunities but also new problems. On a system level, the most important challenges are how to develop and manage the software system, while guaranteeing sufficient quality at acceptable cost. but which deserves an increased attention to match the problems encountered by industry.
The main problem (and strength) with software (compared to hardware) is its flexibility and that it is not governed by any natural laws, except timing. Traditionally, methods that for certain classes of systems can provide timing and Reliability guarantees have been developed. These methods need to be extended and made more generally applicable. Additionally, industry needs research into software and system architectures that can provide appropriate structure, flexibility and infrastructure, while making it possible to guarantee quality at reasonable cost. In several cases this will mean absolute timing and reliability guarantees at virtually no cost.
Specific topics that should be addressed include:
•Correct behavior during the lifecycle. The competitive pressure, together with growing functionality
and complexity of embedded systems, means that such systems cannot be built from scratch each time. Instead, they have to be composed from existing building blocks, often emanating from different vendors. Not only that, as all software systems, they will be updated during their entire lifecycle. These are not PCs where an error causes irritation and often can be corrected with a restart, but systems where an error may have serious and sometimes catastrophic consequences. Research is needed on the dynamic architecture of such complex heterogeneous embedded software systems, as well as on the process on how to build and maintain them.
•The updating process. A growing problem, as the number of embedded computers per person increases, is the maintenance of software systems. There will even be many computers in our appliances that we will not be aware of (and do not want to be aware of), but which require updates and downloads of new software. In many cases the software must be updated “on the fly” while the system is running. This is done already today, but much remains to make these updates safe and cheap enough in many applications. The sheer volume, updating thousands or millions of computers, adds to the updating problem. The only feasible way to handle the volume is to do remote updates over interconnected networks, possible the Internet, from specialized management servers.
•Safety, security and integrity. Correct behavior is the first condition to achieve safety, security and
integrity. But special mechanisms are also needed. The need for safety in a car or a medical device is evident. In most of the embedded systems a huge amount of information will be handled, information to which there is a great number of “interested parties”. The fight for better security, not the least to guard our integrity, will have to be fought constantly. There are, of course, also important challenges on the microelectronics side, including how to minimise power consumption, weight and cost, together with robust integration of different technologies and with mechanical devices. All the above and several additional technical issues are important to address. Research/graduate education efforts into embedded systems will not only provide competence in this area, but also provide an increased focus on embedded systems in the entire educational system.