Clocked Temporal Logic Programming Chuchang Liu Mehmet A. Orgun Department of Computing Macquarie University NSW 2109, Australia E-mail: fcliu,
[email protected]
Abstract Clocked temporal logic programming(CTLP) is an extension of logic programming based on a clocked temporal logic(CTL). In CTL, predicates are associated with local clocks. Local clocks can be used to model multiple granularity of time, thus the resulting temporal logic programming language, called Chronolog(MC), has a stronger modeling power. This paper discusses the logical basis of the language and outlines its operational semantics. Also, a parallel execution model for Chronolog(MC) programs is outlined. An application of CTLP to distributed computations is discussed.
Keywords Temporal logic, Logic programming,
Clocks, Temporal resolution, Parallel execution.
1 Introduction An important activity in computer science is the invention, analysis and application of formal logics which are designed to specify, reason about and represent algorithms, programs and systems. For instance, temporal logic has been widely used as a formalism for program speci cation and veri cation [12, 3], reasoning about time [17], and modeling temporal databases [6, 7]. Furthermore, some researchers have suggested that temporal logic can be directly used as a programming language. For instance, Tokio [2] is a temporal language based on interval logic; Templog [1] and Chronolog [15] are based on linear-time temporal logics; and Temporal Prolog [5] is based on linear and branching time temporal logics. Chronolog [15] is an extension of logic programming based on a linear-time temporal logic [8] which refers to a natural extension of a standard rstorder logic. In Chronolog, there are two temporal operators, first and next, which refer to the initial and the next moment in time respectively.
Proceedings of the 19th Australasian Computer Science Conference, Melbourne, Australia, January 31{February 2 1996.
Chronolog is a suitable language for specifying time-dependent properties of certain problems in a natural way [9, 15]. For instance, suppose that we have two programs p1 and p2, with the restriction that only one of them can run at a time. In particular, we may assume that p1 may run at even moments in time and p2 at odd moments in time. The following Chronolog program describes the dynamics of the system: first time(even). next time(odd)