Demand transformation analysis for concurrent constraint programs

This paper presents a demand transformation analysis that maps a predicate's output demands to its input demands. This backward dataflow analysis for concurrent constraint programs is constructed in the framework of abstract interpretation. In the context of stream parallelism, this analysis id...

Full description

Saved in:
Bibliographic Details
Published in:The journal of logic programming Vol. 42; no. 3; pp. 185 - 215
Main Authors: Falaschi, Moreno, Hicks, Patrick, Winsborough, William
Format: Journal Article
Language:English
Published: Elsevier Inc 2000
ISSN:0743-1066, 1873-5789
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:This paper presents a demand transformation analysis that maps a predicate's output demands to its input demands. This backward dataflow analysis for concurrent constraint programs is constructed in the framework of abstract interpretation. In the context of stream parallelism, this analysis identifies an amount of input data for which predicate execution can safely wait without danger of introducing deadlock. We assume that programs are well-moded and prove that our analysis is safe. We have constructed an implementation of this analysis and tested it on some small, illustrative programs and have determined that it gives useful results in practice. We identify several applications of the analysis results to distributed implementations of concurrent constraint languages, including thread construction and communication granularity control. This analysis will enable existing computational cost estimation analyses to be applied to stream-parallel logic languages.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0743-1066
1873-5789
DOI:10.1016/S0743-1066(99)00004-7