GSILのCI(Continuous Integration)適用
目次
1. CIとは
2. 制御ECUソフトウェアのCI実現
3. GSILを使用したCIの実現例
4. Pythonを使用したGSILのCI実行構成と実行結果
5. GitLab RUNNERを使用したGSILのCI実行構成と実行結果
6. まとめ
1. CIとは
CI(Continuous Integration、継続的インテグレーション)とは、開発者が実装した新規のコードを頻繁に結合、テストする手法です。実装直後の早期に不具合を発見して不具合修正の手戻り工数を減らし、テストを自動化することでテスト工数を削減します。これを実現することにで、開発効率の大幅な向上が望めます。
2. 制御ECUソフトウェアのCI実現
しかし、制御ECUソフトウェアのCIを、HILSや実車などの検証環境で実現することは容易ではありません。HILSでは自動テストを行うことが可能ですが、HILSは高価なので各開発者が検証のためにHILSの環境を好きな時に利用できるわけではありませんし、デバッグ自体も困難です。実車の場合、自動テストを行うことは不可能です。
これに対し、ユビキタスAIが提供している制御ECU開発向けシミュレーションツールGSIL を使えば、容易にCIを実現することが可能です。
3. GSILを使用したCIの実現例
GSILでは、例えば開発者がソースコードをチェックインすると自動で高精度静的解析ツールCodeSonar による解析を実行し、Codee によるアプリケーション高速化解析実行、GSIL向けの仮想ECUビルド、Pythonでのテスト、GSIL機能の自動網羅テスト、chronSUITE によるタイミング検証、Testwell CTC++ によるカバレッジ測定などを全自動で行い、結果を確認するといったことが可能です。CodeSonar、chronSUITE、Testwell CTC++は、すべてユビキタスAIが提供しているテストツールです。
GSILによる各種ツールのCI実行
より詳しい技術や関連製品について知りたい方へ
本コラムに関係する技術や関連する製品について知りたい方は、お気軽にご相談ください。
4. Pythonを使用したGSILのCI実行構成と実行結果
Pythonを使用したCIの構成
Pythonを使用したCIの実行結果
5. GitLab RUNNERを使用したGSILのCI実行構成と実行結果
GitLab RUNNERを使用したCIの構成
GitLab RUNNERを使用したCIの実行結果
自動車制御ECUは特に高い性能が求められるので、それを実現するために膨大なテストを行う必要があります。それらを毎回設定し、テストするのは多大な工数がかかりますが、あらかじめPython、CSVなどで作成したテストケースを実行できれば多くの工数削減が可能になります。
6. まとめ
GSILを使用すれば、HILSや実機では困難なCIを容易に実現し、それにより開発効率を大幅に向上させることができます。
このコラムの著者
株式会社ユビキタスAI
エンベデッド第3事業部 担当部長
植田 宏​(うえだ ひろし)
大学卒業後Tire1メーカーへ入社、ECUソフトウェア開発を行う。その後海外で組込みソフトウェア開発エンジニアの経験を経て、帰国。1998年より車載系ソフトウェアの技術営業に従事。自身の経験を活かし、課題解決に役立つ海外のソフトウェア商材を取扱い、国内のエンジニアへ届けている。
より詳しい技術や関連製品について知りたい方へ
本コラムに関係する技術や関連する製品について知りたい方は、お気軽にご相談ください。
ソフトウェアアプリケーションの実行速度高速化技術
2024.09.04
組込み制御ソフトウェアでのCIの課題と実現方法
2024.09.02
イベントチェーンを応用した車載ECUのタイミング検証
2024.08.30
車載制御ECUソフトウェア教育向けパッケージGTrainerとは
2024.08.08
システムテストのカバレッジ測定
2024.06.13
組込み制御ソフト開発へのシミュレーション応用による開発効率向上
2024.06.04
CANを使用したSILSテスト ―車両全体シミュレーション、テストケース再利用―
2024.05.27
GSILのMILS開発への適用
2023.12.20
GSILの網羅的自動テストケース生成機能を使ったECUの信頼性向上
2023.09.13
OEM⇔サプライヤでのECU制御ソフトウェア環境共有による手戻り工数削減方法
2023.07.25
SILSを使用した車載制御ECUソフトウェア開発競争力強化
2023.07.20
車載ECUシミュレーションでテスト資産を活かすための技術とは?
2022.05.16
早期の車載ECUタイミング検証の実現
2021.08.27