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.
Contents
- 1 Introduction to IoT Design Methodology
- 2 1. Purpose and Requirements Specification
- 3 2. Process Specification
- 4 3. Domain Model Specification
- 5 4. Information Model Specification
- 6 5. Service Specifications
- 7 6. IoT Level Specification
- 8 7. Functional View Specification
- 9 8. Operational View Specification
- 10 9. Device and Component Integration
- 11 10. Application Development
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:
The steps involved in the designing of an IoT system or application can be summarized as shown in the below figure:
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.
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.
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:
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:
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
The options chosen for home automation system are as shown in the below figure.
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.
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.
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.
Nice information very helpful thankyou so much!