Supporting AI Engineering on the IoT Edge through Model-Driven TinyML
  Software engineering of network-centric Artificial Intelligence (AI) and
Internet of Things (IoT) enabled Cyber-Physical Systems (CPS) and services,
involves complex design and validation challenges. In this paper, we propose a
novel approach, based on the model-driven software engineering paradigm, in
particular the domain-specific modeling methodology. We focus on a
sub-discipline of AI, namely Machine Learning (ML) and propose the delegation
of data analytics and ML to the IoT edge. This way, we may increase the service
quality of ML, for example, its availability and performance, regardless of the
network conditions, as well as maintaining the privacy, security and
sustainability. We let practitioners assign ML tasks to heterogeneous edge
devices, including highly resource-constrained embedded microcontrollers with
main memories in the order of Kilobytes, and energy consumption in the order of
milliwatts. This is known as TinyML. Furthermore, we show how software models
with different levels of abstraction, namely platform-independent and
platform-specific models can be used in the software development process.
Finally, we validate the proposed approach using a case study addressing the
predictive maintenance of a hydraulics system with various networked sensors
and actuators.
