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)
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
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.