Declarative Priority In A Concurrent Logic Language ON

Keiji Hirata, Yamazaki Kenichi

It is well known that priority control is essential for real-world problems, and actually, many real-world-oriented concurrent logic/constraint languages, such as KL1 and Oz, can deal with priority in explicit or implicit ways. However, the design policies of these languages in terms of priority were ad hoc, since priority has been considered non-logical. It turns out that its procedural meaning has been given in an informal way at most. Our aim is to construct a formal declarative semantics of a prioritized program in order to increase applicability of concurrent logic languages to real-world problems. In this paper, we first define a model of priority and prove some properties of the model. Then, we design a concurrent logic language ON based on our theoretical framework and discuss some prominent characteristics that are embodied in sample programs written in ON. The results presented in the paper provide a new insight into priority from the declarative point of view.