social computing with 2comm4jason
play

Social Computing with 2COMM4JASON Matteo Baldoni 1 joint work with - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. JaCaMo + 2COMM4Jason BBC (UniTO) Dagstuhl, March 23-27, 2015 11 / 16 NorMAS 2015

  12. 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