=Paper=
{{Paper
|id=Vol-3250/messpaper7
|storemode=property
|title=
SimulateIoT-Federations: Domain Specific Language
for designing and executing IoT simulation
environments with Fog and Fog-Cloud federations (Poster)
|pdfUrl=https://ceur-ws.org/Vol-3250/messpaper7.pdf
|volume=Vol-3250
|authors=José A. Barriga, Pedro J. Clemente
|dblpUrl=https://dblp.org/rec/conf/staf/BarrigaC22
}}
==
SimulateIoT-Federations: Domain Specific Language
for designing and executing IoT simulation
environments with Fog and Fog-Cloud federations (Poster)
==
SimulateIoT-Federations: Domain Specific Language
for designing and executing IoT simulation
environments with Fog and Fog-Cloud federations
(Poster)
José A. Barriga1 , Pedro J. Clemente1
1
Quercus Software Engineering Group. http://quercusseg.unex.es. Department of Computer and Telematic Systems
Engineering. University of Extremadura, Av. Universidad s/n, 10003, Cáceres (Spain)
The Internet of Things (IoT) is being applied to areas such as smart-cities, home environment,
agriculture, industry, etc. These application areas are very different from each other, thus
requiring IoT systems with specific performance in terms of quality of service (QoS), delay,
bandwidth or energy consumption. For instance, new IoT paradigms such as the Internet of
Vehicles (IoV), or classic IoT systems such as healthcare, are latency sensitive application areas
that need ultra-low latency infrastructure to make the application of IoT feasible. On the other
hand, applications such as video analytics, or massively multiplayer online gaming involves high
bandwidth requirements and an efficient management of the network [1]. In this context Cloud
Computing is the common Computing paradigm applied, however it could be a bottleneck and a
single point of failure. As part of the solution to these challenges and issues, fog computing has
taken on a major role. Fog computing is defined by the OpenFog Consortium as “a horizontal
system-level architecture that distributes computing, storage, control and networking functions
closer to the users along a cloud-to-thing continuum”. As a layer located between the Cloud
layer and the Edge layer, it is closer to the end-devices than the Cloud, thus reducing latency,
increasing bandwidth, enabling greater energy savings, better management of network load
balancing, in short, offering greater QoS at an affordable cost [2].
However, the IoT is constantly evolving. According to the International Data Corporation,
by 2025 the number of devices connected to the Internet will be around 42 billion, and a total
of 80 zettabytes of data will be generated in the same year. The rapid growth of internet-
connected things, and thus the increase in data generated, brings new opportunities but also
new challenges (e.g. IoV). Therefore, even though Fog computing has helped a number of
organisations and corporations to meet their IoT goals, further progress is needed in the
development of infrastructures capable of meeting these new challenges. In this sense, both
MeSS 2022: International Workshop on MDE for Smart IoT Systems, Nantes, France, July, 2022
*
Corresponding author: José A. Barriga
†
This work was funded by the Government of Extremadura, Council for Economy, Science and Digital Agenda
under the grant GR21133 and the project IB20058 and by the European Regional Development Fund (ERDF). These
authors contributed equally.
$ jose@unex.es (J. A. Barriga); pjclemente@unex.es (P. J. Clemente)
0000-0001-8377-1860 (J. A. Barriga); 0000-0001-5795-6343 (P. J. Clemente)
© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
corporations and academia are focusing their efforts on the development of new computing
paradigms, such as Edge-Cloud computing, Cloudlet computing, Mobile Cloud Computing or
Mobile Ad-hoc Cloud computing [1]. These efforts are also being focused on the improvement of
existing computing paradigms, such as Fog or Cloud computing (e.g. Fog Federations, Fog-Cloud
federations, task scheduling or offloading algorithms and policies improvements). To do this, IoT
systems need to be developed, deployed and tested, requiring high investments on devices, fog
nodes, cloud nodes, analytic nodes, hardware and software. However, in order to decrease the
cost associated with developing and testing 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 optimise 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 [3]. 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 engineering 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 respect, SimulateIoT [3] is a model-driven engineering approach to define, generate code
and deploy IoT systems simulations. In this paper, SimulateIoT has been extended taking into
account the requirements and new challenges of current IoT systems.
In this sense, the first contribution is based on the addition of the federated Fog concepts to
the IoT domain and SimulateIoT metamodel. The federation of Fogs allows the different fog
nodes to act as one entity rather than as isolated nodes. In this way, the user has the possibility
to analyse the impact (usually on delay) of the application of new task scheduling or offloading
algorithms and policies, using geographic distributions of Fog nodes, the addition or subtraction
of certain nodes, etc.
The second contribution is based on the concept of Fog-Cloud federation. IoT systems are
heterogeneous in infrastructure as a response to the heterogeneity (requirements) of their tasks
and processes. In this respect, the cooperation between the different layers of an IoT system is
essential to optimise the system, and a current research area. For instance, there are tasks that
may be computationally complex and also have latency requirements in some parts of their
processes, or applications that generate several kinds of tasks, such as delay sensitive tasks
and complex computational tasks (e.g. a stream processing application). In order to achieve
optimal execution of such tasks, federation between the Cloud layer and the Fog layer is a key
element. In this way, the Fog layer should carry out the latency-sensitive processes, and the
Cloud layer should carry out the computationally complex ones. In this sense, and as in the first
contribution, end-users will be able to test the impact of algorithms and policies that manage
the orchestration between Fog and Cloud in terms of performance in the execution of this kind
of tasks.
The third contribution is carried out as a complement to the previous ones. The possibility of
modelling IoT applications is added. IoT applications are the ones that generate different tasks
and processes (with different requirements), thus making use of the new infrastructure included
and allowing end-users to test their task scheduling algorithms, offloading policies, etc.
The last contribution focuses on the need to create a feasible latency model for the end-user of
the simulator. SimulateIoT allows the Cloud and Fog nodes to be deployed on different machines,
thus emulating a real system, otherwise the simulation results would not be realistic in terms of
delay. To this end, we have included the possibility to model the latency that each Edge node or
IoT application would hypothetically experience when interacting with the Fog/Cloud layers.
In this way, the end-user can model the maximum and minimum latency, as well as the latency
distribution (e.g. Gaussian) that each of the nodes might experience when interacting with each
other.
In short, these extensions allow the modelling of a federated Fog and Cloud layer that can
support critical applications with critical requirements for QoS, latency (e.g. ultra-low latency),
bandwidth, energy consumption etc. Thus, end-users of the simulator can design, test, analyse
and optimise IoT systems according to current and future IoT scenarios in terms of infrastructure
and services requirements.
Keywords: IoT IoT systems simulation Model-driven Engineering Fog federation Fog-Cloud
federation
References
[1] A. Yousefpour, C. Fung, T. Nguyen, K. Kadiyala, F. Jalali, A. Niakanlahiji, J. Kong, J. P.
Jue, All one needs to know about fog computing and related edge computing paradigms:
A complete survey, Journal of Systems Architecture 98 (2019) 289–330, ISSN 1383-7621,
doi:\let\@tempa\bibinfo@X@doihttps://doi.org/10.1016/j.sysarc.2019.02.009, URL https://
www.sciencedirect.com/science/article/pii/S1383762118306349.
[2] F. Bonomi, R. Milito, J. Zhu, S. Addepalli, Fog computing and its role in the internet of things,
in: Proceedings of the first edition of the MCC workshop on Mobile cloud computing, 13–16,
2012.
[3] J. A. Barriga, P. J. Clemente, E. Sosa-Sánchez, A. E. Prieto, SimulateIoT: Domain Specific Lan-
guage to Design, Code Generation and Execute IoT Simulation Environments, IEEE Access
9 (2021) 92531–92552, doi:\let\@tempa\bibinfo@X@doi10.1109/ACCESS.2021.3092528.