On the automatic generation of events in delta prolog
Delta Prolog is a concurrent logic programming language, which extends Prolog with AND-parallelism. Communication and synchronization between parallel processes is established by using special control structures: event goals.
To relieve the programmer from inserting these structures at the correct program points, we propose a method for automatically generating them, departing from a Prolog program together with the top-level call pattern and indications of which goalexpressions should be executed in parallel. This method is based on the technique of abstract interpretation. The gathered abstract information allows to decide at which program points an event goal has to be generated and how it is composed.
However, it turns out that only a limited class of programs can be transformed automatically. Problems impeding general automatic transformation are discussed.
KeywordsDelta Prolog distributed Prolog abstract interpretation
Unable to display preview. Download preview PDF.
- Bansal, A.K., Incorporating parallelism in logic programs using program transformation, Ph.D. Thesis, Dept. of Computer Science, Case Western Reserve University, Cleveland, Ohio, July 1988.Google Scholar
- Bansal, A.K., Sterling, L., On source-to-source transformation of sequential logic programs to AND-parallelism, Proc. Int. Conf. on Parallel Processing, St. Charles, Illinois, Aug. 1987, pp. 795–802.Google Scholar
- Bruynooghe, M., Janssens, G., An instance of abstract interpretation integrating type and mode inferencing, Proc. 5th Int. Conf. and Symp. on Logic Programming, Seattle, Aug. 1988, pp. 669–683.Google Scholar
- Bruynooghe, M., A practical framework for the abstract interpretation of logic programs, revised version of Report CW 62, Dept. of Computer Science, K.U.Leuven, 1989. (to appear in Journal of Logic Programming)Google Scholar
- Cousot, P., Cousot, R., Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, Proc. 4th ACM POPL Symp., Los Angeles, June 1977, pp. 238–252.Google Scholar
- Cunha, J. C., Ferreira, M. C., Pereira, L. M., Programming in Delta Prolog, Proc. 6th Int. Conf. on Logic Programming, Lisboa, 1989, pp. 487–502.Google Scholar
- Debray, S.K., Warren, D.S., Automatic mode inferencing for Prolog Programs, Proc. 3rd Symp. on Logic Programming, Salt Lake City, Sept. 1986, IEEE Society Press, pp.78–88Google Scholar
- Jones, N.D., Sondergaard, H., A semantics-based framework for the abstract interpretation of Prolog, in Abstract Interpretation of Declarative Languages, eds. S. Abramsky and C. Hankin, Ellis Horwood, 1987, pp. 123–142.Google Scholar
- Kanamori, T., Kawamura, T., Analysing success patterns of logic programs by abstract hybrid interpretation, ICOT technical report TR 279, 1987.Google Scholar
- Mellish, C.S., Abstract interpretation of Prolog programs, Proc. 3rd Int. Conf. on Logic Programming, London, July 1986, Springer Verlag, pp. 463–474, revised in Abstract Interpretation of Declarative Languages, eds. S. Abramsky and C. Hankin, Ellis Horwood, 1987, pp. 181–198.Google Scholar
- Pereira, L. M., Monteiro, L. F., Cunha, J. H., Aparício, J. N., Concurrency and Communication in Delta-Prolog, IEEE International Specialist Seminar: the design and application of parallel digital processors, 1988, No 298, pp. 94–104.Google Scholar
- Pereira, L. M., Monteiro, L., Cunha, J., Aparício, J. N., Delta Prolog, a distributed backtracking extension with events, Proc. 3rd Int. Conf. on Logic Programming, London, July 1986, Springer-Verlag, pp. 69–83Google Scholar
- Pereira, L. M., Nasr, R., Delta-Prolog: a distributed logic programming language, Proc. Int. Conf. on Fifth Generation Computer Systems, Tokyo, 1984, pp. 283–291.Google Scholar