Communications of the ACM
Process algebra
Branching time and abstraction in bisimulation semantics
Journal of the ACM (JACM)
KLAIM: A Kernel Language for Agents Interaction and Mobility
IEEE Transactions on Software Engineering
Comparing coordination models based on shared distributed replicated data
Proceedings of the 1999 ACM symposium on Applied computing
Proceedings of the 21st international conference on Software engineering
Semantical aspects of an architecture for distributed embedded systems
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
Formal verification of replication on a distributed data space architecture
Proceedings of the 2002 ACM symposium on Applied computing
Distributed Algorithms
JavaSpaces Principles, Patterns, and Practice
JavaSpaces Principles, Patterns, and Practice
Introduction to Process Algebra
Introduction to Process Algebra
Invariants in Process Algebra with Data
CONCUR '94 Proceedings of the Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Formal Specification of JavaSpaces Architecture Using µCRL
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
Transparent Object Replication: A Formal Model
WORDS '99 Proceedings of the Fifth International Workshop on Object-Oriented Real-Time Dependable Systems
Bonita: A set of tuple space primitives for distributed coordination
HICSS '97 Proceedings of the 30th Hawaii International Conference on System Sciences: Software Technology and Architecture - Volume 1
Comparing semantic frameworks for coordination: on the conformance issue for coordination media
Proceedings of the 2003 ACM symposium on Applied computing
Hi-index | 0.00 |
We study a simple software architecture, in which components are coordinated by writing into and reading from a global set. This simple architecture is inspired by the industrial software architecture Splice. We present two results. First, a distributed implementation of the architecture is given and proved correct formally. In the implementation, local sets are maintained and data items are exchanged between these local sets. Next we show that the architecture is sufficiently expressive in principle. In particular, every global specification of a system's behaviour can be divided into components, which coordinate by read and write primitives on a global set only. We heavily rely on recent concepts and proof methods from process algebra.