0% found this document useful (0 votes)
16 views

Unit 4

Iot

Uploaded by

Saikrishna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Unit 4

Iot

Uploaded by

Saikrishna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Chapter 5

IoT Design Methodology

Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015


INTRODUCTION
•In this unit a generic design methodology for IoT system design which is independent of specific product,
service, or programming language is proposed.
•IoT systems designed with the proposed methodology have reduced design, testing and maintenance time,
better interoperability and reduced complexity.
•With the proposed methodology, IoT system designers can compare various alternatives for the IoT system
system components.
Outline

• IoT Design Methodology that includes:


• Purpose & Requirements Specification
• Process Specification
• Domain Model Specification
• Information Model Specification
• Service Specifications
• IoT Level Specification
• Functional View Specification
• Operational View Specification
• Device & Component Integration
• Application Development

Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015


IoT Design Methodology - Steps
Step 1: 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 (such as data collection
requirements, data analysis requirements, system management
requirements, data privacy and security requirements, user interface
requirements, ...) are captured.
Step 2: Process Specification

• The second step in the IoT design methodology is to define the


process specification. In this step, the use cases of the IoT system are
formally described based on and derived from the purpose and
requirement specifications.
Step 3: Domain Model Specification
• The third step in the IoT design methodology is to define the Domain
Model. The domain model describes the main concepts, entities and
objects in the domain of IoT system to be designed. Domain model
defines the attributes of the objects and relationships between
objects.
• This model provides abstract representation of the concepts, objects
and entities in the IoT domain, independent of the specific
technology or platform.
• With the domain model, the IoT system designers can get an
understanding of the IoT domain for which the system is to be
designed.
Step 4: Information Model Specification

• The fourth step in the IoT design methodology is to define the


Information Model. Information Model defines the structure of all
the information in the IoT system, for example, attributes of Virtual
Entities, relations, etc. Information model does not describe the
specifics of how the information is represented or stored. To define
the information model, we first list the Virtual Entities defined in the
Domain Model. Information model adds more details to the Virtual
Entities by defining their attributes and relations.
Step 5: Service Specifications
• The fifth step in the IoT design methodology is to define the service
specifications. Service specifications define the services in the IoT
system, service types, service inputs/output, service endpoints,
service schedules, service preconditions and service effects.
Step 6: IoT Level Specification

• The sixth step in the IoT design methodology is to define the IoT level
for the system. In Chapter-1, we defined five IoT deployment levels.
Step 7: Functional View Specification
• The seventh step in the IoT design methodology is to define the
Functional View. The Functional View (FV) defines the functions of
the IoT systems grouped into various Functional Groups (FGs). Each
Functional Group either provides functionalities for interacting with
instances of concepts defined in the Domain Model or provides
information related to these concepts.
Step 8: Operational View Specification
• The eighth step in the IoT design methodology is to define the
Operational View Specifications. In this step, various options
pertaining to the IoT system deployment and operation are defined,
such as, service hosting options, storage options, device options,
application hosting options, etc
Step 9: Device & Component Integration
• The ninth step in the IoT design methodology is the integration of the
devices and components.
Step 10: Application Development
• The final step in the IoT design methodology is to develop the IoT
application.
Home Automation Case Study
Step:1 - Purpose & Requirements
Applying this to our example of a smart home automation system, the
purpose and requirements for the system may be described as follows:
• 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.
• Data Analysis Requirement : The system should perform local analysis of the data.
• Application Deployment Requirement : The application should be deployed locally on
the device, but should be accessible remotely.
• Security Requirement : The system should have basic user authentication capability.
Step:2 - Process Specification
Step 3: Domain Model Specification
•Services provide an interface for
interacting with the physical entity.
•Services access the on-device resource or
network resource to obtain information
about the physical entity or perform
actuation upon the physical entity.
1. State service
2. Mode service
3. Controller service: that runs as a native
service on the device.
Step 4: Information Model Specification

Information model first list the virtual entities and then defines their attributes and relations:
1. Light appliance with attribute – light state
2. Room with attribute – light level
Step 5: Service Specifications

Deriving the services from process


specification and information model.
Step 5: Service Specifications
Service specifications define the service types, service inputs/outputs, service endpoints, service schedules, service
preconditions and effects.

