Upto: Table of Contents of full book "Internet of Things - a techie's viewpoint"

Architectural models


Architectural frameworks

Long gone (hopefully!) are the days of building hodge-podge systems. The systems built nowadays are sufficiently complex and with sufficiently widespread effects that they require a structural framework in which to plan, design and ultimately implement the system.

An architectural framework gives general principles in any particular system might be designed and implemented. The figure from The Concept of Reference Architectures by Cloutier et al illustrates this:
reference architecture

The IoT is an amalgamation of two engineering disciplines which have hitherto been relatively disparate: IT and control systems. The highest level view of an IoT system might be

That is, a system of sensors, actuators and some control systems is linked to a more traditional IT system. Without both of these, it is not an IoT system.

Although simplistic, this does raise a large number of issues:

Functional viewpoint

There are multiple viewpoints that can be had about any system: functional, business, usage, implementation, ... From the functional viewpoint, the IIoT Reference Architecture distinguishes these domains

These are linked through their Figure 6.1
functional domains
The IIoT states

Data flows and control flows take place in and between these functional domains. Fig 6-1 above illustrates how the functional domains relate to each other with regard to data and control flows. Green arrows show how data flows circulate across domains. Red arrows show how control flows circulate across domains. Other horizontal arrows illustrate some processing taking place within each domain, to process input flows and generate new forms of data or control flows.

This substantially refines the simplistic model of the previous section and clearly shows the flows between components. The IIoT reference architecture goes into substantially more detail about each component, and while targetted towards industrial systems, is nevertheless applicable to many other IoT systems.

Design patterns

Design patterns are a well-accepted means of capturing design problems and possible solutions in an implementation independent way. Architectural design patterns act at a relatively high level. The IIoT reference architecture lists five patterns:

The IoT-A Internet of Things – Architecture prefers to use "design tactics". Both go into a large amount of detail regarding the next level down.

Client architectures

The A Taxonomy of IoT Client Architectures list several layers for client side devices:


Much of the sequel of this book concerns the choices to be made at the implementation level: this network protocol or that, for example. However, any implementation solution should be guided by higher-level architectural considerations.

Copyright © Jan Newmarch, jan@newmarch.name
Creative Commons License
"The Internet of Things - a techie's viewpoint" by Jan Newmarch is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://jan.newmarch.name/IoT/.

If you like this book, please donate using PayPal