First Order Action Logic - an Approach for Modelling the Communication Process between Agents

In the design of information systems, the notion of agent has proven useful. When modelling communication among agents, deontic concepts, such as obligations, permissions, and prohibitions are essential. The dynamics of obligations, i.e., how obligations are created and destroyed, can effectively be described by means of notions from speech act theory. In this paper, we present a language that includes deontic and illocutionary constructs for the modelling of communication between agents. The language is a logic programming language, which gives it a simple semantics and makes it executable. A distinguishing feature of the language is that it is able to represent time explicitly, which is required to give an adequate semantics for deontic constructs.


Introduction
Decentralized and cooperating information systems have become increasingly important as a result of organizational demands and as a consequence of technical advances in computer networking.When specifying and designing these kinds of systems, the concept of intelligent and cooperating agents has proven useful.By the term "agent" is commonly meant an entity, human or machine, that functions continuously and autonomously in an environment in which other processes take place and other agents exist.Agents are often taken to be "high-level", meaning that they can be described in mental terms such as beliefs, knowledge, capabilities, plans, goals, desires, intentions, obligations, commitments, etc. Ascribing such mental properties to human agents is certainly unproblematic, but it can be questioned if it is appropriate to use this mental terminology also for mechanical agents.An answer to this question is that the issue is not if it is correct from a philosophical point of view to ascribe mental states to mechanical agents, but rather if doing so provides a coherent and convenient view of such agents.And it has turned out that in describing complex agents, mental terminology is most useful, see for example [19].There exists a vast literature, ranging from philosophy and psychology to AI, on different mental aspects, in particular on belief and knowledge, [16].In recent years, there has been a growing interest in those aspects that have to do with obligations and commitments, aspects that are essential for cooperation and coordination among agents.When coordinating their activities, agents create and fulfil obligations, that is the agents request each other to do things, they promise to do things, and they carry out what has been requested or promised.Thus, each agent holds an agenda describing what it is obliged to do in the future.This agenda is not static, but changes as the agent adds and removes obligations.The agent removes obligations by fulfilling them or by violating them, which in the latter case may result in some form of sanction.The agent adds new obligations to its agenda as a response to requests from other agents.This means that agents use speech acts (directives, commissives, and declaratives) to create and cancel their obligations.Speech acts, therefore, provide a natural basis for a structured description of the actions that take place in agent communication and interaction.In this paper, we introduce a logic based language for creating, specifying, and monitoring obligations between agents.The paper is organised as follows.Section 2 gives a short overview of related research, primarily in deontic and illocutionary logic.Section 3 introduces the language, called First order Action Logic (FAL), and gives it syntax and semantics.Section 4 models a simple communication process in the language.Finally, Section 5 summarises the paper and suggests directions for further research.

Related Research
The social relations of obligations, prohibitions, and permissions have been studied in deontic logic.Surveys of several approaches to deontic logic can be found in [8], [12].One of the first axiomatic systems for deontic logic was the "standard system" KD defined by von Wright in 1951 [20], where the deontic operators O (for Obligation) and P (for Permission) were introduced together with a small number of axioms stating their properties and interrelationships.It soon turned out, however, that von Wright's system entailed several nasty paradoxes, most notably the Chisholm paradox, [5].In attempts to avoid these paradoxes, several other deontic systems were developed during the following decades.In 1964, von Wright extended his original system to a system for dyadic logic [21], where conditional obligations were introduced.In 1958, Anderson suggested in [1] a reduction of the system KD to a system in alethic modal logic.A novel feature of his system was the introduction of a special propositional atom V standing for violation of obligations.If V obtains in a state, it is regarded as undesirable and that there is need for some sanction or punishment.
In spite of these and other efforts, several paradoxes remained in the new deontic systems.
In order to provide a sound foundation for deontic logic, Meyer suggested in 1988 to reduce it to a variant of dynamic logic, [11].A consequence of using dynamic logic is a strict separation between actions and assertions, where an action may change the current situation whereas an assertion does not.In Meyer's system, obligations pertain only to actions, not to assertions.This feature of the system renders some paradoxes inexpressible while others become improvable.The paradoxes that remain in the system seem to be relatively unproblematic, for a discussion see [12].Meyer's approach to deontic logic is, thus, an important step forward, but it has certain shortcomings.First, the fact that only actions, and not assertions, are allowed as the subject matter of obligations can in some situations be too restrictive.For example, an agent may have the obligation to ensure that the temperature in a particular vessel exceeds 25 degrees, and he may obtain this state of affairs in many different ways.Such an obligation would be inexpressible in Meyer's system as only actions can be obliged.Another problem with Meyer's approach is that its concept of obligation seems to be too strong.Intuitively, Meyer states that an action is obliged in a state if not performing it results in a violation.This forces a very strong interpretation of the obligation operator, in effect when an action is obliged the next action must be the obligatory one.This interpretation is too strong in many situations, since it is often required only that an obliged action should be carried out at some time in the future (or before some point in time), not that it should be carried out immediately.The cause of this problem is that Meyer's approach does not provide an explicit representation of time.
Meyer's approach only allows for the specification of obligations, it does not provide any specific constructs for the dynamic creation of obligations.In 1995, Dignum et.al.showed how such constructs can be provided through a combination of deontic logic and illocutionary logic, [6].Illocutionary logic, [18], is a formalisation of the theory of speech acts, [17], which can be used for modelling communication structures.There is a clear distinction in [6] between speech acts and instrumental acts; speech acts are used for communication between agents, whereas instrumental acts are not.The main contribution of Dignum et.al. is that they show how to formalise the dynamics of authorisations, i.e., how authorisations are created and deleted and how they influence obligations among agents.The theoretical foundation of the system of Dignum et.al. is Meyer's system, which means that it has the same limitations as that system.
All the approaches discussed above are based on some sort of logic.However, there are also non-logic based languages that include deontic and illocutionary constructs.One of the most notable of these is Agent Oriented Programming, which was introduced by Shoham in 1993, [19].The basic units in Agent Oriented Programming are agents with states consisting of beliefs, decisions, capabilities, and obligations.Shoham does not give a logical semantics to his language, instead he provides an operational semantics.The reason for this is that Shoham requires that his language be efficiently executable, and a logical semantics for the language would require a multi-modal, temporal theorem prover, which would become notoriously inefficient.

3
The Language FAL In this section, we introduce a language for specifying, creating, and monitoring obligations, called First order Action Logic (FAL).Two basic requirements on this language are that it shall be executable and that it can be given a clear semantics.We have attempted to fulfil these requirements by basing the language on first order logic; this approach was inspired by the work by van Benthem et. al. in [2], where first order logic is used to model dynamics.FAL is also similar to the extended situation calculus as proposed in [14].In fact, the syntax of FAL is restricted in such a way that it can be given a logic programming semantics.We claim that this approach provides several advantages: • Simple semantics -The meanings of the language constructs are easy to understand as they are given using a first order semantics.This should be compared to most of the approaches of the previous section, which make use of different forms of possible world semantics.

•
Executable specifications -Specifications in the language are executable, since they can be interpreted as ordinary logic programs.This feature makes the specification language suitable for prototyping purposes.

•
Explicit creation of obligations -The language makes it possible to explicitly create obligations by means of speech acts.In this respect, it is similar to the approach proposed by Dignum et.al. in [6].

•
States of affairs as the subject matter of obligations -The language makes it possible to have actions as well as states of affairs as the subject matter of obligations.This should be compared to some recent approaches to deontic logic, such as [11], which only allow actions.

•
Representation of time -The language provides explicit representation of time, which makes it possible to express, for example, that a certain action should be carried out during a specified time interval or that a certain state of affairs should obtain at a specified point in time.We claim that an explicit representation of time is essential to obtain an adequate semantics for obligations.
A limitation of FAL is that it does not support any advanced reasoning about deontic concepts; it only supports the creation, specification, and monitoring of obligations, permissions, and prohibitions.We claim that this limitation is not severe in most information systems applications, as advanced reasoning capabilities are usually not required in these contexts.
An essential feature of the language proposed is that it is based on a temporal deductive approach to modelling, see for example [13].This means that a theory (set of formulas) in the language does not describe a Universe of Discourse (UoD) only at a single point in time; instead, the theory describes the UoD for an extended period of time.It is assumed that a theory describing a UoD can be divided into two disjoint parts.The first part contains information about which actions that have occurred in the UoD.For instance: This part corresponds to an information base and we will call it Extension module.The second part consists of rules that describe how information about the UoD can be derived based on knowledge about which actions that have taken place.For instance: • If a person gets a quotation from a company and thereafter makes an order according to the quotation, then the company is obliged to deliver.This set of rules can be divided into two disjoint modules.The first one, called the Domain module, contains domain dependent rules that model a particular domain; the first two rules in the preceding paragraph are examples of domain dependent rules for a domain about orders and purchases.The second module, called the General Intention module, contains domain independent rules describing how obligations, permissions, etc. can be derived from facts about speech acts that have been performed; the third rule in the preceding paragraph is an example of a rule in the General Intention module, which is intended to be valid for all domains.To summarise, a model of a UoD consists of three parts: domain independent rules in the General Intention module; domain dependent rules in the Domain module; and facts about actions that have occurred in the Extension module.The temporal deductive approach requires that time is explicitly represented, which entails that each formula must include an explicit reference to a point in time telling when a certain fact is true or when an action has been performed.In this way, it becomes possible to maintain information about the UoD at each point in time of its entire life span.This also provides a framework in which it becomes simple to monitor obligations and in which it is possible to distinguish between different forms of obligations and authorisations.

Syntax
We now define the syntax of FAL.The alphabet, as usual for first order predicate logic, consists of a set C of constants, a set of variables, a set F of function symbols, a set P of predicate symbols, a set of connective symbols {¬, ∧, ∨,←}, and a set of punctuation symbols.The UoD is considered to consist of different kinds of objects including agents, time points, actions, and states of affairs.To make it possible to distinguish between terms denoting these different kinds of objects, the terms are typed.We introduce the types Ag for agents, T for time points, A for actions, and SoA for states of affairs.We also introduce the type AS for the contents of speech acts, which may be actions, states of affairs, or combinations of these; A and SoA are subtypes of AS.Furthermore, we introduce the types SA for speech acts and IA for instrumental acts; these are subtypes of A. To make it possible to construct different actions and states of affairs, some special sets of function symbols are defined: These function symbols are typed as follows: The predicate symbols in FAL are <, , =, done and holds with arity two and fulfilled with arity three.The predicate symbols <, , and = are used to give a partial order between the time points.The predicate symbols done, holds, and fulfilled are typed as follows: A well formed formula in FAL is a clause in Clausal Normal Form, [10], i.e., an ordinary logic programming formula.We use Prolog notation and adopt the convention that constants are denoted with lower-case letters and variables with upper-case letters.We now informally describe the meanings of the language constructs introduced above; a formal semantics is given in the next subsection. ) com AgA AgB AS T , , , ( ) ,  ( ) ,  ( ) , ,  ( ) The predicates built by holds, done, and fulfilled shall be read as follows: • -The state of affairs SoA holds at T; • -The action A has been performed at T; • -AS is fulfilled with respect to and , i.e., AS is performed between and (if AS corresponds to an action), or AS holds at (if AS corresponds to a state of affairs).
In the following paragraphs, we explain in more detail the constructs above and give some examples.We follow Dignum et.al. [6], in making a distinction between three kinds of directives: directives made by charity; directives made by authority; and directives made by power.For instance, the following is a charity directive, which in this case means that Apple is not obliged to comply to Peter's request: Peter asks Apple to give him a quotation for a Macintosh LC475 latest at 200296 The next sentence is an authorisation directive, since Apple has authorised Peter to order by giving him a quotation, and Apple must therefore comply to Peter's order: Peter requests that Apple shall deliver a Macintosh LC475, according to the quotation he received from Apple, i.e., Apple shall deliver an LC475 for 10' latest 300496.
Finally, an example of a power directive: When Peter enters Sweden, the emigration control officer (eco) orders Peter to show his passport latest at the day he enters 120196.
This is a power directive, since whether Peter authorises the emigration control officer to se his passport or not, the emigration control officer has the right to do that.These three kinds of directives are adopted in FAL, since they create different social relations and are thereby considered separately.They are represented by the indexes c, a and p for charity, authority and power, respectively and are used as subscripts for the symbol dir.
Authorisations are created and revoked by means of auth and retract, which are in fact different kinds of declaratives.We distinguish between two kinds of authorisations: authorization to an agent to request once, that an action/a state of affairs, shall be fulfilled; and authorisation to an agent to request several times that an action/a state of affairs, shall be fulfilled.For instance, a quotation is an example for one time authorization.The term below represents that Apple authorizes Peter to request once, to deliver an LC475 for price 10' latest at 300496.The authorization is valid until 300396.
An example for an indefinite number of authorizations is when Peter receives a mail order catalogue from Elle valid for the winter 95-96, and he can order clothes several times during the winter 95-96.This is represented by the term: The function symbol retract is used when an authorization is withdrawn.For instance the fact that Apple withdraws the authorization from Peter to request a delivery of an LC475 is written: The unary function symbol V is analogous to the propositional atom V for violation from Anderson's system described in Section 2. The connectors ∼, & and ∪ are used to construct more complex contents of speech acts.The connector & is used for conjunction.For example, to express that John orders Peter to buy an LC475 and to get information about the price for a PB165 until 300496, we would write: The connector ∪ corresponds to disjunction, and ∼ to negation.Note that it is possible to combine actions and states of affairs by these connectors, for example to express: 180296, John promises to Peter that the paper will be ready or John will call Peter latest at 200296, we write holds SoA T , ( ) dir c peter apple give_quotation apple peter lc475 peter apple deliver apple peter lc475 1 10′ , , apple peter deliver apple peter lc475 1 10′ 300496 , , elle peter deliver elle peter clothes , , retract apple peter deliver apple peter lc475 1 10′ 300496 , , The function symbols from the sets IAC and SoAC construct terms denoting instrumental acts and state of affairs respectively.Most of the elements of these sets are domain dependent and their specification is a part of a Domain module.Typical examples of instrumental acts in an order and purchase domain are deliver and pay, while typical elements of SoAC could be owns and borrows.The terms described above can be divided into two categories: terms describing states of affairs and terms describing actions.It is convenient to talk about states of affairs holding and actions being performed.Therefore the predicate symbols holds and done are introduced.One of the arguments of both predicates is a time point, which shows when a state of affairs holds or when an action has been performed, respectively.For instance the fact that: 280296 Apple authorizes Peter to request once, to deliver an LC475 for price 10' latest at 300496.The authorization is valid until 300396.
shall be written: The fact that: 010396 Peter is authorized to request from Apple to deliver an LC475 for price 10' before 300496, if the request is made before 300396, will be written: Finally, the predicate symbol fulfilled is introduced to handle terms like: , which can occur as the contents of speech acts.These terms can not be arguments of done and holds, since they are a combination of states of affairs and actions.Since the arguments of the connectors can be both states of affairs and actions the predicate fulfilled is used as a generalisation of the predicates done and holds.fulfilled is used to check whether obligations have been violated or not.For example to express that the paper is ready at 200296 or John has called Peter between 100296 and 200296 we will have:

Semantics
The well formed formulas of FAL are clauses in Clausal Normal Form, as stated in the previous section.This means that FAL inherits its semantics from logic programming.In order to give the meaning of constructs in the language, we will specify a number of axioms in the form of rules, and we first consider axioms for handling obligations.Roughly speaking, these express that someone is obliged to something if he/she has been ordered to do it or has promised to do it, and has not as yet fulfilled it.As we allow actions as well as states of affairs, and combinations of these as the contents of speech acts, we need language constructs to handle these in a uniform way.For this purpose the predicate fulfilled is introduced.The meaning of it is defined by the following rules: The general axiom GA1 states that if a state of affairs ) ) ), ) Axiom GA7 states that if a power directive to an agent to perform an action is made, then the agent is obliged to perform the action.Axiom GA7 states as well that if a power directive to an agent that a state of affairs shall hold is made, then an obligation for the agent that the state of affairs shall hold exists.Now the advantage of the predicate ful- filled becomes clear, since with the use of it an axiom captures two different kinds of obligations: obligations for performing actions and obligations that a state of affairs should hold.These obligations are however similar in the way they are created.This observation is also valid for the rest of the axioms.GA8 states that if an agent AgB has authority and requests that an agent AgA shall fulfil AS, then AgA is obliged to fulfil AS.The meaning of GA9 is that if an agent commits himself to something then he is obliged to fulfil his commitment.The obligation is valid until the commitment is fulfilled.An obligation is also created (GA10) when a conditional commissive exists and the condition, but not the commitment of this is fulfilled.
We now define with GA11 and GA12 when an authorisation holds.
So, a many time authorisation is valid after it has been given until it expires, unless it has been withdrawn (GA11).A one time authorization is valid until it has been performed, if it has not been withdrawn before (GA12).Finally, we define when violations of obligations occur.GA13.
This expresses that a violation of an obligation exists if its deadline has expired.

An Example
In this section, we give an example illustrating how a Domain module and an Extension module can be constructed in FAL.The example is taken from [6] and models the communication process starting with a customer requesting a quotation from a company.The communication process is illustrated in the following figure.

Figure1: Ordering process
After a request for a quotation, a company may fix and give a quotation to the customer.A quotation is a kind of a contract and is binding.This means that if the customer makes an order according to the quotation, the company has to fulfil it by delivering the requested items.After delivery, the customer has to pay the price quoted for the article.deontic and illocutionary constructs is adequate for describing such domain abstractions.Our hypothesis is that there is some basic communicative structure, cf. for example Flores' circle, [7], which can be elaborated in various ways to more complex structures, thereby giving rise to a set of interrelated domain abstractions.
AgA asks AgB to fulfil AS latest at T; • -AgA requests that AgB shall fulfil AS latest at T; • -AgA orders AgB to fulfil AS latest at T; • -AgA commits himself to AgB to fulfil AS latest at T; AgA authorizes AgB to request that AgA shall fulfil AS once before T; • -AgA authorizes AgB to request that AgA shall fulfil AS an indefinite number of times before T; • -AgA withdraws the authorization from AgB to request that AgA shall fulfil AS; • - Note that the meanings of the connectors are given only here, and that they do not have any meaning in any other context.The connectors are used solely for constructing more complex contents of speech acts.The predicate fulfilled makes it possible to concisely define some general axioms describing how obligations, authorisations, permissions and prohibitions are created.Axioms GA7-GA10 show different ways of creating obligations by speech acts.