Skip to main content

Distributed Galileo: a Persistent Programming Language with Transactions

  • Conference paper
Persistent Object Systems

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 34 Accesses

Abstract

Several research projects aim to integrate the functionalities of a database management system with those of a programming language. This is the main goal of Persistent Programming Languages. An open issue in these systems is to define and develop the important functionality that allows several endusers to concurrently access shared persistent data. This paper presents the problems we encountered and the techniques we used to provide the persistent programming language Galileo with the support for concurrent transactions that access a shared remote database. In our system, end—users can access a shared value environment and a shared type environment stored in a remote server. Every user can also use his own private persistent environments that are transparently integrated with the shared ones. Private environments are not directly visible to the other end-users, but there may be some subtle interactions on persistent private data due to inheritance. This system uses a strict two—phase locking technique to ensure serializability of concurrent transactions. Furthermore, it guarantees the recovery of persistent data in case of system and transaction failures.

This work has been partly supported by the EU under contracts No ERB-CIPA-CT-931616 and ESPRIT BRA No 6309 FIDE2 (Formally Integrated Data Environment).

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

  1. Albano A., L. Cardelli and R. Orsini, “Galileo: A strongly typed interactive conceptual language”, ACM Trans, on Database Systems, Vol. 10, No. 2, pp. 230–260, 1985.

    Article  Google Scholar 

  2. Atkinson M. P. and O. P. Buneman, “Types and Persistence in Database Programming Languages”, ACM Computer Surveys, Vol 19, No. 2, pp. 105–190, 1987.

    Article  Google Scholar 

  3. Bernstein P., V. Hadzilacos and N. Goodman, Concurrency Control and Recovery in Database System, Addison — Wesley, Reading, MA, 1987.

    Google Scholar 

  4. Atkinson M.P., Bancilhon F., DeWitt D., Dittrich K., Maier D. and Zdonik S., “The Object-Oriented Database System Manifesto”, Proc. Int. Conf. DOOD, Kyoto, Japan, pp. 40–57, 1989.

    Google Scholar 

  5. Cardelli L., “A Semantics of Multiple Inheritance”, in Semantics of Data Types, LNCS, Vol. 173, G. Kahn, D. B. MacQueen and G. Plotkin (eds.), Springer Verlag, NY, pp. 51–67, 1984.

    Google Scholar 

  6. Cardelli L. and P. Wegner, “On Understanding Types, Data Abstraction and Polymorphism”, ACM Computing Surveys, Vol. 17, No. 4, pp. 471–522, 1985.

    Article  Google Scholar 

  7. Mainetto G., “Funzionalità del gestore della memoria del Galileo Stabile”, Tech. Rep. 5/60, Progetto Finalizzato “Sistemi Informatici e Calcolo Parallelo”, CNR (in italian), 1991.

    Google Scholar 

  8. Di Giacomo M., G. Mainetto and L. Vinciotti, “Architettura e Realizzazione del Sistema Galileo Distribuito”, Tech. Rep. 5/111, Progetto Finalizzato “Sistemi Informatici e Calcolo Parallelo”, CNR (in italian), 1992.

    Google Scholar 

  9. D. J. DeWitt, P. Futtersack, D. Maier and F. Velez, “A Study of Three Alternative Workstation-Server Architectures for Object-Oriented Database Systems”, Proc. 16th Int. Conf. on VLDB, Brisbane, Australia, pp. 107–121, 1990.

    Google Scholar 

  10. Brown A. L., “Persistent Object Stores”, Persistent Programming Res. Rep. 71-89, Dep. of Computing Science, Univ. of Glasgow and St. Andrews, Scotland, UK, 1989.

    Google Scholar 

  11. Diotiallevi M., “Una Proposta per 1a Realizzazione del Compilatore del Galileo Persistente”, Tech. Rep. 5/35, Progetto Finalizzato “Sistemi Informatici e Calcolo Parallelo”, CNR (in italian), 1990.

    Google Scholar 

  12. Cardelli L., “The Functional Abstract Machine”, AT&T Bell Laboratories, Tech. Rep. TR-107, Murray Hill, NJ, 1983.

    Google Scholar 

  13. Haerder T. and A. Reuter, “Principles of Transaction-Oriented Database Recovery”, ACM Computing Surveys, Vol. 15, No. 4, pp. 287–317, 1983.

    Article  MathSciNet  Google Scholar 

  14. Brown A.L., G. Mainetto, F. Matthes, R. Mueller and D.J. McNally, “An Open System Architecture for a Persistent Object Store”, Proc. 25th Hawaii Int. Conf. on System Sciences, Hawaii, USA, pp. 766–776, 1992.

    Google Scholar 

  15. Bensoussan A., C. Clingen and R. Daley, “The Multics Virtual Memory”, Proc. 2nd Symp. on Operating Systems Principles, Princeton University, NY, 1969.

    Google Scholar 

  16. Lorie R. A., “Physical Integrity in a Large Segmented Database”, ACM Transactions on Database Systems, Vol. 2, No. 1, pp. 91–104, 1977.

    Article  Google Scholar 

  17. Purdy A., B. Schuchardt and D. Maier, “Integrating an Object Server with Other Worlds”, ACM Transactions on Office Information Systems, Vol. 5, No. 1, pp. 27–47, 1987.

    Article  Google Scholar 

  18. Moss J. E. B., Nested Transactions: An Approach to Reliable Distributed Computing, The MIT Press, Cambridge, MA, 1985.

    Google Scholar 

  19. Cattel R. G. G. and J. Skeen, “Object Operations Benchmark”, ACM Transactions on Database Systems, Vol. 17, No. 1, pp. 1–31, 1992.

    Google Scholar 

  20. Amato G., F. Giannotti and G. Mainetto, “Data Sharing Analysis for a Database Programming Language via Abstract Interpretation”, Proc. 19th Int. Conf. on VLDB, Dublin, Ireland, pp. 405–415, 1993.

    Google Scholar 

  21. Munro D. S., “On the Integration of Concurrency, Distribution and Persistence”, Computational Science Res. Rep. CS/94/1, Dep. of Mathematical and Computational Sciences, Univ. St. Andrews, Scotland, UK, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 British Computer Society

About this paper

Cite this paper

Mainetto, G., Giacomo, M.D., Vinciotti, L. (1995). Distributed Galileo: a Persistent Programming Language with Transactions. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_40

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2122-0_40

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19912-0

  • Online ISBN: 978-1-4471-2122-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics