Architectural Software Patterns for the Development of IoT Smart Applications
Fabrizio Borelli, Gabriela Biondi, Fl\'avio Horita, Carlos, Kamienski

TL;DR
This paper proposes a classification framework for software components and their relationships to guide the architectural design of complex IoT smart applications across various domains.
Contribution
It introduces a structured classification of software components and relationships, and demonstrates their application through three real-world IoT smart application case studies.
Findings
A classification for IoT software components and relationships.
Application of design patterns in IoT architectures.
Discussion of challenges in IoT software architecture choices.
Abstract
Software developers usually start coding an application with no formal architecture in mind and relying on intuition and experience instead of on well-known design patters. A different approach is recommended for the development of IoT smart applications due to its high complexity that combines sensors, actuators, communication technologies, and big data analytics, as well as its distributed nature that spans for different layers of field, fog, and cloud infrastructure. Literature reports many experiences of software development for IoT smart applications. However, architectural solutions are presented with no rationale for the choice of software components and the way they relate to each other. This paper proposes a classification for software components and their relationships in order to model a software architecture for a particular IoT smart application. Three smart applications…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsIoT and Edge/Fog Computing · Context-Aware Activity Recognition Systems · Mobile and Web Applications
