73 minute read

State of the Software Development Life-Cycle for the Internet-of-Things

  • JOรƒO PEDRO DIAS, Faculty of Enginnering, University of Porto, Portugal
  • HUGO SERENO FERREIRA, Faculty of Enginnering, University of Porto, Portugal

์›๋ฌธhttps://arxiv.org/abs/1811.04159

์†Œํ”„ํŠธ์›จ์–ด๋Š” ์„ฑ๊ณต๋ฅ ์„ ๊ณ ๋ คํ•˜์—ฌ ์œ„๊ธฐ ์ƒํ™ฉ๊ณผ ์˜ค๋žœ ์—ฐ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์žฅ์น˜ (Internet-of-Things)์˜ ํญ๋ฐœ์  ์ฆ๊ฐ€๋กœ ์ธํ•ด ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ๋ณต์žกํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ๊ณผ ์ด์งˆ์„ฑ ์‹œ์Šคํ…œ๊ณผ ๊ฐ™์€ ์‹œ์Šคํ…œ์˜ ํŠน์„ฑ์€ ์ ์ฐจ ์ƒˆ๋กœ์šด ๋„์ „ ๊ณผ์ œ๋ฅผ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ๋จผ์ € ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ IoT ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ํ˜„์žฌ์˜ ์ƒํƒœ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์†Œ๊ฐœํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, IoT ์‹œ์Šคํ…œ ๋ฐ ์‹œ์Šคํ…œ ์‹œ์Šคํ…œ ์šฉ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํŠน์ด์„ฑ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ณ , ๊ทธ๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ํ˜„์žฌ์˜ ๋ฐฉ๋ฒ•๋ก  ๋ฐ ๋„๊ตฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด ๋ด…๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌ ๋œ ๋‚ด์šฉ์„ ํ† ์˜ํ•˜์—ฌ ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ์™€ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์„ ๋ฐํžˆ๊ณ  ์š”์ฆ˜ IoT ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‚ฌ๋ก€๊ฐ€ ํ˜„์žฌ ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค๋ณด๋‹ค ๋’ค๋–จ์–ด์ ธ ์žˆ์Œ์„ ๋ฐํž™๋‹ˆ๋‹ค.

CCS ๊ฐœ๋… : โ€ข ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง โ†’ ์†Œํ”„ํŠธ์›จ์–ด ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ; ์ดˆ๋Œ€ํ˜• ์‹œ์Šคํ…œ; ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„ ์›Œํฌ ๋ฐ ํ™˜๊ฒฝ; ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊น…; โ€ข ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ์กฐ์ง โ†’ ์ž„๋ฒ ๋””๋“œ ๋ฐ ์‚ฌ์ด๋ฒ„ ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ;

์ถ”๊ฐ€ ํ•ต์‹ฌ ๋‹จ์–ด ๋ฐ ๊ตฌ๋ฌธ : ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง, Internet-of-Things

ACM ์ฐธ์กฐ ํ˜•์‹: Joรฃo Pedro Dias์™€ Hugo Sereno Ferreira. ์ธํ„ฐ๋„ท์˜ ์‚ฌ๋ฌผ์— ๋Œ€ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ์˜ ์ƒํƒœ. ACM ๊ณ„์‚ฐ. Surv. 9, 4, Article 39 (2018 ๋…„ 3 ์›”), 38 ์ชฝ. https://doi.org/0000001.0000001

1. ์†Œ๊ฐœ

์†Œํ”„ํŠธ์›จ์–ด๋Š” ์„ฑ๊ณต๋ฅ ์„ ๊ณ ๋ คํ•˜์—ฌ ์œ„๊ธฐ ์ƒํ™ฉ๊ณผ ์žฅ๊ธฐ๊ฐ„ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ๊ด€์ ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋™์•ˆ ๋ฒ„๊ทธ๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ์œ ๋น„์ฟผํ„ฐ์Šค ์—ฐ๊ฒฐ ๋ฐ ์ปดํ“จํŒ…์˜ ์ตœ๊ณ ๋ด‰ ์ธ IoT (Internet-of-Things)๋ผ๊ณ ๋„ํ•˜๋Š” ์ปดํ“จํŒ… ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์žฅ์น˜๊ฐ€ ํญ๋ฐœ์ ์œผ๋กœ ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ๋ณต์žกํ•ด์กŒ์Šต๋‹ˆ๋‹ค. IoT์˜ ์ฃผ์š” ์„ฑ๊ณต ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜ ๋ฐ ์„œ๋น„์Šค๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ด๋ฏธ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์˜ ์„ฑ๊ณต๋ฅ ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜์žˆ๋Š” ๋ณต์žก์„ฑ์˜ ์ฆ๊ฐ€๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. IoT ์‹œ์Šคํ…œ์˜ ๋ณธ์งˆ์€ (1) ์ดˆ๋Œ€ํ˜•, (2) ๊ณ ๋„๋กœ ๋™์  ์ธ ํ† ํด๋กœ์ง€, (3) ๋งค์šฐ ์ด์งˆ์„ฑ์ด์žˆ๋Š” ๊ฒƒ, (4) ๋ฉ€ํ‹ฐ ๋„๋ฉ”์ธ ํŠน์„ฑ์„ ํŠน์ง•์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. ํ•จ๊ป˜, ๊ทธ๊ฒƒ๋“ค์„ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ ์  ๋” ๋งŽ์€ ์ƒˆ๋กœ์šด ๋„์ „์ด ์ œ๊ธฐ๋ฉ๋‹ˆ๋‹ค.

๋ณธ๊ณ ์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ผ์ดํ”„ ์‚ฌ์ดํด์˜ 3 ๋‹จ๊ณ„, ์ฆ‰ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์„ค๊ณ„, ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ์— ์ดˆ์ ์„ ๋งž์ถ”์–ด IoT์˜ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๊ด€ํ–‰์˜ ํ˜„์žฌ ์ƒํƒœ์— ๋Œ€ํ•œ ๋ถ„์„์„ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

2 ๋ฐฐ๊ฒฝ

2.1 Internet-of-Things

Internet-of-Things (IoT)๋Š” ์ธํ„ฐ๋„ท ๊ตฌ์กฐ ๋‚ด์—์„œ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด (์‚ฌ๋ฌผ)์™€ ๊ฐ€์ƒ ํ‘œํ˜„์œผ๋กœ ๊ตฌ์„ฑ๋œ ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค [Barricelli and Valtolina 2015]. ๋Œ€์ฒด๋กœ, ์ด๊ฒƒ์€ ์žฅ์น˜์˜ ๋ฌธ๋งฅ ์ธ์‹, ๊ฐ์ง€ ๊ธฐ๋Šฅ ๋ฐ ์ž์œจ๊ณผ ํ•จ๊ป˜ ์ผ๋ฐ˜ ์žฅ์น˜ ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค [Hossain et al. 2015]. IoT์— ๊ด€ํ•œ ๊ธ€๋กœ๋ฒŒ ํ‘œ์ค€ ๊ตฌ์ƒ (IoT-GSI)์€ IoT๋ฅผ ์ •๋ณด ์‚ฌํšŒ์˜ ๊ธฐ๋ฐ˜ ์‹œ์„ค๋กœ ์ •์˜ํ•œ๋‹ค [Kafle et al. 2016], ์ƒˆ๋กœ์šด ์Šค๋งˆํŠธ ๊ณต๊ฐ„์œผ๋กœ์˜ ์ง„๋ณด๋ฅผ ์˜ˆ๊ฒฌ ํ•จ [Korzun et al. 2013]์— ์˜ํ•ด ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… [Friedemann and Floerkemeir 2011]์˜ ์ˆ˜๋‹จ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

IoT ํŒจ๋Ÿฌ๋‹ค์ž„์€ ์‚ถ๊ณผ ์‚ถ์˜ ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์Šค๋งˆํŠธ ๋„์‹œ, ์ธํ”„๋ผ ๋ฐ ์„œ๋น„์Šค์˜ ์‹คํ˜„์„ ๊ฐ€๋Šฅ์ผ€ํ•˜๋Š” ์‚ฌ๋ฌผ๊ณผ ์ธ๊ฐ„ ์‚ฌ์ด์˜ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ตฌ์ถ• ํ•  ์ƒˆ๋กœ์šด ํ˜์‹ ์— ๋Œ€ํ•œ ๋ฌธํ˜ธ๋ฅผ ์—ด์–ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ IoT๋Š” ๋„์‹œ์™€ ์ธํ”„๋ผ์˜ ๊ด€๋ฆฌ๊ฐ€ ๋œ ๋ณต์žกํ•˜๊ณ  ์˜๋ฃŒ ์„œ๋น„์Šค๊ฐ€ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์žฌํ•ด ๋ณต๊ตฌ๊ฐ€๋ณด๋‹ค ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ถ์˜ ์งˆ์ด ํ–ฅ์ƒ๋˜๋Š” ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ ์žฅ์น˜ ๋ฐ ์ธ๊ฐ„ ์„ธ๊ณ„๋ฅผ ๊ตฌ์ƒํ•ฉ๋‹ˆ๋‹ค [Buyya and Dastjerdi 2016] .

๊ธฐ์ˆ ์  ์ธก๋ฉด์—์„œ ๋ณผ ๋•Œ, IoT์˜ ์ฃผ์š” ์—ญํ• ์€ ๋งค์šฐ ๋ณต์žกํ•œ ์ง€์‹ ๊ธฐ๋ฐ˜ ๋ฐ ๋™์ž‘ ์ง€ํ–ฅ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐœ๋…ํ™”์—์„œ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€์ด ์‹œ์Šคํ…œ์˜ ์ „์ฒด ์ˆ˜๋ช…์ฃผ๊ธฐ๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ ค ์‚ฌํ•ญ์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ๋ฐœ, ํ์‡„ ์‹œ์Šคํ…œ์—์„œ ๊ฐœ๋ฐฉ ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™, ๊ฐœ์ธ ์ •๋ณด ๋ฐ ์œค๋ฆฌ์  ๋ฌธ์ œ (๋ฐ์ดํ„ฐ ๊ฐ์ง€์™€ ๊ด€๋ จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—), ์ด์งˆ ์ง€์›, ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ์˜์‚ฌ ๊ฒฐ์ • ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. , ์ž์› ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ๋ฐ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ, ์‹ค์‹œ๊ฐ„ ํ•„์ˆ˜ํ’ˆ, ์ „๋ ฅ ๋ฐ ์—๋„ˆ์ง€ ๊ด€๋ฆฌ, ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ์ƒํ˜ธ ์šด์šฉ์„ฑ [Buyya and Dastjerdi 2016]์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์˜ ์ „๋ฌธ๊ฐ€๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

IoT์™€์˜ ์–ฝํžŒ ๊ฐœ๋…์€ WoT (Web of Things)์ž…๋‹ˆ๋‹ค. WoT๋Š” ์‹ค์ œ ๊ฐ์ฒด๋ฅผ World Wide Web์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹, ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ์›น (์‘์šฉ ๊ณ„์ธต)์ด ์ธํ„ฐ๋„ท (๋„คํŠธ์›Œํฌ ๊ณ„์ธต)๊ณผ ๋น„์Šทํ•˜๊ฒŒ Web of Things๋Š” IoT ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ์‘์šฉ ๊ณ„์ธต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2.1.1 ๊ฐ„๋žตํ•œ ์—ญ์‚ฌ ๋ฐ ๋น„์ „.

ARPANET1์— ์˜ํ•œ ์ธํ„ฐ๋„ท์˜ ํƒ„์ƒ ํ›„ ๊ฑฐ์˜ 50 ๋…„ [Perry et al. 1988], ์ธํ„ฐ๋„ท์ด๋ผ๋Š” ์šฉ์–ด๋Š” ์ •๊ตํ•˜๊ณ  ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์œ„์— ๊ตฌ์ถ• ๋œ ๊ด‘๋Œ€ ํ•œ ๋ฒ”์ฃผ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ํ”„๋กœํ† ์ฝœ์„ ๋งํ•˜๋ฉฐ 24/7 ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ 2016 ๋…„๊ฒฝ ์ „์„ธ๊ณ„ 35 ์–ต ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [Int 2017; Buyya and Dastjerdi 2016].

์˜ค๋Š˜๋‚  ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (ubicomp, ํผ๋ฒ ์ด์‹œ๋ธŒ ์ปดํ“จํŒ…)๊ณผ ์œ ๋น„์ฟผํ„ฐ์Šค ์—ฐ๊ฒฐ์„ฑ์€ ๋” ์ด์ƒ ๊ฟˆ๋„ ๋„์ „๋„ ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ๋น„์ฟผํ„ฐ์Šค ๊ณ„์‚ฐ์€ ์žฅ์น˜, ์œ„์น˜ ๋ฐ ํ˜•์‹์— ๊ด€๊ณ„์—†์ด ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ์œ ๋น„์ฟผํ„ฐ์Šค ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ๋ชจ๋“  ์‚ฌ๋žŒ๊ณผ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํผ๋ฒ ์ด์‹œ๋ธŒ ์ปดํ“จํŒ…์˜ ๊ฒฐ๊ณผ๋กœ, ์‚ฌ๋žŒ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ปดํ“จํŒ…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š” ๋ชฉํ‘œ์—์„œ ์ธ๊ฐ„๊ณผ ๊ฐ€์ƒ ํ™˜๊ฒฝ์œผ๋กœ ๋ฌผ๋ฆฌ์  ์˜์—ญ์„ ์ˆ˜๋ ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ๋žŒ๊ณผ ์žฅ์น˜๊ฐ€ ๋งค๋„๋Ÿฝ๊ฒŒ ํ†ตํ•ฉ๋˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ดˆ์ ์ด ์˜ฎ๊ฒจ์กŒ์Šต๋‹ˆ๋‹ค. ์ด ํ˜„์ƒ์€ IoT (Internet-of-Things) ์œ ํ† ํ”ผ์•„๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ญ์‚ฌ์ ์ธ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ, Internet-of-things๋ผ๋Š” ์šฉ์–ด๋Š” ๊ณต๊ธ‰๋ง ๊ด€๋ฆฌ ๋ฐ ์ปดํ“จํ„ฐ๋ฅผ ๊ด€์ฐฐํ•˜๊ณ  ์‹๋ณ„ํ•˜๊ณ  ์ดํ•ดํ•  ์ˆ˜์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” RFID (Radio-Frequency Identification) ๊ธฐ์ˆ ์˜ ์‚ฌ์šฉ์— ๊ด€ํ•œ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ค‘์— Kevin Ashton (1999 ๋…„๊ฒฝ)์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์„ธ๊ณ„๋ฅผ (์ธ๊ฐ„์ด ์ž…๋ ฅ ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ œํ•œ์—†์ด) 2, ์ปดํ“จํ„ฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์˜ค๋ž˜ ์ „์— ์‹ค์ œ๋กœ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…์„ ๋›ฐ์–ด ๋„˜๋Š” IoT์˜ ํƒ„์ƒ์—์„œ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ์œ ๋น„์ฟผํ„ฐ์Šค ์—ฐ๊ฒฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ IoT๋Š” ์ปจํ…์ŠคํŠธ๋ฅผ ์ธ์‹ํ•˜๊ณ  ๋‹ค๋ฅธ ์—”ํ‹ฐํ‹ฐ์™€ ํ†ต์‹  ํ•  ์ˆ˜์žˆ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐœ์ฒด๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์—๋Š” RFID๊ฐ€ IoT ๊ฐœ๋ฐœ์˜ ์ฃผ์š” ๊ธฐ์ˆ  ์ด์—ˆ์ง€๋งŒ ์˜ค๋Š˜๋‚ ์—๋Š” ๋ฌด์„  ์„ผ์„œ ๋„คํŠธ์›Œํฌ (WSN) ๋ฐ Bluetooth ์ง€์› ์žฅ์น˜๊ฐ€ IoT ์ถ”์„ธ์˜ ์ฃผ๋ฅ˜ ์ฑ„ํƒ์„ ์ฆ๊ฐ€ ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค [Kevin 2009].

IoT๋Š” ๊ธฐ๊ณ„ ๋Œ€ ๊ธฐ๊ณ„, ์ธ๊ฐ„ ๋Œ€ ๊ธฐ๊ณ„ ๋ฐ ์ธ๊ฐ„๊ณผ ํ™˜๊ฒฝ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์˜ ์›๋™๋ ฅ์œผ๋กœ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ IoT๋Š” ์ธ๊ฐ„๊ณผ ์‚ฌ๋ฌผ์ด ์‹œ๋„ˆ์ง€์ ์ด๊ณ  ํ˜‘์กฐ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š”, ์†Œ์œ„ ๋งํ•˜๋Š” ํœด๋จผ - ์ธ - ๋” - ๋ฃจํ”„ (in-the-loop) ์‹œ์Šคํ…œ์— ํž˜์„ ์‹ค์–ด ์ค€๋‹ค [Stankovic 2014]. ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ธ๊ฐ„๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋˜๋ฉด์„œ ์—๋„ˆ์ง€ ๊ด€๋ฆฌ ๋ฐ ์ž๋™์ฐจ ์‹œ์Šคํ…œ์„ ๋น„๋กฏํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ธฐํšŒ๊ฐ€ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ John Stankovic์ด ์ง€์ ํ•œ ์ธ๊ฐ„ - ์ธ - ๋” - ๋ฃจํ”„ (human-in-the-loop)์˜ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋Š” ํœด๋จผ - ์ธ - ๋” - ๋ฃจํ”„ (human-in-the-loop) ์ปจํŠธ๋กค์˜ ์ „์ฒด ์ŠคํŽ™ํŠธ๋Ÿผ์— ๋Œ€ํ•œ ํฌ๊ด„์  ์ธ ์ดํ•ด์˜ ํ•„์š”์„ฑ, ์‹œ์Šคํ…œ ์‹๋ณ„ ๋˜๋Š” ์ธ๊ฐ„ ํ–‰๋™ ๋ชจ๋ธ์„ ๋„์ถœํ•˜๊ณ  ์ธ๊ฐ„ ํ–‰๋™ ๋ชจ๋ธ์„ ํ”ผ๋“œ๋ฐฑ ์ œ์–ด์˜ ๊ณต์‹ ๋ฐฉ๋ฒ•๋ก ์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜๋Š” ๋‹ค๋ฅธ ๊ธฐ์ˆ  [Stankovic 2014].

IoT์˜ ํ•ต์‹ฌ ๋น„์ „์€ Industry 4.0 initiative์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  ๊ตฌ์„ฑ ์š”์†Œ ์ธ Industrial IoT (IIoT)์ž…๋‹ˆ๋‹ค. ๋Œ€ํ˜• ์ฒจ๋‹จ ๊ธฐ์ˆ  ํšŒ์‚ฌ๊ฐ€ ์„ ํ˜ธํ•˜๋Š”์ด ํ˜•ํƒœ์˜ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ๋ฌผ์˜ ๊ฐ์ง€ ๋ฐ ์ž‘๋™ ๊ธฐ๋Šฅ์„ ์—ผ๋‘์—๋‘๊ณ , ๊ธฐ์—…์ด ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์—ฌ ์ „๋ฐ˜์ ์ธ ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์„ ์ ˆ์•ฝ ํ•  ์ˆ˜ ์žˆ๋„๋กํ•œ๋‹ค [Buyya and Dastjerdi 2016]. ์˜ˆ๋ฅผ ๋“ค์–ด ์ œ์กฐ ํšŒ์‚ฌ์—์„œ๋Š” IIoT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ธ‰๋ง์„ ํšจ์œจ์ ์œผ๋กœ ์ถ”์  ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ  ํ’ˆ์งˆ ๊ด€๋ฆฌ ๋ฐ ๋ณด์ฆ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IoT๊ฐ€ ์—…๊ณ„์— ๋ฏธ์น  ์ˆ˜์žˆ๋Š” ์˜ํ–ฅ๊ณผ ํ•จ๊ป˜, IoT๊ฐ€ ์‚ถ์˜ ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๋„ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค [Buyya and Dastjerdi 2016]. ์˜๋ฃŒ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ, IoT๋Š” ์›๊ฒฉ ํ™˜์ž ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์ด‰์ง„์ž (์˜ˆ : ์‹ฌ๋ฐ•์ˆ˜) ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ณ€ ๋ณด์กฐ ์ƒํ™œ [Dohr et al. 2010]. ๋˜ํ•œ ์œ„ํ•ด ํ™˜๊ฒฝ ์กฐ๊ฑด์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉด ๋‹น๊ตญ์ด ์ฃผ๋ฏผ๋“ค์—๊ฒŒ๋ณด๋‹ค ์ž˜ ํ–‰๋™ํ•˜๊ณ  ๊ฒฝ๊ณ ํ•˜๋„๋ก ๋ฐ์ดํ„ฐ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ข€ ๋” ์—ฐ๊ฒฐ๋œ ์„ธ๊ณ„์— ๋Œ€ํ•œ IoT ๋น„์ „์€ ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์™€ ์กฐ์ง์— ์˜ํ•ด ๋ฐ›์•„ ๋“ค์—ฌ์กŒ์Šต๋‹ˆ๋‹ค. ์‹œ์Šค์ฝ”๋Š” 2013 ๋…„ IoT๋ฅผ ๋„˜์–ด์„  IoT (Internet of Everything)๋ผ๋Š” ์šฉ์–ด๋ฅผ โ€œ์‚ฌ๋žŒ๋“ค, ํ”„๋กœ์„ธ์Šค, ๋ฐ์ดํ„ฐ ๋ฐ ์‚ฌ๋ฌผ์„ ๋ชจ์•„ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์ด์ „๋ณด๋‹ค ๋” ์ค‘์š”ํ•˜๊ณ  ๊ฐ€์น˜์žˆ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฒฝํ—˜, ๊ธฐ์—…, ๊ฐœ์ธ ๋ฐ ๊ตญ๊ฐ€๋ฅผ์œ„ํ•œ ์œ ๋ก€์—†๋Š” ๊ฒฝ์ œ์  ๊ธฐํšŒ ์ฐฝ์ถœ โ€œ[cis 2018]. ๊ณง IoE์— ๋Œ€ํ•œ ์‹œ์Šค์ฝ”์˜ ๊ฐœ๋…์€ ์‚ฌ๋žŒ (๊ด€๋ จ์„ฑ์ด ๋†’๊ณ  ๊ฐ€์น˜์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ๋žŒ๋“ค์„ ์—ฐ๊ฒฐ), ๋ฐ์ดํ„ฐ (์ •๋ณด๋ฅผ ๋” ๋‚˜์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ์ธํ…”๋ฆฌ์ „์Šค๋กœ ๋ณ€ํ™˜), ํ”„๋กœ์„ธ์Šค (์˜ฌ๋ฐ”๋ฅธ ์‚ฌ๋žŒ ๋˜๋Š” ์ปดํ“จํ„ฐ์— ์˜ฌ๋ฐ”๋ฅธ ์ •๋ณด๋ฅผ ์ œ๊ณต ์˜ฌ๋ฐ”๋ฅธ ์‹œ๊ฐ„), ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋ฌผ (์†Œ์œ„ ๋งํ•˜๋Š” IoT).

ํ˜„์žฌ ISO (International Organization for Standardization)์™€ IEC (International Electrotechnical Commission) - ISO / IEC JTC 1 -์˜ ๊ณต๋™ ๊ธฐ์ˆ ์œ„์›ํšŒ๋Š” ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ (Internet-of-Things)์˜ ์ •์˜๋ฅผ ์ˆ˜์šฉํ–ˆ๋‹ค [ISO / IEC JTC 1 2014] :

๋ฌผ๋ฆฌ์ , ๊ฐ€์ƒ ์„ธ๊ณ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ฐ˜์‘ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€๋Šฅํ˜• ์„œ๋น„์Šค์™€ ํ•จ๊ป˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๊ฐ์ฒด, ์‚ฌ๋žŒ, ์‹œ์Šคํ…œ ๋ฐ ์ •๋ณด ์ž์›์˜ ์ธํ”„๋ผ์ž…๋‹ˆ๋‹ค.

2.1.2 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‹œ๋‚˜๋ฆฌ์˜ค.

IoT๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์Šค๋งˆํŠธ ๊ณต๊ฐ„์„์œ„ํ•œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์ปจํ…์ŠคํŠธ ๋ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๊ธฐ์ˆ  ํ˜์‹ ์˜ ์ฃผ์š” ์ด‰์ง„ ์š”์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ญํ• ์€ IoT๋ฅผ์œ„ํ•œ ๋งŽ์€ ์ˆ˜์˜ ์‘์šฉ ๋„๋ฉ”์ธ์„ ํ™•์ธํ•œ CERP-IoT (Internet of Things)์— ๊ด€ํ•œ ์œ ๋Ÿฝ ์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ ํด๋Ÿฌ์Šคํ„ฐ (Sundmeker et al. 2010].

CERP-IoT ๋ณด๊ณ ์„œ [Sundmaeker et al. 2010]์€ ํ‘œ 1์— ์„ค๋ช… ๋œ ๋ฐ”์™€ ๊ฐ™์ด ์„ธ ๊ฐ€์ง€ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๋ฉ”์ธ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๋ฉ”์ธ ๋‚ด์—์„œ ํ•ญ๊ณต ์šฐ์ฃผ ๋ฐ ํ•ญ๊ณต (์‹œ์Šคํ…œ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง, ์นœํ™˜๊ฒฝ ์šด์˜), ์ž๋™์ฐจ (์‹œ์Šคํ…œ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง, ์ง€๋Šฅํ˜• ๋นŒ๋”ฉ (์ž๋™ ์—๋„ˆ์ง€ ๊ณ„๋Ÿ‰, ํ™ˆ ์˜คํ† ๋ฉ”์ด์…˜, ๋ฌด์„  ๋ชจ๋‹ˆํ„ฐ๋ง), ํ—ฌ์Šค ์ผ€์–ด (๊ฐœ์ธ ์˜์—ญ ๋„คํŠธ์›Œํฌ, ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ๋ง, ์œ„์น˜ ํ™•์ธ, ์‹ค์‹œ๊ฐ„ ์œ„์น˜ ์‹œ์Šคํ…œ), ๋…๋ฆฝ ์ƒํ™œ (์ž๋™์ฐจ, ์›ฐ๋น™, ์ด๋™์„ฑ, ์ธ๊ตฌ ๊ณ ๋ นํ™” ๋ชจ๋‹ˆํ„ฐ๋ง), ์†Œ๋งค, ๋ฌผ๋ฅ˜, ๊ณต๊ธ‰๋ง ๊ด€๋ฆฌ, ์ธ๋ ฅ ๋ฐ ๋ฌผํ’ˆ ์šด์†ก, ๋ฏธ๋””์–ด, ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ ๋ฐ ๋ณดํ—˜ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

IoT Analytics GmbH ๋ณด๊ณ ์„œ [Scully 2018]๋Š” Smart City, Industrial IoT, Smart Building, Smart Car, Smart Energy / Grid, eHealth, Smart Supply Chain, Smart Agriculture, Smart Retail๊ณผ ๊ฐ™์€ ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ๋†’์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธ‰ IoT ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ ๊ด€๋ จ์„ฑ์€ ๊ทธ๋ฆผ 1์˜ ์ฐจํŠธ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜์ด ๋ณด๊ณ ์„œ๋Š” ์†Œ๋น„์ž ์ˆ˜์ค€์˜ IoT ์„ธ๊ทธ๋จผํŠธ (์˜ˆ : ์›จ์–ด๋Ÿฌ๋ธ” ๋ฐ ์Šค๋งˆํŠธ ํ™ˆ)์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Table 1. IoT Application Domains [Sundmaeker et al. 2010].

Domain Description Indicative Examples
Industry Activities involving financial or commercial transactions between companies, organisations and other entities Manufacturing, logistics, service sector, bank-ing, financial governmental authorities, inter-mediaries, etc.
Environment Activities regarding the protection, monitoring and development of all natural resources Agriculture & breeding, recycling, environmen-tal management services, energy management, etc.
Society Activities/ initiatives regarding the develop-ment and inclusion of societies, cities and people Governmental services towards citizens and other society structures (e-participation), e-inclusion (e.g. aging, disabled people), etc.
๋„๋ฉ”์ธ ์„ค๋ช… ์ง€์‹์ ์ธ ์˜ˆ์‹œ
์‚ฐ์—… ๊ธฐ์—…, ์กฐ์ง ๋ฐ ๊ธฐํƒ€ ๊ธฐ์—… ๊ฐ„์˜ ๊ธˆ์œต ๋˜๋Š” ์ƒ์—…์  ๊ฑฐ๋ž˜๋ฅผ ์ˆ˜๋ฐ˜ํ•˜๋Š” ํ™œ๋™ ์ œ์กฐ, ๋ฌผ๋ฅ˜, ์„œ๋น„์Šค ๋ถ€๋ฌธ, ์€ํ–‰์—…, ๊ธˆ์œต ์ •๋ถ€ ๋‹น๊ตญ, ์ค‘๊ฐœ์—… ๋“ฑ
ํ™˜๊ฒฝ ๋ชจ๋“  ์ฒœ์—ฐ์ž์›์˜ ๋ณดํ˜ธ, ๊ฐ์‹œ ๋ฐ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ํ™œ๋™ ๋†์—… ๋ฐ ์‚ฌ์œก, ์žฌํ™œ์šฉ, ํ™˜๊ฒฝ-๊ธฐ์ˆ  ๊ด€๋ฆฌ ์„œ๋น„์Šค, ์—๋„ˆ์ง€ ๊ด€๋ฆฌ ๋“ฑ
์‚ฌํšŒ ์‚ฌํšŒ,๋„์‹œ,์‚ฌ๋žŒ๋“ค์˜ ๋ฐœ์ „๊ณผํฌ์šฉ์— ๊ด€ํ•œ ํ™œ๋™/์‹œ์ฑ… ์‹œ๋ฏผ ๋ฐ ๊ธฐํƒ€ ์‚ฌํšŒ ๊ตฌ์กฐ(e-์ฐธ์—ฌ), ์ „์ž์ ํ(์˜ˆ: ๊ณ ๋ นํ™”, ์žฅ์• ์ธ ๋“ฑ)์— ๋Œ€ํ•œ ์ •๋ถ€ ์„œ๋น„์Šค

Number of IoT Enterprise Projects per Segment

์„ธ๊ทธ๋จผํŠธ๋‹น IoT Enterprise ํ”„๋กœ์ ํŠธ ์ˆ˜ Number_of_IoT_Enterprise_PJT_per_Segment

Fig. 1. Statistics based upon 1600 public known enterprise IoT projects circa 2018 (not including consumer level IoT projects such as werables and smart homes) [Scully 2018].

๊ทธ๋ฆผ 1. 2018๋…„ 1์ฒœ600๊ฐœ์˜ ๊ณต๊ณต IoT ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ†ต๊ณ„(์›จ๋Ÿฌ๋ธ” ๋ฐ ์Šค๋งˆํŠธ ํ™ˆ๊ณผ ๊ฐ™์€ ์†Œ๋น„์ž ์ˆ˜์ค€์˜ IoT ํ”„๋กœ์ ํŠธ ์ œ์™ธ [Scully 2018].

IoT ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋˜ํ•œ (Buyya ๋ฐ Dastjerdi 2016) ์—ญํ• ์— ๋”ฐ๋ผ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ž‘๋™, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ๋ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„, ์ •๋ณด ์ˆ˜์ง‘ ๋ฐ ํ˜‘์—… ์†Œ๋น„๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฒ”์ฃผ๋กœ ์ง‘๊ณ„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

์˜คํ”ˆ IoT ๊ธฐํšŒ์™€ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์˜ ์‚ถ์˜ ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•œํŽธ์œผ๋กœ๋Š” ์—…๊ณ„์™€ ๊ธฐ์—…์˜ ์„ธ๊ณ„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2.2 ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ผ์ดํ”„ ์‚ฌ์ดํด (SDLC)์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ˆ๋น„ ๊ฐœ๋ฐœ ๋ถ„์„ (์˜ˆ : ์š”๊ตฌ ์‚ฌํ•ญ, ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„)์—์„œ ๊ฐœ๋ฐœ ํ›„ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ๋ฐ ํ‰๊ฐ€ (์˜ˆ : ๊ฒ€์ฆ ๋ฐ ๊ฒ€์ฆ)์— ์ด๋ฅด๋Š” ๋‹ค์–‘ํ•œ ๋‹จ๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค [Leau et al. 2012]. ACM์— ์ œ์ถœ ๋œ ์›๊ณ 

SoftwareDevelopmentLifeCycle

SDLC

๋˜ํ•œ SDLC๋Š” ๊ฐœ๋ฐœ ํŒ€์ด ์ „์ฒด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์ œ์–ดํ•˜๊ธฐ์œ„ํ•œ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ๊ณผ ๋ฐฉ๋ฒ•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ SDLC ๋ฐฉ๋ฒ•๋ก  ์นดํ…Œ๊ณ ๋ฆฌ์—๋Š” ์ „ํ†ต์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ (์˜ˆ : ํญํฌ, Rational Unified Process)๊ณผ AGILE ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ (์˜ˆ : SCRUM)์˜ ๋‘ ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [Leau et al. 2012]. ๊ทธ๋ฆผ 2์—๋Š” SDLC์— ๋Œ€ํ•œ ์ „์ฒด์ ์ธ ๊ฒฌํ•ด๊ฐ€ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

IoT ์‹œ์Šคํ…œ์˜ ์„ค๊ณ„, ๊ตฌ์ถ•, ํ…Œ์ŠคํŠธ, ๋ฐฐ์น˜ ๋ฐ ์œ ์ง€ ๋ณด์ˆ˜์— ์ด๋ฅด๋Š” ๊ด‘๋ฒ”์œ„ํ•œ SDLC ํ”„๋กœ์„ธ์Šค์˜ ์ ์šฉ์€ IoT ์ƒํƒœ๊ณ„ ๊ณ ์œ ์˜ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ๊ธฐ์กด์˜ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ง๋ฉด ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๋„์ „์— ์ง๋ฉด ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ๋กœ ๊ธฐ์ˆ ์  ๊ด€์ ์—์„œ IoT์— ๊ด€ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์ง€์‹ ์ฒด๊ณ„์—๋Š” ์„ค๊ณ„, ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ํฌํ•จํ•˜๋˜ ์ด์— ๊ตญํ•œ๋˜์ง€ ์•Š๋Š” ์ƒ๋‹นํ•œ ๊ฒฉ์ฐจ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 2 ์ฐจ์ ์œผ๋กœ, ์ž‘์—… ํŒ€์˜ ๊ด€์ ์—์„œ, ๊ฐœ๋ฐœ์ž๋Š” ์ดˆ๋Œ€ํ˜• ์‹œ์Šคํ…œ์—์„œ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ด๋ฅด๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ์ง€์‹ ๊ธฐ๋ฐ˜์„ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

2.3 ๋””์ž์ธ ํŒจํ„ด

ํฌ๋ฆฌ์Šคํ† ํผ ์•Œ๋ ‰์‚ฐ๋” (Christopher Alexander)๋Š” ์ž์‹ ์˜ ์ €์„œ ใ€ŒํŒจํ„ด ์–ธ์–ด (Pattern Language)ใ€(1977 ๋…„๊ฒฝ)์—์„œ ์ด์™€ ๊ฐ™์€ ์‹œ๊ฐ„์— ์•„ํ‚คํ…์ฒ˜์™€ ๋„์‹œ ์„ค๊ณ„ ์†”๋ฃจ์…˜์„ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํŒจํ„ด์˜ ๊ฐœ๋…์„ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค 3. ๊ทธ๋Š” ๋” ๋‚˜์•„๊ฐ€ [Alexander et al. 1977] :

๊ฐ ํŒจํ„ด์€ ์šฐ๋ฆฌ ํ™˜๊ฒฝ์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๊ทธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์˜ ํ•ต์‹ฌ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.์ด ์†”๋ฃจ์…˜์„ ๋ฐฑ๋งŒ ๋ฒˆ ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ, ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‘ ๋ฒˆ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์•„๋„๋ฉ๋‹ˆ๋‹ค .

๊ทธ์˜ ์—ฐ๊ตฌ์—์„œ ๊ทธ๋Š” <๋ฌธ์ œ, ํž˜, ํ•ด๋‹ต> ์‚ผ์ค‘ ํ•ญ์„ ๋›ฐ์–ด ๋„˜๋Š” ํŒจํ„ด ๊ฐœ๋…์„ ํŒจํ„ด ์–ธ์–ด๋กœ ํ™•์žฅ ์‹œ์ผฐ๋Š”๋ฐ,์ด ์–ธ์–ด๋Š” ๋˜ํ•œ ํŠน์ • ์˜์—ญ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํŒจํ„ด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ๋‚˜์ค‘์— ์‹ค์งˆ์ ์ธ ์ง€์‹๊ณผ ๊ฒฝํ—˜์„ ํฌ์ฐฉํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ํ•ด ๋นŒ๋ ค์กŒ์Šต๋‹ˆ๋‹ค [Meszaros and Doble 1997]. ํŒจํ„ด์€ ํŠน์ • ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ฐ˜๋ณต์  ์ธ ํ•ด๊ฒฐ์ฑ…์— ํ•ด๋‹นํ•˜๋ฉฐ ํŠน์ • ์ƒํ™ฉ์—์„œ ํž˜์˜ ์ง‘ํ•ฉ ์‚ฌ์ด์—์„œ ์ตœ์ ์˜ ๊ท ํ˜•์„ ์ด๋ฃจ๋ฉด์„œ ๋™์‹œ์— ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋„๋ฆฌ ๋ฐ›์•„ ๋“ค์—ฌ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ ํŒจํ„ด์˜ ์‚ฌ์šฉ์€ ๊ณ ์ˆ˜์ค€์˜ ๊ฑด์ถ• ํŒจํ„ด์—์„œ๋ถ€ํ„ฐ ๋””์ž์ธ ํŒจํ„ด, ์ €์ˆ˜์ค€์˜ ์ˆ™์–ด๊นŒ์ง€ ๋‹ค์–‘ํ•˜๋‹ค [Bushmann et al. 1996] :

โ€ข ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ฒด๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ํ•˜์œ„ ์‹œ์Šคํ…œ์œผ๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ์ฑ…์ž„๊ณผ ์ƒํ˜ธ ๊ด€๊ณ„๋ฅผ ์ˆ˜๋ฆฝํ•ฉ๋‹ˆ๋‹ค. โ€ข ๋””์ž์ธ ํŒจํ„ด์€ ํด๋ž˜์Šค, ๊ด€๊ณ„ ๋ฐ ๊ฐ์ฒด์™€ ๊ฐ™์€ ๊ฐ์ฒด ์ง€ํ–ฅ ๋””์ž์ธ ์š”์†Œ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ ๊ด€์ ์—์„œ ์ง€์ •๋œ ์ค‘๊ฐ„ ๊ทœ๋ชจ์˜ ์ „์ˆ  ํŒจํ„ด์œผ๋กœ ๊ตฌ์ฒด์ ์ธ ์ƒํ™ฉ์—์„œ ์ธ์Šคํ„ด์Šคํ™” ํ•  ์ผ๋ฐ˜ ๊ทœ๋ฒ” ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ์ „๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ ๊ตฌ์กฐ์— ์˜ํ–ฅ์„์ฃผ์ง€ ์•Š๊ณ  ์„œ๋ธŒ ์‹œ์Šคํ…œ๊ณผ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋งˆ์ดํฌ๋กœ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

โ€ข ๊ด€์šฉ๊ตฌ (์ฝ”๋”ฉ ํŒจํ„ด์ด๋ผ๊ณ ๋„ ํ•จ)๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ๊ด€๊ณ„์˜ ํŠน์ • ์ธก๋ฉด์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ์ €๊ธ‰ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒจํ„ด ๋ฐ ํŒจํ„ด ์–ธ์–ด์— ํฌํ•จ ๋œ ์ง€์‹์€ ํฉ์–ด์ ธ์žˆ๋Š” ๊ฒฝํ—˜ ์ง€์‹์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ณผ์ •์˜ ๊ฒฐ๊ณผ์ด๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ์ธ๊ณต๋ฌผ์„ ์„ค๊ณ„, ์ œ์ž‘ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ์ปค๋‹ค๋ž€ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

3 DESIGNING THE INTERNET-OF-THINGS

3.1 Architectural Styles

๊ฐ๊ฐ ์žฅ์น˜, ์›๊ฒฉ ์„œ๋น„์Šค ํ˜ธ์ถœ, ํ†ต์‹  ๋„คํŠธ์›Œํฌ ๋ฐ ์ด๋ฒคํŠธ์˜ ์ปจํ…์ŠคํŠธ ์ธ์‹ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ์žˆ์—ˆ๋˜ IoT ์‹œ์Šคํ…œ์„์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. IoT ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ๋Š” ์ด๋Ÿฌํ•œ ์ž˜ ์•Œ๋ ค์ง„ ๋นŒ๋”ฉ ๋ธ”๋ก์„ ํ†ต์ผ ๋œ ๋ฐฉ์‹์œผ๋กœ ํ™œ์šฉํ•˜๋ ค๊ณ ํ•˜๋Š”๋ฐ, ์Šค๋งˆํŠธ ์˜ค๋ธŒ์ ํŠธ์™€ ์Šค๋งˆํŠธ ์˜ค๋ธŒ์ ํŠธ (ํ•„์š”ํ•œ ๊ฒฝ์šฐ)๋ฅผ ์กฐ์ž‘ ํ•  ์ฑ…์ž„์ด์žˆ๋Š” ์ธ๊ฐ„์€ ๋ณดํŽธ์ ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ์œ ๋น„์ฟผํ„ฐ์Šค ์ ์œผ๋กœ ์„œ๋กœ ํ†ต์‹  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IoT๋ฅผ์œ„ํ•œ ์ „์ฒด ๋ก ์  ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ์˜ ์™„๋ฒฝํ•œ ์ž‘๋™์„ ๋ณด์ฆํ•˜๊ณ  ์‹ค์ œ ๋ฐ ๊ฐ€์ƒ ์˜์—ญ์„ ํ†ตํ•ฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด IoT ์‹œ์Šคํ…œ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ์ ์‘ ๊ฐ€๋Šฅํ•ด์•ผํ•˜๋ฉฐ ๋™์  ์ƒํ˜ธ ์ž‘์šฉ, ๊ณ ๋„๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ธ๊ฐ„ ์ค‘์‹ฌ์ ์ด์–ด์•ผํ•œ๋‹ค [Buyya and Dastjerdi 2016].

์ด ์‹œ์Šคํ…œ์€ ํ†ต์‹  ์Šคํƒ€์ผ๊ณผ ๋””์ž์ธ ์ธก๋ฉด์—์„œ ์š”์ฆ˜ ํ‘œ์ค€๊ณผ ๋Œ€๋ถ€๋ถ„ ํ˜ธํ™˜๋˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, IoT ์‹œ์Šคํ…œ์˜ ๊ฐ€์žฅ ๋ณดํŽธ์  ์ธ ๊ธฐ์ดˆ๋Š” ์›น ์„œ๋น„์Šค๋กœ์„œ, ์›น ์„œ๋น„์Šค๊ฐ€ ๊ตฌ์ถ•๋˜๊ณ  ํ†ต์‹ ๋˜๋Š” ๋ฐฉ์‹์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

์ด์™€ ๊ฐ™์ด IoT ์‹œ์Šคํ…œ์€ ์ผ๋ฐ˜์ ์œผ๋กœ Representational State Transfer (REST4) ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” Simple Object Access Protocol (SOAP) ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ ์ด ์•„ํ‚คํ…์ฒ˜๋Š” SOA (Service Oriented Architecture)๋กœ, ์ž„์˜์˜ ์ž‘์—… ์ง‘ํ•ฉ์„ ๋…ธ์ถœํ•˜์—ฌ ์ผ๋ จ์˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ด๊ธฐ์ข… ์žฅ์น˜ ๊ฐ„ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. [Buyya and Dastjerdi 2016]

SOAP์€๋ณด๋‹ค ์ „ํ†ต์ ์ธ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ๋กœ, ๋Œ€์—ญํญ๋ฉด์—์„œ ๋ฌด๊ฒ๊ณ  ๋ณต์žกํ•˜๋ฉฐ XML (eXtensible Markup Language) ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— REST๋Š” JSON (JavaScript Object Notation) ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹๊ณผ ๊ฒฐํ•ฉ ๋œ๋ณด๋‹ค ์œ ์—ฐํ•˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋น ๋ฅด๋ฉฐ ๋” ์ ์€ ๋Œ€์—ญํญ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

IoT ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๋งค์‰ฌ์—… ๊ธฐ๋ฐ˜ ๋ฐ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ [Prehofer and Chiarabini 2013, 2015]์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์‰ฌ์—… ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ ์‹œ์Šคํ…œ์€ ๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ๋งค์‹œ์—…ํ•˜์—ฌ ๊ฐœ๋ฐœ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋งค์‹œ์—…์€ ์นœ์ˆ™ํ•œ ์›น ๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ ๊ธฐ์ˆ  (์˜ˆ : ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœํ†  ํƒ€์ดํ•‘) [Blackstock and Lea 2012a]๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ ๋œ ๋งž์ถคํ˜•, ์ƒํ™ฉ ๋ณ„, ๋‹จ๊ธฐ ๋ฐ ๋น„์—…๋ฌด ํ•ต์‹ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๋ฒ•์€ ๋” ๋†’์€ ์ถ”์ƒํ™” ์ˆ˜์ค€์—์„œ ์‹œ์Šคํ…œ์„ ๊ธฐ์ˆ  ํ•  ์ˆ˜์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฏ€๋กœ ์ฝ”๋“œ ์ƒ์„ฑ์„ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ๋งค์šฐ ํ‘œํ˜„์ ์ธ ๋ชจ๋ธ๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค [Prehofer and Chiarabini 2013, 2015]. ์ด ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹ (๋งค์‰ฌ์—…๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜์˜ ํ˜ผํ•ฉ)์€ ๋ฌธํ—Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

3.2 IoT ์ƒํ˜ธ ์šด์šฉ์„ฑ ํ‘œ์ค€

์ƒํ˜ธ ์šด์šฉ์„ฑ์žˆ๋Š” ์ธํ„ฐ๋„ท -to-Things๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์—…๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹จ์ˆœํžˆ ์žฅ์น˜๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ฐ„์— ๋งํ•  ์ˆ˜์žˆ๋Š” ๊ณต์šฉ ์–ธ์–ด๋ฅผ ๋„ฃ์–ด IoT ๋‹จํŽธํ™”๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ์˜ ์š”์•ฝ์€ ํ‘œ 2์— ๋‚˜์™€ ์žˆ์œผ๋ฉฐ ๊ฐ€์žฅ ๋„๋ฆฌ ๋ณด๊ธ‰ ๋œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋‹จ๋ฝ์—์„œ ๋ถ„์„๋ฉ๋‹ˆ๋‹ค.

overview_of_the_IoT_Enabling_Models_and_API's

Mozzilla์˜ Web Thing API [Francis 2017] Web of Things์˜ ๊ณตํ†ต ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ฐ API์— ๋Œ€ํ•œ Mozilla ์ œ์•ˆ. Web Thing Description์€ ์›”๋“œ ์™€์ด๋“œ ์›น์— ์—ฐ๊ฒฐ๋œ ์‹ค์ œ ์žฅ์น˜๋ฅผ ๊ธฐ๋ณธ JSON ์ธ์ฝ”๋”ฉ์œผ๋กœ ๊ธฐ๊ณ„ ๊ฐ€๋… ํ˜•์‹์œผ๋กœ ์„ค๋ช…ํ•˜๋Š” ์–ดํœ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Web Thing REST API ๋ฐ Web Thing WebSocket API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žฅ์น˜ ์†์„ฑ์— ์•ก์„ธ์Šคํ•˜๊ณ  ์ž‘์—… ์‹คํ–‰์„ ์š”์ฒญํ•˜๊ณ  ์ƒํƒœ ๋ณ€๊ฒฝ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ด๋ฒคํŠธ์— ๊ฐ€์ž… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์›น ์‚ฌ์ดํŠธ ์œ ํ˜•์ด ์ œ๊ณต๋˜๋ฉฐ JSON-LD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜๋ฏธ ๋ก ์  ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์œ ํ˜•์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ์ด ์ œ์•ˆ์—๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ์กด IoT ํ”„๋กœํ† ์ฝœ์— Web Thing API์˜ ๋น„ ๊ทœ๋ฒ” ์  ๋ฐ”์ธ๋”ฉ์„ ์ œ์•ˆํ•˜๋Š” Web of Things Gateway Protocol Bindings ๋ฐ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋ฅผ ํ†ตํ•ฉํ•˜๊ธฐ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ์ œ๊ณตํ•˜๋Š” Web of Things ํ†ตํ•ฉ ํŒจํ„ด ์„ธํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค Web of Things, ๊ทธ๋ฆฌ๊ณ  ๊ฐ ํŒจํ„ด์ด ๊ฐ€์žฅ ์ ์ ˆํ•œ ๊ณณ.

Open Geospatial Consortium (OGC)์— ์˜ํ•œ OGC SensorThings API [Liang et al. 2016] ๊ฐœ๋ฐฉํ˜• ์ง€ํ˜• ๊ณต๊ฐ„ ์ง€์› ์›น์„ ํ†ตํ•ด IoT (Internet of Things) ์žฅ์น˜, ๋ฐ์ดํ„ฐ ๋ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ƒํ˜ธ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์ผ ๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋†’์€ ์ˆ˜์ค€์—์„œ OGC SensorThings API๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ ๊ฐ ๊ธฐ๋Šฅ์€ ๋ถ€ํ’ˆ์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋ถ€๋ถ„์€ Sensing ๋ถ€๋ถ„๊ณผ Tasking ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. Sensing ๋ถ€๋ถ„์€ ์ด๊ธฐ์ข… IoT ์„ผ์„œ ์‹œ์Šคํ…œ์—์„œ ๊ด€์ฐฐ ๋ฐ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—… ๋ถ€๋ถ„์€ ์•„์ง ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

IOTDB [Janes 2017] ์‚ฌ๋ฌผ๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ์— ์˜๋ฏธ ๋ก ์ ์œผ๋กœ ์ฃผ์„์„ ๋‹ฌ์•„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. (์˜๋ฏธ ์ ์œผ๋กœ ๋” ์„ธ๋ถ„ํ™” ๋  ์ˆ˜๋Š” ์—†์ง€๋งŒ) ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  (๋‹ค๋ฅธ ์‹œ๋งจํ‹ฑ ์˜จํ†จ๋กœ์ง€์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š”) ์›์ž ์  ์š”์†Œ์˜ ๊ตฌ์„ฑ์œผ๋กœ ์ž‘์„ฑ๋œ ์„ค๋ช…. ๋ฌผ์ฒด๋Š” ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ, ์‹ค์ œ ์ƒํƒœ์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋ฐด๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

W3C์— ์˜ํ•œ ์›น ์‚ฌ๋ฌผ ๋ชจ๋ธ [Trifa et al. 2017] Web of Things์˜ ์‹ค์ œ ๋ฌผ์ฒด๋ฅผ ๊ฐ€์ƒ์œผ๋กœ ๋ฌ˜์‚ฌํ•˜๋Š” ๊ณตํ†ต๋œ ๋ชจ๋ธ. Web of Things์˜ ์ œํ’ˆ, ์žฅ์น˜, ์„œ๋น„์Šค ๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ ์žํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋”ฐ๋ผ์•ผ ํ•  ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ชจ๋ธ ๋ฐ ์›น API๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ ๋œ ๋ชจ๋ธ๊ณผ ํ”„๋กœํ† ์ฝœ์€ ์›น ํ‘œ์ค€์„ ํ†ตํ•ด ์•ก์„ธ์Šค ํ•  ์ˆ˜์žˆ๋Š” ์‚ฌ๋ฌผ์˜ ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ๋ฌผ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋งŒ๋“ค์–ด ์‹ค์ œ ๊ฐœ์ฒด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•˜๋Š” ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌํ˜„์„ ์šฉ์ดํ•˜๊ฒŒํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•ฉ๋‹ˆ๋‹ค.

3.3 Internet-of-Things ํŒจํ„ด

ํŒจํ„ด์€ ์˜ค๋žซ๋™์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ๋ถ„์•ผ์™€ ๋‹ค๋ฅธ ๋ถ„์•ผ์˜ ๊ณตํ†ต๋œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ฐ˜๋ณต์  ์ธ ํ•ด๊ฒฐ์ฑ…์„ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Internet-of-Things ๋ถ„์•ผ์—์„œ๋„ ์ด์™€ ์œ ์‚ฌํ•œ ๋…ธ๋ ฅ์ด ์ˆ˜ํ–‰๋˜์–ด ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์˜ ๋ณต์žก์„ฑ๊ณผ ๊ณตํ†ต ๊ณผ์ œ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ์ฑ…์„ ๋ฌธ์„œํ™”ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. Reinfurt et al. [Reinfurt et al. 2016, 2017] ์ž‘ํ’ˆ์€์ด ๋ถ„์•ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ž‘ํ’ˆ์ด๋ฉฐ, ์ด๋ฏธ ํ™•์ธ ๋œ ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ๋†’์€ ํŒจํ„ด์€ ์•„๋ž˜์— ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์น˜ ๊ฒŒ์ดํŠธ์›จ์ด ์ผ๋ถ€ ์žฅ์น˜๋Š” ํ•„์š”ํ•œ ํ†ต์‹  ๊ธฐ์ˆ ์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์น˜๋Š” ๋ณ€ํ™˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Reinfurt et al. 2016]. IoT ์ƒํƒœ๊ณ„์˜ ์ผ๋ถ€์ธ ์žฅ์น˜ ๋ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์˜ ๋†’์€ ์ด์งˆ์„ฑ์œผ๋กœ ์ธํ•ด ์ด๋Ÿฌํ•œ ์žฅ์น˜๋ฅผ ์ฃผ๋ณ€ ์„œ๋น„์Šค ๋ฐ ์ธํ”„๋ผ์™€ ์ƒํ˜ธ ์šด์šฉ ํ•  ๋•Œ ๋ช‡ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์†”๋ฃจ์…˜์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ (์˜ˆ : JSON)์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ƒํ˜ธ ์šด์šฉ์„ฑ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๋Š” ์žฅ์น˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์žฅ์น˜ ์„€๋„์šฐ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ๋œ ์žฅ์น˜์™€ ํ†ต์‹ ํ•˜์—ฌ ํ˜„์žฌ ์˜คํ”„๋ผ์ธ ์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ์น˜๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋ฉด ๋™๊ธฐํ™”๋˜๋Š” ์žฅ์น˜์˜ ๊ฐ€์ƒ ํ‘œํ˜„ [Reinfurt et al. 2016]. ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ๊ณ  ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ๋„คํŠธ์›Œํฌ์™€ ํ•จ๊ป˜ ๋Œ€๊ทœ๋ชจ์˜ ๊ณ ๋„๋กœ ๋ถ„์‚ฐ ๋œ, ์ง€๋ฆฌ์ ์œผ๋กœ ๋ฐ ์ฒ˜๋ฆฌ ์ธก๋ฉด์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋•Œ๋กœ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ์žฅ์น˜๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์žฅ์น˜๊ฐ€ ์˜คํ”„๋ผ์ธ ์ผ ๋•Œ๋ผ๋„ ์‹ค์ œ ์žฅ์น˜์˜ ๋™์ผํ•œ ๋™์ž‘์„ ์กฐ๋กฑํ•˜๋Š” ์žฅ์น˜ (์•„๋ฐ”ํƒ€)์˜ ๊ฐ€์ƒ ํ‘œํ˜„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์น˜๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€๋˜๋ฉด ์•„๋ฐ”ํƒ€๋Š” ์žฅ์น˜ ์ƒํƒœ์˜ ๋™๊ธฐํ™”๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™ ์—”์ง„ ์‚ฌ์šฉ์ž๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ํ•„์š”์—†์ด ๊ฐ„๋‹จํ•œ ๊ทœ์น™์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์€ ์‹œ์Šคํ…œ์— ์–ด๋–ค ์ž‘์—…์„ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋“ค์–ด์˜ค๋Š” ์‚ฌ๊ฑด์— ๋ฐ˜์‘ํ•ด์•ผํ•œ๋‹ค [Reinfurt et al. 2016]. ๋‚ฎ์€ ์ˆ˜์ค€์˜ IoT ์ƒํ˜ธ ์ž‘์šฉ์„ ์ถ”์ƒํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ์ฑ…์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •์˜ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ๊ทธ๋ ‡๋‹ค๋ฉด์ด ๊ทœ์น™์„ ํ†ตํ•ด ์žฅ์น˜ ๋ฐ ์„œ๋น„์Šค์— ๋‹จ์ˆœํ•˜๊ณ  ๊ฐœ์ธํ™” ๋œ ๋…ผ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์น˜ ์›จ์ดํฌ ์—… ํŠธ๋ฆฌ๊ฑฐ ํ˜„์žฌ ์žฅ์น˜๊ฐ€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ์žฅ์น˜๋Š” ์žฅ์น˜๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ €์ „๋ ฅ ํ†ต์‹  ์ฑ„๋„๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜์—ฌ์ด๋ฅผ ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Reinfurt et al. 2016, 2017]. ์ €์ „๋ ฅ ์žฅ์น˜๊ฐ€ ์ ˆ์ „ ๋ชจ๋“œ (์ ˆ์ „ ๋ชจ๋“œ)๋กœ ์ „ํ™˜๋˜๊ณ  ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์‹œ๋กœ ๊นจ์–ด๋‚˜์„œ ๋„คํŠธ์›Œํฌ์— ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ˆ˜๋ฉด ์ค‘์— ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ €์—๋„ˆ์ง€ ํ†ต์‹  ์ฑ„๋„์„ ํ†ตํ•ด ์žฅ์น˜์— ํŠธ๋ฆฌ๊ฑฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ œ ์œ„์น˜์— ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์›๊ฒฉ ์žฅ์น˜ ๊ด€๋ฆฌ ์—ฌ๋Ÿฌ ์žฅ์น˜๋ฅผ ์›๊ฒฉ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ์ œ์–ด ํ•  ํ•„์š”๊ฐ€์žˆ๋Š” ๋ชจ๋“  ์žฅ์น˜์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ์—์ด์ „ํŠธ [Reinfurt et al. 2017]. ๋‹ค์ˆ˜์˜ ์›๊ฒฉ ์žฅ์น˜๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ์žฅ์น˜์— ์—์ด์ „ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šด์˜์ž๋Š” ๋ฐฐํฌ ๋œ ์—์ด์ „ํŠธ๋ฅผ ํ†ตํ•ด ์žฅ์น˜์—์„œ ์‹คํ–‰๋˜๋Š” ๋ช…๋ น์„ ํ†ตํ•ด ์žฅ์น˜๋ฅผ ์›๊ฒฉ์œผ๋กœ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๊ฒฉ ์ž ๊ธˆ ๋ฐ ์ง€์šฐ๊ธฐ ์žฅ์น˜๋ฅผ ๋ถ„์‹คํ•˜๊ฑฐ๋‚˜ ๋„๋‚œ๋‹นํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์›๊ฒฉ์œผ๋กœ ์ž ๊ธ€ ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์™„์ „ํžˆ ๋˜๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ๋‹ฆ์•„ ๋‚ธ๋‹ค. [Reinfurt et al. 2016, 2017]. ๊ธฐ๊ธฐ๊ฐ€ ๋ถ„์‹ค๋˜๊ฑฐ๋‚˜ ๋„๋‚œ๋‹นํ•˜๋Š” ์ƒํ™ฉ์— ์ฒ˜ํ•œ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ์žฅ์น˜์˜ ๊ธฐ๋Šฅ์„ ์ž˜๋ชป ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋„๋ก (์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด) ์žฅ์น˜๋Š” ํŒŒ์ผ, ํด๋”, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๊ด€์˜ ๋ช…๋ น์„๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ถŒํ•œ, ํ‚ค ๋ฐ ์ธ์ฆ์„œ๋ฅผ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค.

๋ธํƒ€ ์—…๋ฐ์ดํŠธ ๋งˆ์ง€๋ง‰ ์ •๋ณด๋ฅผ ์žƒ์ง€ ์•Š๊ณ  ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฉ”์‹œ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋ ค๋ฉด ์†ก์‹  ๋œ ๋ฐ์ดํ„ฐ๋Š” ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ์ด ๋ฉ”์‹œ์ง€๋กœ์˜ ๋ธํƒ€ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ  ๋ธํƒ€ ๊ฐ’์„ ์ˆ˜์‹ ๊ธฐ๋กœ ๋ณด๋‚ธ๋‹ค [Reinfurt et al. 2017]. ๊ธฐ๊ธฐ๊ฐ€ ๋ณ€ํ™”ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์„ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ฐ˜๋ณตํ•˜์—ฌ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : ์Šต๋„ ์„ผ์„œ). ์ด๋Ÿฌํ•œ ์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ค„์ด๋ ค๋ฉด ๋ณด๋‚ธ ๋งˆ์ง€๋ง‰ ๋ฉ”์‹œ์ง€๋ฅผ ํ•ญ์ƒ ์ €์žฅํ•˜๊ณ  ์ƒˆ ๋ฐ์ดํ„ฐ์™€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€ ๊ฐ„์˜ ๋ธํƒ€๋ฅผ ๊ณ„์‚ฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•ด์•ผํ•˜๋Š” ์œ ์ผํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ธํƒ€ ๊ฐ’๊ณผ ๋ฐ์ดํ„ฐ์˜ ํ•ด์‹œ์ด๋ฉฐ ์ˆ˜์‹  ์ธก์€ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๊ฒฐ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์‹œ ๊ด‘์„  ํ†ต์‹  ๋ฌด์„  ํ†ต์‹ ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์—์„œ๋Š” ๋‹จ๊ฑฐ๋ฆฌ ์šฉ ๊ฐ€์‹œ ๊ด‘์„ ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค ๋ฌด์„  ํ†ต์‹  [Reinfurt et al. 2017]. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š”, ๋ฌด์„  ์ŠคํŽ™ํŠธ๋Ÿผ์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ์˜ ํ†ต์‹ ์ด ์•„๋‹Œ ๊ฒฝ์šฐ, ๋‹จ๊ฑฐ๋ฆฌ ๋ฐ์ดํ„ฐ ์ „์†ก์„์œ„ํ•œ ๊ฐ€์‹œ๊ด‘ ํ†ต์‹ ์˜ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์‹คํ—˜์ด ์ˆ˜ํ–‰๋˜์—ˆ๋‹ค.

์žฅ์น˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋Œ€๊ทœ๋ชจ ๋™์  ํ† ํด๋กœ์ง€ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ ์žฅ์น˜์—์„œ ๋กœ์ปฌ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋”ฐ๋ผ์„œ ์žฅ์น˜ ์ข…์ ์˜ ์งˆ์˜๋ฅผ ์ €์žฅํ•˜๊ณ  ์‘๋‹ตํ•˜๋Š” ์ฑ…์ž„์ด์žˆ๋Š” ๋ชจ๋“ˆ์„ ๊ฐ–๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค [Ramadas et al. 2017].

์žฅ์น˜ ์›์‹œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ธฐ ์žฅ์น˜์—์„œ ์ˆ˜์ง‘ ํ•œ ์›์‹œ ๋ฐ์ดํ„ฐ์™€ ์ƒ์„ฑ ๋œ ๋กœ๊ทธ๋Š” ๋ชจ๋‘ ์›๋ณธ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋ฐ ์žฅ์น˜์˜ ํ’๋ถ€ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋ฏ€๋กœ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ €์žฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค [Ramadas et al. 2017].

์žฅ์น˜ ์˜ค๋ฅ˜ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์ž ์žฅ์น˜์˜ ์ˆ˜์™€ ์ด์งˆ์„ฑ ๋ชจ๋‘์—์„œ IoT ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์œผ๋กœ ์ธํ•ด, ์—์ง€ ์žฅ์น˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ๋” ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์—”ํ‹ฐํ‹ฐ์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ๋กœ๊ทธ ๊ด€๋ฆฌ์ž๋Š” ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์™„ํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Ramadas et al. 2017].

์žฅ์น˜์˜ ์ˆ˜์™€ ์ด์งˆ์„ฑ ๋ชจ๋‘์—์„œ IoT ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์ด ๋†’์€ ์˜ˆ์ธก ์žฅ์น˜ ๋ชจ๋‹ˆํ„ฐ ์—์ง€ ์žฅ์น˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์€ ์‹œ์Šคํ…œ ์—”ํ‹ฐํ‹ฐ์—์„œ ์ƒ์„ฑ ๋œ ๋กœ๊ทธ๊ฐ€ ์žฅ์น˜ ์˜ค์ž‘๋™์„ ์˜ˆ์ธกํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Ramadas et al. 2017].

3.4 ์˜ํ–ฅ/ํ•จ์ถ•/์•”์‹œ์™€ ์žฅ๋ฒฝ/์žฅ์• ๋ฌผ( Implications and Barriers)

์ž์› ๊ด€๋ฆฌ. IoT๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค ์šฉ๋Ÿ‰ (์ปดํ“จํŒ…, ์Šคํ† ๋ฆฌ์ง€, ์—ฐ๊ฒฐ)์„ ๊ฐ–์ถ˜ ์ˆ˜๋งŽ์€ ๋…ธ๋“œ๊ฐ€์žˆ๋Š” ํฐ ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ž์›์˜ ์„ ํƒ ๋ฐ ์ œ๊ณต์€ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ QoS (Quality of Service)์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค [Buyya and Dastjerdi 2016]. ์Šค๋งˆํŠธ ์‹œํ‹ฐ์™€ ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ณ ๋ คํ•  ๋•Œ, ๊ฒฌ๊ณ ์„ฑ, ๋‚ด๊ฒฐํ•จ์„ฑ, ํ™•์žฅ ์„ฑ, ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ, QoS ๋ฐ ์„œ๋น„์Šค ์ˆ˜์ค€ ํ˜‘์•ฝ (SLA)์˜ ํ•„์š”์„ฑ์œผ๋กœ ์ธํ•ด ํšจ์œจ์ ์ธ ์ž์› ๊ด€๋ฆฌ๊ฐ€ ์šฐ์„  ์ˆœ์œ„๊ฐ€๋ฉ๋‹ˆ๋‹ค [Buyya and Dastjerdi 2016 ].

์‹๋ณ„ ๋ฐ ์ž์› / ์„œ๋น„์Šค ๋ฐœ๊ฒฌ. IoT ์‹œ์Šคํ…œ์˜ ๋ฐœ๊ฒฌ์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ชฉ์ ์€ ๊ฐ ์žฅ์น˜์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์–ป์„ ์ˆ˜์žˆ๋Š” ์‹œ์Šคํ…œ์˜ ํ•ญ๋ชฉ์„ ์‹๋ณ„ํ•˜๊ณ  ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด๋ฉฐ, ๋‘ ๋ฒˆ์งธ ๋ชฉํ‘œ๋Š” ์ฃผ์–ด์ง„ ์ž‘์—…์— ๋Œ€ํ•ด ํ˜ธ์ถœํ•ด์•ผํ•˜๋Š” ๋Œ€์ƒ ์„œ๋น„์Šค๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค [Buyya and Dastjerdi 2016]. ์ด๋Ÿฌํ•œ ์š”๊ตฌ๋ฅผ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํšจ๊ณผ์ ์ธ ๋ฐœ๊ฒฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์†Œ๋น„ ๋œ ์—๋„ˆ์ง€, ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฐ ์ตœ์ข… ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ์œ„ํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์žฅ์น˜์˜ ์ด์งˆ์  ํŠน์„ฑ, ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๋™์‹œ ์ž‘์—… ๋ฐ ์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ ํ•ฉ๋ฅ˜๊ฐ€์ด ์ž‘์—…์„ ์•…ํ™”์‹œํ‚ต๋‹ˆ๋‹ค [Gubbi et al. 2013].

์‹ ์› ๊ด€๋ฆฌ ๋ฐ ์ธ์ฆ. IoT ๋น„์ „์˜ ์ผ๋ถ€์ธ ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์ „์ฒด ์ƒํƒœ๊ณ„์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์ˆ˜์ค€์„ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ IoT ์žฅ์น˜๋Š” ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„๋˜์–ด์•ผํ•œ๋‹ค [Buyya and Dastjerdi 2016]. ucode5 ๋ฐ Electric Product Code (EPC) 6์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์—ญ ํ™˜๊ฒฝ์„ ํ™•์žฅํ•˜๊ณ ์ด๋ฅผ๋ณด๋‹ค ํฐ ์ƒํƒœ๊ณ„์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ ์› ์š”๊ตฌ ์‚ฌํ•ญ์€ ์•„์ง ๋„คํŠธ์›Œํฌ์—์„œ ์ ์ ˆํ•˜๊ฒŒ ์ถฉ์กฑ๋˜์ง€ ์•Š๊ณ  ์žˆ์œผ๋ฉฐ,์ด ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ํ•ด๊ฒฐ์ฑ…์ด ์ œ์•ˆ๋˜์—ˆ๋‹ค [Sicari et al. 2015]. ๋˜ํ•œ, Sicari et al. ์‹ ์› ๋ฌธ์ œ์™€ ์ ‘๊ทผ ํ†ต์ œ ๊ด€์ ์— ๊ด€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์งˆ๋ฌธ์„ ์ œ๊ธฐํ•œ๋‹ค [Sicari et al. 2015] : โ€ข ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด IoT ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉ์ž ๋ฐ ์‚ฌ๋ฌผ์˜ ๋“ฑ๋ก ๋ฐ ๋‹น๊ตญ์˜ ์ž๊ฒฉ ์ฆ๋ช… ๋˜๋Š” ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ์Šต๋‹ˆ๊นŒ? โ€ข ๋‹ค๋ฅธ ์ธ์ฆ ๋œ ์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋„๋ก ์‚ฌ์šฉ์ž / ๋ฌผ๊ฑด์ด IoT ์‹œ์Šคํ…œ์— ์ด๋Ÿฌํ•œ ์ž๊ฒฉ ์ฆ๋ช… / ์ธ์ฆ์„œ๋ฅผ ์ œ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? โ€ข ์ธ์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ IoT ์ปจํ…์ŠคํŠธ ๋‚ด์˜ ํŠน์ • ์—ญํ•  ๋ฐ ๊ธฐ๋Šฅ์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•ด๊ฒฐ์ฑ…์ด ์ œ์•ˆ๋˜์—ˆ๊ณ , ์ด๊ธฐ์ข… ๋””๋ฐ”์ด์Šค์˜ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๊ทธ๋ฃน ๋ฉค๋ฒ„์‰ฝ ์Šคํ‚ด์„ ๊ฐ€์ง„ ๊ฐ€์ž…์ž ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ์ด ํ•˜๋‚˜์˜ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ์ œ์•ˆ๋˜์—ˆ๋‹ค [Sicari et al. 2015]. ๋˜ํ•œ, ์ธ์ฆ ๊ด€์ ์—์„œ, Sicari ๋“ฑ์— ์˜ํ•ด ์ œ์•ˆ ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ œ์•ฝ ๋œ ์žฅ์น˜์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์กด์žฌํ•œ๋‹ค. PUF (Physical Unclonable Functions)์™€ Embedded Subscriber Identity Module (eSIM)์„ ๊ฒฐํ•ฉํ•œ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ ๊ฐ’ ์‹ธ๊ณ  ์•ˆ์ „ํ•œ ๋ณ€์กฐ ๋ฐฉ์ง€ ๋ณด์•ˆ ํ‚ค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ™•์žฅ ์„ฑ, ์ƒํ˜ธ ์šด์šฉ์„ฑ ๋ฐ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ ์ค€์ˆ˜๋ฅผ ๋ณด์žฅํ•˜๋ฉด์„œ ์ œํ•œ๋œ M2M ์žฅ์น˜๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค [Sicari et al. 2015].

๊ทธ๋ฆผ 3. ์ˆ˜์ง‘์—์„œ๋ถ€ํ„ฐ ์˜์‚ฌ ๊ฒฐ์ •์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ IoT์˜ ์ƒ๋ช…์ฃผ๊ธฐ์— ๊ด€ํ•œ RedHat ๋น„์ „ [Kirkland 2015].

๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ๋ถ„์„. IoT๋Š” ์‹œ์Šคํ…œ ๋ฐ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋น„์ „์„ ์ œ์‹œํ•˜์—ฌ ๊ฑฐ์˜ ๋ชจ๋“  ์ƒํ™ฉ์— ๋” ๋งŽ์€ ๊ฐ€๋Šฅ์„ฑ์„ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ IoT๋Š” ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 5 ucode๋Š” ๋Šฅ๋™ ๋ฐ ์ˆ˜๋™ RFID ํƒœ๊ทธ์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” 128 ๋น„ํŠธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 6 EPC๋Š” URI (Uniform Resource Identifier) ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์œ  ํ•œ ์‹๋ณ„์ž๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์š”์ฆ˜ ๊ฐœ์ธ๊ณผ ์กฐ์ง ๋ชจ๋‘์—๊ฒŒ ๊ทธ๋ฆผ 3 [Kirkland 2015]์—์„œ ๋ฌ˜์‚ฌ ๋œ ๋ฐ”์™€ ๊ฐ™์ด, IoT์˜ ์ง„์ •ํ•œ ํž˜์€์ด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ณผ ๋ถ„์„์—์žˆ๋‹ค.

Big Data์™€ ๊ฐ™์€ IoT ๋ฐ์ดํ„ฐ๋Š” ์†๋„, ๋ณผ๋ฅจ ๋ฐ ๋‹ค์–‘์„ฑ๊ณผ ๊ฐ™์€ 3V๋ฅผ ํŠน์ง•์œผ๋กœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฐ์ง€ ๋„คํŠธ์›Œํฌ ์ค‘ ์ผ๋ถ€์—์„œ ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์€ Big Data๋ณด๊ธฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋น… ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ ์ธ IoT๋Š” ์ผ๋ฐ˜์ ์ธ ๋น… ๋ฐ์ดํ„ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ๋™์ผํ•œ ์š”๊ตฌ์™€ ๋ฌธ์ œ์ ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณผ๋ฅจ, ์†๋„ ๋ฐ ๋‹ค์–‘์„ฑ (๊ฐ€๋ณ€์  ์ธ ์ง„์‹ค์„ฑ์€ ๋ฌผ๋ก )์€ ์œ ์šฉํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ์ €์žฅ ๋ฐ ๋ถ„์„ ์ ‘๊ทผ๋ฒ•์„ ๋งŒ๋“ค์–ด ๋งค์šฐ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์†์‹ค๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ) [Risteska Stojkoska and Trivodaliev 2017]. ์ด์™€ ๊ฐ™์ด Big Data์˜ ๋งฅ๋ฝ์—์„œ IoT์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ณต๊ฐœ ์—ฐ๊ตฌ ์งˆ๋ฌธ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค (์˜ˆ : ์ผ๋ฐ˜์ ์ธ SQL ์ฟผ๋ฆฌ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (RDBMS)๋Š” IoT ์š”๊ตฌ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Œ). ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๊ฐ™์€ ์š”์†Œ๊ฐ€ ์„œ๋น„์Šค ํ’ˆ์งˆ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŠนํžˆ ์™ธ์ฃผ ์ œ์ž‘ ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ด€๋ จ ์ธก๋ฉด ๋•Œ๋ฌธ์— ๊ณ ๋ ค ๋  ๋•Œ ํ›จ์”ฌ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค [Risteska Stojkoska and Trivodaliev 2017]. ๊ทธ๋Ÿฌ๋‚˜ ๋น… ๋ฐ์ดํ„ฐ ์—ฐ๊ตฌ์˜ ๋ช‡ ๊ฐ€์ง€ ๋ฐœ์ „์€ ๋žŒ๋‹ค ์•„ํ‚คํ…์ฒ˜, ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ, ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ฐ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค [Buyya and Dastjerdi 2016]์™€ ๊ฐ™์€ IoT ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งˆ์ง€๋ง‰์œผ๋กœ, Hurlburt et al. ๋ณด๋‹ค ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ ์ œ๊ธฐ [Hurlburt et al. 2012] :

IoT๊ฐ€ ๋ณดํŽธํ™”๋˜๋ฉด์„œ ์ •๋ณด ์†Œ์œ ๊ถŒ ๋ฌธ์ œ๊ฐ€ ์ค‘์š”ํ•ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. IoT๊ฐ€ ์ƒ์„ฑ ํ•  ๋ฐ์ดํ„ฐ์˜ ๋Œ€์–‘์€ ๋ˆ„๊ฐ€ ์†Œ์œ  ํ•  ๊ฒƒ์ž…๋‹ˆ๊นŒ?

๋˜ํ•œ Open Data7์˜ ๋ชจ๋ฉ˜ํ…€์„ ๊ณ ๋ คํ•  ๋•Œ, ํŠนํžˆ ์ •๋ถ€ ๊ธฐ๋ฐ˜์˜ IoT ์‹œ๋‚˜๋ฆฌ์˜ค (์˜ˆ : ์Šค๋งˆํŠธ ์‹œํ‹ฐ)์˜ ๊ฒฝ์šฐ ๋ˆ„๊ตฌ๋‚˜ ์ƒ์„ฑ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ์œ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด. IoT ์‚ฌ์šฉ์ด ํ™•์‚ฐ๋จ์— ๋”ฐ๋ผ ์ œ์กฐ์—…์ฒด, ๊ฐœ๋ฐœ์ž, ๋ณด์•ˆ ์—ฐ๊ตฌ์ž ๋ฐ ์ƒˆ๋กœ์šด IoT ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ ๊ตฌํ˜„ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๊ณต๊ฒฉ ํ‘œ๋ฉด์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Sicari et al. ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์ธ์ฆ, ์•ก์„ธ์Šค ์ œ์–ด, ๊ธฐ๋ฐ€์„ฑ, ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ, ์‹ ๋ขฐ, ๋ณด์•ˆ ๋ฏธ๋“ค์›จ์–ด, ๋ชจ๋ฐ”์ผ ๋ณด์•ˆ ๋ฐ ์ •์ฑ… ์ง‘ํ–‰๊ณผ ๊ฐ™์ด IoT ํ™˜๊ฒฝ์—์„œ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ์˜ 8 ๊ฐ€์ง€ ์ฃผ์š” ๋ฒ”์ฃผ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ง€์ ํ•ฉ๋‹ˆ๋‹ค [Sicari et al. 2015]. IoT ๋””๋ฐ”์ด์Šค๋Š” ํ†ต์ƒ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค ์ œ์•ฝ์„ ๊ฐ€์ง€๋ฉฐ, ๋”ฐ๋ผ์„œ ํ‘œ์ค€ ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ตฌํ˜„์€ ์‹คํ˜„ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š๋‹ค (์˜ˆ๋ฅผ ๋“ค์–ด, ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—”๋“œ - ํˆฌ - ์—”๋“œ ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๋‹นํ•œ ๋Œ€์—ญํญ ๋ฐ ์—๋„ˆ์ง€๋ฅผ ํ•„์š”๋กœํ•œ๋‹ค). ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์žฅ์น˜์˜ ๋Œ€๋‹ค์ˆ˜๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฌด์„  ํ†ต์‹ ์€ ๋„์ฒญ ๋ฐ man-in-the-middle ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ„์— ๋ณด์•ˆ ๊ณ„์ธต์ด ์—†๋‹ค๋Š” ์•…์˜์  ์ธ ๋‹น์‚ฌ์ž์˜ ์˜ํ–ฅ์œผ๋กœ ์•…์˜์  ์ธ ๊ฒฐ๊ณผ๊ฐ€ ์ดˆ๋ž˜๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๋‹น์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IoT์˜ ๋ณด์•ˆ ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์‚ฌ๊ฑด ์ค‘ ํ•˜๋‚˜๋Š” Mirai ๋ด‡๋„ท์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค (Sicari et al. 2015]. Mirai ๋งฌ์›จ์–ด๋Š” ์‰˜ ์•ก์„ธ์Šค๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด IoT ์žฅ์น˜์˜ ์ž˜๋ชป๋œ ๊ตฌ์„ฑ (ํ…”๋„ท ๋˜๋Š” SSH ๊ณ„์ •์˜ ๊ธฐ๋ณธ ์•”ํ˜ธ)์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ผ์ด๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 49,000 ๊ฐœ ์ด์ƒ์˜ ๊ฐ์—ผ๋œ IoT ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ DDoS ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•œ 2016 ๋…„ 10 ์›”์˜ ๋ง‰๋Œ€ํ•œ ์ธํ„ฐ๋„ท ์ •์ „์— ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆผ 4) [Dias et al. 2017]. OWASP (Open Web Application Security Project)๋Š” IoT ๋ณด์•ˆ ๊ด€์ ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์„ค๋ช…ํ•œ ๋ฐ”์™€ ๊ฐ™์ด์ด ํ”„๋กœ์ ํŠธ๋Š” โ€œThings of Internet๊ณผ ๊ด€๋ จ๋œ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ œ์กฐ์—…์ฒด, ๊ฐœ๋ฐœ์ž ๋ฐ ์†Œ๋น„์ž๊ฐ€ ๋” ์ž˜ ์ดํ•ดํ•˜๊ณ  IoT ๊ธฐ์ˆ ์„ ๊ตฌ์ถ•, ๋ฐฐํฌ ๋˜๋Š” ํ‰๊ฐ€ํ•  ๋•Œ ๋” ๋‚˜์€ ๋ณด์•ˆ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹คโ€ [OWA 2018].

ํ”„๋ผ์ด๋ฒ„์‹œ์˜ ๊ด€์ ์—์„œ, IoT๋Š” ์†Œ๋น„์ž๋“ค์—๊ฒŒ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ฐจ์›์˜ ์šฐ๋ ค๋ฅผ ์ œ๊ธฐํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์šฐ๋ ค๋Š” ์ด๋Ÿฌํ•œ ์žฅ์น˜๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ์ „ํ™” ๋ฒˆํ˜ธ ๊ฐ™์€ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ ํ•  ์ˆ˜์žˆ์„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž ํ™œ๋™ (์˜ˆ : ์‚ฌ์šฉ์ž๊ฐ€ ์ง‘์—์žˆ์„ ๋•Œ์™€ ์ ์‹ฌ์„ ๋จน์„ ๋•Œ)์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [Sicari et al. 2015]. ํ‘œ์ค€ํ™” ๋ฐ ๊ทœ์ œ (๋ฒ•์ ) ํ•œ๊ณ„์™€ ๊ฒฉ์ฐจ๋Š”์ด ๋ถ„์•ผ์—์„œ ํ•ต์‹ฌ์ ์ธ ๋ฌธ์ œ์ด๋‹ค [Buyya and Dastjerdi 2016].

๊ทธ๋ฆผ 4. ์„ธ๊ณ„์˜ ๋ฏธ๋ผ์ด (Mirai) ๊ฐ์—ผ ๊ธฐ๊ธฐ์˜ ์ง€๋ฆฌ์  ์œ„์น˜. ์ž„ํŽ˜๋ผ (Imperva)๊ฐ€ ์ˆ˜ํ–‰ ํ•œ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด, 4900 ๊ฐœ ์ด์ƒ์˜ IoT ๋””๋ฐ”์ด์Šค๊ฐ€ Mirai ๋ฉ€์›จ์–ด์— ๊ฐ์—ผ๋˜์—ˆ๋‹ค๊ณ  ์ง€์ ํ–ˆ๋‹ค [Herzberg et al. 2016].

3.5 ๊ตฌ๋ฆ„, ์•ˆ๊ฐœ ๋ฐ ์•ˆ๊ฐœ/ ๊ฐ€์žฅ์ž๋ฆฌ ๊ณ„์‚ฐ(Cloud, Fog and Mist/Edge Computing)

IoT์— ์˜ํ•ด ์ƒ์„ฑ๋˜๋Š” ๋†’์€ ๋ฐ์ดํ„ฐ ์–‘๊ณผ ์ด์— ํฌํ•จ ๋œ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ข‹์€ QoS๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ / ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค (๋ฐ€๋ฆฌ ์ดˆ ๋ฌธ์ œ ์ˆ˜์ฒœ ๊ฐœ์˜ ์—์ง€ ์žฅ์น˜์—์„œ ํด๋ผ์šฐ๋“œ๋กœ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ์€ ์‹ค์šฉ์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—) ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์„ ์ ˆ์•ฝํ•˜๊ณ  (์˜ˆ : ์ƒ์‚ฐ ๋ผ์ธ ์ข…๋ฃŒ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ฑฐ๋‚˜ ์ „๊ธฐ ์„œ๋น„์Šค๋ฅผ ๋ณต์›ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์‚ฐ์—… ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ) ์ง€์—ญ ํšจ์œจ (์˜ˆ : ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ์กฐ๊ฑด์„ ๊ฐ€์ง„ ๋„“์€ ์ง€๋ฆฌ์  ์˜์—ญ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ) [Hanes et al. [์—”. ๋””.]]. ์ด์™€ ๊ฐ™์ด, ์ตœ์ข… IT ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๋ชจ๋ธ (์ตœ์ข… ์žฅ์น˜์™€ ํด๋ผ์šฐ๋“œ ๊ฐ„์˜ ์ง์ ‘ ์—ฐ๊ฒฐ)์€ ์ตœ์ข… ๋งˆ์ผ IoT ๋„คํŠธ์›Œํฌ์˜ ๋Œ€์—ญํญ ์ œํ•œ, ๋งค์šฐ ๋†’์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„, ๋„คํŠธ์›Œํฌ ๋ถˆ์•ˆ์ •์„ฑ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋กœ ์ธํ•ด IoT ์‹œ์Šคํ…œ์˜ ํ•„์š”์„ฑ์„ ์ถฉ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์˜ ์ฆ๊ฐ€, ์ „์†ก ๋ฐ ์‚ฌํ›„ ๋ถ„์„ [Hanes et al. [์—”. ๋””.]].

ํฌ๊ทธ ์ปดํ“จํŒ… (Fog Computing)์€ ์œ„์—์„œ ์–ธ๊ธ‰ ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ์†”๋ฃจ์…˜์œผ๋กœ ์™”์Šต๋‹ˆ๋‹ค. 2015 ๋…„๊ฒฝ Cisco Systems์˜ Flavio Bonomi์™€ Rodolfo Milito๊ฐ€ ๋งŒ๋“  ๊ฐœ๋…์€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋„คํŠธ์›Œํฌ์˜ ๊ฐ€์žฅ์ž๋ฆฌ์— ๊ฐ€๊นŒ์šด IoT ์‹œ์Šคํ…œ ์ „์ฒด์— ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [Hanes et al. [์—”. ๋””.]]. ๊ตญ๋ฆฝ ํ‘œ์ค€ ๊ธฐ์ˆ  ์—ฐ๊ตฌ์†Œ (NIST) [Iorga et al. 2018]์€ ์•ˆ๊ฐœ ๊ณ„์‚ฐ ๋ชจ๋ธ์ด โ€œ๋ถ„์‚ฐ ๋œ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์ธ์‹ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์„œ๋น„์Šค์˜ ๋ฐฐํฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒํ•˜๋ฉฐ ์Šค๋งˆํŠธ ์ตœ์ข… ์žฅ์น˜์™€ ์ค‘์•™ ์ง‘์ค‘์‹ (ํด๋ผ์šฐ๋“œ) ์„œ๋น„์Šค๊ฐ„์— ์กด์žฌํ•˜๋Š” ์•ˆ๊ฐœ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์•ˆ๊ฐœ ์ปดํ“จํŒ…์€ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์œ„์น˜ ์ธ์‹, ๋‚ฎ์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„, ์ง€๋ฆฌ์  ๋ถ„ํฌ, ์ด์งˆ ์ง€์›, ์ƒํ˜ธ ์šด์šฉ์„ฑ, ์‹ค์‹œ๊ฐ„ ์ƒํ˜ธ ์ž‘์šฉ ์ง€์›, ํŽ˜๋”๋ ˆ์ด์…˜ ๋œ ์•ˆ๊ฐœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ํ™•์žฅ ์„ฑ๊ณผ ๋ฏผ์ฒฉ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [Hanes et al. [์—”. ๋””.]; Iorga et al. 2018].

๊ทธ๋ฆผ 5. Internet-of-Things ์‹œ์Šคํ…œ์˜ ์ผ๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜ ๋ ˆ์ด์–ด ๊ตฌ์„ฑ. ์ƒ์œ„ ๋ ˆ์ด์–ด๋Š” ์Šคํƒ์˜ ํ•˜์œ„ ๋ ˆ์ด์–ด๋ณด๋‹ค ๋” ๋งŽ์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„๊ณผ ๋” ๋งŽ์€ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์„๊ฐ€์ง‘๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 6. IoT ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์•„ํ‚คํ…์ฒ˜์˜ RedHat ๋น„์ „ [Bericat 2018] ์ผ๋ฐ˜ํ™” ๋œ ์•„ํ‚คํ…์ฒ˜๋Š” ๊ทธ๋ฆผ 5์˜ ๋ฌ˜์‚ฌ์— ์™„๋ฒฝํ•˜๊ฒŒ ์–ด์šธ๋ฆฌ ๋ฉฐ ์—์ง€ ๋ ˆ์ด์–ด๋Š” ๋””๋ฐ”์ด์Šค, ์•ˆ๊ฐœ ๋ ˆ์ด์–ด๋Š” ๊ฒŒ์ดํŠธ์›จ์ด, ํด๋ผ์šฐ๋“œ๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์ž…๋‹ˆ๋‹ค.

Edge Computing์€ ์ข…์ข… ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ IoT ์žฅ์น˜์™€ ์„ผ์„œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปดํ“จํŒ… ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋จ์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ์žฅ์น˜์—๋Š” ์ตœ์†Œํ•œ์˜ ์ˆ˜์ค€์˜ ๋ถ„์„ ๋ฐ ํ•„ํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ธฐ๋ณธ์ ์ธ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ์ปดํ“จํŒ… ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค [Hanes et al. [์—”. ๋””.]]. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” Edge Computing์„ Mist Computing์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ทธ ์ปดํ“จํŒ… (Fog Computing)๊ณผ ์—์ง€ ์ปดํ“จํŒ… (Edge Computing)์ด ํƒ„์ƒํ•˜๋ฉด์„œ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… (Cloud Computing)๊ณผ ํ•จ๊ป˜ IoT ์‹œ์Šคํ…œ์˜ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜ ๊ณ„์ธต์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆผ 5 ์ฐธ์กฐ). IoT ์žฅ์น˜ (์˜ˆ : ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋ฐ ์„ผ์„œ / ์•ก์ถ”์—์ดํ„ฐ) ๊ฐ€์žฅ์ž๋ฆฌ ๋ ˆ์ด์–ด. ์•ˆ๊ฐœ๊ฐ€ ๋‚€ ์•ˆ๊ฐœ ๋‚€ ๋…ธ๋“œ๊ฐ€ ๋๋‚˜๊ณ  ๊ฐ€์žฅ์ž๋ฆฌ์— ๊ฐ€๊น๊ฒŒ๋˜๋ฉด ์•ˆ๊ฐœ ์ธต์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ๋ ˆ์ด์–ด์—๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ, ํด๋ผ์šฐ๋“œ ๋ ˆ์ด์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜ ๊ณ„์ธต์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์€ ๊ทธ๋ฆผ 6์— ๋ฌ˜์‚ฌ ๋œ RedHat IoT ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์•„ํ‚คํ…์ฒ˜์™€ ๊ฐ™์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†”๋ฃจ์…˜์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๊ฒฐ๋ก 

IoT ๋„๋ฉ”์ธ์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž˜ ์„ค๋ช… ๋œ ์†”๋ฃจ์…˜์„ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•ด์•ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ค„์ด๋Š” ๋ฐ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. Reinfurt ๋“ฑ์ด ์ˆ˜ํ–‰ ํ•œ ๋†€๋ž„๋งŒ ํ•œ ์—ฐ๊ตฌ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ทœ๋ช… ๋œ ํŒจํ„ด์˜ ์ˆ˜๋Š” ๊ณต๊ฐœ ๋œ ๊ธฐ์ˆ ์  ๋‚œ์ œ์˜ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ์—ฌ์ „ํžˆ ์ž”์—ฌ์ด๋‹ค. ํŒจํ„ด์€ ์•„ํ‚คํ…์ฒ˜ ๊ณ„์ธต๊ณผ ํ•˜๋“œ์›จ์–ด ๊ด€์ ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์ธก๋ฉด์œผ๋กœ ํ™•์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์†”๋ฃจ์…˜์˜ ์ฒด๊ณ„ํ™” (ํ•™๊ณ„ ๋ฐ ๊ธฐ์—… ๊ธ‰ ์†”๋ฃจ์…˜ ๋ชจ๋‘)์—์„œ๋ณด๋‹ค ๊ด‘๋ฒ”์œ„ํ•œ ์—ฐ๊ตฌ๊ฐ€ ์ด๋ฃจ์–ด์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค. Chris Richardson [MICROSERVICES PATTERNS] [Richardson 2018], Robert Hanmer [Hanmer 2013]์˜ ์˜ค๋ฅ˜ ํ†จ๋Ÿฌ ๋ŸฐํŠธ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ„ด, Boltd et al.์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐํŒ ํŒจํ„ด๊ณผ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. [Sousa et al. 2015]๋Š” ๊ด€๋ จ์„ฑ์ด ์žˆ์œผ๋ฉฐ IoT ์‹œ์Šคํ…œ์˜ ํŒจํ„ด์„ ํƒ๊ตฌ ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค. ๋”์šฑ์ด, IoT๋ฅผ์œ„ํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ (๋˜๋Š” ๊ทธ ์ด์ƒ์˜) ํŒจํ„ด ์–ธ์–ด๋ฅผ ํ–ฅํ•œ ๋…ธ๋ ฅ์€ ๋ฐœ๊ฒฌ ๋œ ํŒจํ„ด๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ˆ˜๋ฆฝํ•˜์—ฌ ์ถ”๊ตฌ๋˜์–ด์•ผํ•œ๋‹ค.

5 IoT์˜ ์ง„ํ™”

5.1 ๋งค์‰ฌ์—… ๊ธฐ๋ฐ˜ & ๋ชจ๋ธ ๊ธฐ๋ฐ˜ IoT ๊ฐœ๋ฐœ

5.1.1 ThingML.

ThingML (์‚ฌ๋ฌผ์„ ๋ชจ๋ธ๋งํ•˜๋Š” ์ธํ„ฐ๋„ท)์€ Fleurey et al. HEADS EU FP7 ์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ์˜ ๋ฒ”์œ„์—์„œ ํ•™์ˆ  ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์•ฝ์†์„ ์—…๊ณ„์— ์ „๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•œ๋‹ค [Fleurey and Morin 2017; Harrand et al. 2016]. ์ด ์†”๋ฃจ์…˜์€ ์ €์ „๋ ฅ ์„ผ์„œ ๋ฐ ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ๊ธฐ๋ฐ˜ ์žฅ์น˜์™€ ๊ฐ™์ด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์„ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ํˆด ์ฒด์ธ์„ ์ œ๊ณตํ•˜์—ฌ ์ธํ„ฐ๋„ท ์˜ค๋ธŒ ํ”ผํ”Œ (Internet-of-Things) ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์˜ ๋ณต์žก์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ MDSE ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 7. ThingML ์ฝ”๋“œ ์ƒ์„ฑ ํ”„๋ ˆ์ž„ ์›Œํฌ. ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ 10 ๊ฐ€์ง€ ๋ณ€๊ฒฝ์ ์€ ๋‘ ๊ฐ€์ง€ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ๋ถ„๋˜๊ณ  ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ๋ฌผ์— ๋Œ€ํ•œ ์ฝ”๋“œ ์ƒ์„ฑ ์ฑ…์ž„์ž์™€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ์ƒ์„ฑ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ (๊ตฌ์„ฑ)์ž…๋‹ˆ๋‹ค [Harrand et al. 2016].

์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ธ, ์ƒํƒœ ๋จธ์‹  ๋ฐ ๋ช…๋ นํ˜• ์•ก์…˜ ์–ธ์–ด (ํ”Œ๋žซํผ ํŠน์ • ์ฝ”๋“œ ๋ฐ ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์ธํ„ฐ๋ฆฌ๋น™ ํ•  ์ˆ˜์žˆ๊ฒŒ ํ•จ)์˜ ๊ฒฐ๊ณผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ—ˆ์šฉํ•˜๋Š” ๋„๋ฉ”์ธ ๋ณ„ ๋ชจ๋ธ๋ง ์–ธ์–ด (DSML)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•”ํ˜ธ). ๋˜ํ•œ ThingML์€ ๊ทธ๋ฆผ 7๊ณผ ๊ฐ™์ด ํŠน์ • ๋Œ€์ƒ ์–ธ์–ด, ๋ฏธ๋“ค์›จ์–ด, ์šด์˜ ์ฒด์ œ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์‹ฌ์ง€์–ด ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ๋งž๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜์žˆ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ƒ์„ฑ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ThingML ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ๋ง ์–ธ์–ด์ด ์–ธ์–ด๋Š” ์ƒํƒœ ์ฐจํŠธ, ๋ช…๋ น ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ ๋…๋ฆฝ์  ๋™์ž‘ ์–ธ์–ด ๋ฐ IoT ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ํŠน์ • ๊ตฌ์„ฑ์„ ํฌํ•จํ•˜๋Š” ๋ถ„์‚ฐ ๋œ ๋ฐ˜์‘ ์‹œ์Šคํ…œ์˜ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์„ ์œ„ํ•ด ์ž˜ ์ž…์ฆ ๋œ ์ผ๋ จ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋ธ๋ง ๊ตฌ์„ฑ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Toolset ThingML ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„๊ตฌ ์ง‘ํ•ฉ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์–ธ์–ด ํŽธ์ง‘๊ธฐ (ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ); ThingML ๋ชจ๋ธ (์˜ˆ : UML๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ)์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ณ€ํ™˜ ์„ธํŠธ. ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (C, Java, Javascript)๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค์ค‘ ํ”Œ๋žซํผ ์ฝ”๋“œ ์ƒ์„ฑ ํ”„๋ ˆ์ž„ ์›Œํฌ (๊ทธ๋ฆผ 7).

๋ฐฉ๋ฒ•๋ก  ๊ธฐ๋ณธ ThingML ์†”๋ฃจ์…˜์„ ํ™•์žฅํ•˜๊ณ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ๋ฌธ์„œํ™”๋˜๊ณ  ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ThingML์˜ ์ฒซ ๋ฒˆ์งธ ๋ชฉํ‘œ๋Š” ์ด๊ธฐ์ข… ํ”Œ๋žซํผ๊ณผ ์žฅ์น˜๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ์›ํ•˜๋Š” IoT ์‹œ์Šคํ…œ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ชจ๋ธ๋งํ•˜์—ฌ ๊ณ ๋„๋กœ ๋ถ„์‚ฐ ๋œ ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DSML์„ ์ค‘์ ์ ์œผ๋กœ ์‚ดํŽด๋ณด๋ฉด, ๊ธฐ์„ฑํ’ˆ ๋˜๋Š” ๋ ˆ๊ฑฐ์‹œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ธ”๋ž™ ๋ฐ•์Šค๋กœ ํ†ตํ•ฉํ•˜๊ณ  ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ „์ฒด ๋™์ž‘์„ ๋ชจ๋ธ๋ง ํ•  ์ˆ˜์žˆ๋Š” ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Fleurey ๋“ฑ์˜ ์›๋ž˜ ๋™๊ธฐ ๋ถ€์—ฌ. ์ด ์ƒˆ๋กœ์šด DSML์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์กด์˜ ๋ชจ๋ธ๋ง ์–ธ์–ด๊ฐ€ ํ•„์š”ํ•œ ๊ฐœ๋…์„ ์ •ํ™•ํžˆ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋™์ผํ•œ ๊ฐœ๋…๊ณผ ์ž˜ ์ •์˜ ๋œ ๋™์ผํ•œ ๋„๊ตฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” ์‹ค์ œ ๋ผ์ดํ”„ ์‚ฌ์ดํด์˜ ๋ชจ๋“  ํ›„์† ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์  ์˜๋ฏธ๋ก  [Fleurey and Morin 2017]. ๋ณด๋‹ค ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ, ThingML ์–ธ์–ด ๊ธฐ๋Šฅ์€ [Harrand et al. 2016] :

โ€ข ํฌํŠธ ๋ฐ ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง•์ด์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์œ ํ˜• : ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง• ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์„ค๋ช…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. โ€ข ๋ณตํ•ฉ ์ƒํƒœ ์‹œ์Šคํ…œ : ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋™์ž‘์„ ์ƒํƒœ ์‹œ์Šคํ…œ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ThingML ์ƒํƒœ ๋จธ์‹ ์€ UML2 ์ƒํƒœ ์ฐจํŠธ์™€ ์ •๋ ฌ๋˜๋ฉฐ ๋ณตํ•ฉ ์ƒํƒœ, ์˜์—ญ ๋ฐ ํžˆ์Šคํ† ๋ฆฌ ์ƒํƒœ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

  • IoT ์‹œ์Šคํ…œ์˜ ๊ณ ๋„๋กœ ์—ญ๋™์  ์ธ ํ† ํด๋กœ์ง€ (์žฅ์น˜๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ๋Š์ž„์—†์ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ)๋กœ ์ธํ•ด ThingML ์ƒํƒœ ์‹œ์Šคํ…œ์€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ์ž ์„ธ์…˜๊ณผ ๋น„์Šทํ•œ ์„ธ์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ThingML์—์„œ ์„ธ์…˜์€ ๋™์ ์œผ๋กœ ์ธ์Šคํ„ด์Šคํ™” ๋œ ๋ณ‘๋ ฌ ์˜์—ญ์œผ๋กœ ๋ถ€๋ชจ์˜ ์ปจํ…์ŠคํŠธ (์†์„ฑ ์ง‘ํ•ฉ)๋ฅผ fork ์‹œ๊ฐ„์— ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ž์ฒด ๋™์ž‘์„ ์‹คํ–‰ํ•˜๋ฉฐ ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด์„œ๋งŒ ํ†ต์‹ ํ•˜๊ณ  ์ตœ์ข… ์ƒํƒœ์— ๋„๋‹ฌํ•˜๋ฉด ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. โ€ข ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ฐ˜์‘ ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ECA (Event-Condition-Action) ๊ทœ์น™์—์„œ CEP (Complex Event Processing)์— ์ด๋ฅด๋Š” ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋™์ž‘์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ThingML CEP๋Š” ์ƒํƒœ ์‹œ์Šคํ…œ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค (์ž…๋ ฅ ๋ฉ”์‹œ์ง€ ์ง‘ํ•ฉ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑ ํ•จ). ๊ทธ๋Ÿฌ๋‚˜ ์™„์ „ํžˆ ์„ ์–ธ์ ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ฉ”์‹œ์ง€ ์ŠคํŠธ๋ฆผ์„ ์กฐ์ธํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๊ณ  ์‹œ๊ฐ„์ด๋‚˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์— ๋”ฐ๋ผ ์ •์˜ ๋œ ์ฐฝ์„ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ฐ์‚ฐ์ž๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค [Morin et al. 2017]. โ€ข ๋ช…๋ นํ˜• ์•ก์…˜ ์–ธ์–ด : ํ”Œ๋žซํผ ๋…๋ฆฝ์  ์ธ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฃฐ๊ณผ ์ƒํƒœ ๋จธ์‹  ๋‚ด์˜ ๋ชจ๋“  ์กฐ๊ฑด ๋ฐ ๋™์ž‘์„ ์™„์ „ํžˆ ๋ชจ๋ธ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”Œ๋žซํผ ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ๋งํฌ ํ•  ์ˆ˜์žˆ๋Š” ํ…œํ”Œ๋ฆฟ ์–ธ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ์–ด ๋ชจ๋ธ ์ž‘์—…์„ ๋Œ€์ƒ ์–ธ์–ด ์ž‘์—…๊ณผ ์ž„์˜๋กœ ํ˜ผํ•ฉํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ํ˜ธ์ถœ ๋ฐ ์ฝœ๋ฐฑ์„ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

UML๊ณผ ThingML์˜ ์ฃผ์š” ์ฐจ์ด์  ์ค‘ ํ•˜๋‚˜๋Š” ThingML ์–ธ์–ด์˜ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ์ด ์–ดํœ˜์ ์ด๊ณ  ๊ทธ๋ž˜ํ”ฝ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹œ๊ฐ ํ‘œ๊ธฐ๋ฒ•์€ MDE [Ferreira 2011]์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ๋ฒ•์ž…๋‹ˆ๋‹ค.

ThingML์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ๋ฐ ์—…๋ฐ์ดํŠธ์˜ ์ œํ•œ์œผ๋กœ ์ธํ•ด ์ „์ฒด ๊ฐœ๋ฐœ ์ˆ˜๋ช…์ฃผ๊ธฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„์— ์—ฐ์‚ฐ ๋ฆฌ์†Œ์Šค ๋ฐ ๋””๋ฐ”์ด์Šค๋ฅผ ์•ˆ์ •์ ์ด๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ณต์œ ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ชจ๋ธ @ runtime์˜ ๊ฐœ๋…์€ ThingML ๋ชจ๋ธ๊ณผ ์ค‘์žฌ์ž๋ฅผ ๋ฐ˜์˜์„์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ํ†ตํ•ฉํ•˜๊ธฐ์œ„ํ•œ Kevoree ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ „์— ํƒ๊ตฌ๋œ๋‹ค. [Hao et al. 2012], ๋ผ์ด๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ž ์žฌ๋ ฅ์„ ์ด์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

5.1.2 ๋…ธ๋“œ -RED.

Node-RED 10์€ ์›๋ž˜ IBM Emerging Technologies์—์„œ ๊ฐœ๋ฐœ ํ•œ ์ธํ„ฐ๋„ท ๊ธฐ๋ฐ˜์˜ ์‹œ์Šคํ…œ (Blackstock and Lea 2012a)๊ณผ ํ˜„์žฌ JS Foundation Project [Lewis 2016]๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋งค์‰ฌ์—… ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํˆด์€ ์›น ๊ธฐ๋ฐ˜, ํ”Œ๋žซํผ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ๋ฆผ 8๊ณผ ๊ฐ™์ด ์‹œ๊ฐ์  ํ๋ฆ„ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ๊ณผ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด ์žฅ์น˜, API ๋ฐ ์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 8. ๋…ธ๋“œ ํ๋ฆ„๊ณผ ๋…ธ๋“œ๊ฐ€์žˆ๋Š” ๋…ธ๋“œ -RED ๊ฐœ๋ฐœ ํˆด.

Node-RED ๋Ÿฐํƒ€์ž„์€ ๋‚ด์žฅ ๋œ ์ด๋ฒคํŠธ ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ Node.js (JavaScript)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ -RED ๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ”„๋กœ๊ทธ๋žจ์€ ํ๋ฆ„์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฉฐ ์™€์ด์–ด๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋กœ์šฐ ์บ”๋ฒ„์Šค๋กœ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ํ•  ์ˆ˜์žˆ๋Š” ์—ฌ๋Ÿฌ ๋…ธ๋“œ ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ๋ฆ„์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ ํ•œ ํ›„์—๋Š” ํ๋ฆ„์„ ์„œ๋ฒ„์— ์ €์žฅํ•˜๊ณ  (๋‹ค์‹œ) ์‹คํ–‰์„ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค [Blackstock and Lea 2014].

๋…ธ๋“œ ๊ธฐ๋ณธ ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๋Š” JavaScript๋กœ ์ƒˆ ๋…ธ๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ์˜ ๋…ธ๋“œ -RED ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด Node ํด๋ž˜์Šค๋Š” Event Emitter (Node.js ์ด๋ฒคํŠธ API์˜ ์ผ๋ถ€)์˜ ํ•˜์œ„ ํด๋ž˜์Šค๋กœ, ์ด๋ฒคํŠธ๋ฅผ ๋‹ค์šด ์ŠคํŠธ๋ฆผ ๋…ธ๋“œ [Blackstock and Lea 2014]๋กœ ๋ณด๋‚ด๋Š” ์™€์ด์–ด๋กœ ์ •์˜ ๋œ ๊ตฌ๋…์ž ๋ชฉ๋ก์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ด€์ฐฐ์ž ํŒจํ„ด์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šคํ™”์‹œ ์ž…๋ ฅ ๋…ธ๋“œ๋Š” (1) ์™ธ๋ถ€ ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๊ณ , (2) ํŠน์ • ํฌํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๊ฑฐ๋‚˜ (3) HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์™ธ๋ถ€ ์„œ๋น„์Šค ๋‚˜ ์—…์ŠคํŠธ๋ฆผ ๋…ธ๋“œ์—์„œ ์ฃผ์–ด์ง„ ๋…ธ๋“œ์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋ฉด ๊ฒฐ๊ณผ JSON์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ถ”๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€ ์„œ๋น„์Šค๋กœ ํ‘ธ์‹œ ํ•  ์ˆ˜์žˆ๋Š” ๋‹ค์šด ์ŠคํŠธ๋ฆผ ๋…ธ๋“œ๋กœ ๊ฐ์ฒด๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋˜๋Š” ์‹œ์Šคํ…œ [Blackstock and Lea 2014]. Node-RED๋Š” JSON๊ณผ ๋ชจ๋“  ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ Flow๋ฅผ ๋‹ค๋ฅธ Node-RED ๋ฐฐ์น˜์— ๋ฐฐ์น˜ํ•˜๊ธฐ์œ„ํ•œ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜์˜ Node-RED ๋ฒ„์ „์— ๋Œ€ํ•œ ์ˆ˜์ •์€ Blackstock et al. [Blackstock and Lea 2014]๋Š” ๋‹ค์–‘ํ•œ ์„œ๋ฒ„, ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ๋…ธ๋“œ -RED ํ”Œ๋กœ์šฐ๋ฅผ ๋ถ„๋ฐฐ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ์— ์ ํ•ฉํ•˜๋„๋กํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 9. ๋ณต์žกํ•œ ๋…ธ๋“œ -RED ํ”Œ๋กœ์šฐ์˜ ์˜ˆ [Scargill 2015].

๊ทธ๋Ÿฌ๋‚˜ ๋…ธ๋“œ -RED ๊ฐœ๋ฐœ ๋„๊ตฌ๋Š” ๊ฐœ๋ฐœ ๋œ ํ๋ฆ„์„ ๋””๋ฒ„๊ทธ ๋ฐ / ๋˜๋Š” ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ์ ์ ˆํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด์—†๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. IoT ์‹œ์Šคํ…œ์ด ๋ณธ์งˆ์ ์œผ๋กœ ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ  ๋ณต์žกํ•˜๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ๊ทธ๋ฆผ 9์— ํ‘œ์‹œ๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ๋ณต์žกํ•œ ํ๋ฆ„์œผ๋กœ ์‰ฝ๊ฒŒ ๋งˆ๋ฌด๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ์œผ๋ฏ€๋กœ ์ ์–ด๋„ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์—์„œ ํ™•์žฅ๋˜์ง€ ์•Š์•˜ ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์›๊ทผ๋ฒ•. ๋˜ํ•œ ๋…ธ๋“œ์˜ ํ•„์ˆ˜์ ์ธ ๋ณต์žก์„ฑ (์˜ˆ : ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜)์„ ์ฒ˜๋ฆฌ ํ•  ๋•Œ์™€ ๋…ธ๋“œ์˜ ํ•„์ˆ˜์ ์ธ ๋ณต์žก์„ฑ (์˜ˆ : ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜)์„ ์ฒ˜๋ฆฌ ํ•  ๋•Œ ์ƒˆ ๋…ธ๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ ๊ตฌ์„ฑ ์š”์†Œ (์˜ˆ : ์žฅ์น˜)๋ฅผ ์ถ”์ƒํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ˆˆ์—๋‹ˆ๋‹ค ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋…ธ๋“œ์™€์˜ ์˜์‚ฌ ์†Œํ†ต์˜ ์‹ค์ˆ˜๋กœ ์ธํ•œ ๋ณต์žก์„ฑ. ๋˜ํ•œ ์ฃผ์–ด์ง„ ํ๋ฆ„์—์„œ ์ƒˆ๋กœ์šด ์ˆ˜์ •์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๋ฐฐํฌํ•ด์•ผํ•˜๋ฏ€๋กœ Node-RED๋ฅผ ์‚ฌ์šฉํ•˜๋Š” IoT ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์—๋Š” ํ™œ๋ ฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๊ฐ€ ์ค„์–ด ๋“ญ๋‹ˆ๋‹ค (๋กœ๊น… ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ์˜ฌ๋ฐ”๋ฅธ ์ž‘๋™์„ ๊ด€์ฐฐํ•˜๊ธฐ ์œ„ํ•ด).

5.2 IoT๋ฅผ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋‹ค์ด์–ด๊ทธ๋žจ ๋ฐ ๊ธฐํƒ€ ๊ทธ๋ž˜ํ”ฝ ๋…ผ๋ฆฌ ๋ฐ / ๋˜๋Š” ๋ชจ๋ธ ํ‘œํ˜„์€ 1940 ๋…„๋Œ€ ํ˜„๋Œ€ ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ์˜ ๋“ฑ์žฅ ์ดํ›„ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์ฒ˜์Œ์—๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ๋””์ž์ธํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ข…์ด ๊ธฐ๋ฐ˜ ๋„๊ตฌ ์˜€์ง€๋งŒ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์†”๋ฃจ์…˜์œผ๋กœ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ, ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ์„์œ„ํ•œ ๋น„์ฃผ์–ผ ํŽธ์ง‘๊ธฐ, ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋ธ๋ง ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง์„์œ„ํ•œ ๋น„์ฃผ์–ผ ๋„๊ตฌ, ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค [Cox 2007].

์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง์˜ Wiley ๋ฐฑ๊ณผ ์‚ฌ์ „์— ์„ค๋ช… ๋œ๋Œ€๋กœ Visual Programming Language (VPL)๋ฅผ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ์•„์ด์ฝ˜, ๊ด€๊ณ„, ๋™์ž‘, ์ƒ‰, ์งˆ๊ฐ, ์Œ์˜ ๋˜๋Š” ๊ธฐํƒ€ ๋น„ ํ…์ŠคํŠธ ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฐ๊ฒฐ์„ ์„ ํฌํ•จ ํ•  ์ˆ˜์žˆ๋Š” ๊ทธ๋ฆผ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ์–ธ์–ด.

์ด์™€ ๊ฐ™์ด, ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ธ๊ฐ„๊ณผ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๋‹ค์ค‘ ๋ชจ๋“œ ํ†ต์‹  ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ์•„์ด์ฝ˜ ๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [S. K. Chang 2002]. VPL์€ ๊ต์œก ํ™œ๋™ (์˜ˆ : ํ”„๋กœ๊ทธ๋žจ ํ•™์Šต), ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด, ๋น„๋””์˜ค ๊ฒŒ์ž„ ๊ฐœ๋ฐœ, ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ์ž๋™ํ™”, ๋ฐ์ดํ„ฐ์›จ์–ด ํ•˜์šฐ์ง• ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋ถ„์„์„ ํฌํ•จํ•˜๋˜ ์ด์— ๊ตญํ•œ๋˜์ง€ ์•Š๋Š” ์—ฌ๋Ÿฌ ์˜์—ญ์—์„œ ํƒ๊ตฌ๋˜๊ณ  ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [Ray 2017] . ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์—์„œ ์ด๋ฏธ VPL ์‚ฌ์šฉ์„ ํ™œ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, IoT (Internet-of-Things) ๋ถ„์•ผ๋Š” ๋‹ค๋ฅธ ๋ถ„์•ผ์— ๋น„ํ•ด ์—ฌ์ „ํžˆ ๋’ค์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ๊ฐ์  ์€์œ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์ˆ˜์ค€ ๊ฐœ๋…๊ณผ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ๋…ผ๋ฆฌ๋กœ ์ถ”์ƒํ™”ํ•˜๋ ค๋Š” ์˜๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [Barricelli and Valtolina 2015; ํ† ๋งˆ์Šค์™€ ๋ฐฐ๋ฆฌ 2003]. ์ผ๋ฐ˜์ ์œผ๋กœ IoT ์—ฐ๊ฒฐ๋œ ์„ธ๊ณ„์— ์ฐธ์—ฌํ•˜๋Š” ์ €์ˆ˜์ค€ ๋ฐ ์ด๊ธฐ์ข… ์žฅ์น˜์˜ ์ถ”์ƒํ™”์˜ ํ•„์š”์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฉ”์ธ ๋ณ„ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ด๋ฏธ ๊ด€์ฐฐ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒ์‚ฐ ๊ธฐ๋ฐ˜์ด ํฐ ์ œ์กฐ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋œ ๋กœ์ง ์ปจํŠธ๋กค๋Ÿฌ (Programmed Logic Controller, PLC)์™€ ๊ฐ™์€ ์ €์ˆ˜์ค€ ๋””๋ฐ”์ด์Šค๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ๋•Œ ๊ทธ๋ž˜ํ”ฝ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ด๋ฏธ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Younis and Frey 2003].

์ด ์„น์…˜์˜ ๋ชฉํ‘œ๋Š” ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ (ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋˜๋Š” ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๊ฐœ๋ฐœ ํˆดํ‚ท)๊ณผ ์ธํ„ฐ ๋กค๋ง ๋œ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (์†Œ์„ค์ด๊ฑฐ๋‚˜ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋น„์ฃผ์–ผ ์–ธ์–ด์˜ ์ ์‘ ์ผ ์ˆ˜ ์žˆ์Œ)๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค )์„ IoT์˜ ๋งฅ๋ฝ์—์„œ ๋‹ค๋ฃจ๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ํŠน์„ฑํ™”ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒํ•˜๊ธฐ ์œ„ํ•ด VPL๊ณผ ๊ด€๋ จ๋œ IoT ๋„๋ฉ”์ธ ๋ฐ ๊ฐœ๋ฐœ ํˆดํ‚ท์— ๋Œ€ํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ VPL์„ ํŠน์„ฑํ™”ํ•˜๊ธฐ์œ„ํ•œ ์ด์ „ ์ž‘์—…์„ ํ† ๋Œ€๋กœ ์ƒˆ๋กœ์šด ํŠน์„ฑํ™” ๋ฐฉ๋ฒ•๋ก ์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค : 5.2.1 ์ ˆ์—์„œ VPL์˜ ํŠน์„ฑํ™”์— ๊ด€ํ•œ ๋ฌธํ—Œ์„ ๊ฐœ๊ด„์ ์œผ๋กœ ์‚ดํŽด ๋ณธ๋‹ค. 5.2.5 ์ ˆ์€ IoT๋ฅผ์œ„ํ•œ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์–ธ์–ด ๋ฐ ์ง€์› ๊ฐœ๋ฐœ ํˆดํ‚ท)์„ ํŠน์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ˆ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. IoT์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์–ธ์–ด์— ๋Œ€ํ•œ ๊ฐœ์š”๋Š” 5.2.6 ์ ˆ์— ๋‚˜์™€ ์žˆ์œผ๋ฉฐ ๊ทธ ๋น„๊ต๋Š” 5.2.7 ์ ˆ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ๊ฒฌํ•ด๋Š” Section ??.

5.2.1 VPL ํŠน์„ฑํ™”.

VPL์€ ํŠน์„ฑํ™” ๋ฐ ๋ถ„๋ฅ˜์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ,์ด๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ˜•์‹์ฃผ์˜๋กœ ์ธํ•ด ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธํ—Œ์—์„œ ๊ณต์œ ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋…์ด์žˆ๋‹ค. ์ „ํ†ต์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋Œ€์•ˆ์œผ๋กœ, VPL์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ 4 ๊ฐ€์ง€ ์ธก๋ฉด์„ ์šฐ์„ ์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค [Burnett and Baker 1994; Johnston et al. 2004] : โ€ข ๋‹จ์ˆœ์„ฑ : ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ•ต์‹ฌ ๊ฐœ๋…์„ ์ค„์ž„์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์˜ ๋‹จ์ˆœ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. โ€ข ๊ตฌ์ฒด์„ฑ : ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ ์ด๊ณ  ์‹œ๊ฐ์ ์œผ๋กœ ํƒ์ƒ‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€ข Explicitness : ํ”„๋กœ๊ทธ๋žจ ์š”์†Œ ๊ฐ„์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ๋ช…์‹œ ์  ์ •์˜. โ€ข ๋ฐ˜์‘์„ฑ : ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์ด ์ฆ‰๊ฐ์ ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์šฉ๋„์™€ ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋‹ค์–‘ํ•œ VPL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์–ธ์–ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํŠน์„ฑ, ํŒจ๋Ÿฌ๋‹ค์ž„ ๋ฐ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ž˜์Šค๋กœ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค [Burnett and Baker 1994]. VPL์€ ๋ช…๋ นํ˜•, ์„ ์–ธ ํ˜•, ๊ธฐ๋Šฅ์ , ๋กœ์ง ๋˜๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ๊ณผ ๊ฐ™์€ ์ „ํ†ต์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๋™์ผํ•œ ์šฉ์–ด๋กœ ๋ถ„๋ฅ˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5.2.2 ์‹œ๊ฐ์  ์€์œ .

Brunett et al. [Burnett and Baker 1994]๋Š” VPL์— ์กด์žฌํ•˜๋Š” 11 ๊ฐ€์ง€ ์ฃผ์š” ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋ชฉ๋ก์„ ์ •์˜ํ•œ ์ตœ์ดˆ์˜ ์‚ฌ๋žŒ ์ค‘ ํ•˜๋‚˜๋กœ์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ „ํ†ต์ ์ธ ํŒจ๋Ÿฌ๋‹ค์ž„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํŒจ๋Ÿฌ๋‹ค์ž„๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ๋ถ„๋ฅ˜์— ๊ธฐ์ดˆํ•˜์—ฌ, ์šฐ๋ฆฌ๋Š” VPL์„ ๊ฐœ๋ฐœํ•˜๊ธฐ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ ‘๊ทผ๋ฒ•์„ ๊ณ ๋ คํ•  ์ˆ˜์žˆ๋‹ค. ์ฆ‰, (1) ๊ฐ€์žฅ ๋„๋ฆฌ ๋ณด๊ธ‰๋˜์–ด ์žˆ๊ณ  ์‹œ๊ฐ์  ๊ทธ๋ž˜ํ”„ (๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ)์˜ ์€์œ ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜, (2) ์ƒ์ž์™€ ์„œ๋ธŒ ์ƒ์ž (์˜ˆ : ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋”์™€ ์–‘์‹)์˜ ์€์œ  ์‚ฌ์šฉ์„ ํ™œ์šฉํ•˜๋Š” ์ƒ์ž ๊ธฐ๋ฐ˜.

5.2.3 ํŒจ๋Ÿฌ๋‹ค์ž„.

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋ฌธํ•™์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ํผ์ ธ์žˆ๋Š” ์ฃผ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜์žˆ๋‹ค [Burnett and Baker 1994; Diehl 2007; S. K. Chang 2002] :

  • ๋ฐ์ดํ„ฐ ํ๋ฆ„ ์–ธ์–ด : ๊ณ„์‚ฐ์€ ๊ทธ๋ž˜ํ”„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ด ๊ทธ๋ž˜ํ”„๋Š” ์šด์˜ ๋…ธ๋“œ์— ํ•ด๋‹นํ•˜๋Š” ์•„์ด์ฝ˜ (๋˜๋Š” ์œ ์‚ฌํ•œ ์‹œ๊ฐ์  ํ‘œํ˜„)์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๋…ธ๋“œ๋Š” ๋…ธ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ์š”์†Œ ๊ธฐ๋ฐ˜ ์–ธ์–ด (๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜) :์ด ์–ธ์–ด๋Š” ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ com- ์žฅ์น˜ ๋˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋„ฃ๋Š” ๊ฒƒ. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ๊ฐ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋กœ๋ถ€ํ„ฐ๋ฐ›์€ ๋ฉ”์‹œ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์–ธ์–ด : ๋ณ€๊ฒฝ ์‚ฌํ•ญ (์˜ˆ : ๋ณ€์ˆ˜ ๊ฐ’์˜ ์ˆ˜์ •์œผ๋กœ ์ธํ•ด ์กฐ์น˜๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ ๋  ์ˆ˜ ์žˆ์Œ)์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋ฆฌ๊ฑฐ๋ง ์กฐ์น˜์˜ ์ •์˜์— ๊ธฐ๋ฐ˜ํ•œ ์–ธ์–ด. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์‹œ๊ฐ์  ์ธ if-then ๊ทœ์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ๋ฒ” ์–ธ์–ด ๋ณ„ ํ”„๋กœ๊ทธ๋žจ : ํ–‰๋™ ๋ช…์„ธ์— ์˜์กดํ•˜๋Š” ๋Œ€์‹ ์— ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด ์ง€์‹œ ๋˜๋Š” ๋ช…๋ น์„ ํ†ตํ•ด, ๊ฐ€์žฅ ๋œ ์—…๋ฌด ๋˜๋Š” ๋ชฉ์ ์˜ ๋…ผ์ฆ์— ์˜์กดํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์–ธ์–ด๋Š” ์‹œ๊ฐ์  ๊ฐ์ฒด์˜ ์กฐ์ž‘์— ๊ธฐ๋ฐ˜์„๋‘๊ณ  ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…์€ ์ด๋Ÿฌํ•œ ์กฐ์ž‘์— ๋”ฐ๋ผ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ์–‘์‹ ๊ธฐ๋ฐ˜ ๋ฐ ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ ๊ธฐ๋ฐ˜ ์–ธ์–ด : ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ๋Š” ๊ฐ€์žฅ ๋„๋ฆฌ ํผ์ง„ VPL ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค. ์ด๋“ค ์–ธ์–ด๋Š” ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์›์žฅํ˜• ์‹œํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์–ธ์–ด์—์„œ ์‹œํŠธ๋Š” ์›๋ณธ ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ๋ฅผ VPL๋กœ ํ•œ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์˜๋ฏธ์žˆ๋Š” ๊ทธ๋ฆผ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์–‘์‹ ๊ธฐ๋ฐ˜ ์–ธ์–ด๋Š” ์žฅ๋ฉด์—์„œ ๋‹ค์†Œ ์œ ์‚ฌํ•˜์—ฌ ์‹œํŠธ๋ฅผ ์–‘์‹์œผ๋กœ ์ผ๋ฐ˜ํ™”ํ•ฉ๋‹ˆ๋‹ค.
5.2.4 ๊ธฐ๋Šฅ.

๋‹ค์–‘ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ•˜๋‚˜์˜ ๋‹จ์ผ ์–ธ์–ด๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ์–ธ์–ด์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค ์–ธ์–ด๊ฐ€ ์ƒํ˜ธ ๋ฐฐํƒ€์ ์ด์ง€ ์•Š๋‹ค๋Š” ์ ์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ VPL์€ ์–ธ์–ด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜์—ฌ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์—ผ๋‘์—๋‘๊ณ  VPL์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜์žˆ๋Š” ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ๋†’์€ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. [Boshernitsan and Downes 2004; Burnett and Baker 1994].

์ถ”์ถœ. ๊ฐ€์žฅ ๋„๋ฆฌ ์ง€์›๋˜๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์ถ”์ƒํ™”๋Š” ์ ˆ์ฐจ ์  ์ถ”์ƒํ™” ๋ฐ ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™”์ž…๋‹ˆ๋‹ค. ์ ˆ์ฐจ ์  ์ถ”์ƒํ™”์™€ ๊ด€๋ จํ•˜์—ฌ, ๋‘ ์ˆ˜์ค€, ์ฆ‰ ์ƒ์œ„ ์ˆ˜์ค€๊ณผ ํ•˜์œ„ ์ˆ˜์ค€์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œํŽธ, ์†Œํ”„ํŠธ์›จ์–ด ์œ ์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ ๋ฐ ๊ณผํ•™์  ์‹œ๊ฐํ™” ํ™˜๊ฒฝ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ ๋ณ„ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ณ ๊ธ‰ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ํ•  ์ˆ˜์—†๋Š” ์™„์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์•„๋‹™๋‹ˆ๋‹ค , ํ•ญ์ƒ ๊ทผ๋ณธ์ ์ธ ๋น„ ์‹œ๊ฐ์  ๋ชจ๋“ˆ์— ์˜์กดํ•œ๋‹ค. ๋ฐ˜๋ฉด, ํ•˜์œ„ ๋ ˆ๋ฒจ VPL์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์„ธ๋ถ€ ๋กœ์ง์„ ์ ˆ์ฐจ ๋ชจ๋“ˆ์— ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ VPL (ํŠนํžˆ ๋ฒ”์šฉ ๋ชจ๋ธ)์€ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”์™€ ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๋ฅผ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™” ๊ธฐ๋Šฅ์€ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ์ถ”์ƒํ™”๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์‹œ๊ฐ์ ์œผ๋กœ ์ •์˜๋˜๊ณ  ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„๋˜๋ฉฐ ๋Œ€ํ™”์‹ ๋™์ž‘์„ ์ œ๊ณตํ•ด์•ผํ•œ๋‹ค๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค [Boshernitsan and Downes 2004].

์ œ์–ด ํ๋ฆ„. ์ข…๋ž˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์—์„œ์ฒ˜๋Ÿผ VPL์€ (1) ๋ช…๋ นํ˜• ๋˜๋Š” (2) ์„ ์–ธ ํ˜•์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๊ฐœ๋…์˜ ์ œ์–ด ํ๋ฆ„์„ ์ˆ˜์šฉํ•ฉ๋‹ˆ๋‹ค. (1) ๋ช…๋ นํ˜• ์ ‘๊ทผ๋ฒ•์˜ ๊ฒฝ์šฐ, ์ œ์–ด ์Šค๋ ˆ๋“œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ํ๋ฅด๋Š” ๋ฐฉ์‹์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํ๋ฆ„๋„๊ฐ€ ์žˆ์œผ๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณ‘๋ ฌ์„ฑ์˜ ํšจ๊ณผ์ ์ธ ์‹œ๊ฐ์  ํ‘œํ˜„์ด ์žˆ๋‹ค๋Š” ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๋Š” ์ž‘์—… ์ˆœ์ฐจ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ƒํƒœ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ์ถ”์ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์˜ ์ƒ๋Œ€๋ฐฉ์—์„œ, (2) ์„ ์–ธ์  ์ ‘๊ทผ ๋ฐฉ์‹์€ ์‹ค์ œ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ ๊ณ„์‚ฐ์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹จ์ผ ํ• ๋‹น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‹œ ์  ์ƒํƒœ ์ˆ˜์ •์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹  ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ธฐ์กด ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ณต์‚ฌ ํ•œ ๋‹ค์Œ ์›ํ•˜๋Š” ์ฐจ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค [Boshernitsan and Downes 2004].

์ด๋ฒคํŠธ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ. ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋Š” ๊ฐœ์ฒด ์ƒํƒœ, ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์˜ ๋ณ€๊ฒฝ์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ฐ€๋Šฅํ•œ ๊ตฌํ˜„์€ ๋‹จ์ผ ์ด๋ฒคํŠธ ๊ตฌ์กฐ (ํ•œ ๋ฒˆ์— ํ•œ ์ด๋ฒคํŠธ) ๋˜๋Š” ๋‹ค์ค‘ ์ด๋ฒคํŠธ ๊ตฌ์กฐ (์ด๋ฒคํŠธ ์Šค์œ„์น˜ ๊ธฐ์ˆ  ๋ฐ / ๋˜๋Š” ๋™์  ๊ณ„์‚ฐ ๋…ธ๋“œ)์ž…๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ๋™์ผํ•œ ์›์น™์„ ๋”ฐ๋ฅด์ง€ ๋งŒ ์‹œ์Šคํ…œ์˜ ์˜ˆ์™ธ ์‚ฌํ•ญ์— ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ์•„์ด์ฝ˜์ด๋‚˜ ๋‹ค๋ฅธ ์‹œ๊ฐ์  ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Boshernitsan and Downes 2004].

์‹œ๊ฐ์  ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ์œ ํ˜•. ๋Œ€๋ถ€๋ถ„์˜ VPL์€ ๊ตฌ์กฐ ๋ฐ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์‹œ๊ฐ์  ํ‘œํ˜„์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ‘œํ˜„์€ ์›์‹œ ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋’ค์— ์žˆ์ง€๋งŒ ์‹œ๊ฐ์  ํ‘œํ˜„์ด ๋‹ค๋ฅธ ๋™์ผํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ƒ์† ๋ฐ / ๋˜๋Š” ์บก์Šํ™”๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Boshernitsan and Downes 2004].

5.2.5 ๋ฒ”์ฃผ.

๋ณด๋‹ค ์ตœ๊ทผ์—๋Š” VPL์˜ ๋‹ค์–‘ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Boshernitsan et al. Chang, Shu, and Burnett [Burnett and Baker 1994;์˜ ์ด์ „ ์—ฐ๊ตฌ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ VPL ๋ถ„๋ฅ˜๋ฅผ์œ„ํ•œ ๋‹ค์„ฏ ๊ฐ€์ง€ ์ฃผ์š” ๋ฒ”์ฃผ์™€ ๋” ๋„“์€ ๋ฒ”์ฃผ๋ฅผ ์ •์˜ํ–ˆ๋‹ค [Boshernitsan and Downes 2004]. Diehl 2007; S. K. Chang 2002]. ์ด์™€ ๊ฐ™์ด ์š”์ฆ˜ VPL์„ ํŠน์„ฑํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์„ฏ ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Purely Visual Languages โ€‹โ€‹: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”„๋กœ์„ธ์Šค ๋ฐ ํ”„๋กœ๊ทธ๋žจ ์ „๋ฐ˜์— ๊ฑธ์ณ ์‹œ๊ฐ์  ๊ธฐ์ˆ ์— ์ „์ ์œผ๋กœ ์˜์กดํ•˜๋Š” ์–ธ์–ด๋Š” ์‹œ๊ฐ์  ํ‘œํ˜„์—์„œ ์ง์ ‘ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์–ธ์–ด๋Š” ์ ˆ๋Œ€๋กœ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ์–ธ์–ด๋กœ ๋ฒˆ์—ญ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์‹œ์Šคํ…œ (ํ…์ŠคํŠธ / ๋น„์ฃผ์–ผ) : ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑ ๋œ ๋‹ค์Œ ์–ธ์–ด๋กœ ๋ฒˆ์—ญ ๋  ์ˆ˜์žˆ๋Š” ์–ธ์–ด ๊ธฐ๋ณธ ๊ณ ๊ธ‰ ํ…์ŠคํŠธ ์–ธ์–ด ๋˜๋Š” ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ…์ŠคํŠธ ์–ธ์–ด๋กœ ๊ทธ๋ž˜ํ”ฝ ์š”์†Œ์˜ ์‚ฌ์šฉ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • Programming-by-Example systems :์ด ์‹œ์Šคํ…œ์—์„œ, demonstration by programming์˜ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋”ฐ๋ฅด๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๊ฐ์  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์กฐ์ž‘ํ•˜์—ฌ ์‹œ์Šคํ…œ์— ์ž‘์—… ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์ณ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ œ์•ฝ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ : ์ œ์•ฝ ์„ค๊ณ„ ์‹œ๋‚˜๋ฆฌ์˜ค ๋˜๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„ค๊ณ„ ๋˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ๊ณผ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์–ธ์–ด.
  • ์–‘์‹ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ : ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ ๋ฉ”ํƒ€ํฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ์–ธ์–ด.

์ด ๋ฒ”์ฃผ๋Š” ์ ˆ๋Œ€์ ์œผ๋กœ ์ƒํ˜ธ ๋ฐฐํƒ€์  ์ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋Š” ์ ์— ์œ ์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์—ฌ๋Ÿฌ ์–ธ์–ด๋ฅผ ์—ฌ๋Ÿฌ ๋ฒ”์ฃผ์— ๋ฐฐ์น˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IoT VPL ๋ฐ ํ•ด๋‹น ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํŠน์„ฑํ™”. IoT์˜ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ๋ผ์ดํ”„ ์‚ฌ์ดํด์€ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ๊ณผ IoT ์ƒํƒœ๊ณ„ ๊ณ ์œ ์˜ ๋ช‡ ๊ฐ€์ง€ ํŠน์ˆ˜์„ฑ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ IoT๋Š” ์•„์ง ๊ฐœ๋ฐœ ์ดˆ๊ธฐ ๋‹จ๊ณ„์ด๋ฏ€๋กœ ์ง€๋‚œ ์ˆ˜์‹ญ ๋…„ ๋™์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฐฐ์šด ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ๊ตํ›ˆ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋ฐœ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ ๋„๊ตฌ๊ฐ€ ์•„์ง ๋’ค์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…๊ณผ ํ…Œ์ŠคํŠธ์˜ ์ ์ ˆํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ–์ถ˜ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ๋ถ€์กฑํ•  ๋•Œ ๊ฐœ๋ฐœ์˜ ์ดˆ๊ธฐ ๋‹จ๊ณ„์— ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Dias et al. 2018].

IoT์˜ ์ฐธ์‹ ํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ Visual Programming Languages โ€‹โ€‹(์ง€์› ๋„๊ตฌ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ชจ๋‘ ํฌํ•จ)๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์–ธ์–ด ์ž์ฒด๋ฅผ ๋„˜์–ด ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ๋•Œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ธก๋ฉด์ด ์žˆ์ง€๋งŒ ๊ธฐ๋Šฅ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ฐœ๋ฐฉ์„ฑ, ํ™•์žฅ ์„ฑ, ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ „ํ†ต์  ํŠน์„ฑํ™” ์ ‘๊ทผ๋ฒ•์ด ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋‹ค๋ฃจ์ง€๋Š” ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜์žˆ๋‹ค. ๋‹ค์Œ ๋‹จ๋ฝ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์–ธ์–ด์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ํŠน์„ฑํ™”ํ•˜๊ธฐ์œ„ํ•œ ์ผ๋ จ์˜ ์ง€์นจ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ธก๋ฉด์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ด ์ œ์•ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ค์–‘ํ•œ VPL ์†”๋ฃจ์…˜ ์ค‘์—์„œ ๊ณ ์œ  ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์—ˆ๋˜ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์ธก๋ฉด์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค.

  • IoT ๊ณ„์ธต : ๊ฐ VPL์€ IoT ์‹œ์Šคํ…œ ์„ค๊ณ„์˜ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ณ„์ธต์„ ๋Œ€์ƒ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ VPL์€ ๋Œ€์ƒ ๋ ˆ์ด์–ด๋ณ„๋กœ ๋ถ„๋ฅ˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€์žฅ์ž๋ฆฌ, ์•ˆ๊ฐœ, ๊ตฌ๋ฆ„.

  • ์ถ”์ƒํ™” ์ˆ˜์ค€ : VPL์„ ํŠน์„ฑํ™”ํ•˜๋Š” ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ  (5.2.1 ์ ˆ)์— ๋”ฐ๋ผ VPL์€ ์ถ”์ƒํ™” ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ ˆ์ฐจ ์ถ”์ƒํ™”, ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™”.

ํ‘œ 3. IoT VPL์— ๋Œ€ํ•œ ํŠน์„ฑํ™” ์ฒด๊ณ„ ์š”์•ฝ.

  • ์นดํ…Œ๊ณ ๋ฆฌ : Boshernitsan et al. (5.2.1 ์ ˆ) VPL์€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์œ  ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์— ๋”ฐ๋ผ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์— ํ•ด๋‹นํ•˜๋Š” ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฒ”์ฃผ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ˆœ์ „ํžˆ ๋น„์ฅฌ์–ผ, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ, ์ œ์•ฝ (๋ฐฉํ–ฅ์„ฑ), ํ˜•ํƒœ (๊ธฐ๋ฐ˜), PBE (ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ณ„) ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ์–ธ์–ด๊ฐ€ ๋”ฐ๋ฅด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์— ๋”ฐ๋ผ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค (5.2.1 ์ ˆ).

  • ์ œ์–ด ํ๋ฆ„ : VPL (5.2.1 ์ ˆ)์„ ํŠน์„ฑํ™”ํ•˜๋Š” ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ ์— ๋”ฐ๋ผ VPL์€ ์‚ฌ์šฉํ•˜๋Š” ์ œ์–ด ํ๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์— ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.

  • ํ•„์ˆ˜, ์„ ์–ธ์ .

  • ๋ชฉํ‘œ ํ”Œ๋žซํผ : VPL์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ / ๋˜๋Š” ์šด์˜ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ๋ชฉํ‘œ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ VPL์€ ๋‹ค์Œ ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ˆ…์Šค (๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ), Arduino (๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ), ๊ธฐํƒ€ (์˜ˆ : Java ๊ธฐ๋ฐ˜, Android).

  • ๋ผ์ด์„ผ์Šค : VPL์€ ๋…์  ์†Œํ”„ํŠธ์›จ์–ด ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” IoT ์‹œ์Šคํ…œ ๋ฐ ์žฅ์น˜์˜ ๋†’์€ ์ด์งˆ์„ฑ๊ณผ VPL ์ž์ฒด์— ๋Œ€ํ•œ ์‚ฌ๋ก€ ๋ณ„ ์ˆ˜์ •์„ ํ•„์š”๋กœํ•˜๋Š” ๋Š์ž„์—†๋Š” ์š”๊ตฌ๋กœ ์ธํ•ด ์ค‘์š”์„ฑ์ด ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. VPL์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์—ด๊ธฐ (-source), ๋‹ซ๊ธฐ (-source).

  • ํ™•์žฅ ์„ฑ : VPL์€ ํ™•์žฅ ๊ธฐ๋Šฅ (์˜ˆ : ์• ๋“œ์˜จ)์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด / ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ์— ์ง€์›์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ๊ธฐ๋Šฅ์€ ๋†’์€ ์ด๊ธฐ์ข… IoT ์ƒํƒœ๊ณ„์—์„œ ์–ธ์–ด์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ฑฐ๋‚˜ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VPL์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํƒ€์‚ฌ ์ง€์› : VPL์€ ํƒ€์‚ฌ ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค (API)์™€ ๊ฐ™์€ ์ˆ˜๋‹จ์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง€์›์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ „์ฒด, ๋ถ€๋ถ„, ์—†์Œ.

IoT์—์„œ VPL์˜ ํŠน์„ฑํ™” ์ œ์•ˆ์€ ์ด๋Ÿฌํ•œ ์–ธ์–ด๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์–ธ์–ด ๋‚ด์—์„œ ์—ด๋ฆฐ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ, ๋ฌธ์ œ์  ๋˜๋Š” ๋ถ€์กฑ ์‚ฌํ•ญ์„ ์‹๋ณ„ํ•˜๋Š” ๊ธฐ์ดˆ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํŠน์„ฑ ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ฅ˜ ์ฒด๊ณ„์˜ ์š”์•ฝ์€ ํ‘œ 3์—์„œ ๋ณผ ์ˆ˜์žˆ๋‹ค.

5.2.6 IoT ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ.

Visual Programming Languages๋ฅผ ํ™œ์šฉํ•˜๋Š” IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์€ ์ฃผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์ดˆ์ , ์ผ๋ จ์˜ ๊ธฐ๋Šฅ ๋ฐ ๊ธฐ๋ฐ˜์„ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐœ์š” ๋น„๊ต ๋ฐ โ€‹โ€‹ํ† ๋ก ์€ 5.2.7 ์ ˆ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ•™์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Scopus)์™€ Google ๊ฒ€์ƒ‰ ์—”์ง„์— ๋Œ€ํ•œ ํ๋ ˆ์ดํŒ… ๋œ ๊ฒ€์ƒ‰ ํ›„์— ์„ ํƒ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค์Œ ๋‹จ๋ฝ์—์„œ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ ๋œ ํ‚ค์›Œ๋“œ๋Š” ์ธํ„ฐ๋„ท ์˜ค๋ธŒ ๋ทฐ, VPL, ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ๋น„์ฃผ์–ผ ๋ฐ IoT ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ์กฐํ•ฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ -RED 11 Node-RED๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜, API ๋ฐ ์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ํ”Œ๋กœ์šฐ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ์ œ๊ณตํ•˜๋Š” IoT ์ค‘์‹ฌ ๊ฐœ๋ฐœ ํˆดํ‚ท์ž…๋‹ˆ๋‹ค. ์›๋ž˜ IBM์—์„œ ๊ฐœ๋ฐœํ–ˆ์œผ๋ฉฐ ๋Ÿฐํƒ€์ž„์€ Node.js12๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. JavaScript ์Šค ๋‹ˆํŽซ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ธ”๋ก์„ ์ž‘์„ฑํ•˜์—ฌ ์–ธ์–ด๋ฅผ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋œ ํ”Œ๋กœ์šฐ๋Š” JSON ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ ํ”Œ๋กœ์šฐ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๊ทธ๋ฆผ 10์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 10. Node-RED Flow์˜ ์˜ˆ.

Flogo (www.flogo.io) Project Flogo๋Š” IoT Edge Apps ๋ฐ ํ†ตํ•ฉ์„์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. ํ๋ฆ„์˜ ์‚ฌ์šฉ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. (Flogo Web UI๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Œ)์„ ๊ฐœ๋ฐœ์„์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

NETLab ํˆดํ‚ท (www.netlabtoolkit.org) NETLab Toolkit (NTK)์€ ๊ฐ€์‹œ์  ์ธ IoT ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ์ œ์ž‘ํ•˜๋ ค๋Š” ๋””์ž์ด๋„ˆ, ๊ฐœ๋ฐœ์ž, ์ œ์ž‘์ž, ์—ฐ๊ตฌ์› ๋ฐ ํ•™์ƒ๋“ค์—๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์Šค๋งˆํŠธ ์œ„์ ฏ์œผ๋กœ ์„ผ์„œ, ์•ก์ถ”์—์ดํ„ฐ, ๋ฏธ๋””์–ด ๋ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NTK๋Š” Arduino ๋ฐ Linux ๊ธฐ๋ฐ˜ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ (์˜ˆ : Intel Edison, Raspberry Pi)๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ Javascript ์Šค ๋‹ˆํŽซ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ์˜ ์œ„์ ฏ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋กํ•จ์œผ๋กœ์จ ์ƒˆ๋กœ์šด ๊ฒƒ์— ์‰ฝ๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 11. ArduBlock ์ฝ”๋“œ ์Šค ๋‹ˆํŽซ์˜ ์˜ˆ.

ArduBlock (ardublock.com) ArduBlock์€ Arduino๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌผ๋ฆฌ์  ์ปดํ“จํŒ… ์žฅ์น˜์˜ ๋Œ์–ด์„œ ๋†“๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ๋น„์ฃผ์–ผ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋น„์ฃผ์–ผ ์ฝ”๋“œ ๋ธ”๋ก ๋ฐ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์Šค ๋‹ˆํŽซ์˜ ์˜ˆ๊ฐ€ ๊ทธ๋ฆผ 11์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

S4A 16 S4A๋Š” Arduino ๊ธฐ๋ฐ˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ์›๋ž˜์˜ Scratch ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (๊ต์œก ๋ชฉ์ ์— ์ค‘์ ์„ ๋‘”)์˜ ์ˆ˜์ • ๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. Arduino ๊ธฐ๋ฐ˜ ๋ณด๋“œ์— ์—ฐ๊ฒฐ๋œ ์„ผ์„œ ๋ฐ ์•ก์ถ”์—์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๊ฐ์  ๋ธ”๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ž˜์น˜ ์›๋ž˜ ์ดˆ์ ์„ ๊ต์œก ๋ชฉ์ ์œผ๋กœ ๋งŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Modkit 17 VEX Modkit์€ VEX IQ 18์„ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ๊ฐœ๋ฐœ ๋œ ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.์ด ํ”„๋กœ๊ทธ๋žจ์€ Snap-together Visual Block์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ ๊ต์œก ๋ชฉ์ ์— ์ค‘์ ์„๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

miniBloq 19 miniBloq์€ Multiplo ๋ณด๋“œ, Arduino ๋ณด๋“œ, ๋ฌผ๋ฆฌ์  ์ปดํ“จํŒ… ์žฅ์น˜ ๋ฐ ๋กœ๋ด‡์„ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. miniBloq์€ ํ•˜๋“œ์›จ์–ด์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•ด ์˜ฌ์ธ์› ์–ธ์–ด๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆํ™”๊ฐ€๋˜์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒˆ๋กญ๊ณ  ๊ฐœ์ธํ™” ๋œ ๋ธ”๋ก์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐœ๋ฐœ์ž๋Š” ์ฃผ์–ด์ง„ ์–ธ์–ด์˜ ํ™•์žฅ์„ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๋ณด๋“œ ๋ฐ ํ”Œ๋žซํผ์— ์‰ฝ๊ฒŒ ์ง€์›์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NooDL 20 NooDL์€ ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค, ๋กœ์ง ๋ฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜์žˆ๋Š” ๋น„์ฃผ์–ผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. IoT์— ์ดˆ์ ์„ ๋งž์ถ”์ง€ ์•Š์ง€๋งŒ IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋„ ๋‹ค๋ฃจ๋ฉฐ ๋…ธ๋“œ, ์—ฐ๊ฒฐ ๋ฐ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.

DGLux5 21 DGLux5๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋ฐฉ์‹์˜ ์‹ ์†ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฐ ์‹œ๊ฐํ™” ํ”Œ๋žซํผ์œผ๋กœ, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๋Œ€์‹œ ๋ณด๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ๊ณผ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ๊ณต๊ธ‰์ž๋ฅผ ๋‹จ์ผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ†ตํ•ฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ ์›Œํฌ ํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

GraspIO 24 GraspIO ์ž…์ถœ๋ ฅ์„์œ„ํ•œ Graphical Smart Program์€ IoT ๋ฐ Robotics ์‹œ์Šคํ…œ์„ ์‹ ์†ํ•˜๊ฒŒ ๊ตฌ์ถ• ํ•  ์ˆ˜์žˆ๋Š” ํ•˜๋“œ์›จ์–ด ๋ฐ ๋ถ€ํ’ˆ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜์ด ๋„๊ตฌ๋Š” ์•„์ง ๊ฐœ๋ฐœ ์ค‘์ด๋ฏ€๋กœ ์‚ฌ์šฉ ๋œ ์‹œ๊ฐ์  ์–ธ์–ด์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

Wyliodrin 25 Wyliodrin์€ Linux ๊ธฐ๋ฐ˜ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ (Raspberry Pi, Intel Galileo) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„์œ„ํ•œ ์˜จ๋ผ์ธ IDE์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜์žˆ๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ํŒŒ์ด์ฌ์ด๋‚˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ ๋…ธ๋””์Šค 26 Zenodys๋Š” Industry 4.0์„์œ„ํ•œ ์™„๋ฒฝํ•œ ์‹œ๊ฐ์  IoT ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ์ธ ๊ฐœ๋ฐœ ์ฝ˜์†” ์ธ ZenoVisual์„ ์ œ๊ณตํ•˜์—ฌ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋žจ ์›Œํฌ ํ”Œ๋กœ๊ฐ€ IoT ์žฅ์น˜์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ํƒ€์‚ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” API์™€ ํ†ตํ•ฉ ํ•  ์ˆ˜ ์žˆ๋„๋กํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋œ ์‹œ์Šคํ…œ์€ ํด๋ผ์šฐ๋“œ ๋˜๋Š” ์‚ฌ๋‚ด์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ASU VIPLE 27 [์ฒธ ์•ค๋“œ ๋ฃจ์นด 2016] Visual IoT / Robotics ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™˜๊ฒฝ (VIPLE)์€ Microsoft Robotics Developer Studio28 ๊ธฐ๋ฐ˜์ด๋ฉฐ ๊ทธ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐฉํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ API ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ IoT ์‹œ์Šคํ…œ ๋ฐ ๋กœ๋ณดํ‹ฑ์Šค ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. VIPLE ํ”„๋กœ๊ทธ๋žจ์€ ๋ฐฑ์—”๋“œ PC์—์„œ ์‹คํ–‰๋˜๋ฉฐ ์„ผ์„œ ๋ฐ ๋ชจํ„ฐ ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์‹ ํ•˜๊ณ  ๋กœ๋ด‡ ๋ชจํ„ฐ์— ๋ช…๋ น์„ ๋ณด๋‚ด๊ณ  Bluetooth ๋ฐ Wi-Fi ์—ฐ๊ฒฐ (JSON ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ )์„ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 12. Flowhub IoT Platform์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ์˜ˆ.

Flowhub IoT ํ”Œ๋žซํผ 29ย  Flowhub์€ ํ๋ฆ„ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ IDE์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐ์  ๋ธ”๋ก ๋ฐ ์—ฐ๊ฒฐ์„ ์‹œ์Šคํ…œ ๋…ผ๋ฆฌ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘๋ฅผ์œ„ํ•œ NoFlo.js๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ FBP ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์‚ฌ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์—์„œ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์˜ˆ๊ฐ€ ๊ทธ๋ฆผ 12์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

XOD 30 XOD๋Š” ์—์ง€ ์žฅ์น˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”Œ๋žซํผ (๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ)์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ ๋‹ค์Œ ๋Œ€์ƒ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์›์‹œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด์—์„œ ๋…ธ๋“œ๋Š” ์„ผ์„œ, ๋ชจํ„ฐ ๋˜๋Š” ๋ฆด๋ ˆ์ด์™€ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ๋˜๋Š” ์ถ”๊ฐ€, ๋น„๊ต ๋˜๋Š” ํ…์ŠคํŠธ ์—ฐ๊ฒฐ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์ž‘์—…์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ์—๋Š” ์ฒ˜๋ฆฌ ํ•  ๊ฐ’์„ ์Šน์ธํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž…๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ์—์„œ ์ž…๋ ฅ์œผ๋กœ์˜ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ํ•œ ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ๊ฐ’์„ ๊ณต๊ธ‰ํ•  ์ˆ˜์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ 13. ํŒจํ‚ท ํŠธ๋ ˆ์ด์„œ 7.0 ์‹œ๊ฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ˆ.

ํŒจํ‚ท ํŠธ๋ ˆ์ด์„œ 7.0 31 Cisco Packet Tracer๋Š” ๋‹ค์–‘ํ•œ ์žฅ์น˜ ๋ฐ ์—ฐ๊ฒฐ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๊ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. IoT ์†”๋ฃจ์…˜์˜ ๊ฐœ๋ฐœ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ IoT ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์‹œ์Šคํ…œ์˜ ํ”„๋กœํ†  ํƒ€์ดํ•‘์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜๋Š” ์‹œ๊ฐ์  ์–ธ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๊ทธ๋ฆผ 13์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. Visuino 32 Visuino๋Š” Arduino ๊ธฐ๋ฐ˜ ๋ณด๋“œ๋ฅผ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜์žˆ๋Š” ๋Œ์–ด์„œ ๋†“๊ธฐ (drag-and-drop) ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ œ๊ณต ํ•œ ๋‹ค์Œ ๋‹ค๋ฅธ ๋ชจ๋“ˆ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. WoTKit 33 [Blackstock and Lea 2012b] WoTKit์€ ํด๋ผ์šฐ๋“œ ๊ณ„์ธต IoT ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํด๋ผ์šฐ๋“œ ํ˜ธ์ŠคํŒ… Node-RED ์„œ๋น„์Šค (FRED)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Node-RED์™€ ๋™์ผํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™๊ณผ ์ถ”๊ฐ€ ํ™•์žฅ ๋ฐ ํ†ตํ•ฉ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ FRED์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉ ๋œ STS IoT ํ”Œ๋žซํผ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

๋กœ์Šค ํƒ„ 34 Losant๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜ ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ˜์‘ ์›Œํฌ ํ”Œ๋กœ์šฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌํ˜„ ๋œ ์‹œ๊ฐ์  ์–ธ์–ด๋Š” ์›Œํฌ ํ”Œ๋กœ์šฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋ฉฐ IoT์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ ์š”์†Œ์— ์ค‘์ ์„๋‘๊ณ  ์žฅ์น˜๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ณ  ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IFTTT 35 IFTTT๋Š” if-this-then-that ๊ทœ์น™์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜๋Š” ๋ชจ๋ฐ”์ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์—ฌ๋Ÿฌ ํƒ€์‚ฌ์™€์˜ ํ†ตํ•ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. IoT ์†”๋ฃจ์…˜์— ์ดˆ์ ์„ ๋งž์ถ”์ง€ ์•Š์•˜์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‹œ์žฅ์—์„œ ์—ฌ๋Ÿฌ IoT ์ œํ’ˆ๊ณผ์˜ ํ†ตํ•ฉ์„ ์ œ๊ณตํ•˜์—ฌ ํ–‰๋™์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ฆฐํฌ 36 Blynk์€ ๋””์ง€ํ„ธ ๋Œ€์‹œ ๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Arduino ๋ฐ Raspberry Pi ์žฅ์น˜๋ฅผ ์ œ์–ด ํ•  ์ˆ˜์žˆ๋Š” ๋ชจ๋ฐ”์ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์œ„์ ฏ์„ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญํ•˜์—ฌ ์–‘์‹๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EPIDOSITE [Li et al. 2017b] EPIDOSITE๋Š” ์ตœ์ข… ์‚ฌ์šฉ์ž ๊ฐœ๋ฐœ (EUD)์— ์ดˆ์ ์„ ๋งž์ถ˜ ๋ชจ๋ฐ”์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ๋ฐ๋ชจ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ด์ „์˜ ๋ชจ๋ฐ”์ผ PBD ์‹œ์Šคํ…œ ์ธ Sugilite [Li et al. 2017a], ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ์ ‘๊ทผ์„ฑ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ ๋ฆฌ์ผ€์ด์…˜์˜ ์ž๋™ํ™” ์ž‘์—…์„ ์ง€์›ํ•˜๊ณ , ๋‹ค๋ฅธ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๊ด€๋ จ UI ์š”์†Œ์™€ ํ•จ๊ป˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์„ ์ „ํ™”๋กœ ๋…น์Œ ํ•œ ๋‹ค์Œ ๋…น์Œ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ์œ„ํ•œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šคํฌ๋ฆฝํŠธ. EPIDOSITE๋Š” IoT ์žฅ์น˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์Šคํฌ๋ฆฝํŠธ, ์™ธ๋ถ€ ์„œ๋น„์Šค ๋ฐ ์žฅ์น˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•)์„ ์ง€์›ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ Sugilite๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

5.2.7 VPL ๋น„๊ต.

ํ˜„์žฌ IoT ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ด๋ฏธ ์ƒ๋‹น์ˆ˜์˜ VPL์ด ์‹œ์žฅ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์–ธ์–ด์— ๋Œ€ํ•œ ๋น„๊ต ๊ฐœ์š”๋Š” ํ‘œ 4์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด์—์„œ ํ‘œ 4์— ํ‘œ์‹œ๋œ ์ด๋ฆ„์€ ์–ธ์–ด ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” IDE ๋˜๋Š” ํ”Œ๋žซํผ์— ์†ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, IoT ๋ ˆ์ด์–ด ๋ณ„ ์–ธ์–ด ๊ตฌ๋ถ„์— ๋”ฐ๋ผ ๊ฐ ์–ธ์–ด๋ณ„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์†”๋ฃจ์…˜ ์ˆ˜๊ฐ€ ๊ท ํ˜•์„ ์ด๋ฃจ๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ˆ๊ฐœ ๋ ˆ์ด์–ด๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์†”๋ฃจ์…˜์€ ๊ตฌ๋ฆ„ ๋ ˆ์ด์–ด์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋Œ€๋ถ€๋ถ„์ด ์•ˆ๊ฐœ ๋ ˆ์ด์–ด์™€ ๊ตฌ๋ฆ„ ๋ ˆ์ด์–ด์— ๊ณตํ†ต์  ์ธ Linux ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ๋Œ€์ƒ์œผ๋กœํ•˜๊ธฐ ๋•Œ๋ฌธ์—). ๋˜ํ•œ ๊ฐ€์žฅ์ž๋ฆฌ ๋ ˆ์ด์–ด (์žฅ์น˜)๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ์–ธ์–ด๋Š”์ด ๊ณ„์ธต์—๋งŒ ๋งค์šฐ ํ•œ์ •์ ์ž…๋‹ˆ๋‹ค (๋Œ€๋ถ€๋ถ„ ํ•˜๋“œ์›จ์–ด ์ž…๋ ฅ / ์ถœ๋ ฅ๊ณผ์˜ ์ง์ ‘์ ์ธ ์ƒํ˜ธ ์ž‘์šฉ ๋•Œ๋ฌธ ์ž„). ์ถ”์ƒํ™” ์ˆ˜์ค€๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋Š” ๋†’์€ ์ˆ˜์ค€๊ณผ ๋‚ฎ์€ ์ˆ˜์ค€ ๋ชจ๋‘์—์„œ ์ ˆ์ฐจ ์  ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™”์— ์ค‘์ ์„ ๋‘๋Š” ์†Œ์ˆ˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ IoT ์•„ํ‚คํ…์ฒ˜์˜ ์ƒ์œ„ ๊ณ„์ธต์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋Š” ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ๊ธฐ๋ฐ˜์˜ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ IoT ์‹œ์Šคํ…œ์€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ณ€ํ™˜์„ ๋‹ด๋‹นํ•˜๊ณ  ๋‹ค๋ฅธ ํ•œํŽธ์œผ๋กœ๋Š” ํ•˜๋“œ์›จ์–ด์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋ฐ˜์˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์ถ”์ƒํ™”๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. IFTTT์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž ์ˆ˜์ค€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋ชฉํ‘œ๋กœํ•˜๋Š” ์–ธ์–ด๋Š” ์ดํ•ด๊ฐ€ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ๊ทœ์น™ ๊ธฐ๋ฐ˜ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๊ฐ VPL์ด ์ ํ•ฉํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์— ๊ด€ํ•ด์„œ๋Š” ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ Node-RED, ์ผ๋ฐ˜์ ์œผ๋กœ ์—์ง€ ๋ ˆ์ด์–ด๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ์ œ์•ฝ ๊ธฐ๋ฐ˜์˜ ๊ฒƒ, ํด๋ผ์šฐ๋“œ ๋ ˆ์ด์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด์— ๊ณตํ†ต์  ์ธ ์‹œ๊ฐ์  ์ธ ์‹œ๊ฐ์  ์ธ ๊ฒƒ ๊ฐ™์€ ์ข‹์€ ๋ถ„ํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . ํ‘œํ˜„์‹์ด ์  ์œผ๋ฉด ์–‘์‹ ๊ธฐ๋ฐ˜ ๊ฐ์ฒด๋Š” Blynk ํ”Œ๋žซํผ์—์„œ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ œ์–ด ํ๋ฆ„ ๊ด€์ ์—์„œ, ์—์ง€ ๊ณ„์ธต์„ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋Š”์ด ๊ณ„์ธต์— ์‚ฌ์šฉ ๋œ ๋น„ ์‹œ๊ฐ์  ์–ธ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•„์ˆ˜์ ์ธ ๋ช…๋ น ํ๋ฆ„ (์˜ˆ : Arduino ์–ธ์–ด)์„ ํ•„์š”๋กœํ•ฉ๋‹ˆ๋‹ค. Node-RED์™€ ๊ฐ™์€ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์–ธ์–ด๋Š” ์„ ์–ธ์  ์ฒ ํ•™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ์ค‘์‹ฌ์˜ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ์†”๋ฃจ์…˜์˜ ๊ฐœ๋ฐฉ์„ฑ์€ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ์–ธ์–ด โ€‹โ€‹๋‚ด๋ถ€์— ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ / ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IoT ์šฉ VPL์˜ ๋งฅ๋ฝ์—์„œ ๋ณผ ๋•Œ, ์˜คํ”ˆ ์†Œ์Šค์™€ ํด๋กœ์ฆˆ๋“œ ์†Œ์Šค ์†”๋ฃจ์…˜ ๊ฐ„์—๋Š” ๊ท ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ก ์Šคํฌ๋ž˜์น˜ (scratch) ์–ธ์–ด (38)์™€ ๊ฐ™์€ ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜์— ๊ธฐ์ดˆํ•œ ํด๋กœ์ฆˆ ์†Œ์Šค ์–ธ์–ด๊ฐ€์žˆ๋‹ค.

ํ‘œ 4. ์ธํ„ฐ๋„ท์˜ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ๊ณผ ๊ฒฐํ•ฉ ๋œ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋น„๊ต ๊ฐœ์š” 37. ํŠน์„ฑํ™”๋Š” 5.2.1 ์ ˆ์˜ ์ œ์•ˆ์— ๊ธฐ์ดˆํ•œ๋‹ค.

๊ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋Œ€์ƒ ํ”Œ๋žซํผ์—์„œ ๊ฐ€์žฅ์ž๋ฆฌ ๋ ˆ์ด์–ด๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•˜๋Š” ์–ธ์–ด๊ฐ€ ๋” ์ œํ•œ์ ์ด๊ณ  ํŠน์ • ํ•˜๋“œ์›จ์–ด์— ์˜์กดํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ˆˆ์—.๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค๋ฅธ ์–ธ์–ด๋Š” ์•ˆ๊ฐœ ์žฅ์น˜ (์˜ˆ : ๋ผ์Šค๋ฒ ๋ฆฌ ํŒŒ์ด) ๋ฐ ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ ์‹œ์žฅ์—์„œ ๋„๋ฆฌ ๋ณด๊ธ‰ ๋œ Linux ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ๋ฅผ ๋Œ€์ƒ์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์ธก๋ฉด์€ ์–ธ์–ด๊ฐ€ ํ™•์žฅ ์„ฑ ๋ฐ ํƒ€์‚ฌ ํ†ตํ•ฉ ์ง€์› ์ธก๋ฉด์—์„œ ๊ฐ–๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๊ฐ€ ์ผ์ข…์˜ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์ œ 3 ์ž ์‹œ์Šคํ…œ๊ณผ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋˜๋Š” ์ ์ด ๋ˆˆ์—.๋‹ˆ๋‹ค. ์š”์•ฝํ•˜๋ฉด, IoT VPL ํŠน์„ฑ์€ ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ฒ”์œ„๋ฅผ ๋ชฉํ‘œ๋กœํ•˜๋Š” ๋‹ค์–‘ํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ์ž˜ ๋ถ„์‚ฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐฉํ˜• ๋ฌธ์ œ, ์ฆ‰ ๊ฐ€์žฅ์ž๋ฆฌ ์ธต์—์„œ ์ฃผ๋กœ ์ด์งˆ์„ฑ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•๊ณผ IoT ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ์–ธ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ํ™•์žฅ๋˜๋Š”์ง€์— ๊ด€ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

5.3 ์š”์•ฝ

Prehofer et al. ์ธํ„ฐ๋„ท์œผ๋กœ๋ถ€ํ„ฐ์˜ ๊ทธ๋“ค์˜ ์ž‘์—…์— ๋Œ€ํ•œ ํฌ์ธํŠธ๋“ค ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ [Prehofer and Chiarabini 2015] (๊ทธ๋ฆฌ๊ณ  3.1 ์ ˆ์—์„œ ์–ธ๊ธ‰ ํ•จ)์—๋Š” IoT ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ๋„๊ตฌ, ์ฆ‰ ๋งค์‰ฌ์—… ์ ‘๊ทผ๋ฒ•๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๋ฒ•์ด์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ Node-RED์™€ ThingML์˜ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์— ์†ํ•˜๋Š” ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ๋„๊ตฌ ์ค‘ ๋‘ ๊ฐ€์ง€๊ฐ€ ์„ค๋ช…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ๊ฒฐ๋ก ์„ ๋‚ด ๋ ธ์Šต๋‹ˆ๋‹ค. ๋งค์‹œ์—… ๋„๊ตฌ๋กœ์„œ์˜ ๋…ธ๋“œ -RED๋Š” ๋ชจ๋ธ (๋ฐ ๋ชจ๋ธ @ ๋Ÿฐํƒ€์ž„) ๋˜๋Š” ์ƒ๋ช…๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์„ ํ™œ์šฉํ•˜๋Š” ๋ฐ์žˆ์–ด์„œ ๋ช‡ ๊ฐ€์ง€ ๋ถ€์กฑํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ IoT ๋„๋ฉ”์ธ์—์„œ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ (drag-n-drop) ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ์ƒ๋™๊ฐ๊ณผ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ์š”๊ตฌ์˜ ํ•„์š”์„ฑ์„ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ™•์žฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ThingML์€ ๊ฐœ๋ฐœ ๋œ IoT ์‹œ์Šคํ…œ์˜ ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋ธ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ธ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ๊ฐ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, ๋ชจ๋ธ์„ ๋Ÿฐํƒ€์ž„์— ํฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ๋น„ ์—ฐ๊ตฌ๊ฐ€ ์žˆ์—ˆ์œผ๋ฏ€๋กœ์ด ๊ฐœ๋…์„ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค๊ณ„๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜๊ณ  ์„ค๊ณ„์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ์ˆ˜์žˆ๋Š” IoT์— ์ ํ•ฉํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ฐ–์ถ”๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์—์„œ ์–ป์€ ๊ตํ›ˆ๊ณผ ์ž‘๋™ (๋…ธ๋“œ -RED์˜ ์‹œ๊ฐ์  ํ‘œ๊ธฐ๋ฒ• ๋“ฑ)์ด ํ™œ์šฉ ๋  ์ˆ˜ ์žˆ์–ด์•ผํ•˜๋ฉฐ์ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์†”๋ฃจ์…˜์œผ๋กœ ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ƒํ˜ธ๊ฐ„์— ์ƒํ˜ธ ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์—์ด ์†”๋ฃจ์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ์†”๋ฃจ์…˜์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฑ์„œ์—์„œ๋Š” Internet-of-Things์— ๋Œ€ํ•œ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฒฝ๊ด€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. IoT ๋ฐ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์†Œ๊ฐœ์™€ IoT ๋„๋ฉ”์ธ์—์„œ์˜ ๊ทธ๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ‘๊ทผ๋ฒ•์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ์ œ์‹œ๋ฉ๋‹ˆ๋‹ค. VPL์˜ ํŠน์„ฑํ™”์— ๊ด€ํ•œ ๋ฌธํ—Œ์˜ ๊ฐœ์š”๋Š” ์ œ๊ณต๋˜์ง€๋งŒ, IoT ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ํŠน์ด์„ฑ์— ์ ‘๊ทผ ํ•  ๋•Œ ๋ฌธํ—Œ์— ์ฐจ์ด๊ฐ€์žˆ๋‹ค. ์ด์™€ ๊ฐ™์ด IoT VPL์„ ํŠน์„ฑํ™”ํ•˜๊ธฐ์œ„ํ•œ ์ œ์•ˆ์€ ํ˜„์กดํ•˜๋Š” ๋ฌธํ—Œ๊ณผ IoT ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ธก๋ฉด์„ ํ† ๋Œ€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. IoT ๊ฐœ๋ฐœ์„ ๊ฒจ๋ƒฅํ•œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๊ฐœ์š”๊ฐ€ ์ •๊ตํ™”๋˜์—ˆ๊ณ  ์ œ์•ˆ ๋œ ๋ถ„๋ฅ˜ ์ง€์นจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์˜ ์ „๋ฐ˜์ ์ธ ๋น„๊ต๊ฐ€ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋น„๊ต๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๋‹ค๋ฃจ๋Š” ์œ ์šฉํ•œ ์†”๋ฃจ์…˜์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ด€์ฐฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์žฅ์ž๋ฆฌ ๊ฐœ๋ฐœ ๋ฐ ํ™•์žฅ ์„ฑ ๊ด€์ ์—์„œ ํŠนํžˆ ์ผ๋ถ€ ์ œํ•œ ์‚ฌํ•ญ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์–ธ์–ด๋ฅผ ํ–ฅ์ƒ ์‹œํ‚ค๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ์ฐฝ์กฐํ•˜๋Š” ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ•ด๊ฒฐํ•ด์•ผํ•˜๋Š” ์—ฐ๊ตฌ ๊ณผ์ œ๊ฐ€ ์•„์ง ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท - ์˜ค๋ธŒ - ์‚ฌ๋ฌผ.

6 ์ธํ„ฐ๋„ท์˜ ํ…Œ์ŠคํŠธ(6 TESTING THE INTERNET-OF-THINGS)

(Internet-of-Things)๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฐํ•ฉ์„ ํ†ตํ•ด ์‹ค์ œ ๊ฐœ์ฒด๊ฐ€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ๋˜๊ณ  ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ ๊ฐ€๋Šฅํ•˜๋ฉด์„œ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์„ ๊ฐ์ง€ํ•˜๊ณ  ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค [Whitmore et al. 2015]. ์ด์™€ ๊ฐ™์ด IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ, ํ™•์žฅ ์„ฑ, ์‹ ๋ขฐ์„ฑ ๋ฐ ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ €์ˆ˜์ค€ / ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์—์„œ๋ถ€ํ„ฐ ๋†’์€ ์ˆ˜์ค€์˜ ์‚ฌ์–‘์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์‹œ์Šคํ…œ์— ํฌํ•จ๋˜๋Š” ๋‹ค์–‘ํ•œ ๊ณ„์ธต๊ณผ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘˜ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ๋ ˆ๋ฒจ ๊ตฌ์„ฑ ์š”์†Œ. IoT ๋ฒ”์œ„์—์„œ ํ•˜์œ„ ์ˆ˜์ค€๊ณผ ์ƒ์œ„ ์ˆ˜์ค€ ๊ตฌ์„ฑ ์š”์†Œ ์‚ฌ์ด์— ์„ ์„ ๊ธ‹๊ธฐ๋Š” ์–ด๋ ต์ง€๋งŒ ๊ฐ•๋ ฅํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๊ณ  ์ข…์†๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋“ค์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ธฐ์ˆ ์€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

6.1 ํ…Œ์ŠคํŠธ ์ˆ˜์ค€ ๋ฐ ๋ฐฉ๋ฒ•

ํ…Œ์ŠคํŠธ ์ ‘๊ทผ๋ฒ•์€ ํ…Œ์ŠคํŠธ ๋ฐ ๋ชฉ์ ์˜ ๋ฒ”์œ„์— ๋”ฐ๋ผ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆ˜์ค€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ๋ ˆ๋ฒจ์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค [Beizer 2003]. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฐœ๋ณ„ ํ•˜๋“œ์›จ์–ด ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋‹จ์œ„ ๋˜๋Š” ๊ด€๋ จ ๋‹จ์œ„์˜ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ [IEEE 1990]. ์ด๊ฒƒ์€ ์‹œ์Šคํ…œ์˜ ๊ฐ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ตฌ์„ฑ๋˜๋ฉฐ ๊ฐœ๋ณ„ ๋ถ€ํ’ˆ์ด ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๊ธฐ๋Šฅ์— ์ ํ•ฉ ํ•จ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ†ตํ•ฉ ํ…Œ์ŠคํŒ… (Integration Testing) ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ / ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๊ฒฐํ•ฉ๋˜์–ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉ ํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฐํ•ฉ ๋ฐ ํ…Œ์ŠคํŠธ๋ฉ๋‹ˆ๋‹ค [IEEE 1990]. ์‹œ์Šคํ…œ ํ…Œ์ŠคํŒ… ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ ๋‚ด์—์„œ ์‹œ์Šคํ…œ์˜ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๋ฐ ๋™์ž‘์„ ํ™•์ธํ•˜๊ธฐ์œ„ํ•œ ์™„๋ฒฝํ•œ ํ†ตํ•ฉ ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ [IEEE 1990] ์ˆ˜๋ฝ ํ…Œ์ŠคํŠธ (Acceptance Testing) ์‹œ์Šคํ…œ์ด ์ˆ˜๋ฝ ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜๋Š”์ง€, ๊ณ ๊ฐ, ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ธฐํƒ€ ๊ถŒํ•œ์žˆ๋Š” ์ฃผ์ฒด๊ฐ€ ์‹œ์Šคํ…œ์„ ์ˆ˜๋ฝํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‹ค์‹œ๋˜๋Š” ๊ณต์‹ ํ…Œ์ŠคํŠธ [IEEE 1990] ํ…Œ์ŠคํŠธ์ค‘์ธ ์‹œ์Šคํ…œ (SUT)์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ [Ostrand 2002], ๊ทธ๋ ˆ์ด ๋ฐ•์Šค ํ…Œ์ŠคํŠธ [Linzhang et al. 2004] ๋ฐ ๋ธ”๋ž™ ๋ฐ•์Šค ํ…Œ์ŠคํŒ… [Edwards 2001]์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ด๋“ค ๋ฐฉ๋ฒ•์„ ์ดํ•˜์— ๊ธฐ์ˆ ํ•œ๋‹ค : ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ SUT์˜ ๋‚ด๋ถ€๋Š” ๋ชจ๋‘ ๋ˆˆ์— ๋„๊ณ  ์•Œ๋ ค ์ง€๋ฏ€๋กœ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ๋Š” ์˜ค๋ฅ˜ ๊ฐ์ง€์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ž™ ๋ฐ•์Šค ํ…Œ์ŠคํŒ… SUT ๋‚ด๋ถ€ ๋‚ด์šฉ์€ ์ˆจ๊ฒจ์ ธ ์žˆ์œผ๋ฉฐ ์‹œ์Šคํ…œ ๋˜๋Š” ๋ชจ๋“ˆ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ์ผํ•œ ์ง€์‹ ์ถœ๋ ฅ์€ ์‹ค์ œ ์ƒํ™ฉ์— ๋” ๊ฐ€๊น๋‹ค๋Š” ๊ฒƒ์ด ์•Œ๋ ค์ ธ์žˆ๋‹ค. ๊ทธ๋ ˆ์ด ๋ฐ•์Šค ํ…Œ์ŠคํŒ… ๋‘ ๊ฐ€์ง€ ์ด์ „ ๊ธฐ์ˆ ์˜ ํ˜ผํ•ฉ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. SUT์˜ ๋‚ด๋ถ€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ํ…Œ์ŠคํŠธ๋Š” ์˜ค๋ฅ˜ ๋งŒ ๊ฐ์ง€๋˜๋Š” ํ˜„์‹ค์ ์ธ ์กฐ๊ฑด์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. IoT ์‹œ์Šคํ…œ์€ ๋ณธ์งˆ์ ์œผ๋กœ ๋ณต์žกํ•˜๋ฉฐ, ๋งŽ์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ, ๋ชจ๋“ˆ ๋ฐ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ํ…Œ์ŠคํŠธํ•ด์•ผํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ณ€์ˆ˜์˜ ๊ฒฐ๊ณผ์— ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ์š”๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋†’์€ ์ด์งˆ์„ฑ, ๋Œ€๊ทœ๋ชจ, ๋™์  ํ™˜๊ฒฝ, ์‹ค์‹œ๊ฐ„ ์š”๊ตฌ, ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ์˜ ์˜๋ฏธ, ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์–ด๋ ค์›€ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ IoT ๊ณ„์ธต์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค (๊ทธ๋ฆผ 5).

  • ์—์ง€ ํ…Œ์ŠคํŠธ : ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ (์˜ˆ : Arduino) ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ๋กœ์ง ์ปจํŠธ๋กค๋Ÿฌ (PLC)์™€ ๊ฐ™์ด IoT ์‹œ์Šคํ…œ์˜ ํ•˜์œ„ ๋ ˆ๋ฒจ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์€ ํ…Œ์ŠคํŠธ ์ ‘๊ทผ๋ฒ•์€ ์ „ํ˜•์ ์œผ๋กœ ์—์ง€ ๋ ˆ์ด์–ด์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—์ง€ ๋””๋ฐ”์ด์Šค๋ฅผ ์‚ฌ์–‘์— ๋งž๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [Koopman 2011].
  • ํฌ๊ทธ ํ…Œ์ŠคํŒ… (Fog Testing) : ๋ณดํ†ต IoT ์‹œ์Šคํ…œ์˜ ์ค‘์  ๋ ˆ์ด์–ด์— ๊ด€ํ•œ ํ…Œ์ŠคํŠธ๋กœ์„œ, ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ… ์ ‘๊ทผ ๋ฐฉ์‹์€์ด ๊ณ„์ธต์— ์†ํ•œ ์žฅ์น˜๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ถฉ๋ถ„ํ•œ ์–‘์˜ ์ปดํ“จํŒ… ์„ฑ๋Šฅ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์ „์ฒด ์šด์˜ ์ฒด์ œ (์˜ˆ : Linux)๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›ํ™œํ•˜๊ฒŒ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๊ฒƒ์€ ์žฅ์น˜์™€ ์ธํ„ฐ๋„ท์„ ์—ฐ๊ฒฐํ•˜๋Š” ์—ฐ๊ฒฐ์„ฑ ์‹คํ˜„ ๋ ˆ์ด์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ํ…Œ์ŠคํŠธ [Kirichek and Koucheryavy 2016] ๋ฐ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ [Zhang et al. 2014].
  • ํด๋ผ์šฐ๋“œ ํ…Œ์ŠคํŠธ : ํด๋ผ์šฐ๋“œ ํ…Œ์ŠคํŠธ๋Š” ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์˜ ๊ณ ์œ  ํ•œ ํ’ˆ์งˆ ๋ฌธ์ œ๋ฅผ ํ…Œ์ŠคํŠธ ํ•  ํ•„์š”์„ฑ์„ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ์˜ ํ™•์žฅ ์„ฑ ๋ฐ ๋™์  ๊ตฌ์„ฑ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ„์•ผ๋Š” ๊ณต๊ฐœ์ ์ธ ๋„์ „๊ณผ ๊ทธ ์ž์ฒด์˜ ์Ÿ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฌธํ—Œ [Bai et al. 2011; Riungu et al. 2010].

