Engineering computational ecosystems (2nd year PhD seminar)

7,805 views
7,762 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,805
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Engineering computational ecosystems (2nd year PhD seminar)

  1. 1. 2nd year Ph.D. SeminarEngineering Computational EcosystemsDanilo Pianini – danilo.pianini@unibo.itSupervisor: prof. Mirko ViroliAlma Mater Studiorum—Universit`a di BolognaJune 7, 2013Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 1 / 78
  2. 2. Outline Every living creature on this earth dies alone.1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 2 / 78
  3. 3. Pervasive ComputingOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 3 / 78
  4. 4. Pervasive Computing (Near) Future city scenarioOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 4 / 78
  5. 5. Pervasive Computing (Near) Future city scenarioShibuya CrossingDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 5 / 78
  6. 6. Pervasive Computing (Near) Future city scenarioPeopleDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 6 / 78
  7. 7. Pervasive Computing (Near) Future city scenario(Near) Future city scenarioDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 7 / 78
  8. 8. Pervasive Computing (Near) Future city scenario(Near) Future city scenarioDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 8 / 78
  9. 9. Pervasive Computing (Near) Future devicesOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 9 / 78
  10. 10. Pervasive Computing (Near) Future devicesReady-to-use devicesImages courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 10 / 78
  11. 11. Pervasive Computing (Near) Future devicesAlmost ready devicesImages courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  12. 12. Pervasive Computing (Near) Future devicesAlmost ready devicesImages courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  13. 13. Pervasive Computing (Near) Future devicesAlmost ready devicesImages courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 11 / 78
  14. 14. Pervasive Computing (Near) Future devicesMaybe in few decades...Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 12 / 78
  15. 15. Pervasive Computing Pervasive displaysOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 13 / 78
  16. 16. Pervasive Computing Pervasive displaysMore and more pervasive insideImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)→Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 14 / 78
  17. 17. Pervasive Computing Pervasive displaysMore and more pervasive outsideImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz). . . . . . .Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 15 / 78
  18. 18. Pervasive Computing Case studiesOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 16 / 78
  19. 19. Pervasive Computing Case studiesPervasive displays: multiple viewImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 17 / 78
  20. 20. Pervasive Computing Case studiesPervasive displays: local sharingImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 18 / 78
  21. 21. Pervasive Computing Case studiesPervasive displays: steeringImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 19 / 78
  22. 22. Pervasive Computing Case studiesPervasive displays: crowd steeringImage courtesy of Alois Ferscha (Pervasive Computing Group, Johannes Kepler Universit¨at Linz)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 20 / 78
  23. 23. Pervasive Computing Case studiesSome interesting services and featuresDisplay must adapt to people behaviourDisplays show information based on majority of people aroundAlerts are shown as a given person passes nearbyContent redirected from smartphone to displayAdjacent displays show a common, bigger contentDisplays coordinate to avoid irritating usersDisplays coordinate to provide visualisation streamsPublic displays sharedly used by friends to interactUsing eye-glasses for immersed interactionPeople may change their behaviour because of thatSingle User Steering via Public DisplaysCrowd BalancingEvacuationAdaptive AdvertisementCollective GuidanceDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 21 / 78
  24. 24. Pervasive EcosystemsOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 22 / 78
  25. 25. Pervasive Ecosystems Cloud or pervasive?Outline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 23 / 78
  26. 26. Pervasive Ecosystems Cloud or pervasive?A standard, centralised SOA solution – cloud orientedDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 24 / 78
  27. 27. Pervasive Ecosystems Cloud or pervasive?A standard, centralised SOA solutionA centralised solutionOne service (typically in the cloud) for:Discovery: what components are available in the system?Context: where are components? (behaviour specialisation)Orchestration: coordinating componentsData storage: depositing/retrieving dataAdaptation: reacting to contingenciesAll components interact through such middleware servicesDoes 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. 28. Pervasive Ecosystems Cloud or pervasive?Eco-inspired SOA solutionDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 26 / 78
  29. 29. Pervasive Ecosystems Cloud or pervasive?Eco-inspired SOA solutionFully decentralised middleware servicesLocations become very small and form a huge dynamic setContextualisation, discovery, and orchestration almost vanishMiddleware service just as a single space distributed on all nodesIn overall we have a network of spaces with service “tags”Adaptation is achieved by simple rules combining tagsDrawing a bridge with natural ecosystemsWe have a set of spatially situated entities interacting according towell-defined set of natural laws enforced by the spatial environment inwhich they situate, and adaptively self-organizing their interactiondynamics according to their shape and structure[Zambonelli and Viroli, 2011]Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 27 / 78
  30. 30. Pervasive Ecosystems Cloud or pervasive?Towards a computational continuumA pervasive (eco)system:is composed of myriads of devices (nodes)contains devices located in space and timehas a notion of “node density”As such, it is similar to particle systems, and the higher the density, themore this system approximates a spatio-temporal computationalcontinuum.Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 28 / 78
  31. 31. Pervasive Ecosystems Self-organising spatial data structuresOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 29 / 78
  32. 32. Pervasive Ecosystems Self-organising spatial data structuresComputational fieldsA way to engineer self-organising applications in different scenariosSensor 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 ideaTwo simple rules for creating a spatial structure:1 Diffuse spatial enriched information among neighbours2 Aggregate the information received by neighbours considering thespatial informationDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 30 / 78
  33. 33. Pervasive Ecosystems Self-organising spatial data structuresA 3D rendering of a uniform gradient structureDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 31 / 78
  34. 34. Pervasive Ecosystems Self-organising spatial data structuresTowards a library of gradient-based computational fieldsGradient (discrete, flat continuous, structured continuous)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  35. 35. Pervasive Ecosystems Self-organising spatial data structuresTowards a library of gradient-based computational fieldsGradient (discrete, flat continuous, structured continuous)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  36. 36. Pervasive Ecosystems Self-organising spatial data structuresTowards a library of gradient-based computational fieldsGradient (discrete, flat continuous, structured continuous)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  37. 37. Pervasive Ecosystems Self-organising spatial data structuresTowards a library of gradient-based computational fieldsGradient (discrete, flat continuous, structured continuous)Other structures (channel, shrinking crown, sector, partition, shadow, . . . )Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 32 / 78
  38. 38. Pervasive Ecosystems Self-organising spatial data structuresCreating optimal (multi-)pathsEnable devices used to steering from a source to a targetOpen issue: fields react to current event, but they do not provideanticipative adaptation.If obstacles are dynamically added and movedIf there is knowledge about WHEN those events will happenHow to improve?Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 33 / 78
  39. 39. Engineering Pervasive EcosystemsOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 34 / 78
  40. 40. Engineering Pervasive Ecosystems Anticipative adaptationOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 35 / 78
  41. 41. Engineering Pervasive Ecosystems Anticipative adaptationWhen spatial gradient is not enoughDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 36 / 78
  42. 42. Engineering Pervasive Ecosystems Anticipative adaptationWhen spatial gradient is not enoughDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 37 / 78
  43. 43. Engineering Pervasive Ecosystems Anticipative adaptationWhen spatial gradient is not enoughDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 38 / 78
  44. 44. Engineering Pervasive Ecosystems Anticipative adaptationWhen spatial gradient is not enoughDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 39 / 78
  45. 45. Engineering Pervasive Ecosystems Anticipative adaptationWhen spatial gradient is not enoughDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 40 / 78
  46. 46. Engineering Pervasive Ecosystems Anticipative adaptationAnticipative gradient [Montagna et al., 2012a]Anticipative gradient merges three strategies to provide anticipativeadaptation: in case a future event is detectedIn case a future event is on the optimal path, also store paths notpassing through itIf you are in an area in which, if you followed the gradient, you wouldhave to waitEither circumvent (green) or proceed and wait (red)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 41 / 78
  47. 47. Engineering Pervasive Ecosystems The SAPERE EU ProjectOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 42 / 78
  48. 48. Engineering Pervasive Ecosystems The SAPERE EU ProjectThe SAPERE Projecthttp://www.sapere-project.euDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 43 / 78
  49. 49. Engineering Pervasive Ecosystems The SAPERE EU ProjectEco-laws and Live Semantic AnnotationsLive Semantic Annotations (LSA)A unified description for devices, data, servicesIs about interface, status, and behaviour of a componentIt provides semantic information, and it is dynamicEco-LawsThey resemble chemical reactionsThey take some reagent LSA, and provide some product LSAThey can diffuse an LSA in the neighborhoodThey can aggregate LSAs like in chemical bondingThey form a small & fixed set of natural eco-lawsDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 44 / 78
  50. 50. Engineering Pervasive Ecosystems The SAPERE EU ProjectPervasive EcosystemsLSA SpaceLSALSALSALSAeco-lawEngineSoftware servicesSAPERE Nodeeco-law activationSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeSAPERENodeDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 45 / 78
  51. 51. Engineering Pervasive Ecosystems AlchemistOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 46 / 78
  52. 52. Engineering Pervasive Ecosystems AlchemistComputational ecosystems: functional guaranteesHouston, we’ve got a problem.Prediction difficultiesThousands-devices scale systemAutonomous devicesInteraction plays a huge roleFormal proofMathematical guaranteeOnly tackles simple casesModel checkingSpace state explosion for non-trivial casesDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 47 / 78
  53. 53. Engineering Pervasive Ecosystems AlchemistComputational ecosystems: simulationOpen issue! How to simulate a (bio)chemical inspired computationalecosystem?Classic ABM modellingHigh flexibilityTopology as first-class abstractionDynamics explicitly modelledNo native support for CTMC modelChemical inspired modellingNatively CTMCVery fast and reliable algorithms exist in literatureVery limited topology: multicompartment at bestOnly classic reactions can change the world status: limited flexibilityDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 48 / 78
  54. 54. Engineering Pervasive Ecosystems AlchemistAlchemist simulation approach [Pianini et al., 2013]Base ideaStart from the existing work with stochastic chemical systemssimulationExtend it as needed to reach desired flexibilityGoalsFull support for Continuous Time Markov Chains (CTMC)Support for differently distributed events (e.g. Triggers)Rich environments, with obstacles, mobile nodes, etc.More expressive reactionsFast and flexible SSA engineDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 49 / 78
  55. 55. Engineering Pervasive Ecosystems AlchemistEnriching the environment descriptionEnvironmentNodeReactionsMoleculesAlchemist worldThe Environment contains and links together NodesEach Node is programmed with a set of ReactionsNodes contain MoleculesEach Molecule in a node is described with a ConcentrationDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 50 / 78
  56. 56. Engineering Pervasive Ecosystems AlchemistExtending the concept of reactionFrom a set of reactants that combine themselves in a set of products to:Number ofneighbors<3NodecontainssomethingAny otherconditionabout thisenvironmentRate equation: how conditionsinfluence the execution speedConditions Probability distribution ActionsAny otheractionon thisenvironmentMove a nodetowards...Changeconcentrationof somethingReactionIn Alchemist, every event is an occurrence of a ReactionDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 51 / 78
  57. 57. Engineering Pervasive Ecosystems AlchemistSSA AlgorithmsSeveral SSA exist, they follow the same base schema [Gillespie, 1977]:1 Select next reaction using markovian rates2 Execute it3 Update the rates which may have changedDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 52 / 78
  58. 58. Engineering Pervasive Ecosystems AlchemistExisting algorithmsNext Reaction [Gibson and Bruck, 2000]1 Compute a putative execution time for each reaction2 Store reactions in a binary heap3 Pick the next reaction4 Execute it5 Compute putative times only for potentially involved reactions6 Goto 3Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 53 / 78
  59. 59. Engineering Pervasive Ecosystems AlchemistSmart data structures ⇒ bleeding edge performances2.04 43.717.32 15.51 028.91 04.20 09.10 010.10 0inf0 0A+B→CB+C→D E+G→AD+E→E+F F→D+GNext Reaction efficient structures made dynamicDynamic Indexed Priority QueueAllow to access the next reaction to execute in O(1) timeWorst case update in log2 (N) (average case a lot better)Extended to ensure balancing with insertion and removalDynamic Dependency GraphAllows to smartly update only a subset of all the reactionExtended with the concept of input and output contextDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 54 / 78
  60. 60. Engineering Pervasive Ecosystems AlchemistModular structureEnvironmentUser InterfaceAlchemist languageApplication-specific Alchemist Bytecode CompilerEnvironment description in application-specific languageIncarnation-specific languageReporting SystemInteractive UIReaction ManagerDependency GraphCore EngineSimulation Flow Language ParserEnvironment InstantiatorXML BytecodeDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 55 / 78
  61. 61. Engineering Pervasive Ecosystems AlchemistComputational ecosystems: AlchemistDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 56 / 78
  62. 62. Engineering Pervasive Ecosystems AlchemistSome Features in shortKinetic Monte Carlo engineParallelised engineMobility supportDynamic connectivity supportComplex data itemsReaction-like programmingParallel executorBuilt-in approximate stochastic model checkerAlchemist2BlenderPVeStA integrationBuilt from scratchDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 57 / 78
  63. 63. Engineering Pervasive Ecosystems AlchemistTestbedWe realised the same crowd-steering application for both Alchemistand RePast, in order to evaluate the performance gap (if any)Source code for RePast and standalone Alchemist applicationavailable athttp://www.apice.unibo.it/xwiki/bin/view/Alchemist/JOSWe choose a simplified use case which allows simulation in RePastwithout any change in its engineThis actually cripples out the most important Alchemist optimizationfor complex environment (the dependency graph)Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 58 / 78
  64. 64. Engineering Pervasive Ecosystems AlchemistResults05010015020025030035040045050050 100 150 200 250 300 350 400 450 500Executiontime[s]Number of agentsPerformance comparison with RepastRepast AlchemistDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 59 / 78
  65. 65. Engineering Pervasive Ecosystems Simulations and demosOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 60 / 78
  66. 66. Engineering Pervasive Ecosystems Simulations and demosCrowd evacuationDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 61 / 78
  67. 67. Engineering Pervasive Ecosystems Simulations and demosCrowd steeringDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 62 / 78
  68. 68. Engineering Pervasive Ecosystems Simulations and demosCrowd steering with anticipative adaptationDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 63 / 78
  69. 69. Engineering Pervasive Ecosystems Simulations and demosRealistic pedestriansDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 64 / 78
  70. 70. Engineering Pervasive Ecosystems Simulations and demosMorphogenesisDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 65 / 78
  71. 71. Engineering Pervasive Ecosystems Simulations and demosMorphogenesis [Montagna et al., 2012b]Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 66 / 78
  72. 72. Open issuesOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 67 / 78
  73. 73. Open issues Programming the emergenceOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 68 / 78
  74. 74. Open issues Programming the emergenceAbstraction levelWe can not (yet) program the emergence.Chemical-inspired rules are powerful, but hard to controlInteractions among zilions of possibly mobile nodes may exposeunpredicted situationsWe would like to express a spatial pattern, and automatically get thesingle node programDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 69 / 78
  75. 75. Open issues Programming the emergenceSimulator improvementFunctional guarantees prior-to-deployment: large scale realistic simulationsReal 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. 76. Open issues Real-world setupOutline1 Pervasive Computing(Near) Future city scenario(Near) Future devicesPervasive displaysCase studies2 Pervasive EcosystemsCloud or pervasive?Self-organising spatial data structures3 Engineering Pervasive EcosystemsAnticipative adaptationThe SAPERE EU ProjectAlchemistSimulations and demos4 Open issuesProgramming the emergenceReal-world setupDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 71 / 78
  77. 77. Open issues Real-world setupCommunicationP2P Communication issuesBluetooth: tight bandwidth, slow device detectionZigBee: sensor oriented, not enough diffusedWiFi: difference between master mode and “normal” modeNear Field Communication: too Near!Wifi direct: we need to deepenWhat do you suggest?Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 72 / 78
  78. 78. Open issues Real-world setupLocalisation and orientationOutdoorGPS: very goodComputer vision: good if the seeing node knows where it isLatitude API: Android only, mixes 3G, WiFi, GPS and onboardmagnetometer. Very goodIndoorGPS: useless within buildingsComputer vision: good if the seeing node knows where it isLatitude API: Inaccurate, but promisingSignal power (Bluetooth, WiFi): Almost uselessUltra Wide Band: extremely promising, but requires specific setupResonant coupling [Pirkl and Lukowicz, 2012]: promising!Ideas?Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 73 / 78
  79. 79. Open issues Real-world setupOther issuesIdentificationRelation between devices and userDevice identification: addresses, idsUser identification: computer vision, explicit loginPrivacySecurityDanilo Pianini (UniBo) Computational Ecosystems June 7, 2013 74 / 78
  80. 80. Open issues Real-world setupBibliography IBachrach, 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 ManySpecies 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. 81. Open issues Real-world setupBibliography IIMontagna, S., Pianini, D., and Viroli, M. (2012a).Gradient-based self-organisation patterns of anticipative adaptation.In Proceedings of 6th IEEE International Conference on Self-Adaptiveand 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 tostripe pattern formation.In Shin, D., Hung, C.-C., and Hong, J., editors, Proceedings of the27th 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 withAlchemist.Journal of Simulation.Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 76 / 78
  82. 82. Open issues Real-world setupBibliography IIIPirkl, 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-inspiredtuple 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 serviceecosystems.International Journal of Pervasive Computing and Communications,7(3):186–204.Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 77 / 78
  83. 83. SAPERE Self-aware Pervasive Service EcosystemsEngineering Computational EcosystemsDanilo Pianini – danilo.pianini@unibo.itSupervisor: prof. Mirko ViroliAlma Mater Studiorum—Universit`a di BolognaJune 7, 2013Danilo Pianini (UniBo) Computational Ecosystems June 7, 2013 78 / 78

×