ACM Transactions on Programming Languages and Systems (TOPLAS)
Thoth, a portable real-time operating system
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
StarOS, a multiprocessor operating system for the support of task forces
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Programming-in-the large versus programming-in-the-small
Proceedings of the international conference on Reliable software
Communication Port: A Language Concept for Concurrent Programming
IEEE Transactions on Software Engineering
*MOD A Language for Distributed Programming
IEEE Transactions on Software Engineering
PORTS: a method for dynamic interprogram communication and job control
AFIPS '71 (Spring) Proceedings of the May 18-20, 1971, spring joint computer conference
Aladdin/lamp: Configuration management tools for distributed computer control systems
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
Hi-index | 22.14 |
Distributed computer control systems have a number of potential advantages over centralized systems, especially where the application is itself physically distributed. A computer station can be placed close to the plant being controlled, and a communications network used to enable the stations to communicate to coordinate their actions. However, the software must be carefully designed to exploit the potential advantages of distribution. This paper describes the software architecture of CONIC, a system to support distributed computer control applications. This architecture emphasizes the distinction between the writing of individual software components and the construction and configuration of a system from a set of components. A modular structure is used to separate programming from configuration. Typed entry and exit ports are used to clearly define module interfaces. Ports, analagous to the plugs and sockets of hardware components, permit modules to be interconnected in different ways. On-line modification and extension of the system is supported by permitting the dynamic creation and interconnection of modules. Message passing primitives are provided to permit modules to coordinate and synchronize control actions.