Skip to main content
QUICK REVIEW

[論文レビュー] Code Generation for Machine Learning using Model-Driven Engineering and SysML

Simon Raedler, Matthias Rupp|arXiv (Cornell University)|Jul 10, 2023
Computational Physics and Python Applications被引用数 3
ひとこと要約

本稿では、ステレオタイプベースの設定とテンプレートマッピングを用いて、SysMLモデルから実行可能な機械学習コードを自動生成するモデル指向のアプローチを提示する。JSON設定を介してコード生成ロジックと変換ロジックを分離することで、コアジェネレータを変更せずに柔軟で保守可能かつ拡張可能なコード生成が可能となり、気象予測の事例研究においてその実現可能性が示された。

ABSTRACT

Data-driven engineering refers to systematic data collection and processing using machine learning to improve engineering systems. Currently, the implementation of data-driven engineering relies on fundamental data science and software engineering skills. At the same time, model-based engineering is gaining relevance for the engineering of complex systems. In previous work, a model-based engineering approach integrating the formalization of machine learning tasks using the general-purpose modeling language SysML is presented. However, formalized machine learning tasks still require the implementation in a specialized programming languages like Python. Therefore, this work aims to facilitate the implementation of data-driven engineering in practice by extending the previous work of formalizing machine learning tasks by integrating model transformation to generate executable code. The method focuses on the modifiability and maintainability of the model transformation so that extensions and changes to the code generation can be integrated without requiring modifications to the code generator. The presented method is evaluated for feasibility in a case study to predict weather forecasts. Based thereon, quality attributes of model transformations are assessed and discussed. Results demonstrate the flexibility and the simplicity of the method reducing efforts for implementation. Further, the work builds a theoretical basis for standardizing data-driven engineering implementation in practice.

研究の動機と目的

  • SysMLモデルにおける形式化された機械学習タスクと、Pythonなどのプログラミング言語におけるその実装との間のギャップを埋めること。
  • データ駆動型エンジニアリングにおけるモデル指向的エンジニアリングを可能にするために、SysMLモデルからコード生成を自動化すること。
  • 変換エンジンの変更なしに、コード生成の保守性と拡張性を向上させること。
  • 産業的システム工学における機械学習実装の標準化の基盤を構築すること。

提案手法

  • 本手法は、特徴量、モデル、データソースなどの機械学習コンポONENTを意味的にアノテートするため、カスタムステレオタイプを用いたSysMLを使用する。
  • JSONベースのマッピング設定により、SysMLステレオタイプとコードテンプレートをリンクし、動的コード生成を可能にする。
  • 軽量で拡張可能な変換エンジンを用いて、汎用的なコードテンプレートにステレオタイプ属性を埋め込む。
  • 変換エンジンをコード生成ロジックから分離することで、コアロジックを変更せずに設定による更新や新しいテンプレートの追加が可能になる。
  • モデル変換ロジックとコード生成テンプレートおよび設定の分離により、モジュラリティを実現する。
  • 実装では、生成されたコードの実行と検証にJupyter Notebookを用い、トレーサビリティを確保するための固有のブロックマーカーを導入する。

実験結果

リサーチクエスチョン

  • RQ1RQ1: モデル指向的エンジニアリングの文脈において、機械学習モデルを自動的に導出するためにどのモデルプロパティを活用できるか?
  • RQ2RQ2: モデル変換の変更なしに、機械学習コードの導出を拡張・保守するために、ソフトウェア工学的手段として何が有効か?
  • RQ3RQ3: 機械学習コード生成の文脈において、モularity、完全性、簡潔性といった品質属性を、モデル変換の評価にどう組み込むか?

主な発見

  • 本手法は、ステレオタイプベースの設定とテンプレートマッピングを用いて、SysMLモデルから実行可能な機械学習コードを効果的に生成した。
  • 設定と変換ロジックの分離により、コードジェネレータの変更なしに拡張性が実現され、保守性が向上した。
  • オープンデータセットを用いた実世界の気象予測事例研究において、本手法の実現可能性が示された。
  • 生成されたコードはJupyter Notebookで検証され、固有のブロックマーカーを介して正しさとトレーサビリティが確認された。
  • 変換エンジンを変更せずに、新しいテンプレートの定義により柔軟なターゲット言語選択が可能になった。
  • 品質属性としてのモularity、完全性、簡潔性は、設定駆動設計とテンプレート再利用によって達成された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。