Can computational logic provide a paradigm for both the specification and implementation of concurrent systems?
DAVID R. GILBERT · ACM Computing Surveys · 1996
ing with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or [email protected]. updates are monotonic. This update operation is called "tell" and has no effect on the store if it already contains the told constraint. The state of the store can be queried by an "ask" operation which succeeds if the store entails the asked constraint. We can conceptualise the store as a blackboard (potentially distributed), parts of which can be made private to designated processes, ask operations as reads and tells as writes on data. In classical concurrency terminology, a process which queries the state of the store with an ask is a consumer while one which updates the store with a tell is a producer ; producers and consumers communicate via the store of constraints. The communication engendered is inherently multi-party,...