Abstract
We investigate three logic paradigms of increasing level of expressivity in modeling strongly typed, polymorphic, object-oriented database systems and their applications. The first paradigm is based on Horn clauses with equality, the second on normal logic programs (with negation in the body) and the third on logic programs that may have an arbitrary first order formula in the clause body. Our contribution is that we make these paradigms object-oriented and strongly-typed with advanced polymorphic facilities. We demonstrate how features of these paradigms are used for high-level semantic specification of a variety of standard database abstractions, both system and application-oriented. The presented strongly typed object-oriented database language departs significantly from either strongly typed programming or database programming languages, as it allows specification of methods associated with an object type (class) in a high-level, logic programming style. It accomplishes the simplicity of non-procedural data languages and the richness of the object-oriented paradigm in modeling complex systems and applications. The associated prototyping tool, based on the paradigm developed in the paper, is a powerful assistant in designing complex database applications in a strongly typed manner, allowing complex design decisions to be tested structurally and behaviorally prior to the major database implementation efforts.
Preview
Unable to display preview. Download preview PDF.
References
R. Agrawal and N. Gehani. Ode: Object database and environment. In Proceedings of ACM SIGMOD, 1989.
S. Alagić. Object-Oriented Database Programming. Springer-Verlag, New York, 1989.
S. Alagić. Toward multiparadigm database interfaces. Lecture Notes in Computer Science, 504, 1991.
S. Alagić, R. Sunderraman, and R. Bagai. Declarative object-oriented programming: Inheritance, subtyping and prototyping. In Proceedings of ECOOP-94, Lecture Notes in Computer Science, to appear, 1994.
S. Alagić, R. Sunderraman, and R. Bagai. A typed object-oriented database technology with deductive capabilities. Submitted for Publication, 1994.
A. Albano, L. Cardelli, and R. Orsini. Galileo: A strongly typed interactive conceptual language. ACM Transactions on Programming Languages and Systems, 10(2):230–260, 1985.
A. Albano, G. Ghelli, and R. Orsini. Objects for a database programming language. In P. Kanelakis and J. Schmidt, editors, Proceedings of the Workshop on Database Programming Languages, pages 236–253. Morgan-Kaufman, 1991.
K. R. Apt. Logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science: Volume B (Formal Models and Semantics). MIT Press, 1990.
K. R. Apt, H. A. Blair, and A. Walker. Towards a theory of declarative knowledge. In Jack Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 89–148. Morgan Kaufmann, Los Altos, 1988.
K. R. Apt and M. H. van Emden. Contributions to the theory of logic programming. Journal of the ACM, July 1982.
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, and S. Zdonik. The object-oriented database system manifesto. In Proceedings of the First Object-Oriented and Deductive Databases Conference, 1989.
R. Bagai, S. Alagić, and R. Sunderraman. A prototyping technology for typed object-oriented software development. In Proceedings of Software Quality Management Conference, U.K., 1994.
K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proceedings of the Conference on Functional Programming, pages 285–298, 1993.
P. Canning, W. Cook, W. Hill, W. Olthoff, and J.C. Mitchell. F-bounded polymorphism for object-oriented programming. In Proceedings of the Conference on Functional Programming and Computer Architecture, pages 273–280, 1989.
L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988.
L. Cardelli. Types for data oriented languages. In J.W. Schmidt, S. Ceri, and M. Missikoff, editors, Advances in Database Technology, Lecture Notes in Computer Science, 303, pages 1–15. Springer-Verlag, 1988.
W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 1984.
W. Cook. A proposal for making Eiffel type safe. The Computer Journal, 32(4):305–311, 1989.
H. Gallaire and J. Minker. Logic and Databases. Plenum Press, New York, 1978.
J. Goguen and J. Meseguer. EQLOG: equality, types and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations and Equations, pages 295–363. Prentice Hall, 1986.
M. Kifer and G. Laussen. F-logic: A higher-order language for reasoning about objects, inheritance, and scheme. In Proceedings of ACM SIGMOD, pages 134–146, 1989.
C. Lecluse and P. Richard. The O2 database programming language. In Proceedings of the 15th International VLDB Conference, pages 411–422. Morgan-Kaufmann, 1989.
B. Liskov and J.M. Wing. A new definition of the subtype relation. In Proceedings of ECOOP-93, 1993.
K.-C. Liu and R. Sunderraman. A generalized relational model for indefinite and maybe information. IEEE Transactions on Knowledge and Data Engineering, 3(1):65–77, 1991.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.
J.W. Lloyd and R.W. Topor. Making PROLOG more expressive. J. Logic Programming, 1:225–240, 1984.
D. Maier. A logic for objects. In Proceedings of the Workshop on Deductive Databases and Logic Programming, 1986.
J. Meseguer and X. Qian. A logical semantics for object-oriented databases. In Proceedings of ACM-SIGMOD Conference, 1993.
B. Meyer. Eiffel: The Language. Prentice Hall, 1992.
A. Ohori, P. Buneman, and V. Breazu-Tannen. Database programming in Machiavelli — A polymorphic language with static type inference. In Proceedings of ACM SIGMOD Conference, 1989.
M. Stonebraker and L.W. Rowe. The Postgres papers. Technical Report Memorandum No. UCB/ERL M86/85, University of California, Berkeley, 1987.
B. Stroustrup. The C++ Programming Language. Addison-Wesley, second edition, 1991.
R. Sunderraman. Deductive databases with conditional facts. Lecture Notes in Computer Science, 696:162–175, 1993.
M. Surendhar and S. Alagić. Object-oriented type evolution using reflection. In Proceedings of TOOLS '94 (Technology of Object-Oriented Languages and Systems), pages 271–280. Prentice Hall, 1994.
A. van Gelder, K. A. Ross, and J. S. Schlipf. The well-founded semantics for general logic programs. Journal of the ACM, 38(3):621–650, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alagić, S., Sunderraman, R. (1994). Expressivity of typed logic paradigms for object-oriented databases. In: Bowers, D.S. (eds) Directions in Databases. BNCOD 1994. Lecture Notes in Computer Science, vol 826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58235-5_36
Download citation
DOI: https://doi.org/10.1007/3-540-58235-5_36
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58235-9
Online ISBN: 978-3-540-48580-3
eBook Packages: Springer Book Archive