A Systematic Mapping Study about IoT Platforms

: Today, specialized software (called IoT platforms or, alternatively, IoT middleware) is available to build and manage IoT solutions from scratch, without having to write endless lines of code. Unfortunately, the selection of the IoT platform that best ﬁts the requirements of the application to be developed is not trivial and may take a long time. The challenge comes from the huge number of today available candidates. The present work aims to relieve IT developers of the need to take charge of the IoT platform selection process. A Systematic Mapping Study (SMS) was carried out. The ﬁnal ﬁnding was that, at present days, ThingsBoard is the most mature open-source IoT platform to be used for the prototyping of IoT applications without having to be an expert programmer.


Introduction
The target audience of the present paper are IT firms which are interested in expanding the number of their clients without being forced to allocate money to designing and developing sophisticated IoT systems before they have got a formal assignment by the potential stakeholders.The study addresses all the IT players independently of their size.Small and Medium-sized Enterprises (SMEs) 1 and Very Small Entities (VSEs) 2 are the global software industry's dominant force.A survey carried out in Belgium in 2015 (in connection with the development of complex software) [1] pointed out that time and cost overruns issues are more severe for SMEs and VSEs than big firms.So, the only viable way for SMEs and VSEs to remain competitive or even to survive is to make extensive use of free of charge IT tools.
The present work aims to relieve IT developers of the need to take charge of the IoT platform selection process.The paper informs that ThingsBoard is, at present days, the most mature open-source IoT platform to be used for the prototyping of IoT applications without having to be an expert programmer.An SMS has been accomplished to achieve the goal.
The next sections are structured as follows.Section 2 is about the related work, while Section 3 first recalls the phases that comprise an SMS, then it describes our SMS.The results are discussed in Section 4.

Related work
Today, specialized software (called IoT platforms or, alternatively, IoT middleware) is available.It is suitable to build and manage IoT solutions from scratch, without having to write endless lines of code.These tools belong to the category of low-code development platforms [2].In the literature, IoT platforms are classified, and then compared, from many alternative points of view.Below, we mention just a few of those perspectives.IoT Analytics3 distinguishes among five different types of platforms: application enablement/management, device management, data management, telco connectivity/management, and IoT-based Infrastructure-as-a-Service.Ref. [3], instead, mentions four categories of belonging: publicly traded, open-source, developer friendly and end-to-end connectivity.Additionally, [4] defines IoT platforms in terms of functions and services, i.e., in terms of the characteristics of the IoT infrastructure and the IoT application to be developed; while in [5], they are classified according to two complementary dimensions: Functional Blocks and Qualities.Finally, [6] classifies the IoT platforms with respect to the application domain (e.g., healthcare, transportation, smart agriculture, smart building, ...).It follows that choosing the IoT platform suitable for the prototyping of IoT applications is not trivial at all.
There is another issue that hampers the selection of the IoT platform that best fits the requirements of the application to be developed.The challenge comes from the huge number of today's available candidates.IoT Analytics's latest research found 613 IoT platform companies currently operating 4 .In 2018, Ismail et al. [7] reported that more than 300 IoT platforms were mentioned in the literature.Capabilities and features of IoT platforms are variable; as a consequence, selecting one of them is a time-consuming task.More recently, the same message was given by Mijuskovic et al. [8] and Held et al. [9].It is worth noting that, despite the approach in [8] is rooted in Statistics, the authors conclude their paper saying that the results obtained have to be interpreted with caution because: "The selection process about which platform to use is still difficult and resembles comparing apples and oranges."Ref. [10] lists twenty-one key factors to choose an IoT platform, which indirectly confirms the complexity of such a task.
The present paper differs from the previously mentioned studies since its main goal is to collect and organize the available knowledge on IoT platforms suitable to carry out prototyping of IoT applications.

Materials and Methods
Scholars have adopted several methods for carrying out literature reviews.SMSs, as they are called in the seminal paper by Kitchenham and Charters [11], are a category of the latter.An SMS is designed to provide a wide overview of a research area in order to establish if research evidence exists on a topic and to provide, contextually, an assessment of the quantity of the evidence.The SMS was devoted to search the state-of-the-art of open-source projects with the final aim of maturing an overall picture about IoT platforms ready to be used for prototyping IoT applications.
According to the guidelines in [11], our SMS comprised the following three main phases: Planning, Conducting and Reporting the review results.The third phase is selfexplanatory, while the second one consists in the implementation of the first phase.Therefore, below, we detail the Conducting phase of the SMS.It has been articulated in terms of three activities: (a) definition of the study need; (b) definition of the research questions; and (c) definition of the mapping protocol (Fig. 1).

Study need
The aim of this stage was to find out a mature, powerful, and hopefully easy to use open-source IoT platform to be adopted for the prototyping of IoT applications.
Research Question (RQ) Are there published studies which compare IoT platforms?Mapping protocol This step comprised the following six activities (Fig. 1).

Results
Table 3 collects metadata about the documents listed in Table 2.The documents are reviewed starting from the oldest and moving toward the newest.Ref. [16] introduces an abstract IoT reference architecture that is used to compare and evaluate three open-source alternatives (OpenMTC, FIWARE, and SiteWhere) and the Amazon proprietary IoT platform.
Ref. [15] reviews the role of MEMS sensors in IoT platforms.So, this study does not help us to reach the final goal of ours.
Ref. [17] compared 39 IoT platforms, both proprietary ( 29) and open-source (10).Such a study constitutes the largest and more accurate analysis done up to 2015.The 39 platforms are evaluated via a gap analysis devoted to highlight the deficiencies of those solutions with respect to the integration of heterogeneous devices, the data management mechanisms, and the support offered to application developers.The output of the analysis consists of a table where the basic features of the 39 IoT platforms are summarized.The table provides a quick visual information for those interested in selecting the most appropriate IoT platform to be deployed in a specific application domain.For each IoT platform, the table collects information about: (a) the supported devices; (b) the type; (c) the architecture; (d) if open-source or proprietary; (e) whether it includes REST APIs; (f) the data access control mechanism; and (g) the service discovery mechanism.
Ref. [14] takes into account 20 IoT platforms.The study suffers of two major shortcomings: (a) the comparison among the alternative solutions is qualitative; (b) the output of the analysis is a table that authors do not discuss any way.From the perspective of our study a further limit is the fact that this review takes into account just one open-source IoT platform.
Ref. [3] categorizes IoT platforms into the following four categories: publicly traded, open-source, developer friendly and end-to-end connectivity.The IoT platforms taken into account are compared with respect to: (a) basic features ( 6), (b) sensing features (3), (c) communication features (7), and (d) application development features (8).The numbers in parenthesis denote the sub-features taken into account for comparison.By explicit choice of the authors, the study does not provide an exhaustive review of all platforms belonging to each of these categories.For example, the list of platforms in the open-source category is limited to Kaa IoT and ThingSpeak.
In [8], five proprietary IoT platforms (namely, Azure IoT, AWS, SaS IoT, ThingWorx, and Kaa IoT) are compared by making recourse to statistical and visualization techniques to select the most suitable platform.The selection process takes into account 16 functional requirements clustered into three complementary perspectives: (a) Management Perspective; (b) Security and Privacy Perspective; and (c) Data Management and Analytics Perspective.
Ref. [6] is an in-depth survey about eight popular IoT platforms from different application domains (Table 4).Only two platforms are general purpose, while the remaining are domain-oriented; moreover, only openHAB is open-source.The study, comparison, and evaluation of the different platforms is guided by a conceptual framework which takes into account seven different technical criteria in order to highlight their distinguishing attributes on communications, security, and privacy.Ref. [13] proposes an IoT reference architecture (called SANAD) suitable to be used in different application domains.SANAD is compared against existing IoT reference architectures, as well as against proprietary and open-source IoT platforms (namely, AWS IoT, Watson IoT, Azure IoT, Samsung SmarThings, Webinos, FIWARE, and OpenMTC).
In [9], authors compare the following 7 IoT platforms: Eclipse Kapua, Mainflux, OpenRemote, SiteWhere, ThingsBoard, FIWARE, and Node-RED, from an initial set of 135 candidates available before June 2021.The initial pool is restricted by eliminating: (a) not open-source platforms (i.e., not published on GitHub); (b) inactive projects (i.e., systems with no release after 2019); (c) too narrow projects (i.e., systems devoted to a niche application domain); (d) systems not ready for production; (e) platforms with low popularity.The 7 candidates are rated with respect to 14 distinct features (Table 5), by applying a quantitative formal method.Each feature is weighted with a score in the range [0..3].It is worth mentioning that ThingsBoard obtained the maximum score (i.e., 3) for 11 out of 14 features.The worst score (i.e., 1) concerns feature 12 (Data analytics).Data Analytics is about getting further insights on the collected data by employing methods as, for instance, machine learning.As of January 2023, ThingsBoard has released Trendz Analytics, which allows turning data into insights and make better decisions easily.Such ThingsBoard's feature was not available at the time of [9].

Figure 1 .
Figure 1.Steps of the Research Methodology.

•
Search Process.It was implemented as a manual search of articles in the Scopus repository.Scopus, created by Elsevier in 2004, is the largest curated scientific database.It has touched around 200 million references 5 .Major publishers (such as ACM, Elsevier, IEEE, Springer, Wiley, ...) are indexed in Scopus.The search was carried out at the beginning of June 2023.Data Collection.Table 1 shows the distribution across publication type and years of the output items; while Table 2 collects such items.• Data Analysis.At this stage, the items in Table 2 were downloaded and carefully read.Section 4 provides an overview of each paper; hence it summarizes the findings arising from the SMS.

Table 2 .
The list of the retrieved items from Scopus.The documents are in the same order as they were returned by the Scopus's engine.

Table 3 .
Metadata about the ten documents in Table2.NA stands for Not Applicable.