Optimistic recovery in distributed systems
ACM Transactions on Computer Systems (TOCS)
Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
Optimistic parallelization of communicating sequential processes
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Hermes: a language for distributed computing
Hermes: a language for distributed computing
Optimistic algorithms for distributed transparent process replication
Optimistic algorithms for distributed transparent process replication
Capability-Based Computer Systems
Capability-Based Computer Systems
NIL: An integrated language and system for distributed programming
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
The NIL distributed systems programming language: a status report
ACM SIGPLAN Notices
Towards a new distributed programming environment (CORDS)
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
A formalization of the CORDS Process Model using Mondel
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
Implementing a delegation model design of an HPCC application using concert/C
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 2
Hi-index | 0.00 |
This paper presents a strategy for simplifying the programming of heterogeneous distributed multiapplications. A multiapplication is a distributed system or a collection of autonomous applications which occasionally interact, such as a bank and its customers. Our approach is based on designing a machine-and language-independent process model, and integrating the abstract primitives for process creation, connection, and communication into programming languages. Our goal is to make it easy for non-experts to write multiapplications and multiapplication components, and to produce software which is portable across different machine and operating system environments. The complexity of managing address spaces, name spaces, buffers, communications connections, and recovery in such environments is hidden inside the implementation of a small number of high-level language constructs.We discuss our process model, and two language efforts based on this model: Hermes, a secure, representation-independent language designed explicitly around the process model, and Concert-C, a minimal set of extensions to C to support the process model while allowing reuse of existing C code. We discuss the status of the Hermes and Concert-C prototype implementations.