login

The declarative past and imperative future

Lecture notes in computer sciencePublished 1 January 1989
Dov M. Gabbay
Citations276
SJR quartileQ2
SJR score0.35
SNIP0.55

TL;DR

A new paradigm in executable logic, that of the declarative past and imperative future, is proposed, which is regarded as a natural meeting between the imperative anddeclarative paradigms.

Abstract

We propose a new paradigm in executable logic, that of the declarative past and imperative future. A future statement of temporal logic can be understood in two ways: the declarative way, that of describing the future as a temporal extension; and the imperative way, that of making sure that the future will happen the way we want it. Since the future has not yet happened, we have a language which can be both declarative and imperative. We regard our theme as a natural meeting between the imperative and declarative paradigms. More specifically, we describe a temporal logic with Since, Until and fixed point operators. The logic is based on the natural numbers as the flow of time and can be used for the specification and control of process behaviour in time. A specification formula of this logic can be automatically re-written into an executable form. In an executable form it can be used as a program for controlling process behaviour. The executable form has the structure "If A holds in the past then do B". This structure shows that declarative and imperative programming can be integrated in a natural way.