Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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)
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.
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.
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–88
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.
Kanamori, T., Kawamura, T., Analysing success patterns of logic programs by abstract hybrid interpretation, ICOT technical report TR 279, 1987.
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.
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.
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–83
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dumortier, V., Bruynooghe, M. (1990). On the automatic generation of events in delta prolog. In: Deransart, P., Maluszyński, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1990. Lecture Notes in Computer Science, vol 456. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024193
Download citation
DOI: https://doi.org/10.1007/BFb0024193
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53010-7
Online ISBN: 978-3-540-46298-9
eBook Packages: Springer Book Archive