<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SimulateIoT-Federations: Domain Specific Language for designing and executing IoT simulation environments with Fog and Fog-Cloud federations (Poster)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>José A. Barriga</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pedro J. Clemente</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Quercus Software Engineering Group</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Internet of Things (IoT) is being applied to areas such as smart-cities, home environment, agriculture, industry, etc. These application areas are very diferent 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 eficient 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, ofering greater QoS at an afordable 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 internetconnected 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</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        corporations and academia are focusing their eforts on the development of new computing
paradigms, such as Edge-Cloud computing, Cloudlet computing, Mobile Cloud Computing or
Mobile Ad-hoc Cloud computing [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These eforts 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 ofloading 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 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. 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.
      </p>
      <p>
        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 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] 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.
      </p>
      <p>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 diferent 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 ofloading
algorithms and policies, using geographic distributions of Fog nodes, the addition or subtraction
of certain nodes, etc.</p>
      <p>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 diferent 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.</p>
      <p>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 diferent tasks
and processes (with diferent requirements), thus making use of the new infrastructure included
and allowing end-users to test their task scheduling algorithms, ofloading policies, etc.</p>
      <p>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 diferent 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.</p>
      <p>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.</p>
      <p>Keywords: IoT IoT systems simulation Model-driven Engineering Fog federation Fog-Cloud
federation</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yousefpour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kadiyala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jalali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niakanlahiji</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Jue</surname>
          </string-name>
          ,
          <article-title>All one needs to know about fog computing and related edge computing paradigms: A complete survey</article-title>
          ,
          <source>Journal of Systems Architecture</source>
          <volume>98</volume>
          (
          <year>2019</year>
          )
          <fpage>289</fpage>
          -
          <lpage>330</lpage>
          , ISSN 1383-7621, doi:\let\@tempa\bibinfo@X@doihttps://doi.org/10.1016/j.sysarc.
          <year>2019</year>
          .
          <volume>02</volume>
          .009, URL https:// www.sciencedirect.com/science/article/pii/S1383762118306349.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bonomi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Milito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Addepalli</surname>
          </string-name>
          ,
          <article-title>Fog computing and its role in the internet of things</article-title>
          ,
          <source>in: Proceedings of the first edition of the MCC workshop on Mobile cloud computing</source>
          ,
          <volume>13</volume>
          -
          <fpage>16</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Barriga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Clemente</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sosa-Sánchez</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. E. Prieto,</surname>
          </string-name>
          <article-title>SimulateIoT: Domain Specific Language to Design, Code Generation and Execute IoT Simulation Environments</article-title>
          , IEEE Access 9
          <article-title>(</article-title>
          <year>2021</year>
          )
          <fpage>92531</fpage>
          -
          <lpage>92552</lpage>
          , doi:\let\@
          <source>tempa\bibinfo@X@doi10.1109/ACCESS</source>
          .
          <year>2021</year>
          .
          <volume>3092528</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>