JOYCE+: model and language for multi-site distributed systems

  • Authors:
  • María Consuelo Franky

  • Affiliations:
  • SINBAD Research Group, Computer Science Department, University of Los Andes, Apartado Aéreo, Bogotá, Colombia

  • Venue:
  • DPDS '90 Proceedings of the second international symposium on Databases in parallel and distributed systems
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.