The complexity of IoT, owing to the inherent distributed and dynamic nature of such systems, brings more challenges to the software development process. A vast number of devices with different communication protocols and data formats is involved and needs to be connected and exchange data with each other in a seamless manner. Traditional software architectures fall short of addressing the requirements of IoT systems and, therefore, a new approach to software architecture is required. This paper presents an attempt to lay out the foundation for a quality attribute driven software architecture for the development of IoT systems. This architecture accommodates the appropriate architectural styles and design patterns necessary for the development of a robust IoT system. These include edge computing, microservices and event driven architectures. The proposed architecture treats IoT systems as autonomic systems which require a closed control loop to regulate and orchestrate the operational aspect of the IoT system.
翻译:物联网系统固有的分布式与动态特性所带来的复杂性,为软件开发过程带来了更多挑战。大量采用不同通信协议与数据格式的设备需要以无缝方式相互连接并交换数据。传统软件架构难以满足物联网系统的需求,因此需要一种新的软件架构方法。本文尝试为开发物联网系统建立一种质量属性驱动的软件架构基础。该架构整合了开发健壮物联网系统所需的适当架构风格与设计模式,包括边缘计算、微服务与事件驱动架构。所提出的架构将物联网系统视为自主系统,需要通过闭环控制回路来调节与协调物联网系统的运行层面。