focus 0 7 4 0 -7 4 5 9 / 0 3 / $ 1 7 . 0 0 © 2 0 0 3 I E E E
P u b l i s h e d b y t h e I E E E C o m p u t e r S o c i e t y I E E E S O F T W A R E6 1 products are growing. This creates a big challenge for embedded-software development. In the years to come, the key to success will be the ability to successfully develop high-quality embedded systems and software on time. As the complexity, number, and diversity of applications increase, more and more companies are having trouble achieving sufficient product quality and timely delivery. To optimize the timeliness, productivity, and quality of embedded software development, companies must apply software engineering technologies that are appropriate for specific situations.Unfortunately, the many available software development technologies don't take into account the specific needs of embedded-systems development. This development is fundamentally different from that of nonembedded systems. Technologies for the development of embedded systems should address specific constraints such as hard timing constraints, limited memory and power use, predefined hardware platform technology, and hardware costs. Existing development technologies don't address their specific impact on, or necessary customization for, the embedded domain. Nor do these technologies give developers any indication of how to apply them to specific areas in this domain-for example, automotive systems, telecommunications, or consumer electronics. Consequently, tailoring a technology for a specific use is difficult. Furthermore,
Embedded Software Engineering:The State of the Practice M any products today contain software (for example, mobile telephones, DVD players, cars, airplanes, and medical systems). Because of advancements in information and communication technology, in the future even more products will likely contain software. The market for these "enhanced" products is forecasted to grow exponentially in the next 10 years. 1 Moreover, these embedded systems' complexity is increasing, and the amount and variety of software in these the state of the practice An inventory of eight European companies reveals what tools developers of embedded-systems software are and aren't using, and why. The need exists for more specific, yet flexible, tools.