<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Norm Refinement and Design through Inductive Learning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Domenico Corapi</string-name>
          <email>d.corapi@imperial.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marina De Vos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Julian Padget</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandra Russo</string-name>
          <email>a.russo@imperial.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ken Satoh</string-name>
          <email>ksatoh@nii.ac.jp</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Bath</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computing, Imperial College London</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>National Institute of Informatics</institution>
        </aff>
      </contrib-group>
      <fpage>33</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>In the physical world, the rules governing behaviour are debugged by observing an outcome that was not intended and the addition of new constraints intended to prevent the attainment of that outcome. We propose a similar approach to support the incremental development of normative frameworks (also called institutions) and demonstrate how this works through the validation and synthesis of normative rules using model generation and inductive learning. This is achieved by the designer providing a set of use cases, comprising collections of event traces that describe how the system is used along with the desired outcome with respect to the normative framework. The model generator encodes the description of the current behaviour of the system. The current specification and the traces for which current behaviour and expected behaviour do not match are given to the learning framework to propose new rules that revise the existing norm set in order to inhibit the unwanted behaviour. The elaboration of a normative system can then be viewed as a semi-automatic, iterative process for the detection of incompleteness or incorrectness of the existing normative rules, with respect to desired properties, and the construction of potential additional rules for the normative system.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Norms and regulations play an important role in the governance of human society.
Social rules such as laws, conventions and contracts prescribe and regulate our behaviour,
however it is possible for us to break these rules at our discretion and face the
consequences. By providing the means to describe and reason about norms in a computational
context, normative frameworks (also called institutions or virtual organisations) may be
applied to software systems allowing for automated reasoning about the consequences
of socially acceptable and unacceptable behaviour, by monitoring the permissions,
empowerment and obligations of the participants and generating violations when norms
are not followed.</p>
      <p>This work is partially supported through the EU Framework 7 project ALIVE
(FP7-IST215890), and the EPSRC PRiMMA project (EP/F023294/1).</p>
      <p>
        The formal model put forward in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and its corresponding operationalisation through
Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref18 ref3">3, 18</xref>
        ] aims to support the top-down design of
normative frameworks. AnsP rolog is a knowledge representation language that allows the
programmer to describe a problem and required properties on the solutions in an
intuitive way. Programs consist of rules interpreted under the answer set semantics. Answer
set solvers, like CLASP[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or SMODELS[
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], can be used to reason about the given
AnsP rolog specification, by returning acceptable solutions in the form of traces, as
answer sets. In a similar way, the correctness of the specification with respect to given
properties can be verified.
      </p>
      <p>
        Currently, the elaboration of behavioural rules and norms is an error-prone process
that relies on the manual efforts of the designer and would, therefore, benefit from
automated support. In this paper, we present an inductive logic programming (ILP) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]
approach for the extraction of norms and behaviour rules from a set of use cases. The
approach is intended as a design support tool for normative frameworks. Complex
systems are hard to model and even if testing of properties is possible, sometimes it is hard
to identify missing or incorrect rules. In some cases, e.g. legal reasoning, the abstract
specification of the system can be in part given in terms of specific instances and use
cases that ultimately drive the design process and are used to assess it. We propose
a design support tool that employs use-cases, i.e. traces together with their expected
normative behaviour, to assist in the revision of a normative framework. The system
is correct when none of the traces are considered disfunctional, i.e. they match the
expected normative behaviour. When a disfunctional trace is encountered the normative
specification needs to be adjusted: the task is to refine the given description by learning
missing norms and/or behavioural rules that, added to the description, entail the
expected behaviour over the traces. We show how this task can be naturally represented
as a non-monotonic ILP problem in which the partial description of the normative
system provides the background knowledge and the expected behaviour comprises the
examples. In particular, we show how a given AnsP rolog program and traces can be
reformulated into an ILP representation that makes essential use of negation in
inducing missing parts of the specification. As the resulting learning problem is inherently
non-monotonic, we use a non-monotonic ILP system, called TAL [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], to compute the
missing specification from the traces and the initial description.
      </p>
      <p>Given the declarative nature of ASP, the computational paradigm used for our
normative frameworks, we needed to adopt a declarative learning approach as we aim to
learn declarative specifications. This differs from other approaches, such as
reinforcement learning whereby norms or policies are learned as outcomes of estimation and
optimisation processes. Such types of policies are not directly representable in a
declarative format and are quite different in nature from the work reported here.</p>
      <p>The paper is organised as follows. Section 2 presents some background material on
the normative framework, while Section 3 introduces the non-monotonic ILP system
used in our proposed approach. Section 4 describes the AnsP rolog modelling of
normative frameworks. Section 5 illustrates how the revision task can be formulated into
an ILP problem, and how the generated ILP hypothesis can be reformulated as norms
and behaviour rules within the AnsP rolog representation. In Section 6 we illustrate
the flexibility and expressiveness of our approach through a number of different
partial specifications of a reciprocal file sharing normative framework. Section 7 relates
our approach to existing work on learning norms with respects to changing/improved
requirements. We conclude with a summary and remarks about future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Normative Frameworks</title>
      <p>
        The concept of normative framework has become firmly embedded in the agent
community as a necessary foil to the essential autonomy of agents, in just the same way as
societal conventions and legal frameworks have grown up to constrain people. In both
the physical and the virtual worlds, and the emerging combination of the two, the
arguments in favour centre on the minimisation of disruptive behaviour and supporting the
achievement of the goals for which the normative framework has been conceived and
thus also the motivation for submission to its governance by the participants. While the
concept remains attractive, its realisation in a computational setting remains a subject
for research, with a wide range of existing logics [
        <xref ref-type="bibr" rid="ref1 ref29 ref32 ref7 ref9">29, 1, 7, 9, 32</xref>
        ] and tools [
        <xref ref-type="bibr" rid="ref14 ref19 ref26">26, 14, 19</xref>
        ].
