Skip to main content

The Use of Renaming in Composing General Programs

  • Conference paper
  • First Online:
Book cover Logic-Based Program Synthesis and Transformation (LOPSTR 1998)

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

Abstract

Most modern computing systems consist of large numbers of software components that interact with each other. Correspondingly, the capability of re-using and composing existing software components is of primary importance in this scenario. In this paper we analyse the role of renaming as a key ingredient of component-based programming. More precisely, a meta-level renaming operation is introduced in the context of a logic-based program composition setting which features a number of other composition operations over general logic programs, that is, logic programs possibly containing negative premises. Several examples are presented to illustrate the increased knowledge representation capabilities of logic programming for non-monotonic reasoning. The semantics of programs and program compositions is defined in terms of three-valued logic by extending the three-valued semantics for logic programs proposed by Fitting [10]. A computational interpretation of program compositions is formalised by means of an equivalence preserving transformation of arbitrary program compositions into standard general programs.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

Reference

  1. K. R. Apt. Logic programming. In J. vanLeeuwen, editor, Handbook of Theoretical Computer Science, pages 493–574. Elsevier, 1990. Vol. B.

    Google Scholar 

  2. K. R. Apt and R. Bol. Logic Programming and Negation: A Survey. Journal of Logic Programming, 19-20:9–71, 1994.

    Article  MathSciNet  Google Scholar 

  3. J. A. Bergstra, J. Heering, and P. Klint. Module Algebra. Journal of the ACM, 37(2):335–372, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  4. A. Brogi, S. Contiero, and F. Turini. Composing General Logic Programs. In J. Dix, U. Furbach, and A. Nerode, editors, Proc. of LPNMR’97, number 1265 in LNAI, pages 273–288. Springer Verlag, 1997.

    Google Scholar 

  5. A. Brogi, E. Lamma, P. Mancarella, and P. Mello. A Uifying View for Logic Programming with Non-Monotonic Reasoning. Theoretical Computer Science, 184(1-2):1–59, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  6. A. Brogi, P. Mancarella, D. Pedreschi, and F. Turini. Modular Logic Programming. ACM Transactions on Programming Languages and Systems, 16(4):1361–1398, 1994.

    Article  Google Scholar 

  7. A. Brogi and F. Turini. Fully abstract compositional semantics for an algebra of logic programs. Theoretical Computer Science, 149(2):201–229, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  8. P.M. Dung. Negation as hypotheses: An abductive foundation for logic programming. In K. Furukawa, editor, Proc. 8th International Conference on Logic Programming, pages 3–17. The MIT Press, 1991.

    Google Scholar 

  9. S. Etalle and F. Teusink. A Compositional Semantics for Normal Open Programs. In M. Maher, editor, Proc. of JICSLP 96, pages 468–482, 1996.

    Google Scholar 

  10. M. Fitting. A Kriple-Kleene semantics for general logic programs. Journal of Logic Programming, 4:295–312, 1985.

    Article  MathSciNet  Google Scholar 

  11. M. Gelfond and V. Lifschitz. The stable model semantics for logic programming. In R. A. Kowalski and K. A. Bowen, editors, Proc of the Fifth International Conference and Symposium on Logic Programming, Seattle, 1988, pages 1070–1080. The MIT Press, 1988.

    Google Scholar 

  12. M. Gelfond and V. Lifschitz. Classical negation in logic programming and disjunctive databases. New Generation Computing, 9:365–385, 1991.

    Article  Google Scholar 

  13. J. A. Goguen and R.M. Burstall. Institutions: Abstract Model Theory for Specification and Programming. Journal of the ACM, 39(1):95–146, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  14. P. Hill. A Module System for Systematic Software Development: Design and Implementation. In A. Brogi and P. Hill, editors, LOCOS 97 Proc. of the Post Conference Workshop on Logic Based Composition of Software for the ICLP 97, 1997.

    Google Scholar 

  15. S.C. Kleene. Introduction to Metamathematics. van Nostrand, New York, 1952.

    MATH  Google Scholar 

  16. V. Lifschitz and H. Turner. Splitting a logic program. In Pascal Van Entenryck, editor, Proc. 11th International Conference on Logic Programming, pages 23–37. The MIT Press, 1994.

    Google Scholar 

  17. T. Przymusinski. On the declarative semantics of deductive databases and logic programs. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 193–216. Morgan Kaufmann, Los Alto,CA, 1988.

    Google Scholar 

  18. T. Przymusinski. Stationary semantics for normal and disjunctive logic programs. In C. Delobel, M. Kifer, and Y. Masunagar, editors, Proc. of DOOD’91. Springer-Verlag, 1991.

    Google Scholar 

  19. A. van Gelder, K. Ross, and J. Schlipf. The well-founded semantics for general logic programs. Journal of the ACM, 38(3):620–650, 1991.

    Article  MATH  Google Scholar 

  20. S. Verbaeten and A. Bossi. Composing complete and partial knowledge. In A. Brogi and P. Hill, editors, Proc. of COCL, First Int. Workshop on Component-based Software Development in Computational Logic, pages 109–123, 1998.

    Google Scholar 

  21. S. Verbaeten, M. Denecker, and D. De Schreye. Compositionality of normal logic programs. In J. Maluszynski, editor, Logic Programming, Proc. of the 1997 International Symposium, pages 371–395, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brogi, A., Contiero, S., Turini, F. (1999). The Use of Renaming in Composing General Programs. In: Flener, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1998. Lecture Notes in Computer Science, vol 1559. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48958-4_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-48958-4_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65765-1

  • Online ISBN: 978-3-540-48958-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics