The logic of norms, called deontic logic, has been used to specify normative constraints for information systems. For example, one can specify in deontic logic the constraints that a book borrowed from a library should be returned within three weeks, and that if it is not returned, the library should send a reminder. Thus, the notion of obligation to perform an action arises naturally in system specification. Intuitively, deontic logic presupposes the concept of an actor who undertakes actions and is responsible for fulfilling obligations. However, the concept of an actor has not been formalized until now in deontic logic. We present a formalization in dynamic logic, which allows us to express the actor who initiates actions or choices. This is then combined with a formalization, presented earlier, of deontic logic in dynamic logic, which allows us to specify obligations, permissions, and prohibitions to perform an action. The addition of actors allows us to express who has the responsibility to perform an action. In addition to the application of the concept of an actor in deontic logic, we discuss two other applications of actors. First, we show how to generalize an approach taken up by De Nicola and Hennessy, who eliminate ~ from CCS in favor of internal and external choice. We show that our generalization allows a more accurate specification of system behavior than is possible without it. Second, we show that actors can be used to resolve a long-standing paradox of deontie logic, called the paradox of free-choice permission. Towards the end of the paper, we discuss whether the concept of an actor can be combined with that of an object to formalize the concept of active objects.
IntroductionDeontic logic is the logic of permissions, prohibitions, and obligations. Surveys of several deontic logics that have been devised in the past have been given by A1 [20,30] with deontic operators. In earlier papers, we applied Meyer's logic to the specification of conceptual models of information systems [48,51]. We take this application as the point of departure in this paper. The approach is extended with the concept of an actor, and we start with listing some of the reasons why we want to do this. This paper is a revision and an extension of two abstracts that appeared earlier [37,49]. Those abstracts contained a formalization of actors, active choice, that we have replaced, in the current paper, by a formalization in terms of passive and active choices. This allows us to simplify the approach at some points, while at the same time making it more expressive.
THE SYSTEM AS ACTOR IN THE UoDIn an earlier paper [48], we specified a library in which an administration of books and library members is maintained. Members can borrow a book for three weeks, and are then obliged to return it. If they do not return it, the library will send a reminder. This is specified in the current version of the logic as Vp, b[borrow(p; b)Formula (1) says that after occurrence of the event borrow(p; b), the obligation predicate O(retur...