This document discusses concepts of self-adaptive and self-organizing systems and ways to reconcile the two approaches. It describes key challenges in developing complex, large-scale autonomic software systems using models and engineering tools. Self-adaptive systems are discussed in terms of feedback loops within and between components. Self-organizing systems are described as exhibiting emergent behaviors from the bottom-up through peer interactions. Integrating self-organization patterns into large self-adaptive systems and controlling self-organizing subsystem behaviors by design are identified as important questions. The role of the environment in engineering desired self-organizing behaviors is highlighted using the example of roundabout traffic flow.
7. Outline
• Self-‐adap)ve
systems
– Concepts
&
Experiences
• Self-‐organizing
systems
– Concepts
&
Experiences
• Reconcilia)on
– Roundabouts
and
more…
– Future
urban
scenarios
• Conclusions
8. Self-adaptive Systems: Concepts
• Key
research
issues
– From
my
own
very
personal
and
necessarily
limited
perspec)ve
• Engineering
the
structure
of
feedback
loops
– Individual
loops
– Nested
loops
– Interac)ng
loops
• And
the
components
within
– E.g.,
for
effectors
– Parameters
upda)ng
– Behavioral
upda)ng
(COP
&
C)
– Structural
upda)ng
9. The ASCENS Project
• ASCENS “Autonomic Service
Component Ensembles”
– EU FP7 FET IP
– Starting October 1st 2010, lasting
4 years
• Key Challenges
– How to develop complex and
large scale autonomic software
systems?
– Models + Engineering Tools
– Experience with swarm robotics
and car sharing of e-vehicles
10. The ASCENS SOTA Model
(IEEE ECBS 2012, IEEE WETICE 2012)
• Kind
of
conceptual
framework
• SOTA
::
“State
of
the
Affairs”
– A
Mul)dimensional
space
– Everything
in
the
world
in
which
the
system
lives
and
executes,
that
may
affect
its
behaviour
• Adap)ve
systems
can
(should?)
be
expressed
in
terms
of
“goals”
=
“states
of
the
affairs”
to
be
achieved
– Without
making
assump)on
on
the
actual
design
– It
is
a
requirements
engineering
ac)vity
11. SOTA: Components of the Model
• “State
of
the
Affairs”
::
S
(t)
at
)me
t,
of
a
specific
en)ty
e
is
a
tuple
of
n
si
values,
each
represen)ng
a
specific
aspect
of
the
current
situa)on
• Dynamics
::
evolu)on
of
Se
as
a
movement
in
a
virtual
n-‐dimensional
space
Se:
• Transi5ons
::
θ(t,
t
+
1)
expresses
a
movement
of
e
in
S
à
endogenous
or
exogenous
• Goal
::
achievement
of
a
given
state
of
the
affairs,
represented
as
a
confined
area
in
space
• U5lity
::
(constraints
on
the
trajectory
to
follow
in
the
phase
space
Se)
expressed
as
a
subspace
in
Se:
12. Using SOTA
in Analysis
• Model
checking
func)onal
and
non
func)onal
requirements
– Opera5onaliza5on
of
SOTA
goals
and
U)li)es
– Transforma5on
into
asynchronous
FLTL
– Verifica5on
with
LTSA
tool
• Elici)ng
“awareness”
requirements
– Iden5fica5on:
which
knowledge
(dimensions
of
SOTA
space)
with
components
– Virtualiza5on:
which
(virtual)
sensors
available
with
components
– Metrifica5on:
which
granularity/accuracy
is
needed
for
sensors
13. Using SOTA in Design
• Express
adapta)on
pa]erns
in
terms
of
G
and
U
– G
and
U
express
the
adapta)on
needs
– And
can
thus
drive
the
iden)fica)on
of
With
which
so_ware
architecture
structure
of
feedback
loops)
• At
the
level
of
both
individual
and
ensembles
– Two
levels
are
strictly
inter-‐twined
– And
possibly
self-‐expressing
the
structure
of
feedback
loops
• Pa]ern-‐based
approach
– What
general
structures
for
feedback
loops?
– Macro
taxonomy
of
pa]erns
14. SOTA Patterns
G
=
∅,
U
=
U1,U2,...
Un
G
=
G1,G2,...,Gm,
U
=
U1,U2,...,Un
GASC
=
GCSC
∩
GACM
UASC
=
UCSC
∩
UACM
15. Self-org vs Self-adaptive Patterns
• There are cases in which top-
down self-adaptive patterns are
more effective
– A small group of robots/vehicles
with a leader perceiving and
directing/negotiating the the group
– “Loci” of feedback control
• There are cases in which bottom
up self-org patterns are better
– A large group of robots/vehicles
works well with peer organization
– Self-organizing activities and
coordinated movements
– Distributed implicit control loops
16. Key Question #1
• How
to
integrate
bo]om-‐up
self-‐
organiza)on
pa]erns
into
large-‐scale
self-‐
adap)ve
systems?
– What
interface/API?
– For
what
classes
of
self-‐
org
behavior?
– What
mechanisms?
– Can
we
define
general
rules/approaches?
17. The SAPERE Project
• SAPERE “Self-aware Pervasive
Service Ecosystems”
– EU FP7 FET
– Starting October 1st 2010, lasting
3 years
• Key Challenges
– To define and implement a general
framework for self-organizing
service ecosystems
– Models + Middleware
– Experience with pervasive urban
services and pervasive displays
18. The SAPERE Approach
• Nature-inspired (Biochemical)
– Simply metaphor for combining/aggregating services
in a spontaneous way
– Whether human or
ICT ones
• Spatially-situated
– To match the
nature of urban
scenarios
– Inherently adaptive
– Spontaneous
reconfiguration of
activities and
interactions
19. The SAPERE Architecture
• Humans & ICT Devices
– Interact by injecting/
consuming service/data
components
• Service Components
– Execute in a sort virtual
“Spatial substrate”
– Distributed reactive tuple
space
– Moving, acting, composing, as
from eco-laws
• Eco Laws
– Rule local activities and
interactions
– Apply based on local state
– Self-organization of collective
behavior
20. Using SAPERE
• Inject “live semantic
annotations” (LSAs)
– messages+service
descriptions
• Eco-laws apply to LSAs
– Bonding (subsuming
discovery and composition)
between LSAs
– Propagation (pheromones
and fields) of LSAs
– Decay (evaporation)
• Observe resulting LSA
– Their content
– Their distributed structure
21. Example: Steering Mobility
• Mobile entities ingject LSA expressing their presence
– Propagation of LSA
• Observe other LSAs
– And if affected by their presence in chosing directions
23. Integrating Self-organization
and Self-Adaptation in SAPERE
• Some LSAs that bonds with each other but are insensitive to
fields and pheromones
– Autonomic manager can be easily integrated in the loop
• Other LSAs as fields and pheromones
– For self-org patterns
• All in the same environment/space and with same mechanisms
25. Key Question #2
• How
to
control
by
design
the
behavior
of
self-‐
organizing
(sub)systems?
– Predictable
non-‐
determinism
– Direct
engineering
of
self-‐organizing
behaviors
– E.g.,
in
SAPERE,
how
can
we
sure
that
the
macro
behavior
of
steered
will
not
diverge
from
what
expected
26. The Roundabout Lesson:
Engineering the environment
• The
shape
of
the
environment
can
affect
the
behavior
of
self-‐
organizing
components
– Without
undermining
their
autonomy
– Without
losing
the
advantages
of
self-‐organiza)on
– Yet
promo)ng
more
predictability
• And
enabling
top-‐down
engineering
– The
shape
you
give
is
the
behavior
you
get
27. Engineering the Environment
in SAPERE
• What does it means to “shape” the environment
– Shaping its perception by components
– Equivalent to the distort the way LSAs are perceived and propagate
• Very easy to
implement but…
– Still to be verified
its effectiveness
and the ease of
engineering top-
down behaviors in
this way
28. Engineering the Environment
in SAPERE
• What does it means to “shape” the environment
– Shaping its perception by components
– Equivalent to the distort the way LSAs are perceived and propagate
• Very easy to
implement but…
– Still to be verified
its effectiveness
and the ease of
engineering top-
down behaviors in
this way
29. Key Question #3
• Are
there
different
approaches
to
reconciliate?
– I
have
no
answers….
– However…
30. The Jazz Perspective
• A few “engineered” rules
– How and how not to interact
– Rythms and rules of interactions
• Freedom of self-organization for anything else
– With who and when to interact
– According to which internal goals/attitudes
– Dynamic instantiation of feedback loops
• Worth investigating? I have no idea but it is fascinating
– cfr “Ad-opera” approach
31. Key Question #4
• Where
will
reconcilia)on
approaches
be
firstly
applied?
– In
most
large-‐scale
so_ware
systems
– And
primarily
in
future
urban
socio-‐technical
superorganisms
32. Smart Cities: From Senseable…
• Sensing what’s
happening
– Via ICT devices Sense
– And social
networks
• To better
understand (via
data analysis) Understand
– City and social (compute)
dynamics
– At a global level
33. …To Actuable
• We can “shape”
other than
understand Sense
Act
(Steer)
– Actuating ICT
device
– Steering human
actions
• Closing loops that Understand
enables finalized (compute)
urban behaviors
possible
34. …To Actuable
• We can “shape”
other than
understand Sense
Act
(Steer)
– Actuating ICT
device
– Steering human
actions
• Closing the loop Understand
that enables (compute)
finalized urban
behaviors possible
35. Adaptation in Urban
Superorganisms
• The ICT and Human/Social level
blurred to the point of invisibility
– Their capabilities well complement
each other à high value co-creation
– High-levels of collective “urban”
intelligence
– Necessarily situated and adaptive
• Many levels of top-down and
bottom-up adaptation
– Centralized control (municipalities)
– Bottom up control (citizen
proactiveness)
– Hybrid (crowdsourcing)
• Will have to be orchestrated
36. Example:
Mobility in Urban Superorganisms
• Mobility per se :: steer for car, bike, ride sharing
• City maintainance :: please go there and do that
• Exhibitions ::steer to avoid crowd or suggest paths
• All of these require
– Sensing, computing (data interpretation) actuation (steering)
– Adaptive self-organized mobility strategies
– Top up engineering and control of behaviors
• Exxacerbating all previous engineering challenges
37. Conclusions
• Need to reconcile self-org and self-adapt approaches
• Integration of localized self-org sub-systems !
• Controlling self-organizing behaviors !
• Jazz ?
• Will be of fundamental importance in future urban
socio-technical superorganisms
• Yet there are still a lot of engineering challenges
• There included social issues à humans are back in the loop!