Modelling remote concurrency with Ada. Case study of symmetric non-deterministic rendezvous
نویسندگان
چکیده
When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We state that the Ada language provides such a convenient abstraction level for concurrency description and evaluation, including distributed concurrency. For demonstrating it, we present two new cooperative algorithms based on remote procedure calls which, although simply stated, contain actual concurrency complexity and difficulties. They allow a distributed symmetric non-deterministic rendezvous. One relies on a common server and the second is fully distributed. Both realize a symmetric rendezvous using an asymmetric RPC modelled by Ada rendezvous. These case studies show that Ada concurrency features provide the adequate abstraction level both for describing and evaluating concurrency and for carrying out design decisions.
منابع مشابه
Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous. Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous
When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We st...
متن کاملOptimal Memory Rendezvous of Anonymous Mobile Agents in a Unidirectional Ring
We study the rendezvous problem with k 2 mobile agents in a n-node ring. We present a new algorithm which solves the rendezvous problem for the non-symmetric distribution of agents on the ring. The mobile agents require the use of O(log k) bit-wise size of internal memory and one indistinguishable token each. In the periodic (but not symmetric) case our new procedure allows the agents to conclu...
متن کاملConcurrent program metrics drawn by QUASAR numbers
Aiming at developing reliable concurrent software, the engineering practice uses appropriate metrics. Quasar, the tool that we develop for automatically analyzing the concurrent part of programs, provides some data as a result of its program analysis. We attempt to use them as metrics and to show their usefulness for software engineering and for reliable programming control. In addition to the ...
متن کاملA Comparison of the Concurrency and Real-Time Features of Ada 95 and Java
1. ABSTRACT Both Ada and Java support concurrent programming, but through quite different approaches. Ada has built-in tasking features with concurrency semantics, independent of the language’s OOP model, whereas Java’s thread support relies on OOP and is based on special execution properties of methods in several predefined classes. Ada achieves mutual exclusion through protected objects with ...
متن کاملThe Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software
Distributed or parallel software with synchronous communication via rendezvous is found in client-server systems and in proposed Open Distributed Systems, in implementation environments such as Ada, V, Remote Procedure Call systems, in Transputer systems, and in speciication techniques such as CSP, CCS and LOTOS. The delays induced by rendezvous can cause serious performance problems, which are...
متن کامل