SlideShare una empresa de Scribd logo
1 de 83
Descargar para leer sin conexión
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-defined 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 fields
A way to engineer self-organising applications in different scenarios
Sensor networks (aggregating/diffusing 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 Diffuse 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 fields
Gradient (discrete, flat 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 fields
Gradient (discrete, flat 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 fields
Gradient (discrete, flat 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 fields
Gradient (discrete, flat 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: fields 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 unified 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 diffuse an LSA in the neighborhood
They can aggregate LSAs like in chemical bonding
They form a small & fixed 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 difficulties
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 flexibility
Topology as first-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 flexibility
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 flexibility
Goals
Full support for Continuous Time Markov Chains (CTMC)
Support for differently distributed events (e.g. Triggers)
Rich environments, with obstacles, mobile nodes, etc.
More expressive reactions
Fast and flexible 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 efficient 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 simplified 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 diffused
WiFi: difference between master mode and “normal” mode
Near Field Communication: too Near!
Wifi 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 specific 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
Identification
Relation between devices and user
Device identification: addresses, ids
User identification: 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).
Efficient 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

Más contenido relacionado

Destacado

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
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/2013
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
 

Destacado (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 a Engineering computational ecosystems (2nd year PhD seminar)

Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
Roberto Casadei
 
Ambient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online ExperimentsAmbient Intelligence in Adaptive Online Experiments
Ambient Intelligence in Adaptive Online Experiments
Violeta Damjanovic-Behrendt
 
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
Roberto Casadei
 

Similar a 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...
 

Más de Danilo Pianini

Más de 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
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

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-defined 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 fields A way to engineer self-organising applications in different scenarios Sensor networks (aggregating/diffusing 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 Diffuse 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 fields Gradient (discrete, flat 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 fields Gradient (discrete, flat 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 fields Gradient (discrete, flat 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 fields Gradient (discrete, flat 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: fields 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 unified 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 diffuse an LSA in the neighborhood They can aggregate LSAs like in chemical bonding They form a small & fixed 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 difficulties 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 flexibility Topology as first-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 flexibility 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 flexibility Goals Full support for Continuous Time Markov Chains (CTMC) Support for differently distributed events (e.g. Triggers) Rich environments, with obstacles, mobile nodes, etc. More expressive reactions Fast and flexible 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 efficient 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 simplified 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 diffused WiFi: difference between master mode and “normal” mode Near Field Communication: too Near! Wifi 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 specific 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 Identification Relation between devices and user Device identification: addresses, ids User identification: 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). Efficient 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