Loading in 2 Seconds...

COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES

Loading in 2 Seconds...

- 118 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'COMMITMENTS FOR ORGANIZATIONS: DEALING WITH INCONSISTENCIES' - zahina

**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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

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

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

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

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

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

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

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

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

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

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}

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}

Conflict Scenarios

- Non-overlapping Time Intervals
- Identical Time Intervals

C2

C1

t0

t1

t2

t3

t4

C2

C1

t0

t1

t2

t3

t4

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

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?

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

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

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 ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download Presentation

Connecting to Server..