It’s been a while since I started to collect and review reference models for the domain of Smart, Connected Devices aka Internet of Things (IoT) (see this former blog post). A reference model is a standard decomposition of a known problem into parts that cooperatively solve the problem (see [BaCK2003, p. 24 ff.). It facilitates the transfer of knowledge in relation to a problem domain and supports the communication between stakeholders, architects and developers. The design and implementation of IT systems connecting to, integrating with and managing Smart, Connected Devices or the Internet of Things is such a problem. Actually it’s an extensive and diverse problem domain consisting of numerous variations of the problem and many feasible solutions. Furthermore, the vendors of so-called IoT platforms usally have their own view on the architecture, services and protocols necessary to deploy IoT-related solutions. Thus, architects have to put those IoT platforms and their underlying architecture into perspective. In addition an IoT-related solution generally isn’t built from scratch and has to be integrated with existing operational technology (OT) systems and business applications. In order to grapple with those challenges architects require knowledge about the problem domain of Smart, Connected Devices/the Internet of Things. Therefore, any stakeholder, architect and developer who’s not familiar with this problem domain, should investigate some reference models to get to know scenarios, variations and options.
Consider this post as a starting point and guide to existing reference models in the domain of Smart, Connected Devices or the Internet of Things – as far as I know them. The release of an Open Group white paper by Chris Harding inspired me to revise my inital blog post and update my knowledge base once again.
Looking at Smart, Connected Devices or the Internet of Things in its entirety, the problem spreads across multiple architectural domains (business, application and technology). Therefore, I differentiate at first between views on business model & business architecture and views on application & technology architecture.
Views on the Business Model & Business Architecture
The high-level business view on the topic of Smart, Connected Devices is excellently described in two Harvard Business Review articles by M. E. Porter and J. E. Heppelmann (see also the section Smart, Connected Devices (aka Internet of Things) on the knowledge page Business Strategy and Business Models):
- Porter, M.E.; Heppelmann, J.E.: How Smart, Connected Products Are Transforming Competition and
- Porter, M.E.; Heppelmann, J.E.: How Smart, Connected Products Are Transforming Companies.
As far as I know, Porter and Heppelmann coined the term Smart, Connected Devices to separate their work focusing on the ‘changing nature of things‘ from the technology that enables and connects the things. Although they don’t refer to the concepts explicitly, Porter and Heppelmann elaborate on the business strategy and business architecture related to Smart, Connected Devices.
In detail they’ve developed:
- a definition of Smart, Connected Products,
- a capability-based reference model for managing Smart, Connected Products,
- a capability model for Smart, Connected Products (see figure above),
- a composition of ten new strategic choices in relation to Smart, Connected Products,
- a summary of the change impacts in relation to the generic, high-level value chain and
- a summary of the implications for the organizational structure of a company.
Although some of the reference models considered in the next section are also dealing with the business architecture by providing dedicated viewpoints, the aforementioned articles represent the most extensive business-oriented views that I know so far.
Views on the Application & Technology Architecture
There are a lot of reference models on the topic Internet of Things available. In particular, a lot of software companies have some IoT-related products and/or services in their product and service portfolio. However, if the focus is set on non-proprietary reference models, I recommend considering the following existing and emerging architectural deliverables:
- Internet of Things Architecture (IoT-A),
- Industrial Internet Reference Architecture (IIRA),
- Reference Architectural Model for Industrie 4.0 (RAMI 4.0),
- Web of Things Architecture (WoT),
- OPC Unified Architecture (OPC UA),
- oneM2M and
- ISO/IEC CD 30141 Internet of Things Reference Architecture (IoT RA).
The following sections provide an overview of each reference model and put the included deliverables into perspective.
Internet of Things Architecture (IoT-A)
The Internet of Things Architecture is a deliverable of the collaborative European Lighthouse Integrated Project ‘IoT-A’ which was conducted between September 2010 and November 2013. Essentially this project delivered:
- The IoT-A Architectural Reference Model consisting of a reference model, a reference architecture, corresponding usage guidelines and design choices,
- a definition of the terminology used across all deliverables,
- concepts for modeling IoT-related processes and interactions (see deliverables D2.1, D2.2, D2.3 and D2.5),
- an initial analysis of the appropriate M2M API design (see deliverable D3.1),
- concepts and solutions for IoT-related resource management (see deliverables D4.1 and D4.3),
- concepts and solutions for privacy and security (see deliverables D4.2) and
- a dedicated book providing detailed guidance on how to use the reference model and architecture.
The aforementioned concepts and solutions are supposed to complement the IoT Architectural Reference Model. They deal with distinct aspects of an IoT-related IT system and elaborate on specific design choices and concrete solution architectures.
The reference model aims at establishing a common conceptional foundation and language for IoT architectures and systems. It consists of the following IoT-related models (see figure below):
- Domain model,
- information model,
- functional model,
- communication model and
- trust, security and privacy model.
The reference architecture is designed as a generic blueprint for specifying concrete IoT-related architectures. It rests upon and extends the reference model.
The following views are described as part of of the reference architecture:
- Functional view,
- information view and
- deployment and operation view.
Furthermore, the following four architectural perspectives document a collection of activities, tactics and guidelines that support the achievement of non-functional quality attributes of a concrete architecture:
- Evolution and interoperability,
- availability and resilience,
- trust, security and privacy, and
- performance and scalability.
The IoT Architectural Reference Model also contains detailed guidance on how to use the model to craft concrete IoT-related architectures. Furthermore, the project has delivered a book which provides an overview of the model and guidance on its usage.
Industrial Internet Reference Architecture (IIRA)
The Industrial Internet Consortium is a global, member-supported, organization that promotes the Industrial Internet of Things in order to accelerate market adoption and decrease barriers to entry. There are various working groups and teams working on currently seven areas (Business Strategy & Solution Lifecycle, Legal, Liaison, Marketing, Membership, Security, Technology and Testbeds).
The Architecture Task Group has developed and published the Industrial Internet Reference Architecture (IIRA) as a technical report.
The reference architecture contains the following architectural views (see figure above):
- functional and
With the exception of the functional view, all views are rather abstract. They define the elements and relationships of the view and describe some instances of them. The business view focuses on the stakeholders, vision, values and objectives for implementing an IoT-related IT system that is to say it isn’t describing a complete business architecture consisting of business capabilities, processes, roles, etc. The functional view documents five functional domains which are further refined by functions. The implementation view refers to five architectural patterns which can be leveraged to implement IoT-related IT systems.
In addition to the documented views the reference architecture elaborates on the key quality attributes of IoT-related IT systems and discusses how those quality attributes can be achieved generally. However, the level of detail of this discussion varies across the selected quality attributes. Overall it doesn’t reach a level of detail required for the description of an architectural tactic.
The other working groups and teams have produced further technical reports which should be considered too:
- Business Strategy and Innovation Framework,
- Industrial Internet Security Framework and
- Industrial Internet Vocabulary.
The Business Strategy and Innovation Framework identifies and analyzes the problems and approaches on a strategic level that need to be addressed when the IoT in considered in scope of a business or innovation strategy. The Industrial Internet Security Framework rests upon the Industrial Internet Reference Architecture and elaborates on the security concerns of an IoT-related architecture. The Industrial Internet Vocabulary defines common terms which are reference across all other deliverables.
Finally, the Industrial Internet Consortium organizes Testbeds which are opportunities to implement and evaluate IoT-related processed, applications, technologies, products, etc. The experiences and results of the Testbeds are supposed to be reinforced within the working groups and teams.
Reference Architectural Model for Industrie 4.0 (RAMI 4.0)
The Reference Architectural Model for Industrie 4.0 (RAMI 4.0) is a collaborative result of several organizations and institutions: The Plattform Industrie 4.0, VDI/VDE Society for Measurement and Control (GMA), ZVEI and German Commission for Electrical Engineering (DKE). The German term Industrie 4.0 was coined as part of the high-tech strategy of the German government which promotes the enhanced automation and data exchange in manufacturing technologies. The Plattform Industrie 4.0 is a research and collaboration platform which supports the implementation of the aforementioned high-tech strategy. The Industrie 4.0 is considered to be a specialization on the Internet of Things.
The Reference Architectural Model for Industrie 4.0 rests upon the Smart Grid Architectural Model (SGAM) which was developed by the European Smart Grid Coordination Group (SGCG). It was adapted and extended to fulfill the requirements of the Industrie 4.0 strategy. The model was developed to meet to following objectives:
- Mapping to existing standards,
- identification and location of missing standards,
- identification of relationships within the model and
- the deduction of high-level rules for the implementation of Industrie 4.0 applications.
It is a three-dimensional model which essentially structures the problem domain of Industrie 4.0-related IT systems (see figure below).
The first dimension consists of the following layers which are located along the vertical axis of the model:
- integration and
Along the left-hand horizontal axis the model outlines the value stream and life cycle of a product. The value stream Type contains the life cycle phases Development and Maintenance/Usage and the value stream Instance comprises the life cycle phases Production and Maintenance/Usage.
The third dimension describes the location of functionalities and responsibilities within the factories/plants along the right-hand horizontal axis as a functional hierarchy including the following levels:
- Connected world,
- work centers,
- control device,
- field service and
Reference Model for Industrie 4.0 Components
An Industrie 4.0 component is defined as either hardware or software which must have certain common properties. Such a hardware or software component can be located in any dimension/layer of the Reference Architectural Model for Industrie 4.0.
The Reference Model for Industrie 4.0 Components elaborates on the definition, characteristics, capabilities and requirements of Industrie 4.0 components. It is the initial publication of a series of elaborations that aim at detailing the reference model.
The definition of an Industrie 4.0 component is based on the description of its characteristics (e.g. type vs. instance, virtual presentation and communication ability) and requirements that each component is supposed to implement. The Administration Shell is a core element of the Industrie 4.0 component concept and encapsulates the virtual presentation and technical functionality a component. It makes the data and functions available to the outside world that is to say other IT systems or human actors.
Web of Things (WoT) Architecture
The W3C has established three groups related to the Internet of Things: Web of Things Interest Group, Web of Things Working Group and Web of Things Community Group. These groups grapple with the lack of interoperability between different IoT-related platforms and aim at identifying and developing standards that facilitate the development of applications independent of the underlying IoT platform.
The Web of Things (WoT) Architecture is a deliverable by the Web of Things Interest Group. It focuses on the application layer of an IoT-related IT system and describes a functional view consisting of logical modules, implemented requirements (see figure below) and reasonable deployment scenarios (deployment view).
The WoT Architecture is further detailed by the following deliverables:
- The Web of Things (WoT) Thing Description defines a fundamental semantic metadata model of a thing and a basic description of its functional interface. The model was designed to describe the capabilities of a thing: properties, actions, and events.
- The Web of Things (WoT) Scripting API elaborates on the programming interfaces to the Web of Things (WoT) that is to say the different APIs outlined in the WoT Architecture. The APIs deal with the discovery, access and control of Things.
- The Web of Things (WoT) Binding Templates are supposed to describe standard binding templates for most common protocols which are implemented by the Protocol Binding component of the Web of Things (WoT) Architecture. However, as of this writing the deliverable doesn’t contain any description (W3C Editor’s Draft 26 February 2017).
OPC Unified Architecture (OPC UA)
The OPC Unified Architecture is a platform-independent, service-oriented architecture specification which supports the communication between various systems and devices. It originally focused on promoting interoperability within manufacturing industry but recently it’s also increasingly considered for implementing IoT and Industrie 4.0 scenarios. The specification is maintained by the OPC Foundation which is an industry consortium currently consisting of more than 450 members.
The scope of the specification is the secure and reliable exchange of process data, alarms, events, historical data and batch processes between sensors, instruments, controllers, software systems and notification devices. Therefore, the specification elaborates on the following models:
- An information model to represent structure, behaviour and semantics,
- a message model to interact between applications and devices,
- a communication model to transfer data between endpoints and
- a conformance model to guarantee interoperability between systems.
Actually it’s a multi-part specification subdivided into three groups: Core specification, access type specification and utility specification (see OPC UA Part 1: Overview and Concepts).
The OPC UA architecture describes a standard by which systems and devices can communicate by exchanging messages between clients and servers over various types of networks. A server hosts a collection of data (so-called AdressSpace) that is provided to clients via services. Each server defines the set of services that it provides and a client can dynamically discover those services. Servers can host current and historical data as well as alarms and events. They can also notify clients of important changes.
Servers provide clients with type definitions for the objects which are accessed based on the AdressSpace. OPC UA supports different data formats like binary and XML. However, the semantics of the data beyond the type definitions is not in scope of the specification.
The OPC UA rests upon a client-server architecture and the fundamental message exchange pattern adheres to a request-response model. However, the OPC UA Working Group is currently introducing additional communication pattern into the standard (see OPC UA Part 14: PubSub). This will particularly enhance the usage of the standard within IoT-related scenarios where the communication with devices will not be directly but some cloud-related service will be involved.
The Reference Architectural Model for Industrie 4.0 (RAMI 4.0) considers the OPC UA as a standard for implementing the communication layer. However, a detailed mapping of all the standards which were consulted for reuse in RAMI 4.0 is not part of the reference architecture.
The oneM2M is a global standards initiative consisting of eight regional information and communication technology (ICT) standardization bodies, various industry consortia and over 200 member organizations. The fundamental architectural model is the oneM2M Layered Model (see figure below).
The initiative aims at developing technical specifications which focus on a Common Service Layer (also called M2M Service Layer) which supports the connection of heterogenous hardware devices and software components in Machine-to-Machine (M2M) and Internet of Things (IoT) scenarios. The Common Service Layer abstracts the different characteristics of various network protocols and provides a common, standardized set of functions to the Application Layer. Applications don’t have to consider specific networks and technologies. They are decoupled from the network layer and thus can be developed (and maintained) cheaper and faster. The technical specifications are independent of an industry that is to say there are no industry-specific processes, functions and interfaces considered. An exception is the Home Appliances Information Model and Mapping (see TS-0023 and the summary below).
The deliverables of the oneM2M initiative encompass technical reports and technical specifications. The former have supported the development of the technical specifications as intermediate deliverables. They describe for example the results of an analysis of existing architectures and standards proposed for consideration. The latter are considered draft versions of official standards that will be made available by the eight regional ICT standardization bodies (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA and TTC).
The technical specifications focus for example on the following topics:
- Requirements (see TS 0002),
- Functional Architecture (see TS 0001),
- Security Solutions (see TS 0003),
- Service Layer Core Protocols (see TS 0004),
- Common Terminology (see TS 0011),
- Base Ontology (see TS 0012),
- Binding to several protocols (HTTP see TS 0009, MQTT see TS 0010, CoAP see TS0008) and
- Integration and reuse of existing standards (e.g. OMA see TS 0005, BBF TS 0006).
The Functional Architecture elaborates on the oneM2M Layered Model and provides a reference architecture consisting of the following models and views:
- A functional architecture defining the different components (called entities) in Machine-to-Machine (M2M) and Internet of Things (IoT) scenarios and their interfaces,
- a detailed functional view describing the concepts, functions and features of the Common Service Layer,
- architectural concepts and features (e.g. supported configurations and deployment scenarios),
- concepts for identifiers of entities and objects,
- fundamental interfaces and information flows, and
- security aspects.
The descriptions of the concepts and functions of the Common Service Layer are informative. They cover a description of the underlying concepts and elaborate on the capabilities each function should support (see figure below).
Furthermore, the Functional Architecture defines so-called reference points to the other layers and Common Service Entities. The reference points encompass one or more interfaces which are detailed in the Service Layer Core Protocols technical specification (see TS 0004). The specification defines the data, interfaces and message sequences that is to say an application-level protocol for all reference points. The application protocol in turn is mapped to a set of supported transport protocols (HTTP see TS 0009, MQTT see TS 0010, CoAP see TS0008 (in release 1 specifications)).
The oneM2M Base Ontology defines a fundamental ontology (i.e. a vocabulary and structure) for the M2M and IoT domains (see TS 0011). Specifc and external ontologies are assumed to be mapped to the oneM2M Base Ontology. The specification also contains the instantiation of fundamental classes which are required to map other ontologies into the Base Ontology (Thing, ThingProperty, Device, Operation, Command, etc.).
One example for a specific ontology is the technical specification Home Appliances Information Model and Mapping (see TS-0023). It defines an unified information model for home appliances by abstracting common elements from existing information models of the home domain (e.g. AllJoyn, Apple HomeKit, ECHONET).
In addition to the aforementioned deliverables the oneM2M comprises more technical specifications and reports. Those deliverales deal with for example requirements and use cases, security, interoperability testing, reuse and integration of existing protocols.
ISO/IEC CD 30141 Internet of Things Reference Architecture (IoT RA)
The ISO/IEC Working Group 3 of the Joint Technical Committee 1 is currently working on the new international standard ISO/IEC CD 30141 Internet of Things Reference Architecture (IoT RA). As of this writing this standard is being reviewed according to the ISO/IEC life cycle process. The draft version of the standard is unfortunately not publicly available. However, when it reached the status of international standard, it will constitute an authoritative reference for IoT-related terminology and concepts.
It will consist of the following elements:
- Description of the characteristics of an IoT system (e.g. compatibility, usability, robustnes, etc.),
- conceptual model,
- reference model and
- corresponding architectural views (functional, system, information, communication and usage).
Overall the standard will provide guidance for developing a IoT-related system architecture by describing the overall structure of IoT systems.
Summary and Conclusion
The problem domain of Smart, Connected Devices or the Internet of Things is extensive and diversified. It involves numerous variations of the problem and many possible solutions. The introduced reference models and architectures abstract and define the fundamental elements and relationships of IoT-related solutions. Therefore, they are a valuable source to acquire knowledge about the problem domain. Nevertheless, they have miscellaneous emphases and are defined on different levels of detail.
The deliverables by Porter and Heppelmann elaborate on the business strategy and business architecture related to Smart, Connected Devices. However, the primary focus of their work in on the consumer market. The perspectives of the industrial automation domain (or Industrie 4.0) is not represented completely.
The Internet of Things Architecture (IoT-A) which was delivered by the European Lighthouse Integrated Project ‘IoT-A’ consists of an extensive reference model and architecture including several views, concepts and solutions, architectural tactics and guidelines, and even a dedicated book providing detailed guidance on how to use the reference model and architecture.
The Industrial Internet Reference Architecture (IIRA) focuses on industrial IoT scenarios. It encompasses multiple views which are – with the exception of the functional view – rather abstract. The reference architecture elaborates on the key quality attributes but not on level of detail required for the description of an architectural tactic. The Business Strategy and Innovation Framework identifies and analyzes the problems and approaches on a strategic level but doesn’t describe business architecture like Porter and Heppelmann do.
The Reference Architectural Model for Industrie 4.0 (RAMI 4.0) is a three-dimensional model which essentially structures the problem domain of Industrie 4.0-related IT systems. It was developed to conduct e.g. a gap analysis in relation to IoT standards. Therefore, the model is quite high-level compared to e.g. the Internet of Things Architecture (IoT-A) or Industrial Internet Reference Architecture (IIRA).
The Web of Things (WoT) Architecture isn’t aiming at a specific vertical industry or use case. However, it focuses on establishing a common application layer that abstracts from the different underlying IoT platforms. In addition it has a strong bias towards the reuse of existing W3C standards.
The OPC Unified Architecture (OPC UA) focuses on interoperability in industrial automation and Industrie 4.0 scenarios. Moreover, it zooms in on the communication and integration of sensors, instruments, controllers, software systems and notification devices. The OPC UA specifications describe various communication-oriented models and the capability to dynamically define and exchange type definitions. It doesn’t define an additional capability or functional view of an IoT-related architecture.
The oneM2M technical specifications are independent of a specific industry but focus on establishing a common access layer for applications (Common Service Layer) that abstracts from specific networks and technologies. The reference architecture includes multiple views, concepts, protocol bindings and a fundamental ontology for the IoT domain. It is an extensive reference architecture which scope and level of detail can be compared with the Internet of Things Architecture (IoT-A).
The ISO/IEC CD 30141 Internet of Things Reference Architecture (IoT RA) elaborates on the characteristics of an IoT system and describes various models and corresponding views. The level of detail can be compared with the Industrial Internet Reference Architecture (IIRA) although it doesn’t focus on a specific industry. Considering the reference architectures presented in this post, it is the only reference model and architecture defined as part of an authoritative standard. Unfortunately the draft version is not publicly available and therefore the value of the reference architecture is (at least at the moment) constraint.
An interesting finding of my analysis is that the business architecture is rather underrepresented. The deliverables by Porter and Heppelmann are the only ones just focusing on the business architecture. All the other reference models and architectures considered in this post have a strong emphasis on the application and technology perspective. This bias of the reference models and architectures is in line with another perception: The overarching engineering problem of the domain of Smart, Connected Devices/the Internet of Things is not about technology. It’s about the challenge to develop feasible business models, design adequate business capabilities and acquire the necessary skills. Furthermore, most IoT-related scenarios aren’t build up from scratch. Thus, the challenge shifts to the challenge of changing existing business capabilities including business processes, functions, rules and data sets. I assume that reference models and architectures focusing on the business architecture will develop on the basis of the use case scenarios which are already in scope of IoT-related solutions: Optimization of physical assets, enriched products and services, and transformed customer engagement.
Do you know further resources which you consider as fundamental in relation to the topic Smart, Connected Devices or Internet of Things (IoT)?
Sound off in the comments!
With the exception of the ISO/IEC CD 30141 IoT RA, all deliverables are publicly available. You can find a list and corresponding links in the section Smart, Connected Devices (aka Internet of Things) on the knowledge page Reference Models and Architectural Styles.
[BaCK2003] Bass, Len; Clements, Paul; Kazman, Rick: Software Architecture in Practice. 2nd Edition, Addison-Wesley, Boston et al. 2003.