Distributed databases principles and systems
Distributed databases principles and systems
Programming in Occam
Operation systems: advanced concepts
Operation systems: advanced concepts
Distributed systems and computer networks
Distributed systems and computer networks
Joyce—a programming language for distributed systems
Software—Practice & Experience
Software—Practice & Experience
ACM Computing Surveys (CSUR)
Communicating sequential processes
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Petri Net Theory and the Modeling of Systems
Petri Net Theory and the Modeling of Systems
DGDBM: programming support for distributed transactions over replicated files
ACM SIGOPS Operating Systems Review
Integrating Process and Project Management for Multi-Site Software Development
Annals of Software Engineering
Hi-index | 0.00 |
The models and languages most widely used for distributed systems programming (such as ADA, CSP, and OCCAM) do not explicitly consider the process execution site, they assume a synchronous communication scheme of “rendezvous” style, and require that each process recognize the names of their interlocutors. JOYCE+ is a modification of the JOYCE language defined by Brinch Hansen [Brinch 87, Brinch 89]. In the JOYCE+ model each process is executed in a specific site, it is assumed that the communication between processes at the same site is much more faster than between processes at different sites, and it is also assumed that the communication between processes is not always reliable. For this multi-site environment an asynchronous communication scheme is considered, eliminating waiting states for a process that sends a message to another process. Furthermore, modelling communication between processes through “channel” objects, the spaces for process names become independents.In this paper the JOYCE+ model for multi-site distributed systems is presented and the operational semantic of the asynchronous communication between processes is illustrated with Petri Nets. The syntax of the JOYCE+ language is presented in terms of the Guarded Commands language [Dijkstra 75]. The expressive power of the JOYCE+ language in distributed synchronization problems with timeout handling is illustrated through examples. Finally, we discuss about software development environments (based on JOYCE+) for distributed systems over multi- and mono-process computer networks.Index Terms - Languages for distributed systems, Tools and methodologies for distributed systems.