Symmetric intertask communication
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering
Concurrent programming in Ada
A review of Ada tasking
Process Synchronization: Design and Performance Evaluation of Distributed Algorithms
IEEE Transactions on Software Engineering
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Implementing Atomic Actions in Ada 95
IEEE Transactions on Software Engineering
Synchronization in Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
On Programming Atomic Actions in Ada 95
Ada-Europe '97 Proceedings of the 1997 Ada-Europe International Conference on Reliable Software Technologies
Preliminary Ada reference manual
ACM SIGPLAN Notices - Preliminary Ada reference manual
Hundreds of impossibility results for distributed computing
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
A survey of peer-to-peer content distribution technologies
ACM Computing Surveys (CSUR)
Consensus on transaction commit
ACM Transactions on Database Systems (TODS)
Comparing Java, C# and Ada monitors queuing policies: a case study and its Ada refinement
ACM SIGAda Ada Letters
Quasar: a new tool for concurrent Ada programs analysis
Ada-Europe'03 Proceedings of the 8th Ada-Europe international conference on Reliable software technologies
Concurrent Program Metrics Drawn by Quasar
Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 0.00 |
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 nondeterministic 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.