Skip to main content

Dependability, Abstraction, and Programming

  • Conference paper
Database Systems for Advanced Applications (DASFAA 2009)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 5463))

Included in the following conference series:

Abstract

In this paper, we look at what is required to produce programs that are dependable. Dependability requires more than just high availability. Rather, a program needs to be “right” as well, solving the problem for which it was designed. This requires a program development infrastructure that can, by means of appropriate abstractions, permit the programmer to focus on his problem, and not be distracted by “systems issues” that arise when high availability is required. We discuss the attributes of good abstractions. We then illustrate this in the programming of dependable systems. Our “abstraction” is a transparently persistent stateful programming model for use in the web enterprise setting where exactly-once execution is required. Work on this abstraction is reviewed. The new technical meat of the paper is in (1) describing how to reduce the performance cost of using the abstraction; (2) extending the flexibility of using this abstraction; (3) and showing how to exploit it to achieve dependability.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Avižienis, A., Laprie, J.-C., Randell, B.: Fundamental Concepts of Computer System Dependability. In: IARP/IEEE-RAS Workshop, Seoul (2001)

    Google Scholar 

  2. Barga, R., Chen, S., Lomet, D.: Improving Logging and Recovery Performance in Phoenix/App. In: ICDE Conference, Boston, pp. 486–497 (2004)

    Google Scholar 

  3. Barga, R., Lomet, D.: Phoenix Project: Fault Tolerant Applications. SIGMOD Record 31(2), 94–100 (2002)

    Article  Google Scholar 

  4. Barga, R., Lomet, D., Paparizos, S., Yu, H., Chandrasekaran, S.: Persistent Applications via Automatic Recovery. In: IDEAS Conference, Hong Kong, pp. 258–267 (2003)

    Google Scholar 

  5. Barga, R., Lomet, D., Shegalov, G., Weikum, G.: Recovery Guarantees for Internet Applications. ACM Trans. on Internet Technology 4(3), 289–328 (2004)

    Article  Google Scholar 

  6. Barga, R., Lomet, D., Weikum, G.: Recovery Guarantees for Multi-tier Applications. In: ICDE Conference, San Jose, pp. 543–554 (2002)

    Google Scholar 

  7. Bernstein, P., Hsu, M., Mann, B.: Implementing Recoverable Requests Using Queues. In: SIGMOD Conference, Atlantic City, pp. 112–122 (1990)

    Google Scholar 

  8. Bernstein, P.A., Newcomer, E.: Principles of Transaction Processing. Morgan Kaufmann, San Francisco (1996)

    MATH  Google Scholar 

  9. Borg, A., Baumbach, J., Glazer, S.: A message system supporting fault tolerance. In: Symposium on Operating Systems Principles, pp. 90–99 (1983)

    Google Scholar 

  10. Elnozahy, E.N., Alvisi, L., Wang, Y.-M., Johnson, D.B.: A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 34(3), 375–408 (2002)

    Article  Google Scholar 

  11. Frølund, S., Guerraoui, R.: A Pragmatic Implementation of e-Transactions. In: IEEE Symposium on Reliable Distributed Systems, Nürnberg, pp. 186–195 (2000)

    Google Scholar 

  12. Gray, J.: Keynote address Internet Reliability. In: 2nd HDCC Workshop, Santa Cruz, CA (May 2001)

    Google Scholar 

  13. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)

    MATH  Google Scholar 

  14. Hoare, H.A.R.: As quoted in B. Randell: Turing Memorial Lecture Facing Up to Faults. Comput. J. 43(2), 95–106 (2000)

    Article  Google Scholar 

  15. Lomet, D.: Robust Web Services via Interaction Contracts. In: TES Workshop, Toronto, pp. 1–14 (2004)

    Google Scholar 

  16. Lomet, D.: Persistent Middle Tier Components without Logging. In: IDEAS Conference, Montreal, pp. 37–46 (2005)

    Google Scholar 

  17. Lomet, D.: Faithless Replay. for Persistent Logless Mid-Tier Components. Microsoft Research Technical Report MSR-TR-2008-50 (April 2008)

    Google Scholar 

  18. Narasimhan, P., Moser, L., Melliar-Smith, P.M.: Lessons Learned in Building a Fault-Tolerant CORBA System. In: DSN 2002, pp. 39–44 (2002)

    Google Scholar 

  19. MSDN Library: Persistence Overview, http://msdn.microsoft.com/workshop/author/persistence/overview.asp

  20. OMG: CORBA 2000. Fault Tolerant CORBA Spec V1.0, http://cgi.omg.org/cgi-bin/doc?ptc/00-04-04

  21. Patterson, D.: Recovery Oriented Computing (talk) (September 2001), http://roc.cs.berkeley.edu

  22. Shegalov, G., Weikum, G.: Formal Verification of Web Service Interaction Contracts. IEEE SCC (2), 525–528 (2008)

    Google Scholar 

  23. Sun 2001. Enterprise Java Beans Specification, Vers. 2.0 (2001), http://java.sun.com/products/ejb/docs.html

  24. Weikum, G., Vossen, G.: Transactional Information Systems. Morgan Kaufmann, San Francisco (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lomet, D. (2009). Dependability, Abstraction, and Programming. In: Zhou, X., Yokota, H., Deng, K., Liu, Q. (eds) Database Systems for Advanced Applications. DASFAA 2009. Lecture Notes in Computer Science, vol 5463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00887-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00887-0_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00886-3

  • Online ISBN: 978-3-642-00887-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics