Download presentation

Presentation is loading. Please wait.

Published byGary Strother Modified over 2 years ago

1
COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES Shameem Shah Nawaz Supervised by: Asst. Prof. Dr. Pınar Yolum

2
2 Outline Technical Background Addition of Time Conflict Detection Conflict Scenarios Resolving Conflicts Higher Level View of Organizations Software Demo

3
3 Motivation representing interactions among agents in multiagent organizations using commitment-based approach detecting and resolving conflicts generating higher level views of interactions desiging and developing a software tool

4
4 Technical Background Commitment - is a promise or an obligation - expressed as Commitment Id (debtor, creditor, proposition) - an example commitment: C i (Employee 1, Manager, Produce Toys) Operations on Commitments - Create – can only be created by debtor - Cancel – can only be cancelled by debtor - Release – can only be released by creditor - Assign – can only be assigned by creditor - Delegate – can only be delegated by debtor - Discharge – satisfies a commitment

5
5 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step1: RC & D nodes are created D RC

6
6 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1

7
7 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2

8
8 Technical Background Resolvable Commitment - can either be released or cancelled or discharged - or has an edge to another resolvable commitment Conflicts among Commitments C 1 (Emp1, Supervisor, Produce) { discharge} C 2 (Emp1, Supervisor, Not Produce) { discharge} Set of Conflicting Commitments

9
9 Addition of Time Importance Time Point - discrete moment in time - two special time points, t b & t e Time Interval – bounded by two time points Transition Point – where propositions reverse smoothly Time Quantifier - Existential - Universal

10
10 Addition of Time Time Model Binding Commitments with Time - Commitment Id (debtor, creditor, proposition) [Time Bound] Time Quantifier - example: C i (Employee 1, Manager, Produce Toys) [ Today ] E Conflicts among Time-bound Commitments tbtb t0t0 t1t1 t2t2 t3t3 t4t4 t5t5 tete

11
11 Conflict Detection Conflicting Commitments given Time-bounds - consider time while detecting conflicts - conflict when time is not considered C 1 (Emp1, Supervisor, Produce) {discharge} C 2 (Emp1, Supervisor, Not Produce) {discharge} - still in conflict after adding time C 1 (Emp1, Supervisor, Produce) [ Today ] E {discharge} C 2 (Emp1, Supervisor, Not Produce) [ Today ] U {discharge} - no longer in conflict if time intervals do not overlap C 1 (Emp1, Supervisor, Produce) [ Today ] E {discharge} C 2 (Emp1, Supervisor, Not Produce) [ Tomorrow ] U {discharge}

12
12 Conflict Detection Conflict Types - Certain C 1 (Emp1, Supervisor, Produce) [ Today ] E {discharge} C 2 (Emp1, Supervisor, Not Produce) [ Today ] U {discharge} - Possible C 1 (Emp1, Supervisor, Produce) [ Today ] E {discharge} C 2 (Emp1, Supervisor, Not Produce) [ Today ] E {discharge} Unrealistic Commitments - not in conflict but depends on other commitments C 1 (seller, customer, sell toys) [ Today ] E {discharge} C 2 (producer, seller, produce toys) [ Today ] E {discharge}

13
13 Conflict Scenarios Non-overlapping Time Intervals Identical Time Intervals C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1 C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1

14
14 Conflict Scenarios Containing Time Intervals Intersecting Time Intervals C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1 C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1

15
15 Resolving Conflicts Discarding a Commitment - simplest way; eliminate erroneous commitment Modifying a Commitment - Delegate to a different debtor - Assign to a different creditor Shifting Time Bounds - such that time bounds do not overlap Using Constraints - such that conflicting commitments do not have to be valid at the same time

16
16 An Example Scenario of Conflict Resolution Commitments: C 1 (x, y, pass through the door) [ 1:00pm – 1:10pm ] E C 2 (y, x, open the door) [ 12:59pm – 1:09pm ] E C 3 (x, y, close the door) [ 1:00pm – 1:11pm ] E - C 2 and C 3 are possibly in conflict between 1:00pm – 1:10pm - eliminate commitment C 3 ? - fairly distributing the time between C 2 and C 3 ? - shift the time bound of commitment C 3 ? - using a constraint ( C 2 < C 3 ) such that C 3 is valid only when C 2 is satified?

17
17 Higher Level View of Organizations Aggregation on Time - debtor, creditor and proposition same - time intervals are consecutive C 1 (producer, seller, produce) [ Jan ] C 2 (producer, seller, produce) [ Feb ] C 3 (producer, seller, produce) [ Mar ] ULC 1 (producer, seller, produce) [ Q1 ] MarFebJan C2C2 C3C3 MarFebJan ULC 1 C1C1

18
18 Higher Level View of Organizations Grouping Agents - same proposition and time interval - group composition known beforehand C 1 (producer 1, seller, produce) [ Q1 ] C 2 (producer 2, seller, produce) [ Q1 ] C 3 (producer 3, seller, produce) [ Q1 ] ULC 1 (group of producers, seller, produce) [ Q1 ] C1C1 ULC 1 P1 P3 P2SSellerGroup of Producers C3C3 C2C2

19
19 Higher Level View of Organizations Conceptually Upper Level Commitments - base level commitments are part of an upper level concept C 1 (professor, department, prepare course outline) [ beginning of term ] C 2 (professor, department, give lectures) [ along term ] C 3 (professor, department, evaluate students) [ end of term ] ULC 1 (professor, department, offer a course) [ term ]

20
20 Higher Level View of Organizations Aggregation on Transitivity of Commitments - inherent transitive relations C 1 (x, y, pay $100) [ t 1 – t 2 ] C 2 (y, z, pay $100) [ t 2 – t 3 ] ULC 1 (x, z, pay $100) [ t 1 – t 3 ] - aggregation may cause low level data loss - designer should decide whether to proceed with aggregation C1C1 ULC 1 C2C2 x z y x z t1t1 t2t2 t3t3

21
21 Software Tool Architecture developed in Java commitment protocol specified in XML - time model - commitments - constraints when fed with XML specification - commitment graph is created - conflicts detected - help is provided on conflict resolution - upper level commitments are created

22
22 Software Tool Demo OrgL – larger organization OrgS – smaller organization GM PrIsEsIn E_Pr_1E_Pr_2E_IsE_EsE_In Pr E_Pr_1E_Pr_2 GM

23
23 Literature Fornara and Colombetti - a method for agent communication - based on social notion of commitments - no mention of inconsistency - no time frame for commitments Artikis et al. - develop a framework to animate computational societies - set of agents, roles, constraints, etc characterize a society - event calculus is used to represent the concepts of a society - no design rules to establish the correctness of societies

24
24 Discussion Summary - added the concept of time with commitments - extended the algorithm to detect conflicts - developed ways to resolve conflicts - generated ways to present higher level views Future Directions - verify protocol in run time - incorporate state transitions - process quantifiable information in propositions - employ AI techniques to suggest how to resolve conflicts

25
25 Algorithm 1 Build-commitment-graph(CS, O) 1: Create a node RC 2: Create a node D 3: possible-commitments = CS 4: while (possible-commitments != ) do 5: Remove a commitment c 6: Add a new node c to V 7: for i = 1 to |O(c)| do 8: if (O(c)[i] == delegate) then 9: Add a new node c.delegate to V 10: Add (c, c.delegate) to E 11: Add c.delegate to possible-commitments

26
26 Algorithm 1 Build-commitment-graph(CS, O) 12: else if (O(c)[i] == assign) then 13: Add a new node c. assign to V 14: Add (c, c. assign) to E 15: Add c. assign to possible-commitments 16: else if (O(c)[i] == release) || (O(c)[i] == cancel) then 17: Add (c, c.RC) to E 18: else if (O(c)[i] == discharge) then 19: Add (c, c.D) to E 20: end if 21: end for 22: end while

27
27 Algorithm 2 Color-graph(G) 1: visited = 2: whiteList = 3: blackList = 4: for i = 1 to |V| do 5: if (V(i) visited) then 6: visit(V(i)) 7: end if 8: end for

28
28 Algorithm 3 visit(u) 1: Add u to visited 2: if (u.adjacentTo(D OR RC)) then 3: Add u to whiteList 4: else if (u.hasNeighbors()) then 5: while (u whiteList) AND (THERE EXIST E(u, v) : v visited) do 6: if (v visited) then 7: visit(v) 8: end if

29
29 Algorithm 3 visit(u) 9: if (v whiteList) then 10: Add u to whiteList 11: else 12: Add u to blackList 13: end if 14: end while 15: else 16: Add u to blackList 17: end if

30
30 Algorithm 4 Check-consistency(G) 1: inconsistentList = 2: for i = 1 to |V| - 1 do 3: for j = i + 1 to |V| do 4: Determine if V(i) and V(j) are conflicting 5: if conflicting(V(i) and V(j)) then 6: if NOT EXIST(E(V(i)), RC) AND NOT EXIST(E(V(j)), RC) then 7: Add V(i) and V(j) to inconsistentList 8: end if 9: end if 10: end for 11: end for

31
31 Algorithm 5 Detect-CPT(SCP) 1: conflictGivenTimeList = 2: noConflictGivenTimeList = 3: for i = 1 to |SCP| do 4: Compare time intervals of SCP[i] 5: if (time intervals overlapping) then 6: Add SCP[i] to conflictGivenTimeList 7: else 8: Add SCP[i] to noConflictGivenTimeList 9: end if 10: end for

32
32 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

33
33 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

34
34 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {cancel, delegate to Emp1} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

35
35 Transition Point - specify a time point when a proposition reverses - but both the proposition and its reverse are not valid at the same time - a proposition is valid until tp- - and its reverse is valid from tp+ tbtb tete tptp t-pt-p t+pt+p

36
36 Types of Proposition Cumulative - accumulation is significant - ex., paying $100 – two same proposition would mean paying $200 - organization state always changes whenever a cumulative proposition is satisfied Repetitive - accumulation is insignificant - ex., turning a light on – two same propositions would mean turning on the same light twice - organization state may not change when a repetitive proposition is satisfied more than once

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google