Some experimental results in implementing a logic language with multi-head clauses on a Transputer architecture

  • Anna Ciampolini
  • Evelina Lamma
  • Paola Mello
  • Cesare Stefanelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 798)


We focus on the distributed implementation of an extended logic language (called ROSE) based on multi-head clauses which can be useful to implement parallel logic objects where state change is performed by unification and recursion. Distinguishing features of ROSE are OR-parallelism with committed-choice behaviour and the AND-parallel execution of subgoals which do not share variables. We present the real implementation of ROSE on a Transputer-based architecture, and discuss some experimental results obtained by considering different allocation policies for processes. These allocation policies correspond to forms of inter- and intra-object parallelism when objects with state are implemented as ROSE programs. Obtained figures help in understanding which is the optimal allocation policy to adopt on the basis of an estimation of the time necessary for performing the distributed unification and the guard and body evaluation.


  1. 1.
    J.M. Andreoli, R. Pareschi: Linear objects: logical processes with built-in inheritance, Proc. 7th Int.l Conf. on Logic programming ICLP'90, Jerusalem, (D.H.D. Warren and Peter Szeredi eds), The MIT Press, pp. 495–510 (1990).Google Scholar
  2. 2.
    G. Agha: Actors: A Model of Concurrent Computation in Distributed Systems, The MIT Press, 1986.Google Scholar
  3. 3.
    A. Brogi: AND-Parallelism without Shared Variables, in Proc. Seventh International Conference on Logic Programming, Jerusalem, (D.H.D. Warren and Peter Szeredi Eds.), pp. 306–324, The MIT Press (1990).Google Scholar
  4. 4.
    A.Brogi, A.Ciampolini, E.Lamma, P.Mello: A Distributed Implementation for Parallel Logic Programming, in Proc. COMPEURO91, pp. 118–122, IEEE Computer Soc. Press (1991).Google Scholar
  5. 5.
    A.Brogi, A.Ciampolini, E.Lamma, P.Mello: The Implementation of a Distributed Model for Logic Programming based on Multiple-Headed Clauses, Information Processing Letters, Vol. 42, pages 331–338, Elsevier Science Publisher B.V.-North-Holland (1992).Google Scholar
  6. 6.
    A. Burns, Programming in occam-2, Addison-Wesley (1988).Google Scholar
  7. 7.
    J.S. Conery, D.F.Kibler: AND parallelism and non-determinism in logic programs, in New Generation Computing, Vol. 3, pp. 43–70 (1985).Google Scholar
  8. 8.
    A.Ciampolini, E.Lamma, P.Mello, C.Stefanelli, Implementing Unification in a Distributed Environment, Proc. AICA-93, International Section, Gallipoli (Lecce), September 1993.Google Scholar
  9. 9.
    J.S. Conery: Logical Objects, Proc. 5th Int.l Conf. on Logic programming ICLP'88, Seattle, (R.A. Kowalski and K.A. Bowen eds), The MIT Press, pp. 420–434 (1988).Google Scholar
  10. 10.
    D. DeGroot et al. editors, Distributed and Parallel Implementations of Logic Programming Systems, Proc. of the JICSLP92 Post-Conf. Workshop.Google Scholar
  11. 11.
    M. Falaschi, G. Levi, C. Palamidessi: A Synchronization Logic: Axiomatic and Formal Semantics of Generalized Horn Clauses, Information and Control, 60, 1–3, pp. 36–69 (1984).Google Scholar
  12. 12.
    I. Foster: Parallel Implementation of Parlog, in Proceedings of the 1988 International Conference on Parallel Processing, V. 2, pp. 9–16, 1998.Google Scholar
  13. 13.
    INMOS, Transputer Reference Manual, Prentice Hall (1988).Google Scholar
  14. 14.
    K.Kahn, E.D.Tribble, M.S.Miller, D.G.Bobrow: Objects in Concurrent Logic Programming Languages, OOPSLA'86, Portland, Oregon, September 1986.Google Scholar
  15. 15.
    MEIKO, CSTools: A Technical Overview, Meiko Technical Report S0205-12S (1989).Google Scholar
  16. 16.
    L. Monteiro: A proposal for distributed programming in logic, in Implementations of Prolog (J.A. Campbell ed.), pp. 329–340, Ellis Horwood (1984).Google Scholar
  17. 17.
    L. Monteiro: Distributed Logic: A Theory of Distributed Programming in Logic, Technical Report, Universidade Nova de Lisboa, (1986).Google Scholar
  18. 18.
    K.Nakajima et al.: Distributed Implementation of KL1 on the Multi-PSI/V2, Proc. 6th International Conference on Logic Programming, Lisbon (P), (G. Levi, M. Martelli eds.), pp. 436–451, The MIT Press (1989).Google Scholar
  19. 19.
    E. Y. Shapiro: The Family of Concurrent Logic Programming Languages, ACM Computing Surveys, 21:3, pp.412–510 (1989).Google Scholar
  20. 20.
    I.Foster, S. Taylor: STRAND: New Concepts in ParallelProgramming, Prentice Hall, 1990.Google Scholar
  21. 21.
    K.Ueda, M.Morita: A New Implementation Technique for Flat GHC, Proc. Seventh International Conference on Logic Programming, Jerusalem, (D.H.D. Warren, Peter Szeredi eds.), pp. 3–17, The MIT Press (1990).Google Scholar
  22. 22.
    D.H.D. Warren: An Abstract Prolog Instruction Set, SRI Technical Note 309, SRI International (1983).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Anna Ciampolini
    • 1
  • Evelina Lamma
    • 1
  • Paola Mello
    • 1
  • Cesare Stefanelli
    • 1
  1. 1.Dipartimento di Elettronica, Informatica e SistemisticaUniversità di BolognaBolognaItaly

Personalised recommendations