While the number of embedded systems in consumer electronics is growing dramatically, several trends can be observed which challenge traditional codesign practice: An increasing share of functionality of such systems is implemented in software; flexibility or reconfigurability is added to the list of non-functional requirements. Moreover, networked embedded systems are equipped with communication capabilities and can be controlled over networks. In this paper, we present a suitable methodology and a set of tools targeting these novel requirements. JACOP is a codesign environment based on Java and supports specification, co-synthesis and prototyping of networked embedded systems.
IntroductionThe rapidly growing market for web-enabled consumer electronic devices introduces a paradigm shift in embedded system design.Traditionally, embedded systems have been designed to perform a fixed set of previously specified functions within a well-known operating environment. After shipment, the functionality of the embedded system remains unchanged during product lifetime. However, with shorter time-to-market windows and increasing product functionality this design philosophy has exhibited its shortcomings. Hardware/software codesign tools are increasingly used to alleviate some of the problems in the design of complex heterogeneous systems. But the key features of next-generation embedded devices will be the capability to communicate over networks and to adapt to different operating environments. There is an emerging class of systems which concurrently execute multiple applications, such as processing audio streams, capturing video data and web browsing. This systems need to be adaptive to changing operating conditions. For instance, in multimedia applications the video frame rate has to be adjusted depending on network congestion. Likewise, for audio streams different compression techniques are applied depending on network load. Besides this class of multi-function systems there are multi-mode systems, i.e. systems which know several alternative modes of operation, for example a mobile phone which is able to switch between different communication protocols or a transmitter which can toggle between different encryption standards. This paradigm shift in functional and non-functional requirements of embedded appliances not only holds for consumer devices. In industrial automation there is a growing demand for sensor and actuator devices which can be remotely controlled and maintained via Internet.Several system-level design languages and codesign frameworks have been proposed by researchers and are gaining acceptance in industry. But there is a lack of methods and tools to investigate issues which are raised when designing runtime-reconfigurable hardware/software systems. Our goal is to develop a complete design environment for embedded systems which include dynamically reconfigurable hardware components. JACOP (Java driven codesign and prototyping environment) is based on Java which is used for specification and initial profil...