commitments for organizations: dealing with inconsistencies

Post on 13-Jan-2016

60 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

Shameem Shah NawazSupervised 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 , assign to 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 , assign to Supervisor}

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

D

RC

C1

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

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

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

t1 t2 t3 t4t0

C1

C2

t1 t2 t3 t4t0

C1

14

Conflict Scenarios

Containing Time Intervals

Intersecting Time Intervals

C2

t1 t2 t3 t4t0

C1

C2

t1 t2 t3 t4t0

C1

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

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

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

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

C1

ULC1

C2

x

z

y

x

z

t1

t2

t3

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

Pr

E_Pr_1 E_Pr_2

GM

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

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

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

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

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

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

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

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

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

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

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

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

top related