IoT ์‹œ์Šคํ…œ์„ ์ „์ฒด์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๊ธฐ ์œ„ํ•ด, IoT ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๊ฐ€ ์ง„ํ–‰๋˜์–ด IoT ์‹œ์Šคํ…œ์„ ์ƒ์œ„ ๋ ˆ๋ฒจ๊นŒ์ง€ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ๊ฐ€ ๋ชจ๋“  ๊ณ„์ธต์„ ์ˆ˜์ง์ ์œผ๋กœ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‹จ์ผ ๋„๋ฉ”์ธ์œผ๋กœ ์‘์šฉ ๋˜๋Š” ๊ธฐ์ˆ  ์ธก๋ฉด์˜ ํŠน์ • ์˜์—ญ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์„ ๊ณตํ†ต ์‹คํ—˜ ์‹œ์„ค์— ๊ฒฐํ•ฉํ•˜๋Š” ๋‹ค์ค‘ ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ. ํ˜„์žฌ ํ™œ๋ฐœํ•˜๊ณ  ๊ณต๊ฐœ์ ์œผ๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌผ๋ฆฌ์  ์ธ ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์— ๋Œ€ํ•œ ์„ค๋ฌธ์€ Gluhak et al. [Gluhak et al. 2011]. ๋ฌผ๋ฆฌ์  ์ธ ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์™€ ํ•จ๊ป˜ IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œํŽธ์œผ๋กœ, ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ํƒ€๊ฒŸ ์‹œ์Šคํ…œ๊ณผ ์ •ํ™•ํ•˜๊ฒŒ ๋™์ผํ•œ ์‹œ์Šคํ…œ (์˜ˆ : ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ์—๋ฎฌ๋ ˆ์ด์…˜)์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ•œํŽธ, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ํƒ€๊ฒŸ ์‹œ์Šคํ…œ์˜ ๊ธด๋ฐ€ํ•œ ๋ณต์ œ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜์ง€๋งŒ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค (์˜ˆ : ์Šค๋งˆํŠธ ๋„์‹œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜). Looga ๋“ฑ์ด ์ถ”๊ตฌ ํ•œ ์—ฐ๊ตฌ ์€ ๊ธฐ์กด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์กฐ์‚ฌํ•˜์—ฌ IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  IoT (MAMMotH)๋ฅผ์œ„ํ•œ ์ƒˆ๋กœ์šด ์—๋ฎฌ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์„ ์ œ์•ˆํ•˜๋Š” ๋ฐ ๋Œ€ํ•œ ์ ํ•ฉ์„ฑ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค [Looga et al. 2012].

6.2 Internet-of-Things ํ…Œ์ŠคํŒ… ์†”๋ฃจ์…˜

ํ˜„์žฌ IoT ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์†”๋ฃจ์…˜์ด ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ ๋‹ค์–‘ํ•œ IoT ๋ ˆ์ด์–ด์™€ ๊ธฐ์ˆ ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋„๊ตฌ๋Š” ํ•™์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Scopus) ๋ฐ Google ๊ฒ€์ƒ‰ ์—”์ง„์— ๋Œ€ํ•œ ํ๋ ˆ์ดํŒ… ๋œ ๊ฒ€์ƒ‰ ํ›„์— ์„ ํƒ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค์Œ ๋‹จ๋ฝ์—์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ ๋œ ํ‚ค์›Œ๋“œ๋Š” INTERNET-OF-THINGS, TEST, TESTING ๋ฐ IoT ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

PlatformIO http://platformio.org/ PlatformIO๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ฝ”๋“œ ๋นŒ๋” ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ์ž๋กœ์„œ ์•ฝ 200 ๊ฐœ์˜ ๊ฐœ๋ฐœ ๋ณด๋“œ์™€ ๋Œ€๋ถ€๋ถ„์˜ ์ฃผ์š” ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ThrowTheSwitch.org [Mike Karlesky 2018]์˜ Unity Test API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ (PIO Unit Testing)์ด ์žˆ์Šต๋‹ˆ๋‹ค.

IoTIFY https://iotify.io/ IoTIFY๋Š” ํ•˜๋“œ์›จ์–ด ์ข…์†์„ฑ์—†์ด IoT๋ฅผ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์žฅ์น˜ ๊ฐ€์ƒํ™”์— ์˜์ง€ํ•˜์—ฌ ์ž„๋ฒ ๋””๋“œ ํ”„๋กœํ†  ํƒ€์ž… ์ œ์ž‘ ๋ฐ ์‹œ์Šคํ…œ ํ™•์žฅ ๋ฐ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„์œ„ํ•œ ๊ฐ€์ƒ ๋žฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

FIT IoT-LAB https://www.iot-lab.info/ [Adjih et al. 2015] IoT-LAB์€ ์†Œ๊ทœ๋ชจ ๋ฌด์„  ์„ผ์„œ ์žฅ์น˜ ๋ฐ 2000 ๊ฐœ๊ฐ€ ๋„˜๋Š” ์„ผ์„œ ๋…ธ๋“œ๊ฐ€์žˆ๋Š” ํ”„๋ž‘์Šค์˜ 6 ๊ฐœ ์‚ฌ์ดํŠธ์— ๋Œ€๊ทœ๋ชจ ์ธํ”„๋ผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ• ๋œ ์ด์งˆ์ ์ธ ํ†ต์‹  ๊ฐœ์ฒด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ๊ณผํ•™์  ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์ž…๋‹ˆ๋‹ค. SENSLAB ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์˜ ํ›„์† ์ œํ’ˆ์ด๋ฉฐ FIT (Future of the Things) ํ”Œ๋žซํผ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

ArduinoUnit https://github.com/mmurdoch/arduinounit ArduinoUnit์€ Arduino ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋ฒผ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์ ์ง€ ๋งŒ Arduino ๋ณด๋“œ์—์„œ ์‹œ์Šคํ…œ์„ ์‰ฝ๊ฒŒ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ…Œ์ŠคํŠธ ๋ณด๋“œ์— ํ…Œ์ŠคํŠธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ๋ชซ์ด๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ง๋ ฌ ํฌํŠธ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ•ด์„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

MAMMotH [Looga et al. 2012 ๋…„] MAMMotH๋Š” ๋Œ€๊ทœ๋ชจ IoT ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ์„œ, VM (Virtual Machine) ๋‹น 1 ๋งŒ ๊ฐœ์˜ ์žฅ์น˜๋ฅผ ์—๋ฎฌ๋ ˆ์ด์…˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜๋Š” ์„ธ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค, ์ฆ‰ GPRS๋ฅผ ํ†ตํ•ด ์Šคํƒ€ ํ† ํด๋กœ์ง€๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๊ธฐ์ง€๊ตญ์— ์—ฐ๊ฒฐ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์žฅ์น˜, ๋…๋ฆฝ ์‹คํ–‰ ํ˜• GPRS ๋ฐ ์ œํ•œ๋œ ์žฅ์น˜ (์˜ˆ : ์„ผ์„œ)๋ฅผ ํ†ตํ•ด ๊ธฐ์ง€๊ตญ์— ์—ฐ๊ฒฐ๋œ ๋ฌด์„  ์„ผ์„œ ๋„คํŠธ์›Œํฌ (WSN)๋Š” ๋Œ€์šฉ๋Ÿ‰ IoT ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ธ ๋ฐฑ์—”๋“œ์— ์—ฐ๊ฒฐ๋˜๋Š” ํ”„๋ก์‹œ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ IoT ํ™˜๊ฒฝ์— ์กด์žฌํ•˜๋Š” ํ†ต์‹  ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋œ ํ”„๋ก์‹œ๋Š” ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋ฌด์„  ๋งํฌ๋ฅผ ์‹œ๋ฎฌ ๋ ˆ์ดํŒ…ํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ง€์—ฐ ๋ฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š”์ด ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ—˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค๊ณ ์ด๋ฅผ ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ์— ๋ฐฐํฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SimIoT [Sotiriadis et al. 2014] SimIoT๋Š” IoT ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋™์  ๋ฐ ์‹ค์‹œ๊ฐ„ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์ œ์ถœ์— ๋Œ€ํ•œ ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํˆดํ‚ท์ž…๋‹ˆ๋‹ค. ์ด ํˆดํ‚ท์€ ๋ชจ๋ธ๋Ÿฌ๊ฐ€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ํ˜ธ์ŠคํŠธ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ์ •์ฑ… ์ธก๋ฉด์—์„œ ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜์žˆ๋Š” ์‹œ์Šคํ…œ ์ธ SimIC๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. SimIC๋Š” ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ, ์†Œํ”„ํŠธ์›จ์–ด ๋ฆฌ์†Œ์Šค ๋ฐ VM ์ง€์† ์‹œ๊ฐ„์— ๋Œ€ํ•œ ๋‹จ์ผ ๋˜๋Š” ๋‹ค์ค‘ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜์žˆ๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค ๊ฐ€์ƒํ™”.

Cooja Simulator https://anrg.usc.edu/contiki/ [Bagula and Erasmus 2015] Cooja ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” Contiki OS ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ ๋œ ์—๋ฎฌ๋ ˆ์ด์…˜ / ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ, ์šด์˜ ์ฒด์ œ ๋ฐ ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ดํŠธ ํ•  ์ˆ˜์žˆ๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ Java ๊ธฐ๋ฐ˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹œ๋ฎฌ๋ ˆ์ดํŠธํ•˜๋Š” ๋Œ€์‹  ์‹ค์ œ ๋…ธ๋“œ์— ์—…๋กœ๋“œ ํ•  ์ˆ˜์žˆ๋Š” ๋˜‘๊ฐ™์€ ํŽŒ์›จ์–ด ์‹คํ–‰์„ ์—๋ฎฌ๋ ˆ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cooja๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€์ƒ ํ•˜๋“œ์›จ์–ด์—์„œ ์ฝ”๋“œ์™€ ์‹œ์Šคํ…œ์„ ์‹คํ–‰ํ•˜๊ธฐ ์˜ค๋ž˜ ์ „์— ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TOSSIM http://tinyos.stanford.edu/ [Levis and Lee 2003] TOSSIM์€ TinyOS ์žฅ์น˜๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ดํŠธํ•˜๋Š” ํŠน์ • ๋ชฉํ‘œ๋กœ ๊ตฌ์ถ• ๋œ ๋ฌด์„  ์„ผ์„œ ๋„คํŠธ์›Œํฌ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. TinyOS๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ์ด๋ฒคํŠธ๊ฐ€์žˆ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์—”์ง„์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜๋˜๋ฏ€๋กœ์ด๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ ๋ณด๋‹ค ํšจ๊ณผ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. TOSSIM์€ ๋‘ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค (Python, C ++)๋ฅผ ์ง€์›ํ•˜๋ฉฐ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ถ€ํ„ฐ ํŒจํ‚ท ๋„์ฐฉ๊ณผ ๊ฐ™์€ ์ƒ์œ„ ๋ ˆ๋ฒจ ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ˆ˜์ค€์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

iFogSim http://www.cloudbus.org/cloudsim/ iFogSim์€ ์—์ง€ ์žฅ์น˜, ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋ฐ ๋„คํŠธ์›Œํฌ ๋งํฌ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ  ์ด๋“ค์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ ํ•  ์ˆ˜์žˆ๋Š” ์•ˆ๊ฐœ ๊ณ„์‚ฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด QoS (์„œ๋น„์Šค ํ’ˆ์งˆ) ๊ธฐ์ค€ (์˜ˆ : ๋Œ€๊ธฐ ์‹œ๊ฐ„, ๋„คํŠธ์›Œํฌ ์ •์ฒด)์— ๋”ฐ๋ผ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ ๊ธฐ์ˆ ์„ ์กฐ์‚ฌํ•˜๊ณ  ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MobIoTSim https://github.com/sed-szeged/MobIoTSim [Pflanzner et al. 2016] MobIoTSim์€ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๊ฐœ๋ฐœ ๋œ ๋ชจ๋ฐ”์ผ IoT ์žฅ์น˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, ์‹ค์ œ ์„ผ์„œ๋ฅผ ๊ตฌ์ž…ํ•˜์ง€ ์•Š๊ณ ๋„ IoT ์žฅ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ๋ฐฐ์šฐ๊ณ  ์—ฌ๋Ÿฌ ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ IoT ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹œ์—ฐํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ IBM Bluemix Platform ๋ฐ Azure IoT Hub์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ์˜ ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋œ ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ์„ผ์„œ ๊ฐ’์— ์‘๋‹ตํ•˜์—ฌ ์•Œ๋ฆผ์„ ๋‹ค์‹œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋Š” ์†Œํ˜• IoT ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ๊ฒ€์‚ฌํ•˜๊ณ  ํœด๋Œ€์šฉ ์žฅ์น˜๋กœ IoT ํด๋ผ์šฐ๋“œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IOTSim [Zeng et al. 2017] IOTSim์€ CloudSim ์‹œ์Šคํ…œ ์œ„์— ๊ตฌ์ถ• ๋œ Cloud ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ MapReduce ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ IoT ๋Œ€ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ๋Œ€ํ˜• ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•จ์œผ๋กœ์จ ์—ฐ๊ตฌ์› ๋ฐ ์ƒ์—… ์กฐ์ง์— ์˜ํ•œ IoT ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ํ–ฅ ๋ฐ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ดํ•ด์™€ ๋ถ„์„์„ ์šฉ์ดํ•˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค.

DPWSim [Han et al. 2014] DPWSim์€ ์„œ๋น„์Šค ์ง€ํ–ฅ ๋ฐ ์ด๋ฒคํŠธ ๊ตฌ๋™ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ”„๋กœํ†  ํƒ€์ดํ•‘ ๋ฐ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํˆดํ‚ท์ž…๋‹ˆ๋‹ค. ์›น ์„œ๋น„์Šค๋ฅผ์œ„ํ•œ OASIS ํ‘œ์ค€ ์žฅ์น˜ ํ”„๋กœํŒŒ์ผ (DPWS)์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•ฉ๋‹ˆ๋‹ค. ์Šค๋งˆํŠธ ๋ฐ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ์žฅ์น˜์—์„œ ์›น ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ์ฐธ์กฐ ๋œ ์žฅ์น˜ ํ”„๋กœํŒŒ์ผ์„ ๊ตฌํ˜„ํ•˜๋Š” IoT ์žฅ์น˜๋กœ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ๋ฒ”์œ„๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. .

SimpleIoTSimulator https://www.smplsft.com/SimpleIoTSimulator.html SimpleIoTSimulator๋Š” ๋‹จ์ผ ์ปดํ“จํ„ฐ์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ์„ผ์„œ๋กœ ๊ตฌ์„ฑ๋œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ƒ์„ฑ ํ•  ์ˆ˜์žˆ๋Š” IoT ์žฅ์น˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งŽ์€ ์ผ๋ฐ˜์ ์ธ IoT ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋ฉฐ ์‹ค์ œ ์„œ๋ฒ„ ๋ฐ ์„ผ์„œ๋กœ๋ถ€ํ„ฐ ๊ธฐ๋ก ๋œ ํŒจํ‚ท ๊ตํ™˜์˜ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํ•™์Šตํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋œ ์žฅ์น˜์˜ ๋™์ž‘์„ ๋ชจ๋ธ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Atomiton IoT ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ http://www.atomiton.com/ Atomiton Stack (Internet-of-Things์˜ ๋…์ ์  ์šด์˜ ํ™˜๊ฒฝ) ์œ„์— ๊ตฌ์ถ• ๋œ Atomiton IoT ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ๊ฐ€์ƒ ์„ผ์„œ, ์•ก์ถ”์—์ดํ„ฐ ๋ฐ ์žฅ์น˜๋ฅผ ๊ณ ์œ  ํ•œ ๋™์ž‘์œผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•  ์ˆ˜์žˆ๋Š” ํ”„๋กœํ†  ํƒ€์ดํ•‘ ๋ฐ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. IoT ์†”๋ฃจ์…˜์˜ ํ”„๋กœํ†  ํƒ€์ดํ•‘์„ ํ—ˆ์šฉํ•˜๊ณ  ๊ฒฝ๊ณ„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์ค‘๋‹จ, ์žฅ์น˜ ์‘๋‹ต ์ง€์—ฐ ๋ฐ ํ”ผํฌ๋กœ๋“œ์™€ ๊ฐ™์€ ์ˆ˜์ฒœ ๊ฐœ์˜ ์žฅ์น˜ ๋ฐ ์ด๋ฒคํŠธ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์˜์กดํ•˜์—ฌ ํ™•์žฅ ์„ฑ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

MBTAAS [Ahmad et al. 2016] ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ… ์„œ๋น„์Šค (MBTAAS)๋Š” IoT ๋ฐ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์„ ์ฒด๊ณ„์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ๋ฒ•์€ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ (MBT) ๊ธฐ์ˆ ๊ณผ ์„œ๋น„์Šค ์ง€ํ–ฅ ์†”๋ฃจ์…˜์„ ๊ฒฐํ•ฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ FIWARE IoT ๊ฐ€๋Šฅ ํ”Œ๋žซํผ ์œ„์— ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์†”๋ฃจ์…˜์˜ ๋ชจ๋“ˆ์„ฑ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ IoT ํ”Œ๋žซํผ ๊ฐ„์˜ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

CupCarbon http://www.cupcarbon.com/ [Bounceur 2016] CupCarbon์€ ์Šค๋งˆํŠธ ๋„์‹œ ๋ฐ IoT ๋ฌด์„  ์„ผ์„œ ๋„คํŠธ์›Œํฌ (SCI-WSN)๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ์œ„ํ•œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ•˜๋‚˜์˜ ๋ชจ๋ธ์˜ ๋ชจ๋ฐ”์ผ ์œ ๋‹› (์˜ˆ : ์ž๋™์ฐจ)๊ณผ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ด๋ฒคํŠธ (์˜ˆ : ์‚ฐ๋ถˆ, ๊ฐ€์Šค)์™€ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ฌด์„  ์„ผ์„œ ๋„คํŠธ์›Œํฌ์˜ ๊ฐœ๋ณ„ ์ด๋ฒคํŠธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์ž‘์„ฑํ•˜๊ณ  ์„ค๊ณ„๋œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ํ™˜๊ฒฝ. OpenStreeMaps ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ๊ฐ ๋…ธ๋“œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ์ˆ˜์žˆ๋Š” CupCarbon์€ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ํ™˜๊ฒฝ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„์œ„ํ•œ ๋ถ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„, ์‹œ๊ฐํ™”, ๋””๋ฒ„๊น… ๋ฐ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

ํ‘œ 5. IoT ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํˆด์˜ ๊ฐœ์š” ๋น„๊ต. N / A๋Š” ์กฐ์‚ฌ ์ค‘์— ์ด์šฉ ๊ฐ€๋Šฅํ•œ ์ •๋ณด๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜ ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

IoT ์†”๋ฃจ์…˜์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ์˜ ๊ฐœ์š” ๋น„๊ต๋Š” ํ‘œ 5์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์†”๋ฃจ์…˜์˜ ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ์€ ๋‹ค์–‘ํ•œ ๋ณ€์ˆ˜๋ฅผ ๊ด€์ฐฐํ•˜์—ฌ ๋ถ„์„๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ ๋„๊ตฌ๋Š” ๊ทธ๋ฆผ 5์— ์ œ์‹œ๋œ๋Œ€๋กœ IoT ๋ ˆ์ด์–ด๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ ˆ์ด์–ด์™€ ๊ด€๋ จ๋œ ํ…Œ์ŠคํŠธ ๋ณ€์ˆ˜์™€์˜ ๊ด€๊ณ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PLATFORMIO ๋ฐ ARDUINOUNIT์™€ ๊ฐ™์€ ์—์ง€ ๋ ˆ์ด์–ด ๋„๊ตฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์—์ง€ ์žฅ์น˜ (์˜ˆ : Arduino)์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์žฅ์ž๋ฆฌ ๋ ˆ์ด์–ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ์—์„œ ์ด๋ฏธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ๊ฐ€ ์œ ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : UNITY39). ํฌ๊ทธ ๋ฐ ํด๋ผ์šฐ๋“œ ๋„๊ตฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ…Œ์ŠคํŠธ์— ๊ด€์‹ฌ์ด ์žˆ์ง€๋งŒ ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ•˜์œ„ ์ˆ˜์ค€ ํ…Œ์ŠคํŠธ๋Š” ๋ฌด์‹œํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ฐ ํ†ตํ•ฉ ์ˆ˜์ค€์—์„œ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋„๊ตฌ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ˆ˜์ค€ ๋ถ„์„์„ ํ†ตํ•ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์—์„œ ์ˆ˜๋ฝ ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์ ์–ด๋„ ๋ถ€๋ถ„์ ์œผ๋กœ ๋ชจ๋“  ์ˆ˜์ค€์„ ๋‹ค๋ฃจ๋Š” ๋„๊ตฌ๊ฐ€ ์žˆ์Œ์„ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋„๊ตฌ๋Š” ๋ชจ๋“  ์ˆ˜์ค€์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ถ€ ๊ธฐ๋Šฅ์€ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜์˜ ์˜ˆ๋กœ FIT IoT-LAB ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ ˆ์ด์–ด์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋“ฑ์˜ ๊ฐœ๋ฐœ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ๋„๊ตฌ๋Š” ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๋กœ๊ทธ ๋ฐ ์‘๋‹ต์„ ์ˆ˜์ง‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ํ•ด๋‹น ์ •๋ณด์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋“ฑ์˜ ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ์„ ๋ถ€๋ถ„์ ์œผ๋กœ ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์–ธ์–ด์™€ ํ”Œ๋žซํผ์˜ ์†”๋ฃจ์…˜ ์ง€์›์—๋Š” ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ์˜ ๊ด‘๋Œ€ ํ•œ ๋ถ€๋ถ„์€ ํŠน์ • ํ”Œ๋žซํผ, ์–ธ์–ด ๋˜๋Š” ํ‘œ์ค€์— ์ดˆ์ ์„๋‘๊ณ  IoT ํ•„๋“œ์˜ ์ด์งˆ์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ์˜ ์˜ˆ๋กœ DPWS (Web Services Services) ์žฅ์น˜ ์–ธ์–ด์— ์ดˆ์ ์„ ๋‘” DPWSIM๊ณผ TinyOS ํ˜ธํ™˜ ์žฅ์น˜ ์šฉ TOSSIM ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์ ์€ ํ‘œ์ค€ํ™”์—†์ด ์‹œ์žฅ์— ์ถœํ˜„ํ•˜๊ณ ์žˆ๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๋ฐ IoT ๊ฐ€๋Šฅ ๊ธฐ์ˆ  (์˜ˆ : ์ฐธ์กฐ ์•„ํ‚คํ…์ฒ˜)์—์„œ ๋‚˜ํƒ€๋‚˜๋ฉฐ ํ”Œ๋žซํผ์— ๋…๋ฆฝ์  ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค . ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€๋Š” ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์ด ๋งŽ๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ๊ฐœ๋ฐœ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๊ตฌํ˜„์— ๊ฐœ๋ฐฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

IoT ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธํ•ด์•ผํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์•„ํ‹ฐํŒฉํŠธ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ ํ•„์ˆ˜ ์‚ฌํ•ญ์€ ๊ณ ๋„๋กœ ๋ถ„์‚ฐ ๋œ ์‹œ์Šคํ…œ ๋ถ„์•ผ์— ๊ณตํ†ต์ ์ž…๋‹ˆ๋‹ค. ์ฒซ์งธ, ์ธ๊ณต๋ฌผ์ด ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜ (์˜ˆ : MAMMoTH, IFOGSIM), ๋„คํŠธ์›Œํฌ ๋ฐ ํ†ต์‹  ๋ณ€์ˆ˜์— ๋” ๋งŽ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ MOBIOTSIM๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค ๋‚ด์—์„œ ๊ธฐ๋Šฅ, ์œ ์šฉ์„ฑ ๋ฐ ์ผ๊ด€์„ฑ์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ค€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ์†”๋ฃจ์…˜์€ PLATFORMIO์™€ ๊ฐ™์€ ์—์ง€ ์žฅ์น˜์˜ ์ฝ”๋“œ ํ…Œ์ŠคํŒ…์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ, ๊ทœ์ • ํ…Œ์ŠคํŠธ ๋ฐ ํŽŒ์›จ์–ด / ์†Œํ”„ํŠธ์›จ์–ด ์—…๊ทธ๋ ˆ์ด๋“œ (์˜ˆ : ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์† ํ†ตํ•ฉ ๊ธฐ๋Šฅ)์™€ ๊ฐ™์€ ํŠน์ • ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฒ”์œ„์—์„œ OWASP (Open Web Application Security Project)๋Š” โ€œ์ œ์กฐ์—…์ฒด, ๊ฐœ๋ฐœ์ž ๋ฐ ์†Œ๋น„์ž๊ฐ€ Internet-of-Things์™€ ๊ด€๋ จ๋œ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ณ  IoT ๊ธฐ์ˆ ์„ ๊ตฌ์ถ•, ๋ฐฐํฌ ๋˜๋Š” ํ‰๊ฐ€ํ•  ๋•Œ ๋” ๋‚˜์€ ๋ณด์•ˆ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜์žˆ๋Š” ๋ชจ๋“  ์ปจํ…์ŠคํŠธ โ€œ[ํ”„๋กœ์ ํŠธ 2017]. ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ ์†”๋ฃจ์…˜ ๋‚ด์—์„œ ๋˜ ๋‹ค๋ฅธ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ™˜๊ฒฝ์€ ์—๋ฎฌ๋ ˆ์ด์…˜ (์˜ˆ : Arduino ๋ณด๋“œ์˜ ๊ฐ€์ƒ ํ‘œํ˜„) ๋˜๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ์ˆ  (์˜ˆ : ์Šค๋งˆํŠธ ๋„์‹œ ๋˜๋Š” ์Šค๋งˆํŠธ ํ•˜์šฐ์Šค์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜)์„ ํ†ตํ•ด ์ˆœ์ˆ˜ํ•˜๊ฒŒ ๊ฐ€์ƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ FIT IoT-LAB๊ณผ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์ธ ํ…Œ์ŠคํŠธ ๋ฒ ๋“œ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ช‡ ๊ฐ€์ง€ ๋…ธ๋ ฅ์ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฌผ๋ฆฌ์  ์ธ ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ „ํ†ต์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ… ๋„๊ตฌ (๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์šฉ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๊ด€๋ จ ์ธก๋ฉด์€ ๋ฐœ๊ฒฌ ๋œ ์†”๋ฃจ์…˜์˜ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์™€ ๊ฐœ๋ฐฉ์„ฑ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ•ด๊ฒฐ์ฑ…์ด ๋ฌธํ—Œ์— ์ œ์‹œ๋˜์—ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์ด ์ˆœ์ˆ˜ ํ•™๋ฌธ์ ์ด๋ฉฐ ์†Œ์Šค ์ฝ”๋“œ ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ƒ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์€ ๋ถ€์กฑํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„ ํ์‡„ ํ˜• ์†Œ์Šค์ด๋ฏ€๋กœ ํ™•์žฅ ๊ธฐ๋Šฅ์ด๋‚˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด ๋„๊ตฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด ๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ถ€ ๋„๊ตฌ๋Š” ์›๊ฒฉ ํ…Œ์ŠคํŠธ ์ฃผ์ž์—๊ฒŒ๋งŒ ์ œ๊ณต๋˜๋ฏ€๋กœ ํŠน์ • ์†”๋ฃจ์…˜์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐ ํ•  ์ˆ˜์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6.3 ๊ฒฐ๋ก 

์ด์ „ ์„น์…˜์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ…Œ์ŠคํŠธ ๊ธฐ์ˆ ๊ณผ ๋ฐฉ๋ฒ•๋ก ์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํ•˜๋“œ์›จ์–ด ์—ฐ๊ตฌ ์˜์—ญ ์ „๋ฐ˜์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ ์˜ํ–ฅ์€ ์ ์ง€ ๋งŒ ํ•จ๊ป˜ ์—ฐ๊ตฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•œ ์‘์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ํ•จ๊ป˜ ์‹œ์žฅ ๊ฐ€์น˜๊ฐ€ ๋†’์€ ์ง€์—ญ์œผ๋กœ์„œ์˜ IoT์˜ ์ถœํ˜„์€ ํ•„์š”๋ฅผ ๋”์šฑ ๊ฐ•ํ™” ์‹œ์ผฐ์œผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด ๋ชจ๋‘๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋Œ€๊ทœ๋ชจ ์†”๋ฃจ์…˜์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ๋งŽ์€ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ IoT์˜ ๋„๋ฉ”์ธ ๊ฐ„ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ์—ฐ๊ตฌ ๋ถ„์•ผ์—์„œ ์˜ค๋žซ๋™์•ˆ ์ถ”๊ตฌ๋˜์–ด ์™”๋˜ ์—ฐ๊ตฌ ๊ณผ์ œ๊ฐ€ ํ˜„์žฌ IoT ๋ถ„์•ผ์—์„œ ๋ฌธ์ œ๊ฐ€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ํฐ ์˜๋ฏธ๋ฅผ ์ง€๋‹Œ ์˜์—ญ์œผ๋กœ ๋‹ค์Œ ์˜์—ญ์„ ์—ด๊ฑฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(1) ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ : ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์ ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์€ ํ†ตํ•ฉ ๋ฐ ์‹œ์Šคํ…œ ์ˆ˜์ค€ ํ…Œ์ŠคํŠธ์˜ ๊ด€์ ์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ํƒ์ƒ‰ ์  ํ…Œ์ŠคํŠธ, ์กฐํ•ฉ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ…๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์ด ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ƒ๋‹นํ•œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” ์—…๊ณ„์˜ ์ดˆ์ ๊ณผ ์—ฐ๊ตฌ์˜ ์ดˆ์  ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [Ghazi et al. 2015].

(2) ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ (Large-Scale Distributed Systems) : ๋Œ€๊ทœ๋ชจ์˜ ๊ณ ๋„๋กœ ๋ถ„์‚ฐ ๋œ ์‹œ์Šคํ…œ์€ ํ…Œ์ŠคํŠธ๋˜์–ด์•ผ ํ•  ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์˜ ์ถœํ˜„์œผ๋กœ ์ด์–ด์ง„๋‹ค. ๊ทธ ์˜ˆ๋กœ ๋ถ€ํ•˜ ์‹œํ—˜ [Jiang and Hassan 2015]๊ณผ ๊ทธ๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ๋™์  ๊ฑฐ๋™์˜ ์ทจ๊ธ‰์ด์žˆ๋‹ค. (3) ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ : IoT ์‹œ์Šคํ…œ์˜ ์ƒ์œ„ ๊ณ„์ธต์€ ํด๋ผ์šฐ๋“œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์ด ์œ ๋น„์ฟผํ„ฐ์Šค ํ™”๋˜๊ณ  ์žˆ์ง€๋งŒ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ / ํด๋ผ์šฐ๋“œ ์—ฐ๊ฒฐ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ์ „ํžˆ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ˆ๋กœ๋Š” ํƒ„๋ ฅ์  ์ธ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์˜ ์„ค๊ณ„ ๋ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [Calheiros et al. 2011].

(4) ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ : ์žฅ์น˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์— ์ œ์•ฝ์ด์žˆ์–ด ์‹คํ–‰์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์žฅ์น˜๋Š” ์ „ํ˜•์ ์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์š”๊ตฌ์™€ ๊ด€๋ จ๋˜๋ฉฐ, ํ…Œ์ŠคํŠธ ์‘๋‹ต์„ ํ™˜๊ฒฝ ๋ณ€ํ™”์—๋ณด๋‹ค ํœ˜๋ฐœ์„ฑ์ด๋˜๊ฒŒํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ (์˜ˆ๋ฅผ ๋“ค์–ด, ์ „๋ ฅ ์„œ์ง€)๋กœ ์ธํ•ด ์‹คํŒจํ•˜๊ธฐ ์‰ฝ๋‹ค [Banerjee et al. 2016].

๋”๊ตฐ๋‹ค๋‚˜, ํŠนํžˆ ์ž๋™ํ™” ๋œ ๋ฐฉ์‹์œผ๋กœ ๋ถ„์‚ฐ ๋ฐ ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๋„๊ตฌ์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ถ€์กฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ์ง€์†์ ์ธ ์—ฐ๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [Lima 2016].

IoT ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์— ํž˜์„ ์‹ค์–ด์ฃผ๋Š” ๊ธฐ์ˆ ๋“ค ์‚ฌ์ด์— ํผ์ ธ์žˆ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธํ—Œ๋“ค๊ณผ ํ•จ๊ป˜ ์—ด๋ฆฐ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์ˆ ๊ณผ์˜ ๊ฒฐํ•ฉ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํ•˜๋“œ์›จ์–ด ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ด๋ฏธ ๋„๋ฆฌ ์•Œ๋ ค์ง„ ์ง€์‹์œผ๋กœ IoT ์†”๋ฃจ์…˜์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ์ ์ ˆํ•œ ์†”๋ฃจ์…˜์ด๋‚˜ ๋ฐฉ๋ฒ•๋ก ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ง‘๊ณ„ํ•˜๊ณ  ๋น„๊ต ํ•œ ๊ฒฐ๊ณผ, ๋ชจ๋“  ๊ณ„์ธต์—์„œ IoT ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์†”๋ฃจ์…˜์€ ์†Œ์ˆ˜์— ๋ถˆ๊ณผํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์€ ํ•ญ์ƒ ์ผ๋ถ€ ์ข…๋ฅ˜์˜ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : ์ œํ•œ๋œ ์ˆ˜์˜ ํ…Œ์ŠคํŠธ ๋ณ€์ˆ˜ ๋˜๋Š” ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ ).

๋”ฐ๋ผ์„œ ์žฅ์น˜, ํ†ต์‹  ํ”„๋กœํ† ์ฝœ, ํ‘œ์ค€ ๋ฐ ์ฐธ์กฐ ์•„ํ‚คํ…์ฒ˜์—์„œ ๊ธฐ์กด ๋ฐ ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ด์งˆ์„ฑ์„ ๋ฌด์‹œํ•˜์ง€ ์•Š์œผ๋ฉด ์„œ IoT ๋ฐ ๊ทธ ๊ณ„์ธต์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๋„๊ตฌ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™•์žฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋‹ค๋ฅธ ์‹œํ—˜ ์ดˆ์ ์„ ๊ฐ€์ง„ ๋„๊ตฌ๊ฐ€ ๊ฐœ๋ฐœ๋˜์–ด์•ผํ•œ๋‹ค. ๋˜ํ•œ ํ…Œ์ŠคํŠธ ์†”๋ฃจ์…˜์€ IoT ์†”๋ฃจ์…˜์„์œ„ํ•œ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ง€์†์ ์ธ ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

IoT ํ…Œ์ŠคํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ธฐ์กด ์‹œ์Šคํ…œ๊ณผ ์ฐจ๋ณ„ํ™”ํ•˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์€ ์ด๊ธฐ์ข… ๋ฐ ๋Œ€๊ทœ๋ชจ ๊ฐœ์ฒด ๋ฐ ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”์†Œ๋Š” IoT ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ณต์žก์„ฑ๊ณผ ์–ด๋ ค์›€์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์ด์ด ๊ธฐ์‚ฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋„๋ฆฌ ๋ณด๊ธ‰ ๋œ ์‹ค์ œ ์ตœ์‹  ๊ธฐ์ˆ ๊ณผ ๋ฐฉ๋ฒ•๋ก  ๋ฐ ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๊ณผ ๋ฐฉ๋ฒ•๋ก ์„ IoT ๊ฐœ๋ฐœ ๋ฒ”์œ„๋กœ ๊ฐ€์ ธ ์˜ค๋Š” ํ•„์š”์„ฑ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŒ… ์†”๋ฃจ์…˜์˜ ํ‹ˆ์ƒˆ๋Š” ๊ทธ๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ์ƒ์šฉ ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ์˜ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ์ง‘๊ณ„๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” IoT ์‹œ์Šคํ…œ์— ์ง์ ‘ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ผ๋ จ์˜ ์˜ค๋ž˜๋œ ๋ฌธ์ œ์ ์ด ์žˆ์œผ๋ฉฐ ํ…Œ์ŠคํŠธ ์†”๋ฃจ์…˜, ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ์ ˆ์ฐจ ๋ฐ ์ง€์†์ ์ธ ํ†ตํ•ฉ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

7 ๊ฒฐ๋ก 

Internet-of-Things์˜ ์ถœํ˜„๊ณผ ํ•จ๊ป˜ ๋น„์ „ ์ธํ„ฐ๋„ท์€ World Wide Web (WWW)์„ ๋„˜์–ด ์„ผ์„œ์—์„œ ์•ก์ถ”์—์ดํ„ฐ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ผ์ผ ๊ฐœ์ฒด ๋ฐ ์ธํ”„๋ผ์— ์—ฐ๊ฒฐ๋œ ์—ฐ๊ฒฐ ๋Œ€์ƒ์œผ๋กœ ๋ฐ”๋€Œ ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ ํฅ ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ ๊ณผ ์ €์ „๋ ฅ ๋ฐ ์ €์ „๋ ฅ ๋””๋ฐ”์ด์Šค๋กœ ์ธํ•œ ํ˜„์‹ค๊ฐ ์ „ํ™˜์€ ์—ฐ๊ตฌ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€์ ์—์„œ๋ถ€ํ„ฐ ์‚ฐ์—…, ๋„์‹œ ๊ด€๋ฆฌ ๋ฐ ๊ฑด๊ฐ•๊ณผ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐํšŒ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

IoT๋Š” ์ด๋ฏธ ์šฐ๋ฆฌ ์ผ์ƒ ์ƒํ™œ์— ๋ˆˆ์— ๋„๋Š” ์˜ํ–ฅ์„ ๋ฏธ์ณค์ง€ ๋งŒ ๊ฐœ๋… ์ฒด๊ณ„์—์„œ ์œ ์ง€ ๋ณด์ˆ˜์— ์ด๋ฅด๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ณผ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์šฐ์„  ๋””์ž์ธ์˜ ์‹œ๋Œ€์— IoT ํ˜„์‹ค์€ ์•ˆ๊ฐœ ๋ฐ ์•ˆ๊ฐœ / ๊ฐ€์žฅ์ž๋ฆฌ ๊ณ„์‚ฐ์˜ ํƒ„์ƒ์œผ๋กœ ๋ณผ ์ˆ˜์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ฑด์ถ• ๋ฐฉ์‹์— ๋Œ€ํ•œ ๊ด€์‹ฌ์„ ์ฆ๊ฐ€ ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์ง€์‹ ์ฒด๊ณ„ ์ธก๋ฉด์—์„œ ๋ณผ ๋•Œ Visual Programming ๋ฐ Model-driven (Software) Engineering๊ณผ ๊ฐ™์€ ์ ‘๊ทผ๋ฒ•์€ IoT์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์–ด ์™”์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ตœ๊ทผ์—๋Š” ๋ผ์ด๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์˜ ํ™œ๋ ฅ์„ ๋†’์ด๊ณ  ๊ฐœ๋ฐœ์ž์˜ ์ „๋ฐ˜์ ์ธ ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ• (์˜ˆ : ๋ฒ„๊ทธ ๊ฐ์ง€ ๋ฐ ์ˆ˜์ •์˜ ๋ณต์žก์„ฑ ๊ฐ์†Œ)์— ๋Œ€ํ•œ ์ž‘์—…์ด ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

REFERENCES 2016. A Primer on Continuous Delivery. https://feeney.mba/2016/02/25/a-primer-on-continuous-delivery [Online; accessed 1. Jun. 2018]. 2017. Global Internet Report 2017: Paths to Our Digital Future. Technical Report. Internet Society. 148 pages. 2018. Internet of Everything (IoE). https://newsroom.cisco.com/ioe [Online; accessed 14. May 2018]. 2018. OWASP Internet of Things Project. https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project#IoT_Attack_ Surface_Areas_Project [Online; accessed 22. May 2018]. Cedric Adjih, Emmanuel Baccelli, Eric Fleury, Gaetan Harter, Nathalie Mitton, Thomas Noel, Roger Pissard-Gibollet, Frederic Saint-Marcel, Guillaume Schreiner, Julien Vandaele, et al. 2015. FIT IoT-LAB: A large scale open experimental IoT testbed. In IEEE 2nd World Forum on Internet of Things. IEEE, 459โ€“464. Abbas Ahmad, Fabrice Bouquet, Elizabeta Fourneret, Franck Le Gall, and Bruno Legeard. 2016. Model-Based Testing as a Service for IoT Platforms. Springer International Publishing, Cham, 727โ€“742. https://doi.org/10.1007/978-3-319-47169-3_55 C Alexander, S Ishikawa, and M Silverstein. 1977. A Pattern Language. https://doi.org/10.2307/1574526 B Bagula and ZENVILLE Erasmus. 2015. Iot emulation with cooja. In ICTP-IoT Workshop. Xiaoying Bai, Muyang Li, Bin Chen, Wei-Tek Tsai, and Jerry Gao. 2011. Cloud testing tools. In Service Oriented System Engineering (SOSE), 2011 IEEE 6th International Symposium on. IEEE, 1โ€“12. Abhijeet Banerjee, Sudipta Chattopadhyay, and Abhik Roychoudhury. 2016. Testing Embedded Software. Advances in Computers, Vol. 101. Elsevier, 121 โ€“ 153. https://doi.org/10.1016/bs.adcom.2015.11.005 Barbara Rita Barricelli and Stefano Valtolina. 2015. Designing for End-User Development in the Internet of Things. Springer International Publishing, Cham, 9โ€“24. https://doi.org/10.1007/978-3-319-18425-8_2 Boris Beizer. 2003. Software testing techniques. Dreamtech Press. David Bericat. 2018. Internet of Things (IoT) overview powered by Red Hat. https://www.slideshare.net/DavidBericat/ ss45534bericatlacimaaccentureintro [Online; accessed 22. May 2018]. Michael Blackstock and Rodger Lea. 2012a. IoT mashups with the WoTKit. Proceedings of 2012 International Conference on the Internet of Things, IOT 2012 (2012), 159โ€“166. https://doi.org/10.1109/IOT.2012.6402318 Michael Blackstock and Rodger Lea. 2012b. IoT mashups with the WoTKit. In Internet of Things (IOT), 2012 3rd International Conference on the. IEEE, 159โ€“166. Michael Blackstock and Rodger Lea. 2014. Toward a Distributed Data Flow Platform for the Web of Things (Distributed Node-RED). In Proceedings of the 5th International Workshop on Web of Things - WoT โ€™14. 34โ€“39. https://doi.org/10.1145/2684432.2684439 Marat Boshernitsan and Michael Downes. 2004. Visual Programming Languages: A Survey. Computer Science Division (EECS) December (2004). http://digitalassets.lib.berkeley.edu/techreports/ucb/text/CSD-04-1368.pdf Ahcรจne Bounceur. 2016. CupCarbon: A New Platform for Designing and Simulating Smart-City and IoT Wireless Sensor Networks (SCI-WSN). Proceedings of the International Conference on Internet of Things and Cloud Computing (2016), 1:1โ€”-1:1. https://doi.org/10.1145/2896387.2900336 M.M. Burnett and M.J. Baker. 1994. A classification system for visual programming languages. Journal of Visual Languages and Computing 5, 3 (1994), 287โ€“300. https://doi.org/10.1006/jvlc.1994.1015 cited By 22. F Bushmann, R Meunier, and H Rohnert. 1996. Pattern-oriented software architecture: A system of patterns. John Wiley&Sons 1 (1996), 476. https: //doi.org/10.1192/bjp.108.452.101 Rajkumar Buyya and Amir Vahid Dastjerdi. 2016. Internet of Things: Principles and Paradigms. Elsevier. https://doi.org/10.1016/C2015-0-04135-1 Rodrigo N Calheiros, Rajiv Ranjan, Anton Beloglazov, Cรฉsar AF De Rose, and Rajkumar Buyya. 2011. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice and experience 41, 1 (2011), 23โ€“50. Yinong Chen and Gennaro De Luca. 2016. VIPLE: visual IoT/robotics programming language environment for computer science education. In Parallel and Distributed Processing Symposium Workshops, 2016 IEEE International. IEEE, 963โ€“971. Philip T. Cox. 2007. Visual Programming Languages. John Wiley & Sons, Inc. https://doi.org/10.1002/9780470050118.ecse450 Joรฃo Pedro Dias, Flavio Couto, Ana C. R. Paiva, and Hugo Sereno Ferreira. 2018. A Brief Overview of Existing Tools for Testing the Internet-of-Things. In Proceedings of the 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (First International Workshop on Verification and Validation of Internet of Things). IEEE - Institute of Electrical and Electronics Engineers.

Joรฃo Pedro Dias, Josรฉ Pedro Pinto, and Josรฉ Magalhรฃes Cruz. 2017. A Hands-on Approach on Botnets for Behavior Exploration. In Proceedings of the 2nd International Conference on Internet of Things, Big Data and Security. SCITEPRESS - Science and Technology Publications, 463โ€“469. https://doi.org/10.5220/0006392404630469 Stephan Diehl. 2007. Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer. http://gen.lib.rus.ec/book/ index.php?md5=D6C642DE2B9229610116A0B600F02A60 A. Dohr, R. Modre-Opsrian, M. Drobics, D. Hayn, and G. Schreier. 2010. The Internet of Things for Ambient Assisted Living. Seventh International Conference on Information Technology: New Generations (2010), 804โ€“809. https://doi.org/10.1109/ITNG.2010.104 Stephen H Edwards. 2001. A framework for practical, automated black-box testing of component-based software. Software Testing, Verification and Reliability 11, 2 (2001), 97โ€“111. Hugo Sereno Ferreira. 2011. Adaptive Object-Modeling Patterns, Tools and Applications. Ph.D. Dissertation. F. Fleurey and B. Morin. 2017. ThingML: A Generative Approach to Engineer Heterogeneous and Distributed Systems. (April 2017), 185โ€“188. https: //doi.org/10.1109/ICSAW.2017.63 B. Francis. 2017. Web Thing API. Technical Report. Mozilla. Mattern Friedemann and Christian Floerkemeir. 2011. From the Internet to the Internet of Things. From Active Data Management to Event-Based Systems and More (2011), 242โ€“259. https://doi.org/10.1007/978-3-642-17226-7 arXiv:9780201398298 Ahmad Nauman Ghazi, Kai Petersen, and Jรผrgen Bรถrstler. 2015. Heterogeneous Systems Testing Techniques: An Exploratory Survey. Springer International Publishing, Cham, 67โ€“85. https://doi.org/10.1007/978-3-319-13251-8_5 Alexander Gluhak, Srdjan Krco, Michele Nati, Dennis Pfisterer, Nathalie Mitton, and Tahiry Razafindralambo. 2011. A survey on facilities for experimental internet of things research. IEEE Communications Magazine 49, 11 (2011). Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu Palaniswami. 2013. Internet of Things (IoT): A vision, architectural elements, and future directions. Future Generation Computer Systems 29, 7 (2013), 1645โ€“1660. https://doi.org/10.1016/j.future.2013.01.010 arXiv:1207.0203 Son N. Han, Gyu Myoung Lee, Noel Crespi, Kyongwoo Heo, Nguyen Van Luong, Mihaela Brut, and Patrick Gatellier. 2014. DPWSim: A simulation toolkit for IoT applications using devices profile for web services. 2014 IEEE World Forum on Internet of Things, WF-IoT 2014 (2014), 544โ€“547. https://doi.org/10.1109/WF-IoT.2014.6803226 David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Rob Barton, and Jerome Henry. [n. d.]. IoT Fundamentals: Networking Technologies, Protocols, and Use Cases for the Internet of Things. Robert Hanmer. 2013. Patterns for fault tolerant software. John Wiley & Sons. Runze Hao, Brice Morin, and Arne-Jรธrgen Berre. 2012. A semi-automatic behavioral mediation approach based on models@runtime. Mrt@Runtime (2012), 67โ€“71. https://doi.org/10.1145/2422518.2422529 Nicolas Harrand, Franck Fleurey, Brice Morin, and Knut Eilif Husa. 2016. ThingML: A Language and Code Generation Framework for Heterogeneous Targets. (2016), 125โ€“135. https://doi.org/10.1145/2976767.2976812 Ben Herzberg, Dima Bekerman, and Igal Zeifman. 2016. Breaking Down Mirai: An IoT DDoS Botnet Analysis. Incapsula Blog (Oct 2016). https: //www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html Md. Mahmud Hossain, Maziar Fotouhi, and Ragib Hasan. 2015. Towards an Analysis of Security Issues, Challenges, and Open Problems in the Internet of Things. 2015 IEEE World Congress on Services (2015), 21โ€“28. https://doi.org/10.1109/SERVICES.2015.12 G F Hurlburt, J Voas, and K W Miller. 2012. The Internet of Things: A Reality Check. IT Professional 14, June (2012), 56โ€“59. https://doi.org/10.1109/ MITP.2012.60 IEEE. 1990. IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990 (Dec 1990), 1โ€“84. https://doi.org/10.1109/ IEEESTD.1990.101064 Michaela Iorga, Larry Feldman, Robert Barton, Michael J Martin, Nedim S Goren, and Charif Mahmoudi. 2018. Fog Computing Conceptual Model. Technical Report. ISO/IEC JTC 1. 2014. Internet of Things (IoT) - Preliminary Report. Technical Report. ISO. D. Janes. 2017. IOTDB. Technical Report. IOTDB.org. C. Jennings, Z. Shelby, Cisco, Sensinode, Ericsson, and J. Arkko. 2013. Media Types for Sensor Markup Language (SENML). https://tools.ietf.org/ html/draft-jennings-senml-10 [Online; accessed 19. May 2018]. Z. M. Jiang and A. E. Hassan. 2015. A Survey on Load Testing of Large-Scale Software Systems. IEEE Transactions on Software Engineering 41, 11 (Nov 2015), 1091โ€“1118. https://doi.org/10.1109/TSE.2015.2445340 Wesley M. Johnston, J. R. Paul Hanna, and Richard J. Millar. 2004. Advances in dataflow programming languages. Comput. Surveys 36, 1 (2004), 1โ€“34. https://doi.org/10.1145/1013208.1013209 Ved P. Kafle, Yusuke Fukushima, and Hiroaki Harai. 2016. Internet of things standardization in ITU and prospective networking technologies. IEEE Communications Magazine 54, 9 (sep 2016), 43โ€“49. https://doi.org/10.1109/MCOM.2016.7565271 Ashton Kevin. 2009. That โ€™Internet of Thingsโ€™ Thing. RFID journal (2009). Ruslan Kirichek and Andrey Koucheryavy. 2016. Internet of Things Laboratory Test Bed. Springer India, New Delhi, 485โ€“494. https://doi.org/10. 1007/978-81-322-2580-5_44 James Kirkland. 2015. Internet of Things: insights from Red Hat - RHD Blog. https://developers.redhat.com/blog/2015/03/31/ internet-of-things-insights-from-red-hat [Online; accessed 22. May 2018]. Philip Koopman. 2011. Embedded Software Testing. (2011). http://www.ece.cmu.edu/~ece649/lectures/08_testing.pdf Dmitry G Korzun, Sergey I Balandin, and Andrei V Gurtov. 2013. Deployment of Smart Spaces in Internet of Things: Overview of the Design Challenges. 48โ€“59. https://doi.org/10.1007/978-3-642-40316-3_5 Yu Beng Leau, Wooi Khong Loo, Wai Yip Tham, and Soo Fun Tan. 2012. Software development life cycle AGILE vs traditional approaches. In International Conference on Information and Network Technology, Vol. 37. 162โ€“167. Philip Levis and Nelson Lee. 2003. Tossim: A simulator for tinyos networks. UC Berkeley, September 24 (2003).

Karen Lewis. 2016. Fantastic news for Open Source and IoT fans. https://www.ibm.com/blogs/internet-of-things/open-source-iot/ Toby Jia-Jun Li, Amos Azaria, and Brad A Myers. 2017a. SUGILITE: creating multimodal smartphone automation by demonstration. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. ACM, 6038โ€“6049. Toby Jia-Jun Li, Yuanchun Li, Fanglin Chen, and Brad A. Myers. 2017b. Programming IoT Devices by Demonstration Using Mobile Apps. In End-User Development, Simone Barbosa, Panos Markopoulos, Fabio Paternรฒ, Simone Stumpf, and Stefano Valtolina (Eds.). Springer International Publishing, Cham, 3โ€“17. Steve Liang, Chih-Yuan Huang, and Tania Khalafbeigi. 2016. OGC SensorThings API. Technical Report. Open Geospatial Consortium. Bruno Lima. 2016. Automated Scenario-Based Testing of Distributed and Heterogeneous Systems. Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016 (2016), 383โ€“384. https://doi.org/10.1109/ICST.2016.49 Wang Linzhang, Yuan Jiesong, Yu Xiaofeng, Hu Jun, Li Xuandong, and Zheng Guo. 2004. Generating test cases from UML activity diagram based on gray-box method. In Software Engineering Conference, 2004. 11th Asia-Pacific. IEEE, 284โ€“291. Vilen Looga, Zhonghong Ou, Yang Deng, and Antti Yla-Jaaski. 2012. Mammoth: A massive-scale emulation platform for internet of things. In Cloud Computing and Intelligent Systems (CCIS), 2012 IEEE 2nd International Conference on, Vol. 3. IEEE, 1235โ€“1239. Gerard Meszaros and Jim Doble. 1997. Pattern Languages of Program Design. (1997), 529โ€“574. http://dl.acm.org/citation.cfm?id=273448. 273487 Greg Williams Mike Karlesky, Mark VanderVoord. 2018. Unity Test API. https://github.com/ThrowTheSwitch/Unity#unity-test-api Brice Morin, Nicolas Harrand, and Franck Fleurey. 2017. Model-Based Software Engineering to Tame the IoT Jungle. IEEE Software 34, 1 (2017), 30โ€“36. https://doi.org/10.1109/MS.2017.11 Thomas Ostrand. 2002. White-Box Testing. Encyclopedia of Software Engineering (2002). Dennis G Perry, Steven H Blumenthal, and Robert M Hinden. 1988. The ARPANET and the DARPA Internet. Library Hi Tech 6, 2 (feb 1988), 51โ€“62. https://doi.org/10.1108/eb047726 T. Pflanzner, A. Kertesz, B. Spinnewyn, and S. Latre. 2016. MobIoTSim: Towards a mobile IoT device simulator. Proceedings - 2016 4th International Conference on Future Internet of Things and Cloud Workshops, W-FiCloud 2016 (2016), 21โ€“27. https://doi.org/10.1109/W-FiCloud.2016.21 Christian Prehofer and Luca Chiarabini. 2013. From IoT Mashups to Model-based IoT. W3C Workshop on the Web of Things (2013). Christian Prehofer and Luca Chiarabini. 2015. From Internet of things mashups to model-based development. Proceedings - International Computer Software and Applications Conference 3 (2015), 499โ€“504. https://doi.org/10.1109/COMPSAC.2015.263 Open Web Application Security Project. 2017. Tester IoT Security Guidance. https://www.owasp.org/index.php/OWASP_Internet_of_ Things_Project Antonio Ramadas, Gil Domingues, Joao Pedro Dias, Ademar Aguiar, and Hugo Sereno Ferreira. 2017. Patterns for Things that Fail. In Proceedings of the 24th Conference on Pattern Languages of Programs (PLoP โ€™17). ACM - Association for Computing Machinery. Partha Pratim Ray. 2017. A Survey on Visual Programming Languages in Internet of Things. Scientific Programming 2017 (2017), 1โ€“6. https: //doi.org/10.1155/2017/1231430 Lukas Reinfurt, Uwe Breitenbรผcher, Michael Falkenthal, Frank Leymann, and Andreas Riegg. 2016. Internet of things patterns. 21st European Conference on Pattern Languages of Programs - EuroPlop โ€™16 (2016), 1โ€“21. Lukas Reinfurt, Uwe Breitenbรผcher, Michael Falkenthal, Frank Leymann, and Andreas Riegg. 2017. Internet of things patterns for devices. In Ninth international Conferences on Pervasive Patterns and Applications (PATTERNS) 2017. 117โ€“126. https://doi.org/10.1145/3011784.3011789 Chris Richardson. 2018. Microservices Patterns: With examples in Java. Manning. Biljana L. Risteska Stojkoska and Kire V. Trivodaliev. 2017. A review of Internet of Things for smart home: Challenges and solutions. Journal of Cleaner Production 140 (2017), 1454โ€“1464. https://doi.org/10.1016/j.jclepro.2016.10.006 Leah Muthoni Riungu, Ossi Taipale, and Kari Smolander. 2010. Research issues for software testing in the cloud. In Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on. IEEE, 557โ€“564. S. K. Chang. 2002. Handbook of Software Engineering and Knowledge Engineering. World Scientific Publishing Co. Peter Scargill. 2015. Node-Red Madness. https://tech.scargill.net/node-red-madness/ Padraig Scully. 2018. The Top 10 IoT Segments in 2018 โ€“ based on 1,600 real IoT projects. https://iot-analytics.com/ top-10-iot-segments-2018-real-iot-projects/ [Online; accessed 15. May 2018]. S. Sicari, A. Rizzardi, L. A. Grieco, and A. Coen-Porisini. 2015. Security, privacy and trust in Internet of things: The road ahead. Computer Networks 76 (2015), 146โ€“164. https://doi.org/10.1016/j.comnet.2014.11.008 arXiv:1404.7799 Stelios Sotiriadis, Nik Bessis, Eleana Asimakopoulou, and Navonil Mustafee. 2014. Towards simulating the internet of things. IEEE 28th International Conference on Advanced Information Networking and Applications Workshops (2014), 444โ€“448. https://doi.org/10.1109/WAINA.2014.74 Tiago Boldt Sousa, Filipe Figueiredo Correia, and Hugo Sereno Ferreira. 2015. Patterns for software orchestration on the cloud. In Proceedings of the 22nd Conference on Pattern Languages of Programs. The Hillside Group, 17. John A Stankovic. 2014. Research directions for the internet of things. IEEE Internet of Things Journal 1, 1 (2014), 3โ€“9. https://doi.org/10.1109/ JIOT.2014.2312291 H. Sundmaeker, P. Guillemin, P. Friess, and S. Woelffle. 2010. Vision and Challenges for Realising the Internet of Things. Technical Report. European Commission. Dave Thomas and Brian M. Barry. 2003. Model Driven Development: The Case for Domain Oriented Programming. (2003), 2โ€“7. https://doi.org/10. 1145/949344.949346 V. Trifa, D. Guinard, and D. Carrera. 2017. Web Thing Model. Technical Report. EVRYTHNG. Andrew Whitmore, Anurag Agarwal, and Li Da Xu. 2015. The Internet of Thingsโ€”A survey of topics and trends. Information Systems Frontiers 17, 2 (2015), 261โ€“274. M Bani Younis and G Frey. 2003. Formalization of Existing PLC Programs: A Survey. CESA 2003, Lille (France), Paper No. S2-R (2003), โ€“00โ€“0239. Xuezhi Zeng, Saurabh Kumar Garg, Peter Strazdins, Prem Prakash Jayaraman, Dimitrios Georgakopoulos, and Rajiv Ranjan. 2017. IOTSim: A simulator for analysing IoT applications. Journal of Systems Architecture 72 (2017), 93โ€“107. https://doi.org/10.1016/j.sysarc.2016.06.008

Z. K. Zhang, M. C. Y. Cho, C. W. Wang, C. W. Hsu, C. K. Chen, and S. Shieh. 2014. IoT Security: Ongoing Challenges and Research Opportunities. In 2014 IEEE 7th International Conference on Service-Oriented Computing and Applications. 230โ€“234. https://doi.org/10.1109/SOCA.2014.58