[논문 리뷰] Code Generation for Machine Learning using Model-Driven Engineering and SysML
이 논문은 스테레오타입 기반 구성과 템플릿 매핑을 사용하여 SysML 모델에서 실행 가능한 기계학습 코드를 자동으로 생성하는 모델 기반 접근법을 제시한다. JSON 구성을 통해 코드 생성 로직을 변환 로직에서 분리함으로써, 핵심 생성기의 수정 없이도 유연하고 유지보수성 있으며 확장 가능한 코드 생성을 가능하게 하며, 기상 예측 사례 연구를 통해 타당성을 입증한다.
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 모델에서 코드 생성을 자동화하기 위해.
- 변환 엔진의 수정 없이도 코드 생성의 유지보수성과 확장성을 향상시키기 위해.
- 산업 시스템 공학에서 기계학습 구현의 표준화 기반을 마련하기 위해.
제안 방법
- 이 방법은 기능, 모델, 데이터 소스와 같은 기계학습 컴포넌트를 의미적으로 애너테이션하기 위해 커스텀 스테레오타입을 사용하는 SysML를 사용한다.
- JSON 기반 매핑 구성은 SysML 스테레오타입을 코드 템플릿과 연결하여 동적 코드 생성을 가능하게 한다.
- 경량적이고 확장 가능한 변환 엔진을 사용하여 일반적인 코드 템플릿에 스테레오타입 속성을 채운다.
- 변환 엔진은 코드 생성 로직에서 분리되어 있어, 구성 파일을 통해 업데이트하거나 핵심 로직을 변경하지 않고도 새로운 템플릿을 추가할 수 있다.
- 모델 변환 로직과 코드 생성 템플릿 및 구성 간의 분리를 통해 모듈성을 지원한다.
- 추적 가능성을 확보하기 위해 고유한 블록 마커를 사용하여 Jupyter 노트북을 활용해 생성된 코드를 실행하고 검증한다.
실험 결과
연구 질문
- RQ1RQ1: 모델 기반 공학의 맥락에서 기계학습 모델을 자동으로 파생하기 위해 어떤 모델 속성을 사용할 수 있는가?
- RQ2RQ2: 모델 변환의 수정 없이도 기계학습 코드 유도의 확장성과 유지보수성을 보장할 수 있는 소프트웨어 공학 수단은 무엇인가?
- RQ3RQ3: 기계학습 코드 생성의 맥락에서 모듈성, 완전성, 간결성과 같은 품질 속성을 모델 변환에 어떻게 평가할 수 있는가?
주요 결과
- 이 방법은 스테레오타입 기반 구성과 템플릿 매핑을 사용하여 SysML 모델에서 실행 가능한 기계학습 코드를 성공적으로 생성한다.
- 구성과 변환 로직의 분리로 코드 생성기의 수정 없이도 확장성이 가능해져 유지보수성 향상이 가능하다.
- 오픈 데이터셋을 사용한 실제 기상 예측 사례 연구를 통해 이 방법의 타당성이 입증되었다.
- 생성된 코드는 Jupyter 노트북에서 검증되어 고유한 블록 마커를 통해 정확성과 추적 가능성이 확인되었다.
- 변환 엔진의 수정 없이도 새로운 템플릿을 정의함으로써 타겟 언어 선택의灵活性를 지원한다.
- 모듈성, 완전성, 간결성과 같은 품질 속성은 구성 기반 설계와 템플릿 재사용을 통해 달성된다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.