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

Slides:



Advertisements
Similar presentations
Policy Auditing over Incomplete Logs: Theory, Implementation and Applications Deepak Garg 1, Limin Jia 2 and Anupam Datta 2 1 MPI-SWS (work done at Carnegie.
Advertisements

Complex Organizational System A Complex System Model for Organizations, Companies and Social Actions.
AI Pathfinding Representing the Search Space
WP7: Empirical Studies Presenters: Paolo Besana, Nardine Osman, Dave Robertson.
Designing an Architecture 1.Design Strategy Decomposition Designing to Architecturally Significant Requirements Generate and Test This generate-and test.
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
Timed Automata.
Lecture # 2 : Process Models
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
VIDE als voortzetting van Cocktail SET Seminar 11 september 2008 Dr. ir. Michael Franssen.
Best-First Search: Agendas
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Software Testing and Quality Assurance
Distributed Systems Fall 2010 Transactions and concurrency control.
CS 589 Information Risk Management 23 January 2007.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Model Eco-systems Decision Systems Lab University of Wollongong.
1 Persistence Acquisition and Maintenance for Autonomous Formations Brad C. YU National ICT Australia Limited The Australian National University With Baris.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
SOFTWARE QUALITY ASSURANCE Asst. Prof. Dr. Selim BAYRAKLI Maltepe University Faculty of Engineering SE 410.
Detection and Resolution of Anomalies in Firewall Policy Rules
Computing & Information Sciences Kansas State University Wednesday, 01 Oct 2008CIS 560: Database System Concepts Lecture 15 of 42 Wednesday, 01 October.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Managing Social Influences through Argumentation-Based Negotiation Present by Yi Luo.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Automatic Trust Negotiation Presented by: Scott Hackman 1Scott Hackman – CS5204 – Operating Systems.
A Modeling Language to Model Norms Karen Figueiredo Viviane Torres da Silva Universidade Federal Fluminense (UFF)
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Introduction to variable selection I Qi Yu. 2 Problems due to poor variable selection: Input dimension is too large; the curse of dimensionality problem.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
Digital Logic Lecture 4 Binary Codes The Hashemite University Computer Engineering Department.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Argumentation and Trust: Issues and New Challenges Jamal Bentahar Concordia University (Montreal, Canada) University of Namur, Belgium, June 26, 2007.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Software Transition Testing Presented By: Varun Phanda
Knowledge Representation Use of logic. Artificial agents need Knowledge and reasoning power Can combine GK with current percepts Build up KB incrementally.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms –Bully algorithm.
A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
CS212: Object Oriented Analysis and Design Lecture 13: Relationship between Classes.
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
SOME ISSUES OF ROLE- BASED COLLABORATION Haibin Zhu, PhD Member, IEEE, Assistant Professor Dept. of Computer Science, Nipissing University, 100 College.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
Optimistic Methods for Concurrency Control By: H.T. Kung and John Robinson Presented by: Frederick Ramirez.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
CSE Winter 2008 Introduction to Program Verification January 15 tautology checking.
PolicyMorph: Interactive Policy Model Transformations for a Logical ABAC Framework Michael LeMay Omid Fatemieh Carl A. Gunter.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Service-Oriented Computing: Semantics, Processes, Agents
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Understanding the Management Process
Presentation transcript:

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 Commitment Id (debtor, creditor, proposition) - an example commitment: C i (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 C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step1: RC & D nodes are created D RC

6 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1

7 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2

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

9 Addition of Time Importance Time Point - discrete moment in time - two special time points, t b & t e 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 - Commitment Id (debtor, creditor, proposition) [Time Bound] Time Quantifier - example: C i (Employee 1, Manager, Produce Toys) [ Today ] E Conflicts among Time-bound Commitments tbtb t0t0 t1t1 t2t2 t3t3 t4t4 t5t5 tete

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

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

13 Conflict Scenarios Non-overlapping Time Intervals Identical Time Intervals C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1 C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1

14 Conflict Scenarios Containing Time Intervals Intersecting Time Intervals C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1 C2C2 t1t1 t2t2 t3t3 t4t4 t0t0 C1C1

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: C 1 (x, y, pass through the door) [ 1:00pm – 1:10pm ] E C 2 (y, x, open the door) [ 12:59pm – 1:09pm ] E C 3 (x, y, close the door) [ 1:00pm – 1:11pm ] E - C 2 and C 3 are possibly in conflict between 1:00pm – 1:10pm - eliminate commitment C 3 ? - fairly distributing the time between C 2 and C 3 ? - shift the time bound of commitment C 3 ? - using a constraint ( C 2 < C 3 ) such that C 3 is valid only when C 2 is satified?

17 Higher Level View of Organizations Aggregation on Time - debtor, creditor and proposition same - time intervals are consecutive C 1 (producer, seller, produce) [ Jan ] C 2 (producer, seller, produce) [ Feb ] C 3 (producer, seller, produce) [ Mar ] ULC 1 (producer, seller, produce) [ Q1 ] MarFebJan C2C2 C3C3 MarFebJan ULC 1 C1C1

18 Higher Level View of Organizations Grouping Agents - same proposition and time interval - group composition known beforehand C 1 (producer 1, seller, produce) [ Q1 ] C 2 (producer 2, seller, produce) [ Q1 ] C 3 (producer 3, seller, produce) [ Q1 ] ULC 1 (group of producers, seller, produce) [ Q1 ] C1C1 ULC 1 P1 P3 P2SSellerGroup of Producers C3C3 C2C2

19 Higher Level View of Organizations Conceptually Upper Level Commitments - base level commitments are part of an upper level concept C 1 (professor, department, prepare course outline) [ beginning of term ] C 2 (professor, department, give lectures) [ along term ] C 3 (professor, department, evaluate students) [ end of term ] ULC 1 (professor, department, offer a course) [ term ]

20 Higher Level View of Organizations Aggregation on Transitivity of Commitments - inherent transitive relations C 1 (x, y, pay $100) [ t 1 – t 2 ] C 2 (y, z, pay $100) [ t 2 – t 3 ] ULC 1 (x, z, pay $100) [ t 1 – t 3 ] - aggregation may cause low level data loss - designer should decide whether to proceed with aggregation C1C1 ULC 1 C2C2 x z y x z t1t1 t2t2 t3t3

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 PrIsEsIn E_Pr_1E_Pr_2E_IsE_EsE_In Pr E_Pr_1E_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 1 Build-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 1 Build-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 2 Color-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 3 visit(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 3 visit(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 4 Check-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 5 Detect-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 C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

33 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

34 Technical Background - Commitment Graph C 1 (Emp1, Supervisor, Produce) {cancel, discharge} C 2 (Emp1, Manager, Produce) {cancel, discharge, assign to Supervisor} C 3 (Emp2, Supervisor, Produce) {cancel, delegate to Emp1} Step2: For each commitment a new node and edges are created iteratively. D RC C1C1 C2C2 C3C3

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+ tbtb tete tptp t-pt-p t+pt+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