SEMar 10, 2020

Architectural Software Patterns for the Development of IoT Smart Applications

arXiv:2003.04781v2
AI Analysis

This addresses the complexity and distributed nature of IoT systems for software developers, but it is incremental as it builds on existing design patterns and experiences.

The paper tackles the lack of formal architectural guidance in IoT smart application development by proposing a classification for software components and their relationships, demonstrated through three example applications in cities, buildings, and agriculture.

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 for cities, buildings, and agriculture were selected as examples of using some components, connectors, and well-known design patterns. Finally, the problems and challenges involved in the choice of software architectures for IoT are discussed.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes