Conference PaperPDF Available

Cloud-based modeling in IoT domain: a survey, open challenges and opportunities

Authors:

Abstract

The current evolution of cloud-based computing opens up a lot of possibilities for software development. In the near future, complex systems in various domains such as Space, Automotive, Internet of Things, and Smart Cities, will be designed, developed, and deployed from cloud-based environments, hence lowering production and maintenance costs. However, in the IoT domain, parts of the system have to run on Edge, Fog, or Cloud, posing significant difficulties in determining what, where, and when to develop. Therefore, this paper conducted a thorough review to investigate where the IoT domain community stands concerning the current trend of moving traditional modeling infrastructures to the cloud. Following an examination of 625 articles, we focus on 22 different cloud-based IoT system development approaches. Moreover, we highlight various opportunities and challenges related to the adoption of cloud-based modeling tools and platforms in the IoT domain. Index Terms-Model-driven engineering, low-code, cloud-based modeling, Internet of Things.
Cloud-based modeling in IoT domain: a survey,
open challenges and opportunities
Felicien Ihirwe¶ §, Arsene Indamutsa§, Davide Di Ruscio§, Silvia Mazzini, and Alfonso Pierantonio§
§Department of Information Engineering, Computer Science and Mathematics, University of L’Aquila, L’Aquila, Italy
Innovation Technology Services Lab, Intecs Solutions S.p.A, Pisa, Italy
§{arsene.indamutsa,davide.diruscio,alfonso.pierantonio}@univaq.it
{felicien.ihirwe,silvia.mazzini}@intecs.it
Abstract—The current evolution of cloud-based computing
opens up a lot of possibilities for software development. In
the near future, complex systems in various domains such
as Space, Automotive, Internet of Things, and Smart Cities,
will be designed, developed, and deployed from cloud-based
environments, hence lowering production and maintenance costs.
However, in the IoT domain, parts of the system have to
run on Edge, Fog, or Cloud, posing significant difficulties in
determining what, where, and when to develop. Therefore, this
paper conducted a thorough review to investigate where the
IoT domain community stands concerning the current trend
of moving traditional modeling infrastructures to the cloud.
Following an examination of 625 articles, we focus on 22 different
cloud-based IoT system development approaches. Moreover, we
highlight various opportunities and challenges related to the
adoption of cloud-based modeling tools and platforms in the IoT
domain.
Index Terms—Model-driven engineering, low-code, cloud-
based modeling, Internet of Things.
I. INTRODUCTION
Cloud-based modeling is one of the relevant topics in
the model-driven engineering community due to the induced
possibilities of designing, developing, analyzing and deploying
applications seemingly with reduced efforts. This has also
been recently favored by the increasing adoption of low-
code development platforms (LCDP). The recent Lowcomote
project1aims at shifting the use and development of LCDPs
to advanced levels by bridging together different research
fields, including Model-Driven Engineering, Cloud Comput-
ing, and Machine Learning. Ideally, domain-specific low-code
development platforms have to run on cloud infrastructures,
even though in some industrial settings such as IoT, domain-
specific modeling environment tends to be local-based [1].
Nowadays, industries and companies are trying to migrate their
modeling infrastructures to the cloud. However, especially in
industrial contexts, the existing modeling infrastructures are
implemented in complex environments in which the migration
cost can be far more expensive and very complicated.
The future of modeling will forcefully be cloud-based [2].
Several initiatives, including Visual Studio Code2, Eclipse
This work has received funding from the Lowcomote project under Euro-
pean Union’s Horizon 2020 research and innovation program under the Marie
Skłodowska-Curie grant agreement n° 813884.
1https://www.lowcomote.eu/
2https://code.visualstudio.com
Che3, Theia4, and others have shown a lot of potential in shift-
ing modeling environments from local-based and monolithic
installations to cloud-based platforms in order to eliminate
accidental complexity and expand the variety of available
functionalities [2].
In the IoT domain, modeling and development infrastruc-
tures need to consider several heterogeneous aspects of the
system’s data, communication, and implementation layers.
This paper looks at what has been done so far in the IoT
domain to support IoT systems’ development through cloud-
based modeling approaches. In particular, we conducted a
thorough investigation to see where the IoT community stands
concerning the current trend of moving traditional modeling
infrastructures to the cloud. Following an examination of 625
articles, we identified 22 different cloud-based IoT system
development tools and platforms. We perform an analysis of
the various issues that the IoT community is encountering
while implementing cloud-based modeling tools. As a result,
we take a deeper look at a few options and discuss the research
and development opportunities enabled by adopting cloud-
based modeling approaches in the IoT domain.
The remainder of this paper is organized as follows: Section
II provides an overview of cloud-based modeling approaches
and highlights motivations and needs for modeling IoT sys-
tems by means of dedicated cloud-based environments. Sec-
tion III presents the research methodology we have used to
conduct the survey. Sections IV–VI discuss the findings of
the performed analysis, which has been performed to answer
three dedicated research questions. Section VII discusses the
related work, whereas Section VIII concludes the paper.
II. BACKGROU ND
The significant advancements in computing power, data
storage and processing are revolutionizing the development
and research of complex systems in several domains, including
that of the Internet of Things (IoT) [3]. IoT systems enable the
integration of intelligent features into daily human activities
through the automation of services. In particular, such systems
allow automation of low-level services that used to be error-
prone if done by humans. Moreover, they increase efficacy in
3https://www.eclipse.org/che/
4https://theia-ide.org
current engineering solutions and connect a range of many
devices that render our environment smart. Recent reports
predict that more than 100 billion devices will be connected
by 2025 and 11 trillions dollars of global market capital will
be reached [4]. However, to unleash the full potential of these
systems, it is necessary that also citizen developers can take
part in the development of custom IoT applications [1].
The development and consumption of IoT systems are
becoming way more complex, and involving end-users is
more challenging due to the heterogeneity of the hardware
and required expertise [1]. This complexity originates from
various sources. IoT applications are complex systems that
use heterogeneous devices and data sources. Besides, IoT
systems require enormous efforts and investments both in
their implementation and maintenance. Moreover, the systems
are implemented using code-centric approaches that make it
challenging to foster the inclusion of IoT domain experts and
other stakeholders with less IoT programming skills [1].
Due to the ever-changing requirements and the shortage of
engineering experts that develop these systems robustly and
securely [5], the way forward entails the need to pave the
way for domain experts and other stakeholders to integrate
IoT capabilities in their daily tasks [1]. Several approaches
are being discussed, while practical solutions are finding a
way to facilitate IoT application usage and development very
accessible. Model-driven engineering (MDE) promotes the
systematic use of models as the primary abstraction entities
all along the development of complex systems by fostering
abstraction and automation [6]. Models in the context of
MDE are not sketches, drawings that serve purpose only in
design, but they prevail until the end of the development
cycle of these systems as machine-readable and processable
abstractions [7]. MDE favors collaboration of engineers and
stakeholders, as both work together toward the completion
of the conceived products and foster integration of different
engineering processes [5].
However, MDE itself has faced challenges that have shifted
the focus of the development of such complex and hetero-
geneous systems from local environments to the cloud [8].
Modeling-as-a-Service is gaining momentum as the MDE
research community is migrating modeling tools and services
to the cloud. This migration is encouraged by several out-
of-box benefits in cloud computing, such as easy discovery
and reuse of services and artifacts [6]. It has enabled efficient
self-healing mechanisms to detect, diagnose, and countermea-
sure threats and foster collaboration among stakeholders and
engineers [9]. Furthermore, migrating modeling artifacts and
services on the cloud can facilitate end-users easy accessi-
bility, hence supporting sustainable management and disaster
recovery of model artifacts and tools [10].
III. STU DY DE SI GN
This paper aims to analyze how the IoT domain is coping
with the trend of moving existing modeling and development
infrastructures to the cloud. To this end, we followed the
process shown in Fig. 1 according to the methodology pre-
sented in [11]. In particular, the search and selection process
was mainly conducted into four main phases. In the first
phase, we formally and explicitly represented the problem to
get a head start on the search. Second, we defined a search
string and selected well-known academic search databases.
Third, we performed a search to gather papers to answer
properly defined research questions. Fourth, we narrowed
down the potential papers and mapped them based on their
similarity and variability. Finally, we analyzed the collected
papers and elaborated some recommendations on the identified
difficulties.
Fig. 1. Search and selection process
Phase 1: Problem formalisation - This phase mainly focused
on formalizing the problem we wanted to solve by looking
at the current model-driven engineering tendency. One of the
sources of inspiration for this study was the work in [2] which
addresses the topic of ”what is the future of modeling?”. Thus,
we came up with the formulation of the following research
questions:
RQ1: How is the IoT community adopting cloud-based
modeling approaches?
RQ2: What challenges do researchers face when devel-
oping cloud-based IoT modeling and development infras-
tructures?
RQ3: What are the main potential opportunities laying
ahead for future researchers and developers in the IoT
domain?
Phase 2: Automatic & manual search: In this phase, we
applied a search string to different academic databases, i.e.,
Scopus (Elsevier)5, IEEE Xplore6and ACM library7by
limiting the search on the last 10 years. Additionally, we
also performed a manual search, primarily using Google
Scholar. The query string we used for the automatic search
was: ("MDE" OR "Model Driven Engineering")
AND ("IoT" OR "Internet of Things") AND
("Cloud" OR "Web").
5https://www.elsevier.com/
6https://ieeexplore.ieee.org
7https://dl.acm.org/
Table I shows the number of papers we managed to collect in
this phase.
TABLE I
RES ULTS TAB LE
Database Results
Scopus (Elsevier) 233
IEEE Xplore 263
ACM library 115
Manual search 14
Total 625
Phase 3: Inclusion & exclusion, 1st pass: Table I shows
that 611 publications were initially discovered from different
sources, in addition to the 14 papers that were manually found
and considered relevant for the study. At this point, we have
reviewed the paper’s title, keyword, and abstract to exclude
papers that were not satisfying the following criteria:
Studies published in a peer-reviewed journal, conference,
or workshop.
Studies written in English.
Papers that focus explicitly on the Internet of Things
(IoT) topic.
Studies that propose a cloud-based modeling approach,
either explicitly or implicitly.
At the end of this step, we had 80 papers to be added
to additional 14 documents manually retrieved from Google
Scholar.
Phase 4: Inclusion & exclusion, 2nd pass: In this phase,
we read the introduction and the conclusion of the papers
previously collected. We also removed some duplicates. Var-
ious documents were rejected during this phase for a variety
of reasons, for instance, because the presented approach is
not explicitly offering an IoT-based cloud-based development
environment. At the end of this phase, we ended up with 33
documents.
Phase 5: Reading of the whole paper text: We’ve gone
over the entire articles in this phase, focusing on the proposed
approaches and their evaluation sections. Several documents
were discarded because of different reasons. For instance,
papers that presented hybrid solutions (e.g., enabling local
modeling with the possibility of storing models on remote
repositories) were discarded. In addition, the approaches that
claim to build web-based IoT data-wrangling platforms by
reusing existing IoT data storage platforms were also dis-
carded. Finally, we selected 22 documents that leverage a
cloud-based modeling environment to design, develop, or
deploy IoT applications.
Figure 2 shows the distribution of the selected approaches
with respect to their corresponding sources. As you might
notice from Fig. 2, a portion of the selected approach (4 out
of 22) was found manually. This is because of our previous
knowledge on this topic in terms of framework and tools. In
the following, the research questions presented in Sec. III are
Fig. 2. Selected paper distribution
answered singularly by analyzing the research papers that have
been collected as previously described.
IV. CLO UD -BASED MODELING APPROACHES (RQ1)
This section goes over different cloud-based modeling
approaches that target the IoT domain. We organized the
analysed approaches into three categories according to their
main focus of interest i.e., modeling IoT structural aspects,
service-oriented approaches, and deployment orchestrations.
The aim is to answer the research question RQ1: How is the
IoT community adopting cloud-based modeling approaches?
Modeling IoT structural aspects: DSL-4-IoT [12] is a cloud-
based modeling tool for the IoT domain, which comprises
a JavaScript-based graphical frontend programming language
and a runtime “OpenHAB” execution engine. DSL-4-IoT
provides a multistage model-driven approach for the design
of IoT applications that supports all stages of the life cycle of
these systems. Automatic model transformations are provided
to refine abstract models elements into concrete ones. Those
transformation results formatted as JSON-Arrays are passed
to the OpenHAB runtime engine for execution.
BIoTA [13] offers a cloud-based modeling approach for
IoT architectures. A graphical DSL and supporting tools allow
users to perform syntax and semantic analysis. BIoTA renders
it possible to computationally formalize a software architecture
suggested by a user according to formal automata techniques.
The component & connectors are created following specific
rules to meet IoT-specific scenarios while exporting the result-
ing software architecture towards a Docker-based deployment
infrastructure.
Node-RED [14] is a popular and extensible model-driven
framework for tying together IoT devices, APIs, and web
services in a homogenous manner. It provides users with a
Web-based graphical editor with drag-and-drop facilities. In
Node-RED, the user can also create and deploy real-time
dashboards.
AutoIoT [15] is a Web-based platform with a Graphical
User Interface (GUI) that allows programmers to deploy and
configure IoT systems quickly. The final system-generated
artifact is a Flask project8(a python micro-framework) that can
be run as is or extended to meet the needs of developers that
might require more complex functionalities. The final system
can also connect to an MQTT Broker, storing and querying
data in a database, presenting data to users, and exchanging
them with other systems. AutoIoT had later been extended in
[16] to allow users to model their IoT systems in terms of
JSON files.
In [17], a cloud-based textual language and tool for Event-
based Configuration of Smart Environments (ECSE) had been
proposed. The tool enables the end-user, being expert or not,
to configure a smart environment by employing an ontology-
based model. In their approach, the authors used the Resource
Description Frameworks (RDF) to define the event-action
rules.
AtmosphericIoT [18] is a cloud-based domain-specific lan-
guage and tools for building, connecting, and managing IoT
systems. AtmosphericIoT Studio is a free online IDE that lets
you create all kinds of device firmware, mobile apps, and cloud
dashboards. It links devices via Wi-Fi, Bluetooth, BLE, Sigfox,
LoRa, ZigBee, NFC, satellite, and cellular networks.
In [19], authors propose a model-based approach for creat-
ing responsive and configurable Web of things user interfaces.
Models@Runtime are used to produce runtime interfaces based
on a formal model named Thing Description (TD). TD’s goal
is to expose Web Things (WT) attributes, actions, and events
to the outside ecosystem. The modeling language has been
developed in JavaScript, using the VueJS framework, and it is
publicly available9.
In [20], the authors presented a model-driven approach to
the development of IoT system interfaces. In their work, they
proposed a design pattern and the required components for
designing such interfaces. The authors implemented a platform
for the development of IoT mobile and web applications
based on WebRatio,10 a generic cloud-based model-driven
development and code generation framework.
FloWare Core [21] is a model-driven open-source toolchain
for building and managing IoT systems. FloWare supports
the Software Product Line and Flow-Based Programming
paradigms to manage the complexity in the numerous stages
of the IoT application development process. The system con-
figures the IoT application following the IoT system model
supplied by the IoT developer. A Node-RED engine [14] is
integrated in FloWare.
Vitruvius [22] is an MDD platform that allows users with
no programming experience to create and deploy complex
IoT web applications based on real-time data from connected
vehicles and sensors. Users can design their ViWapplications
straight from the web using a custom Vitruvius XML domain-
specific language. Furthermore, Vitruvius provides a variety
of recommendation and auto-completion features that aid in
creating applications by reducing the amount of XML code to
be written.
8https://flask.palletsprojects.com
9https://github.com/smar2t/td interface builder
10https://www.webratio.com/
Service-oriented approaches: This category includes ap-
proaches providing users with cloud-based modeling environ-
ments targeting service-oriented architectures. Thus, different
services are connected to build the final IoT systems.
MIDGAR [23] is an IoT platform specifically developed to
address the service generation of applications that interconnect
heterogeneous objects. This is achieved by using a graphical
DSL in which the user can interconnect and specify the
execution flow of different things. Once the desired model is
ready, it gets processed through the service generation layer,
generating a tree-based representation model. The model is
then used to generate a Java application that can be compiled
and run on the server.
IADev [24] is a model-driven development framework that
orchestrates IoT services and generates software implementa-
tion artifacts for heterogeneous IoT systems while supporting
multi-level modeling and transformation. This is accomplished
by converting requirements into a solution architecture using
attribute-driven design. In addition, the components of the
produced application communicate using RESTful APIs.
LogicIoT [25] offer a textual web-based DSL to ease data
access and processing semantics in IoT and Smart Cities
settings. LogicIoT is implemented as a set of custom Jakarta
Server Pages (JSP)11 in which different custom JSP tags
have been implemented to define the modeling semantics.
The language consists of seven constructs: relations, triggers,
endpoints, timers, facts, rules, and modules. Using the custom
tags, the user can define the application’s operations required
to enable the communication between process instances and
sensors without being concerned with low-level programming
details.
glue.things [26] offers a cloud-based mashup platform for
wiring data of Web-enabled IoT devices and Web services.
glue.things take care of both the delivery and maintenance of
device data streams, apps, and their integration. In this regard,
glue.things rely on well-established real-time communication
networks to facilitate device integration and data stream man-
agement. The glue.things modeling tool combines device and
real-time communication, allowing users to describe element’s
triggers and actions and deploy them in a distributed manner.
In [27], the authors proposed a framework for scalable and
real-time modeling of cloud-based IoT services in large-scale
applications, such as smart cities. IoT services are modeled
and organized in a hierarchical manner.
In [28], a portable web-based graphical end-user program-
ming environment for personal apps is proposed. This tool
allows the users to discover smart things in their environment
and create personalized applications that represent their own
needs. Each of the defined smart objects can provide various
features that can be published via a well-defined API. The
graphical representation of the system is then generated from
the constructed JavaScript objects in which the user can
interact with the system on the fly.
11https://en.wikipedia.org/wiki/Jakarta Server Pages
E-SODA [29] is a cloud-based DSL under the Cloud-Edge-
Beneath (CEB) architecture ecosystem. In E-SODA, a cloud
sensor comprises a set of Event/Condition/Action (ECA) rules
that define the sensor service life-cycle. It allows the user to
be abstract and simulate sensor behavior through an events-
based fashion. This is achieved by having the ECA rules listen
for the occurrence of a predetermined ”event” and respond
by performing the ”action” if the rule’s ”condition” is met.
Finally, the generated cloud sensor application can be used in
any cloud-based application which needs sensor data.
In [30], the authors introduced an integrated graphical
programming tool based on a goal-driven approach, in which
end users are only required to specify their purpose in a
machine-understandable manner, rather than designing a ser-
vice architecture that fulfills their goal. This allows a smart
environment’s ultimate purpose to be graphically represented,
but the complexities of the underlying semantics are hidden.
A reasoning component uses the provided goal statement and
analyses whether the goal can be achieved given the set
of available services and infers whatever user actions (i.e.,
requests involving REST resources) are required to achieve it.
InteroEvery [31] promotes a microservice-based architec-
ture to deal with interoperability issues of the IoT domain.
First, an IoT system is configured through a web-based
graphical interface showing each microservice’s functionali-
ties. A universal broker connects a dedicated interoperability
microservice with various adaption microservices depending
on employed choreography patterns.
Model-based deployment orchestration: As IoT system de-
ployment happens at different layers of abstractions, this
section presents the identified approaches, which aim to or-
chestrate the deployment mechanisms of IoT systems using
cloud-based modeling environments.
DoS-IL [32], [33] is a textual domain scripting language
for resource-constrained IoT devices. It allows changing the
system’s behavior after deployment through a lightweight
script written with the DoS-IL language and stored in a
gateway at the fog layer. The gateway hosts an interpreter
to execute DoS-IL scripts.
TOSCA (Topology and Orchestration Specification for
Cloud Applications) [34] aims at improving the reusability
of service management processes and automate IoT applica-
tion deployment in heterogeneous environments. In TOSCA,
common IoT components such as gateways and drivers can be
modeled. In addition, the gateway-specific artifacts necessary
for application deployment can also be specified to ease the
deployment tasks.
GENESIS (Generation and Deployment of Smart IoT Sys-
tems) [35] is a textual cloud-based domain-specific modeling
language that supports continuous orchestration and deploy-
ment of Smart IoT systems on edge, and cloud infrastructures.
GENESIS uses component-based approaches to facilitate the
separation of concerns and reusability; therefore, deployment
models can be regarded as an assembly of components. The
GENESIS execution engines support three types of deployable
artifacts, namely ThingML model [36], Node-RED container
[14] and any black-box deployable artifact (e.g., an executable
jar). The created deployment model is subsequently passed to
GENESIS deployment execution engine, which is in charge of
deploying the software components, ensuring communication
between them, supplying the required cloud resources, and
monitoring the deployment’s status.
Discussion: As previously presented, several approaches are
available to support cloud-based modeling in the IoT domain.
Table II shows an overview of the analyzed approaches; half
of them are concerned with structural issues, whereas only a
few deal with deployment concerns. The current state of the
art suggests that there is no predominant common language,
although graphical syntax is preferred.
Most of the analyzed approaches are supported by tools,
which are not open source. This goes hand in hand with the
public availability of the methodologies. We can observe that
all the tools that are not open-source are also not publicly ac-
cessible. When looking at industrial settings, this is especially
true when it comes to internal proprietary tools.
While analyzing each approach, we also looked at the sup-
porting infrastructures and their ability to generate deployable
artifacts. In this regard, we have discovered that JavaScript-
based environments like Node.js and Angural.js are widely
used for tool development. This might be due to the fact they
are among the modern languages for front-end technology
implementation. On the other hand, it appears that the majority
of techniques generate artifacts, even though few of them are
standalone deployable components. It is also worth noting that
the generated deployable artifacts can only be deployed within
the same original environment in most of the cases. To ensure
interoperability, scalability, and reusability of the tools, the
generated artifacts should generally be deployed anywhere.
V. OPEN CHALLENGES (RQ2)
Multiple issues have arisen as a result of the expansion of
connected smart and sensor devices, as well as the increased
usage of cloud-based models [9]. As a typical IoT system
consists of multiple complex sub-systems, having an all-in
cloud-based environment can become even more complicated.
On the other hand, overcoming these barriers is worth the
effort because it opens up more opportunities. This section
elaborates on the current challenges IoT systems face while
developing and integrating such tools in a cloud-based envi-
ronment. Essentially, we are answering the research question
RQ2: What challenges do researchers face when developing
cloud-based IoT modeling and development infrastructures?
Extensibility mechanisms: Extensible platforms allow the ad-
dition of new capabilities without having to restructure the
entire ecosystem. Because IoT systems are distributed, a
typically recommended architecture would be to use the
micro-service architecture throughout the development process
[3]. Aside from that, IoT systems may require additional
interactions with third-party technologies. As a result of the
previous scenario, developing tools to design and develop
TABLE II
ANALYZ ED A PPR OACH ES
Tool name Category Language syntax Open-
source
Tool
availability
Underlying
infrastructure
Generated artifact
DSL-4-IoT Structure Graphical no no js, OpenHAB JSON config
BIoTA Structure Graphical no no Apache Tech.
GraphQL
YAML file
IADev Service Textual no no ASR,REST,ATL REST app
Node-RED Structure Graphical yes yes Node.js Node-RED app
AutoIoT Structure Graphical
textual
& no no Python, js Flask app
[17] Structure Textual no no Smart-M3
AtmosphereIoT Structure Graphical no yes Multi-platform Multi-platform
apps
[19] Structure Textual yes yes js,VueJS UI code
[20] Structure Graphical no no WebRatio, IFML UI code
FloWare Core Structure Graphical yes yes JavaScript Node-RED Config file
Vitruvius Structure Textual yes no XML,HTML,js HTML5 with
JavaScrit app
MIDGAR Service Graphical no no Ruby,js,HTML, Java Java app
LogicIoT Service Textual no no JSP -
glue.things Service Graphical yes no AngularJS,Meshblu
PubNub
NodeRED service
[27] Service Textual no no Firebase&Node.js
TOSCA Deployment Textual yes yes Multi-platform Config files
[28] Service Graphical no no - -
E-SODA Service Textual yes no OSGI cloud OSGI java bundles
[30] Service Textual yes yes ClickScript,AJAX REST services
InteroEvery Service Graphical no no Spring Boot,Rest
RabbitMQ,Angular
DoS-IL Deployment Textual no no js,HTML,DOM Config files
GENESIS Deployment Textual no no multi-platform Genesis dep. agents
such distributed applications on the cloud need efficient tools
that traditional domain specialists may not have. Accessibility
mechanisms are presented through tools like [14], [21], but
there is still a lot to be done. Currently, domain experts
must provide cloud-based automation mechanisms and tools to
allow citizen developers to add new features without requiring
sophisticated knowledge or changing existing architectures.
Heterogeneity: It is an important challenge of the IoT domain,
which involves different players developing various applica-
tions running at different layers, namely the edge, fog, and
cloud [3]. In addition, deployments and data consumption
methods are very diverse, increasing the complexity of tradi-
tional code-centric approaches [37]. Cloud-based modeling in
IoT brings even more sophistication regarding the environment
in which the system should be designed and developed.
The typical cloud-based modeling platform should foster the
integration of heterogeneous technological implementations,
promoting reusability and developing solutions close to the
problem domain. Approaches such as [23], [24], [34] have
presented different strategies to tackle such issues, but much
more have to be investigated.
Scalability: IoT systems are expected to handle a wide range of
users, perform demanding computations, and share enormous
amounts of data among nodes. Therefore, supporting cloud-
based modeling approaches must be implemented in such
a way that scalability concerns are mitigated. One of the
approaches to tackle such challenges is to adopt container-
based orchestration tools such as Kubernetes. The use of such
tools can offer out-of-box features such as self-healing, fault-
tolerance, and elasticity of containerized resources [4]. This
will also help automate cognitive processes that can detect
scalability needs and adjust autonomously without human
intervention.
Interoperability: The interoperability of various tools, services,
and resources is critical in the IoT domain. The interoperability
of cloud-based modeling platforms, particularly in the IoT
area, is currently limited since different tools run in different
environments and have different natures. A tool like [31]
promotes the micro-service architecture by allowing all parts
of the system to communicate with each other. Several regula-
tions, such as standardization, will need to be implemented to
achieve interoperability among different cloud-based modeling
environments. To address interoperability concerns, technolo-
gies like [14], [12], [15], [21] promote a common format based
on JSON to encode models. It is worth noting that adopting
Model-as-a-Service (MaaS) architectures could also promote
the interoperability of services and artifacts.
Learning curve: It is not easy to find professionals who can
master and combine the different sophisticated technologies
involved in developing and managing IoT systems. IoT domain
experts may lack modern programming expertise, whereas
experienced software programmers may lack modeling domain
expertise. For instance, conceiving a cloud-based code gen-
erator requires understanding different model transformation
techniques and particular programming abilities; Implement-
ing a visual mashup tool will necessitate knowledge of modern
languages such as JavaScript, HTML, and CSS.
Security concerns: Current IoT systems suffer from security
concerns as data are collected from a wide distribution of
private and public nodes. Furthermore, the data is transferred
using remote IoT gateways, which might get exposed in the
process. This heterogeneity of secured and unsecured data
might favor attackers to target devices and compromise the
integrity of data and operations [38]. Therefore, proper ab-
stractions and automation techniques are needed to help target
users that might not necessarily have the required knowledge
of the security practices to be employed.
VI. RESEARCH AND DEVELOPMENT OPPORTUNITIES
(RQ3)
In this section, we examine several opportunities that we
think researchers and developers can leverage to improve the
cloud-based development and management of IoT systems.
Therefore, we aim at answering the research question RQ3:
What are the main potential opportunities laying ahead for
future researchers and developers in the IoT domain?.
A. Tools and platforms
Numerous tools and platforms are being built to tackle
cloud-based modeling concerns. Thus, now is the right mo-
ment to suggest powerful and extensible tools that the IoT
community may harness to solve their domain-specific issues.
In this section, we look at various open-source and highly
extensible platforms that are popular among the modeling
community and that we would recommend for the IoT domain.
Cloud-based development tools based on Eclipse: We believe
that a significant part of the MDE community, or at least for
research purposes, uses Eclipse-based technologies. This is be-
cause most Eclipse projects and technologies are open-source,
making them more accessible and encouraging individuals to
participate. As of March 2021, the Eclipse Foundation hosts
over 400 open source projects, 1,675 committers, and over 260
million lines of code have been contributed to Eclipse project
repositories [39]. Through the Eclipse Cloud Development
(ECD)12 effort, the Eclipse community has demonstrated its
willingness to transit a part of its ecosystem to the web.
Eclipse’s ECD Tools working group strives to define and
construct a community of best-in-class, vendor-neutral open-
source cloud-based development tools and promote and accel-
erate their adoption. Some of the best cloud-based technologies
that the IoT community can benefit from are the following:
EMF.cloud, GLSP, Theia - Independently from the
Eclipse modeling framework (EMF), the EMF.cloud com-
munity recently expressed a strong desire to migrate
the Eclipse-based modeling infrastructure to the cloud.
This project aims to develop a web-based environment
for creating modeling tools that can support the editing
mechanisms of EMF-based models. EMF.cloud allows
users to interact with models through the EMF.cloud
model server, which coordinates the use of GLSP for
12https://ecdtools.eclipse.org/
graphical modeling, and LSP for textual modeling. Code
generation infrastructures based on Eclipse Xtend are also
included, while Eclipse Theia provides a web-based code
editing and debugging infrastructure. Several resources
are available in the community for extending those tools,
and we believe that IoT developers may use such tech-
nologies to construct cloud-based IoT DSLs.
Sirius Web13 - It is an Eclipse Sirius-based modeling tool
that provides a powerful and extensible graphical mod-
eling platform for users to design and deliver modeling
tools on the web. In Sirius Web, the ability to create your
modeling workbench in a configuration file is supported.
In this case, no code generation is required because every-
thing is interpreted at run-time [40]. Furthermore, being
open-source, Sirus Web provides greater accessibility and
customizability than the desktop version, making it easier
for the IoT community to get started with their cloud-
based solutions.
Another alternative, such as Eclipse Che14 makes Kuber-
netes development accessible for developer teams. Che is
an in-browser IDE that allows you to develop, build, test,
and deploy applications from any machine. Finally, Epsilon
playground15 has been recently launched to offer cloud-based
tools for run-time modeling, meta-modeling, and automated
model management.
Low-code development platforms: Looking at the LCDPs, the
only powerful cloud-based open-source platform we would
recommend is Node-RED [14]. Due to its high extensibility
and accessibility, Node-RED offers an excellent IoT system
mashup environment in which IoT systems can be designed,
developed, and deployed on the fly. The Node-RED platform is
open, and IoT system developers can build their custom nodes,
compile, test, and deploy them in the Node-RED ecosystem.
Several extensions have been made, such as [41] tackling
the reusability issues in cloud-based modeled components,
[42] to tackle the heterogeneity and complexity challenges
found in the Fog based development. Finally, in [43], the
authors presented SHEN to enable self-healing capabilities of
applications based on Node-RED. In terms of interoperability,
Node-RED models are represented as JSON objects, which
any third-party tools can easily consume. Some of the tools in
this domain, such as FloWare [21] and GENESIS [35] already
support the Node-RED models, which shows a great sign of
its high impact. Table III outlines the essential characteristics
of the recommended platforms.
B. Benefits of cloud-based modeling
Although there are difficulties in adopting a cloud-based
modeling approach in the IoT domain, various opportunities
will emerge, making the investment worth it. This section
outlines various opportunities that will emerge once cloud-
based modeling is widely adopted in the IoT domain.
13https://www.eclipse.org/sirius/sirius-web.html
14https://www.eclipse.org/che/
15https://www.eclipse.org/epsilon/live/
TABLE III
RECOMMENDED TECHNOLOGIES
EMF.cloud GLSP Theia Che Node-RED
Open-source X X X X X
Extensible X X X X X
Scalable X X X X X
IoT-specific — — X
Application Web-based
EMF modeling
tools
Graphical
language-
server-
editor
Web-based
code editor
Kubernetes-
native IDE
for DSL
deployment
Flow-based
programming
1) User communities: Adopting cloud-based modeling in
the IoT domain will have the potential of attracting more
citizen developers, and it will unravel a lot of modeling
opportunities on different devices such as tablets and mobile
devices [44], [28], [45].
2) Collaborative modeling: Once IoT modeling infrastruc-
tures are moved to the cloud, it can be necessary to introduce
collaborative modeling features to simplify the interaction of
both developers and stakeholders. Unfortunately, none of the
discussed approaches provide collaborative modeling function-
alities. However, collaborative modeling can harness the power
of real-time information, artifacts, and service exchange.
3) Productivity: Empowering users to develop their appli-
cations by embracing cloud-based modeling is a head-start
toward high production and reducing time to market [1].
Users can create applications that cater to their problems, and
engineers focus on developing features that facilitate the user
for a smooth development at an appropriate abstraction level.
In addition, the participants will focus on problem-solving in
their particular domain and avoid wasting time and resources
on solving problems that are outside their competencies.
4) Maintenance: Traditional code-centric methodologies
necessitate a significant investment in the ongoing mainte-
nance of developed systems. In addition, systems require
regular upgrades and installations, which can be error-prone
and time-consuming. During upgrades or troubleshoots times
of the system, sometimes system downtime is necessary,
impacting production. Furthermore, the growing need for
software systems in our daily lives and constantly changing
user requirements required an agile approach for addressing
these issues quickly without compromising system availability
or user access. In many cases, such challenges are handled by
cloud providers, leaving developers and engineers to focus on
developing applications that directly impact customer demands
[46].
5) Monitoring and debugging: Cloud-based modeling en-
ables monitoring of activities and their archive through its
cloud providers. This is a head-start when debugging dis-
tributed applications because developers can track down the
microservices, which are the root of the detected problems.
Without appropriate cloud infrastructures, it would be chal-
lenging to solve these issues, even with features such as self-
healing and repair strategies. Current cloud-based solutions
come bundled with monitoring tools that assist in problem
diagnosis and monitor the usage of the applications.
VII. REL ATED W OR K
We identified several surveys papers on MDE and DSL in
the IoT domain throughout our paper selection process. Still,
very few of them focuses explicitly on cloud-based MDE
approaches ([47], [1], [48], [49] to mention a few). In this
paper, we are interested in examining the possible approaches
helping in migrating the classical local-based MDE in IoT
technologies to the cloud and its adoption.
Our previous study [50] looked at the current state of
low-code engineering (LCE) adoption in the IoT domain.
LCE combines LCDPs, MDE, machine learning, and cloud
computing to facilitate the application development life-cycle,
namely from design, development, deployment, and monitor-
ing stages for IoT applications. A comparable set of features
has been identified by examining sixteen platforms to represent
the functionalities and services that each of the investigated
platforms could support. We discovered that just 7 of the 16
could be deployed on the cloud, with the majority of them
being LCDPs, whereas classical MDE approaches rely on a
local-based design paradigm.
In [51], the authors conducted a comprehensive assessment
of model-based visual programming languages in general
before narrowing their focus to 13 IoT-specific visual pro-
gramming languages. The research was carried out based
on their characteristics, such as programming environment,
licensing, project repository, and platform support. According
to a comparison of such features, 72% of open-source projects
are cloud-based, whereas only 17% percent of closed-source
platforms are cloud-based, which confirms a strong uptrend of
cloud-based systems in open-source IoT projects.
In [52], the authors discussed tools and methods for cre-
ating Web of Things services, in particular, mashup tools as
well as model-driven engineering approaches. The techniques
regarding expressiveness, suitability for the IoT domain, and
ease of use and scalability have been analysed. Although this
study is related to this paper, it solely focuses on mashup tools
and only includes a few approaches. We can observe from the
preceding discussion that only a few techniques attempted to
explore cloud-based MDE approaches implicitly. According
to this, and to the best of our knowledge, this is the first
study analyzing the status of cloud-based modeling in the IoT
domain.
VIII. CONCLUSION
To develop IoT applications, developers must overcome
various challenges, including heterogeneity, complexity, and
scalability. Moving development infrastructure to the cloud
will open up plenty of new opportunities regarding acces-
sibility, productivity, maintenance, and monitoring. In this
paper, we conducted a systematic study to assess the current
state of the art on cloud-based modeling approaches in the
IoT domain. We looked at 22 papers proposing cloud-based
modeling environments in the IoT domain. The considered
approaches have been analyzed to assess their strengths and
weaknesses concerning many characteristics, including their
modeling focus, accessibility, openness, and artifact genera-
tion. Throughout the paper, we have discussed many chal-
lenges that IoT developers encounter while adopting such
tools. We also discussed various generic technologies and
tools, which can be adopted in the IoT domain.
REFERENCES
[1] A. J. Salman, M. Al-Jawad, and W. A. Tameemi, “Domain-Specific
Languages for IoT: Challenges and Opportunities,IOP Conference
Series: Materials Science and Engineering, vol. 1067, no. 1, p. 012133,
2021.
[2] A. Bucchiarone, F. Ciccozzi, L. Lambers, A. Pierantonio, M. Tichy,
M. Tisi, A. Wortmann, and V. Zaytsev, “What is the future of modeling?”
IEEE Software, vol. 38, no. 02, pp. 119–127, mar 2021.
[3] M. Marjani, F. Nasaruddin, A. Gani, A. Karim, I. A. T. Hashem,
A. Siddiqa, and I. Yaqoob, “Big IoT Data Analytics: Architecture,
Opportunities, and Open Research Challenges,” IEEE Access, vol. 5,
pp. 5247–5261, 2017.
[4] L. Farhan, S. T. Shukur, A. E. Alissa, M. Alrweg, U. Raza, and
R. Kharel, “A survey on the challenges and opportunities of the
Internet of Things (IoT),” Proceedings of the International Conference
on Sensing Technology, ICST, vol. 2017-Decem, no. December, pp. 1–5,
2017.
[5] M. Brambilla, J. Cabot, and M. Wimmer, Model-Driven Software
Engineering in Practice, 2012.
[6] A. Indamutsa, D. D. Ruscio, and A. Pierantonio, “A Low-Code De-
velopment Environment to Orchestrate Model Management Services,
Advances in Production Management Systems, 2021.
[7] L. Berardinelli, A. Mazak, O. Alt, and M. Wimmer, Model-Driven
Systems Engineering: Principles and Application in the CPPS Domain,
05 2017, pp. 261–299.
[8] D. Di Ruscio, M. Franzago, I. Malavolta, and H. Muccini, “Envisioning
the future of collaborative model-driven software engineering,Pro-
ceedings - 2017 IEEE/ACM 39th International Conference on Software
Engineering Companion, ICSE-C 2017, no. May, pp. 219–221, 2017.
[9] S. Chen, H. Xu, D. Liu, B. Hu, and H. Wang, “A vision of IoT:
Applications, challenges, and opportunities with China Perspective,
IEEE Internet of Things Journal, vol. 1, no. 4, pp. 349–359, 2014.
[10] ´
A. Heged¨
us, G. Bergmann, C. Debreceni, ´
A. Horv´
ath, P. Lunk,
´
A. Menyh´
ert, I. Papp, D. Varr ´
o, T. Vileiniskis, and I. R´
ath, “Incquery
server for teamwork cloud: Scalable query evaluation over collaborative
model repositories,” 21st ACM/IEEE International Conference on Model
Driven Engineering Languages and Systems: Companion Proceedings,
MODELS-Companion 2018, pp. 27–31, 2018.
[11] J. Biolchini, P. G. Mian, A. C. C. Natali, and G. H. Travassos,
“Systematic review in software engineering,System Engineering and
Computer Science Department COPPE/UFRJ, Technical Report ES, vol.
679, no. 05, p. 45, 2005.
[12] A. Salihbegovic, T. Eterovic, E. Kaljic, and S. Ribic, “Design of a
domain specific language and ide for internet of things applications,” in
2015 38th International Convention on Information and Communication
Technology, Electronics and Microelectronics (MIPRO), 2015, pp. 996–
1001.
[13] F. F. Borelli, G. O. Biondi, and C. A. Kamienski, “Biota: A buildout iot
application language,” IEEE Access, vol. 8, pp. 126443–126 459, 2020.
[14] Node-RED, “Node-red: Low-code programming for event-driven appli-
cations,” https://nodered.org/, 2020, last accessed May 2020.
[15] T. Nepomuceno, T. Carneiro, T. Carneiro, C. Korn, and A. Martin, “A
gui-based platform for quickly prototyping server-side iot applications,
in Smart SysTech 2018; European Conference on Smart Objects, Systems
and Technologies, 2018, pp. 1–9.
[16] T. Nepomuceno, T. Carneiro, P. H. Maia, M. Adnan, T. Nepomuceno,
and A. Martin, “Autoiot: A framework based on user-driven mde for
generating iot applications,” in Proceedings of the 35th Annual ACM
Symposium on Applied Computing, ser. SAC ’20. New York, NY,
USA: Association for Computing Machinery, 2020, p. 719–728.
[17] J. Kiljander, J. Takalo-Mattila, M. Etelapera, J.-P. Soininen, and
K. Keinanen, “Enabling end-users to configure smart environments,
in 2011 IEEE/IPSJ International Symposium on Applications and the
Internet, 2011, pp. 303–308.
[18] AtmosphereIoT, “Fast time to first data,” https://atmosphereiot.com/,
2020, last accessed May 2020.
[19] J. D. H. Bezerra and C. T. de Souza, “A model-based approach to
generate reactive and customizable user interfaces for the web of things,
in Proceedings of the 25th Brazillian Symposium on Multimedia and
the Web, ser. WebMedia ’19. New York, NY, USA: Association for
Computing Machinery, 2019, p. 57–60.
[20] M. Brambilla, E. Umuhoza, and R. Acerbis, “Model-driven development
of user interfaces for IoT systems via domain-specific components and
patterns,” Journal of Internet Services and Applications, vol. 8, no. 1,
p. 14, 2017.
[21] F. Corradini, A. Fedeli, F. Fornari, A. Polini, and B. Re, “FloWare:
An Approach for IoT Support and Application Development,” in Enter-
prise, Business-Process and Information Systems Modeling, A. Augusto,
A. Gill, S. Nurcan, I. Reinhartz-Berger, R. Schmidt, and J. Zdravkovic,
Eds. Cham: Springer International Publishing, 2021, pp. 350–365.
[22] G. Cueva-Fernandez, J. P. Espada, V. Garc´
ıa-D´
ıaz, C. G. Garc´
ıa, and
N. Garcia-Fernandez, “Vitruvius: An expert system for vehicle sensor
tracking and managing application generation,” Journal of Network and
Computer Applications, vol. 42, pp. 178–188, 2014.
[23] C. Gonz´
alez Garc´
ıa, B. C. Pelayo G-Bustelo, J. Pascual Espada, and
G. Cueva-Fernandez, “Midgar: Generation of heterogeneous objects
interconnecting applications. a domain specific language proposal for
internet of things scenarios,” Computer Networks, vol. 64, pp. 143–158,
2014.
[24] W. Rafique, X. Zhao, S. Yu, I. Yaqoob, M. Imran, and W. Dou,
“An application development framework for internet-of-things service
orchestration,” IEEE Internet of Things Journal, vol. 7, no. 5, pp. 4543–
4556, 2020.
[25] M. Sneps-Sneppe and D. Namiot, “On web-based domain-specific
language for internet of things,” in 2015 7th International Congress on
Ultra Modern Telecommunications and Control Systems and Workshops
(ICUMT), 2015, pp. 287–292.
[26] R. Kleinfeld, S. Steglich, L. Radziwonowicz, and C. Doukas,
“Glue.things: A mashup platform for wiring the internet of things
with the internet of services,” in Proceedings of the 5th International
Workshop on Web of Things, ser. WoT ’14. New York, NY, USA:
Association for Computing Machinery, 2014, p. 16–21.
[27] A. Taherkordi and F. Eliassen, “Scalable modeling of cloud-based iot
services for smart cities,” in 2016 IEEE International Conference on
Pervasive Computing and Communication Workshops (PerCom Work-
shops), 2016, pp. 1–6.
[28] Y. Valsamakis and A. Savidis, “Personal Applications in the Internet
of Things Through Visual End-User Programming,” in Digital Market-
places Unleashed, C. Linnhoff-Popien, R. Schneider, and M. Zaddach,
Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2018, pp. 809–
821.
[29] Y. Xu and A. Helal, “Scalable cloud–sensor architecture for the internet
of things,” IEEE Internet of Things Journal, vol. 3, no. 3, pp. 285–298,
2016.
[30] S. Mayer, R. Verborgh, M. Kovatsch, and F. Mattern, “Smart configura-
tion of smart environments,IEEE Transactions on Automation Science
and Engineering, vol. 13, no. 3, pp. 1247–1255, 2016.
[31] B. El Khalyly, M. Banane, A. Erraissi, and A. Belangour, “Interoevery:
Microservice based interoperable system,” in 2020 International Con-
ference on Decision Aid Sciences and Application (DASA), 2020, pp.
320–325.
[32] B. Negash, T. Westerlund, A. M. Rahmani, P. Liljeberg, and H. Ten-
hunen, “DoS-IL: A Domain Specific Internet of Things Language for
Resource Constrained Devices,Procedia Computer Science, vol. 109,
pp. 416–423, 2017.
[33] B. Negash, T. Westerlund, P. Liljeberg, and H. Tenhunen, “Rethinking
‘Things’ - Fog Layer Interplay in IoT: A Mobile Code Approach,” in
11th International Conference on Research and Practical Issues of En-
terprise Information Systems (CONFENIS), vol. LNBIP-310. Shanghai,
China: Springer International Publishing, Oct. 2017, pp. 159–167.
[34] F. Li, M. V¨
ogler, M. Claeßens, and S. Dustdar, “Towards automated iot
application deployment by a cloud-based approach,” in 2013 IEEE 6th
International Conference on Service-Oriented Computing and Applica-
tions, 2013, pp. 61–68.
[35] N. Ferry, P. Nguyen, H. Song, P.-E. Novac, S. Lavirotte, J.-Y. Tigli,
and A. Solberg, “Genesis: Continuous orchestration and deployment of
smart iot systems,” in 2019 IEEE 43rd Annual Computer Software and
Applications Conference (COMPSAC), vol. 1, 2019, pp. 870–875.
[36] N. Harrand, F. Fleurey, B. Morin, and K. E. Husa, “Thingml: A
language and code generation framework for heterogeneous targets,
in Proceedings of the ACM/IEEE 19th International Conference on
Model Driven Engineering Languages and Systems, ser. MODELS ’16.
New York, NY, USA: Association for Computing Machinery, 2016, p.
125–135.
[37] M. Noura, M. Atiquzzaman, and M. Gaedke, “Interoperability in Internet
of Things: Taxonomies and Open Challenges,Mobile Networks and
Applications, vol. 24, no. 3, pp. 796–809, 2019.
[38] M. Conti, A. Dehghantanha, K. Franke, and S. Watson, “Internet of
Things security and forensics: Challenges and opportunities,” Future
Generation Computer Systems, vol. 78, pp. 544–546, 2018. [Online].
Available: http://dx.doi.org/10.1016/j.future.2017.07.060
[39] E. Foundation, “2020 annual eclipse foundation community report,”
2020, last accessed July 2021. [Online]. Available: https://www.eclipse.
org/org/foundation/reports/annual report.php
[40] M. Bats and S. Begaudeau, “Sirius web: 100platform,” 2020, last
accessed July 2021. [Online]. Available: https://www.eclipsecon.org/
2020/sessions/sirius-web- 100-open- source-cloud- modeling-platform
[41] A. Restivo, H. S. Ferreira, J. P. Dias, and M. Silva, “Visually-defined
real-time orchestration of iot systems,” 2020.
[42] N. K. Giang, M. Blackstock, R. Lea, and V. C. Leung, “Developing
iot applications in the fog: A distributed dataflow approach,” in 2015
5th International Conference on the Internet of Things (IOT), 2015, pp.
155–162.
[43] J. P. Dias, A. Restivo, and H. S. Ferreira, “Empowering visual
internet-of-things mashups with self-healing capabilities,” arXiv preprint
arXiv:2103.07395, 2021.
[44] L. Brunschwig, E. Guerra, and J. de Lara, “Towards access control for
collaborative modelling apps,” in Proceedings of the 23rd ACM/IEEE
International Conference on Model Driven Engineering Languages and
Systems: Companion Proceedings, ser. MODELS ’20. New York, NY,
USA: Association for Computing Machinery, 2020.
[45] Y. M. Antorini and A. M. Mu ˜
niz, “The Benefits and Challenges
of Collaborating with User Communities,” Research-Technology
Management, vol. 56, no. 3, pp. 21–28, 2013. [Online]. Available:
https://doi.org/10.5437/08956308X5603931
[46] O. David, W. Lloyd, K. Rojas, M. Arabi, F. Geter, J. Ascough,
T. Green, G. Leavesley, and J. Carlson, “Model-as-a-service (MaaS)
using the Cloud Services Innovation Platform (CSIP),Proceedings -
7th International Congress on Environmental Modelling and Software:
Bold Visions for Environmental Modeling, iEMSs 2014, vol. 1, pp. 243–
250, 2014.
[47] G. Fortino, C. Savaglio, G. Spezzano, and M. Zhou, “Internet of things as
system of systems: A review of methodologies, frameworks, platforms,
and tools,” IEEE Transactions on Systems, Man, and Cybernetics:
Systems, vol. 51, no. 1, pp. 223–236, 2021.
[48] A. Wortmann, B. Combemale, and O. Barais, “A systematic mapping
study on modeling for industry 4.0,” in Proceedings of the ACM/IEEE
20th International Conference on Model Driven Engineering Languages
and Systems, ser. MODELS ’17. IEEE Press, 2017, p. 281–291.
[49] S. Teixeira, B. A. Agrizzi, J. G. P. Filho, S. Rossetto, and R. de Lima
Baldam, “Modeling and automatic code generation for wireless sensor
network applications using model-driven or business process approaches:
A systematic mapping study,” Journal of Systems and Software, vol. 132,
pp. 50–71, 2017.
[50] F. Ihirwe, D. D. Ruscio, S. Mazzini, P. Pierini, and A. Pierantonio,
“Low-code engineering for internet of things: a state of research,
in MODELS ’20: ACM/IEEE 23rd International Conference on
Model Driven Engineering Languages and Systems, Virtual Event,
Canada, 18-23 October, 2020, Companion Proceedings, E. Guerra
and L. Iovino, Eds. ACM, 2020, pp. 74:1–74:8. [Online]. Available:
https://doi.org/10.1145/3417990.3420208
[51] P. P. Ray, “A Survey on Visual Programming Languages in Internet of
Things,” Scientific Programming, vol. 2017, p. 1231430, 2017.
[52] C. Prehofer and I. Gerostathopoulos, “Chapter 3 - Modeling RESTful
Web of Things Services: Concepts and Tools,” in Managing the Web of
Things, Q. Z. Sheng, Y. Qin, L. Yao, and B. Benatallah, Eds. Boston:
Morgan Kaufmann, 2017, pp. 73–104.
... To evaluate the effectiveness of the proposed model, we employ it to assess the quality of 17 IoT platforms selected from our previous studies [11], [12]. We present the methodology we used to choose such platforms, perform the quality assessment, and subsequently present and discuss the obtained results. ...
... In [11], we examined 16 different platforms to gain a better understanding of the current state of the art in supporting the development of IoT systems, with a focus on languages and tools available in the MDE field and emerging LCDPs. In [12], we examined 22 IoT modeling environments, assessing their strengths and weaknesses in terms of cloud-based modeling capacity, accessibility, openness, and artifact generation. Combining the two data sources, we started with a total of 38 approaches, which have been filtered by considering the following exclusion criteria: ...
... In this paper, we have extended the ISO/IEC 25010:2011 standard model to propose a software product model for assessing the quality of IoT engineering platforms. To evaluate the effectiveness of the proposed model, we employed it to determine the quality of 17 IoT platforms selected from our previous studies [11], [12]. In terms of limitations, we can state the followings: ...
Article
Full-text available
Over the last few years, industry and academia have proposed several Low-Code and Model-driven Engineering (MDE) platforms to ease the engineering process of the Internet of things (IoT) systems. However, deciding whether such engineering platforms meet the minimum required software quality standards is not straightforward. Software quality can be defined as the degree to which a software system achieves its intended goal. Various software quality standards have been established to aid in the software quality assessment process; however, due to the nature of engineering IoT platforms, such models may not entirely suit the IoT domain. This paper presents a model for assessing the software quality of Low-Code and MDE platforms for engineering IoT platforms. The proposed software quality model is based on and extends the ISO/IEC 25010:2011 software product quality model standard. It is intended to assist IoT practitioners in assessing and establishing quality requirements for engineering IoT platforms. To determine the effectiveness of the proposed model, we used it to evaluate the quality of 17 IoT engineering platforms, and the results obtained are promising.
... Although IoT environment models can naturally be utilized, e.g., as the metamodels of current or future IoT modeling languages, Silva and Hirmer's study did not cover these modeling languages and their evaluation. Starting from the heterogeneous aspects of IoT systems' data, communication, and implementation layers, Ihirwe et al. [72] aimed to determine the implications of the current trend of moving traditional system modeling infrastructures to the cloud. They focused on different cloud-based IoT system development approaches and highlighted the benefits of adopting cloud-based modeling of IoT systems in attracting more citizen developers, collaborative modeling, productivity, maintenance, and monitoring and debugging IoT applications. ...
Article
Full-text available
Modeling languages have gained ever-increasing importance for the Internet of Things (IoT) domain for improving the productivity and quality of IoT developments. In this study, we analyzed 32 different modeling languages that have been designed for IoT software development in terms of a set of requirements that were categorized into three groups: language definition, language features, and tool support. Some key findings are as follows: (1) performance is the most supported quality property (28%); (2) most languages offer a visual notation set only, while 6% provide both textual and visual notation sets; (3) most languages (88%) lack formally precise semantic definitions; (4) most languages (94%) support the physical, deployment, and logical modeling viewpoints, while the behavior, logical, and information viewpoints are rarely supported; (5) almost none of the languages enable extensibility; (6) Java (34%) and C (21%) are the most preferred programming languages for model transformation; (7) consistency (77%) and completeness (64%) are the most supported properties for the automated checking of models; and (8) most languages (81%) are not supported with any websites for sharing case studies, source code, tools, tutorials, etc. The analysis results can be useful for language engineers, practitioners, and tool vendors for better understanding the existing languages for IoT, their weak and strong points, and IoT industries’ needs in future language and modeling toolset developments.
... In this dynamic area, the user can interact with the remote laboratory by getting position in the queue, setting the parameters of the experiment, and view the equipment located in the laboratory, participate in the PW by making measurements and export graphs to enrich report of his experiment. subscription to a topic (sensor/MQTT/publish) [41] on the MQTT broker is done by Node-RED to publishes data received from ESP32. We design the flow to manage and process the device's sensor data. ...
Article
Full-text available
Not only in Morocco, throughout the walks of the world covid 19 pandemics has seriously questioned policymakers from different sectors. Think-tank in the educational sector notably higher education addressed by such a wide range of challenges brought about by covid 19. The characteristic concern that educationalists in Moroccan universities have to reconsider in this pandemic period should not be beyond rethinking new pedagogical alternatives including approaches, methods, techniques and didactic materials which can successfully assist practioners of the teaching and learning process to keep up with the current alterations. Practical work (PW) is an indispensable type of teaching in scientific and technical training and meets a real complementary need through real, remote or virtual laboratories. Students can consolidate what they have learnt and develop analytical skills by comparing experimental results with those obtained during the manipulation. In this context, the Laboratory of Engineering Sciences and Energy Management (LASIME) at the Superior School of Technology of Agadir has developed a low-cost platform called LABERSIME installed in the cloud (LMS, IDE) and equipped with an embedded system to drive real laboratory equipment and perform experiments qualitatively more efficient than those in face-to-face mode. The ultimate goal is to stimulate self-learning motivation in students through a creative approach.
... To develop an IoT application according to the LCD paradigm, IoT platforms exploits the usage of a programming paradigm called Flow-Based Programming (FBP), proposed in 1971 by Paul Morrison at IBM Canada [59]. The IoT application development based on these platforms and tools is usually provided through the use of graphical user interfaces that enable the definition of the applications through the interconnection of different graphical components [45]. Despite traditional software development, where a programmer has to write code to develop the desired solution, LCD hides all the classic programming concepts and focuses only on how the desired system should work, allowing drag-and-drop of prebuilt and reusable components to develop a system. ...
Article
Full-text available
The relevance of IoT-based solutions in everyday life is continuously increasing. The capability to sense the world, activate computation based on data gathered by sensors, and possibly produce reactions on the world itself results in an almost never-ending identification of novel IoT solutions and application scenarios. Nonetheless, IoT’s intrinsic nature, which includes a high degree of variability in used devices, data formats, resources, and communication protocols, complicates the design, development, reuse and customisation of IoT-based software systems. In addition, customers require personalised solutions strongly based on their specific requirements. Reducing the complexity of building customised solutions and increasing the reusability of developed artefacts are among the topmost challenges for enterprises and IoT application developers. Upon these challenges, we propose a model-driven approach organising the modelling and development of IoT applications in different steps, handling the complexity in representing the IoT domain variability, and empowering the reusability of design decisions and artefacts to simplify the derivation of customised IoT applications. Our proposal is named FloWare. It follows the typical path of an MDE solution, providing modelling support through feature models to fully represent and handle the possible variability of devices in a specific IoT application domain. Once a specific configuration has been selected, this will be complemented with specific information about the deployment context to automatically derive fragments of the IoT applications, that will be successively combined by the developer within a low-code development environment. The approach is fully supported by a toolchain that has been released for public use.
Article
Full-text available
Visual programming has transformed the art of programming in recent years. Several organizations are in race to develop novel ideas to run visual programming in multiple domains with Internet of Things. IoT, being the most emerging area of computing, needs substantial contribution from the visual programming paradigm for its technological propagation. This paper surveys visual programming languages being served for application development, especially in Internet of Things field. 13 such languages are visited from several popular research-electronic databases (e.g., IEEE Xplore, Science Direct, Springer Link, Google Scholar, Web of Science, and Postscapes) and compared under four key attributes such as programming environment, license, project repository, and platform supports. Grouped into two segments, open source and proprietary platform, these visual languages pertain few crucial challenges that have been elaborated in this literature. The main goal of this paper is to present existing VPLs per their parametric proforma to enable naïve developers and researchers in the field of IoT to choose appropriate variant of VPL for particular type of application. It is also worth validating the usability and adaptability of VPLs that is essential for selection of beneficiary in terms of IoT.
Chapter
Full-text available
The current digital transformation in production systems has positioned model-driven engineering (MDE) as a promising development solution to leverage models as first-class entities and support complex systems’ development through dedicated abstractions. Models are specified through domain-specific languages and consumed by dedicated model management services, which implement automation and analysis services. Achieving complex model-driven tasks that involve several model management services and multiple model repositories can be a difficult and error-prone task. For instance, modelers have to identify the proper atomic operations among available services, connect to remote model repositories, and figure out their composition to satisfy the final goal. Different composition proposals have been introduced in MDE even though a satisfactory solution is still missing. In this paper, we propose a low-code development environment to support citizen developers to plan, organize, specify and execute model-management workflows underpinning the development of complex systems. Thus, developers are relieved from managing low-level details, e.g., related to the discovery, orchestration, and integration of the needed model management services.
Chapter
Full-text available
With the advancement of computing technology, we are witnessing the dawn of a new era of the Internet of Things (IoT) paradigm in which objects equipped with sensors, actuators and processing capabilities communicate with each other to serve a given goal. The IoT’s intrinsic nature, which uses heterogeneous devices, resources and different communication protocols, complicates IoT applications’ design, development, and validation. Reducing the complexity of building IoT applications is one of the current challenges in this area.
Preprint
Full-text available
Internet of Things (IoT) is a multidisciplinary tool used by field experts to fabricate technology into their discipline; these fields experts thus need access to a simple, understandable and user-friendly programming language for this purpose. Domain-Specific Languages (DSL) have been developed to pave the way for such domain experts to integrate IoT capabilities into their everyday tasks. IoT is thus one of the main technologies targeting human day-today activities, and the concept of IoT has caused a general rethink and reimagining of the shape of life in the future. Many researchers are thus working on fields related to IoT such as networking, power consumption, data aggregation and fusion, finding ways to offer this new technology for end user access in a smooth and easy manner. Introducing new application development methods and using software engineering standards and tools that enable end-users to develop their own IoT applications is another aspect that has received attention in the last decade; however, this aspect requires more work from the research community. The main contribution of this paper is to highlight current efforts related to the IoT field and to perform quantitative analysis to highlight the current state of the art in both positive and negative terms, including the current limitations and obstacles faced by both end-users and field experts seeking to build their own IoT applications.
Article
Full-text available
Modeling languages and frameworks have been the key technology for advancing model-driven engineering (MDE) methods and tools. Many industrial and research tools have been realized and are used across many domains. Hence, we think it is the right time to define what should be the future of modeling technologies, especially the requirements for the next generation of modeling frameworks and languages.
Conference Paper
The advent of Connected objects has been causing a significant technological revolution. Researchers, Designers, and developers have been mobilized to develop solutions that can reach final users in several domains. Solutions that can make the interaction between users and objects easier and handier. Therefore, so many efforts have been made to facilitate device control. A heavy synergy has been carried out as well to connect objects as a part of the Machine-to-Machine pattern. Fitting together objects have to take into consideration the heterogeneity of communication protocols. Brands and companies produce devices that enable the use of different protocols from physical to application layer. Each brand adopts certain protocols in its product that may differ from other brand's products. This issue meets the challenge of interoperability. The building of Applications and solutions that can monitor objects follow many architectural styles. Nowadays, the trend of architectural style is microservices. The Deployment of these applications can be performed on three levels: Edge - Fog - Cloud. This deployment level mobilizes the integrators to create and innovate deployment and integration strategies. This paper will fit together these paradigms to create a solution that will meet the need for interoperability concerning the needs of final users.
Article
The Internet of Things (IoT) is the latest example of the System of Systems (SoS), demanding for both innovative and evolutionary approaches to tame its multifaceted aspects. Over the years, different IoT methodologies, frameworks, platforms, and tools have been proposed by industry and academia, but the jumbled abundance of such development products have resulted into a high (and disheartening) entry-barrier to IoT system engineering. In this survey, we steer IoT developers by: 1) providing baseline definitions to identify the most suitable class of development products--methodologies, frameworks, platforms, and tools-for their purposes and 2) reviewing seventy relevant products through a comparative and practical approach, based on general SoS engineering features revised in the light of main IoT systems desiderata (i.e., interoperability, scalability, smartness, and autonomy). Indeed, we aim to lessen the confusion related to IoT methodologies, frameworks, platforms, and tools as well as to freeze their current state, for eventually easing the approach towards IoT system engineering.