Abstract

Internet of Things (IoT) is being applied to areas as smart-cities, home environment, agriculture, industry, etc. Developing, deploying and testing IoT projects require high investments on devices, fog nodes, cloud nodes, analytic nodes, hardware and software. New projects require high investments on devices, fog nodes, cloud nodes, analytic nodes, hardware and software before each system can be developed. In addition, the systems should be developed to test them, which implies time, effort and development costs. However, in order to decrease the cost associated to develop and test the system the IoT system can be simulated. Thus, simulating environments help to model the system, reasoning about it, and take advantage of the knowledge obtained to optimize it. Designing IoT simulation environments has been tackled focusing on low level aspects such as networks, motes and so on more than focusing on the high level concepts related to IoT environments. Additionally, the simulation users require high IoT knowledge and usually programming capabilities in order to implement the IoT environment simulation. The concepts to manage in an IoT simulation includes the common layers of an IoT environment including Edge, Fog and Cloud computing and heterogeneous technology. Model-driven development is an emerging software engineering area which aims to develop the software systems from domain models which capture at high level the domain concepts and relationships, generating from them the software artefacts by using code-generators. In this paper, a model-driven development approach has been developed to define, generate code and deploy IoT systems simulation. This approach makes it possible to design complex IoT simulation environments and deploy them without writing code. To do this, a domain metamodel, a graphical concrete syntax and a model to text transformation have been developed. The IoT simulation environment generated from each model includes the sensors, actuators, fog nodes, cloud nodes and analytical characteristics, which are deployed as microservices and Docker containers and where elements are connected by using publish-subscribe communication protocol. Additionally, two case studies, focused on smart building and agriculture IoT environments, are presented to show the simulation expressiveness.

Highlights

  • The Internet of Things (IoT) is widely applied in several areas such as smart-cities, home environments, agriculture, industry, intelligent buildings, etc. [46]

  • These IoT environments require using hundreds of sensors and actuators shared throughout these areas which are generating a vast amount of data

  • SCHOOL OF TECHNOLOGY Our first case study presents the simulation of a smart building, we have modelled the School of Technology at the University of Extremadura

Read more

Summary

Introduction

The Internet of Things (IoT) is widely applied in several areas such as smart-cities, home environments, agriculture, industry, intelligent buildings, etc. [46]. The Internet of Things (IoT) is widely applied in several areas such as smart-cities, home environments, agriculture, industry, intelligent buildings, etc. These IoT environments require using hundreds of sensors and actuators shared throughout these areas which are generating a vast amount of data. Big Data or Stream Processing techniques must be applied to conveniently store and analyse published data. Taking into account where data are processed and stored, the IoT environment architecture can be defined by several computing layers (Edge, Fog and Cloud computing (see Figure 1) [30] ).

Methods
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call