SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions




                            Normative Monitoring:
                         Semantics and Implementation

                       Sergio Alvarez-Napagao, Huib Aldewereld,
                               ´
                       Javier Vazquez-Salceda and Frank Dignum


                                           COIN@MALLOW 2010
                                               Lyon, France
                                             August 30, 2010




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction     Related Work    Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Outline

       1       Introduction

       2       Related Work

       3       Preliminary definitions

       4       Semantics

       5       Reduction

       6       Implementation

       7       Conclusions


                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Motivation


               Normative systems can help guide the behaviour of
               interacting agents
                      Monitoring is vital for the effectiveness of a normative
                      system
               Agents may enter and leave interaction contexts, so
               dynamic normative specifications are desirable
               Monitoring is a passive procedure based on the checking
               of past events
                      Interpretation of institutional events from brute events
                      If decoupled from reasoning, can be used by different kinds
                      of agents and third parties




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Requirements



               Dynamic normative specifications

               Interpretation of both
                      Institutional facts
                      What ought to be done
               Ability to reason about norms themselves

               Efficiency with large sets of events
               Reusable formalism, decoupled implementation




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Requirements



               Dynamic normative specifications → Run-time specification
               loading
               Interpretation of both
                      Institutional facts → Counts-as rules
                      What ought to be done → Expressive normative language
               Ability to reason about norms themselves → Norms as first-class
               entities
               Efficiency with large sets of events → Rule-based engine
               Reusable formalism, decoupled implementation → From norms to rules




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Related work




               Normative / contract monitoring is not a new topic
               Some approaches (e.g. [Kyas et al. 08]) are based on
               verification techniques, checking events against traces
                      For the monitoring of past events such complexity is not
                      needed
               The most common approach has been rule-based




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Related work
               Some approaches for electronic SLA / contracts are quite
               mature (e.g. [Paschke et al. 05][Strano et al. 08])
                      However, the expressivity of the norm language used is
                      limited
               Other approaches (e.g. [Governatori 05][Hubner et al. 09])
                                                        ¨
               use rules to assert deontic expressions
                      Parts of the norm lifecycle implementation are out of the
                      base rule engine
                      Norm instances are not easily traceable
               [Garc´a-Camino et al. 05] defines a full translation scheme
                     ı
               into Jess
                      But it uses language-specific constructs
                      No support for constitutive rules
               [Tinnemeier et al. 09] defines operational semantics with a
               combination of counts-as rules and sanctions
                      Regulative norms are not supported
                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Our proposal




               Use of norm language with support for conditional deontic
               expressions
               Support for counts-as rules
               Reduction to semantics of a general rule-based language
               Providing a direct syntactic translation from norms to rules
               Decouple monitoring process from reasoning




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Example scenario




           1   A person driving on a street is not allowed to break a traffic
               convention.
           2   In case (1) is violated, the driver must pay a fine.
           3   In a city, to exceed 50kmh counts as breaking a traffic
               convention.




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Notation

               O is a set of predicates and constants,
               LO is a predicate based propositional logic language with
               the connectives {¬, ∧, ∨},
               wff (LO ) is the set of all possible well-formed formulas of
               LO ,
               Θ = {x1 ← t1 , x2 ← t2 , ..., xi ← ti } is a substitution instance
               of the terms ti for the variables ti ,
               R ⊂ O is the set of roles, and P is the set of participants,
               each one enacting at least one role in R,
               s ⊆ O is a certain state of the world,
               ni = n, θ is a norm instance, and
               n Y n means that n is a violation handling norm of n:
               fA ∧ ¬fM ∧ ¬fD ≡ fA .
                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Definition of counts-as



       Definition
       A counts-as rule is a tuple c = γ1 , γ2 , s , where
       γ1 , γ2 ∈ wff (LO ), and s ⊆ O.

       Example
       In a city, to exceed 50kmh counts as breaking a traffic
       convention:
       C :={ exceeds(D, 50), traffic violation(D), is in city(D) }




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Definition of norm

       Definition
       A norm n is a tuple n = fA , fM , fδ , fD , fw , w , where
               fA , fM , fδ , fD , fw ∈ wff (LO ), w ∈ R,
               fA , fM , fD respectively represent the activation,
               maintenance, and deactivation conditions of the norm,
               fδ , fw are the explicit representation of the deadline and
               target of the norm, and
               w is the subject of the norm.

       This definition does not explicitly include deontic operators, but:

                                    fA → [Ow (Ew fw ≤ ¬fM ) U fD ]


                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction     Related Work        Preliminary definitions        Semantics        Reduction      Implementation      Conclusions



       Definition
       A norm n is a tuple n = fA , fM , fδ , fD , fw , w , where
               fA , fM , fδ , fD , fw ∈ wff (LO ), w ∈ R,
               fA , fM , fD respectively represent the activation,
               maintenance, and deactivation conditions of the norm,
               fδ , fw are the explicit representation of the deadline and
               target of the norm, and
               w is the subject of the norm.

       Example
       A person driving on a street is not allowed to break a traffic convention:


                                       n1 :=      enacts(X , Driver ) ∧ is driving(X ),     fA
                                                         ¬traffic violation(X ),             fM
                                                                    ⊥,                      fδ
                                                              ¬is driving(X ),              fD
                                                 is driving(X ) ∧ ¬traffic violation(X ),    fw
                                                                  Driver                    w

                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum             Normative Monitoring: Semantics and Implementation
Introduction     Related Work        Preliminary definitions       Semantics        Reduction      Implementation      Conclusions



Definition of institution

       Definition
       An institution I is a tuple of norms, roles, participants, counts-as
       rules, and an ontology:

                                                 I = N, R, P, C, O

       Example
       N :={ enacts(X , Driver ) ∧ is driving(X ),
       ¬traffic violation(X ), ⊥, ¬is driving(X ),
       is driving(X ) ∧ ¬traffic violation(X ), Driver ,
         enacts(X , Driver ) ∧ is driving(X ) ∧ traffic violation(X ),
          ,
       paid fine(X ), Driver }
       R :={Driver }, P :={Person1 }
       C :={ exceeds(D, 50), traffic violation(D), is in city(D) }
       O :={role, enacts, is driving, is in city,
       exceeds, traffic violation, is driving, paid fine,
       Person1 , role(Driver ), enacts(Person1 , Driver )}




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum            Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Norm Lifecycle

       Definition
       Let ni = n, Θ be a norm instance, where n = fA , fM , fD , w ,
       and a state of the world s with an expansion F (s). The lifecycle
       for norm instance ni is defined by the following normative state
       predicates:
               activated(ni) ⇔ ∃f ∈ F (s), Θ(fA ) ≡ f
               maintained(ni) ⇔ ∃Θ , ∃f ∈ F (s), Θ (fM ) ≡ f ∧ Θ ⊆ Θ
               deactivated(ni) ⇔ ∃Θ , ∃f ∈ F (s), Θ (fD ) ≡ f ∧ Θ ⊆ Θ
               instantiated(ni) ⇔ ni ∈ IS
               violated(ni) ⇔ ni ∈ VS
               fulfilled(ni) ⇔ ni ∈ FS

       where IS is the instantiation set, FS is the fulfillment set, and
       VS is the violation set, as defined above.
                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Example of Norm Lifecycle



       A person driving on a street is not allowed to break a traffic
       convention:




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Normative Monitor


       Definition
       A Normative Monitor MI for an institution I is a tuple
       MI = I, S, IS, VS, FS .

       Definition
       An event e is a tuple e = α, p , where α ∈ P, and p ∈ wff (LO ).

       Definition
       The Labelled Transition System for a Normative Monitor MI is
       defined by Γ, E, £ .



                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work      Preliminary definitions       Semantics        Reduction          Implementation   Conclusions




       Definition
                                                      Event processed:

                                                           ei = α, p
                                                                                                                     (1)
                                  i, s, is, vs, fs , ei , ei+1 £   i, s ∪ {p}, is, vs, fs , ei+1


                                                  Counts-as rule activation:

                          ∃Θ, ∃f ∈ F (s), ∃ γ1 , γ2 , si    ∈ C, si ⊆ s ∧ Θ(γ1 ) ≡ f ∧ Θ(γ2 ) ∈ s
                                                                                              /
                                                                                                                     (2)
                      N, R, P, C, O , s, is, vs, fs , e £      N, R, P, C, O , s ∪ {Θ(γ2 )}, is, vs, fs , e

                                                 Counts-as rule deactivation:

                          ∃Θ, ∃f ∈ F (s), ∃ γ1 , γ2 , si    ∈ C, si ⊆ s ∧ Θ(γ1 ) ≡ f ∧ Θ(γ2 ) ∈ s
                                                                                                                     (3)
                      N, R, P, C, O , s, is, vs, fs , e £      N, R, P, C, O , s − {Θ(γ2 )}, is, vs, fs , e




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum       Normative Monitoring: Semantics and Implementation
Introduction    Related Work      Preliminary definitions         Semantics       Reduction      Implementation      Conclusions




       Definition
                                                        Norm instantiation:

               ∃n = fA , fM , fD , w ∈ N ∧ ¬∃n ∈ N, n Y n ∧ n, Θ ∈ is ∧ ∃Θ, ∃f ∈ F (s), f ≡ Θ(fA )
                                                                 /
                                                                                                                     (4)
                      N, R, P, C, O , s, is, vs, fs , e £       N, R, P, C, O , s, is ∪ { n, Θ }, vs, fs , e

                                                  Norm instance violation:

                                ∃n = fA , fM , fD , w ∈ N ∧ n, Θ         ∈ is ∧ n, Θ    ∈ vs∧
                                                                                        /
                          ¬(∃Θ, ∃f ∈ F (s), f ≡ Θ(fM ) ∧ Θ ⊆ Θ ) ∧ NR =                n;n   n ,Θ
                                                                                                                     (5)
                     N, R, P, C, O , s, is, vs, fs , e £      N, R, P, C, O , s, (is − { n, Theta }) ∪ NR,
                                                  vs ∪ { n, Θ }, fs , e

                                                      Norm instance fulfilled:

                   ∃n = fA , fM , fD , w ∈ N ∧ n, Θ         ∈ is ∧ ∃Θ, ∃f ∈ F (s), f ≡ Θ(fD ) ∧ Θ ⊆ Θ
                                                                                                                     (6)
                N, R, P, C, O , s, is, vs, fs , e £       N, R, P, C, O , s, is − { n, Θ }, vs, fs ∪ n, Θ      ,e

                                              Norm instance violation repaired:


                                   ∃n, n ∈ N ∧ n Y n ∧ n, Θ ∈ vs ∧ n , Θ ∈ fs
                                                                                                                     (7)
                      N, R, P, C, O , s, is, vs, fs , e £       N, R, P, C, O , s, is, vs − { n, Θ }, fs , e



                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum        Normative Monitoring: Semantics and Implementation
Introduction      Related Work       Preliminary definitions       Semantics          Reduction   Implementation      Conclusions




       Definition
                                                         Norm instantiation:

               ∃n = fA , fM , fD , w ∈ N ∧ ¬∃n ∈ N, n Y n ∧ ∃Θ, (activated( n, Θ ) ∧ ¬instantiated( n, Θ ))
                                                                                                                      (8)
                         N, R, P, C, O , s, is, vs, fs , e £     N, R, P, C, O , s, is ∪ { n, Θ }, vs, fs , e

                                                       Norm instance violation:

                         ∃n = fA , fM , fD , w ∈ N ∧ ∃Θ , instantiated( n, Θ ) ∧ ¬violated( n, Θ )
                                        ∧¬maintained( n, Θ ) ∧ NR =            n;n    n ,Θ
                                                                                                                      (9)
                       N, R, P, C, O , s, is, vs, fs , e £      N, R, P, C, O , s, (is − { n, Theta }) ∪ NR,
                                                       vs ∪ { n, Θ }, fs , e

                                                       Norm instance fulfilled:

                             ∃n = fA , fM , fD , w ∈ N ∧ instantiated( n, Θ ) ∧ fulfilled(n, Θ )
                                                                                                                     (10)
                 N, R, P, C, O , s, is, vs, fs , e £   N, R, P, C, O , s, is − { n, Θ }, vs, fs ∪ n, Θ          ,e

                                                 Norm instance violation repaired:


                                 ∃n, n ∈ N ∧ n Y n ∧ ∃Θ, violated( n, Θ ) ∧ fulfilled( n , Θ )
                                                                                                                     (11)
                        N, R, P, C, O , s, is, vs, fs , e £      N, R, P, C, O , s, is, vs − { n, Θ }, fs , e



                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum          Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Semantics of production systems


       Definition
       A production rule is denoted if p, c remove r add a, or

                          patterns, constraints ⇒ remove, add

       Definition
       A general production system PS is defined as
       PS = P, WM0 , R , where:
               P is a set of predicate symbols,
               WM is the working memory, a set of facts, and
               R is a set of production rules.


                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Reduction to production systems
       In order to represent our semantics to a production system, we
       have to define the translation of P, WM0 , and R for a certain
       institution I = N, R, P, C, O . We assume all formulas are in
       DNF.
       Definition
       The set of predicates for our production system is:
       PI := O ∪ {activated, maintained, deactivated, violated,
       instantiated, fulfilled, event, repair , holds, has clause, countsas}

       WMI will include each formula found in every norm condition
       and counts-as rule, as well as the relationship between each
       formula and norms or counts-as rule.
       Example
       has clause(f , f0 ), has clause(f , f1 ), activation(n1 , f )
                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Reduction to production systems


       The set of rules of the production system will include:
               For each formula in a norm or counts-as rule, when they
               hold true:
                      r h := has clause(f , f ) ∧ holds(f , Θ) ⇒ ∅, {holds(f , Θ)}
               A translation of each rule from the Normative Monitor
               transition system:
                      r nf = deactivation(n, f ) ∧ instantiated(n, Θ) ∧
                      subseteq(Θ , Θ) ∧ holds(f , Θ ),
                      Θ ⊆Θ
                      ⇒ {instantiated(n, Θ)}, {fulfilled(n, Θ)}




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Architecture

       A prototype has been implemented as a D ROOLS program.




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Rules in D ROOLS


       The base rules have been directly translated:

                 r u l e ” norm i n s t a n c e f u l f i l l m e n t ”
                 when
                     D e a c t i v a t i o n ( n : norm , f : f o r m u l a )
                     n i : I n s t a n t i a t e d ( norm == n , t h e t a : s u b s t i t u t i o n )
                    SubsetEQ ( t h e t a 2 : subset , s u p e r s e t == t h e t a )
                    Holds ( f o r m u l a == f , s u b s t i t u t i o n == t h e t a 2 )
                 then
                     retract ( ni ) ;
                     i n s e r t ( new F u l f i l l e d ( n , t h e t a ) ) ;
                 end




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Rules in D ROOLS

       The norms and counts-as rules are parsed into rules at
       run-time:

                        rule ” N1 activation 0 ”
                        when
                          n : Norm ( i d == ” N1 ” )
                          A c t i v a t i o n ( norm == n , f : f o r m u l a )
                          Enacts ( X : p0 , p1 == ” D r i v e r ” )
                          I s D r i v i n g ( p0 == X )
                        then
                          Set<Value> t h e t a = new Set<Value > ( ) ;
                          t h e t a . add ( new Value ( ” X ” , X ) ) ;
                          i n s e r t ( new Holds ( f . getClause ( 0 ) , t h e t a ) ) ;
                        end




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Rules in D ROOLS

       The parser fills the working memory:

                     ksession .     i n s e r t ( norm1 ) ;
                     ksession .     i n s e r t ( norm2 ) ;
                     ksession .     i n s e r t (new Repair ( norm1 , norm2 ) ) ;
                     ksession .     i n s e r t (new A c t i v a t i o n ( norm1 , fn1a ) ) ;
                     ksession .     i n s e r t (new Maintenance ( norm1 , fn1m ) ) ;
                     ksession .     i n s e r t (new D e a c t i v a t i o n ( norm1 , fn1d ) ) ;
                     ksession .     i n s e r t (new HasClause ( fn1a , fn1a1 ) ) ;
                     ksession .     i n s e r t (new HasClause ( fn1m , fn1m1 ) ) ;
                     ksession .     i n s e r t (new HasClause ( fn1d , fn1d1 ) ) ;
                     /∗                . . . same f o r norm2 . . .                  ∗/
                     ksession .     i n s e r t (new CountsAs ( c1g1 , c1g2 , c1s ) ) ;
                     ksession .     i n s e r t (new HasClause ( c1g1 , c1g11 ) ) ;
                     ksession .     i n s e r t (new HasClause ( c1g2 , c1g21 ) ) ;
                     ksession .     i n s e r t (new HasClause ( c1s , c1s1 ) ) ;




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions



Conclusions


               Practical reasoner for detecting event-driven normative
               states
                      Not intended to be a general purpose reasoner (e.g.
                      planner)
                      But can be used as a decoupled component
               Supporting both regulative norms and constitutive rules
               Reduction to general production systems
                      Based on very abstract semantics of production systems
                      Wide range of implementation-level rule languages
                      available
                      Allowing for dynamic normative specifications




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation
Introduction    Related Work     Preliminary definitions    Semantics      Reduction      Implementation      Conclusions




                                                  Thank You!




                                    ´
S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum   Normative Monitoring: Semantics and Implementation

Weitere ähnliche Inhalte

Mehr von Knowledge Engineering and Machine Learning Group

Mehr von Knowledge Engineering and Machine Learning Group (8)

People-as-a-Sensor of disruptive events (spanish)
People-as-a-Sensor of disruptive events (spanish)People-as-a-Sensor of disruptive events (spanish)
People-as-a-Sensor of disruptive events (spanish)
 
Social Institutions Dynamic in the Tragedy of the Commons
Social Institutions Dynamic in the Tragedy of the CommonsSocial Institutions Dynamic in the Tragedy of the Commons
Social Institutions Dynamic in the Tragedy of the Commons
 
Clojure: a LISP for the JVM
Clojure: a LISP for the JVMClojure: a LISP for the JVM
Clojure: a LISP for the JVM
 