2.1
      </p>
      <p>
        Formal Model
To provide context for this paper, we give an outline of a formal event-based model
for the specification of normative frameworks that captures all the essential properties,
namely empowerment, permission, obligation and violation. Extended presentations
appear in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        The essential elements of our normative framework are: (i) events (E ), that bring
about changes in state, and (ii) fluents (F ), that characterise the state at a given instant.
The function of the framework is to define the interplay between these concepts over
time, in order to capture the evolution of a particular institution through the interaction
of its participants. We distinguish two kinds of events: normative events (Enorm), that
are the events defined by the framework and exogenous (Eex), that are outside its scope,
but whose occurrence triggers normative events in a direct reflection of the “counts-as”
principle [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. We further partition normative events into normative actions (Eact) that
denote changes in normative state and violation events (Eviol), that signal the occurrence
of violations. Violations may arise either from explicit generation, from the occurrence
of a non-permitted event, or from the failure to fulfil an obligation. We also distinguish
two kinds of fluents: normative fluents that denote normative properties of the state such
as permissions P, powers W and obligations O, and domain fluents D that correspond
to properties specific to the normative framework itself. The set of all fluents is denoted
as F . A normative state is represented by the fluents that hold true in this state. Fluents
that are not presented are considered to be false. Conditions on a state are therefore
expressed by a set of fluents that should be true or false. The set of possible conditions
is referred to as X = 2F∪¬F .
      </p>
      <p>Changes in state are achieved through the definition of two relations: (i) the
generation relation, which implements counts-as by specifying how the occurrence of one
(exogenous or normative) event generates another (normative) event, subject to the
empowerment of the actor and the conditions on the state, and (ii) the consequence relation.
This latter specifies the initiation and termination of fluents subject to the performance
of some action in a state matching some expression. The generation relation is formally
defined as G : X × E → 2Enorm , and the consequence relation as C : X × E → 2F × 2F .
The fluents to be initiated as a result of an event E are often denoted by C↑(φ, E) while
the ones to be terminated are denoted by C↓(φ, E).</p>
      <p>The semantics of our normative framework is defined over a sequence, called a
trace, of exogenous events. Starting from the initial state, each exogenous event is
responsible for a state change, through initiation and termination of fluents. This is
achieved by a three-step process: (i) the transitive closure of G with respect to a given
exogenous event determines all the generated (normative) events, (ii) to this all
violations of events not permitted and obligations not fulfilled are added, giving the set of
all events whose consequences determine the new state, (iii) the application of C to this
set of events identifies all fluents that are initiated and terminated with respect to the
current state so giving the next state. For each trace, we can therefore compute a
sequence of states that constitutes the model of the normative framework for that trace.
This process is realised as a computational model through Answer Set Programming
(see Section 4) and it is this representation that is the subject of the learning process
described in Section 5.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Learning</title>
      <p>
        Inductive Logic Programming (ILP) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is a machine learning technique concerned
with the induction of logic theories from (positive and negative) examples and has been
successfully applied to a wide range of problems [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Automatic induction of
hypotheses represented as logic programs is one of the distinctive features of ILP. Moreover,
the use of logic programming as representation language allows a principled
representation of background information relevant to the learning. To refine normative theories
we employ an ILP learning system, called TAL [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], that is able to learn non-monotonic
theories, and can be employed to perform learning of new rules and the revision of
existing rules. The TAL approach is based on mapping a given inductive problem into an
abductive reasoning process. The current implementation of TAL relies on an extension
of the abductive procedure SLDNFA [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and preserves its semantics.
Definition 1. A non-monotonic ILP task is defined as E, B, S where E is a set of
ground positive or negative literals, called examples, B is a background normal theory
and S is a set of clauses called language bias. The normal theory H ∈ ILP E, B, S ,
called hypothesis, is an inductive solution for the task E, B, S , if H ⊆ S, H is
consistent with B and B ∪ H |= E.
      </p>
      <p>B and H are normal theories and thus support negation as failure. The choice of an
appropriate language bias is critical. In TAL the language bias S is specified by means
of mode declarations [?].</p>
      <p>Definition 2. A mode declaration is either a head or body declaration, respectively
modeh(s) and modeb(s) where s is called a scheme. A scheme s is a ground literal
containing place-markers. A place-marker is a ground function whose functor is one of
the three symbols ’+’ (input), ’-’ (output), ’#’ (constant) and the argument is a constant
called type.</p>
      <p>Given a schema s, s∗ is the literal obtained from s by replacing all place-markers
with different variables X1, ..., Xn. A rule r is compatible with a set M of mode
declarations iff (a) there is a mapping from each head/body literal l in r to a head/body
declaration m ∈ M with schema s such that each literal is subsumed by its
corresponding s∗; (b) each output place-marker is bound to an output variable; (c) each input
place-marker is bound to an output variable appearing in the body or to a variable in
the head; (d) every constant place-marker is bound to a constant; (e) all variables and
constants are of the corresponding type. From a user perspective, mode declarations
establish how rules in the final hypotheses are structured, defining literals that can be
used in the head and in the body of a well-formed hypothesis. Although we show M in
the running example of this paper for reference, the mode declarations can be concealed
from the user and derived automatically. They can be optionally refined to constrain the
search whenever the designer wants to employ useful information on the outcome of
the learning to reduce the number of alternative hypotheses or improve performance.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Modelling Normative Frameworks</title>
      <p>
        While the formal model of a normative framework allows for clear specification of a
normative system, it is of little support to designers or users of these systems. In order
to be able to do so, computational tools are needed. The first step is a computational
model equivalent to the formal model. We have opted for a form of logic programming,
called Answer Set Programming (ASP)[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Here we only present a short flavour of the
language AnsP rolog, and the interested reader is referred to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for in-depth coverage.
      </p>
      <p>AnsP rolog is a knowledge representation language that allows the programmer to
describe a problem and the requirements on the solutions in an intuitive way, rather than
the algorithm to find the solutions to the problem. The basic components of the language
are atoms, elements that can be assigned a truth value. An atom can be negated using
negation as failure so creating the literal not a. We say that not a is true if we cannot
find evidence supporting the truth of a. If a is true then not a is false and vice versa.
Atoms and literals are used to create rules of the general form: a ← B, not C, where
a is an atom and B and C are set of atoms. Intuitively, this means if all elements of B
are known/true and no element of C is known/true, then a must be known/true. We refer
to a as the head and B ∪ not C as the body of the rule. Rules with empty body are are
called facts; A program in AnsP rolog is a finite set of rules.</p>
      <p>The semantics of AnsP rolog are defined in terms of answer sets, i.e. assignments
of true and false to all atoms in the program that satisfy the rules in a minimal and
consistent fashion. A program has zero or more answer sets, each corresponding to a
solution.
4.1</p>
      <p>
        Mapping the formal model into AnsP rolog
In this section we only provide a summary description of how the formal institutional
model is translated in to AnsP rolog . A full description of the model can be found in
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] together with completeness and correctness of model with respect to traces. Each
program models the semantics of the normative framework over a sequence of n time
instants such that ti : 0 ≤ i ≤ n. Events are considered to occur between these
snapshots, where for simplicity we do not define the intervals at which events occur
explicitly, and instead refer to the time instant at the start of the interval at which an event is
considered to occur. Fluents may be true or false at any given instant of time, so we use
atoms of the form holdsat(f, ti) to indicate that fluent f holds at time instant ti. In
order to represent changes in the state of fluents over time, we use atoms of the form
initiated(f, ti) and terminated(f, ti) to denote the fact that fluent f was initiated
or terminated, respectively, between time instants i and i + 1. We use atoms of the form
occurred(e, ti) to indicate that event e ∈ E is considered to have occurred between
instant ti and ti+1. These atoms denote events that occur in an external context or
are generated by the normative framework. For exogenous events we additionally use
atoms of the form observed(e, ti) to denote the fact that e has been observed.
      </p>
      <p>The mapping of a normative framework consists of three parts: a base component
which is independent of the framework being modelled, the time model and the
framework specific component. The independent component deals with inertia of the fluents,
the generation of violation events of un-permitted actions and unsatisfied obligations.
The time model defines the predicates for time and is responsible for generating a
single observed event at every time instance. In this paper we will focus solely on the
representation of the specific features of the normative framework.</p>
      <p>In order to translate rules in the normative framework relations G and C, we must
first define a translation for expressions which may appear in these rules. The valuation
of a given expression taken from the set X depends on which fluents may be held to
be true or false in the current state (at a give time instant). We translate expressions
into ASP rule bodies as conjunctions of extended literals using negation as failure for
negated expressions.</p>
      <p>With all these atoms defined, mapping the generation function and the
consequence relation of a specific normative framework becomes rather straightforward.
The generation function specifies that an normative event e occurs at a certain
instance (occurred(e, t)) when an another event e occurs, the event e is empowered
(holdsat(pow(e), t) and a set of conditions on the state are satisfied (holdsat(f, t)
or not holdsat(f, t)). The rules for initiation (initiated(f, t)) and
termination (terminated(f, t) of a fluent f are triggered when a certain event e occurs
(occurred(e, t)) and a set of conditions on the state are fulfilled. The initial state of
our normative framework is encoded as simple facts (holdsat(f, i00)).</p>
      <p>Figure 1 gives a summary of all AnsP rolog rules that are generated for a specific
normative framework, including the definition of all the fluents and events as facts. For
a given expression φ ∈ X , we use the term EX(φ, T ) to denote the translation of φ
into a set of ASP literals of the form holdsat(f, T) or not holdsat(f, T).</p>
      <p>In situations where the normative system consists of a number of agents whose
actions can be treated in the same way (e.g. the rules for borrowing a book are the
same for every member of alibrary) or where the state consists of fluents that can
be treated in a similar way (e.g. the status of book), we can parameterise the events
and fluents. This is represented in the AnsP rolog program by function symbols (e.g
borrowed(Agent, Book)) rather than terms. To allow for grounding, extra atoms to
p ∈ F ⇔ ifluent(p).</p>
      <p>e ∈ E ⇔ event(e).
e ∈ Eex ⇔ evtype(e, obs).
e ∈ Eact ⇔ evtype(e, act).</p>
      <p>e ∈ Eviol ⇔ evtype(e, viol).</p>
      <p>C↑(φ, e) = P ⇔ ∀p ∈ P · initiated(p, T)← occurred(e, I),EX(φ, T ).
C↓(φ, e) = P ⇔ ∀p ∈ P · terminated(p, T)← occurred(e, I),EX(φ, T ).
G(φ, e) = E ⇔ g ∈ E, occurred(g, T)←occurred(e, T),</p>
      <p>holdsat(pow(e), I),EX(φ, T ).</p>
      <p>p ∈ S0 ⇔ holdsat(p, i00).
ground these variables need to be added. Grounded versions of the atoms also need to
be added to the program. An example of this can be found in Section 6.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Learning Normative Rules</title>
      <p>5.1</p>
      <p>Methodology
The development process is supported by a set of use cases U . Use cases represent
instances of executions that are known to the designer and that drive the elaboration
of the normative system. If the current formalisation of the system does not match
the intended behaviour in the use case then the formalisation is still not complete or
incorrect. Each use case u ∈ U is a tuple T, C, O where T is a trace that specifies
all the exogenous events occurring at all the time points considered (observed(e, T));
C are ground holdsat or occurred facts that the designer believes to be important
and represents the conditional expected output; O are ground holdsat and occurred
literals that represent the expected output of the use case.</p>
      <p>The design process is iterative. A current formalisation of the model in AnsP rolog
is tested against a set of use cases. Together with the AnsP rolog specification of the
normative framework we add the observed events and a constraint indication that no
answer set that does not satisfy O is acceptable. The latter is done by adding a constraint
containing the negation of all the elements in O. If for some use cases the solver is not
able to find an answer set (returns unsatisfiable), then a revision step is performed. All
the use cases and the current formalisation are given as input to T AL. Possible revisions
are provided to the designer who ultimately chooses which is the most appropriate. The
success of the revision step depends on the state of the formalisation of the model. The
set of supporting use cases can be extended as the design progresses to more accurate
models.</p>
      <p>
        In this paper we focus on the learning step and we show how a non-monotonic
ILP system can be used to derive new rule. Refining existing rules (i.e. deleting rules
or adding and delete conditions in rules) is a straightforward extension of the current
framework. Though we do not discuss it in this paper, revision can be performed by
extending the original rules with additional predicates that extend the search to deletion
of conditions in rules and to exceptions as shown in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Designer
      </p>
      <p>Normative
framework
AnsP rolog
formalisation
Use Cases</p>
      <p>Suggested revisions</p>
      <p>Learning
The differences between the AnsP rolog program and the translation into a suitable
representation for T AL is procedural and only involves syntactic transformations. Thus
the difference in the two representations only consists in how the inference is performed.
The two semantics coincide since the same logic program is encoded and the mapping
of a normative framework has exactly one answer set when given a trace. If conditions
are added this can be reduced to zero.</p>
      <p>A normative model F corresponds to a AnsP rolog program PF as described in
Section 4. All the normal clauses contained in PF are part of B; the only differences
involve time points, that are handled in B by means of a finite domain constraint solver.
B also contains all the facts in C and T (negated facts are encoded by adding exceptions
to the definitions of holdsat and occurred). The set of examples E contains the
literals in O. Each H ∈ ILP E, B, S represents a possible revision for P and thus for
the original normative model.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Example</title>
      <p>To illustrate the capabilities of the norm learning mechanism, we have developed a
relatively simple scenario that, at the same time, is complicated enough to demonstrate
the key properties with little extraneous detail.</p>
      <p>The active parties—agents—of the scenario each find themselves initially in the
situation of having ownership of several (digital) objects—the blocks—that form part
of some larger composite (digital) entity—a file. An agent may give a copy of one its
blocks in exchange for a copy of another block with the aim of acquiring a complete
set of all the blocks. For simplicity, in the situation we analyse here, we assume that
initially each agent holds the only copy of a given block, and that is there is only one
copy of each block in the agent population. Furthermore, we do not take into account
the possibility of exchanging a block for one that the agent already has. We believe that
neither of these issues does more than complicate the situation by adding more states
that would obscure the essential properties that we seek to demonstrate. Thus, we arrive
at a statement of the example: two agents, Alice and Bob, each holding two blocks from
a set of four and each having the goal of owning all four by downloading the blocks they
miss from the other while sharing, with another agent, the ones it does.</p>
      <p>
        We model this as a simple normative framework, where the brute event [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] of
downloading a block initiates several normative events, but the act of downloading
revokes the permission of that agent to download another block until it has shared (this the
complementary action to download) a block with another agent. Violation of this norm
results in the download power being revoked permanently. In this way reciprocity is
assured by the normative framework. Initially, each agent is empowered and permitted
to share and to download, so that either agent may initiate a download operation.
      </p>
      <p>Fig. 3 shows the AnsP rolog representation of the complete normative framework
representing this scenario. In the following examples a variety of normative rules will
be deliberately removed and re-learned.
6.1</p>
      <p>Learning Setting
To show how different parts of the formal model can be learned we start from a
correct specification and, after deleting some of the rules, we use TAL to reconstruct the
missing parts based on a single use case. In our example TAL is set to learn hypotheses
of at most three rules with at most three conditions. The choice of an upper bound on
the complexity (number of literals) of the rule ultimately rests on the final user.
Alternatively, TAL can iterate on the complexity or perform a best first search that returns
increasingly more complex solutions. We use the following mode declarations, M :
m1 : modeh(terminated(perm(myDownload(+agent, +block)), +instant)).
m2 : modeh(initiated(perm(myDownload(+agent, +block)), +instant)).
m3 : modeb(occurred(myDownload(+agent, +block), +instant)).
m4 : modeb(occurred(myDownload(+agent, −block), +instant)).
m5 : modeb(occurred(myShare(+agent), +instant)).
m6 : modeb((+agent!= +agent)).
m7 : modeb(holdsat(hasblock(+agent, +block), +instant)).
m8 : modeb(holdsat(powf ilesharing(myDownload(+agent, +block)), +instant)).</p>
      <p>The first two mode declarations state that terminate and initiate permission rules for
the normative fluent myDownload can be learned. The other declarations constrain the
structure of the body. The difference between m3 and m4 is that the former must refer
to the same block as the one in the head of the rule while the latter introduces a possibly
different block. m8 is an inequality constraint between agents. In general more mode
declarations should be considered (e.g. initiation and termination of all types of fluents
should be included) but the revision can be guided by the designer. For example new
changes to a stable theory are more likely to contain errors and thus can be isolated in
the revision process. The time to compute all the reported hypotheses ranges from 30
to 500 milliseconds on a 2.8 GHz Intel Core 2 Duo iMac with 2 GB of RAM.</p>
      <p>The background knowledge B contains the rules in Fig. 3 together with the traces
T given in the use cases. C in this example is empty to allow for the demonstration of
the most general types of learning.</p>
      <p>Learning a single terminate/initiate rule We suppose one of the initiate rules is
missing from the current specification:
initiated(perm(myDownload(Agent, Block)), I) ←</p>
      <p>occurred(myShare(Agent), I).</p>
      <p>The designer inputs the following observed events that show how in a two agent
scenario, one of the agents loses permission to download after downloading a block and
reacquires it after providing a block for another agent. The trace T looks like:
observed(download(alice, bob, x3), 0).</p>
      <p>observed(download(bob, alice, x1), 1).</p>
      <sec id="sec-6-1">
        <title>The expected output O is:</title>
        <p>not holdsat(perm(myDownload(alice, x4)), 1).</p>
        <p>holdsat(perm(myDownload(alice, x4)), 2).</p>
        <p>The trace is disfunctional if the expected output is not true in the answer set of T ∪ B.
The ILP task is thus to find a set of rules H within the language bias specified by
mode declarations in M such that given the background knowledge B in Fig. 3 and the
given expected output O as conjunction of literals, O is true in the only answer set of
B ∪ T ∪ H (if one exists). T AL produces the following hypotheses:
and
initiated(perm(myDownload(A, )), C) ← (H1)</p>
        <p>occurred(myShare(A), C).
terminated(perm(myDownload( , )), ).
initiated(perm(myDownload(A, )), C) ←
occurred(myShare(A), C).</p>
        <p>(H2)
The second solution is not the one intended but it still supports the use case. Note
that according to current implementation, whenever a fluent f is both initiated and
terminated at the same time point, f still holds at the subsequent time point.
Learning multiple rules In this scenario two rules are missing from the specification:
initiated(perm(myDownload(Agent, Block)), I) ←</p>
        <p>occurred(myShare(Agent), I).
terminated(perm(myDownload(Agent, Block2)), I) ←</p>
        <p>occurred(myDownload(Agent, Block1), I).</p>
        <p>We use the same T and O as previously. T AL produces the following hypotheses:
terminated(perm(myDownload(A, )), C) ← (H1)</p>
        <p>occurred(myDownload(A, ), C).
initiated(perm(myDownload(A, )), C) ←</p>
        <p>occurred(myShare(A), C).
terminated(perm(myDownload( , )), ). (H2)
initiated(perm(myDownload(A, )), C) ←</p>
        <p>occurred(myShare(A), C).</p>
        <p>The second solution is consistent with the use case, but the designer can easily discard
it, since the rule is not syntactically valid with respect to the normative framework: a
fluent can only be terminated as a consequence of the occurrence of an event. Using
more advanced techniques for the language bias specification it would be possible to
rule out such a hypothesis.</p>
        <p>Learning of undesired violation We assume the following rule is missing:
initiated(perm(myDownload(Agent, Block)), I) ←</p>
        <p>occurred(myShare(Agent), I).</p>
      </sec>
      <sec id="sec-6-2">
        <title>This time we provide a different trace T :</title>
        <p>observed(download(alice, bob, x3), 0).
observed(download(bob, alice, x1), 1).</p>
        <p>observed(download(alice, bob, x4), 2).</p>
        <p>As a result of the trace, a violation at time point 2 is implied that the designer knows to
be undesired. The expected output is:
not occurred(viol(myDownload(alice, x4)), 2).
(H1)
(H2)
(H3)
(H4)
(H5)
(H6)
The outcome of the learning consists of the following two possible solutions:
occurred(myShare(A), C).
initiated(perm(myDownload(A, )), C) ← (H1)
initiated(perm(myDownload( , )), ).
(H2)
that show how the missing rule is derived from the undesired violation. As in the
previous scenario the designer can easily dismiss the second candidate.</p>
        <p>Learning a generate rule To account for the different type of rules that need to be
learned, the language bias is extended to consider learning of generate rules. The new
mode declarations are:
modeh(occurred(myShare(+agent), +instant)).</p>
        <p>modeb(occurred(download(−agent, +agent, −block), +instant)).</p>
        <p>We use the same trace and expected output as in the previous scenario (three observed
events). The following rule is eliminated from the specification:
occurred(myShare(AgentB), I) ←</p>
        <p>AgentA! = AgentB,
occurred(download(AgentA, AgentB, Block), I),
holdsat(hasblock(AgentB, Block), I),
holdsat(pow(f ilesharing, myDownload(AgentA, Block)), I).</p>
        <p>This is the most complicated case for the designer as a set of six different hypotheses
are returned by TAL (see Figure 4). Knowing the semantics of the function symbol
download(AgentA, AgentB, Block) as AgentA downloads from AgentB the designer
should be able to select the most appropriate rule.
The motivation behind this paper is the problem of how to converge upon a complete
and correct normative framework with respect to the intended range of application,
where in practice these properties may be manifested by incorrect or unexpected
behaviour in use. Additionally, we would observe, from practical experience with our
particular framework, that it is often desirable, as with much software development, to
be able to develop and test incrementally—and regressively—rather than attempt
verification once the system is (notionally) complete.</p>
        <p>
          The literature seems to fall broadly into three categories: (a) concrete language
frameworks (OMASE, Operetta, InstSuite, MOISE, Islander, OCeAN and the constraint
approach of Garcia-Camino (full references to these are currently omitted because of
page limitations)) for the specification of normative systems, that are typically
supported by some form of model-checking, and in some cases allow for change in the
normative structure; (b) logical formalisms, such as [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], that capture consistency and
completeness via modalities and other formalisms like [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], that capture the concept of
norm change, or [?] and [?]; (c) mechanisms that look out for (new) conventions and
handle their assimilation into the normative framework over time and subject to the
current normative state and the position of other agents [
          <xref ref-type="bibr" rid="ref2 ref8">2, 8</xref>
          ]. Essentially, the objective
of each of the above is to realize a transformation of the normative framework to
accommodate some form of shortcoming. These shortcomings can be identified in several
ways: (a) by observing that a particular state is rarely achieved, which can indicate there
is insufficient normative guidance for participants, or (b) a norm conflict occurs, such
that an agent is unable to act consistently under the governing norms [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], or (c) a
particular violation occurs frequently, which may indicate that the violation conflicts with
an effective course of action that agents prefer to take, the penalty notwithstanding. All
of these can be viewed as characterising emergent [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] approaches to the evolution of
normative frameworks, where some mechanism, either in the framework, or in the
environment, is used to revise the norms. In the approach taken here, the designer presents
use cases that effectively capture their behavioural requirements for the system, in
order to ‘fix’ bad states. This has an interesting parallel with the scheme put forward by
Serrano and Saugar [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], where they propose the specification of incomplete theories
and their management through incomplete normative states identified as “pending”. The
framework lets designated agents resolve this category through the speech acts allow
and forbid and scheme is formalised using an action language.
        </p>
        <p>
          A useful categorisation of normative frameworks appears in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Whether the norms
here are ‘strong’ or ‘weak’ —the first guideline— depends on whether the purpose of
the normative model is to develop the system specification or additionally to provide
an explicit representation for run-time reference. Likewise, in respect of the remaining
guidelines, it all depends on how the framework we have developed is actually used:
we have chosen, for the purpose of this presentation, to stage norm refinement so that
it is an off-line (in the sense of prior to deployment) process, while much of the
discussion in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] addresses run-time issues. Whether the process we have outlined here
could effectively be a means for on-line mechanism design, is something we have yet
to explore.
        </p>
        <p>
          From an ILP perspective, we employ an ILP system that can learn logic programs
with negation (stratified or otherwise). Though recently introduced and in its early
stages of development TAL is the most appropriate choice to support this work for
two main reasons: it is supported by completeness results, unlike other existing
nonmonotonic ILP systems ([
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]), and it can be tailored to particular requirements
(e.g. different search strategies can address performance requirements). The approach
presented in this paper is related to other recently proposed frameworks for the
elaboration of formal specifications via inductive learning. Within the context of software
engineering, [?] has shown how examples of desirable and undesirable behaviour of
a software system can be used by an ILP system, together with an incomplete
background knowledge of the envisioned system and its environment, to compute missing
requirements specifications. A more general framework has been proposed [?] where
desirable and undesirable behaviours are generated from counterexamples produced by
model checking a given (incomplete) requirements specification with respect to given
system properties. The learning of missing requirements has in this case the effect of
eliminating the counterexamples by elaborating further the specification.
8
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future Work</title>
      <p>
        We have presented an approach for learning norms and behavioural rules, via inductive
logic programming, from example traces in order to guide and support the synthesis
of a normative framework. This addresses a crucial problem in normative systems as
the development of such specifications is in general a manual and error-prone task. The
approach deploys an established inductive logic programming system [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that takes in
input an initial (partial) description of a normative system and use cases of expected
behaviours provided by the designer and generates hypothesis in the form of missing
norms and behavioural rules that together with the given description explain the use
cases. Although the approach presented in this paper has been tailored for learning
missing information, it can also be applied to computing revisions over the existing
description. In principle this can be achieved by transforming the existing normative rules
into defeasible rules with exceptions and using the same ILP system to compute
exception rules. These exceptions would in essence be prescriptions for changes (i.e. addition
and/or deletion of literals in the body of existing rules) in the current specification.
An appropriate refactoring of the defeasible rules based on the learned exception rules
would give a revised (non-defeasible) specification. In this case, the revision would be
in terms of changes over the rules of a normative framework instead of changes over its
belief state, as would be the case if a TMS approach were adopted.
      </p>
      <p>
        There are several criticisms that can be levelled at the approach as it stands. Firstly,
the design language is somewhat unfriendly: a proper tool would have a
problemoriented language, like InstAL/QL [
        <xref ref-type="bibr" rid="ref10 ref19">10, 19</xref>
        ]. A system designer would then start from
an initial description of their normative framework with some use cases and receive
automated suggestions of additional norms to include in the framework written in the
same high-level language. The machinery described here, based on ASP syntax and ILP
formulation, would then be used as a sound “back- end” computation to a formalism
familiar to the system designer. Secondly, better control is needed over the rules that are
learned and over the filtering of incorrect rules; at present this depends on specialised
knowledge of the learning process. This can to some extent be controlled through
careful choice of and limits on the size of use cases—probably involving heuristics—to
improve the effectiveness of the learning process in the search for relevant hypotheses
and pruning of those potential solutions that cannot be translated back into the canonical
form of the normative framework. Despite these issues, we believe we have identified an
interesting path for automating and development and debugging of practical normative
specifications and perhaps, in the long term, a mechanism for on-line norm evolution.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Artikis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sergot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Pitt</surname>
          </string-name>
          .
          <article-title>Specifying electronic societies with the Causal Calculator</article-title>
          .
          <source>In Proceedings of workshop on agent-oriented software engineering iii (aose)</source>
          ,
          <source>LNCS 2585</source>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Artikis</surname>
          </string-name>
          .
          <article-title>Dynamic protocols for open agent systems</article-title>
          . In Sierra et al. [
          <volume>31</volume>
          ], pages
          <fpage>97</fpage>
          -
          <lpage>104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Chitta</given-names>
            <surname>Baral</surname>
          </string-name>
          .
          <article-title>Knowledge Representation, Reasoning and Declarative Problem Solving</article-title>
          . Cambridge Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Guido</given-names>
            <surname>Boella</surname>
          </string-name>
          , Pablo Noriega, Gabriella Pigozzi, and Harko Verhagen, editors.
          <source>Normative Mult-Agent Systems, number 09121 in Dagstuhl Seminar Proceedings. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Guido</given-names>
            <surname>Boella</surname>
          </string-name>
          , Gabriella Pigozzi, and Leendert van der Torre.
          <article-title>Normative framework for normative system change</article-title>
          .
          <source>In Sierra et al. [31]</source>
          , pages
          <fpage>169</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Guido</given-names>
            <surname>Boella</surname>
          </string-name>
          , Gabriella Pigozzi, and Leendert van der Torre.
          <article-title>Normative systems in computer science - ten guidelines for normative multiagent systems</article-title>
          .
          <source>In Normative Mult-Agent Systems</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Guido</given-names>
            <surname>Boella</surname>
          </string-name>
          and Leendert van der Torre.
          <article-title>Constitutive Norms in the Design of Normative Multiagent Systems, City College</article-title>
          .
          <source>In Proceedings of the Sixth International Workship on Computational Logic in Multi-Agent Systems (CLIMA-VI)</source>
          ,
          <year>June 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>George</given-names>
            <surname>Christelis</surname>
          </string-name>
          and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Rovatsos</surname>
          </string-name>
          .
          <article-title>Automated norm synthesis in an agent-based planning environment</article-title>
          .
          <source>In Sierra et al. [31]</source>
          , pages
          <fpage>161</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Owen</given-names>
            <surname>Cliffe</surname>
          </string-name>
          , Marina De Vos, and
          <string-name>
            <given-names>Julian</given-names>
            <surname>Padget</surname>
          </string-name>
          .
          <article-title>Answer set programming for representing and reasoning about virtual institutions. In Computational Logic for Multi-Agents (CLIMA VII)</article-title>
          , volume
          <volume>4371</volume>
          <source>of LNAI</source>
          , pages
          <fpage>60</fpage>
          -
          <lpage>79</lpage>
          . Springer, May
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Owen</surname>
            <given-names>Cliffe</given-names>
          </string-name>
          , Marina De Vos, and
          <string-name>
            <surname>Julian</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Padget</surname>
          </string-name>
          .
          <article-title>Embedding landmarks and scenes in a computational model of institutions</article-title>
          . In Coordination, Organizations, Institutions, and
          <article-title>Norms in Agent Systems III</article-title>
          , volume
          <volume>4870</volume>
          <source>of LNCS</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>September 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Corapi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Ray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Bandara</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.C.</given-names>
            <surname>Lupu</surname>
          </string-name>
          .
          <article-title>Learning rules from user behaviour</article-title>
          .
          <source>In 5th Aritificial Intelligence Applications and Innovations (AIAI</source>
          <year>2009</year>
          ),
          <year>April 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>D.</given-names>
            <surname>Corapi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Lupu.</surname>
          </string-name>
          <article-title>Inductive logic programming as abductive search</article-title>
          .
          <source>In 26th International Conference on Logic Programming</source>
          ,
          <source>Leibniz International Proceedings in Informatics. Schloss Dagstuhl Research Online Publication Server</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker and Danny De Schreye. Sldnfa</surname>
          </string-name>
          :
          <article-title>An abductive procedure for abductive logic programs</article-title>
          .
          <source>J. Log. Program.</source>
          ,
          <volume>34</volume>
          (
          <issue>2</issue>
          ):
          <fpage>111</fpage>
          -
          <lpage>167</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>V.</given-names>
            <surname>Dignum</surname>
          </string-name>
          .
          <article-title>A model for organizational interaction: based on agents, founded in logic</article-title>
          .
          <source>PhD thesis</source>
          , University of Utrecht,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sas</surname>
          </string-name>
          <article-title>˘o Dz˘roski. Relational data mining applications: an overview</article-title>
          . pages
          <fpage>339</fpage>
          -
          <lpage>360</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Christophe</surname>
            <given-names>Garion</given-names>
          </string-name>
          , Ste´phanie Roussel, and
          <string-name>
            <given-names>Laurence</given-names>
            <surname>Cholvy</surname>
          </string-name>
          .
          <article-title>A modal logic for reasoning on consistency and completeness of regulations</article-title>
          . In Boella et al. [
          <volume>4</volume>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Gebser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Kaufmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Neumann</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
          </string-name>
          .
          <article-title>Conflict-Driven Answer Set Solving</article-title>
          .
          <source>In Proceeding of IJCAI07</source>
          , pages
          <fpage>386</fpage>
          -
          <lpage>392</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Gelfond</surname>
          </string-name>
          and
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          .
          <article-title>Classical negation in logic programs</article-title>
          and disjunctive databases.
          <source>New Generation Computing</source>
          ,
          <volume>9</volume>
          (
          <issue>3</issue>
          -4):
          <fpage>365</fpage>
          -
          <lpage>386</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Luke</surname>
            <given-names>Hopton</given-names>
          </string-name>
          , Owen Cliffe, Marina De Vos, and
          <string-name>
            <given-names>Julian</given-names>
            <surname>Padget</surname>
          </string-name>
          .
          <article-title>Instql: A query language for virtual institutions using answer set programming</article-title>
          .
          <source>In Proceedings of the 10th International Workshop on Computational Logic in Multi-Agent Systems (ClimaX)</source>
          ,
          <source>IfI Technical Report Series</source>
          , pages
          <fpage>87</fpage>
          -
          <lpage>104</lpage>
          ,
          <year>September 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>John R. Searle</surname>
          </string-name>
          .
          <source>The Construction of Social Reality. Allen Lane</source>
          , The Penguin Press,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Andrew</surname>
            <given-names>J.I.</given-names>
          </string-name>
          <string-name>
            <surname>Jones</surname>
            and
            <given-names>Marek</given-names>
          </string-name>
          <string-name>
            <surname>Sergot</surname>
          </string-name>
          .
          <article-title>A Formal Characterisation of Institutionalised Power</article-title>
          .
          <source>ACM Computing Surveys</source>
          ,
          <volume>28</volume>
          (4es):
          <fpage>121</fpage>
          ,
          <year>1996</year>
          . Read 28/11/
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Tim</surname>
            <given-names>Kimber</given-names>
          </string-name>
          , Krysia Broda, and
          <string-name>
            <given-names>Alessandra</given-names>
            <surname>Russo</surname>
          </string-name>
          .
          <article-title>Induction on failure: Learning connected horn theories</article-title>
          .
          <source>In LPNMR</source>
          , pages
          <fpage>169</fpage>
          -
          <lpage>181</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Martin</surname>
            <given-names>Kollingbaum</given-names>
          </string-name>
          , Timothy Norman, Alun Preece, and
          <string-name>
            <given-names>Derek</given-names>
            <surname>Sleeman</surname>
          </string-name>
          .
          <article-title>Norm conflicts and inconsistencies in virtual organisations</article-title>
          .
          <source>In Proceedings of COIN</source>
          <year>2006</year>
          , volume
          <volume>4386</volume>
          <source>of LNCS</source>
          , pages
          <fpage>245</fpage>
          -
          <lpage>258</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. N.
          <article-title>Lavracˇ and S. Dzˇeroski. Inductive Logic Programming: Techniques and Applications</article-title>
          .
          <source>Ellis Horwood</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. I. Niemela¨ and
          <string-name>
            <given-names>P.</given-names>
            <surname>Simons. Smodels</surname>
          </string-name>
          :
          <article-title>An implementation of the stable model and well-founded semantics for normal LP</article-title>
          .
          <string-name>
            <surname>In</surname>
            <given-names>LPNMR</given-names>
          </string-name>
          , volume
          <volume>1265</volume>
          <source>of LNAI</source>
          , pages
          <fpage>420</fpage>
          -
          <lpage>429</lpage>
          . Springer, July
          <volume>28</volume>
          -31
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Juan</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <string-name>
            <surname>Rodriguez-Aguilar</surname>
          </string-name>
          .
          <article-title>On the Design and Construction of Agent-mediated Institutions</article-title>
          .
          <source>PhD thesis</source>
          , Universitat Autonoma de Barcelona,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>Chiaki</given-names>
            <surname>Sakama</surname>
          </string-name>
          .
          <article-title>Nonmonotonic inductive logic programming</article-title>
          .
          <source>In LPNMR, page 62</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. Bastin Tony Roy Savarimuthu and
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Cranefield</surname>
          </string-name>
          .
          <article-title>A categorization of simulation works on norms</article-title>
          .
          <source>In Boella et al. [4].</source>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>Marek</given-names>
            <surname>Sergot. (C+</surname>
          </string-name>
          <article-title>)++: An Action Language For Representing Norms and Institutions</article-title>
          .
          <source>Technical report</source>
          , Imperial College, London,
          <year>August 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Juan-Manuel Serrano</surname>
            and
            <given-names>Sergio</given-names>
          </string-name>
          <string-name>
            <surname>Saugar</surname>
          </string-name>
          .
          <article-title>Dealing with incomplete normative states</article-title>
          .
          <source>In Proceedings of COIN</source>
          <year>2009</year>
          , volume
          <volume>6069</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2010</year>
          . in press.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Carles</surname>
            <given-names>Sierra</given-names>
          </string-name>
          , Cristiano Castelfranchi, Keith S. Decker, and Jaime Sima˜o Sichman, editors.
          <source>8th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS</source>
          <year>2009</year>
          ), Budapest, Hungary, May
          <volume>10</volume>
          -15,
          <year>2009</year>
          , Volume
          <volume>1</volume>
          . IFAAMAS,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Munindar</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>A social semantics for agent communication languages</article-title>
          .
          <source>In Issues in Agent Communication</source>
          , pages
          <fpage>31</fpage>
          -
          <lpage>45</lpage>
          . Springer-Verlag: Heidelberg, Germany,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>