Skip to main content

Concepts for a modular and distributed Prolog language

  • Session: Modular Logic Programming
  • Conference paper
  • First Online:
Programming Language Implementation and Logic Programming (PLILP 1991)

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

  • 275 Accesses

Abstract

The paper introduces new language concepts for building modular and distributed Prolog programs. The language concepts are synthesized from the analysis of the language concept of Distributed Processes and in parts from the concepts of Object Oriented Programming, while Prolog serves also as an implementation language. In this concept, a Prolog program is solved by a number of communicating Prolog objects. Each object can have an own initial goal. Objects communicate by remote predicate calls. A remote predicate call results in an additional Prolog thread at the target object to prove the goal. Consequently, objects execute multiple Prolog programs in an interleaved manner. A general form of Prolog data base operations is proposed for communication of concurrently evaluating Prolog programs in the internal scope of an object. Non-determinism arising from concurrency is handled by help of an adapted form of the Guarded Commands concept of Dijkstra. A program under execution consists of concurrently acting nested objects while the description of the behaviour of objects is achieved in a modular way.

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.

Similar content being viewed by others

References

  • America, P., "POOL-T: A Parallel Object-Oriented Language," in Object-Oriented Concurrent Programming, Massachusetts Institute of Technology, 1987, pp.199–220.

    Google Scholar 

  • Brinch Hansen, P., The Architecture of Concurrent Programs, Prentice Hall, 1977.

    Google Scholar 

  • Brinch Hansen, P., "Distributed Processes: A Concurrent Programming Concept," Comm. ACM 21, 11, pp.932–941, Nov. 1978.

    Google Scholar 

  • Brinch Hansen, P., Programming a Personal Computer, Prentice Hall, 1982.

    Google Scholar 

  • Clark, K.L., Gregory, S., "PARLOG: parallel programming in logic", ACM TOPLAS 8, 1, (1986), pp.1–49.

    Google Scholar 

  • Dijkstra, E.W., "Guarded Commands, Nondeterminancy, and Formal Derivation of Programs", Comm. ACM 18, 8, pp.453–457, Aug. 1975.

    Google Scholar 

  • Dijkstra, E.W., Selected Writings in Computing: A Personal Perspective. Springer-Verlag, 1982.

    Google Scholar 

  • Foster, I, Taylor, S., Strand: New Concepts in Parallel Programming. Prentice-Hall, Englewood Cliffs, N.J. (1989).

    Google Scholar 

  • Futó, I., Kacsuk, P., "CS-Prolog on multitransputer systems", Microprocessors and Microsystems, 13, 2, March 1989, pp.103–112.

    Google Scholar 

  • Hoare, C.A.R., "Towards a Theory of Parallel Programming," in Operating Systems Techniques, Ed: C.A.R. Hoare and R.H. Perrot, Academic Press, 1972, pp.61–71.

    Google Scholar 

  • Hoare, C.A.R., "Communicating Sequential Processes", Comm. ACM 21, 8, pp.666–677, Aug. 1978.

    Google Scholar 

  • Kacsuk, P., Futó, I., Ferenczi, Sz., "Implementing CS-Prolog on a communicating process architecture," Journal of Microcomputer Applications, 13, (1990), pp.19–41.

    Google Scholar 

  • Pereira, L.M., Monteiro, L., Cunha, J., Aparicio, J.N., "Delta Prolog: A Distributed Backtracking Extension with Events," Third International Conference on Logic Programming, London, UK, July 1986, Proceedings, Also in Lecture Notes in Computer Science 225, Springer-Verlag, 1986.

    Google Scholar 

  • Shapiro, E., "Concurrent Prolog: a progress report," IEEE Computer, 19, 8, (1986), pp.44–58.

    Google Scholar 

  • Shizgal, I., "The Amoeba-Prolog System," The Computer Journal, 33, 6, Dec. 1990, pp.508–517.

    Google Scholar 

  • Ueda, K., "Guarded Hom Clauses" In Logic Programming 85, Lecture Notes in Computer Science 221, Springer-Verlag, Heidelberg 1986, pp.168–179.

    Google Scholar 

  • Vaucher, J, Lapalme, G., Malenfant, J., "SCOOP, Structured Concurrent Object Oriented Prolog," European Conference on Object-Oriented Programming, Oslo, Norway, August 15–17, 1988, Proceedings; Lecture Notes in Computer Science 322, Springer-Verlag, 1988, (eds:S. Gjessing, K.Nygaard)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Maluszyński Martin Wirsing

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ferenczi, S. (1991). Concepts for a modular and distributed Prolog language. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_96

Download citation

  • DOI: https://doi.org/10.1007/3-540-54444-5_96

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54444-9

  • Online ISBN: 978-3-540-38362-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics