title: Model-driven machine learning based on the systems modeling language
title: Using template-based code generation and a mapping configuration
titleType: Subtitle
Creators: name: Rupp, Matthias
Publisher: name: FH Vorarlberg (Fachhochschule Vorarlberg)
Year: 2022
Subjects: subject: 004 Informatik

description: Systems are constantly increasing in complexity. This poses challenges to managing and using system knowledge. The Systems Modeling Language (SysML) is a modeling language specifically for systems, while Machine Learning (ML) is a tool to tackle complex problems. Currently, no bridge between systems modelled in SysML and ML regarding said systems has been proposed in literature. This thesis presents an approach that uses Model-driven Software Engineering (MDSE) and Template-based Code Generation (TBCG) to generate a ML IPython Notebook (IPYNB) from a SysML model. A mapping configuration using JavaScript Object Notation (JSON) allows the definition of mappings between SysML elements and template variables, enabling configuration and user-supplied templates. To test the approach, a SysML model describing ML to predict the weather based on data is created. Python ML templates are supplied and template variables mapped with the JSON mapping configuration are proposed in the thesis. The outcome is an executable IPYNB that contains all information from the SysML model and follows the modelled workflow. The findings of the work show that model-driven ML using SysML as a modeling language is beneficial due to the representation of ML knowledge in a general-purpose modeling language and the reusability of SysML model elements. It further shows that TBCG and a mapping configuration allow for more flexible code generation without changing the source implementation.
description: Systeme nehmen konstant an Komplexität zu. Dies führt zu Herausforderungen bezüglich Verwaltung und Verwendung von System-Wissen. Die Systems Modeling Language (SysML) ist eine Modellierungssprache speziell für Systeme, während Maschinelles Lernen (ML) ein Werkzeug zum Angehen komplexer Probleme ist. Zurzeit wurde keine Brücke zwischen in SysML modellierten Systemen und ML für besagte Systeme in der Literatur vorgeschlagen. Diese Arbeit präsentiert einen Ansatz, der Modellgetriebene Softwareentwicklung (MDSE) und Vorlagenbasierte Codegenerierung (TBCG) verwendet um ein ML IPython Notebook (IPYNB) aus einem SysML Modell zu generieren. Eine Mapping-Konfiguration, welche JavaScript Object Notation (JSON) verwendet, erlaubt die Definition von Mappings zwischen SysML Elementen und Variablen von Vorlagen, was Konfiguration und von Benutzenden bereitgestellte Vorlagen ermöglicht. Um den Ansatz zu testen wird ein SysML Modell erstellt, welches ML zur Vorhersage des Wetters basierend auf Daten beschreibt. Python ML Vorlagen werden bereitgestellt und Variablen der Vorlagen, abgebildet mit der JSON Mapping-Konfiguration, werden in der Arbeit vorgeschlagen. Das Resultat is ein ausführbares IPYNB, welches alle Informationen aus dem SysML Modell enthält und dem modellierten Arbeitsablauf folgt. Die Ergebnisse der Arbeit zeigen, dass modellgetriebenes ML mit SysML als Modellierungssprache vorteilhaft ist wegen der Repräsentation von ML Wissen in einer Allzweck-Modellierungssprache und der Wiederverwendbarkeit von Elementen des SysML Modells. Weiters zeigt die Arbeit, dass TBCG und eine Mapping-Konfiguration eine flexiblere Codegenerierung ohne Änderung des Quellcodes erlauben.