cOnscienS: social and organizational framework for gaming AI
cOnscienS: social and organizational framework for gaming AIcOnscienS: social and organizational framework for gaming AI
cOnscienS: social and organizational framework for gaming AI
 
Making games ALIVE: an organisational approach
Making games ALIVE: an organisational approachMaking games ALIVE: an organisational approach
Making games ALIVE: an organisational approach
 
Demo: ALIVE@AAMAS'2010
Demo: ALIVE@AAMAS'2010Demo: ALIVE@AAMAS'2010
Demo: ALIVE@AAMAS'2010
 
cOncienS: un nuevo paradigma de IA para juegos
cOncienS: un nuevo paradigma de IA para juegoscOncienS: un nuevo paradigma de IA para juegos
cOncienS: un nuevo paradigma de IA para juegos
 
ALIVE @IIWAS'2009
ALIVE @IIWAS'2009ALIVE @IIWAS'2009
ALIVE @IIWAS'2009
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

Normative Monitoring: Semantics and Implementation

  • 1. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Normative Monitoring: Semantics and Implementation Sergio Alvarez-Napagao, Huib Aldewereld, ´ Javier Vazquez-Salceda and Frank Dignum COIN@MALLOW 2010 Lyon, France August 30, 2010 ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 2. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Outline 1 Introduction 2 Related Work 3 Preliminary definitions 4 Semantics 5 Reduction 6 Implementation 7 Conclusions ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 3. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Motivation Normative systems can help guide the behaviour of interacting agents Monitoring is vital for the effectiveness of a normative system Agents may enter and leave interaction contexts, so dynamic normative specifications are desirable Monitoring is a passive procedure based on the checking of past events Interpretation of institutional events from brute events If decoupled from reasoning, can be used by different kinds of agents and third parties ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 4. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Requirements Dynamic normative specifications Interpretation of both Institutional facts What ought to be done Ability to reason about norms themselves Efficiency with large sets of events Reusable formalism, decoupled implementation ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 5. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Requirements Dynamic normative specifications → Run-time specification loading Interpretation of both Institutional facts → Counts-as rules What ought to be done → Expressive normative language Ability to reason about norms themselves → Norms as first-class entities Efficiency with large sets of events → Rule-based engine Reusable formalism, decoupled implementation → From norms to rules ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 6. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Related work Normative / contract monitoring is not a new topic Some approaches (e.g. [Kyas et al. 08]) are based on verification techniques, checking events against traces For the monitoring of past events such complexity is not needed The most common approach has been rule-based ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 7. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Related work Some approaches for electronic SLA / contracts are quite mature (e.g. [Paschke et al. 05][Strano et al. 08]) However, the expressivity of the norm language used is limited Other approaches (e.g. [Governatori 05][Hubner et al. 09]) ¨ use rules to assert deontic expressions Parts of the norm lifecycle implementation are out of the base rule engine Norm instances are not easily traceable [Garc´a-Camino et al. 05] defines a full translation scheme ı into Jess But it uses language-specific constructs No support for constitutive rules [Tinnemeier et al. 09] defines operational semantics with a combination of counts-as rules and sanctions Regulative norms are not supported ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 8. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Our proposal Use of norm language with support for conditional deontic expressions Support for counts-as rules Reduction to semantics of a general rule-based language Providing a direct syntactic translation from norms to rules Decouple monitoring process from reasoning ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 9. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Example scenario 1 A person driving on a street is not allowed to break a traffic convention. 2 In case (1) is violated, the driver must pay a fine. 3 In a city, to exceed 50kmh counts as breaking a traffic convention. ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 10. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Notation O is a set of predicates and constants, LO is a predicate based propositional logic language with the connectives {¬, ∧, ∨}, wff (LO ) is the set of all possible well-formed formulas of LO , Θ = {x1 ← t1 , x2 ← t2 , ..., xi ← ti } is a substitution instance of the terms ti for the variables ti , R ⊂ O is the set of roles, and P is the set of participants, each one enacting at least one role in R, s ⊆ O is a certain state of the world, ni = n, θ is a norm instance, and n Y n means that n is a violation handling norm of n: fA ∧ ¬fM ∧ ¬fD ≡ fA . ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 11. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition of counts-as Definition A counts-as rule is a tuple c = γ1 , γ2 , s , where γ1 , γ2 ∈ wff (LO ), and s ⊆ O. Example In a city, to exceed 50kmh counts as breaking a traffic convention: C :={ exceeds(D, 50), traffic violation(D), is in city(D) } ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 12. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition of norm Definition A norm n is a tuple n = fA , fM , fδ , fD , fw , w , where fA , fM , fδ , fD , fw ∈ wff (LO ), w ∈ R, fA , fM , fD respectively represent the activation, maintenance, and deactivation conditions of the norm, fδ , fw are the explicit representation of the deadline and target of the norm, and w is the subject of the norm. This definition does not explicitly include deontic operators, but: fA → [Ow (Ew fw ≤ ¬fM ) U fD ] ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 13. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition A norm n is a tuple n = fA , fM , fδ , fD , fw , w , where fA , fM , fδ , fD , fw ∈ wff (LO ), w ∈ R, fA , fM , fD respectively represent the activation, maintenance, and deactivation conditions of the norm, fδ , fw are the explicit representation of the deadline and target of the norm, and w is the subject of the norm. Example A person driving on a street is not allowed to break a traffic convention: n1 := enacts(X , Driver ) ∧ is driving(X ), fA ¬traffic violation(X ), fM ⊥, fδ ¬is driving(X ), fD is driving(X ) ∧ ¬traffic violation(X ), fw Driver w ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 14. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition of institution Definition An institution I is a tuple of norms, roles, participants, counts-as rules, and an ontology: I = N, R, P, C, O Example N :={ enacts(X , Driver ) ∧ is driving(X ), ¬traffic violation(X ), ⊥, ¬is driving(X ), is driving(X ) ∧ ¬traffic violation(X ), Driver , enacts(X , Driver ) ∧ is driving(X ) ∧ traffic violation(X ), , paid fine(X ), Driver } R :={Driver }, P :={Person1 } C :={ exceeds(D, 50), traffic violation(D), is in city(D) } O :={role, enacts, is driving, is in city, exceeds, traffic violation, is driving, paid fine, Person1 , role(Driver ), enacts(Person1 , Driver )} ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 15. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Norm Lifecycle Definition Let ni = n, Θ be a norm instance, where n = fA , fM , fD , w , and a state of the world s with an expansion F (s). The lifecycle for norm instance ni is defined by the following normative state predicates: activated(ni) ⇔ ∃f ∈ F (s), Θ(fA ) ≡ f maintained(ni) ⇔ ∃Θ , ∃f ∈ F (s), Θ (fM ) ≡ f ∧ Θ ⊆ Θ deactivated(ni) ⇔ ∃Θ , ∃f ∈ F (s), Θ (fD ) ≡ f ∧ Θ ⊆ Θ instantiated(ni) ⇔ ni ∈ IS violated(ni) ⇔ ni ∈ VS fulfilled(ni) ⇔ ni ∈ FS where IS is the instantiation set, FS is the fulfillment set, and VS is the violation set, as defined above. ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 16. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Example of Norm Lifecycle A person driving on a street is not allowed to break a traffic convention: ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 17. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Normative Monitor Definition A Normative Monitor MI for an institution I is a tuple MI = I, S, IS, VS, FS . Definition An event e is a tuple e = α, p , where α ∈ P, and p ∈ wff (LO ). Definition The Labelled Transition System for a Normative Monitor MI is defined by Γ, E, £ . ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 18. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition Event processed: ei = α, p (1) i, s, is, vs, fs , ei , ei+1 £ i, s ∪ {p}, is, vs, fs , ei+1 Counts-as rule activation: ∃Θ, ∃f ∈ F (s), ∃ γ1 , γ2 , si ∈ C, si ⊆ s ∧ Θ(γ1 ) ≡ f ∧ Θ(γ2 ) ∈ s / (2) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s ∪ {Θ(γ2 )}, is, vs, fs , e Counts-as rule deactivation: ∃Θ, ∃f ∈ F (s), ∃ γ1 , γ2 , si ∈ C, si ⊆ s ∧ Θ(γ1 ) ≡ f ∧ Θ(γ2 ) ∈ s (3) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s − {Θ(γ2 )}, is, vs, fs , e ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 19. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition Norm instantiation: ∃n = fA , fM , fD , w ∈ N ∧ ¬∃n ∈ N, n Y n ∧ n, Θ ∈ is ∧ ∃Θ, ∃f ∈ F (s), f ≡ Θ(fA ) / (4) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is ∪ { n, Θ }, vs, fs , e Norm instance violation: ∃n = fA , fM , fD , w ∈ N ∧ n, Θ ∈ is ∧ n, Θ ∈ vs∧ / ¬(∃Θ, ∃f ∈ F (s), f ≡ Θ(fM ) ∧ Θ ⊆ Θ ) ∧ NR = n;n n ,Θ (5) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, (is − { n, Theta }) ∪ NR, vs ∪ { n, Θ }, fs , e Norm instance fulfilled: ∃n = fA , fM , fD , w ∈ N ∧ n, Θ ∈ is ∧ ∃Θ, ∃f ∈ F (s), f ≡ Θ(fD ) ∧ Θ ⊆ Θ (6) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is − { n, Θ }, vs, fs ∪ n, Θ ,e Norm instance violation repaired: ∃n, n ∈ N ∧ n Y n ∧ n, Θ ∈ vs ∧ n , Θ ∈ fs (7) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is, vs − { n, Θ }, fs , e ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 20. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Definition Norm instantiation: ∃n = fA , fM , fD , w ∈ N ∧ ¬∃n ∈ N, n Y n ∧ ∃Θ, (activated( n, Θ ) ∧ ¬instantiated( n, Θ )) (8) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is ∪ { n, Θ }, vs, fs , e Norm instance violation: ∃n = fA , fM , fD , w ∈ N ∧ ∃Θ , instantiated( n, Θ ) ∧ ¬violated( n, Θ ) ∧¬maintained( n, Θ ) ∧ NR = n;n n ,Θ (9) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, (is − { n, Theta }) ∪ NR, vs ∪ { n, Θ }, fs , e Norm instance fulfilled: ∃n = fA , fM , fD , w ∈ N ∧ instantiated( n, Θ ) ∧ fulfilled(n, Θ ) (10) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is − { n, Θ }, vs, fs ∪ n, Θ ,e Norm instance violation repaired: ∃n, n ∈ N ∧ n Y n ∧ ∃Θ, violated( n, Θ ) ∧ fulfilled( n , Θ ) (11) N, R, P, C, O , s, is, vs, fs , e £ N, R, P, C, O , s, is, vs − { n, Θ }, fs , e ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 21. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Semantics of production systems Definition A production rule is denoted if p, c remove r add a, or patterns, constraints ⇒ remove, add Definition A general production system PS is defined as PS = P, WM0 , R , where: P is a set of predicate symbols, WM is the working memory, a set of facts, and R is a set of production rules. ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 22. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Reduction to production systems In order to represent our semantics to a production system, we have to define the translation of P, WM0 , and R for a certain institution I = N, R, P, C, O . We assume all formulas are in DNF. Definition The set of predicates for our production system is: PI := O ∪ {activated, maintained, deactivated, violated, instantiated, fulfilled, event, repair , holds, has clause, countsas} WMI will include each formula found in every norm condition and counts-as rule, as well as the relationship between each formula and norms or counts-as rule. Example has clause(f , f0 ), has clause(f , f1 ), activation(n1 , f ) ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 23. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Reduction to production systems The set of rules of the production system will include: For each formula in a norm or counts-as rule, when they hold true: r h := has clause(f , f ) ∧ holds(f , Θ) ⇒ ∅, {holds(f , Θ)} A translation of each rule from the Normative Monitor transition system: r nf = deactivation(n, f ) ∧ instantiated(n, Θ) ∧ subseteq(Θ , Θ) ∧ holds(f , Θ ), Θ ⊆Θ ⇒ {instantiated(n, Θ)}, {fulfilled(n, Θ)} ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 24. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Architecture A prototype has been implemented as a D ROOLS program. ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 25. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Rules in D ROOLS The base rules have been directly translated: r u l e ” norm i n s t a n c e f u l f i l l m e n t ” when D e a c t i v a t i o n ( n : norm , f : f o r m u l a ) n i : I n s t a n t i a t e d ( norm == n , t h e t a : s u b s t i t u t i o n ) SubsetEQ ( t h e t a 2 : subset , s u p e r s e t == t h e t a ) Holds ( f o r m u l a == f , s u b s t i t u t i o n == t h e t a 2 ) then retract ( ni ) ; i n s e r t ( new F u l f i l l e d ( n , t h e t a ) ) ; end ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 26. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Rules in D ROOLS The norms and counts-as rules are parsed into rules at run-time: rule ” N1 activation 0 ” when n : Norm ( i d == ” N1 ” ) A c t i v a t i o n ( norm == n , f : f o r m u l a ) Enacts ( X : p0 , p1 == ” D r i v e r ” ) I s D r i v i n g ( p0 == X ) then Set<Value> t h e t a = new Set<Value > ( ) ; t h e t a . add ( new Value ( ” X ” , X ) ) ; i n s e r t ( new Holds ( f . getClause ( 0 ) , t h e t a ) ) ; end ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 27. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Rules in D ROOLS The parser fills the working memory: ksession . i n s e r t ( norm1 ) ; ksession . i n s e r t ( norm2 ) ; ksession . i n s e r t (new Repair ( norm1 , norm2 ) ) ; ksession . i n s e r t (new A c t i v a t i o n ( norm1 , fn1a ) ) ; ksession . i n s e r t (new Maintenance ( norm1 , fn1m ) ) ; ksession . i n s e r t (new D e a c t i v a t i o n ( norm1 , fn1d ) ) ; ksession . i n s e r t (new HasClause ( fn1a , fn1a1 ) ) ; ksession . i n s e r t (new HasClause ( fn1m , fn1m1 ) ) ; ksession . i n s e r t (new HasClause ( fn1d , fn1d1 ) ) ; /∗ . . . same f o r norm2 . . . ∗/ ksession . i n s e r t (new CountsAs ( c1g1 , c1g2 , c1s ) ) ; ksession . i n s e r t (new HasClause ( c1g1 , c1g11 ) ) ; ksession . i n s e r t (new HasClause ( c1g2 , c1g21 ) ) ; ksession . i n s e r t (new HasClause ( c1s , c1s1 ) ) ; ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 28. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Conclusions Practical reasoner for detecting event-driven normative states Not intended to be a general purpose reasoner (e.g. planner) But can be used as a decoupled component Supporting both regulative norms and constitutive rules Reduction to general production systems Based on very abstract semantics of production systems Wide range of implementation-level rule languages available Allowing for dynamic normative specifications ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation
  • 29. Introduction Related Work Preliminary definitions Semantics Reduction Implementation Conclusions Thank You! ´ S.Alvarez-Napagao, H.Aldewereld, J.Vazquez-Salceda, F.Dignum Normative Monitoring: Semantics and Implementation