Skip to main content

Static integrity constraint management in object-oriented database programming languages via predicate transformers

  • Conference paper
  • First Online:
ECOOP'97 — Object-Oriented Programming (ECOOP 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1241))

Included in the following conference series:

Abstract

In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of an extended version of the O2 database programming language, and we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naive management of such constraints can cause a severe floundering of the overall system. Our basic assumption is that the run-time checking of constraints is too costly to be undertaken systematically. Therefore, methods that are always safe with respect to integrity constraints should be proven so at compile time. The run-time checks should only concern the remaining methods. To that purpose, we propose a new approach, based on abstract interpretation, to prove the invariance of integrity constraints under complex methods. We then describe the current implementation of our prototype, reporting many experiments that have been performed with it on non trivial examples.

Though our method is developed in the context of object-oriented database programming languages, it can easily be applied to the problem of static verification of object-oriented languages providing pre and post-conditions such as Eiffel.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abiteboul and A. Bonner. Objects and views. In ACM International Conference on Management of Data (SIGMOD), pages 238–248, Denver, Colorado, USA, May 1991.

    Google Scholar 

  2. A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. An object data model with roles. In International Conference on Very Large Databases, pages 39–52, 1993.

    Google Scholar 

  3. A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. Fibonacci: a programming language for object databases. VLDB Journal, 4(3):403–444, July 95.

    Google Scholar 

  4. John Boyland and Giuseppe Castagna. Type-safe compilation of covariant specialization: a practical case. In ECOOP'96, number 1008 in Lecture Notes in Computer Science, pages 3–25. Springer, 1996.

    Google Scholar 

  5. V. Benzaken and A. Doucet. Thémis: a database programming language with integrity constraints. In Shasha Beeri, Ohori, editor, Proceedings of the 4th International Workshop on Database Programming Languages, Workshop in Computing, pages 243–262, New York City, USA, September 1993. Springer-Verlag.

    Google Scholar 

  6. V. Benzaken and A. Doucet. Thémis: A Database Programming Language Handling Integrity Constraints. VLDB Journal, 4(3):493–518, 1995.

    Article  Google Scholar 

  7. F. Bry, H. Decker, and R. Manthey. A Uniform Approach to Constraint Satisfaction and Constraint Satisfiability in Deductive Databases. In Missikoff Schmidt, Ceri, editor, Proceedings of the EDBT International Conference, LNCS 303, pages 488–505, 1988.

    Google Scholar 

  8. F. Bry and R. Manthey. Checking Consistency of Database Constraints: A Logical Basis. In Proceedings of the VLDB International Conference, pages 13–20, August 1986.

    Google Scholar 

  9. V. Benzaken and X. Schaefer. Abstract interpretation and predicate transformers: an application to integrity constraints management. Technical Report 1002, L.R.I, Université de Paris XI, 1995.

    Google Scholar 

  10. V. Benzaken and X. Schaefer. Ensuring efficiently the integrity of persistent object systems via abstract interpretation. In S. Nettles and R. Connor, editors, Seventh International Workshop on Persistent Object Systems, Cape May, U.S.A, June 1996. Morgan-Kaufmann. To appear.

    Google Scholar 

  11. Giuseppe Castagna. Object-Oriented Programming: A Unified Foundation-Progress in Theoretical Computer Science. Birkäuser, Boston, 1996. ISBN 3-7643-3905-5.

    Google Scholar 

  12. M. A. Casanova and P. A. Bernstein. A formal system for reasonning about programs accessing a relational database. ACM Transactions on Database Systems, 2(3):386–414, July 80.

    Google Scholar 

  13. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fix-points. In 4th POPL, Los Angeles, CA, pages 238–252, January 1977.

    Google Scholar 

  14. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In 6th popl, San Antonio, Texas, pages 269–282, January 1979.

    Google Scholar 

  15. C. Collet, T. Coupaye, and T. Svenson. Naos — efficient and modular reactive capabilities in an oodbms. In Proceedings of the Twentieth International Conference on Very Large Databases (VLDB), pages 132–144, Santiago, Chile, September 1994.

    Google Scholar 

  16. S. Ceri, P. Fraternali, S. Paraboschi, and L. Tanca. Active rule management in chimera. Morgan Kaufmann, 1994.

    Google Scholar 

  17. E. M. Clarke. Programming languages constructs for which it is impossible to obtain good hoare axiom systems. Journal of the ACM, 26(1):129–147, January 79.

    Google Scholar 

  18. S. Ceri and J. Widom. Deriving production rules for constraint maintenance. In Proceedings of the VLDB International Conference, pages 566–577, Brisbane, Australia, August 90.

    Google Scholar 

  19. E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  20. E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1990.

    Google Scholar 

  21. Melvin Fitting. First-order logic and automated theorem proving. Texts and monographs in computer science. Springer-Verlag, 1990.

    Google Scholar 

  22. G. Gardarin and M. Melkanoff. Proving the Consistency of Database Transactions. In VLDB International Conference, pages 291–298, Rio, Brasil, October 1979.

    Google Scholar 

  23. L. Henschen, W. McCune, and S. Naqvi. Compiling constraint checking programs from first order formulas. In H. Gallaire, J. Minker, and J.M. Nicolas, editors, Advances in Database Theory, volume 2. Plenum, 1984.

    Google Scholar 

  24. A. Hsu and T. Imielinski. Integrity Checking for Multiple Updates. In Proceedings of the ACM SIGMOD International Conference, pages 152–168, 1985.

    Google Scholar 

  25. N. D. Jones and F. Nielson. Abstract interpretation. In S. Abramsky, D. M. Gabbay, and T. S. E. Maibaum, editors, Semantic Modelling, volume 4 of Handbook of Logic in Computer Science, chapter 5, pages 527–636. Oxford Science Publication, 1995.

    Google Scholar 

  26. R. Kowalski, F. Sadri, and P. Soper. Integrity Checking in Deductive Databases. In Proceedings of the VLDB International Conference, pages 61–70, 1987.

    Google Scholar 

  27. Michael Lawley. Transaction safety in deductive object-oriented databases. In Proceedings of the Fourth International Conference on Deductive and Object-Oriented Databases, Singapore, number 1013 in LNCS, pages 395–410. Springer-Verlag, Dec 1995.

    Google Scholar 

  28. J. W. Lloyd and R. W. Topor. A basis for deductive database systems. Journal of Logic Programming, 2(2), 1985.

    Google Scholar 

  29. Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall International Series, 1988.

    Google Scholar 

  30. Bertrand Meyer. Eiffel: The Language. Prentice Hall, 1991.

    Google Scholar 

  31. J.M. Nicolas. Logic for Improving Integrity Checking in Relational Databases. Technical report, ONERA-CERT, 1979.

    Google Scholar 

  32. Xiaolei Qian. An axiom system for database transactions. Information Processing letters, 36:183–189, November 1990.

    Article  MATH  MathSciNet  Google Scholar 

  33. Xiaolei Qian. The deductive synthesis of database transactions. ACM Transactions on Database Systems, 18(4):626–677, December 1993.

    Article  Google Scholar 

  34. C. Sousa, C. Delobel, and S. Abiteboul. Virtual schemas and bases. In M. Jarke, J. Bubenko, and K Jeffery, editors, International Conference on Extending Database Technology, number 779 in LNCS, pages 81–95. Springer-Verlag, 1994.

    Google Scholar 

  35. E. Simon, J. Kiernan, and C. de Maindreville. Implementing high level active rules on top of a relational dbms. In Proceedings of the Eighteenth International Conference on Very Large Database (VLDB), pages 315–326, Vancouver, British Columbia, August 1992.

    Google Scholar 

  36. T. Sheard and D. Stemple. Automatic Verification of Database Transaction Safety. ACM Transaction on Database Systems, 14(3):322–368, September 1989.

    Article  Google Scholar 

  37. M. Stonebraker. Implementation of Integrity Constraints and Views by Query Modification. In ACM SIGMOD International Conference, San Jose, California, May 1975.

    Google Scholar 

  38. W. Weber, W. Stugky, and J. Karzt. Integrity Checking in database systems. Information Systems, 8(2):125–136, 1983.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mehmet Akşit Satoshi Matsuoka

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Benzaken, V., Schaefer, X. (1997). Static integrity constraint management in object-oriented database programming languages via predicate transformers. In: Akşit, M., Matsuoka, S. (eds) ECOOP'97 — Object-Oriented Programming. ECOOP 1997. Lecture Notes in Computer Science, vol 1241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053374

Download citation

  • DOI: https://doi.org/10.1007/BFb0053374

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69127-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics