Upload
zahina
View
58
Download
2
Tags:
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
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