Skip to main content

Modelling Remote Concurrency with Ada

Case Study of Symmetric Non-deterministic Rendezvous

  • Conference paper
Reliable Software Technologies – Ada Europe 2007 (Ada-Europe 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4498))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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)

    Article  Google Scholar 

  • Bagrodia, R.: Process synchronization: Design and performance evaluation of distributed algorithms. IEEE Trans. Softw. Eng. 15(9), 1053–1065 (1989)

    Article  Google Scholar 

  • Burns, A.: Concurrent programming in Ada. Cambridge University Press, Cambridge (1985)

    MATH  Google Scholar 

  • Burns, A., Lister, A.M., Wellings, A.J.: A review of Ada tasking. Springer, Heidelberg (1987)

    Book  MATH  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Fich, F., Ruppert, E.: Hundreds of impossibility results for distributed computing. Distrib. Comput. 16(2-3), 121–163 (2003)

    Article  Google Scholar 

  • Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  • Francez, N., Yemini, S.A.: Symmetric intertask communication. ACM Trans. Program. Lang. Syst. 7(4), 622–636 (1985)

    Article  MATH  Google Scholar 

  • Gasperoni, F.: Programming distributed systems (2003)

    Google Scholar 

  • Gray, J., Lamport, L.: Consensus on transaction commit. ACM Trans. Database Syst. 31(1), 133–160 (2006)

    Article  Google Scholar 

  • Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  • Ichbiah, J.D.: Preliminary Ada reference manual. SIGPLAN Not. 14(6a), 1–145 (1979)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Lin, K-J., Gannon, J.D.: Atomic remote procedure call. IEEE Trans. Softw. Eng. 11(10), 1126–1135 (1985)

    Article  Google Scholar 

  • Pautet, L., Tardieu, S.: GLADE User Guide (2000)

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Schneider, F.B.: Synchronization in distributed programs. ACM Trans. Program. Lang. Syst. 4(2), 125–148 (1982)

    Article  MATH  Google Scholar 

  • Le Verrand, D.: Le langage Ada. Manuel d’évaluation. Dunod (1982)

    Google Scholar 

  • Wellings, A., Burns, A.: Implementing atomic actions in Ada 95. IEEE Trans. Softw. Eng. 23(2), 107–123 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics