SlideShare a Scribd company logo
Algorithmic Self-Governance
. . .
Jeremy Pitt
Department of Electrical and Electronic Engineering
Imperial College London
FoCAS Summer School
University of Crete, Crete, 23-27/06/2014
Self-Organising Multi-Agent Systems
Preliminary assumptions and definitions
Assume – ‘Multi-Agent Systems’ is a known
‘Organising’ implies intentionally arranging or changing a
target object
‘Self’ implies agents are organising something that affects
them directly without external intervention
Just to be confusing, we call this form of self-organisation
“organised adaptation” . . .
. . . and we’ve also referred to adaptive institutions
Tutorial (Lecture 1) structure
Background: Organised Adaptation
Focus: Dynamic Norm-Governed Systems
Specification Language: the Event Calculus
Example: A Voting Protocol
Summary: Organised Adaptation + Socio-Technical System =
Algorithmic Self-Governance
Jeremy Pitt Algorithmic Self-Governance . . . 2 / 42
Motivation
Pick a network:
individual people, forming online communities or social
networks via computer-mediated communication
computing devices, forming ad hoc networks, MANETs,
VANETs, Sensor Networks, etc.
business processes, forming virtual enterprises/organizations,
holonic manufacturing, computational economies, etc.
May be classified as open systems (in the sense of Hewitt)
autonomous components of heterogeneous provenance
can assume that components can communicate (i.e. a common
language)
can not assume a common objective or central controller
Jeremy Pitt Algorithmic Self-Governance . . . 3 / 42
Features
Common features of open systems:
Dynamic and ‘volatile’: the environment, network topology
and constituent nodes can vary rapidly and unpredictably
‘Evolutionary’: known nodes can come/go, but can also have
new nodes and node ‘death’
Co-dependence and internal competition: nodes need others to
satisfy their own requirements, but may also behave to
maximise individual (rather than collective) utility
Partial knowledge: no single source knowledge, union of
knowledge may be inconsistent
Sub-ideal operation: the nodes may fail to comply according to
the system specification, by accident, necessity, or design.
Actuality (what is the case) and ideality (what ought to be
the case) do not necessarily coincide
Jeremy Pitt Algorithmic Self-Governance . . . 4 / 42
Addressing the Features
Distributed functionality and co-dependence
requires collective and coordinated interaction
requires role-based ‘co-operative work’
‘Evolution’
requires self-assessment, and resilience to (unexpected) change
Decentralised control and partial knowledge
requires sub-group decision-making and consensus formation
Unpredictable behaviour and sub-ideal operation
requires monitoring, conflict resolution, and restoration of
compliant states
Everything requires agreed rules and well-defined procedures,
and rules and procedures for changing rules and procedures
These rules and procedures have to applied by the system
components to themselves (or ‘things’ which affect them, like
roles, structures – and the rules themselves)
This is Organised Adaptation
Jeremy Pitt Algorithmic Self-Governance . . . 5 / 42
Organised Adaptation vs. Emergence
Organised Adaptation differs from Emergence
Emergent Adaptation:
the non-introspective application . . .
of hard-wired local computations, . . .
with respect to physical rules and/or the environment, . . .
which achieve unintended or unknown global outcomes
. . . as opposed to . . .
Organised Adaptation:
the introspective application . . .
of soft-wired local computations, . . .
with respect to physical rules, the environment and
conventional rules, . . .
in order to achieve intended and coordinated global outcomes.
And the ‘things’ which ‘do’ Organised Adaptation are –
self-organising multi-agent systems
Jeremy Pitt Algorithmic Self-Governance . . . 6 / 42
Examples of Organised Adaptation (‘Real’ Life)
!"#$%#&'#(
)**$+,&-.,*&(
/$%-&,0-.,*&-1(2+-3.-.,*&( 4*1#(255,%&"#&.(
678,.#(5"*9#(:$*"(.8#(;,5.#&#(
)8-3#1(*:(;.<(=#.#$>5(?-5,1,'-(
-&&*@&'#5(-(&#A(=*3#B(
C#%-1(=$*'1-"-.,*&(
Jeremy Pitt Algorithmic Self-Governance . . . 7 / 42
Representative Approaches (Multi-Agent/Autonomic
Systems)
Max-flow Networks
Unity
OMACS (Organisational Model for Adaptive Computational
Systems)
Adaptive Decision-Making Frameworks
Dynamic Argument Systems
Organic Computing
Law-Governed Interaction
Dynamic Norm-Governed Systems
Jeremy Pitt Algorithmic Self-Governance . . . 8 / 42
Dynamic Norm-governed Systems
Dynamic Norm-Governed Multi-Agent Systems
Social Constraints
Physical power, institutionalised power, and permission
Obligations, and other complex normative relations
Sanctions and penalties
Roles and actions (communication language)
Communication Protocols
Protocol stack: object-/meta-/meta-meta-/etc. level protocols
Transition protocols to instigate and implement change
Specification Space
Identify changeable components of a specification
(Degrees of Freedom: DoF)
Define a ‘space’ of specification instances, and a notion of
distance
Define rules about moving between instances
Jeremy Pitt Algorithmic Self-Governance . . . 9 / 42
Social Constraints
Three types of ‘can’
Physical capability
Institutional power
The performance by a designated agent, occupying a specific
role, of a certain action, which has conventional significance,
in the context of an institution
A special kind of ‘certain action’ is the speech act
Permission (& obligation)
Can have (physical or institutional) power with/without
permission
Sometimes power implies permission
Sanctions and enforcement policies
Right, duty, entitlement, and other more complex relations
Social constraints can be adapted for intentional, run-time
modification of the institution
Jeremy Pitt Algorithmic Self-Governance . . . 10 / 42
Communication Protocols
...
object protocol
rule modificationlevel 1 protocol:
voting
level k-1 protocol:
voting
level 0 protocol:
resource-sharing
object protocol
initialisation
Any protocol for norm-governed systems can be in level 0.
Any protocol for decision-making over rule modification can
be in level n, n > 0.
Attention is also payed to the transition protocols: the
procedures with which a meta-protocol is initiated.
Jeremy Pitt Algorithmic Self-Governance . . . 11 / 42
Specification Space
We define the Degrees of Freedom (DoF) of a protocol.
A protocol specification with n DoF creates an n-dimensional
specification space, where each dimension corresponds to a
DoF.
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
Jeremy Pitt Algorithmic Self-Governance . . . 12 / 42
Representing protocols in a dynamic norm-governed system
Computational Logic: A Recap
Propositional Logic
Predicate Logic
Modal and Temporal Logic
Automated Reasoning
Prolog
the Event Calculus: a language for representing and reasoning
about conventional procedures for organised adaptation
Jeremy Pitt Algorithmic Self-Governance . . . 13 / 42
The Event Calculus (EC)
General purpose language for representing events, and for
reasoning about effects of events.
An action language with a logical semantics. Therefore, there
are links to:
Implementation directly in Prolog.
Implementation in other programming languages.
Prolog:
specification is its own implementation;
hence executable specification.
Jeremy Pitt Algorithmic Self-Governance . . . 14 / 42
Fluents and Events
Focus on events rather than situations; local states rather
than global states
Fluents
A fluent is a proposition whose value changes over time
A local state is a period of time during which a fluent holds
continuously
Events
initiate and terminate . . .
. . . a period of time during which a fluent holds continuously
Example
give(X, obj, Y ) initiates has(Y , obj)
give(X, obj, Y ) terminates has(X, obj)
A sequence of such events forms a narrative
Jeremy Pitt Algorithmic Self-Governance . . . 15 / 42
Simplified Event Calculus
Inertial fluents hold their values continuously
Values are assigned initially (at the start),
Values are given when asserted (initiated)
Values persist until disturbed (terminated)
Otherwise we have ‘missing information’
A formula of the form
Event terminates fluent
Has persistence disturbing effect, but no assertional force
A formula of the form
Event initiates fluent
Has assertional force, but no persistence disturbing effect
Suppose
win lottery initiates rich
lose wallet terminates rich
Jeremy Pitt Algorithmic Self-Governance . . . 16 / 42
Example
Given
win lottery initiates rich
Winning the lottery initiates rich (but you might be rich
already)
lose wallet terminates rich
Losing your wallet terminates rich (but you might not be rich
when you lose it)
win Erich
win Erich Erich
lose lose win Erich
assume still rich here
assertional force
no persistence disturbing effect
no assertional force
persistence disturbing effect
TT TT
d
d
d‚
 
 
 ©
Jeremy Pitt Algorithmic Self-Governance . . . 17 / 42
Events and Narratives in the Simplified EC
Events occur at specific times (when they ‘happen’)
Assume that all events are instantaneous
Aside: there is a refinement of EC for events which have
duration
Here, we will use non-negative integer time-points
Does not mean we assume that time is discrete
Does not mean that time points have to be integers
We only need a relative/partial ordering for events
For non-negative integers, < will do
Read < as ‘earlier than’ or ‘before’
A set of events, each with a given time, is called a narrative
Inference in the SEC is non-monotonic
Events in a narrative can be processed in a different order to
that in which they occurred
Jeremy Pitt Algorithmic Self-Governance . . . 18 / 42
General Formulation
The narrative (what happens when) is represented by:
initially F
Fluent F holds at the initial time point (usually 0)
E happensat T
Event/action of type E occurred/happened at time T
The effects of actions are represented by:
E initiates F at T
The occurrence of event of type E at time T starts a period
of time for which fluent F holds
E terminates F at T
The occurrence of event of type E at time T ends a period of
time for which fluent F holds
The general query:
F holdsat T
Fluent F holds at time T
F holdsfor P
Fluent F holds for time period P (P is of the form (T1, T2])
Jeremy Pitt Algorithmic Self-Governance . . . 19 / 42
Method of Computation: The EC ‘Engine’
F holdsat T ←
E happensat Te ∧
Te < T ∧
E initiates F at Te ∧
not (F brokenbetween Te and T)
F holdsat T ←
0 ≤ T ∧
initially F ∧
not (F brokenbetween 0 and T)
F brokenbetween Te and T ←
E happensat Ti ∧
Te ≤ Ti ∧
Ti < T ∧
E terminates F at Ti
Jeremy Pitt Algorithmic Self-Governance . . . 20 / 42
Notes
Time comparisons are strict: therefore a fluent does not hold
at the time point in which it is initiated
Negation-as-failure (not(. . .)) ensures that inferences are
non-monotonic
Action pre-conditions can be expressed as integrity constraints
Some actions can’t be performed at the same time
For example: give(X, obj, Y ) ∧ give(X, obj, Z) ∧ not(Y = Z)
Every time the narrative changes, query the integrity
constraints to check consistency
A simple extension allows many-valued (as well as boolean)
fluents
Form is F = V
For boolean valued fluents, V ∈ {true, false}
There is a difference between:
kill(X) initiates alive(X) = false at T
kill(X) terminates alive(X) = true at T
Jeremy Pitt Algorithmic Self-Governance . . . 21 / 42
Classic Example: the Yale Shooting Problem
Due to Steve Hanks and Drew McDermott in 1987
One actor, Fred, who turns out to be a turkey, and a gun
Two fluents
one for the state of the gun, which can either be loaded or
unloaded
one for the state of Fred, which can either be dead or alive
Two actions
load the gun, after which the gun is loaded
shoot the gun, after which Fred is dead, and the gun unloaded
A naive formulation
¬loaded(N) ∧ load(N) → loaded(N + 1)
alive(N) ∧ loaded(N) ∧ shoot(N) → dead(N + 1)
loaded(N) ∧ shoot(N) → ¬loaded(N + 1)
Jeremy Pitt Algorithmic Self-Governance . . . 22 / 42
Reasoning about YSP (1)
Given:
{alive(1), ¬loaded(1), load(1), shoot(2)}
We can prove
alive(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3)
But we can also prove
dead(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3)
Because we did not say:
alive(N) ∧ load(N) → alive(N + 1)
Jeremy Pitt Algorithmic Self-Governance . . . 23 / 42
Reasoning about YSP (2)
Given:
{alive(1), ¬loaded(1), load(1), shoot(2), load(3), shoot(4)}
We can prove
alive(2) ∧ dead(3) ∧ dead(4) ∧ dead(5) ∧
loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5)
But we can also prove
alive(2) ∧ dead(3) ∧ alive(4) ∧ dead(5) ∧
loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5)
Because we did not say:
dead(N) ∧ load(N) → dead(N + 1)
Do we have to do this for everything! – everything not
changed stays the same?
This is the frame problem
Jeremy Pitt Algorithmic Self-Governance . . . 24 / 42
EC formulation of the YSP (due to Marek Sergot)
initiates(load,loaded,T).
initiates(shoot,dead,T) :- holds at(loaded,T).
terminates(shoot,loaded,T).
terminates(shoot,alive,T) :- holds at(loaded,T).
initially(alive).
happens(shoot,2).
happens(load,3).
happens(shoot,5).
happens(shoot,8).
happens(load,9).
happens(shoot,11).
terminates(shoot,loaded).
terminates(shoot,alive,T) :- holds_at(loaded,T).
initially(alive).
happens(shoot,2).
happens(load,3).
happens(shoot,5).
happens(shoot,8).
happens(load,9).
happens(shoot,11).
alive alive
shoot
loaded
load shoot
loaded
dead
shoot
loaded
load shoot
loaded
0 1 2 3 4 5 6 7 8 9 10 11 12
?- holds_at(alive, 4).
yesJeremy Pitt Algorithmic Self-Governance . . . 25 / 42
Motivating Example: Collective Choice Arrangements
Voting Protocol
There is a set of agents S, a subset of whom belong to an
institution I, some of whom occupy the role of voters who are
entitled to vote, and a designated agent in I occupying the role
of chair, who declares the result of a vote. The protocol
stipulates that a specific session (action situation) is opened,
the chair calls for a ballot on a specific motion, the voters cast
their votes (express their preference), the chair counts the
votes and declares the result according to the standing
(collective choice) rules.
Jeremy Pitt Algorithmic Self-Governance . . . 26 / 42
Voting Protocol: Informal Description
Informal specification of a decision-making procedure
according to Robert’s Rules of Order (Newly Revised)
a committee meets and the chair opens a session
a committee member requests and is granted the floor
that member proposes a motion
another member seconds the motion
the members debate the motion
the chair calls for those in favour to cast their vote
the chair calls for those against to cast their vote
the motion is carried or not, according to the standing rules of
the committee
Jeremy Pitt Algorithmic Self-Governance . . . 27 / 42
Voting Protocol: Graphical Description
Various options for graphical representation
UML Sequence diagrams
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&)#
-(=&)>-?@*#
Note certain simplifications to RONR specification
No floor request, debate or agenda
Voting, changing of votes etc., concurrently
Jeremy Pitt Algorithmic Self-Governance . . . 28 / 42
An Event Calculus Specification
Basic Items: Events and Fluents
Institutional Powers
Voting and Counting Votes
Permission and Obligation
Sanctions
Objection
Jeremy Pitt Algorithmic Self-Governance . . . 29 / 42
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)
Jeremy Pitt Algorithmic Self-Governance . . . 30 / 42
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
Jeremy Pitt Algorithmic Self-Governance . . . 31 / 42
Institutional Power
Recall: an empowered agent performs a designated action in
context which creates or changes an institutional fact.
We want to express the effects of the designated protocol
(speech) actions, in particular:
vote
open session and open ballot
declare
For the specification of the effects of these actions, it is
important to distinguish between:
the act of (‘successfully’) casting a vote, and
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).
Jeremy Pitt Algorithmic Self-Governance . . . 32 / 42
Institutional Power
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
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
Jeremy Pitt Algorithmic Self-Governance . . . 33 / 42
Effects of Institutional Power (1)
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
Now voters have power to cast votes
Jeremy Pitt Algorithmic Self-Governance . . . 34 / 42
Effects of Institutional Power (2)
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
Power to revoke vote now granted (revocation without vote
was ‘meaningless’)
Power also used to advance status of motion, perform role
assignment, etc.
Jeremy Pitt Algorithmic Self-Governance . . . 35 / 42
Permission
‘Right’ aspect of enfranchisement
Agents have the power to vote
Agents have the permission to vote
In this case (although not always) power implies permission
Nobody should stop them from exercising their power
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(T ) holdsat T ∧ T > T + 10
Jeremy Pitt Algorithmic Self-Governance . . . 36 / 42
Obligation
‘Entitlement’ aspect of enfranchisement
‘Access’ to ‘voting machine’ is a ’physical’ issue
Correct vote count: as above
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
Jeremy Pitt Algorithmic Self-Governance . . . 37 / 42
Sanction
The chair always has the power to close a ballot
It has permission to exercise the power only after some time
has elapsed
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
The sanction results in penalty only if someone objects
Feature of RONR: ‘anything goes unless someone objects’
Jeremy Pitt Algorithmic Self-Governance . . . 38 / 42
The Event Calculus: Implementation Routes
EC has been mainly used for narrative assimilation:
Given a narrative, check that it is consistent
Given a consistent narrative, check what holds when
There are many EC variants and implementations, for
different purposes or requirements
Discrete Event Calculus Reasoner, for proving properties &
planning
Cached Event Calculus, for efficient narrative assimilation
etc. . . .
We will show the use of the Simplified EC for narrative
assimilation
Pre-process directly into Prolog
Jeremy Pitt Algorithmic Self-Governance . . . 39 / 42
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!
Jeremy Pitt Algorithmic Self-Governance . . . 40 / 42
Example: The Voting Protocol
EC Specification pre-processed into Prolog program
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
Jeremy Pitt Algorithmic Self-Governance . . . 41 / 42
Summary
Introduced the concept oforganised adaptation
We have reviewed the framework of dynamic norm-governed
(multi-agent) systems
We have studied the Event Calculus as one language for
specifying the salient aspects of the framework
We have specified a voting protocol in the Event Calculus
This is the basis of engineering self-organising
(norm-governed) multi-agent systems
But what happens when we ‘inject’ these systems into
socio-technical systems?
Organised Adaptation + Socio-Technical System =
Algorithmic Self-Governance
Jeremy Pitt Algorithmic Self-Governance . . . 42 / 42

More Related Content

Similar to Part 1: Algorithmic Self-Governance

Engineering self-organising self-aware electronic institutions-by Jeremy Pitt
Engineering self-organising self-aware electronic institutions-by Jeremy PittEngineering self-organising self-aware electronic institutions-by Jeremy Pitt
Engineering self-organising self-aware electronic institutions-by Jeremy Pitt
FET AWARE project - Self Awareness in Autonomic Systems
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
FET AWARE project - Self Awareness in Autonomic Systems
 
DPCL: a Language Template for Normative Specifications
DPCL: a Language Template for Normative SpecificationsDPCL: a Language Template for Normative Specifications
DPCL: a Language Template for Normative Specifications
Giovanni Sileno
 
Systems Engineering for Sustainable Development Goals
Systems Engineering for Sustainable Development GoalsSystems Engineering for Sustainable Development Goals
Systems Engineering for Sustainable Development Goals
Michael Zargham
 
SMART Seminar Series: Formal Models of Social Processes
SMART Seminar Series: Formal Models of Social ProcessesSMART Seminar Series: Formal Models of Social Processes
SMART Seminar Series: Formal Models of Social Processes
SMART Infrastructure Facility
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorial
Opher Etzion
 
HCI 3e - Ch 17: Models of the system
HCI 3e - Ch 17:  Models of the systemHCI 3e - Ch 17:  Models of the system
HCI 3e - Ch 17: Models of the system
Alan Dix
 
PATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event ModelPATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event Model
Michael Heron
 
Cogility intel-web site-v1.0
Cogility intel-web site-v1.0Cogility intel-web site-v1.0
Cogility intel-web site-v1.0
Cogility
 
Patterns of Assigning Responsibilities
Patterns of Assigning ResponsibilitiesPatterns of Assigning Responsibilities
Patterns of Assigning Responsibilities
guest2a92cd9
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
Geoffrey De Smet
 
Dutchchain aug18
Dutchchain aug18Dutchchain aug18
Dutchchain aug18
Michael Zargham
 
Ooad 3
Ooad 3Ooad 3
Vldb 2010 event processing tutorial
Vldb 2010 event processing tutorialVldb 2010 event processing tutorial
Vldb 2010 event processing tutorial
Opher Etzion
 
Proposed Event Processing Definitions ,September 20, 2006
Proposed Event Processing Definitions,September 20, 2006Proposed Event Processing Definitions,September 20, 2006
Proposed Event Processing Definitions ,September 20, 2006
Tim Bass
 
Sysprog 10
Sysprog 10Sysprog 10
Sysprog 10
Ahmed Mekkawy
 
Sysprog 10
Sysprog 10Sysprog 10
Sysprog 10
Ahmed Mekkawy
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
Varsha Ajith
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
Michael Stal
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
AnishNarayan4
 

Similar to Part 1: Algorithmic Self-Governance (20)

Engineering self-organising self-aware electronic institutions-by Jeremy Pitt
Engineering self-organising self-aware electronic institutions-by Jeremy PittEngineering self-organising self-aware electronic institutions-by Jeremy Pitt
Engineering self-organising self-aware electronic institutions-by Jeremy Pitt
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
 
DPCL: a Language Template for Normative Specifications
DPCL: a Language Template for Normative SpecificationsDPCL: a Language Template for Normative Specifications
DPCL: a Language Template for Normative Specifications
 
Systems Engineering for Sustainable Development Goals
Systems Engineering for Sustainable Development GoalsSystems Engineering for Sustainable Development Goals
Systems Engineering for Sustainable Development Goals
 
SMART Seminar Series: Formal Models of Social Processes
SMART Seminar Series: Formal Models of Social ProcessesSMART Seminar Series: Formal Models of Social Processes
SMART Seminar Series: Formal Models of Social Processes
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorial
 
HCI 3e - Ch 17: Models of the system
HCI 3e - Ch 17:  Models of the systemHCI 3e - Ch 17:  Models of the system
HCI 3e - Ch 17: Models of the system
 
PATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event ModelPATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event Model
 
Cogility intel-web site-v1.0
Cogility intel-web site-v1.0Cogility intel-web site-v1.0
Cogility intel-web site-v1.0
 
Patterns of Assigning Responsibilities
Patterns of Assigning ResponsibilitiesPatterns of Assigning Responsibilities
Patterns of Assigning Responsibilities
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
 
Dutchchain aug18
Dutchchain aug18Dutchchain aug18
Dutchchain aug18
 
Ooad 3
Ooad 3Ooad 3
Ooad 3
 
Vldb 2010 event processing tutorial
Vldb 2010 event processing tutorialVldb 2010 event processing tutorial
Vldb 2010 event processing tutorial
 
Proposed Event Processing Definitions ,September 20, 2006
Proposed Event Processing Definitions,September 20, 2006Proposed Event Processing Definitions,September 20, 2006
Proposed Event Processing Definitions ,September 20, 2006
 
Sysprog 10
Sysprog 10Sysprog 10
Sysprog 10
 
Sysprog 10
Sysprog 10Sysprog 10
Sysprog 10
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 

More from FoCAS Initiative

Fundamentals of Collective Adaptive Systems Manifesto
Fundamentals of Collective Adaptive Systems ManifestoFundamentals of Collective Adaptive Systems Manifesto
Fundamentals of Collective Adaptive Systems Manifesto
FoCAS Initiative
 
Final FoCAS Newsletter, Issue Eight, Winter 2016
Final FoCAS Newsletter, Issue Eight, Winter 2016Final FoCAS Newsletter, Issue Eight, Winter 2016
Final FoCAS Newsletter, Issue Eight, Winter 2016
FoCAS Initiative
 
Optimal Floor Heating
Optimal Floor HeatingOptimal Floor Heating
Optimal Floor Heating
FoCAS Initiative
 
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
FoCAS Initiative
 
FoCAS Newsletter Issue Seven
FoCAS Newsletter Issue SevenFoCAS Newsletter Issue Seven
FoCAS Newsletter Issue Seven
FoCAS Initiative
 
Wrangling Complex Systems
Wrangling Complex SystemsWrangling Complex Systems
Wrangling Complex Systems
FoCAS Initiative
 
Where Shall We Have Lunch? Problems For A Computer-aided Future
Where Shall We Have Lunch? Problems For A Computer-aided FutureWhere Shall We Have Lunch? Problems For A Computer-aided Future
Where Shall We Have Lunch? Problems For A Computer-aided Future
FoCAS Initiative
 
Sustainability Challenges In A Complex World
Sustainability Challenges In A Complex WorldSustainability Challenges In A Complex World
Sustainability Challenges In A Complex World
FoCAS Initiative
 
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
FoCAS Initiative
 
The Liquid Computing Paradigm
The Liquid Computing ParadigmThe Liquid Computing Paradigm
The Liquid Computing Paradigm
FoCAS Initiative
 
Complexity And The Relationship Between Knowledge And Action
Complexity And The Relationship Between Knowledge And ActionComplexity And The Relationship Between Knowledge And Action
Complexity And The Relationship Between Knowledge And Action
FoCAS Initiative
 
FoCAS Newsletter Issue Six
FoCAS Newsletter Issue SixFoCAS Newsletter Issue Six
FoCAS Newsletter Issue Six
FoCAS Initiative
 
FoCAS Newsletter Issue Five
FoCAS Newsletter Issue FiveFoCAS Newsletter Issue Five
FoCAS Newsletter Issue Five
FoCAS Initiative
 
Temporal logics for multi-agent systems
Temporal logics for multi-agent systemsTemporal logics for multi-agent systems
Temporal logics for multi-agent systems
FoCAS Initiative
 
Advanced Systems Engineering
Advanced Systems EngineeringAdvanced Systems Engineering
Advanced Systems Engineering
FoCAS Initiative
 
Artificial software diversity: automatic synthesis of program sosies
Artificial software diversity: automatic synthesis of program sosiesArtificial software diversity: automatic synthesis of program sosies
Artificial software diversity: automatic synthesis of program sosies
FoCAS Initiative
 
Tailored source-code-transformation-synthesize-computationally-diverse-progra...
Tailored source-code-transformation-synthesize-computationally-diverse-progra...Tailored source-code-transformation-synthesize-computationally-diverse-progra...
Tailored source-code-transformation-synthesize-computationally-diverse-progra...
FoCAS Initiative
 
Search Diverse Models for Proactive Software Diversification
Search Diverse Models for Proactive Software DiversificationSearch Diverse Models for Proactive Software Diversification
Search Diverse Models for Proactive Software Diversification
FoCAS Initiative
 
Modelling Adaptation Policies As Domain-Specific Constraints
Modelling Adaptation Policies As Domain-Specific ConstraintsModelling Adaptation Policies As Domain-Specific Constraints
Modelling Adaptation Policies As Domain-Specific Constraints
FoCAS Initiative
 
Quantified NTL
Quantified NTLQuantified NTL
Quantified NTL
FoCAS Initiative
 

More from FoCAS Initiative (20)

Fundamentals of Collective Adaptive Systems Manifesto
Fundamentals of Collective Adaptive Systems ManifestoFundamentals of Collective Adaptive Systems Manifesto
Fundamentals of Collective Adaptive Systems Manifesto
 
Final FoCAS Newsletter, Issue Eight, Winter 2016
Final FoCAS Newsletter, Issue Eight, Winter 2016Final FoCAS Newsletter, Issue Eight, Winter 2016
Final FoCAS Newsletter, Issue Eight, Winter 2016
 
Optimal Floor Heating
Optimal Floor HeatingOptimal Floor Heating
Optimal Floor Heating
 
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
Advanced Manufacturing: An Industrial Application for Collective Adaptive Sys...
 
FoCAS Newsletter Issue Seven
FoCAS Newsletter Issue SevenFoCAS Newsletter Issue Seven
FoCAS Newsletter Issue Seven
 
Wrangling Complex Systems
Wrangling Complex SystemsWrangling Complex Systems
Wrangling Complex Systems
 
Where Shall We Have Lunch? Problems For A Computer-aided Future
Where Shall We Have Lunch? Problems For A Computer-aided FutureWhere Shall We Have Lunch? Problems For A Computer-aided Future
Where Shall We Have Lunch? Problems For A Computer-aided Future
 
Sustainability Challenges In A Complex World
Sustainability Challenges In A Complex WorldSustainability Challenges In A Complex World
Sustainability Challenges In A Complex World
 
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...
 
The Liquid Computing Paradigm
The Liquid Computing ParadigmThe Liquid Computing Paradigm
The Liquid Computing Paradigm
 
Complexity And The Relationship Between Knowledge And Action
Complexity And The Relationship Between Knowledge And ActionComplexity And The Relationship Between Knowledge And Action
Complexity And The Relationship Between Knowledge And Action
 
FoCAS Newsletter Issue Six
FoCAS Newsletter Issue SixFoCAS Newsletter Issue Six
FoCAS Newsletter Issue Six
 
FoCAS Newsletter Issue Five
FoCAS Newsletter Issue FiveFoCAS Newsletter Issue Five
FoCAS Newsletter Issue Five
 
Temporal logics for multi-agent systems
Temporal logics for multi-agent systemsTemporal logics for multi-agent systems
Temporal logics for multi-agent systems
 
Advanced Systems Engineering
Advanced Systems EngineeringAdvanced Systems Engineering
Advanced Systems Engineering
 
Artificial software diversity: automatic synthesis of program sosies
Artificial software diversity: automatic synthesis of program sosiesArtificial software diversity: automatic synthesis of program sosies
Artificial software diversity: automatic synthesis of program sosies
 
Tailored source-code-transformation-synthesize-computationally-diverse-progra...
Tailored source-code-transformation-synthesize-computationally-diverse-progra...Tailored source-code-transformation-synthesize-computationally-diverse-progra...
Tailored source-code-transformation-synthesize-computationally-diverse-progra...
 
Search Diverse Models for Proactive Software Diversification
Search Diverse Models for Proactive Software DiversificationSearch Diverse Models for Proactive Software Diversification
Search Diverse Models for Proactive Software Diversification
 
Modelling Adaptation Policies As Domain-Specific Constraints
Modelling Adaptation Policies As Domain-Specific ConstraintsModelling Adaptation Policies As Domain-Specific Constraints
Modelling Adaptation Policies As Domain-Specific Constraints
 
Quantified NTL
Quantified NTLQuantified NTL
Quantified NTL
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 

Part 1: Algorithmic Self-Governance

  • 1. Algorithmic Self-Governance . . . Jeremy Pitt Department of Electrical and Electronic Engineering Imperial College London FoCAS Summer School University of Crete, Crete, 23-27/06/2014
  • 2. Self-Organising Multi-Agent Systems Preliminary assumptions and definitions Assume – ‘Multi-Agent Systems’ is a known ‘Organising’ implies intentionally arranging or changing a target object ‘Self’ implies agents are organising something that affects them directly without external intervention Just to be confusing, we call this form of self-organisation “organised adaptation” . . . . . . and we’ve also referred to adaptive institutions Tutorial (Lecture 1) structure Background: Organised Adaptation Focus: Dynamic Norm-Governed Systems Specification Language: the Event Calculus Example: A Voting Protocol Summary: Organised Adaptation + Socio-Technical System = Algorithmic Self-Governance Jeremy Pitt Algorithmic Self-Governance . . . 2 / 42
  • 3. Motivation Pick a network: individual people, forming online communities or social networks via computer-mediated communication computing devices, forming ad hoc networks, MANETs, VANETs, Sensor Networks, etc. business processes, forming virtual enterprises/organizations, holonic manufacturing, computational economies, etc. May be classified as open systems (in the sense of Hewitt) autonomous components of heterogeneous provenance can assume that components can communicate (i.e. a common language) can not assume a common objective or central controller Jeremy Pitt Algorithmic Self-Governance . . . 3 / 42
  • 4. Features Common features of open systems: Dynamic and ‘volatile’: the environment, network topology and constituent nodes can vary rapidly and unpredictably ‘Evolutionary’: known nodes can come/go, but can also have new nodes and node ‘death’ Co-dependence and internal competition: nodes need others to satisfy their own requirements, but may also behave to maximise individual (rather than collective) utility Partial knowledge: no single source knowledge, union of knowledge may be inconsistent Sub-ideal operation: the nodes may fail to comply according to the system specification, by accident, necessity, or design. Actuality (what is the case) and ideality (what ought to be the case) do not necessarily coincide Jeremy Pitt Algorithmic Self-Governance . . . 4 / 42
  • 5. Addressing the Features Distributed functionality and co-dependence requires collective and coordinated interaction requires role-based ‘co-operative work’ ‘Evolution’ requires self-assessment, and resilience to (unexpected) change Decentralised control and partial knowledge requires sub-group decision-making and consensus formation Unpredictable behaviour and sub-ideal operation requires monitoring, conflict resolution, and restoration of compliant states Everything requires agreed rules and well-defined procedures, and rules and procedures for changing rules and procedures These rules and procedures have to applied by the system components to themselves (or ‘things’ which affect them, like roles, structures – and the rules themselves) This is Organised Adaptation Jeremy Pitt Algorithmic Self-Governance . . . 5 / 42
  • 6. Organised Adaptation vs. Emergence Organised Adaptation differs from Emergence Emergent Adaptation: the non-introspective application . . . of hard-wired local computations, . . . with respect to physical rules and/or the environment, . . . which achieve unintended or unknown global outcomes . . . as opposed to . . . Organised Adaptation: the introspective application . . . of soft-wired local computations, . . . with respect to physical rules, the environment and conventional rules, . . . in order to achieve intended and coordinated global outcomes. And the ‘things’ which ‘do’ Organised Adaptation are – self-organising multi-agent systems Jeremy Pitt Algorithmic Self-Governance . . . 6 / 42
  • 7. Examples of Organised Adaptation (‘Real’ Life) !"#$%#&'#( )**$+,&-.,*&( /$%-&,0-.,*&-1(2+-3.-.,*&( 4*1#(255,%&"#&.( 678,.#(5"*9#(:$*"(.8#(;,5.#&#( )8-3#1(*:(;.<(=#.#$>5(?-5,1,'-( -&&*@&'#5(-(&#A(=*3#B( C#%-1(=$*'1-"-.,*&( Jeremy Pitt Algorithmic Self-Governance . . . 7 / 42
  • 8. Representative Approaches (Multi-Agent/Autonomic Systems) Max-flow Networks Unity OMACS (Organisational Model for Adaptive Computational Systems) Adaptive Decision-Making Frameworks Dynamic Argument Systems Organic Computing Law-Governed Interaction Dynamic Norm-Governed Systems Jeremy Pitt Algorithmic Self-Governance . . . 8 / 42
  • 9. Dynamic Norm-governed Systems Dynamic Norm-Governed Multi-Agent Systems Social Constraints Physical power, institutionalised power, and permission Obligations, and other complex normative relations Sanctions and penalties Roles and actions (communication language) Communication Protocols Protocol stack: object-/meta-/meta-meta-/etc. level protocols Transition protocols to instigate and implement change Specification Space Identify changeable components of a specification (Degrees of Freedom: DoF) Define a ‘space’ of specification instances, and a notion of distance Define rules about moving between instances Jeremy Pitt Algorithmic Self-Governance . . . 9 / 42
  • 10. Social Constraints Three types of ‘can’ Physical capability Institutional power The performance by a designated agent, occupying a specific role, of a certain action, which has conventional significance, in the context of an institution A special kind of ‘certain action’ is the speech act Permission (& obligation) Can have (physical or institutional) power with/without permission Sometimes power implies permission Sanctions and enforcement policies Right, duty, entitlement, and other more complex relations Social constraints can be adapted for intentional, run-time modification of the institution Jeremy Pitt Algorithmic Self-Governance . . . 10 / 42
  • 11. Communication Protocols ... object protocol rule modificationlevel 1 protocol: voting level k-1 protocol: voting level 0 protocol: resource-sharing object protocol initialisation Any protocol for norm-governed systems can be in level 0. Any protocol for decision-making over rule modification can be in level n, n > 0. Attention is also payed to the transition protocols: the procedures with which a meta-protocol is initiated. Jeremy Pitt Algorithmic Self-Governance . . . 11 / 42
  • 12. Specification Space We define the Degrees of Freedom (DoF) of a protocol. A protocol specification with n DoF creates an n-dimensional specification space, where each dimension corresponds to a DoF. 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 Jeremy Pitt Algorithmic Self-Governance . . . 12 / 42
  • 13. Representing protocols in a dynamic norm-governed system Computational Logic: A Recap Propositional Logic Predicate Logic Modal and Temporal Logic Automated Reasoning Prolog the Event Calculus: a language for representing and reasoning about conventional procedures for organised adaptation Jeremy Pitt Algorithmic Self-Governance . . . 13 / 42
  • 14. The Event Calculus (EC) General purpose language for representing events, and for reasoning about effects of events. An action language with a logical semantics. Therefore, there are links to: Implementation directly in Prolog. Implementation in other programming languages. Prolog: specification is its own implementation; hence executable specification. Jeremy Pitt Algorithmic Self-Governance . . . 14 / 42
  • 15. Fluents and Events Focus on events rather than situations; local states rather than global states Fluents A fluent is a proposition whose value changes over time A local state is a period of time during which a fluent holds continuously Events initiate and terminate . . . . . . a period of time during which a fluent holds continuously Example give(X, obj, Y ) initiates has(Y , obj) give(X, obj, Y ) terminates has(X, obj) A sequence of such events forms a narrative Jeremy Pitt Algorithmic Self-Governance . . . 15 / 42
  • 16. Simplified Event Calculus Inertial fluents hold their values continuously Values are assigned initially (at the start), Values are given when asserted (initiated) Values persist until disturbed (terminated) Otherwise we have ‘missing information’ A formula of the form Event terminates fluent Has persistence disturbing effect, but no assertional force A formula of the form Event initiates fluent Has assertional force, but no persistence disturbing effect Suppose win lottery initiates rich lose wallet terminates rich Jeremy Pitt Algorithmic Self-Governance . . . 16 / 42
  • 17. Example Given win lottery initiates rich Winning the lottery initiates rich (but you might be rich already) lose wallet terminates rich Losing your wallet terminates rich (but you might not be rich when you lose it) win Erich win Erich Erich lose lose win Erich assume still rich here assertional force no persistence disturbing effect no assertional force persistence disturbing effect TT TT d d d‚      © Jeremy Pitt Algorithmic Self-Governance . . . 17 / 42
  • 18. Events and Narratives in the Simplified EC Events occur at specific times (when they ‘happen’) Assume that all events are instantaneous Aside: there is a refinement of EC for events which have duration Here, we will use non-negative integer time-points Does not mean we assume that time is discrete Does not mean that time points have to be integers We only need a relative/partial ordering for events For non-negative integers, < will do Read < as ‘earlier than’ or ‘before’ A set of events, each with a given time, is called a narrative Inference in the SEC is non-monotonic Events in a narrative can be processed in a different order to that in which they occurred Jeremy Pitt Algorithmic Self-Governance . . . 18 / 42
  • 19. General Formulation The narrative (what happens when) is represented by: initially F Fluent F holds at the initial time point (usually 0) E happensat T Event/action of type E occurred/happened at time T The effects of actions are represented by: E initiates F at T The occurrence of event of type E at time T starts a period of time for which fluent F holds E terminates F at T The occurrence of event of type E at time T ends a period of time for which fluent F holds The general query: F holdsat T Fluent F holds at time T F holdsfor P Fluent F holds for time period P (P is of the form (T1, T2]) Jeremy Pitt Algorithmic Self-Governance . . . 19 / 42
  • 20. Method of Computation: The EC ‘Engine’ F holdsat T ← E happensat Te ∧ Te < T ∧ E initiates F at Te ∧ not (F brokenbetween Te and T) F holdsat T ← 0 ≤ T ∧ initially F ∧ not (F brokenbetween 0 and T) F brokenbetween Te and T ← E happensat Ti ∧ Te ≤ Ti ∧ Ti < T ∧ E terminates F at Ti Jeremy Pitt Algorithmic Self-Governance . . . 20 / 42
  • 21. Notes Time comparisons are strict: therefore a fluent does not hold at the time point in which it is initiated Negation-as-failure (not(. . .)) ensures that inferences are non-monotonic Action pre-conditions can be expressed as integrity constraints Some actions can’t be performed at the same time For example: give(X, obj, Y ) ∧ give(X, obj, Z) ∧ not(Y = Z) Every time the narrative changes, query the integrity constraints to check consistency A simple extension allows many-valued (as well as boolean) fluents Form is F = V For boolean valued fluents, V ∈ {true, false} There is a difference between: kill(X) initiates alive(X) = false at T kill(X) terminates alive(X) = true at T Jeremy Pitt Algorithmic Self-Governance . . . 21 / 42
  • 22. Classic Example: the Yale Shooting Problem Due to Steve Hanks and Drew McDermott in 1987 One actor, Fred, who turns out to be a turkey, and a gun Two fluents one for the state of the gun, which can either be loaded or unloaded one for the state of Fred, which can either be dead or alive Two actions load the gun, after which the gun is loaded shoot the gun, after which Fred is dead, and the gun unloaded A naive formulation ¬loaded(N) ∧ load(N) → loaded(N + 1) alive(N) ∧ loaded(N) ∧ shoot(N) → dead(N + 1) loaded(N) ∧ shoot(N) → ¬loaded(N + 1) Jeremy Pitt Algorithmic Self-Governance . . . 22 / 42
  • 23. Reasoning about YSP (1) Given: {alive(1), ¬loaded(1), load(1), shoot(2)} We can prove alive(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3) But we can also prove dead(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3) Because we did not say: alive(N) ∧ load(N) → alive(N + 1) Jeremy Pitt Algorithmic Self-Governance . . . 23 / 42
  • 24. Reasoning about YSP (2) Given: {alive(1), ¬loaded(1), load(1), shoot(2), load(3), shoot(4)} We can prove alive(2) ∧ dead(3) ∧ dead(4) ∧ dead(5) ∧ loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5) But we can also prove alive(2) ∧ dead(3) ∧ alive(4) ∧ dead(5) ∧ loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5) Because we did not say: dead(N) ∧ load(N) → dead(N + 1) Do we have to do this for everything! – everything not changed stays the same? This is the frame problem Jeremy Pitt Algorithmic Self-Governance . . . 24 / 42
  • 25. EC formulation of the YSP (due to Marek Sergot) initiates(load,loaded,T). initiates(shoot,dead,T) :- holds at(loaded,T). terminates(shoot,loaded,T). terminates(shoot,alive,T) :- holds at(loaded,T). initially(alive). happens(shoot,2). happens(load,3). happens(shoot,5). happens(shoot,8). happens(load,9). happens(shoot,11). terminates(shoot,loaded). terminates(shoot,alive,T) :- holds_at(loaded,T). initially(alive). happens(shoot,2). happens(load,3). happens(shoot,5). happens(shoot,8). happens(load,9). happens(shoot,11). alive alive shoot loaded load shoot loaded dead shoot loaded load shoot loaded 0 1 2 3 4 5 6 7 8 9 10 11 12 ?- holds_at(alive, 4). yesJeremy Pitt Algorithmic Self-Governance . . . 25 / 42
  • 26. Motivating Example: Collective Choice Arrangements Voting Protocol There is a set of agents S, a subset of whom belong to an institution I, some of whom occupy the role of voters who are entitled to vote, and a designated agent in I occupying the role of chair, who declares the result of a vote. The protocol stipulates that a specific session (action situation) is opened, the chair calls for a ballot on a specific motion, the voters cast their votes (express their preference), the chair counts the votes and declares the result according to the standing (collective choice) rules. Jeremy Pitt Algorithmic Self-Governance . . . 26 / 42
  • 27. Voting Protocol: Informal Description Informal specification of a decision-making procedure according to Robert’s Rules of Order (Newly Revised) a committee meets and the chair opens a session a committee member requests and is granted the floor that member proposes a motion another member seconds the motion the members debate the motion the chair calls for those in favour to cast their vote the chair calls for those against to cast their vote the motion is carried or not, according to the standing rules of the committee Jeremy Pitt Algorithmic Self-Governance . . . 27 / 42
  • 28. Voting Protocol: Graphical Description Various options for graphical representation UML Sequence diagrams 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&)# -(=&)>-?@*# Note certain simplifications to RONR specification No floor request, debate or agenda Voting, changing of votes etc., concurrently Jeremy Pitt Algorithmic Self-Governance . . . 28 / 42
  • 29. An Event Calculus Specification Basic Items: Events and Fluents Institutional Powers Voting and Counting Votes Permission and Obligation Sanctions Objection Jeremy Pitt Algorithmic Self-Governance . . . 29 / 42
  • 30. 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) Jeremy Pitt Algorithmic Self-Governance . . . 30 / 42
  • 31. 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 Jeremy Pitt Algorithmic Self-Governance . . . 31 / 42
  • 32. Institutional Power Recall: an empowered agent performs a designated action in context which creates or changes an institutional fact. We want to express the effects of the designated protocol (speech) actions, in particular: vote open session and open ballot declare For the specification of the effects of these actions, it is important to distinguish between: the act of (‘successfully’) casting a vote, and 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). Jeremy Pitt Algorithmic Self-Governance . . . 32 / 42
  • 33. Institutional Power 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 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 Jeremy Pitt Algorithmic Self-Governance . . . 33 / 42
  • 34. Effects of Institutional Power (1) 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 Now voters have power to cast votes Jeremy Pitt Algorithmic Self-Governance . . . 34 / 42
  • 35. Effects of Institutional Power (2) 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 Power to revoke vote now granted (revocation without vote was ‘meaningless’) Power also used to advance status of motion, perform role assignment, etc. Jeremy Pitt Algorithmic Self-Governance . . . 35 / 42
  • 36. Permission ‘Right’ aspect of enfranchisement Agents have the power to vote Agents have the permission to vote In this case (although not always) power implies permission Nobody should stop them from exercising their power 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(T ) holdsat T ∧ T > T + 10 Jeremy Pitt Algorithmic Self-Governance . . . 36 / 42
  • 37. Obligation ‘Entitlement’ aspect of enfranchisement ‘Access’ to ‘voting machine’ is a ’physical’ issue Correct vote count: as above 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 Jeremy Pitt Algorithmic Self-Governance . . . 37 / 42
  • 38. Sanction The chair always has the power to close a ballot It has permission to exercise the power only after some time has elapsed 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 The sanction results in penalty only if someone objects Feature of RONR: ‘anything goes unless someone objects’ Jeremy Pitt Algorithmic Self-Governance . . . 38 / 42
  • 39. The Event Calculus: Implementation Routes EC has been mainly used for narrative assimilation: Given a narrative, check that it is consistent Given a consistent narrative, check what holds when There are many EC variants and implementations, for different purposes or requirements Discrete Event Calculus Reasoner, for proving properties & planning Cached Event Calculus, for efficient narrative assimilation etc. . . . We will show the use of the Simplified EC for narrative assimilation Pre-process directly into Prolog Jeremy Pitt Algorithmic Self-Governance . . . 39 / 42
  • 40. 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! Jeremy Pitt Algorithmic Self-Governance . . . 40 / 42
  • 41. Example: The Voting Protocol EC Specification pre-processed into Prolog program 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 Jeremy Pitt Algorithmic Self-Governance . . . 41 / 42
  • 42. Summary Introduced the concept oforganised adaptation We have reviewed the framework of dynamic norm-governed (multi-agent) systems We have studied the Event Calculus as one language for specifying the salient aspects of the framework We have specified a voting protocol in the Event Calculus This is the basis of engineering self-organising (norm-governed) multi-agent systems But what happens when we ‘inject’ these systems into socio-technical systems? Organised Adaptation + Socio-Technical System = Algorithmic Self-Governance Jeremy Pitt Algorithmic Self-Governance . . . 42 / 42