Architectural Design Principles For Industrial Internet of Things

Abstract: As society has progressed through periods of evolution and revolution, technology hasplayed a key role as an enabler. In the same manner that mechanical machines of the1800’s drove the industrial revolution, now digitalized machines are driving another one.With this recognition of a fourth industrial revolution, the Industry 4.0 initiative wasfounded. One of the drivers of Industry 4.0 is the Industrial Internet of Things (IIoT).The IIoT is a consequence of widely present computing ubiquity and interconnected-ness. Software has become a crucial tool of almost all industries from bakeries and arts to manufacturing facilities and banking. Programming is now a required competenceand used by a variety of professions. It is not only about algorithm development, it has become more about engineering and integrating existing designs and tools. This impacts the way software is architected and drives a large body of research in the area.Software solutions are becoming more distributed, not only over multiple processes, but over heterogeneous hardware and business domains. Computing platforms could bemobile or geographically separated over large distances, exposing the solutions to network disturbances, performance degradation and security vulnerabilities.Hence, IIoT introduces complexity on a scale previously unseen in the software in-dustry. Software architecture must accommodate these heterogeneous domains and com-petencies and handle the increasing levels of complexity.This thesis proposes an architectural style for designing IIoT software architectures.The popular Service Oriented Architecture (SOA) style is not sufficient to define a com-plete architecture for IIoT applications. SOA fundamental principles are defined as loose coupling, lookup and late binding. The proposed architecture style extends these SOA principles with autonomy, specialization, data at its source and first person perspective. It preserves the benefits of SOA that models functionalities as reusable services with standardized interfaces. Thus, the proposed style helps to capture the heterogeneity of IIoT (e.g. systems, capabilities, domains, competencies etc.), while handling challenges imposed by it. The style also captures resource constraints of IIoT platforms; distri-bution of application logic across IIoT; dependence between services within IIoT; and presentation of the solution in various stakeholder perspectives.The IIoT generates large amounts of data that is subsequently stored, analysed, archived and eventually fed back into the product life cycle. Centralization of data has well known challenges. This thesis proposes a method of information extraction based on the principle of data at its source. Such data preserves implicit context, reducing the burden of semantic data within the system. Desired information is expressed through dynamic (runtime) queries. Using the queries, a path is created to retrieve the requested data. It alleviates the need for data to be stored in intermediary nodes; data remains atthe source. Thus, IIoT applications extract information and present it to requesting sys-tems without redundant source related context. This helps with issues of data ownership, access control and stale data.Another IIoT challenge tackled in this work is decentralization of Manufacturing Execution System (MES). It is motivated by a need to mitigate the impact of vulnerable shared networks on the factory floor; and by business requirements to reduce dependence on local factory infrastructure. This thesis explores a solution where functions of MES are distributed to the workstations that enables them to operate autonomously. Such autonomous workstations utilize the proposed Intelligent Product, Workflow Managerand Workflow Executor systems. Thus, MES can be decentralized to edge nodes as envisioned by Industry 4.0.