Social Computing with 2COMM4JASON Matteo Baldoni 1 joint work with C. Baroglio, F. Capuzzimati, and R. Micalizio 1 Dipartimento di Informatica, Universit` a degli Studi di Torino http://www.di.unito.it/~baldoni Dagstuhl, March 23-27, 2015 BBC (UniTO) Dagstuhl, March 23-27, 2015 1 / 16 NorMAS 2015
Social Computing Social relationships connect the interacting indipendent parties Social relationships usually have a normative value, in that they allow agents to have expectations on one another Social relationships can be verified based just on the observable behavior of the parties Social engagments (personal or business relationships) that foreseen collaboration specified by social protocols [Singh, 2014] BBC (UniTO) Dagstuhl, March 23-27, 2015 2 / 16 NorMAS 2015
Social Computing and Software Engeenering The advantages of explicitly representing the social state is to allow the realization of systems with A high degree of decoupling , modularity , and reuse A separation of concerns between agent programming and the programming of agent coordination Anticipation of change, generality, incremental development principles BBC (UniTO) Dagstuhl, March 23-27, 2015 3 / 16 NorMAS 2015
2COMM [Baldoni et al., 2014] An agent framework explicitly represents the social state through the social relationships and the rules that cause it to evolve along the interaction Agents and social states are first-class entities that interact in a bi-directional manner: ◮ Social relationships are created by the execution of interaction protocols and provide expectations on the agents’ behavior ◮ Social relationships affect the decisions and the behaviors of the agents they involve BBC (UniTO) Dagstuhl, March 23-27, 2015 4 / 16 NorMAS 2015
2COMM [Baldoni et al., 2014] An explicit representation of interaction rules and social state in form of resources that are available to system components ◮ We exploit the Agent&Artifact (A&A) meta-model [Omicini et al., 2008] Social relationships among agents represented as commitments , interaction ruled/espressed similarly to commitment-based interaction protocols BBC (UniTO) Dagstuhl, March 23-27, 2015 5 / 16 NorMAS 2015
Commitment Commitment C ( x , y , r , p ) represents the engagement from x to y , to bring about the consequent condition p when the antecedent condition r holds. Commitments have a normative nature: agents are liable for the violation of the commitments they have taken Commitment protocols allow for flexible behaviours: x is free to choose its actions The agent’s compliance can be verified by observing the interaction Life cycle: created, satisfied, violated, conditional, detached, expired, pending, terminated BBC (UniTO) Dagstuhl, March 23-27, 2015 6 / 16 NorMAS 2015
2COMM4Jade and 2COMM4Jason Jade + 2COMM4Jade: a set of library built on the top of Jade [Bellifemine et al., 2005] and CArtAgO [Ricci et al., 2011]. It has been implemented a bridge between the above framework as well JaCaMo + 2COMM4Jason: built on the top of JaCaMo [Boissier et al., 2013], i.e. Jason + CArtAgO + Moise BBC (UniTO) Dagstuhl, March 23-27, 2015 7 / 16 NorMAS 2015
Representing social relationships: commitments cc ( debtor , creditor , antecedent , consequent , status ) Commitments can be used in contexts and in plans as: test goals : ? cc ( debtor , creditor , antecedent , consequent , status ) achievement goal : ! cc ( debtor , creditor , antecedent , consequent , status ) Possible to specify plans whose triggering events involve commitments: +! cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � − ! cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � + cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � − cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � BBC (UniTO) Dagstuhl, March 23-27, 2015 8 / 16 NorMAS 2015
Commiment achievement goals +! cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � . after the execution of the plan the commitment C ( debtor , creditor , antecedent , consequent ) will hold in the social state likely the body contains the execution of an action/artifact operation that creates the commitment C ( debtor , creditor , antecedent , consequent ) in the social state Example 1 +!cc ( My Role Id , I n i t i a t o r R o l e I d , "accept" , "(done OR failure)" , " CONDITIONAL " ) 2 : enactment id ( R o l e I d ) & task ( Task , I n i t i a t o r R o l e I d ) 3 ! p r e p a r e p r o p o s a l ( Task , Prop , Cost ) ; < − 4 propose ( Prop , Cost , I n i t i a t o r R o l e I d ) ; 5 +my proposal ( Prop , Cost , I n i t i a t o r R o l e I d ) . BBC (UniTO) Dagstuhl, March 23-27, 2015 9 / 16 NorMAS 2015
Triggering commitments status change + cc ( debtor , creditor , antecedent , consequent , status ) : � context � ← � body � . plan associated with the presence of a certain commitment in the social state the plan may achieve a change of the status of the commitment (e.g.: the debtor will satisfy the consequent , the creditor will satisfy the antecedent ) or simply doing something as a reaction (e.g. collecting information) Example 1 +cc ( My Role Id , I n i t i a t o r R o l e I d , "true" , "(done OR failure)" , "DETACHED" ) 2 : enactment id ( My Id ) & accept ( My Role Id ) 3 ! cc ( My Role Id , I n i t i a t o r R o l e I d , "true" , "(done OR failure)" , "SATISFIED" ) . < − BBC (UniTO) Dagstuhl, March 23-27, 2015 10 / 16 NorMAS 2015
JaCaMo + 2COMM4Jason BBC (UniTO) Dagstuhl, March 23-27, 2015 11 / 16 NorMAS 2015
The Dining Philosophers: JaCaMo+ 1 +! s t a r t : true 2 focusWhenAvailable ( " philoArtifact " ) ; enact ( " philosopher " ) . < − 3 +enacted ( Id , " philosopher " , R o l e I d ) 4 +enactment id ( R o l e I d ) ; . my name (Me) ; < − 5 i n ( " philo_init" , Me, Left , Right ) ; 6 +m y l e f t f o r k ( L e f t ) ; +m y r i g h t f o r k ( Right ) ; 7 ! ! l i v i n g . 8 +! l i v i n g : counter (C) 9 ! t h i n k i n g ; ! e a t i n g . < − 10 +! e a t i n g : m y l e f t f o r k ( L e f t ) & m y r i g h t f o r k ( Right ) & counter (C) 11 . my name (Me) ; ? enactment id ( R o l e I d ) ; < − 12 askForks ( Left , Right , C ) . 13 +cc ( My Role Id , " philosopher " , a v a i l a b l e ( Left , Right , C) , 14 r e t u r n F o r k s ( Left , Right , C) , "DETACHED" ) 15 : enactment id ( My Role Id ) & m y l e f t f o r k ( L e f t ) & 16 m y r i g h t f o r k ( Right ) & counter (C) 17 ! eat ( Left , Right , C ) ; < − 18 r e t u r n F o r k s ( Left , Right , C ) . 19 +cc ( My Role Id , " philosopher " , a v a i l a b l e ( Left , Right , C) , 20 r e t u r n F o r k s ( Left , Right , C) , "SATISFIED" ) 21 : enactment id ( My Role Id ) & m y l e f t f o r k ( L e f t ) 22 ? counter (C ) ; − +counter (C+1); ! l i v i n g . < − 23 +! eat ( Left , Right , C ) : m y l e f t f o r k ( L e f t ) & m y r i g h t f o r k ( Right ) 24 & a v a i l a b l e ( Left , Right , C) & counter (C) 25 . my name (Me) ; ? enactment id ( R o l e I d ) . < − 26 p r i n t l n (Me, " " , Role Id , " eating" ) . 27 +! t h i n k i n g : counter (C) 28 − . my name (Me) ; ? enactment id ( R o l e I d ) ; < 29 p r i n t l n (Me, " " , Role Id , " thinking , time " ,C ) . BBC (UniTO) Dagstuhl, March 23-27, 2015 12 / 16 NorMAS 2015
Recommend
More recommend