Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
AADL workshop (2005), www.axlog.fr/R_d/aadl/workshop2005_fr.html
Androutsellis-Theotokis, S., Spinellis, D.: A survey of peer-to-peer content distribution technologies. ACM Comput. Surv. 36(4), 335–371 (2004)
Bagrodia, R.: Process synchronization: Design and performance evaluation of distributed algorithms. IEEE Trans. Softw. Eng. 15(9), 1053–1065 (1989)
Burns, A.: Concurrent programming in Ada. Cambridge University Press, Cambridge (1985)
Burns, A., Lister, A.M., Wellings, A.J.: A review of Ada tasking. Springer, Heidelberg (1987)
Evangelista, S., Kaiser, C., Pradat-Peyre, J-F., Rousseau, P.: Quasar: a new tool for analyzing concurrent programs. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 166–181. Springer, Heidelberg (2003)
Evangelista, S., Kaiser, C., Pradat-Peyre, J-F., Rousseau, P.: Comparing Java, C# and Ada monitors queuing policies: a case study and its Ada refinement. Ada Lett. XXVI(2), 23–37 (2006)
Fich, F., Ruppert, E.: Hundreds of impossibility results for distributed computing. Distrib. Comput. 16(2-3), 121–163 (2003)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Francez, N., Yemini, S.A.: Symmetric intertask communication. ACM Trans. Program. Lang. Syst. 7(4), 622–636 (1985)
Gasperoni, F.: Programming distributed systems (2003)
Gray, J., Lamport, L.: Consensus on transaction commit. ACM Trans. Database Syst. 31(1), 133–160 (2006)
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)
Ichbiah, J.D.: Preliminary Ada reference manual. SIGPLAN Not. 14(6a), 1–145 (1979)
Kaiser, C., Pradat-Peyre, J.F.: Chameneos, a concurrency game for Java, Ada and others. In: ACS/IEEE Int. Conf. AICCSA’03, IEEE Computer Society Press, Los Alamitos (2003)
Lin, K-J., Gannon, J.D.: Atomic remote procedure call. IEEE Trans. Softw. Eng. 11(10), 1126–1135 (1985)
Pautet, L., Tardieu, S.: GLADE User Guide (2000)
Romanovsky, A.B., Mitchell, S.E., Wellings, A.J.: On programming atomic actions in Ada 95. In: Hardy, K., Briggs, J. (eds.) Ada-Europe 1997. LNCS, vol. 1251, pp. 254–265. Springer, Heidelberg (1997)
Schneider, F.B.: Synchronization in distributed programs. ACM Trans. Program. Lang. Syst. 4(2), 125–148 (1982)
Le Verrand, D.: Le langage Ada. Manuel d’évaluation. Dunod (1982)
Wellings, A., Burns, A.: Implementing atomic actions in Ada 95. IEEE Trans. Softw. Eng. 23(2), 107–123 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kaiser, C., Pajault, C., Pradat-Peyre, JF. (2007). Modelling Remote Concurrency with Ada. In: Abdennadher, N., Kordon, F. (eds) Reliable Software Technologies – Ada Europe 2007. Ada-Europe 2007. Lecture Notes in Computer Science, vol 4498. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73230-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-73230-3_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73229-7
Online ISBN: 978-3-540-73230-3
eBook Packages: Computer ScienceComputer Science (R0)