SlideShare a Scribd company logo
1 of 83
Download to read offline
2nd year Ph.D. Seminar
Engineering Computational Ecosystems
Danilo Pianini ā€“ danilo.pianini@unibo.it
Supervisor: prof. Mirko Viroli
Alma Mater Studiorumā€”Universit`a di Bologna
June 7, 2013
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 1 / 78
Outline Every living creature on this earth dies alone.
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 2 / 78
Pervasive Computing
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 3 / 78
Pervasive Computing (Near) Future city scenario
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 4 / 78
Pervasive Computing (Near) Future city scenario
Shibuya Crossing
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 5 / 78
Pervasive Computing (Near) Future city scenario
People
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 6 / 78
Pervasive Computing (Near) Future city scenario
(Near) Future city scenario
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 7 / 78
Pervasive Computing (Near) Future city scenario
(Near) Future city scenario
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 8 / 78
Pervasive Computing (Near) Future devices
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 9 / 78
Pervasive Computing (Near) Future devices
Ready-to-use devices
Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 10 / 78
Pervasive Computing (Near) Future devices
Almost ready devices
Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
Pervasive Computing (Near) Future devices
Almost ready devices
Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
Pervasive Computing (Near) Future devices
Almost ready devices
Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
Pervasive Computing (Near) Future devices
Maybe in few decades...
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 12 / 78
Pervasive Computing Pervasive displays
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 13 / 78
Pervasive Computing Pervasive displays
More and more pervasive inside
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
ā†’
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 14 / 78
Pervasive Computing Pervasive displays
More and more pervasive outside
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
. . . . . . .
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 15 / 78
Pervasive Computing Case studies
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 16 / 78
Pervasive Computing Case studies
Pervasive displays: multiple view
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 17 / 78
Pervasive Computing Case studies
Pervasive displays: local sharing
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 18 / 78
Pervasive Computing Case studies
Pervasive displays: steering
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 19 / 78
Pervasive Computing Case studies
Pervasive displays: crowd steering
Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 20 / 78
Pervasive Computing Case studies
Some interesting services and features
Display must adapt to people behaviour
Displays show information based on majority of people around
Alerts are shown as a given person passes nearby
Content redirected from smartphone to display
Adjacent displays show a common, bigger content
Displays coordinate to avoid irritating users
Displays coordinate to provide visualisation streams
Public displays sharedly used by friends to interact
Using eye-glasses for immersed interaction
People may change their behaviour because of that
Single User Steering via Public Displays
Crowd Balancing
Evacuation
Adaptive Advertisement
Collective Guidance
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 21 / 78
Pervasive Ecosystems
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 22 / 78
Pervasive Ecosystems Cloud or pervasive?
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 23 / 78
Pervasive Ecosystems Cloud or pervasive?
A standard, centralised SOA solution ā€“ cloud oriented
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 24 / 78
Pervasive Ecosystems Cloud or pervasive?
A standard, centralised SOA solution
A centralised solution
One service (typically in the cloud) for:
Discovery: what components are available in the system?
Context: where are components? (behaviour specialisation)
Orchestration: coordinating components
Data storage: depositing/retrieving data
Adaptation: reacting to contingencies
All components interact through such middleware services
Does it scale well?
Can displays promptly react?
Can we store streams of sensor data in the cloud?
What about privacy?
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 25 / 78
Pervasive Ecosystems Cloud or pervasive?
Eco-inspired SOA solution
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 26 / 78
Pervasive Ecosystems Cloud or pervasive?
Eco-inspired SOA solution
Fully decentralised middleware services
Locations become very small and form a huge dynamic set
Contextualisation, discovery, and orchestration almost vanish
Middleware service just as a single space distributed on all nodes
In overall we have a network of spaces with service ā€œtagsā€
Adaptation is achieved by simple rules combining tags
Drawing a bridge with natural ecosystems
We have a set of spatially situated entities interacting according to
well-deļ¬ned set of natural laws enforced by the spatial environment in
which they situate, and adaptively self-organizing their interaction
dynamics according to their shape and structure
[Zambonelli and Viroli, 2011]
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 27 / 78
Pervasive Ecosystems Cloud or pervasive?
Towards a computational continuum
A pervasive (eco)system:
is composed of myriads of devices (nodes)
contains devices located in space and time
has a notion of ā€œnode densityā€
As such, it is similar to particle systems, and the higher the density, the
more this system approximates a spatio-temporal computational
continuum.
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 28 / 78
Pervasive Ecosystems Self-organising spatial data structures
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 29 / 78
Pervasive Ecosystems Self-organising spatial data structures
Computational ļ¬elds
A way to engineer self-organising applications in diļ¬€erent scenarios
Sensor networks (aggregating/diļ¬€using data)
[Beal and Bachrach, 2006]
Swarm and modular robotics (cooperative team work)
[Bachrach et al., 2010]
Pervasive computing (crowd steering, coordinated visualisation)
[Viroli et al., 2011]
Rough idea
Two simple rules for creating a spatial structure:
1 Diļ¬€use spatial enriched information among neighbours
2 Aggregate the information received by neighbours considering the
spatial information
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 30 / 78
Pervasive Ecosystems Self-organising spatial data structures
A 3D rendering of a uniform gradient structure
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 31 / 78
Pervasive Ecosystems Self-organising spatial data structures
Towards a library of gradient-based computational ļ¬elds
Gradient (discrete, ļ¬‚at continuous, structured continuous)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
Pervasive Ecosystems Self-organising spatial data structures
Towards a library of gradient-based computational ļ¬elds
Gradient (discrete, ļ¬‚at continuous, structured continuous)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
Pervasive Ecosystems Self-organising spatial data structures
Towards a library of gradient-based computational ļ¬elds
Gradient (discrete, ļ¬‚at continuous, structured continuous)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
Pervasive Ecosystems Self-organising spatial data structures
Towards a library of gradient-based computational ļ¬elds
Gradient (discrete, ļ¬‚at continuous, structured continuous)
Other structures (channel, shrinking crown, sector, partition, shadow, . . . )
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
Pervasive Ecosystems Self-organising spatial data structures
Creating optimal (multi-)paths
Enable devices used to steering from a source to a target
Open issue: ļ¬elds react to current event, but they do not provide
anticipative adaptation.
If obstacles are dynamically added and moved
If there is knowledge about WHEN those events will happen
How to improve?
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 33 / 78
Engineering Pervasive Ecosystems
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 34 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 35 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
When spatial gradient is not enough
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 36 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
When spatial gradient is not enough
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 37 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
When spatial gradient is not enough
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 38 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
When spatial gradient is not enough
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 39 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
When spatial gradient is not enough
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 40 / 78
Engineering Pervasive Ecosystems Anticipative adaptation
Anticipative gradient [Montagna et al., 2012a]
Anticipative gradient merges three strategies to provide anticipative
adaptation: in case a future event is detected
In case a future event is on the optimal path, also store paths not
passing through it
If you are in an area in which, if you followed the gradient, you would
have to wait
Either circumvent (green) or proceed and wait (red)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 41 / 78
Engineering Pervasive Ecosystems The SAPERE EU Project
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 42 / 78
Engineering Pervasive Ecosystems The SAPERE EU Project
The SAPERE Project
http://www.sapere-project.eu
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 43 / 78
Engineering Pervasive Ecosystems The SAPERE EU Project
Eco-laws and Live Semantic Annotations
Live Semantic Annotations (LSA)
A uniļ¬ed description for devices, data, services
Is about interface, status, and behaviour of a component
It provides semantic information, and it is dynamic
Eco-Laws
They resemble chemical reactions
They take some reagent LSA, and provide some product LSA
They can diļ¬€use an LSA in the neighborhood
They can aggregate LSAs like in chemical bonding
They form a small & ļ¬xed set of natural eco-laws
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 44 / 78
Engineering Pervasive Ecosystems The SAPERE EU Project
Pervasive Ecosystems
LSA Space
LSA
LSALSA
LSA
eco-law
Engine
Software services
SAPERE Node
eco-law activation
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
SAPERE
Node
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 45 / 78
Engineering Pervasive Ecosystems Alchemist
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 46 / 78
Engineering Pervasive Ecosystems Alchemist
Computational ecosystems: functional guarantees
Houston, weā€™ve got a problem.
Prediction diļ¬ƒculties
Thousands-devices scale system
Autonomous devices
Interaction plays a huge role
Formal proof
Mathematical guarantee
Only tackles simple cases
Model checking
Space state explosion for non-trivial cases
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 47 / 78
Engineering Pervasive Ecosystems Alchemist
Computational ecosystems: simulation
Open issue! How to simulate a (bio)chemical inspired computational
ecosystem?
Classic ABM modelling
High ļ¬‚exibility
Topology as ļ¬rst-class abstraction
Dynamics explicitly modelled
No native support for CTMC model
Chemical inspired modelling
Natively CTMC
Very fast and reliable algorithms exist in literature
Very limited topology: multicompartment at best
Only classic reactions can change the world status: limited ļ¬‚exibility
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 48 / 78
Engineering Pervasive Ecosystems Alchemist
Alchemist simulation approach [Pianini et al., 2013]
Base idea
Start from the existing work with stochastic chemical systems
simulation
Extend it as needed to reach desired ļ¬‚exibility
Goals
Full support for Continuous Time Markov Chains (CTMC)
Support for diļ¬€erently distributed events (e.g. Triggers)
Rich environments, with obstacles, mobile nodes, etc.
More expressive reactions
Fast and ļ¬‚exible SSA engine
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 49 / 78
Engineering Pervasive Ecosystems Alchemist
Enriching the environment description
Environment
Node
Reactions
Molecules
Alchemist world
The Environment contains and links together Nodes
Each Node is programmed with a set of Reactions
Nodes contain Molecules
Each Molecule in a node is described with a Concentration
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 50 / 78
Engineering Pervasive Ecosystems Alchemist
Extending the concept of reaction
From a set of reactants that combine themselves in a set of products to:
Number of
neighbors<3
Node
contains
something
Any other
condition
about this
environment
Rate equation: how conditions
influence the execution speed
Conditions Probability distribution Actions
Any other
action
on this
environment
Move a node
towards...
Change
concentration
of something
Reaction
In Alchemist, every event is an occurrence of a Reaction
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 51 / 78
Engineering Pervasive Ecosystems Alchemist
SSA Algorithms
Several SSA exist, they follow the same base schema [Gillespie, 1977]:
1 Select next reaction using markovian rates
2 Execute it
3 Update the rates which may have changed
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 52 / 78
Engineering Pervasive Ecosystems Alchemist
Existing algorithms
Next Reaction [Gibson and Bruck, 2000]
1 Compute a putative execution time for each reaction
2 Store reactions in a binary heap
3 Pick the next reaction
4 Execute it
5 Compute putative times only for potentially involved reactions
6 Goto 3
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 53 / 78
Engineering Pervasive Ecosystems Alchemist
Smart data structures ā‡’ bleeding edge performances
2.0
4 4
3.7
1
7.3
2 1
5.5
1 0
2
8.9
1 0
4.2
0 0
9.1
0 0
10.1
0 0
inf
0 0
A+Bā†’C
B+Cā†’D E+Gā†’A
D+Eā†’E+F Fā†’D+G
Next Reaction eļ¬ƒcient structures made dynamic
Dynamic Indexed Priority Queue
Allow to access the next reaction to execute in O(1) time
Worst case update in log2 (N) (average case a lot better)
Extended to ensure balancing with insertion and removal
Dynamic Dependency Graph
Allows to smartly update only a subset of all the reaction
Extended with the concept of input and output context
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 54 / 78
Engineering Pervasive Ecosystems Alchemist
Modular structure
Environment
User Interface
Alchemist language
Application-specific Alchemist Bytecode Compiler
Environment description in application-specific language
Incarnation-specific language
Reporting System
Interactive UI
Reaction Manager
Dependency Graph
Core Engine
Simulation Flow Language Parser
Environment Instantiator
XML Bytecode
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 55 / 78
Engineering Pervasive Ecosystems Alchemist
Computational ecosystems: Alchemist
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 56 / 78
Engineering Pervasive Ecosystems Alchemist
Some Features in short
Kinetic Monte Carlo engine
Parallelised engine
Mobility support
Dynamic connectivity support
Complex data items
Reaction-like programming
Parallel executor
Built-in approximate stochastic model checker
Alchemist2Blender
PVeStA integration
Built from scratch
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 57 / 78
Engineering Pervasive Ecosystems Alchemist
Testbed
We realised the same crowd-steering application for both Alchemist
and RePast, in order to evaluate the performance gap (if any)
Source code for RePast and standalone Alchemist application
available at
http://www.apice.unibo.it/xwiki/bin/view/Alchemist/JOS
We choose a simpliļ¬ed use case which allows simulation in RePast
without any change in its engine
This actually cripples out the most important Alchemist optimization
for complex environment (the dependency graph)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 58 / 78
Engineering Pervasive Ecosystems Alchemist
Results
0
50
100
150
200
250
300
350
400
450
500
50 100 150 200 250 300 350 400 450 500
Executiontime[s]
Number of agents
Performance comparison with Repast
Repast Alchemist
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 59 / 78
Engineering Pervasive Ecosystems Simulations and demos
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 60 / 78
Engineering Pervasive Ecosystems Simulations and demos
Crowd evacuation
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 61 / 78
Engineering Pervasive Ecosystems Simulations and demos
Crowd steering
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 62 / 78
Engineering Pervasive Ecosystems Simulations and demos
Crowd steering with anticipative adaptation
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 63 / 78
Engineering Pervasive Ecosystems Simulations and demos
Realistic pedestrians
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 64 / 78
Engineering Pervasive Ecosystems Simulations and demos
Morphogenesis
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 65 / 78
Engineering Pervasive Ecosystems Simulations and demos
Morphogenesis [Montagna et al., 2012b]
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 66 / 78
Open issues
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 67 / 78
Open issues Programming the emergence
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 68 / 78
Open issues Programming the emergence
Abstraction level
We can not (yet) program the emergence.
Chemical-inspired rules are powerful, but hard to control
Interactions among zilions of possibly mobile nodes may expose
unpredicted situations
We would like to express a spatial pattern, and automatically get the
single node program
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 69 / 78
Open issues Programming the emergence
Simulator improvement
Functional guarantees prior-to-deployment: large scale realistic simulations
Real life data (e.g. from Wien marathon)
Realistic environment (e.g. from Google Maps)
Realistic human behaviour (already partially there)
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 70 / 78
Open issues Real-world setup
Outline
1 Pervasive Computing
(Near) Future city scenario
(Near) Future devices
Pervasive displays
Case studies
2 Pervasive Ecosystems
Cloud or pervasive?
Self-organising spatial data structures
3 Engineering Pervasive Ecosystems
Anticipative adaptation
The SAPERE EU Project
Alchemist
Simulations and demos
4 Open issues
Programming the emergence
Real-world setup
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 71 / 78
Open issues Real-world setup
Communication
P2P Communication issues
Bluetooth: tight bandwidth, slow device detection
ZigBee: sensor oriented, not enough diļ¬€used
WiFi: diļ¬€erence between master mode and ā€œnormalā€ mode
Near Field Communication: too Near!
Wiļ¬ direct: we need to deepen
What do you suggest?
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 72 / 78
Open issues Real-world setup
Localisation and orientation
Outdoor
GPS: very good
Computer vision: good if the seeing node knows where it is
Latitude API: Android only, mixes 3G, WiFi, GPS and onboard
magnetometer. Very good
Indoor
GPS: useless within buildings
Computer vision: good if the seeing node knows where it is
Latitude API: Inaccurate, but promising
Signal power (Bluetooth, WiFi): Almost useless
Ultra Wide Band: extremely promising, but requires speciļ¬c setup
Resonant coupling [Pirkl and Lukowicz, 2012]: promising!
Ideas?
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 73 / 78
Open issues Real-world setup
Other issues
Identiļ¬cation
Relation between devices and user
Device identiļ¬cation: addresses, ids
User identiļ¬cation: computer vision, explicit login
Privacy
Security
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 74 / 78
Open issues Real-world setup
Bibliography I
Bachrach, J., Beal, J., and McLurkin, J. (2010).
Composable continuous-space programs for robotic swarms.
Neural Computing and Applications, 19(6).
Beal, J. and Bachrach, J. (2006).
Infrastructure for engineered emergence on sensor/actuator networks.
IEEE Intelligent Systems, 21(2):10ā€“19.
Gibson, M. A. and Bruck, J. (2000).
Eļ¬ƒcient Exact Stochastic Simulation of Chemical Systems with Many
Species and Many Channels.
The Journal of Physical Chemistry A, 104(9):1876ā€“1889.
Gillespie, D. T. (1977).
Exact stochastic simulation of coupled chemical reactions.
Journal of Physical Chemistry, 81(25):2340ā€“2361.
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 75 / 78
Open issues Real-world setup
Bibliography II
Montagna, S., Pianini, D., and Viroli, M. (2012a).
Gradient-based self-organisation patterns of anticipative adaptation.
In Proceedings of 6th IEEE International Conference on Self-Adaptive
and Self-Organizing Systems (SASO 2012), pages 169ā€“174.
Montagna, S., Pianini, D., and Viroli, M. (2012b).
A model for drosophila melanogaster development from a single cell to
stripe pattern formation.
In Shin, D., Hung, C.-C., and Hong, J., editors, Proceedings of the
27th Annual ACM Symposium on Applied Computing (SAC 2012),
pages 1406ā€“1412, Riva del Garda (Trento), Italy. ACM.
Pianini, D., Montagna, S., and Viroli, M. (2013).
Chemical-oriented simulation of computational systems with
Alchemist.
Journal of Simulation.
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 76 / 78
Open issues Real-world setup
Bibliography III
Pirkl, G. and Lukowicz, P. (2012).
Robust, low cost indoor positioning using magnetic resonant coupling.
In UbiComp, pages 431ā€“440.
Viroli, M., Casadei, M., Montagna, S., and Zambonelli, F. (2011).
Spatial coordination of pervasive services through chemical-inspired
tuple spaces.
ACM Transactions on Autonomous and Adaptive Systems, 6(2):14:1 ā€“
14:24.
Zambonelli, F. and Viroli, M. (2011).
A survey on nature-inspired metaphors for pervasive service
ecosystems.
International Journal of Pervasive Computing and Communications,
7(3):186ā€“204.
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 77 / 78
SAPERE Self-aware Pervasive Service Ecosystems
Engineering Computational Ecosystems
Danilo Pianini ā€“ danilo.pianini@unibo.it
Supervisor: prof. Mirko Viroli
Alma Mater Studiorumā€”Universit`a di Bologna
June 7, 2013
Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 78 / 78

More Related Content

Viewers also liked

Simulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaSimulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaDanilo Pianini
Ā 
Engineering Computational Ecosystems
Engineering Computational EcosystemsEngineering Computational Ecosystems
Engineering Computational EcosystemsDanilo Pianini
Ā 
Recipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursRecipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursDanilo Pianini
Ā 
SAPERE Analysis tools
SAPERE Analysis toolsSAPERE Analysis tools
SAPERE Analysis toolsDanilo Pianini
Ā 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Danilo Pianini
Ā 
Democratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDemocratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDanilo Pianini
Ā 
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleFrom Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleDanilo Pianini
Ā 
Software development made serious
Software development made seriousSoftware development made serious
Software development made seriousDanilo Pianini
Ā 
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...Danilo Pianini
Ā 
SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013Danilo Pianini
Ā 
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Danilo Pianini
Ā 
Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Danilo Pianini
Ā 
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Danilo Pianini
Ā 

Viewers also liked (13)

Simulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaSimulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and Scala
Ā 
Engineering Computational Ecosystems
Engineering Computational EcosystemsEngineering Computational Ecosystems
Engineering Computational Ecosystems
Ā 
Recipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursRecipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hours
Ā 
SAPERE Analysis tools
SAPERE Analysis toolsSAPERE Analysis tools
SAPERE Analysis tools
Ā 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Ā 
Democratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDemocratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineer
Ā 
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleFrom Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
Ā 
Software development made serious
Software development made seriousSoftware development made serious
Software development made serious
Ā 
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
Ā 
SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013
Ā 
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Ā 
Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)
Ā 
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Ā 

