ニュース製品ニュース技術コラム

2023年09月22日
株式会社ユビキタスAI

GSILのCI(Continuous Integration)適用

CIとは

CI(Continuous Integration、継続的インテグレーション)とは、開発者が実装した新規のコードを頻繁に結合、テストする手法です。実装直後の早期に不具合を発見して不具合修正の手戻り工数を減らし、テストを自動化することでテスト工数を削減する。これを実現することにより、大きな開発効率の向上が望めます。

制御ECUソフトウェアのCI実現

しかし、制御ECUソフトウェアのCIを、HILSや実車などの検証環境で実現することは容易ではありません。HILSでは自動テストを行うことが可能ですが、HILSは高価なので各開発者が検証のためにHILSの環境を好きな時に利用できるわけではありませんし、デバッグ自体も困難です。実車の場合、自動テストを行うことは不可能です。

これに対し、ユビキタスAIが提供している制御ECU開発向けシミュレーションツールGSIL を使えば、容易にCIを実現することが可能です。

GSILを使用したCIの実現例

GSILでは、例えば開発者がソースコードをチェックインすると自動で高精度静的解析ツールCodeSonar による解析を実行し、Codee によるアプリケーション高速化解析実行、GSIL向けの仮想ECUビルド、Pythonでのテスト、GSIL機能の自動網羅テスト、chronSUITE によるタイミング検証、Testwell CTC++ によるカバレッジ測定などを全自動で行い、結果を確認するといったことが可能です。CodeSonar、chronSUITE、Testwell CTC++は、すべてユビキタスAIが提供しているテストツールです。

GSILによる各種ツールのCI実行GSILによる各種ツールのCI実行

Pythonを使用したGSILのCI実行構成と実行結果

Pythonを使用したCIの構成Pythonを使用したCIの構成

gsil_ci_3.pngPythonを使用したCIの実行結果

GitLab RUNNERを使用したGSILのCI実行構成と実行結果

GitLab RUNNERを使用したCIの構成GitLab RUNNERを使用したCIの構成

GitLab RUNNERを使用したCIの実行結果GitLab RUNNERを使用したCIの実行結果

自動車制御ECUは特に高い性が求められるので、それを実現するために膨大なテストを行う必要があります。それらを毎回設定し、テストするのは多大な工数がかかりますが、あらかじめPython、CSVなどで作成したテストケースを実行できれば多くの工数削減が可能になります。

まとめ

GSILを使用すれば、HILSや実機では困難なCIを容易に実現し、それにより開発効率を大幅に向上させることができます。

GSIL 製品ページ