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

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

  • Upload
    zahina

  • View
    58

  • Download
    2

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

Shameem Shah NawazSupervised by: Asst. Prof. Dr. Pınar Yolum

Page 2: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

2

Outline

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

Page 3: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 4: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 5: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

5

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

Step1: RC & D nodes are created

D

RC

Page 6: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

6

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

Step2: For each commitment a new node and edges are created iteratively.

D

RC

C1

Page 7: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

7

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

Step2: For each commitment a new node and edges are created iteratively.

D

RC

C1

C2

Page 8: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

8

Technical Background

Resolvable Commitment- can either be released or cancelled or discharged- or has an edge to another resolvable commitment

Conflicts among CommitmentsC1(Emp1, Supervisor, Produce) {discharge}

C2(Emp1, Supervisor, Not Produce) {discharge}

Set of Conflicting Commitments

Page 9: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 10: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 11: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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}

Page 12: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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}

Page 13: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

13

Conflict Scenarios

Non-overlapping Time Intervals

Identical Time Intervals

C2

t1 t2 t3 t4t0

C1

C2

t1 t2 t3 t4t0

C1

Page 14: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

14

Conflict Scenarios

Containing Time Intervals

Intersecting Time Intervals

C2

t1 t2 t3 t4t0

C1

C2

t1 t2 t3 t4t0

C1

Page 15: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 16: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

16

An Example Scenario of Conflict ResolutionCommitments:

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 C2 is satified?

Page 17: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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 ]

MarFebJan

C2 C3

MarFebJan

ULC1C1

Page 18: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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 ]C1

ULC1

P1

P3

P2 S SellerGroup of Producers

C3

C2

Page 19: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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 ]

Page 20: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

C1

ULC1

C2

x

z

y

x

z

t1

t2

t3

Page 21: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 22: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Pr

E_Pr_1 E_Pr_2

GM

Page 23: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 24: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 25: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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

Page 26: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

26

Algorithm 1Build-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

Page 27: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

27

Algorithm 2Color-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

Page 28: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

28

Algorithm 3visit(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

Page 29: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

29

Algorithm 3visit(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

Page 30: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

30

Algorithm 4Check-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

Page 31: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

31

Algorithm 5Detect-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

Page 32: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

32

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

C3(Emp2, Supervisor, Produce) {}

Step2: For each commitment a new node and edges are created iteratively.

D

RC

C1

C2

C3

Page 33: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

33

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

C3(Emp2, Supervisor, Produce) {}

Step2: For each commitment a new node and edges are created iteratively.

D

RC

C1

C2

C3

Page 34: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

34

Technical Background - Commitment Graph

C1(Emp1, Supervisor, Produce) {cancel, discharge}

C2(Emp1, Manager, Produce) {cancel, discharge , assign to Supervisor}

C3(Emp2, Supervisor, Produce) {cancel, delegate to Emp1}

Step2: For each commitment a new node and edges are created iteratively.

D

RC

C1

C2

C3

Page 35: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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+

tb te

tpt-p t+

p

Page 36: COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

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