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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. Fibonacci: a programming language for object databases. VLDB Journal, 4(3):403–444, July 95.
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.
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.
V. Benzaken and A. Doucet. Thémis: A Database Programming Language Handling Integrity Constraints. VLDB Journal, 4(3):493–518, 1995.
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.
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.
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.
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.
Giuseppe Castagna. Object-Oriented Programming: A Unified Foundation-Progress in Theoretical Computer Science. Birkäuser, Boston, 1996. ISBN 3-7643-3905-5.
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.
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.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In 6th popl, San Antonio, Texas, pages 269–282, January 1979.
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.
S. Ceri, P. Fraternali, S. Paraboschi, and L. Tanca. Active rule management in chimera. Morgan Kaufmann, 1994.
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.
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.
E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.
E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1990.
Melvin Fitting. First-order logic and automated theorem proving. Texts and monographs in computer science. Springer-Verlag, 1990.
G. Gardarin and M. Melkanoff. Proving the Consistency of Database Transactions. In VLDB International Conference, pages 291–298, Rio, Brasil, October 1979.
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.
A. Hsu and T. Imielinski. Integrity Checking for Multiple Updates. In Proceedings of the ACM SIGMOD International Conference, pages 152–168, 1985.
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.
R. Kowalski, F. Sadri, and P. Soper. Integrity Checking in Deductive Databases. In Proceedings of the VLDB International Conference, pages 61–70, 1987.
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.
J. W. Lloyd and R. W. Topor. A basis for deductive database systems. Journal of Logic Programming, 2(2), 1985.
Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall International Series, 1988.
Bertrand Meyer. Eiffel: The Language. Prentice Hall, 1991.
J.M. Nicolas. Logic for Improving Integrity Checking in Relational Databases. Technical report, ONERA-CERT, 1979.
Xiaolei Qian. An axiom system for database transactions. Information Processing letters, 36:183–189, November 1990.
Xiaolei Qian. The deductive synthesis of database transactions. ACM Transactions on Database Systems, 18(4):626–677, December 1993.
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.
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.
T. Sheard and D. Stemple. Automatic Verification of Database Transaction Safety. ACM Transaction on Database Systems, 14(3):322–368, September 1989.
M. Stonebraker. Implementation of Integrity Constraints and Views by Query Modification. In ACM SIGMOD International Conference, San Jose, California, May 1975.
W. Weber, W. Stugky, and J. Karzt. Integrity Checking in database systems. Information Systems, 8(2):125–136, 1983.
Author information
Authors and Affiliations
Editor information
Rights 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