IoTシステムの開発プロセスにテストベッドはどのように貢献できるか? / Testbed for IoT Dev

IoTシステムの開発プロセスにテストベッドはどのように貢献できるか? / Testbed for IoT Dev

2018/03/02(金)に東京大学で開催されたSIGPX4の発表資料。論文はこちら→ https://goo.gl/bgrkgc

96466365a9bf7e66990f2b9ba547b02f?s=128

Tsubasa Yumura

March 02, 2018
Tweet

Transcript

  1. ౬ଜ ཌྷ†‡ † ࠃཱݚڀ։ൃ๏ਓ৘ใ௨৴ݚڀػߏ ‡ ๺཮ઌ୺Պֶٕज़େֶӃେֶ SIGPX4ˏ౦ژେֶɹ2018/03/02 IoTγεςϜͷ։ൃϓϩηεʹ ςετϕου͸ͲͷΑ͏ʹߩݙͰ͖Δ͔ʁ

  2. ஫ҙ • ௨ৗͷݚڀൃදͰ͸ͳ͍Ͱ͢ • αʔϕΠใࠂͰ΋ͳ͍Ͱ͢ • ໰୊ఏىܕʢͲ͏ͨ͠Β͍͍͔ͳʔʁͱ͍͏૬ஊʣ ͷൃදͰ͢ 2 ※ຊൃද͸ݸਓͷݟղʹجͮ͘΋ͷͰ͋Γ

    ॴଐ૊৫Λ୅ද͢Δ΋ͷͰ͸͋Γ·ͤΜ
  3. എܠ • ιϑτ΢ΣΞγεςϜͷ։ൃ͸೉͍͠ • IoTγεςϜͷ։ൃ͸͞Βʹ೉͍͠ • ϋʔυ΢ΣΞͷ੍໿ • ։ൃ؀ڥͷ੍໿ •

    ෺ཧ؀ڥ΁ͷґଘੑ 3
  4. എܠ • IoTγεςϜͷ։ൃͷ೉͠͞Λߟ͑Δ্ͰॏཁͱࢥΘΕ Δ2ͭͷଆ໘ʹண໨ • 1) ϓϩτλΠϓ͔ΒϓϩμΫγϣϯ։ൃ΁ͷน • 2) ςετ༻ίϯςΩετΛͲͷΑ͏ʹੜ੒͢Δ͔

    • ʢʹIoTγεςϜ։ൃʹ͓͍ͯStaging؀ڥΛͲͷΑ͏ ʹ༻ҙ͢Δ͔ʣ 4
  5. ϓϩτλΠϓ͔ΒϓϩμΫγϣϯ΁ͷน

  6. 6

  7. IoTϓϩτλΠϓ։ൃπʔϧ • σόΠεΛ༻͍ͨ։ൃ͕ඇৗʹ؆୯ʹͰ͖ΔΑ͏ʹ • STEMڭҭ޲͚ͳͲ௿ֶ೥Ͱ΋࢖༻Մೳͳ΋ͷ΋ • Arduino [13] • Raspberry

    Pi [14] • mbed [15] • MESH [17] • IFTTT [18] • littleBits [20] • Makeblock [21] • LEGOϚΠϯυετʔϜ [22] 7 MESH[17]
  8. micro:bit • ӳࠃͰੜ·Εͨڭҭ޲͚খܕϚΠίϯϘʔυ • ϚτϦοΫεLEDɺϓογϡϘλϯɺ3࣠Ճ଎౓ηϯαɺ஍࣓ؾ ηϯαɺBLEϞδϡʔϧͳͲΛඋ͑Δ • Web։ൃ؀ڥͰʮϒϩοΫʯ·ͨ͸ʮJavaScriptʯͰ։ൃ • γϛϡϨʔλͰಈ࡞֬ೝ͕Մೳ

    8
  9. ϓϩμΫγϣϯ։ൃπʔϧ • ૊ࠐΈιϑτ΢ΣΞ͸ɺνοϓϕϯμͷSDKΛ࢖ͬͯIDEͰ։ൃ • ήʔϜ΍ϞόΠϧΞϓϦέʔγϣϯͷ։ൃͰ͸ϓϩμΫγϣϯ։ൃʹ΋Ϗδϡ Ξϧϓϩάϥϛϯά͕औΓೖΕΒΕΔ • Storyboard (Xcode) •

    BluePrint (Unreal Engine) 9 Unreal EngineͷϏδϡΞϧ εΫϦϓςΟϯάγεςϜBlueprint ఻౷తͳ౷߹։ൃ؀ڥ(IDE)ͷEclipse
  10. IoTγεςϜ։ൃͷͨΊͷίϯςΩετͷੜ੒

  11. ίϯςΩετ • IoTγεςϜͰ͸ɺιϑτ΢ΣΞͷ֎ͷঢ়گ͕ιϑτ΢ΣΞͷ ಈ࡞ʹӨڹ͢Δ • ਓͷߦಈ • ৔ॴ • Թ౓

    • etc. 11 Software Context
  12. ίϯςΩετ • Context-Aware (System / Computing / etc.) • ೔ຊޠʹ௚͢ͱʮঢ়گΛߟྀͨ͠

    (γεςϜ)ʯ • “Context-Aware”ͱ͍͏୯ޠͷॳग़͸Schilit and Theimer(1994), "Disseminating active map information to mobile hosts” • Mark WeiserͷUbicomp࿦จ(1991)[33]ͷ3೥ޙ • Xerox Palo Altoݚڀॴ • ࠷΋Ҿ༻͞ΕΔͷ͕A.K.Dey(2001), “Understanding and Using Context” • Knappmeyer et al.(2013), "Survey of Context Provisioning Middleware”[30]͕ৄ͍͠ 12
  13. Knappmeyer et al.(2013)ͰͷίϯςΩετͷఆٛ 13 Context is any information that provides

    knowledge and characteristics about an entity (a user, an application/ service, a device, or a spatially bound smart place) which is relevant for the interaction between the entities themselves and with the digital world. Context can be categorised as being static, dynamic and rapidly changing. ίϯςΩετͱ͸ɺΤϯςΟςΟͱσδλϧੈքͱͷؒͷ૬ޓ࡞ ༻ʹؔ܎͢Δಛ௃Λఏڙ͢Δ͋ΒΏΔ৘ใͰ͋Δɻ ΤϯςΟςΟɿϢʔβɺΞϓϦέʔγϣϯ/αʔϏεɺσόΠεɺ ·ͨ͸ۭؒతʹ݁߹͞ΕͨεϚʔτͳ৔ॴ ίϯςΩετ͸ɺ੩తɺಈతɺ͔ͭٸ଎ʹมԽ͢Δɻ
  14. ίϯςΩετͷཁૉͷྫ • Spatial contextɿ৔ॴɺݐ෺ͳͲ • Temporal contextɿ࣌ؒɺ༵೔ͳͲ • Device contextɿը໘αΠζͳͲ

    • Network and communication contextɿωοτϫʔΫ஗Ԇ ͳͲ • Environmental contextɿ෺ཧ؀ڥɻ૽Իɺޫͷڧ͞ͳͲɻ • Individuality and user profile contextɿϢʔβͷᅂ޷ɺؔ ৺ɺश׳ͳͲʹؔ͢ΔίϯςΩετ • Activity contextɿݱࡏͲͷλεΫʹؔΘ͍ͬͯΔͷ͔ɺ࣍ ʹԿΛ͢Δͷ͔ • Mental contextɿ৺ͷ಺෦ঢ়ଶʹؔ͢Δ৘ใɻײ৘ɺؾ ෼ɺετϨε • Interaction contextɿϢʔβؒͷΠϯλϥΫγϣϯɺϢʔ βͱΞϓϦέʔγϣϯͷΠϯλϥΫγϣϯͳͲ 14 Knappmeyer et al., Survey of Context Provisioning Middleware (2013)[30]
  15. UBIWISE • άϥϑΟοΫΤϯδϯΛ༻͍ͨԾ૝؀ڥΛΞϓϦέʔγϣϯςε τͷίϯςΩετʹར༻ • ᝑମઃܭ΍ΞϓϦέʔγϣϯςετʹར༻ 15 Barton and Vijayaraghavan,

    UBIWISE, A Ubiquitous Wireless Infrastructure Simulation Environment (2002) [24]
  16. UbiREAL • εϚʔτεϖʔεͷͨΊͷγεςϜςετ؀ڥ • ϏδϡΞϥΠβɺωοτϫʔΫγϛϡϨʔλɺ෺ཧγ ϛϡϨʔλͷػೳΛ౥ࡌ 16 Nishikawa et al.,

    UbiREAL: Realistic Smartspace Simulator for Systematic Testing (UBICOMP 2006) [26]
  17. AirSim (Microsoft Research) • ࣗಈӡసंɾυϩʔϯͷػցֶशͷͨΊͷγϛϡϨʔλ • Unreal Engine4 17 Shah

    et al., AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles (FSR 2017) [31]
  18. AI2-THOR • ՈࣄϩϘοτͷֶशͷͨΊͷ3D؀ڥ • Unity 18 Kolve et al., AI2-THOR:

    An Interactive 3D Environment for Visual AI (arXiv)
  19. House3D (Facebook AI Research) • ϩϘοτͷՈఉ಺λεΫͷֶशͷͨΊͷ3D؀ڥ 19 Wu et al.,

    Building Generalizable Agents with a Realistic and Rich 3D Environment (ICLR 2018)
  20. ͦͷଞͷֶश޲͚؀ڥ • ͨ͘͞Μ͋Δ 20 AI2-THOR http://ai2thor.allenai.org/ ΑΓ

  21. ϞόΠϧΞϓϦέʔγϣϯ޲͚ίϯςΩετੜ੒ • Androidͷ࣮ػ͓ΑͼΤϛϡϨʔλʹίϯςΩετ৘ใ Λ஫ೖ 21 Rege et al., Realistic Context

    Generation For Mobile App Testing and Performance Evaluation (PerCom2017) [27] Luo et al., TestAWARE: A Laboratory-Oriented Testing Tool for Mobile Context-Aware Applications (UBICOMP2017) [28]
  22. Scanalog • Ξφϩάճ࿏ઃܭࢧԉπʔϧ • Field Programmable Analog Array(FPAA)Λ࢖༻ • ηϯαͰͷܭଌ஋Λճ࿏ͷೖྗ஋ʹར༻

    22 Strasnick et al., Scanalog: Interactive Design and Debugging of Analog Circuits with Programmable Hardware (UIST2017) [23]
  23. ςετϕου͸ͲͷΑ͏ʹߩݙͰ͖Δ͔

  24. ςετϕουͱ͸ 24 ςετϕουͱ͸ɺେن໛ͳγεςϜ։ൃͰ༻͍Β ΕΔɺ࣮ࡍͷӡ༻؀ڥʹ͚ۙͮͨࢼݧ༻ϓϥοτ ϑΥʔϜͷ૯শͰ͋Δɻ ςετϕου͸ɺ࣮ࡍʹӡ༻͞Ε͍ͯΔγεςϜΛة ݥʹ͞Β͢͜ͱͳ͘ɺ࣮ࡍͷӡ༻ମ੍ʹ͍ۙঢ়گͰ Քಈͤ͞Δ໨తͰ༻͍ΒΕΔɻۀछ΍෼໺ʹΑͬͯ ςετϕουͷ಺༰͸ҟͳΔ͕ɺྫ͑͹ωοτϫʔ Ϋͷ෼໺ʹ͓͍ͯ͸ࢼݧ༻ͷ௨৴໢΍αʔόʔͳͲ

    ͕ςετϕουʹ૬౰͢Δɻ weblio / IT༻ޠࣙయBINARYΑΓ
  25. StarBED • ੴ઒ݝೳඒࢢʹ͋Δੈք࠷େن໛ͷωοτϫʔΫςετϕου • 1000୆௒ͷ෺ཧϊʔυ͕Քಇ • ݚڀऀɾ։ൃऀʹ࣮ݧ؀ڥΛఏڙ • ඞཁʹԠͨ͡ظؒͱ୆਺ͷׂΓ౰ͯ •

    ʢԾ૝ϚγϯͰ͸ͳ͘ʣϕΞϝλϧͰͷఏڙ 25
  26. IoTςετϕου 26 • ࣮ػܕ • WISEBED[7] • SensLAB[8] • ΤϛϡϨʔγϣϯܕ

    • QOMB[9] • NETorium[10] • ࣮ূ࣮ݧܕ • SmartSantander[6] • OULU Smart City[11] SensLAB[10] NETorium[10] OULU Smart City[11]
  27. BluMoon • Bluetooth Low Energy(BLE)ΞϓϦέʔγϣϯͷςετͷͨΊͷϓϥοτϑΥʔϜ • BLEίϯτϩʔϥΛLinuxΞϓϦέʔγϣϯͱͯ͠ιϑτ΢ΣΞ࣮૷͢Δ͜ͱʹΑΓ࣮ݱ • ʮෳ੡͕༰қʯʮ৚͕݅࠶ݱՄೳʯͱ͍͏ιϑτ΢ΣΞͷಛੑΛੜ͔ͨ͠ςετ͕Մೳʹ 27

  28. ͓ΘΓʹ • ʮUbiquitous Computingʹ͓͚ΔγεςϜ։ൃΛͲͷΑ͏ʹߦ͏ ͔ʯͱ͍͏ٞ࿦ͳͷͰ͸ʁ • ϓϩτλΠϓ։ൃ؀ڥͷΑ͏ʹ؆୯ʹ࢖͑Δςετ؀ڥɾϓϩμΫ γϣϯ։ൃ؀ڥΛ໨ࢦ͢ʢSIGPXͬΆ͍ʁʣ • ։ൃͷͨΊͷίϯςΩετੜ੒͕ॏཁ

    • ΋ͬͱਂ۷Γͯ͠IoTγεςϜ։ൃͷ͋Δ΂͖࢟Λ௥ٻ͍͖͍ͯͨ͠ 28