The Internet of Things (IoT) is maturing. Therefore engineers and researchers develop different approaches and applications and publish their research.
Some approaches are in the context of model driven engineering. To get a better insight about the combination of MDE and IoT we did a primarily systematic literature review.
For that purpose we defined the following research questions:
- Which IoT concepts are tackled by MDE4IoT approaches?
- Which MDE approaches/techniques are used in combination with IoT?
The term “things" in the IoT context means a wide range of different devices like vehicles, wearable devices, sensors e.g., a humidity sensor and a lot more which are embedded with software and electronics so they can connect which each other and exchange data.
This large number of different devices leads to a big heterogeneity.
Another challenge is that devices are often very small and restricted in battery and computational power. Furthermore, they vary in the kind of hardware.
Additionally, devices are mobile and therefore can leave and enter an area at any point. The IoT application developers need to take this into account, e.g., by replacing a device that left the area of operation by another device with similar capabilities.
To solve these challenges several IoT concepts were developed by researches and IoT application engineers.
Based on 6 initial documents we familiarized ourselves with the topic. As next step different search queries on Google Scholar were tested.
The final search query was (“model driven engineering" OR MDE OR “model based" OR “model driven") (“internet of things" OR IoT).
The query does not focus on specific IoT concepts. Due to the use of quotation marks no papers were found that contains just single words but used in another context. For instance, Internet would return many publications without any context to Internet of Things.
In Figure 1 we show the research process to finally get 46 documents for analysis.
|Figure 1: Search and screening process.|
From the chosen query 50 papers were checked if they match “MDE in the field of IoT".
These 50 research papers are divided in 15 most recent papers on the search day April 11,2018, 15 most quoted papers and 20 most relevant papers accordingly to Google Scholar.
After filtering papers that did not fit our scope, 18 publications remained in our result set.
Additionally 1 paper from another tested query and 1 paper from the search for IoT-A architecture were added to the document for analysis.
Quantitative ResultsWe identified 6 IoT concepts that were used together with MDE.
Table 1 shows the identified IoT concepts and in how many papers they were used. We found out that most of the listed publications cover more than a single IoT concept.
|Table 1: IoT Concepts in relation to their representation in research papers, ordered|
Table 2 presents the used MDE techniques in the publications.
|Table 2: MDE Techniques in relation to their representation in research papers, ordered|
Table 3 depicts how often an IoT concept is used with a MDE technique in the same publication. As limitation, we have to mention that it does not show if a MDE technique was used to implement an IoT concept.
|Table 3: MDE Techniques combined with IoT Concepts.|
Figure 2 illustrates the absolute number of publications per year.
|Figure 2: Number of Publications per Year.|
Many presented approaches used web services like SOAP and especially RESTful web services to expose the functions and data of the IoT devices.
We found 2 large projects BIG IoT and IoT-A in our result set.
The BIG IoT project tries to build an ecosystem over multiple platforms.
In one BIG IoT paper, the authors mentioned that their ecosystem includes 8 platforms of different companies such as Bosch and Siemens.
One goal of BIG IoT is to support the transformation from an Off ering Description like JSONLD or GraphQL to a W3C Thing Description. Thus, the interoperability with, e.g., other MDE tools will be improved.
IoT-A project follows a similar approach by defining an architectural Reference Model to increase the interoperability of IoT applications and other tools.
With Papyrus for IoT, there already exists a modelling environment that uses IoT-A.
In addition, the IoT-A deliverable was the only publication in our result set where the interaction of a user with a device was modeled. In this context, the user can be a human or a digital entity like a service.
Furthermore, we found out that several different DSLs and specific IoT frameworks were used in the publications such as IoTML, SrijanLanguages, ThingML, UML4IoT, MDE4IoT and DDL.