Distributed Embedded Systems - Reconciling Computation, Communication and Resource Interaction
Lothar Thiele
Swiss Federal Institute of Technology
Zurich, Zurich, Switzerland
Embedded systems are typically reactive systems that are in continuous inter action with their physical environment to
which they are connected through sensors an actuators. Their embedding into a technical environment and the constraints imposed by a particular application domain often require a distributed implementation of embedded systems, where a number of hardware components communicate via some interconnection network. The hardware components in such systems are often specialized and aligned to their local environment and their functionality. And also the interconnection networks are often not homogeneous, but may instead be composed of several interconnected sub-networks, each with its own communication protocol and topology. The architectural concepts of heterogeneity, distributivity and parallelism can even be observed on single hardware components themselves: They become system characteristics that can be observed on several abstraction layers.
It becomes apparent that heterogeneous and distributed embedded real-time systems as described above are inherently difficult to design and to analyze. During the system level design process of an embedded system, a designer is typically faced with questions such as whether the timing, memory or energy properties of a certain system design will meet the design requirements. Consequently it becomes one of the major challenges in the design process to analyze specific characteristics of a system design, such as end-to-end delays, buffer requirements, or throughput in an early design stage, to support making important design decisions before much time is invested in detailed implementations. This analysis is generally referred to as system level performance analysis.
Based on the above discussion we can summarize that embedded systems are characterized by a close interaction between computation, communication, the associated resources and the physical environment. The solution of the above complex analysis and design problems relies on our abilities to properly deal with some of the following challenges:
Challenge 1: Designing component models whose interfaces talk about extra-functional properties like time, energy and
resource interaction.
Challenge 2: Designing models of computation that talk about functional component properties and resource interaction.
Challenge 3: Developing associated system design methods that lead to timing-predictable and efficient embedded systems. The presentation we will cover various attempts to address the above challenges, their use in embedded system design and various open issues.
|