Advertisement

Combining object-oriented and logic paradigms: A modal logic programming approach

  • Tarmo Uustalu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 615)

Abstract

In this paper, a number of existing solutions and suggestions towards combining the object-oriented (OO) and logic programming paradigms have been briefly studied and categorized, and a sketch of a new solution has been proposed which tries to capture the essence of OO in terms of modal logic, and which could be implemented as a modal logic programming system.

The proposal is based on the belief that two orthogonal dimensions — object hierarchy and time — are involved in OO that in many respects are similar. For the one-dimensional (static) case, three logics — MU, MU′, and MU″ — have been designed, each allowing a different variety of inheritance modes. The two-dimensional (dynamic) case has been treated in a logic 2MU and its corresponding variants. Under certain OO-motivated definitions of Horn clause, the resolution calculi of these logics turn out to be complete.

Keywords

Logic Program Modal Logic Atomic Formula Horn Clause Classical Propositional Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AN86]
    H. AÏt-Kaci and R. Nasr. LOGIN: A logic programming language with built-in inheritance. J. Logic Programming, 3(3):185–215, 1986.CrossRefGoogle Scholar
  2. [BMS90]
    M. V. Biema, G. Q. Maquire, and S. Stolfo. The constraint-based paradigm: Integrating object-oriented and rule-based programming. In Proc. 23rd Annual HawaÏ Int'l Conf. on Syst. Sci., Kailua-Kona, Jan 1990, Vol 2, pp 358–66. Los Alamitos, CA: IEEE Comp. Soc. Press, 1990.Google Scholar
  3. [Cat88]
    L. Catach. Normal multimodal logics. In AAAI-88: Proc. 7th Nat'l Conf. on AI, St Paul, Aug 1988, Vol 2, pp 491–5. 1988.Google Scholar
  4. [Che80]
    B.F.Chellas. Modal Logic: An Introduction. Cambridge, UK: Univ. Press, 1980.zbMATHGoogle Scholar
  5. [Che87]
    W. Chen. A theory of modules based on second-order logic. In Proc. 1987 Symp. on Logic Programming, San Fransisco, Aug/Sept 1987, pp 24–33. Washington, DC: IEEE Comp. Soc. Press, 1987.Google Scholar
  6. [Chi84]
    T. Chikayama. Unique features of ESP. In Proc. 1984 Int'l Conf. on 5th Gener. Comp. Syst., Tokyo, Nov 1984, pp 292–8. Amsterdam: North-Holland, 1984.Google Scholar
  7. [Con88]
    J. S. Conery. Logical objects. In Logical Programming: Proc. 5th Int'l Conf. and Symp., Seattle, Aug 1988, pp 420–34. Cambridge, MA: The MIT Press, 1988.Google Scholar
  8. [CW88]
    W. Chen and D. S. Warren. Objects as intensions. In Logical Programming: Proc. 5th Int'l Conf. and Symp., Seattle, Aug 1988, pp 404–19. Cambridge, MA: The MIT Press, 1988.Google Scholar
  9. [Far86]
    L. Fariñas del Cerro. MOLOG: A system that extends Prolog with modal logic. New Gener. Computing, 4(1):35–50, 1986.zbMATHGoogle Scholar
  10. [FH86]
    K. Fukunaga and S. Hirose. An experience with a Prolog-based object-oriented language. In OOPSLA'86: OOP Syst., Lang. and Appl.: Conf. Proc., Portland, Sept/Oct 1986, pp 224–31. 1986. (SIGPLAN Notices, 21(11)).CrossRefGoogle Scholar
  11. [FTK.84]
    K. Furukawa et al. Mandala: A logic-based knowledge programming system. In Proc 1984 Int'l Conf. on 5th Gener. Comp. Syst., Tokyo, Nov 1984, pp 613–22. Amsterdam: North-Holland, 1984.Google Scholar
  12. [Gal86]
    H. Gallaire. Merging objects and logic programming: Relational semantics. In AAAI-86: Proc. 5th Nat'l Conf. on AI, Philadelfia, Aug 1986, Vol 2, pp 754–8. Los Altos, CA: Morgan Kaufmann, 1986.Google Scholar
  13. [GM87]
    J. A. Goguen and J. Meseguer. Unifying functional, object-oriented and relational programming with logical semantics. In B. Shriver and P. Wegner, eds, Research Directions in Object-Oriented Programming, pp 417–77. Cambrdige, MA: The MIT Press, 1987.Google Scholar
  14. [GW91]
    J. A. Goguen and D. Wolfram. On types and FOOPS. In R. Meersman et al., eds., Object Oriented Databases: Analysis, Design and Construction, pp 1–22. Amsterdam: North-Holland, 1991.Google Scholar
  15. [HV87]
    M. Huber and I. Varsek. Extended Prolog for order-sorted resolution. In Proc. 1987 Symp. on Logic Programming, San Fransisco, Aug/Sept 1987, pp 34–43. Washington, DC: IEEE Comp. Soc. Press, 1987.Google Scholar
  16. [IC90]
    M. H. Ibrahim and F. A. Cummins. KSL/Logic: Integration of logic with objects. In Proc. 1990 Int'l Conf. on Comp. Lang., New Orleans, March 1990, pp 228–35. Los Alamitos, CA: IEEE Comp. Soc Press, 1990.Google Scholar
  17. [IT86]
    Y. Ishikawa and M. Tokoro. Concurrent object-oriented knowledge representation language Orient84/K: Its features and implementation. In OOPSLA'86: OOP Syst., Lang. and Appl.: Conf. Proc., Portland, Sept/Oct 1986, pp 232–41. 1986. (SIGPLAN Notices,21(11)).CrossRefGoogle Scholar
  18. [KE88]
    T. Koschmann and M. W. Evens. Bridging the gap between object-oriented and logic programming. IEEE Software, 5(5):36–42, 1988.CrossRefGoogle Scholar
  19. [KG86]
    H. Kauffmann and A. Grumbach. MULTILOG: MULtiple worlds in LOGic programming. In ECAI'86: Proc. 7th Europ. Conf. on AI, Brighton, July 1986, Vol 1, pp 291–305. 1986.Google Scholar
  20. [KLW90]
    M. Kifer, G. Lausen and J. Wu. Logical foundations of object-oriented and frame-based languages. Technical Report 90/14, SUNY at Stony Brook, Dept. of Comput. Sci., August 1990.Google Scholar
  21. [KTMB87]
    K. Kahn et al. Vulcan: Logical concurrent objects. In B. Shriver and P. Wegner, eds, Research Directions in Object-Oriented Programming, pp 75–112. Cambridge, MA: The MIT Press, 1987.Google Scholar
  22. [LM88]
    L. Leonardi and P. Mello. Combining logic-and object-oriented programming language paradigms. In Proc. 21st Annual HawaÏ Int'l Conf. on Syst. Sci., Vol 2, pp 376–85. Washington, DC: IEEE Comp. Soc. Press, 1988.Google Scholar
  23. [LVV89]
    E. Laenens, D. Vermeir, and B. Verdonk. LOCO, a Logic-based language for Complex Objects. In ESPRIT'89: Proc. 6th Annual Esprit Conf., Brussels, Nov/Dec 1989, pp 604–16. Dordrecht: Kluwer Acad. Publ., 1989.Google Scholar
  24. [McC88]
    F. McCabe. Logic and Objects. London: Imperial College, 1988.Google Scholar
  25. [Mel88]
    F. Mellender. An integration of logic and object-oriented programming. SIGPLAN Notices, 23(10): 181–5, 1988.CrossRefGoogle Scholar
  26. [Mes90]
    J. Meseguer. A logical theory of concurrent objects. In OOPSLA ECOOP '90 Proc: Conf. on OOP Syst., Lang. and Appl., Europ. Conf. on OOP, Ottawa, Oct 1990, pp 101–15. 1990. (SIGPLAN Notices, 20(10)).CrossRefGoogle Scholar
  27. [Mil86]
    D. Miller. A theory of modules for logic programming. In Proc. 1986 Symp. on Logic Programming, Salt Lake City, Sept 1986, pp 106–14. Washington, DC: IEEE Comp. Soc. Press, 1986.Google Scholar
  28. [MLV89]
    J. Malenfant, G. Lapalme, and J. Vaucher. ObjVProlog: Metaclasses in logic. In ECOOP'89: Proc. Europ. Conf. on OOP, Nottingham, July 1989, pp 257–69. Cambridge, UK: Univ. Press, 1989.Google Scholar
  29. [MN87]
    P. Mello and A. Natali. Objects as communicating Prolog units. In ECOOP'87: Proc. Europ. Conf. on OOP, Paris, June 1987, pp 181–92. Berlin: Springer-Verlag, 1987. (LNCS, 276).Google Scholar
  30. [Mos90]
    C. Moss. An introduction to Prolog++. Research Report DOC 90/10, Imperial College, London, June 1990.Google Scholar
  31. [MP90]
    L. Monteiro and A. Porto. Semantic and syntactic inheritance in logic programming. Draft report, Departamento di Informatica, Universidade Nova de Lisboa, Dec 1990.Google Scholar
  32. [MT90]
    G. E. Mints and E. H. Tyugu. Prepositional logic programing and the PRIZ system. J. Logic Programming,9(3):179–93, 1990.MathSciNetCrossRefGoogle Scholar
  33. [Nak84]
    H. Nakashima. Knowledge representation in Prolog/KR. In Proc. 1984 Int'l Symp. on Logic Programming, Atlantic City, Feb 1984, pp 126–30. Silver Spring, MD: IEEE Comp. Soc. Press, 1984.Google Scholar
  34. [Obe89]
    A. Oberschelp. Order-sorted predicate logic. In Sorts and Types in AI: Workshop Proc., Eringerfeld, April 1989, pp 8–17. Berlin: Springer-Verlag, 1989. (LNA1, 418).Google Scholar
  35. [ST83]
    E. Shapiro and A. Takeuchi. Object-oriented programming in Concurrent Prolog. New Gener. Computing, 1(1):25–48, 1983.CrossRefGoogle Scholar
  36. [Uus91]
    T. Uustalu. Combination of object-oriented and logic paradigms. MSc Thesis, Tallinn Technical University, 1991.Google Scholar
  37. [VLM88]
    J. Vaucher, G. Lapalme, and J. Malenfant. SCOOP: Structured Concurrent Object-Oriented Prolog. In ECOOP'88: Proc. Europ. Conf. on OOP, Oslo, Aug 1988, pp 191–211. Berlin: Springer-Verlag, 1988. (LNCS, 322).Google Scholar
  38. [Zan84]
    C. Zaniolo. Object-oriented programming in Prolog. In Proc. 1984 Int'l Symp. on Logic Programming, Atlantic City, Feb 1984, pp 265–70. Silver Spring, MD: IEEE Comp. Soc. Press, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Tarmo Uustalu
    • 1
  1. 1.Dept. of Mathematics, Institute of CyberneticsEstonian Acad. Sci.TallinnEstonia

Personalised recommendations