Updated Module2 Architecture Reference Model
Updated Module2 Architecture Reference Model
Model (ARM)
Module 2
Of
IoT fundamentals
https://www.iot-a.eu/public/public-documents/
https://
cocoa.ethz.ch/downloads/2014/01/1360_D1%202_Initial_architectural
_reference_model_for_IoT.pdf
Module 2 - Topics
• Domain Model,
• Information Model,
• Functional Model,
• Communication and security model,
• SOA based architecture.
Reference Architecture For IoT?
• IoT devices are inherently connected – A model is needed to
specify interactions with the devices.
• An architecture is needed to “tame” complexity and
“achieve” scalability
• Devices are expect to interact with themselves and the
environment, continually – An architecture is need to achieve
high-availability and support deployment across highly-
heterogeneous computational platforms
• Devices may not be designed for continuous “everyday”
usage – An architecture is needed to support remote,
automatic and managed updates of the IoT devices.
• IoT devices are likely to be used for collecting and
analyzing data – An architecture is need for managing the
identity and access control for IoT devices to ensure privacy
IoT Reference Architecture – Goals
and Objectives
• IoT RA outlines
“what” the overall Reference
Architecture
structure approach
for the construction
of IoT systems and
indicates “how” the
architecture and its
domains or entities
will operate
Conceptual Reference
Model Model
The IoT-A architectural reference model provides best practices to the organizations so that
they can create compliant IoT architectures in different application domains. Where
application domains are overlapping, the compliance to the reference architecture ensures the
interoperability of solutions and allows the formation of new synergies across those
domains.
Uses of an architectural reference
model
Generation of architectures
-use of the reference architecture (together with best practices
that are use case specific) for the generations of compliant
architectures for specific systems.
-achieved by enabling tool support
-intrinsically provide interoperability of IoT systems
Identifying differences
-while using aforementioned system-generation tools based on
the architectural reference model, any differences in the derived
architectures can be attributed to the particularities of the
pertinent use case.
-applying the architectural reference model predictions of system
complexity, system cost, etc. are available for the general system
parts to be implemented.
Uses of an architectural reference
model
Benchmarking
• A virtual entity can also be associated with one or more resources that
enable interaction with the physical entity that the virtual entity
represents. This association is important in look-up and discovery
processes.
Components of IoT ARM – Domain Model:
Definition of Services in Domain Model
IoT Domain Model. All object names are explained in the main text.
• Hardware concepts are shown in blue,
• Software in green, animated objects in yellow,
Domain Model: Terms and Definition
Domain Model: Terms and Definition
Domain Model: Terms and Definition
Domain Model: Terms and Definition
Domain Model: Terms and Definition
Components of IoT ARM – Information model
Virtual entity in the IOT Domain Model is the thing in the IOT, the
IOT
Domain model is the thing in the IOT, the IOT information model captures
the details of a virtual entity centric model, the IoT Information model is
presented using Unified modelling language(UML) diagrams.
1. By keeping a history of the associations,
e.g. by adding metadata to the has
Temperature values that link to the device
entity (data provenance);
2. By recording the current association, e.g.
by introducing an attribute metadata object
that links the entity to the resources that
are currently able to contributed to the
values of this attribute.
Components of IoT ARM – Information model
Information model will expanded to two additional usage areas:
• Service description: Services provide access to resources and are
used to access information or to control physical entities.
• A service description describes a service, using, for instance, a
user service description language such as USDL.
• The information a service provides is associated to a
VirtualEntity.
• The association also captures whether the service is used for
accessing information or controlling information, or both.
• Actuation Control: The information model will be further
reviewed to capture how entities can be controlled, for instance
via actuators.
Functional Model
• It aims at describing mainly the Functional Groups (FG)
and their interaction with the ARM while the
functional view of a Reference Architecture
describes the functional components of a FG
interfaces and interactions between the components.
• Virtual entity (VE) and information: This group maintains and organizes
information related to physical entities, enabling search for services exposing
resources associated to physical entities. It also enables the search for services based
on the physical entity they are associated to. When queried about a particular physical
entity, this functionality group will return addresses of the service related to this
particular physical entity.
• IoT service & resource: When queried about a specific service, this group will
return its description, providing links to the exposed resources. This group also
provides the functionalities required by services for processing information and for
notifying application software and services about events related to resources and
corresponding physical entities.
Functional Model – Major Components
• Device connectivity and communication: This functional block provides the set of
methods and primitives for device connectivity and communication (the first
referring to the possibility for a device to be part of a network, the second to the
possibility for this device to be source or destination of messages). Also, this group
contains methods for content-based routing.
Communication layer of the IoT domain model from an application point of view.
AppNode: application node; GW: gateway; CP: control point; DS: data sink.
IoT Communication model as seen from the
application level
We can imagine a digital entity to be formed by a group of sensors and actuators.
a digital entity to consist of a group of data processors, data sinks, and control points,
with at least an AppNode implementing the behaviour of the digital entity.
Application node (AppNode):
• a software agent implementing an application or part of it.
• orchestrate different digital entities.
• The application doesn’t deal directly with sensors and actuators but it requires
communication with control points and data sinks.
• obviously communicate among themselves, and in this way create a distributed
application.
Control point (CP):
A control point is a software agent that controls actuators and sensors, and
sends related messages to sensors and actuators.
• A CP will communicate with sensors, actuators, and data processors, sending them
configuration and control messages.
• A CP can handle bidirectional communication with an AppNode. The CP is usually
called by AppNodes, but it is also enabled to call AppNodes after certain events, for
instance an error.
IoT Communication model as seen from the
application level
We can imagine a digital entity to be formed by a group of sensors and actuators.
a digital entity to consist of a group of data processors, data sinks, and control points,
with at least an AppNode implementing the behaviour of the digital entity.
Application node (AppNode):
• a software agent implementing an application or part of it.
• orchestrate different digital entities.
• The application doesn’t deal directly with sensors and actuators but it requires
communication with control points and data sinks.
• obviously communicate among themselves, and in this way create a distributed
application.
Control point (CP):
A control point is a software agent that controls actuators and sensors, and
sends related messages to sensors and actuators.
• A CP will communicate with sensors, actuators, and data processors, sending them
configuration and control messages.
• A CP can handle bidirectional communication with an AppNode. The CP is usually
called by AppNodes, but it is also enabled to call AppNodes after certain events, for
instance an error.
IoT Communication model as seen from the
application level
Data sink (DS): A data sink is a software agent that receives data -which it will
consume or store- directly from a sensor or a data processor. This
communication is event-driven and initiated by either the sensor or the data
processor. Data sinks are controlled by AppNodes, but they also can initiate
communications to the AppNodes on given events, like crossing a threshold .
Providing the best security features for the lower layers in each IoT domain by introducing
Gateways with active functions. CD: constrained device; UCD: unconstrained device.
CDSecFeat: security feature for constrained device.
IoT Communication model - Gateways
Text Book: “Chapter 5” - Arshdeep Bahga, Vijay Madisetti - Internet of Things_ A Hands-On
Approach-Universities Press (India) Private Limited (2015)
IoT Design Methodology based on IoT
Architecture Reference Model that includes:
• Purpose & Requirements Specification
• Process Model Specification
• Domain Model Specification
• Information Model Specification
• Service Specifications
• IoT Level Specification
• Functional View Specification
• Operational View Specification
• Device & Component Integration
• Application Development
Introduction
• Designing IoT systems can be a complex and
challenging task as these systems involve interactions
between various components such as IoT devices and
network resources, web services, analytics
components, application and database servers.
• IoT system designers - often tend to design IoT
systems keeping specific products/services in mind.
• IoT System design are tied to specific product/service
choices made.
• IoT System designed in such away in updating the
system design to add new features or replacing a
particular product/service choice for a component
becomes very complex, and in many cases may require
complete re- design of the system.
Introduction
• IoT system design are:
- independent of specific product, and
- service or programming language.
• service types,
• service inputs/output,
• service endpoints,
• service schedules,
• service preconditions and
• service effects.
Service Specifications
• From the process
specification and
information model, we
identify the states and
attributes.
• For each state and
attribute we define a
service.
• These services either
change the state or
attribute values or
retrieve the current
values.
Service Specifications
IoT Level Specifications
• The sixth step in the IoT
design methodology is
to define the at least
one of the IoT level for
the system.
Representational State Transfer (REST) is a set of
architectural principles by which you can design
web services and web APIs that focus on a
system's resources and how resource states are
addressed and transferred. REST APIs follow the
request-response communication model
described in previous section. The REST
architectural constraints
apply to the components, connectors, and data
elements, within a distributed hypermedia
system.
Functional View Specification
The Functional View (FV) defines the functions
of the IoT systems grouped into various
Functional Groups (FGs).