ATTRIBUTE GRAMMAR BASED MODELING OF CONCURRENT CONSTRAINT LOGIC PROGRAMMING
C. Voliotis, Nikitas M. Sgouros, G. Papakonstantinou · International Journal of Artificial Intelligence Tools · 1995
The development of more powerful Concurrent Constraint Logic Programming (CCLP) languages depends largely on the development of environments that facilitate the specification and integration of constraints in the semantics of a logic program and automatically extract the inherent parallelism of Logic Programming. This paper presents a novel method for automating the parallel AND/OR execution of CCLP applications. This method consists of two stages. The first stage translates a logic program into an equivalent Attribute Grammar providing a common language in which the specifications of constraints and the semantics of a logic program can be expressed. The second stage evaluates this Attribute Grammar using MPAGE, a Multipass Parallel Attribute Grammar Evaluation algorithm. Support for the processing of constraints in the logic program is provided with the creation of a dependency graph between the variables of a logic rule during the first stage. Using this dependency graph MPAGE delays, if necessary, the evaluation of variables in a constraint until they become bound at some later point in processing. As a result our method supports rule representations in CLP languages with no restrictions on the ordering of subgoals. Furthermore, during execution MPAGE allows single rules in a CLP program to deal with multiple assignments of bindings, thus generating a minimal number of processes. Finally, this method is independent from the underlying hardware and its memory organization, therefore it can be implemented on both shared and distributed memory systems.