You are on page 1of 31

Unit 5—

IoT Platform Design Methodology: Specifications of


Purpose and Requirement, Process, Domain
Model, Information Model, Service, IoT Level,
Functional View, Operational View, Device and
Component Integration, Application Development.

Dr. Nitika Vats Doohan


Introductio
n IoT systems can be a complex and challenging task as
 Designing
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.
 So that designs are tied to specific product/service choices made.
But it make 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.
Introductio
n discuss a generic design methodology for IoT system
 Here we
design which is independent of specific product, service or
programming language.
 IoT systems designed with the proposed methodology have
reduced design, testing and maintenance time, better
interoperability and reduced complexity.'
IOT Platforms Design
Methodology
It includes:
Purpose & Requirements Specification
Process Specification
Domain Model Specification
Information Model Specification
Service Specification
IOT Platforms Design
Methodology
IoT Level Specifications
Functional view Specification
Operational View Specification
Device & component
Integration
Application Development
Purpose & Requirements
Specification
The first step in IoT system design methodology is to define the
purpose and requirements of the system. In this step, the
system purpose, behavior and requirements are captured.
Purpose & Requirements Specification

Purpose : A home automation system


that allows controlling of the lights in a
home remotely using a web application.
Behavior : The home automation system
should have auto and manual modes. In
auto mode, the system measures the
light level in the room and switches on
the light when it gets dark. In manual
mode, the system provides the option of
manually and remotely switching on/off
the light.
System Management Requirement :
The system should provide remote
monitoring and control functions.
1. Purpose and Requirements Specification
First step is to define the purpose and requirements of the
system. In this step, the system purpose, behavior and
requirements are captured. Requirements can be:
•Data collection requirements
•Data analysis requirements
•System management requirements
•Security requirements
•User interface requirements
For home automation system the purpose and requirements
specification is as follows:

A home automation system that allows controlling the


Purpose
lights remotely using a web application
Home automation system should support two modes:
auto and manual
Behavior Auto: System measures the light level in the room
and switches on the light when it is dark
Manual: Allows remotely switching lights on and off
System System should provide remote monitoring and control
Management functions

Data Analysis System should perform local analysis of the data

Application Application should be deployed locally, but should be


Deployment accessible remotely

Security Should provide basic security like user authentication


2. Process Specification--The use cases of the IoT system are
formally described based on or derived from the purpose and
requirements specifications. The process specification for home
automation system is as shown below.
3. Domain Model Specification
The domain model describes the main concepts, entities and
objects in the domain of the IoT system to be designed. Domain
model defines the attributes of the objects and relationships
between objects. The domain model is independent of any specific
technology or platform.
Using domain model, system designers can get an understanding
of the IoT domain for which the system is to be designed.
The entities, objects and concepts defined in the domain model of
home automation system include the following:
• The physical identifiable objects in the environment
Physical
• IoT system provides information about the physical entity
Entity
(using sensors) or performs actuation upon the physical entity
• Virtual entity is a representation of the physical entity in the
Virtual
digital world
Entity
• For every physical entity there is a virtual entity
• Devices provide a medium for interaction between physical
and virtual entities
Device
• Devices are used to gather information from or perform
actuation on physical entities
• Resources are software components which can be either
on-device or network-resources
• On-device resources are hosted on the device and provide
Resource
sensing or actuation (eg: operating system)
• Network-resources include software components that are
available on the network (eg: database)
• Services provide an interface for interacting with the
physical entity
Service
• Services access resources to perform operations on
physical entities
4. Information Model Specification
Information model defines the structure of all the information in the IoT system.
Does not describe how the information is stored and represented. To define the
information model, we first list the virtual entities. Later more details like
attributes and relationships are added. The information model specification for
home automation system is as shown below:
5. Service Specifications
The service specification defines the following:
•Services in the system
•Service types
•Service inputs/output
•Service endpoints
•Service schedules
•Service preconditions
•Service effects

For each state and attribute in the process specification and


information model, we define a service. Services either change the
state of attributes or retrieve their current values. The service
specification for each state in home automation systems are as
shown below:
6. IoT Level
Specification
Based on the
requirements we
will choose the
IoT application
deployment
level. The
deployment
level for home
automation
system is shown
in the below
figure.
7. Functional View Specification
The functional view defines the functions of the IoT systems
grouped into various functional groups. Each functional group
provides functionalities for interacting with concepts in the
domain model and information related to the concepts.

The functional groups in a functional view include: Device,


Communication, Services, Management, Security, and
Application. The functional view specification for home
automation system is shown in the below figure:
The mapping between the IoT level and the functional groups
is as shown in the below figure.
8. Operational View Specification
In this step, various options related to the IoT system deployment
and operation are defined, such as:
•Service hosting options
•Storage options
•Device options
•Application hosting options
9. Device and Component Integration
In this step the devices like sensors, computing devices and
other components are integrated together.
10. Application Development
Using all the information from previous steps, we will develop
the application (code) for the IoT system. The application
interface for home automation system is shown below.
• http://speed.cis.nctu.edu.tw/~ydlin/
course/cn/iot/slides/Chapter-5.pdf
10-step to designing a successful enterprise IoT
strategy--
1. Define business goals and the expected outcome
2. Identify the hardware and devices participating in the
connected solution
3. Prepare the data points and metrics aligned with the
outcome--The sensors attached to the devices generate
multiple data points that translate to massive datasets. While
this data is the crux of an enterprise IoT solution, it is equally
important to carefully choose the right data points that
contribute to the metrics. Each device that is connected to
multiple sensors generates dozens of data points. Some of
those data points need to be analyzed in real-time while the
others are stored for long-term analysis.
For example, in a connected car scenario, vital
statistics of an engine are monitored in near real-time while
the fuel consumption data is archived for calculating
aggregated values at the end of the quarter.
4. Define the device connectivity and data format--
An enterprise IoT solution deals with a variety of connectivity
mechanisms and protocols. It includes how the sensors and
actuators talk to legacy devices, the raw format of the datasets
generated by the devices, how the devices talk to the edge layer,
the protocol translation that takes place between the devices and
the gateway.

5. Implement security, governance, and policy across each layer--


Like any other enterprise solution, security is critical for IoT
projects. Datasets must be carefully anonymized, encrypted, and
compressed before processing. A comprehensive governance
model is necessary to restrict access to sensitive data and
reports. Policies will define which roles and personas are allowed
to control the devices, and accessing the business intelligence
dashboards. IoT security is tightly integrated with existing
corporate policies and security best practices.
6. Identify reference datasets required for transforming sensor
data--
The datasets generated by sensors and devices will only become
meaningful when the right context is applied. The context is often
borrowed from external datasets that contain historical trends,
aggregated values and look up tables. For example, when a
connected car sends the latitude and longitude of the location, it
needs to be mapped the nearest city with an authorized service
center.
7. Factor in machine learning and predictive analytics--
The real value of IoT is realized through actionable insights based
on intelligent algorithms. While not every implementation may
need machine learning and predictive analytics, the chances are
that it may become a critical requirement in the future.
When defining the data pipeline for processing the sensor
data, architects should leave enough room for extensibility. By
factoring this feature, it will become easy to add predictive
analytics to an IoT solution at a later point.
8. Define hot path analytics for near real-time processing
9. Define cold path analytics for long-term, batch processing
10. Design an intuitive user experience for business decision
makers

In short---

7 Steps for Designing IoT Products and Strategies


Step 1: Outcome Based Design. ...
Step 2: Profiling Digital Ecosystems. ...
Step 3: Profiling Industry Value Chains. ...
Step 4: Identifying “Always-On Innovation Zones. ...
Step 6: Re-Imagine the customer Journey with IoT. ...
Step 7 Define Integration Requirements with Marketing and
Operations.
Raspberry Pi
A Raspberry Pi is a credit card-sized computer originally designed
for education, inspired by the 1981 BBC Micro. Creator Eben
Upton's goal was to create a low-cost device that would improve
programming skills and hardware understanding at the pre-
university level. But thanks to its small size and accessible price,
it was quickly adopted by tinkerers, makers, and electronics
enthusiasts for projects that require more than a basic
microcontroller (such as Arduino devices).

The Raspberry Pi is slower than a modern laptop or desktop but


is still a complete Linux computer and can provide all the
expected abilities that implies, at a low-power consumption level.
Arduino--
Arduino is an open-source platform used for building electronics
projects. Arduino consists of both a physical programmable circuit
board (often referred to as a microcontroller) and a piece of
software, or IDE (Integrated Development Environment) that runs
on your computer, used to write and upload computer code to the
physical board.

The Arduino platform has become quite popular with people just
starting out with electronics, and for good reason. Unlike most
previous programmable circuit boards, the Arduino does not need
a separate piece of hardware (called a programmer) in order to
load new code onto the board – you can simply use a USB cable.
Additionally, the Arduino IDE uses a simplified version of C++,
making it easier to learn to program. Finally, Arduino provides a
standard form factor that breaks out the functions of the micro-
controller into a more accessible packag

You might also like