A framework to model norm dynamics in Answer Set Programming Sofia Panagiotidi and Juan Carlos Nieves and Javier Vázquez-Salceda Knowledge Engineering and Machine Learning Group Universitat Politecnica de Catalunya, Spain {panagiotidi,jcnieves,jvazquez}@lsi.upc.edu Abstract—This paper presents ongoing work in the formal policies. Still, the work lacks support for time. Insight into definition and implementation of a normative framework in intelligent decision and possible prediction of desired or non- Answer Set Programming. The framework uses as basis an desired behaviours in advance seems to be absent too. existing action language and enriches it with a formal definition of norms (implementing standard deontic operators such as We are aware of the work in [8] in which the authors present obligations and permissions). Properties of a norm’s lifecycle a language for implementing multi-agent systems consisting of such as active, inactive, violated are specified. We argue that such individual agents that interact with a computational organiza- properties can serve as a reasoning basis for the agent’s cycle. tion specified in terms of roles, norms and sanctions. Still, A partial implementation of the framework is then presented. this piece of work adopts an organisation-centered view more An example is used in order to illustrate the application of the principles presented. on the flexible role enactment within a BDI cycle while ours assumes a static role enactment and focuses on a decision I. I NTRODUCTION making mechanism inferring possible future action taking and The field of normative systems is an active area where violated states. researchers try to find formalisations and mechanisms to model In the last two decades, one of the most successful logic and reason about normative statements. There is a lot of programming approach has been Answer Set Programming formal work on the formalisation of norms, typically based (ASP) [9]. ASP is the realization of much theoretical work in variants of monadic or dyadic Deontic Logic. In this way, on Non-monotonic Reasoning and Artificial Intelligence appli- normative systems predefine the desired behaviour in terms cations. It represents a new paradigm for logic programming of deontic concepts (obligations, prohibitions, permissions), that allows, using the concept of negation as failure, to handle which typically are extended with other concepts such as problems with default knowledge and produce non-monotonic deadlines, violations and sanctions. But there is few work on reasoning. Since its inception, ASP has been regarded as the how to bring these theories into practice. computational embodiment of Nonmonotonic Reasoning and One of the main barriers for the use of deontic-like for- a primary candidate for an effective knowledge representation malisations is the lack of operational semantics [1]. Without tool. This view has been boosted by the emergence of highly clear operational semantics an agent cannot clearly reason efficient solvers for ASP [10], [11], [12]. The efficiency of the about the influence of these norms in its practical reasoning answer set solvers has allowed to increase the list of ASP’s mechanism. Some attempts have been made to reduce deontic practical applications, e.g., planning [13], Bioinformatics [14], formalisations of norms into operational formalisations based [15], argumentation theory [16], etc. Answer Set Programming on, e.g. dynamic Logic [2] or Linear Temporal Logic [3], but does not represent a conventional logic programming approach often such formalisations cannot really be used at execution as PROLOG. Usually an answer set program P can be time. regarded as a specification of a given problem where each Other attempts focus on extending existing operational answer set (a model) of P represents a possible solutions of formalisms with some normative concepts. These attempts the given problem. mainly concern the design of action languages based on the In this paper (Figure 1) we propose, based on a previous effects of axioms and drawing inferences from the axioms and normative formalisation [17], a methodology to represent concentrate on ways of reasoning about actions. [4] presents an such normative frameworks in Answer Set Programming. action description language capable of expressing causal laws This representation can be used as a basis for decision which describe effects of actions as well as statements about making procedures as well as planning methodologies. values of fluents in possible states of the world. Work of the We use as example the obligations between two actors (a same authors covers some aspects of reasoning over dynamic Insurance Company and a Repair Company) defined in a domains [5] and representation and reasoning over properties electronic contract. This contract is composed by deontic of actions [6]. In [7] the authors intent to provide a logic based clauses which will become norms of the expected behaviour language in order to represent authorizations and obligation of the contractual parties. Therefore each instantiated contract policies within dynamic environments as well as methods for becomes a normative context at execution time. checking compliance of performed actions with the defined IV we detail the action and normative language used and define formal properties of the framework with respect to the aforementioned. A partial implementation of the action and normative language in Answer Set Programming is provided in sections V and VI and parts of the motivating example presented in the beginning are cited in section VIII. We conclude in section IX and summarise future work. II. BACKGROUND In this section, we present some basic definitions w.r.t. normal programs and the stable model semantics. A. Syntax A signature L is a finite set of elements that we call atoms. A literal is either an atom a, called positive literal; or the negation of an atom not a, called negative literal. Given a set Fig. 1. Architecture of the normative framework implementation of atoms {a1 , ..., an }, we write not {a1 , ..., an } to denote the set of atoms {not a1 , ..., not an }. A normal clause, C, is a The work is at a preliminary state. Still, integrated within an clause of the form agent’s operating cycle, such a framework can operate as the a ← b1 , . . . , bn , not bn+1 , . . . , not bn+m brain of the agent [18], providing the necessary information over the current state of the world such as pending norms where a and each of the bi are atoms for 1 ≤ i ≤ n + m. and currently violated obligations. Additional layers of plan- In a slight abuse of notation we will denote such a clause by ning rules and preferred choices might lead to the desired the formula a ← B + ∪ not B − where the set {b1 , . . . , bn } intelligence and flexibility an agent needs to perform in a will be denoted by B + , and the set {bn+1 , . . . , bn+m } will be normative environment. We define several layers of abstraction denoted by B − . We define a normal program P , as a finite (Figure 1). An agent (possibly interacting with an ontology) set of normal clauses. can interpret the environment it operates in through an action If the body of a normal clause is empty, then the clause is language. The deontic restrictions (which in this paper come known as a fact and can be denoted just by a ← . or simply from a contract, but in other scenario could come from a a. We write LP , to denote the set of atoms that appear in Institutional specification) provide guidelines over the agent’s the clauses of P . We denote by HEAD(P ) the set {a|a ← behaviour and are formalised through a deontic framework. B + , not B − ∈ P }. Generic rules over the interpretation of norms, the B. Stable model semantics. interpretation of the action language and planning rules The stable model semantics was defined in terms of the defined with respect to the action language might be added on so called Gelfond-Lifschitz reduction [19] and it is usually top of the previous in order to be able to extract information studied in the context of syntax dependent transformations over the agent’s state, know the possible actions to take, on programs. The following definition of a stable model for predict possible violations and foresee future paths. Our normal programs was presented in [19]: interest and focus can be summarised in the following four: Let P be any normal program. For any set S ⊆ LP , let P S be the definite program obtained from P by deleting • An action language representation (i) each rule that has a formula not l in its body with • Contract (viewed as a set of norms) representation l ∈ S, and then • Generic rules over the norm lifecycle (ii) all formulæ of the form not l in the bodies of the • Generic planning and choice rules remaining rules. Clearly P S does not contain not. Hence S is a stable model Currently, the three first of the above are implemented while of P if and only if S is a minimal model of P S . the fourth and equally interesting issue is under research. In In order to illustrate this definition let us consider the this paper we are aiming to provide the functionality of the following example: aforementioned as well as some preliminary planning rules. Let S = {b} and P be the following logic program: We argue that the implemented layers leave further space b ← not a. b ← >. for future research over the agent’s planning capabilities and c ← not b. c ← a. behavioural choices. We can see that P S is: The rest of the paper is structured as follows. Section II b ← >. c ← a. defines the stable model semantics which is the basis for Notice that P S has three models: {b}, {b, c} and {a, b, c}. Answer Set Programming. In section III we present a simple Since the minimal model amongst these models is {b}, we motivating example which supports our work while in section can say that S is a stable model of P . III. E XAMPLE called postcondition of the action a) and p1 , ..., pn , q1 , ..., qr The focus of interest of this example is to show how a are fluents (also called preconditions of the action a) in F . contract and a set of instantiated norms over the repair of We assume a set of initial observations O that consists of a car operate within the domain and normative environment value propositions of the following form: implemented in ASP. Such a case is useful to demonstrate how reasoning and planning over the norms defined in a contract f after a1 , ..., am (4.2) can be done throughout its execution. Our scenario is as follows: Two actors, a Repair Company where f is a fluent literal and a1 , ..., am are actions. and a Client create a contract (RepairContract) over the Intuitively that means that f will hold after the execution of repair of a broken car. Initially, the Client takes the car to the a1 , ..., am . Repair Company. Once the car is there, the Repair Company When a1 , ..., am is an empty sequence then we write: has to repair it. Whenever it is repaired, the Client has to pay a previously agreed price. Once the car is repaired, the client initially f (4.3) has the right to make a complaint. Figure 2 depicts a pseudo-diagram including the interesting We also condense a set of value propositions of the states that the process will go into. form {initially f1 , ..., initially fn } by initially f1 , ..., fn (4.4) The role of effect propositions is to define a transition function from states and actions to states. Given a domain description D, such a transition function Φ should satisfy the following properties. For all actions α, fluents g, and states σ: • if D includes an effect proposition of the form (4.1) where f is the fluent g and p1 , ..., pn , ¬q1 , ..., ¬qr hold Fig. 2. Pseudo states diagram in σ then g ∈ Φ(α, σ); • if D includes an effect proposition of the form The focus of interest of this example is to show how the (4.1) where f is a negative fluent literal ¬g and norms of an electronic contract (explicitly expressed as clauses p1 , ..., pn , ¬q1 , ..., ¬qr hold in σ then g 6∈ Φ(α, σ); in the contract) can be mapped into ASP rules and, in a • if D does not include such effect propositions then combination with an appropriate action language, to reason g ∈ Φ(α, σ) iff g ∈ σ; over, plan future actions and detect violations within the agent’s scope. If such a transition function exists, then we say that D is consistent, and refer to its transition function by ΦD . Given IV. L ANGUAGE USED a consistent domain description D the set of observations O A. Actions is used to determine the states corresponding to the initial The action description in our approach is done as in most situation, referred to as the initial states and denoted by σ0 . action description languages. In this work we use the formal- While D determines a unique transition function, an O may isation of [6] but adapt several rules to fit our requirements. not always lead to a unique initial state. Thus the alphabet of the action language A consists of two nonempty disjoint sets of symbols F and A. They are We say σ0 is an initial state corresponding to a consistent called the set of fluents and the set of actions. Fluents express domain description D and a set of observations O, if for all the property of an object in a state of the world. A fluent observations of the form (4.2) in O, the fluent literal f holds or fluent literal (e.g. car_at_shop) is a positive literal or a in the state Φ(αm , Φ(αm−1 , ...Φ(α1 , σ0 )...)) (We will denote strongly negated literal (a fluent preceded by ¬). A state σ this state by [αm , ..., α1 ]σ0 ). We then say that (σ0 , ΦD ) is a collection of fluents. We say a fluent f holds in a state σ satisfies O. if f ∈ σ. We say a fluent literal ¬f holds in σ if f 6∈ σ. An action domain description D within the action language Given a consistent domain description D and a set of A consists of effect propositions of the following form: observations O, we refer to the pair (ΦD , σ0 ) where ΦD is the transition function of D and σ0 is an initial state a causes f if p1 , ..., pn , ¬q1 , ..., ¬qr (4.1) corresponding to (D, O) as a model of (D, O). We say (D, O) is consistent if it has a model and say it is complete if it where a is an action in A, f is a fluent literal in F (also has a unique model. if it gets violated. Such properties of norms with respect to a We say a consistent domain description D in the presence of normative environment are implemented in section VI. a set of observations O entails a query Q of the form (4.2) if for all initial states σ corresponding to (D, O), the fluent We assume a set of norms DS. A norm N in DS is literal f holds in the state [αm , ..., α1 ]σ0 ]. We denote this as represented as a tuple of the form [17]: D |=O Q. (4.5) let’s assume that the set of actions A = {repair(Actor), pay(Actor), complain(Actor)}, the such that: set of fluents • N ormT ype ∈ {obligation, permission} • DeonticStatement is an action a in the set of actions F = {car_at_shop, repaired(Actor), Anorm subset of A paid(Actor), complained(Actor)} • an ActivatingCondition is of the type: k1 , ..., kn , ¬l1 , ..., ¬ln , where k1 , ..., kn , l1 , ..., ln are and that the domain description consists of the following: fluents in F • a DisactCondition is of the type: repair(Actor) causes repaired(Actor) if car_at_shop u1 , ..., un , ¬v1 , ..., ¬vn , where u1 , ..., un , v1 , ..., vn are fluents in F pay(Actor) causes paid(Actor) • a M aintenanceCondition is of the type: w1 , ..., wn , ¬z1 , ..., ¬zn , where w1 , ..., wn , z1 , ..., zn complain(Actor) causes complained(Actor) are fluents in F • a Actor is the actor responsible for the deontic statement Also suppose we have a set of observations O = {initially car_at_shop, ¬repaired(rc), The definition and semantics of permissions are not trivial. ¬ paid(cl), ¬ complained(cl)}. 2 For example, it is dubious whether their existence can be assumed within the context of an environment without A set of observations O is said to be initial state complete, obligations. In [21] the authors discuss the different types of if O only consists of propositions of the form (4.3) and for permissions and their role in deontic logic. We assume that all fluents, either initially f is in O, or initially ¬ f is in O, permissions are an explicit indication on what an actor can but not both. perform. As in standard deontic logic we assume further that whenever there is an obligation it is always implied that the same is a permission too (Oa → Pa , axiom D of deontic B. Deontic statements logic). Norms (clauses) express agreements between parties in the form of deontic statements. In order to express the clauses we Example 2: Figure 3 depicts the formal representation have adopted a variation [20] [17] of the norm representation of the deontic statements within the contract of the example defined in [3]. presented in the third section. 2 Since norms may have normative force only in certain Below we give some definitions with respect to the action situations, they are associated with an activation condition. language and the deontic statements. Let a norm N be in the Norms are thus typically abstract, and are instantiated when form of (4.5) and σ be a state. the norm’s activation condition holds. Once a norm has been instantiated, it remains active, irrespective of its activation • N is activated in σ iff k1 , ..., kn , ¬l1 , ..., ¬ln hold in condition, until a specific expiration condition holds. When σ. We denote this as D |=DS, O,σ activated(N ). In the expiration condition occurs, the norm is assumed no the contrary case, N is not activated. We denote this as longer to have normative force. Independent of these two D |=DS, O,σ ¬activated(N ). conditions is the norm’s normative goal, which is used • N is disactivated in σ iff u1 , ..., un , ¬v1 , ..., ¬vn hold in to identify when the norm is violated (in the case of an σ. We denote this as D |=DS, O,σ disactivated(N ). In obligation), or what the agent is actually allowed to do the contrary case, N is not disactivated. We denote this (in the case of a permission). Obligations and permissions as D |=DS, O,σ ¬disactivated(N ). are the two norm types on which our framework focuses. • N is violated in σ iff at least one of For every norm there is a maintenance condition which, if w1 , ..., wn , ¬z1 , ..., ¬zn does not hold in σ. We does not hold while the norm is active then a violation is denote this as D |=DS, O,σ violated(N ). In the considered to be taking place. Finally, for every norm there contrary case, N is not violated. We denote this as exists another one (violation norm) indicating what happens D |=DS, O,σ ¬violated(N ). and the set of norms DS in example 2. O is an initial state complete. Then the initial state corresponding to (D, O) will be σ0 = {initially car_at_shop, ¬repaired(rc), ¬ paid(cl), ¬ complained(cl)}. Then: D |=DS, O activated(NRC2 ) since activated(NRC2 ) holds in the state [repair(rc)]σ0 . D |=DS, O activated(NRC3 ) since activated(NRC3 ) holds in the state [repair(rc)]σ0 . where NRC2 is the norm RC2 and NRC3 is the norm RC3. 2 Proposition 1: Let D be a consistent domain description, O be an initial state complete set of observations and DS a set of deontic statements. If (D, O) is consistent then ∀N ∈ DS and for any state σ reached by ΦD : • D |=DS,O,σ activated(N ) or D |=DS,O,σ ¬activated(N ) • D |=DS,O,σ disactivated(N ) or D |=DS,O,σ ¬disactivated(N ) • D |=DS,O,σ violated(N ) or D |=DS,O,σ ¬violated(N ) C. Temporal Projection Planning: In the case of planning we are given a domain description D, a set of observations about the initial state O, a collection of deontic statements DS and a collection of fluent literals G = {g1 , ..., gh } which we will refer to as goal. We are required to find a sequence of actions aa , ..., an Fig. 3. Formal representation of norms in the Repair Contract such that for all 1 ≤ i ≤ h, D |=O gi after a1 , ..., an and for all states σ passed throughout the execution of the actions, Queries with respect to norms consist of value propositions 6 ∃σ such that D |=DS,O,σ violated(N ). of the form: activated(N ) after a1 , ..., am V. R EPRESENTATION OF ACTIONS disactivated(N ) after a1 , ..., am (4.6) Given an action domain description D, a set of observations violated(N ) after a1 , ..., am O and a set of deontic statements DS we construct a program that partially implements the above. The basic elements and where N is a deontic statement of the form (4.5), and definitions of types are (πbasic ). The program putting into a1 , ..., am are actions in A. effect (D, O) consists of three parts namely πef , πobs , πin We say a consistent domain description D in the which represent the effect propositions, observations and presence of a set of observations O and a set of norms inertia rules. In addition, πnorm and (πlc ) partly implement DS entails a query Q of the form (4.6) if for all the norms specification and norm lifeycle. We denote the initial states σ0 corresponding to (D,O) the proposition union of πbasic ∪ πef ∪ πobs ∪ πin ∪ πnorm ∪ πlc as π. activated(N ), disactivated(N ), violated(N ) holds respectively in the state [αm , ..., α1 ]σ0 . We denote this In addition to the approach of [6], we assume that actions are as D |=DS, O Q. durative. That is, they have a starting and ending time and a duration which is the interval between the two. For this, Example 3: Let’s assume the set of actions A, the set we use predicates like started and teminated to indicate of fluents F and the set of observations O in example 1 the time that an action starts being executed and the time it terminates. (3) Inertia rules (πin ). Besides the above, we have the following inertia rules. The first one makes sure that if no action is executed during a timestep then a fluent will keep A. Basic elements holding a true value at the next timestep if it already holds We introduce here some predicates (πbasic ) which avoid true at the current timestep. The second one makes sure that the program to have weakly restricted rules. if a fluent holds a true value and the action that is performed at some timestep does not make it false, then in the next (1) The predicate f luent. For every fluent f ∈ F we timestep it will also hold true. The third one says that if no add the following rule to the program. action is executed during a timestep then a fluent will keep holding a flse value at the next timestep if it already holds f luent(f ) ← . false at the current timestep. The fourth one makes sure that if a fluent holds a false value and the action that is performed (2) The predicate action. For every action a ∈ A we at some timestep does not make it true, then in the next add a rule: timestep it will also hold false. action(a) ← . holds(F, T + 1) ← holds(F, T ), not terminated(A, T ). (3) The predicate time. The predicate is used to represent number of distinct times which in their turn represent the holds(F, T + 1) ← holds(F, T ), terminated(A, T ), time flow. Initially time(T ) where T is a constant. not ab(F, A, T ). B. Action rules ¬ holds(F, T + 1) ← not holds(F, T ), (1) Translating effect propositions (πef ). The effect not terminated(A, T ). propositions in D are translated as follows. For every effect proposition of the form (4.1) if f is a fluent in F then the ¬ holds(F, T + 1) ← not holds(F, T ), terminated(A, T ), following rules are created: not ab(F, A, T ). holds(f, T + 1) ← terminated(a, T ), time(T ). The following proposition demonstrates how the holds ab(f, a, T ) ← terminated(a, T ), time(T ). predicate of π will hold a true value at some time step if f holds true at some state σ reached by the function ΦD . else if f is the negative fluent literal ¬g then the following rules are created: Proposition 2: Let D be a consistent domain description and O be an initial complete set of observations such that ¬ holds(g, T + 1) ← terminated(a, T ), time(T ). (D, O) is consistent. Let (σ0 , ΦD ) be the unique model of (D, O) and M a stable model of π. If f is a fluent in F then ab(g, a, T ) ← terminated(a, T ), time(T ). f ∈ ΦD (αn , ..., ΦD (α1 , σ0 )) iff holds(f, T ) ∈ M for Intuitively, predicate holds indicates whether a fluent’s some T ∈ N. value is true or false throughout time. The ab predicate represents changes of a fluent’s value at some specific (4) Executability rules. It is assumed that every action timestep. might be executed whenever the conditions are fulfiled. We use the predicate executable to model the state where the (2) Translating observations (πobs ). We intentionally omit preconditions of action are fulfiled and the action might be observations of the type (4.2) and assume that all observations executed. are of the type (4.3). The value propositions in O then are translated as follows. For every value proposition of the form Thus, for every effect proposition of the form (4.1) the (4.3) if f is a positive fluent literal then the following rule is following is created: made: holds(f, 1) ← . executable(a, T ) ← holds(p1 , T ), ..., holds(pn , T ), else if f is the negative fluent literal ¬g then the following not holds(q1 , T ), ..., not holds(qn , T ), rule is created: time(T ). ¬ holds(g, 1) ← . VI. R EPRESENTATION OF D EONTIC S TATEMENTS where t is a constant. We assume that for every norm N of the form (4.5) a unique id id is assigned to it. In order to represent a norm, a The generic rule rule of the respective type below is made (πnorm ). started(Action, T ) ← obligation_activated(Id, Action, T ), executable(Action, T ), time(T ), activating_condition(id, a, T ) ← holds(k1 , T ), ..., action(Action), obligation_id(Id). holds(kn , T ), not holds(l1 , T ), ..., not holds(ln , T ), ensures that an action starts whenever it is executable and an time(T ). obligation to execute it becomes active. disact_condition(id, a, T ) ← holds(u1 , T ), ..., holds(un , T ), not holds(v1 , T ), ..., terminated(Action, T 2) ← started(Action, T 1), not holds(vn , T ), estimated_time(Action, EstimatedT ime), time(T ). T 2 = T 1 + EstimatedT ime, time(T 2), time(T 1). maintain_cond(id, a, T ) ← holds(w1 , T ), ..., holds(wn , T ), The generic rule not holds(z1 , T ), ..., not holds(zn , T ), violation(Id, Action, T ) ← active(Id, Action, T ), action(Action), time(T ). not maintain_cond(Id, Action, T ), action(Action), time(T ), obligation_id(Id). Keeping in mind the normative semantics described in IV-B we define the rules that implement a norm’s lifecycle (πlc ). detects a violation whenever a clause is active and the maintenance condition is not true. obligation_activated(Id, Action, T ) ← activating_condition(Id, Action, T ), The following propositions ensure the correctness of not active(Id, Action, T − 1), the program π implementing the norm’s lifecycle properties. action(Action), time(T ), obligation_id(Id). Proposition 3: Let D be a consistent domain description, obligation_disactivated(Id, Action, T ) ← O be an initial state complete set of observations such that disact_condition(Id, Action, T ), (D, O) is consistent, DS a set of norms and M a stable active(Id, Action, T − 1), model of π. If there is a state σ reached by ΦD such that action(Action), time(T ), D |=DS,O,σ activated(N ) then there is a T ∈ N such that obligation_id(Id). activating_condition(id, a, T ) ∈ M where id is the unique identifier of the norm N and a is the DeonticStatement of The two rules below define when an obligation is active. the norm N . active(Id, Action, T ) ← Proposition 4: Let D be a consistent domain description, obligation_activated(Id, Action, T ), O be an initial state complete set of observations such that action(Action), time(T ), (D, O) is consistent, DS a set of norms and M a stable obligation_id(Id). model of π. If there is a state σ reached by ΦD such that D |=DS,O,σ disactivated(N ) then there is a T ∈ N such active(Id, Action, T ) ← active(Id, Action, T − 1), that disact_condition(id, a, T ) ∈ M where id is the unique not obligation_disactivated(Action, T ), identifier of the norm N and a is the DeonticStatement of action(Action), time(T ), obligation_id(Id). the norm N . VII. R EPRESENTATION OF P LANNING Proposition 5: Let D be a consistent domain description, We assume that for every action we have an estimated O be an initial state complete set of observations such that duration on its execution time: (D, O) is consistent, DS a set of norms and M a stable model of π. If there is a state σ reached by ΦD such that estimated_time(a, t) ← . D |=DS,O,σ violated(N ) then there is a T ∈ N such that maintain_cond(id, a, T ) and active(id, a, T ) ∈ M where id is the unique identifier of the norm N and a is the and taken into consideration while advancing with the use DeonticStatement of the norm N . of the framework in order to reach conclusions on the future states. A formal notion of goal needs to be introduced in Example 4: Let D, O, DS be the domain description, order to reach a desired state. Another interesting aspect to observations and deontic statements of the examples be examined is the use of weighted rules when reasoning 1 and 2, π the program modeling D, O and with respect to norms against the possible effects of one or DS and M one of its stable models. As seen in more violations. This will ensure that each agent can make the example 3, in the state σ = [repair(rc)]σ0 decisions on execution time based not only on a set of norms activated(NRC2 ) will hold. Thus, there for some T ∈ N indicating a desired behaviour but also on criteria such as activating_condition(idRC2 , repair(rc), T ) ∈ M where desires, preferences and time constraints. idRC2 is the unique identifier of the norm RC2. X. ACKNOWLEDGEMENTS VIII. E XAMPLE This research has been funded by the FP7-215890 ALIVE In our example, the initial observation can be: project, funded by the European Commission. Javier Vázquez- Salceda’s work has been also partially funded by the "Ramón holds(at_shop, 0). y Cajal" program of the Spanish Ministry of Education and Science. time(0..30). R EFERENCES The model will include the following: [1] J. Vázquez-Salceda and F. Dignum, “Modelling electronic organizations,” Multi-Agent Systems and Applications III: 3rd. obligation_activated(rc1, repair(rc), 0) International/Central and Eastern European Conference on obligation_disactivated(rc1, repair(rc), 10) Multi-Agent Systems -CEEMAS’03, Lecture Notes in Artificial Intelligence 2691, pp. 584–593, 2003. [Online]. Available: http://people.cs.uu.nl/dignum/papers/harmonia-CEEMAS03.pdf obligation_activated(rc2, pay(cl), 10) [2] J.-J. C. Meyer and R. J. Wieringa, “Deontic logic: a concise overview,” obligation_disactivated(rc2, pay(cl), 11) pp. 3–16, 1993. [3] H. Aldewereld, Autonomy vs. Conformity: an Institutional Perspective on Norms and Protocols. PhD thesis, Utrecht University, 2007. action_started(repair(rc), 0) [4] C. Baral, M. Gelfond, and A. Provetti, “Representing actions: Laws, action_f inished(repair(rc), 10) observations and hypotheses,” The Journal of Logic Programming, vol. 31, no. 1-3, pp. 201–243, 1997. [5] C. Baral and M. Gelfond, “Reasoning agents in dynamic domains,” 2000, action_started(pay(cl), 10) pp. 257–279. action_f inished(pay(cl), 11) [6] M. Gelfond and V. Lifschitz, “Representing action and change by logic programs,” Journal of logic programming, 1993. [7] M. Gelfond and J. Lobo, “Authorization and obligation policies in For further information and the ASP code, the reader dynamic systems,” Proceedings of the 24th International Conference is referred to the web page where the code is hosted: on Logic Programming, pp. 22–36, 2008. http://www.lsi.upc.edu/ panagiotidi/aspcode [8] N. Tinnemeier, M. Dastani, and J.-J. Meyer, “Roles and norms for programming agent organizations,” in AAMAS ’09: Proceedings of The IX. C ONCLUSIONS , D ISCUSSION AND F UTURE W ORK 8th International Conference on Autonomous Agents and Multiagent Systems. Richland, SC: International Foundation for Autonomous Assuming the environment that an agent operates can be Agents and Multiagent Systems, 2009, pp. 121–128. [9] C. Baral, Knowledge Representation, Reasoning and Declarative Prob- modelled by an action languange, norms impose restrictions lem Solving. Cambridge: Cambridge University Press, 2003. on the behaviour of the agent. This paper presents ongoing [10] S. DLV, “Vienna University of Technology,” work on the formal specification and development of a http://www.dbai.tuwien.ac.at/proj/dlv/, 1996. framework that enables to model an action language with [11] S. SMODELS, “Helsinki University of Technology,” http://www.tcs.hut.fi/Software/smodels/, 1995. respect to a normative environment. Semantics of the action [12] Potassco, “University of Potsdam,” http://potassco.sourceforge.net/, language are based on [6] and the language is partially 2007. implemented and further enriched with temporal projection. [13] T. Eiter, W. Faber, N. Leone, G. Pfeifer, and A. Polleres, “A logic programming approach to knowledge-state planning, ii: The DLVk The deontic statements such as obligations and permissions as system.” Artif. Intell., vol. 144, no. 1-2, pp. 157–211, 2003. well as properties related to the norm’s lifecycle (activation, [14] S. Dworschak, S. Grell, V. Nikiforova, T. Schaub, and J. Selbig, disactivation, violation) are formalised and implemented “Modeling Biological Networks by Action Languages via Answer Set according to [20]. An attempt to define and apply planning Programming,” Constraints, vol. 13, no. 1, pp. 21–65, 2008. [15] C. Baral, K. Chancellor, N. Tran, N. Tran, A. M. Joy, and M. E. Berens, techniques within the formal model and the implementation “A knowledge based approach for representing and reasoning about is made. signaling networks,” in ISMB/ECCB (Supplement of Bioinformatics), 2004, pp. 15–22. [16] J. C. Nieves, M. Osorio, and U. Cortés, “Preferred Extensions as Stable This piece of work can be extended in various directions. Models,” Theory and Practice of Logic Programming, vol. 8, no. 4, pp. Formal aspects of planning need to be carefully considered 527–543, July 2008. [17] N. Oren, S. Panagiotidi, J. Vázquez-Salceda, S. Modgil, M. Luck, and S. Miles, “Towards a formalisation of electronic contracting en- vironments,” Coordination, Organization, Institutions and Norms in Agent Systems, the International Workshop at AAAI 2008, pages 61-68, Chicago, Illinois, USA, 2008. [18] R. Confalonieri, S. Alvarez-Napagao, S. Panagiotidi, J. Vázquez- Salceda, and S. Willmott, “A middleware architecture for building contract-aware agent-based services,” LECTURE NOTES IN COMPUTER SCIENCE, Jan 2008. [Online]. Available: http://www.springerlink.com/index/m84n55h118j86178.pdf [19] M. Gelfond and V. Lifschitz, “The stable model semantics for logic programming.” R. Kowalski and K. Bowen, editors, 5th Conference on Logic Programming, pages 1070âĂŞ1080. MIT Press, 1988. [20] S. Panagiotidi, J. Vázquez-Salceda, S. ÃAlvarez ˛ Napagao, S. Ortega- Martorell, S. Willmott, R. Confalonieri, and P. Storms, “Intelligent con- tracting agents language,” Proceedings of the Symposium on Behaviour Regulation in Multi-Agent Systems -BRMAS’08-, Aberdeen, UK, April 2008, 1988. [21] G. Boella and L. van der Torre, “Permissions and obligations in hierarchical normative systems,” Proceedings of the 9th international conference on Artificial intelligence and law, pp. 109–118, 2003.