Due to the many possible interactions with an ever changing environ-
ment, combined with stringent requirements regarding temporal behaviour,
robustness, availability, and maintainability, large-scale embedded systems
are
very complex in their design. Coordination models offer the potential of
separat-
ing functional requirements from other aspects of system design. In this
paper
we present a software architecture for large-scale embedded systems that
incor-
porates an explicit coordination model. Conceptually the coordination model
consists of application processes that interact through a shared data space
- no
direct interaction between processes is possible. Starting from this
relatively
simple model we derive successive refinements of the model to meet the
require-
ments that are typical for large-scale embedded systems. The software
architec-
ture has been applied in the development of commercially available command-
and-control, and traffic management systems. Experience confirms that due to
the very high degree of modularity and maximal independence
between modules, these systems are relatively easy to develop and
integrate
in
an incremental way. Moreover, distribution of processes and data,
fault-tolerant
behaviour, graceful degradation, and dynamic reconfiguration are
directly
sup-
ported by the architecture.
CV: