Startertutorials Blog
Tutorials and articles related to programming, computer science, technology and others.
Subscribe to Startertutorials.com's YouTube channel for different tutorial and lecture videos.

Categories: Internet of Things. 1 Comment on IoT Design Methodology
3.8
(117)

In this article we will look at what is IoT design methodology and what are the steps in IoT design methodology with home automation system as a case study.

 

Introduction to IoT Design Methodology

Designing IoT systems can be a complex and challenging task as these systems involve interactions between various components. A wide range of choices are available for each component. IoT designers often tend to design the system keeping specific products in mind.

 

We will look at a generic design methodology which is independent of specific product, service or programming language. IoT systems designed with this methodology will have reduced design time, testing time, maintenance time, complexity and better interoperability.

 

Watch this video to learn about IoT design methodology:


Subscribe to our monthly newsletter. Get notified about latest articles, offers and contests.


 

The steps involved in the designing of an IoT system or application can be summarized as shown in the below figure:

 

IoT Design Methodology Steps Overview

 

Let’s discuss all the ten steps in the IoT design methodology with the help of a case study: Home Automation System.

 

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:

 

Purpose A home automation system that allows controlling the lights remotely using a web application
Behavior Home automation system should support two modes: auto and manual

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 Management System should provide remote monitoring and control functions
Data Analysis System should perform local analysis of the data
Application Deployment Application should be deployed locally, but should be 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.

 

IoT Design Methodology Process Specification

 

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:

 

Physical Entity • The physical identifiable objects in the environment

• 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 every physical entity there is a virtual entity

Device • Devices provide a medium for interaction between physical and virtual entities

• Devices are used to gather information from or perform actuation on physical entities

Resource • Resources are software components which can be either on-device or network-resources

• On-device resources are hosted on the device and provide sensing or actuation (eg: operating system)

• Network-resources include software components that are available on the network (eg: database)

Service • Services provide an interface for interacting with the physical entity

• Services access resources to perform operations on physical entities

 

 

The domain model specification diagram for home automation system is as shown in the below figure.

 

IoT Design Methodology Domain Model Specification

 

IoT Design Methodology Domain Model Specification Symbols

 

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:

 

IoT Design Methodology Information Model Specification

 

Watch the below video to learn about the rest of the steps in IoT design methodology:

 

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:

 

IoT Design Methodology Service Specification 1

 

IoT Design Methodology Service Specification 2

 

IoT Design Methodology Service Specification 3

 

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.

 

IoT Design Methodology IoT Level Specification

 

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:

 

IoT Design Methodology Functional View Specification

 

The mapping between the IoT level and the functional groups is as shown in the below figure.

 

IoT Design Methodology Functional View Specification Mapping

 

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

 

The options chosen for home automation system are as shown in the below figure.

 

IoT Design Methodology Operational View Specification

 

9. Device and Component Integration

In this step the devices like sensors, computing devices and other components are integrated together. The interconnection of different components in our home automation system are as shown in the figure given below.

 

IoT Design Methodology Device and Component Integration

 

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.

 

IoT Design Methodology Application Development

 

 

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Suryateja Pericherla

Suryateja Pericherla, at present is a Research Scholar (full-time Ph.D.) in the Dept. of Computer Science & Systems Engineering at Andhra University, Visakhapatnam. Previously worked as an Associate Professor in the Dept. of CSE at Vishnu Institute of Technology, India.

He has 11+ years of teaching experience and is an individual researcher whose research interests are Cloud Computing, Internet of Things, Computer Security, Network Security and Blockchain.

He is a member of professional societies like IEEE, ACM, CSI and ISCA. He published several research papers which are indexed by SCIE, WoS, Scopus, Springer and others.

1 Comment

You can follow any responses to this entry through the RSS 2.0 feed.

Nice information very helpful thankyou so much!

Leave a Reply

Your email address will not be published. Required fields are marked *