# ThingML+ Augmenting Model-Driven Software Engineering for the Internet of Things with Machine Learning

arXiv: https://arxiv.org/abs/2009.10633 · HTML: https://mlsanity.com/paper/2009.10633/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 22 Sep 2020.

## Built on by (most cited first, 5 of 5)

- [A Model-Driven Approach to Machine Learning and Software Modeling for the IoT](https://mlsanity.com/paper/2107.02689/) (2021)
- [Supporting AI Engineering on the IoT Edge through Model-Driven TinyML](https://mlsanity.com/paper/2107.02690/) (2021)
- [ML-Quadrat & DriotData: A Model-Driven Engineering Tool and a Low-Code Platform for Smart IoT Services](https://mlsanity.com/paper/2107.02692/) (2021)
- [Data Analytics and Machine Learning Methods, Techniques and Tool for Model-Driven Engineering of Smart IoT Services](https://mlsanity.com/paper/2102.06445/) (2021)
- [MDE4QAI: Towards Model-Driven Engineering for Quantum Artificial Intelligence](https://mlsanity.com/paper/2107.06708/) (2021)

## Abstract (arXiv)

In this paper, we present the current position of the research project ML-Quadrat, which aims to extend the methodology, modeling language and tool support of ThingML - an open source modeling tool for IoT/CPS - to address Machine Learning needs for the IoT applications. Currently, ThingML offers a modeling language and tool support for modeling the components of the system, their communication interfaces as well as their behaviors. The latter is done through state machines. However, we argue that in many cases IoT/CPS services involve system components and physical processes, whose behaviors are not well understood in order to be modeled using state machines. Hence, quite often a data-driven approach that enables inference based on the observed data, e.g., using Machine Learning is preferred. To this aim, ML-Quadrat integrates the necessary Machine Learning concepts into ThingML both on the modeling level (syntax and semantics of the modeling language) and on the code generators level. We plan to support two target platforms for code generation regarding Stream Processing and Complex Event Processing, namely Apache SAMOA and Apama.
