This tutorial will introduce the research field of pervasive computing, with particular focus on spatial computing and pervasive ecosystems. It will show the applicative domain with a focus on pervasive displays, analysing the main challenges such systems present to software engineers. It will also show how relevant is the role of the simulation and properties checking in this area, in which a complete system deployment prior to release is almost impossible.
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
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
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
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
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