1. Mode service: a RESTful web service that sets the 2. State service: a RESTful web service that sets light
mode (PUT request) or retrieves the current mode (GET appliance state to on/off (PUT request) or retrieves the
request). current state (GET request).
The mode is updated to/or retrieved from Database. The state is updated to/or retrieved from Database.
3. Controller service: Controller service runs as a
native service on the device.
I. When in auto mode, the controller service
monitors the light level and switches the light
on/off and updates the status in the status
database.
II. When in manual mode, the controller service
retrieves the current state from the database and
switches the light on/off .
Step 6: IoT Level Specification
Step 7: Functional View Specification

1. IoT device maps to the device FG (sensors and actuators 4. Web Services map to services FG (web Services).
devices computing devices) and the management FG (device 5. Database maps to the management FG (Database Management) and
management). security FG (database security).
2. Resources map to the device FG (on-devices resource) and 6. Application maps to application FG (web application, application and
communication FG (communication API and protocols). database servers), management FG (app management) and security
3. Controller service maps to the services FG (native service). FG (app security).
Step 8: Operational View Specification
Step 9: Device & Component Integration
Step 10: Application Development
• Auto
• Controls the light appliance automatically based on the lighting
conditions in the room
• Light
• When Auto mode is off, it is used for manually controlling the
light appliance.
• When Auto mode is on, it reflects the current state of the light
appliance.
Case study on IoT system
for
Weather monitoring
Outline

• IoT Design Methodology that includes:


• Purpose & Requirements Specification
• Process Specification
• Domain Model Specification
• Information Model Specification
• Service Specifications
• IoT Level Specification
• Functional View Specification
• Operational View Specification
• Device & Component Integration
• Application Development

Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015


INTRODUCTION
•In this unit a generic design methodology for IoT system design which is
independent of specific product, service or programming language is proposed.
•IoT systems designed with the proposed methodology have reduced design,
testing and maintenance time, better interoperability and reduced complexity.
•With the proposed methodology, IoT system designers can compare various
alternatives for the IoT system components.
Step 1: 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 (such as data collection
requirements, data analysis requirements, system management
requirements, data privacy and security requirements, user interface
requirements ) are captured.
Step 1: Purpose & Requirements
• Purpose: To collect data on environmental conditions such as temperature, pressure,
humidity and light in an area using multiple end nodes.

• Behavior: The end nodes send the data to the cloud there data is aggregated and
analyzed.

• Data Analysis Requirement: The system should perform analysis of the data to
aggregate the data and make predictions.
• Application Deployment Requirement: A cloud based application is to be used for
visualizing the data.
• Security Requirement: The system should have basic authentication capability.
Step 2: Process Specification

• The second step in the IoT design methodology is to


define the process specification. In this step, the use
cases of the IoT system are described based on and
derived from the purpose and requirement
specifications.
Step 2: Process Specification

Read Sensor

Store value

Wait
Step 3: Domain Model Specification
• The third step in the IoT design methodology is to define the Domain
Model. The domain model describes the main concepts, entities and
objects in the domain of IoT system to be designed.
• Domain model defines the attributes of the objects and relationships
between objects.
• Domain model provides an abstract representation of the concepts,
objects and entities in the domain, independent of any specific
technology or platform.
• With the domain model,the IoT system designers can get an
understanding of the IoT domain for which the system is to be
designed.
Step 3: Domain Model Specification
• Physical Entity: Physical Entity is a discrete and identifiable entity in
the physical environment. The IoT system provides information about
the Physical Entity( using sensors) or performs actuation upon the
physical entity.
• Virtual entity: virtual entity is a representation of the Physical Entity
in the digital world. For each physical entity, there is a Virtual Entity
in the domain model.
• Device: device provides a medium for interactions between physical
entities and virtual entities. Devices are either attached to physical
entities or placed near physical entities. Devices are used to gather
information about physical entities
Step 3: Domain Model Specification
Resource: Resources are software components which can be either "on-
device" or " network-resources". On-device resources are hosted on the
device and include software components that either provide information on
or enable actuation upon the physical entity to which the device is attached.
Network resources include the software components that are available in
network (such as database).
Service: Services provide an interface for interacting with the physical
entity. Services access the resources hosted on the device or the network
resources to obtain the information about the physical entity or perform
actuation upon the physical entity.
Step 3: Domain Model Specification
User

Active digital artifact Human User


App

Invokes/
subscribes
Virtual Entity Physical Entity
Service Environment relates to Environment monitor

associated with

Exposes

Resource
associated with
Device
Hosts Mini-Computer

attached to attached to
Network On-Device
Resource Resource
Sensor Sensor Sensor Sensor
Temp sensor Pressure Humidity Light sensor
Step 4: Information Model Specification

• The fourth step in the IoT design methodology is to define the


Information Model. Information Model defines the structure of all
the information in the IoT system, for example, attributes of Virtual
Entities, relations, etc. Information model does not describe the
specifics of how the information is represented or stored. To define
the information model, we first list the Virtual Entities defined in the
Domain Model. Information model adds more details to the Virtual
Entities by defining their attributes and relations.
Step 4: Information Model Specification

Virtual Entity:
Environment
Entity type:
Environment

Attribute: Attribute: Attribute: Attribute:


State State State State
AttributeName: AttributeName: AttributeName: AttributeName:
temperature pressure humidity light

has value has value has value has value

Temperature: val Pressure: val Humidity: val Light: val


Step 5: Service Specifications
• The fifth step in the IoT design methodology is to define the service
specifications. Service specifications define the services in the IoT
system, service types, service inputs/output, service endpoints,
service schedules, service preconditions and service effects.
Step 5: Service Specifications
Process Specification

Read Sensor

Store value

Wait

Information Model Virtual Entity:


Environment
Entity type:
Environment

Attribute: Attribute: Attribute: Attribute:


State State State State
AttributeName: AttributeName: AttributeName: AttributeName:
temperature pressure humidity light

has value has value has value has value

Temperature: val Pressure: val Humidity: val Light: val


Controller Service

Sevice
Name: Controller
Type: Native

has output has schedule

Output
Schedule
Temperature
Interval:
Pressure
Every 15 sec
Humidity
Light
Step 6: IoT Level Specification

• The sixth step in the IoT design methodology is to define the IoT level
for the system.
Step 6: IoT Level Specification
Step 7: Functional View Specification
• The seventh step in the IoT design methodology is to define the
Functional View. The Functional View (FV) defines the functions of
the IoT systems grouped into various Functional Groups (FGs).
Each Functional Group either provides functionalities for
interacting with instances of concepts defined in the Domain
Model or provides information related to these concepts.
Step 7: Functional View Specification
1. IoT device maps to the device FG (sensors and computing devices) and
the management FG (device management).
REST Communication 2. Resources map to the device FG (on-devices resource) and
communication FG (communication API and protocols).
3. Controller service maps to the services FG (native service).
REST
Services 4. Web Services map to services FG (web Services).

Application
Web App Application Server Database Server Observer Analytics

5. Database maps to the management FG (Database Management)


and security FG (database security). Management Services Security
6. Application maps to application FG (web application, application Application
Management Native Services Web Services Authentication
and database servers), management FG (app management) and
Database
security FG (app security). Management Authorization
Communication
7. Analytics component maps to Application FG.
Device
8. Observer node maps to Application FG Management Communication API Communication Protocols

Device
Sensor Computing Device
Step 7: Functional View Specification
Application

Web App Application Server Database Server Observer Analytics

Management Services Security

Application
Management Native Services Web Services Authentication

Database Management
Communication Authorization

Device Management
Communication API Communication Protocols

Device

Sensor Computing Device


Step 8: Operational View Specification
• The eighth step in the IoT design methodology is to define the
Operational View Specifications. In this step, various options
pertaining to the IoT system deployment and operation are defined,
such as, service hosting options, storage options, device options,
application hosting options, etc
Step 8: Operational View Specification
Application Web App: Django Web App
Application Server:
Django App server
Web App Application Server Database Server Observer Analytics
DB Server:
Xively Cloud storage
Analytics: Hadoop
Native Service: Controller Service Observer: Cloud App, Mobile App
Management Services Security

Application Management:
Django App Management Authentication: Web App, DB
Application
DB Management: Management Native Services Web Services Authentication Authorization: Web App, DB
MySQL DB Management
Device Management:
Raspberry Pi Device Management
Database
Management Communication Authorization Communication API: REST APIs
Computing Device: Raspberry Pi Communication Protocols:
Sensor: Temp, Humidity, Pressure Link layer: 802.11
and Light sensors Device
Network layer: IPv4/IPv6
Management Communication API Communication Protocols Transport: TCP
Application: HTTP

Device

Sensor Computing Device


Step 9: Device & Component Integration
• The ninth step in the IoT design methodology is the integration of the
devices and components.
Step 9: Device & Component Integration
Raspberry Pi weather station using DHT11, BMP180 and LDR sensors. Where the DHT11 sensor senses the temperature and
humidity while BMP180 sensor calculates the pressure.
Step 10: Application Development
• The final step in the IoT design methodology is to develop the IoT
application.
Step 10: Application Development

You might also like