This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Lingua Franca for Concurrent Logic Programming
March 1992 (vol. 18 no. 3)
pp. 225-236

Two of the more important concurrent logic programming languages with nonflat guards are GHC and Parlog. They balance the requirements of having clean semantics and providing good control facilities rather differently, and their respective merits are compared and contrasted. Since concurrent logic programming would benefit from both, but neither language is able to express all the programs expressible in the other language, a lingua franca of these languages is defined and justified. A method is given for translating GHC and Parlog to and from it. The method preserves the arities and execution conditions of each clause. It enables a lingua franca implementation to support both languages transparently, and to provide a simple concurrent logic programming language suitable for programming in its own right.

[1] J. A. Crammond, "Implementation of committed choice languages on shared memory multiprocessors," Ph.D. thesis, Heriot-Watt Univ., Edinburgh, Scotland, May 1988.
[2] I. T. Foster, "Logic operating systems: design issues," inLogic Programming: Proc. 4th Int. Conf.Cambridge, MA: MIT Press, 1987, pp. 910-926.
[3] I. T. Foster and S. Taylor, "Flat Parlog: a basis for comparison," Comp. Sci. Dept., Weizmann Inst. Sci., Israel, Tech. Rep., Mar. 1987.
[4] I. T. Foster, "Parlog as a systems programming language," Ph.D. thesis, Dept. Computing, Imperial College, London Univ., Mar. 1988.
[5] H. Fujita, A. Okumura, and K. Furukawa, "Partial evaluation of GHC programs based upon the UR-set with constraints," inLogic Programming: Proc. 5th Int. Conf. and Symp.Cambridge, MA: MIT Press, 1988, pp. 924-940.
[6] S. Gregory,Parallel Logic Programming in Parlog--the Language and its Implementation(Int. Series in Logic Program.). London: Addison-Wesley, 1987.
[7] S. Gregory, I. T. Foster, A. Burt, and G. A. Ringwood, "An abstract machine for the implementation of Parlog on uniprocessors,"New Gen. Comput., vol. 6, pp. 389-420, 1989.
[8] N. Ichiyoshi, T. Miyazaki, and K. Taki, "A distributed implementation of flat GHC on the multi-PSI," inLogic Programming: Proc. 4th Int. Conf.Cambridge, MA: MIT Press, 1987, pp. 257-276.
[9] T. Kanamori and M. Maeji, "A preliminary note on the semantics of Guarded Horn Clauses," Inst. New Gen. Comput. Techn., Tokyo, Tech. Rep. TR-434, Dec. 1988.
[10] Y. Kimura and T. Chikayama, "An abstract KL1 machine and its instruction set," Inst. New Gen. Comput. Techn., Tokyo, Tech. Rep. TR-246, 1987.
[11] M. Kishi, E. Kuno, K. Rokusawa, and N. Ito, "The dataflow-based Parallel Inference Machine to support two basic languages in KL1," Inst. New Gen. Comput. Techn., Tokyo, Tech. Rep. TR-114, 1985.
[12] J. Levy, "A GHC abstract machine and instruction set" (Lecture Notes in Comp. Science, vol. 225), in3rd Int. Conf. on Logic Program. Berlin: Springer-Verlag, 1986, pp. 157-171.
[13] J. Levy and E. Shapiro, "Translation of safe GHC and safe concurrent Prolog to FCP," Dept. Comp. Sci., Weizmann Inst. Sci., Israel, Tech. Rep. CS87-08, June 1987.
[14] V. Saraswat, "GHC: Operational semantics, problems and relationship with CP(↓,|)," inProc. Symp. on Logic Program. (San Francisco), Sept. 1987, pp. 347-358.
[15] M. Sato, H. Shimizu, A. Matsumoto, K. Rokusawa, and A. Goto, "KL1 execution model for PIM cluster with shared memory," inLogic Programming: Proc. 4th Int. Conf.Cambridge, MA: MIT Press, 1987, pp. 338-355.
[16] E. Shapiro, "A subset of concurrent Prolog and its interpreter," Inst. New Gen. Comput. Techn., Tokyo, Tech. Rep. TR-003, Feb. 1983.
[17] E. Shapiro, "The family of concurrent logic programming languages,"ACM Comput. Sur., vol. 21, no. 3, pp. 413-510, Sept. 1989.
[18] L. Sterling and R. D. Beer, "Meta-interpreters for expert system construction," inJ. Logic Program., vol. 6, pp. 163-178, 1989.
[19] H. Taylor, "Localizing the GHC suspension test," inLogic Programming: Proc. 5th Int. Conf. and Symp.Cambridge, MA: MIT Press, 1988, pp. 1257-1271.
[20] K. Ueda, "On the operational semantics of guarded horn clauses," Inst. New Gen. Comput. Techn., Tokyo, Tech. Memo. TM-136, 1985.
[21] K. Ueda, "Guarded horn clauses," D.Eng. thesis, Tokyo Univ., Tokyo, Japan, Mar. 1986.

Index Terms:
concurrent logic programming languages; nonflat guards; GHC; Parlog; clean semantics; control facilities; lingua franca; execution conditions; language translation; logic programming; parallel languages; parallel programming
Citation:
H. Taylor, "A Lingua Franca for Concurrent Logic Programming," IEEE Transactions on Software Engineering, vol. 18, no. 3, pp. 225-236, March 1992, doi:10.1109/32.126771
Usage of this product signifies your acceptance of the Terms of Use.