1 / 36

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES. Shameem Shah Nawaz Supervised by: Asst. Prof. Dr. P ı nar Yolum. Outline. Technical Background Addition of Time Conflict Detection Conflict Scenarios Resolving Conflicts Higher Level View of Organizations Software Demo.

zahina
Download Presentation

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  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. Technical Background • Commitment • is a promise or an obligation • expressed as CommitmentId(debtor, creditor, proposition) • an example commitment: Ci(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. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} Step1: RC & D nodes are created D RC

  6. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} Step2: For each commitment a new node and edges are created iteratively. C1 D RC

  7. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} Step2: For each commitment a new node and edges are created iteratively. C1 D RC C2

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

  9. Addition of Time • Importance • Time Point • discrete moment in time • two special time points, tb & te • Time Interval – bounded by two time points • Transition Point – where propositions reverse smoothly • Time Quantifier • Existential • Universal

  10. Addition of Time • Time Model • Binding Commitments with Time • CommitmentId(debtor, creditor, proposition) [Time Bound] Time Quantifier • example: Ci(Employee 1, Manager, Produce Toys) [ Today ] E • Conflicts among Time-bound Commitments tb t0 t1 t2 t3 t4 t5 te

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

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

  13. Conflict Scenarios • Non-overlapping Time Intervals • Identical Time Intervals C2 C1 t0 t1 t2 t3 t4 C2 C1 t0 t1 t2 t3 t4

  14. Conflict Scenarios • Containing Time Intervals • Intersecting Time Intervals C2 C1 t0 t1 t2 t3 t4 C2 C1 t0 t1 t2 t3 t4

  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. An Example Scenario of Conflict Resolution Commitments: C1(x, y, pass through the door)[1:00pm – 1:10pm] E C2(y, x, open the door) [12:59pm – 1:09pm] E C3(x, y, close the door) [1:00pm – 1:11pm] E • C2 and C3 are possibly in conflict between 1:00pm – 1:10pm • eliminate commitment C3? • fairly distributing the time between C2 and C3 ? • shift the time bound of commitment C3? • using a constraint (C2 < C3) such that C3 is valid only when C2is satified?

  17. Higher Level View of Organizations • Aggregation on Time • debtor, creditor and proposition same • time intervals are consecutive C1(producer, seller, produce) [ Jan ] C2(producer, seller, produce) [ Feb ] C3(producer, seller, produce) [ Mar ] ULC1(producer, seller, produce) [ Q1 ] C1 C2 C3 ULC1 Jan Feb Mar Jan Feb Mar

  18. Higher Level View of Organizations • Grouping Agents • same proposition and time interval • group composition known beforehand C1(producer 1, seller, produce) [Q1] C2(producer 2, seller, produce) [Q1] C3(producer 3, seller, produce) [Q1] ULC1(group of producers, seller, produce)[Q1] P1 C1 C2 ULC1 P2 S Group of Producers Seller C3 P3

  19. Higher Level View of Organizations • Conceptually Upper Level Commitments • base level commitments are part of an upper level concept C1(professor, department, prepare course outline) [ beginning of term ] C2(professor, department, give lectures) [ along term ] C3(professor, department, evaluate students) [ end of term ] ULC1(professor, department, offer a course) [ term ]

  20. Higher Level View of Organizations • Aggregation on Transitivity of Commitments • inherent transitive relations C1(x, y, pay $100) [ t1 – t2 ] C2(y, z, pay $100) [ t2 – t3 ] ULC1(x, z, pay $100) [ t1 – t3 ] • aggregation may cause low level data loss • designer should decide whether to proceed with aggregation x x t1 C1 y t2 ULC1 C2 t3 z z

  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. Software Tool Demo • OrgL – larger organization • OrgS – smaller organization GM Pr Is Es In E_Pr_1 E_Pr_2 E_Is E_Es E_In GM Pr E_Pr_1 E_Pr_2

  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. 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. Algorithm 1Build-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: fori = 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. Algorithm 1Build-commitment-graph(CS, O) 12: elseif (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: elseif (O(c)[i] == release) || (O(c)[i] == cancel) then 17: Add (c, c.RC) to E 18: elseif (O(c)[i] == discharge) then 19: Add (c, c.D) to E 20: end if 21: endfor 22: end while

  27. Algorithm 2Color-graph(G) 1: visited =  2: whiteList =  3: blackList =  4: fori = 1 to |V| do 5: if (V(i)  visited) then 6: visit(V(i)) 7: endif 8: endfor

  28. Algorithm 3visit(u) 1: Add u to visited 2: if (u.adjacentTo(D OR RC)) then 3: Add u to whiteList 4: elseif (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: endif

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

  30. Algorithm 4Check-consistency(G) 1: inconsistentList =  2: fori = 1 to |V| - 1 do 3: forj = 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. Algorithm 5Detect-CPT(SCP) 1: conflictGivenTimeList =  2: noConflictGivenTimeList =  3: fori = 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. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} C3(Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. C1 D RC C3 C2

  33. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} C3(Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. C1 D RC C3 C2

  34. Technical Background - Commitment Graph C1(Emp1, Supervisor, Produce) {cancel, discharge} C2(Emp1, Manager, Produce) {cancel, discharge , assignto Supervisor} C3(Emp2, Supervisor, Produce) {cancel, delegate to Emp1} Step2: For each commitment a new node and edges are created iteratively. C1 D RC C3 C2

  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+ tp t-p t+p tb te

  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

More Related