IoT Architecture and Design Patterns

Due to the widespread proliferation of today’s internet of things (IoT), a system designer needs IoT system and software design patterns to assist in designing scalable and replicable solutions. Patterns are encapsulations of reusable common problems and solutions under specific contexts. Many IoT patterns have been published such as IoT design patterns and IoT architecture patterns to document the successes (and failures) in IoT systems and software development. However, because these patterns are not well classified, their adoption does not live up to their potential. To understand the reasons, we conducted a systematic literature review. From the 32 identified papers, 143 IoT architecture and design patterns were extracted. We analyzed these patterns according to several characteristics and outlined directions for improvements when publishing and adopting IoT patterns. Of the extracted patterns, 57% are non-IoT patterns, suggesting that IoT systems and software are often designed via conventional architecture and design patterns that are not specific to IoT design. Although most IoT design patterns are applicable to any domain, IoT architecture patterns tend to be domain-specific, implying that the unique nature of IoT adoption in specific domains appears at the architecture level. As more domains adopt IoT, the number of domain-specific IoT design patterns should increase. In terms of quality attributes, many IoT patterns address compatibility, security, and maintainability.

Project members

  • Hironori Washizaki, Dept. of Computer Science and Engineering, Waseda University, Tokyo, Japan, National Institute of Informatics, Tokyo, Japan
  • Shinpei Ogata, Shinshu University, Nagano, Japan
  • Atsuo Hazeyama, Tokyo Gakugei University, Tokyo, Japan
  • Takao Okubo, Institute of Information Security, Kanagawa, Japan
  • Eduardo B. Fernandez, Florida Atlantic University, Boca Raton, USA
  • Nobukazu Yoshioka, National Institute of Informatics, Tokyo, Japan
  • Takehisa Kato
  • Haruhiko Kaiya

Documents and List

  • Hironori Washizaki, Shinpei Ogata, Atsuo Hazeyama, Takao Okubo, Eduardo B. Fernandez, Nobukazu Yoshioka, “Landscape of Architecture and Design Patterns for IoT Systems” (under review)
  • Hironori Washizaki, Nobukazu Yoshioka, Atsuo Hazeyama, Takehisa Kato, Haruhiko Kaiya, Shinpei Ogata, Takao Okubo and Eduardo B. Fernandez, “Landscape of IoT Patterns,” short paper, 2019 IEEE/ACM 1st International Workshop on Software Engineering Research & Practices for the Internet of Things (SERP4IoT 2019), Colocated with the 41st ACM/IEEE International Conference on Software Engineering ICSE 2019, Montreal, QC, Canada: Monday 27 May 2019.
  • Eduardo B. Fernandez, Nobukazu Yoshioka, Hironori Washizaki, “Secure Distributed Publish/Subscribe (P/S) pattern for IoT,” 9th Asian Conference on Pattern Languages of Programs (AsianPLoP 2020), March 4-6, 2020, Taipei, Taiwan
  • List of documents and patterns (Excel)

Contact

Project leader: Hironori Washizaki, washizaki [at] waseda.jp