Your SlideShare is downloading. ×
Academic Course: 03 Autonomic Multi-Agent Systems
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Academic Course: 03 Autonomic Multi-Agent Systems


Published on

Awareness and Self-Awareness in Autonomic Systems by Jeremy Pitt

Awareness and Self-Awareness in Autonomic Systems by Jeremy Pitt

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Autonomic Multi-Agent Systems Awareness and Self-Awareness in Autonomic Systems Academic Course; September; 2012 Jeremy Pitt Imperial College London
  • 2. Lecture Objectives and Outcomes I Objectives I objectives ... I Outcomes – lecture attendees will: I Understand the fundamental properties of autonomic multi-agent systems, di↵erent approaches, and how categorise/evaluate them I Understand how agents, embedded in an environment, can use awareness of that environment for self-organisation (a form of self-aware autonomics)
  • 3. Lecture Structure I Multi-Agent Systems I Autonomic Systems I Representative Approaches I In detail: Dynamic norm-governed systems I Voting (awareness in autonomic systems)
  • 4. Multi-Agent Systems Two key considerations I Level of abstraction I Type of communication
  • 5. Abstraction (1) Multi-Agent abstraction I Distributed systems I physical distribution of data and methods I tightly coupled I location transparency I Multi-agent systems I logical distribution of responsibility and control I loosely coupled I location significant I Organization of collective intelligence for: I functionality and knowledge encapsulation (ontology) I cooperation, delegation and negotiation I planning and decision making wrt. own goals Only self-modify the logical layer/virtual machine
  • 6. Abstraction (2) Intelligent Agent abstraction I Highest level of abstraction I ownership: delegated responsibility for task I internal states: large number exhibit some form of ‘intelligent’ behaviour I asynchrony: communication and coordination with other agents/users I Lowest level of abstraction I embedded software process I encapsulates some notion of state I communicates by message passing The nature of the message passing is absolutely critical
  • 7. How To Do Things . . . (. . . if you absolutely have to . . .) I . . . with physical objects I Change the state of the physical world I Given the ‘ideal’ physics (physical capability) I . . . with software objects I Change the state of the object I Given ‘appropriate’ programming language semantics and the semantics of the call I . . . with words I Change the state of the the conventional world I Given ‘validity’ of the of the action (institutionalised power)
  • 8. Institutionalised Power (Not to be confused with real or reactive power) I Searle: counts as in Speech act Theory I Jones and Sergot (1996): Formal Characterisation of . . . I . . . with software objects I Change the state of the object I Given ‘appropriate’ programming language semantics and the semantics of the call I A standard feature of any norm-governed system whereby designated agents, when acting in specified roles, are empowered by the system to create or modify facts of special significance conventionally agreed within the context an institution I This matters, especially in socio-technical systems, electronic institutions, and self-organising systems
  • 9. Agent-Oriented Software Engineering Many methodologies, languages and platforms I GAIA, etc. I PRS, Jack, Jam, Jason, etc. I Jade, etc. FIPA I FIPA ACL: could not be more wrong
  • 10. Autonomic Systems: An Overview Systems are expected to show some kind of ‘agency’ / autonomic behaviour I Sensor networks – monitor environment, respond to events, situations, . . . I Data centres – monitor and respond to changing/expected workloads I Power systems – maintain frequency Systems need to exhibit some sort of ‘autonomic’ properties I Improve some facet of behaviour I . . . which must be the expected facet I . . . and which must change in an expected way
  • 11. Adaptation Complexity of built systems I Change dynamics (due to Bertrand Meyer) I Linear – cost proportional to size of change being made I Non-linear – cost proportional to size of system being changed I Complexity and inter-dependence make all changes non-linear I Become too expensive to change in any significant respect Incompatible with human management I Change too fast, too frequent, too far away, too tangled, . . . I Responses need to be guaranteed . . . I . . . But may need to represent human artefacts – contracts, laws, conventional rules, etc.
  • 12. Autonomic Systems Originally an IBM notion focusing on TCO I Inspiration from the biological autonomic nervous system: things keep breathing, (almost) no matter what I Since broadened to include systems with sensorised, feedback-driven management I Use technology to manage technology Significant Approaches I IBM Autonomic Toolkit I Morphogen-gradient methods use biological inspiration to manage dynamic (especially mobile) services I Dynamical systems models treat adaptation as movement within an adaptive space I Multi-agent systems using qualitative knowledge representation and reasoning for multi-criteria optimisation
  • 13. Autonomic Control Loop Stages in Autonomic Control I Collect data from sensors or instrumented managed elements I Analyse using some model of the system being managed I Decide on actions taken to accomplish control goal I Act on decision, possibly with learning, feedback, etc
  • 14. Example: Data Centre Manager Power-saving I Assign agents to monitor and manage components I Global utility function for di↵erent configurations I Combine aspects of system into a single utility which is then maximised I Single (Global) Variable/Diverse (Local) Objectives
  • 15. (Some More) Self-* properties “Things the machine can (should) do (for/to) itself” I Self-configuring select configuraation options, policies and interaction with other components automatically (or at least make suggestions) I Self-managing perform ‘housekeeping’ operations automatically I Self-optimising reflect on own behaviour and adjust configuration accordingly I Self-healing respond to component failures or attacks to minimise damage I Self-organisation manage the orchestration between components adaptively
  • 16. Representative Approaches I Max-flow Networks I Unity I OMACS (Organisational Model for Adaptive Computational Systems) I Adaptive Decision-Making Frameworks I Dynamic Argument Systems I Organic Computing I Law-Governed Interaction I Dynamic Norm-Governed Systems
  • 17. Analytic Framework I What is adapted – identifying the specific changeable components. I Why is adaptation performed – the motivating cause(s), in response to exogenous or endogenous stimuli, which prompt adaptation. I How is adaptation performed – detailing the specific mechanisms or processes used to bring about the adaptation. I Evaluation of adaptation – how the adapted system is evaluated as an improvement (or not) on the previous configuration.
  • 18. Dynamic Norm-governed Systems Dynamic Norm-Governed Multi-Agent Systems I Social Constraints I Physical power, institutionalised power, and permission I Obligations, and other complex normative relations I Sanctions and penalties I Roles and actions (communication language) I Communication Protocols I Protocol stack: object-/meta-/meta-meta-/etc. level protocols I Transition protocols to instigate and implement change I Specification Space I Identify changeable components of a specification (Degrees of Freedom: DoF) I Define a ‘space’ of specification instances, and a notion of distance I Define rules about moving between instances
  • 19. Social Constraints I Three types of ‘can’ I Physical capability I Institutional power I The performance by a designated agent, occupying a specific role, of a certain action, which has conventional significance, in the context of an institution I A special kind of ‘certain action’ is the speech act I Permission (& obligation) I Can have (physical or institutional) power with/without permission I Sometimes power implies permission I Sanctions and enforcement policies I Right, duty, entitlement, and other more complex relations I Social constraints can be adapted for intentional, run-time modification of the institution
  • 20. Communication Protocols ... object protocol rule modificationlevel 1 protocol: voting level k-1 protocol: voting level 0 protocol: resource-sharing object protocol initialisation I Any protocol for norm-governed systems can be in level 0. I Any protocol for decision-making over rule modification can be in level n, n > 0. I Attention is also payed to the transition protocols: the procedures with which a meta-protocol is initiated.
  • 21. Specification Space I We define the Degrees of Freedom (DoF) of a protocol. I A protocol specification with n DoF creates an n-dimensional specification space, where each dimension corresponds to a DoF. I A specification point represents a complete protocol specification — a specification instance — and is denoted by a n-tuple, where each element of the tuple expresses the value of a DoF. DoF1 DoF2 DoF2 DoF1
  • 22. Awareness and Self-healing Congruence of appropriation/provision rules and state I Interleave rules of social-{order | exchange | choice} I Brute facts (resource level in past and current state) I Individual beliefs (resource level in future states) I Common beliefs formed by gossiping (opinion formation) I Expressed preferences mapped to collective choice I Collective choice represented as institutional fact !"#$#%$& '($#)*& +%$,-.$/.& 0$12)32%$45 635.1& 0$12)32%$45& 74/)1& 8#$$.9& :.).9;#$42%$& <.)=%-& >#?949*& @A"9.11.-& B9.C.9.$/.1& @D.$)&+45/E& F49942D.& !" #" $" %"
  • 23. Voting Protocol: Informal Description I Informal specification of a decision-making procedure according to Robert’s Rules of Order (Newly Revised) I a committee meets and the chair opens a session I a committee member requests and is granted the floor I that member proposes a motion I another member seconds the motion I the members debate the motion I the chair calls for those in favour to cast their vote I the chair calls for those against to cast their vote I the motion is carried or not, according to the standing rules of the committee
  • 24. Voting Protocol: Graphical Description I Various options for graphical representation I UML Sequence diagrams I State diagrams !"# $%&'(&)# !*# $+,$,-%'# !.# -%/,&'%'# !0# 1,2&)# !3# 1,4%'# !5# +%-,61%'# 17#1,4%# /7#'%/68+%#/7#/6,-%9:866,4#1(7#$+,$,-%# /7#,$%&9:866,4#1;7#-%/,&'# 17#+%1,<%# 17#8:-48(&# !"# -(=&)>-?@"# /7#,$%&9-%--(,&# /7#/6,-%9-%--(,&# !*# -(=&)>-?@"# 1,2&)# -(=&)>-?@*# I Note certain simplifications to RONR specification I No floor request, debate or agenda I Voting, changing of votes etc., concurrently
  • 25. An Event Calculus Specification I Basic Items: Events and Fluents I Institutional Powers I Voting and Counting Votes I Permission and Obligation I Sanctions I Objection
  • 26. Actions Action Indicating. . . open session(Ag, S) open and close a session close session(Ag, S) propose(Ag, M) propose and second a motion second(Ag, M) open ballot(Ag, M) open and close a ballot close ballot(Ag, M) vote(Ag, M, aye) vote for or against a motion, vote(Ag, M, nay) abstain or change vote abstain(Ag, M) revoke(Ag, M) declare(Ag, M, carried) declare the result of a vote declare(Ag, M, not carried)
  • 27. Fluents Fluent Range sitting(S) boolean status(M) {pending, proposed, seconded voting(T), voted, resolved } votes(M) N ⇥ N voted(Ag, M) {nil, aye, nay, abs} resolutions(S) list of motions qualifies(Ag, R) boolean role of (Ag, R) boolean pow(Ag, Act) boolean per(Ag, Act) boolean obl(Ag, Act) boolean sanction(Ag) list of integers
  • 28. Institutional Power I Recall: an empowered agent performs a designated action in context which creates or changes an institutional fact. I We want to express the e↵ects of the designated protocol (speech) actions, in particular: I vote I open session and open ballot I declare I For the specification of the e↵ects of these actions, it is important to distinguish between: I the act of (‘successfully’) casting a vote, and I the act by means of which the casting of the vote is signalled (e.g. sending a message of a particular form via a TCP/IP socket connection).
  • 29. Institutional Power I Institutional power to open the ballot on a motion: pow(C, open ballot(C, M)) = true holdsat T status(M) = seconded holdsat T ^ role of (C, chair) = true holdsat T I Institutional power to cast a vote: pow(V , vote(V , M, )) = true holdsat T status(M) = voting( ) holdsat T ^ role of (V , voter) = true holdsat T ^ not role of (V , chair) = true holdsat T ^ voted(V , M) = nil holdsat T
  • 30. E↵ects of Institutional Power (1) I Chair performs open ballot(C, M) open ballot(C, M) initiates votes(M) = (0, 0) at T pow(C, open ballot(C, M)) = true holdsat T open ballot(C, M) initiates voted(V , M) = nil at T pow(C, open ballot(C, M)) = true holdsat T ^ role of (V , voter) = true holdsat T open ballot(C, M) initiates status(M) = voting(T) at T pow(C, open ballot(C, M)) = true holdsat T I Now voters have power to cast votes
  • 31. E↵ects of Institutional Power (2) I Casting and counting votes vote(V , M, aye) initiates votes(M) = (F1, A) at T pow(V , vote(V , M)) = true holdsat T ^ votes(M) = (F, A) holdsat T ^ F1 = F + 1 vote(V , M, aye) initiates voted(V , M) = aye at T pow(V , vote(V , M, )) = true holdsat T I Power to revoke vote now granted (revocation without vote was ‘meaningless’) I Power also used to advance status of motion, perform role assignment, etc.
  • 32. Permission I ‘Right’ aspect of enfranchisement I Agents have the power to vote I Agents have the permission to vote I In this case (although not always) power implies permission I Nobody should stop them from exercising their power I Therefore the chair’s power to close the ballot is not always permitted pow(C, close ballot(C, M)) = true holdsat T status(M) = voting holdsat T ^ role of (C, chair) = true holdsat T per(C, close ballot(C, M)) = true holdsat T role of (C, chair) = true holdsat T ^ status(M) = voting(T0 ) holdsat T ^ T > T0 + 10
  • 33. Obligation I ‘Entitlement’ aspect of enfranchisement I ‘Access’ to ‘voting machine’ is a ’physical’ issue I Correct vote count: as above I A ’fair’ outcome: obligation to declare the result correctly: e.g. a simple majority vote obl(C, declare(C, M, carried)) = true holdsat T role of (C, chair) = true holdsat T ^ status(M) = voted holdsat T ^ votes(M) = (F, A) holdsat T ^ F > A
  • 34. Sanction I The chair always has the power to close a ballot I It has permission to exercise the power only after some time has elapsed I If it closes the ballot early, it may be sanctioned close ballot(C, M) initiates sanction(C) = [(102, M)|S] at T role of (C, chair) = true holdsat T ^ per(C, close ballot(C, M)) = false holdsat T ^ sanction(C) = S holdsat T I The sanction results in penalty only if someone objects I Feature of RONR: ‘anything goes unless someone objects’
  • 35. The Event Calculus: Implementation Routes I EC has been mainly used for narrative assimilation: I Given a narrative, check that it is consistent I Given a consistent narrative, check what holds when I There are many EC variants and implementations, for di↵erent purposes or requirements I Discrete Event Calculus Reasoner, for proving properties & planning I Cached Event Calculus, for e cient narrative assimilation I etc. . . . I We will show the use of the Simplified EC for narrative assimilation I Pre-process directly into Prolog
  • 36. The Event Calculus: Narrative Assimilation !"#$%& '()*+)+,& Initial Social State! initially( role_of(cAgent,chair) = true ). !! initially( role_of(cAgent,voter) = true ). !! initially( role_of(pAgent,voter) = true ).! …! Social Constraints! …! holdsAt( obl(C, declare(C,M,carried))=true, T ) :-! !holdsAt( role_of(C,chair)=true, T ),! !holdsAt( status(M)=voted, T ),! !holdsAt( votes(M)=(F,A), T ),! !F > A.! …! Narrative! happens( open_session(cAgent, sesh), 1).! happens( propose(pAgent, m1), 2).! happens( second(sAgent, m1), 3).! happens( open_ballot(cAgent, m1), 4).! happens( vote(pAgent, m1, aye), 5).! happens( vote(sAgent, m1, nay), 6).! happens( vote(vAgent, m1, nay), 7).! happens( revoke(sAgent,m1), 8).! happens( vote(sAgent, m1, aye), 9).! happens( close_ballot(cAgent, m1), 10).! happens( declare(cAgent, m1, not_carried), 11).! happens( close_session(cAgent, sesh), 12).! Resulting Social State! roles! powers !! permissions !! obligations! sanctions!
  • 37. Example: The Voting Protocol I EC Specification pre-processed into Prolog program I Process narratives for consistency and ‘what holds when’ agent roles powers permissions obligations sanctions cAgent chair voter close ballot close session close ballot pAgent voter proposer sAgent voter proposer vote vote vAgent voter happens(vote(sAgent, m1, aye)) cAgent chair voter close ballot close session close ballot close ballot pAgent voter proposer sAgent voter proposer vAgent voter happens(close ballot(cAgent, m1)) cAgent chair voter declare close session declare(carried) declare(carried) pAgent voter proposer sAgent voter proposer vAgent voter happens(declare(cAgent, m1, not carried)) cAgent chair voter close session close session 102 pAgent voter proposer propose propose sAgent voter proposer propose propose vAgent voter
  • 38. Summary I Given an overview of multi-agent systems and intelligent agents I Introduced the requirement for some multi-agent systems to show awareness and autonomic properties, e.g. for multi-criteria control in decentralised systems with heterogenous components I Given an overview of approaches and an analytic framework I Presented one approach in detail: dynamic norm-governed systems I Specified a voting protocol for specification change I Voting allows (self-)aware agents to adapt system specifications at run-time to meet dynamic environmental conditions (autonomics with conventional rules)
  • 39. Bibliography I I Open Systems: I Hewitt, C. 1991. Open information systems semantics for distributed artificial intelligence. Artificial Intelligence 47, 79–106. I Norm-Governed Systems: I J.-J. Meyer and R. Wieringa. Deontic Logic in Computer Science: Normative System Specification. J. Wiley and Sons, 1993. I A. Jones and M. Sergot. A formal characterisation of institutionalised power. Journal of the IGPL, 4(3):429–445, 1996. I Makinson, D. 1986. On the formal representation of rights relations. Journal of Philosophical Logic 15, 403–425. I Moses, Y. and Tennenholtz, M. 1995. Artificial social systems. Computers and Artificial Intelligence 14, 6, 533–562. I Sergot, M. 2001. A computational theory of normative positions. ACM Transactions on Computational Logic 2, 4, 522–581. I Singh, M. 1998. Agent communication languages: rethinking the principles. IEEE Computer 31, 12, 40–47.