Bridging the Gap Between Java and Python in Mobile Software Development to Enable MLOps
Chapter, Peer reviewed
Accepted version
View/ Open
Date
2022Metadata
Show full item recordCollections
- Publikasjoner fra CRIStin - SINTEF AS [5802]
- SINTEF Digital [2501]
Original version
10.1109/WiMob55322.2022.9941679Abstract
The role of Machine Learning (ML) engineers in mobile development has become increasingly important in recent years, as more and more business-critical mobile applications depend on AI components. Many development teams already include dedicated ML engineers who aim to follow agile development practices in their work, as part of the larger MLOps concept. However, the availability of MLOps tools tailored specifically towards mobile platforms is scarce, often due the limited support for non-native programming languages such as Python, as well as the unsuitability of native programming languages such as Java and Kotlin to support ML-related programming tasks. This paper aims to address this gap and describes a plug-in architecture for developing, deploying and running data ingestion and processing components written in Python on the Android platform. With the possibility to pass a user-defined schema with the data format and structure, the proposed architecture ensures that time-series datasets are correctly interpreted by multiple ML modules dealing with both data ingestion and processing,. The proposed approach benefits from modularity, extensibility, customisation, and separation of concerns, which enable ML engineers to be fully involved in a mobile development lifecycle following agile MLOps practices.