Meeting real-time requirements in distributed systems
When viewed as a whole, the embedded electronics in installations such as automobiles and aircraft are by their nature distributed: they are connected to sensors and actuators that are in various different parts of the vehicle. Several factors drive us to distribute the "intelligence" of the system. This paper considers techniques that can be applied both to software within nodes and to signaling on shared buses to determine that deadlines will be met. Several software and network architectures that are amenable to different forms of analysis and meet varied application needs (such as performance and cost constraints) are discussed. Ways in which the analysis of the system components can be combined to determine end-to-end behavior are investigated, including the use of "contracts" to "decouple" the system components within an analyzable framework and so reduce "brittleness" in the event of subsequent system modification.