A parallel execution model for Chronolog
Chronolog(z) is a logic programming language based on a linear-time temporal logic with unbounded past and future. By adding 'choice predicates' to Chronolog(z), it is possible to obtain exactly one answer to a given goal when we want to model dataflow, style of stream-oriented computations. In this paper, we propose a parallel execution model for Chronclog(z) that supports AND- and OR-parallelism in the highly distributed dataflow environment. In order to exploit the inherent context-paralellism that exist in temporal logic programs, we introduce the concept of parallel context-processes into the model. We also introduce an intermediate virtual machine (CVM), which is granulated to exploit the argument parallelism through temporal unification. The details of the CVM instruction set are given. The use of a warehouse facility as an associate memory to store the results of previous computations is an important feature of this model. This paper discusses the structure of the warehouse, its role and use in parallel execution of Chronolog programs. We in particular outline an algorithm to manage the warehouse.
temporal logic programming warehouse operational semantics context-parallelism dataflow computation