Communicating sequential processes
Communicating sequential processes
Communications of the ACM
Mixed Programming Metaphors in a Shared Dataspace Model of Concurrency
IEEE Transactions on Software Engineering
Coordination languages and their significance
Communications of the ACM
Acta Informatica
Programming by multiset transformation
Communications of the ACM
The discrete time TOOLBUS—a software coordination architecture
Science of Computer Programming
Communication and Concurrency
A Discipline of Programming
Exploding Complexity May Be Our Own Fault
IEEE Software
The Artistry of Software Architecture
IEEE Software
Proceedings of the Second International Conference on Coordination Languages and Models
COORDINATION '97 Proceedings of the Second International Conference on Coordination Languages and Models
Hi-index | 0.00 |
Due to the many possible interactions with an ever changing environment, 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 separating functional requirements from other aspects of system design. In this paper we present a software architecture for large-scale embedded systems that incorporates 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 requirements that are typical for large-scale embedded systems. The software architecture has been applied in the development of commercially available command-and-control, and traffic management systems. Experience confirms that due to the resulting 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 supported by the architecture.