Similar to Engineering computational ecosystems (2nd year PhD seminar)

Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
Ā 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingRoberto Casadei
Ā 
130918 maelick claes - ecological studies of open source software ecosystems
130918   maelick claes - ecological studies of open source software ecosystems130918   maelick claes - ecological studies of open source software ecosystems
130918 maelick claes - ecological studies of open source software ecosystemsPtidej Team
Ā 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingSebastiano Panichella
Ā 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTRoberto Casadei
Ā 
Ambient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online ExperimentsAmbient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online ExperimentsVioleta Damjanovic-Behrendt
Ā 
A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research ActivityRoberto Casadei
Ā 
On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement LearningGianluca Aguzzi
Ā 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsRoberto Casadei
Ā 
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...DataScienceConferenc1
Ā 
Soluzioni space-based per la sostenibilitĆ 
Soluzioni space-based per la sostenibilitĆ Soluzioni space-based per la sostenibilitĆ 
Soluzioni space-based per la sostenibilitĆ MariaBrovelli1
Ā 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsAndrea Omicini
Ā 
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Stefano Mariani
Ā 
Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Danilo Pianini
Ā 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Andrea Omicini
Ā 

Similar to Engineering computational ecosystems (2nd year PhD seminar) (20)

Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Ā 
From Self-Organising Mechanisms to Design Patterns
From Self-Organising Mechanisms to Design PatternsFrom Self-Organising Mechanisms to Design Patterns
From Self-Organising Mechanisms to Design Patterns
Ā 
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Ā 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate Computing
Ā 
130918 maelick claes - ecological studies of open source software ecosystems
130918   maelick claes - ecological studies of open source software ecosystems130918   maelick claes - ecological studies of open source software ecosystems
130918 maelick claes - ecological studies of open source software ecosystems
Ā 
The Home of the Future
The Home of the FutureThe Home of the Future
The Home of the Future
Ā 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz Testing
Ā 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
Ā 
Ambient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online ExperimentsAmbient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online Experiments
Ā 
A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research Activity
Ā 
On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement Learning
Ā 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Ā 
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...
[DSC Adria 23] Tomislav Stipancic PLEA-Affective interactive virtual agents t...
Ā 
Soluzioni space-based per la sostenibilitĆ 
Soluzioni space-based per la sostenibilitĆ Soluzioni space-based per la sostenibilitĆ 
Soluzioni space-based per la sostenibilitĆ 
Ā 
Future direction of geoinfomatics
Future direction of geoinfomaticsFuture direction of geoinfomatics
Future direction of geoinfomatics
Ā 
The Allosphere
The AllosphereThe Allosphere
The Allosphere
Ā 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent Systems
Ā 
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Ā 
Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017
Ā 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Ā 

More from Danilo Pianini

Time fluid field-based Coordination
Time fluid field-based CoordinationTime fluid field-based Coordination
Time fluid field-based CoordinationDanilo Pianini
Ā 
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Danilo Pianini
Ā 
Versioning and License selection
Versioning and License selectionVersioning and License selection
Versioning and License selectionDanilo Pianini
Ā 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationDanilo Pianini
Ā 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationDanilo Pianini
Ā 
Productive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsProductive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsDanilo Pianini
Ā 
Computational Fields meet Augmented Reality: Perspectives and Challenges
Computational Fields meet Augmented Reality: Perspectives and ChallengesComputational Fields meet Augmented Reality: Perspectives and Challenges
Computational Fields meet Augmented Reality: Perspectives and ChallengesDanilo Pianini
Ā 
Towards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignTowards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignDanilo Pianini
Ā 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and deliveryDanilo Pianini
Ā 

More from Danilo Pianini (9)

Time fluid field-based Coordination
Time fluid field-based CoordinationTime fluid field-based Coordination
Time fluid field-based Coordination
Ā 
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Ā 
Versioning and License selection
Versioning and License selectionVersioning and License selection
Versioning and License selection
Ā 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Ā 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automation
Ā 
Productive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsProductive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control Systems
Ā 
Computational Fields meet Augmented Reality: Perspectives and Challenges
Computational Fields meet Augmented Reality: Perspectives and ChallengesComputational Fields meet Augmented Reality: Perspectives and Challenges
Computational Fields meet Augmented Reality: Perspectives and Challenges
Ā 
Towards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignTowards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems Design
Ā 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and delivery
Ā 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
Ā 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
Ā 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
Ā 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
Ā 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
Ā 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
Ā 
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot ModelDeepika Singh
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
Ā 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
Ā 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Ā 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Ā 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Ā 
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Ā 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Ā 

Engineering computational ecosystems (2nd year PhD seminar)

  • 1. 2nd year Ph.D. Seminar Engineering Computational Ecosystems Danilo Pianini ā€“ danilo.pianini@unibo.it Supervisor: prof. Mirko Viroli Alma Mater Studiorumā€”Universit`a di Bologna June 7, 2013 Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 1 / 78
  • 2. Outline Every living creature on this earth dies alone. 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 2 / 78
  • 3. Pervasive Computing Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 3 / 78
  • 4. Pervasive Computing (Near) Future city scenario Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 4 / 78
  • 5. Pervasive Computing (Near) Future city scenario Shibuya Crossing Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 5 / 78
  • 6. Pervasive Computing (Near) Future city scenario People Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 6 / 78
  • 7. Pervasive Computing (Near) Future city scenario (Near) Future city scenario Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 7 / 78
  • 8. Pervasive Computing (Near) Future city scenario (Near) Future city scenario Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 8 / 78
  • 9. Pervasive Computing (Near) Future devices Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 9 / 78
  • 10. Pervasive Computing (Near) Future devices Ready-to-use devices Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 10 / 78
  • 11. Pervasive Computing (Near) Future devices Almost ready devices Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  • 12. Pervasive Computing (Near) Future devices Almost ready devices Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  • 13. Pervasive Computing (Near) Future devices Almost ready devices Images courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  • 14. Pervasive Computing (Near) Future devices Maybe in few decades... Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 12 / 78
  • 15. Pervasive Computing Pervasive displays Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 13 / 78
  • 16. Pervasive Computing Pervasive displays More and more pervasive inside Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) ā†’ Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 14 / 78
  • 17. Pervasive Computing Pervasive displays More and more pervasive outside Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) . . . . . . . Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 15 / 78
  • 18. Pervasive Computing Case studies Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 16 / 78
  • 19. Pervasive Computing Case studies Pervasive displays: multiple view Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 17 / 78
  • 20. Pervasive Computing Case studies Pervasive displays: local sharing Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 18 / 78
  • 21. Pervasive Computing Case studies Pervasive displays: steering Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 19 / 78
  • 22. Pervasive Computing Case studies Pervasive displays: crowd steering Image courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler UniversitĀØat Linz) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 20 / 78
  • 23. Pervasive Computing Case studies Some interesting services and features Display must adapt to people behaviour Displays show information based on majority of people around Alerts are shown as a given person passes nearby Content redirected from smartphone to display Adjacent displays show a common, bigger content Displays coordinate to avoid irritating users Displays coordinate to provide visualisation streams Public displays sharedly used by friends to interact Using eye-glasses for immersed interaction People may change their behaviour because of that Single User Steering via Public Displays Crowd Balancing Evacuation Adaptive Advertisement Collective Guidance Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 21 / 78
  • 24. Pervasive Ecosystems Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 22 / 78
  • 25. Pervasive Ecosystems Cloud or pervasive? Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 23 / 78
  • 26. Pervasive Ecosystems Cloud or pervasive? A standard, centralised SOA solution ā€“ cloud oriented Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 24 / 78
  • 27. Pervasive Ecosystems Cloud or pervasive? A standard, centralised SOA solution A centralised solution One service (typically in the cloud) for: Discovery: what components are available in the system? Context: where are components? (behaviour specialisation) Orchestration: coordinating components Data storage: depositing/retrieving data Adaptation: reacting to contingencies All components interact through such middleware services Does it scale well? Can displays promptly react? Can we store streams of sensor data in the cloud? What about privacy? Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 25 / 78
  • 28. Pervasive Ecosystems Cloud or pervasive? Eco-inspired SOA solution Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 26 / 78
  • 29. Pervasive Ecosystems Cloud or pervasive? Eco-inspired SOA solution Fully decentralised middleware services Locations become very small and form a huge dynamic set Contextualisation, discovery, and orchestration almost vanish Middleware service just as a single space distributed on all nodes In overall we have a network of spaces with service ā€œtagsā€ Adaptation is achieved by simple rules combining tags Drawing a bridge with natural ecosystems We have a set of spatially situated entities interacting according to well-deļ¬ned set of natural laws enforced by the spatial environment in which they situate, and adaptively self-organizing their interaction dynamics according to their shape and structure [Zambonelli and Viroli, 2011] Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 27 / 78
  • 30. Pervasive Ecosystems Cloud or pervasive? Towards a computational continuum A pervasive (eco)system: is composed of myriads of devices (nodes) contains devices located in space and time has a notion of ā€œnode densityā€ As such, it is similar to particle systems, and the higher the density, the more this system approximates a spatio-temporal computational continuum. Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 28 / 78
  • 31. Pervasive Ecosystems Self-organising spatial data structures Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 29 / 78
  • 32. Pervasive Ecosystems Self-organising spatial data structures Computational ļ¬elds A way to engineer self-organising applications in diļ¬€erent scenarios Sensor networks (aggregating/diļ¬€using data) [Beal and Bachrach, 2006] Swarm and modular robotics (cooperative team work) [Bachrach et al., 2010] Pervasive computing (crowd steering, coordinated visualisation) [Viroli et al., 2011] Rough idea Two simple rules for creating a spatial structure: 1 Diļ¬€use spatial enriched information among neighbours 2 Aggregate the information received by neighbours considering the spatial information Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 30 / 78
  • 33. Pervasive Ecosystems Self-organising spatial data structures A 3D rendering of a uniform gradient structure Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 31 / 78
  • 34. Pervasive Ecosystems Self-organising spatial data structures Towards a library of gradient-based computational ļ¬elds Gradient (discrete, ļ¬‚at continuous, structured continuous) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  • 35. Pervasive Ecosystems Self-organising spatial data structures Towards a library of gradient-based computational ļ¬elds Gradient (discrete, ļ¬‚at continuous, structured continuous) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  • 36. Pervasive Ecosystems Self-organising spatial data structures Towards a library of gradient-based computational ļ¬elds Gradient (discrete, ļ¬‚at continuous, structured continuous) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  • 37. Pervasive Ecosystems Self-organising spatial data structures Towards a library of gradient-based computational ļ¬elds Gradient (discrete, ļ¬‚at continuous, structured continuous) Other structures (channel, shrinking crown, sector, partition, shadow, . . . ) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  • 38. Pervasive Ecosystems Self-organising spatial data structures Creating optimal (multi-)paths Enable devices used to steering from a source to a target Open issue: ļ¬elds react to current event, but they do not provide anticipative adaptation. If obstacles are dynamically added and moved If there is knowledge about WHEN those events will happen How to improve? Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 33 / 78
  • 39. Engineering Pervasive Ecosystems Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 34 / 78
  • 40. Engineering Pervasive Ecosystems Anticipative adaptation Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 35 / 78
  • 41. Engineering Pervasive Ecosystems Anticipative adaptation When spatial gradient is not enough Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 36 / 78
  • 42. Engineering Pervasive Ecosystems Anticipative adaptation When spatial gradient is not enough Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 37 / 78
  • 43. Engineering Pervasive Ecosystems Anticipative adaptation When spatial gradient is not enough Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 38 / 78
  • 44. Engineering Pervasive Ecosystems Anticipative adaptation When spatial gradient is not enough Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 39 / 78
  • 45. Engineering Pervasive Ecosystems Anticipative adaptation When spatial gradient is not enough Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 40 / 78
  • 46. Engineering Pervasive Ecosystems Anticipative adaptation Anticipative gradient [Montagna et al., 2012a] Anticipative gradient merges three strategies to provide anticipative adaptation: in case a future event is detected In case a future event is on the optimal path, also store paths not passing through it If you are in an area in which, if you followed the gradient, you would have to wait Either circumvent (green) or proceed and wait (red) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 41 / 78
  • 47. Engineering Pervasive Ecosystems The SAPERE EU Project Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 42 / 78
  • 48. Engineering Pervasive Ecosystems The SAPERE EU Project The SAPERE Project http://www.sapere-project.eu Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 43 / 78
  • 49. Engineering Pervasive Ecosystems The SAPERE EU Project Eco-laws and Live Semantic Annotations Live Semantic Annotations (LSA) A uniļ¬ed description for devices, data, services Is about interface, status, and behaviour of a component It provides semantic information, and it is dynamic Eco-Laws They resemble chemical reactions They take some reagent LSA, and provide some product LSA They can diļ¬€use an LSA in the neighborhood They can aggregate LSAs like in chemical bonding They form a small & ļ¬xed set of natural eco-laws Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 44 / 78
  • 50. Engineering Pervasive Ecosystems The SAPERE EU Project Pervasive Ecosystems LSA Space LSA LSALSA LSA eco-law Engine Software services SAPERE Node eco-law activation SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node SAPERE Node Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 45 / 78
  • 51. Engineering Pervasive Ecosystems Alchemist Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 46 / 78
  • 52. Engineering Pervasive Ecosystems Alchemist Computational ecosystems: functional guarantees Houston, weā€™ve got a problem. Prediction diļ¬ƒculties Thousands-devices scale system Autonomous devices Interaction plays a huge role Formal proof Mathematical guarantee Only tackles simple cases Model checking Space state explosion for non-trivial cases Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 47 / 78
  • 53. Engineering Pervasive Ecosystems Alchemist Computational ecosystems: simulation Open issue! How to simulate a (bio)chemical inspired computational ecosystem? Classic ABM modelling High ļ¬‚exibility Topology as ļ¬rst-class abstraction Dynamics explicitly modelled No native support for CTMC model Chemical inspired modelling Natively CTMC Very fast and reliable algorithms exist in literature Very limited topology: multicompartment at best Only classic reactions can change the world status: limited ļ¬‚exibility Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 48 / 78
  • 54. Engineering Pervasive Ecosystems Alchemist Alchemist simulation approach [Pianini et al., 2013] Base idea Start from the existing work with stochastic chemical systems simulation Extend it as needed to reach desired ļ¬‚exibility Goals Full support for Continuous Time Markov Chains (CTMC) Support for diļ¬€erently distributed events (e.g. Triggers) Rich environments, with obstacles, mobile nodes, etc. More expressive reactions Fast and ļ¬‚exible SSA engine Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 49 / 78
  • 55. Engineering Pervasive Ecosystems Alchemist Enriching the environment description Environment Node Reactions Molecules Alchemist world The Environment contains and links together Nodes Each Node is programmed with a set of Reactions Nodes contain Molecules Each Molecule in a node is described with a Concentration Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 50 / 78
  • 56. Engineering Pervasive Ecosystems Alchemist Extending the concept of reaction From a set of reactants that combine themselves in a set of products to: Number of neighbors<3 Node contains something Any other condition about this environment Rate equation: how conditions influence the execution speed Conditions Probability distribution Actions Any other action on this environment Move a node towards... Change concentration of something Reaction In Alchemist, every event is an occurrence of a Reaction Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 51 / 78
  • 57. Engineering Pervasive Ecosystems Alchemist SSA Algorithms Several SSA exist, they follow the same base schema [Gillespie, 1977]: 1 Select next reaction using markovian rates 2 Execute it 3 Update the rates which may have changed Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 52 / 78
  • 58. Engineering Pervasive Ecosystems Alchemist Existing algorithms Next Reaction [Gibson and Bruck, 2000] 1 Compute a putative execution time for each reaction 2 Store reactions in a binary heap 3 Pick the next reaction 4 Execute it 5 Compute putative times only for potentially involved reactions 6 Goto 3 Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 53 / 78
  • 59. Engineering Pervasive Ecosystems Alchemist Smart data structures ā‡’ bleeding edge performances 2.0 4 4 3.7 1 7.3 2 1 5.5 1 0 2 8.9 1 0 4.2 0 0 9.1 0 0 10.1 0 0 inf 0 0 A+Bā†’C B+Cā†’D E+Gā†’A D+Eā†’E+F Fā†’D+G Next Reaction eļ¬ƒcient structures made dynamic Dynamic Indexed Priority Queue Allow to access the next reaction to execute in O(1) time Worst case update in log2 (N) (average case a lot better) Extended to ensure balancing with insertion and removal Dynamic Dependency Graph Allows to smartly update only a subset of all the reaction Extended with the concept of input and output context Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 54 / 78
  • 60. Engineering Pervasive Ecosystems Alchemist Modular structure Environment User Interface Alchemist language Application-specific Alchemist Bytecode Compiler Environment description in application-specific language Incarnation-specific language Reporting System Interactive UI Reaction Manager Dependency Graph Core Engine Simulation Flow Language Parser Environment Instantiator XML Bytecode Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 55 / 78
  • 61. Engineering Pervasive Ecosystems Alchemist Computational ecosystems: Alchemist Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 56 / 78
  • 62. Engineering Pervasive Ecosystems Alchemist Some Features in short Kinetic Monte Carlo engine Parallelised engine Mobility support Dynamic connectivity support Complex data items Reaction-like programming Parallel executor Built-in approximate stochastic model checker Alchemist2Blender PVeStA integration Built from scratch Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 57 / 78
  • 63. Engineering Pervasive Ecosystems Alchemist Testbed We realised the same crowd-steering application for both Alchemist and RePast, in order to evaluate the performance gap (if any) Source code for RePast and standalone Alchemist application available at http://www.apice.unibo.it/xwiki/bin/view/Alchemist/JOS We choose a simpliļ¬ed use case which allows simulation in RePast without any change in its engine This actually cripples out the most important Alchemist optimization for complex environment (the dependency graph) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 58 / 78
  • 64. Engineering Pervasive Ecosystems Alchemist Results 0 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 Executiontime[s] Number of agents Performance comparison with Repast Repast Alchemist Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 59 / 78
  • 65. Engineering Pervasive Ecosystems Simulations and demos Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 60 / 78
  • 66. Engineering Pervasive Ecosystems Simulations and demos Crowd evacuation Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 61 / 78
  • 67. Engineering Pervasive Ecosystems Simulations and demos Crowd steering Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 62 / 78
  • 68. Engineering Pervasive Ecosystems Simulations and demos Crowd steering with anticipative adaptation Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 63 / 78
  • 69. Engineering Pervasive Ecosystems Simulations and demos Realistic pedestrians Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 64 / 78
  • 70. Engineering Pervasive Ecosystems Simulations and demos Morphogenesis Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 65 / 78
  • 71. Engineering Pervasive Ecosystems Simulations and demos Morphogenesis [Montagna et al., 2012b] Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 66 / 78
  • 72. Open issues Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 67 / 78
  • 73. Open issues Programming the emergence Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 68 / 78
  • 74. Open issues Programming the emergence Abstraction level We can not (yet) program the emergence. Chemical-inspired rules are powerful, but hard to control Interactions among zilions of possibly mobile nodes may expose unpredicted situations We would like to express a spatial pattern, and automatically get the single node program Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 69 / 78
  • 75. Open issues Programming the emergence Simulator improvement Functional guarantees prior-to-deployment: large scale realistic simulations Real life data (e.g. from Wien marathon) Realistic environment (e.g. from Google Maps) Realistic human behaviour (already partially there) Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 70 / 78
  • 76. Open issues Real-world setup Outline 1 Pervasive Computing (Near) Future city scenario (Near) Future devices Pervasive displays Case studies 2 Pervasive Ecosystems Cloud or pervasive? Self-organising spatial data structures 3 Engineering Pervasive Ecosystems Anticipative adaptation The SAPERE EU Project Alchemist Simulations and demos 4 Open issues Programming the emergence Real-world setup Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 71 / 78
  • 77. Open issues Real-world setup Communication P2P Communication issues Bluetooth: tight bandwidth, slow device detection ZigBee: sensor oriented, not enough diļ¬€used WiFi: diļ¬€erence between master mode and ā€œnormalā€ mode Near Field Communication: too Near! Wiļ¬ direct: we need to deepen What do you suggest? Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 72 / 78
  • 78. Open issues Real-world setup Localisation and orientation Outdoor GPS: very good Computer vision: good if the seeing node knows where it is Latitude API: Android only, mixes 3G, WiFi, GPS and onboard magnetometer. Very good Indoor GPS: useless within buildings Computer vision: good if the seeing node knows where it is Latitude API: Inaccurate, but promising Signal power (Bluetooth, WiFi): Almost useless Ultra Wide Band: extremely promising, but requires speciļ¬c setup Resonant coupling [Pirkl and Lukowicz, 2012]: promising! Ideas? Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 73 / 78
  • 79. Open issues Real-world setup Other issues Identiļ¬cation Relation between devices and user Device identiļ¬cation: addresses, ids User identiļ¬cation: computer vision, explicit login Privacy Security Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 74 / 78
  • 80. Open issues Real-world setup Bibliography I Bachrach, J., Beal, J., and McLurkin, J. (2010). Composable continuous-space programs for robotic swarms. Neural Computing and Applications, 19(6). Beal, J. and Bachrach, J. (2006). Infrastructure for engineered emergence on sensor/actuator networks. IEEE Intelligent Systems, 21(2):10ā€“19. Gibson, M. A. and Bruck, J. (2000). Eļ¬ƒcient Exact Stochastic Simulation of Chemical Systems with Many Species and Many Channels. The Journal of Physical Chemistry A, 104(9):1876ā€“1889. Gillespie, D. T. (1977). Exact stochastic simulation of coupled chemical reactions. Journal of Physical Chemistry, 81(25):2340ā€“2361. Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 75 / 78
  • 81. Open issues Real-world setup Bibliography II Montagna, S., Pianini, D., and Viroli, M. (2012a). Gradient-based self-organisation patterns of anticipative adaptation. In Proceedings of 6th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2012), pages 169ā€“174. Montagna, S., Pianini, D., and Viroli, M. (2012b). A model for drosophila melanogaster development from a single cell to stripe pattern formation. In Shin, D., Hung, C.-C., and Hong, J., editors, Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC 2012), pages 1406ā€“1412, Riva del Garda (Trento), Italy. ACM. Pianini, D., Montagna, S., and Viroli, M. (2013). Chemical-oriented simulation of computational systems with Alchemist. Journal of Simulation. Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 76 / 78
  • 82. Open issues Real-world setup Bibliography III Pirkl, G. and Lukowicz, P. (2012). Robust, low cost indoor positioning using magnetic resonant coupling. In UbiComp, pages 431ā€“440. Viroli, M., Casadei, M., Montagna, S., and Zambonelli, F. (2011). Spatial coordination of pervasive services through chemical-inspired tuple spaces. ACM Transactions on Autonomous and Adaptive Systems, 6(2):14:1 ā€“ 14:24. Zambonelli, F. and Viroli, M. (2011). A survey on nature-inspired metaphors for pervasive service ecosystems. International Journal of Pervasive Computing and Communications, 7(3):186ā€“204. Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 77 / 78
  • 83. SAPERE Self-aware Pervasive Service Ecosystems Engineering Computational Ecosystems Danilo Pianini ā€“ danilo.pianini@unibo.it Supervisor: prof. Mirko Viroli Alma Mater Studiorumā€”Universit`a di Bologna June 7, 2013 Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 78 / 78