JAEN
Technology
保有技術
仮想メカ、OS/割込み、コントローラ通信など、PC上に実機相当のシミュレーション環境を構築し、テストの対象範囲やパターンの拡大による品質向上、試作機や消耗品の削減、ソフトウェア結合テストの早期実現に貢献している技術です。
複合機のエンジン*1を制御する組込みソフトウェアは、ハードウェアと連携して複雑な制御を実現しているため、本物の機械(実機)を使わずに、正確に動作するかどうかを検証することは、非常に困難です。また、実機では、用紙が途中で詰まるようなトラブル(ジャム)を意図的に発生させて確認することは容易ではありません。さらに、開発チームが様々な拠点に分かれている場合、全ての拠点に実機を手配してソフトウェアをテストすることは、多大なコストがかかります。
そこで、開発の初期段階から、実機が無くてもソフトウェアをテストして品質確保できる開発プロセスに変えることを目的として、PC上に複合機の動きを再現するシミュレーション環境=TIMESを開発しました。
*1 物理的に用紙に印刷するための機械的な部分全般を指します。
本技術は、以下の技術で構成されます。
この技術では、 PC上に、複合機のモータやセンサなどの制御モジュールを仮想的に再現し(デジタルツイン)、実機と同様のメカレイアウトで印刷動作を高精度にシミュレーションすることができます。
さらに、PC上に、OS(μITRON)やASIC(専用IC)のシミュレータを構築することで、実機に搭載するソフトウェアをPC上で動作させることができ、実機を使わずに、複合機の動作を再現して検証することができるようになります。
Before:実機で印刷動作を実行し、動作ログを取得して、ログの情報から用紙の挙動を把握します。
After:PC上で、用紙の挙動を可視化して確認することができ、解析が容易になります。
Before:実機のセンサを変更してジャムを発生させます。その後、ジャムした用紙を除去し、変更したセンサを元に戻します。
After:TIMES上でセンサ部品のON/OFFを変更することで、容易にジャムを発生させることができます。
Before:ハードウェア設計区が実機で異常を発生させて、動作を確認します。
After:PC上で、ステップ実行*2の途中でハードウェアの状態を変更することができ、擬似的に安全にハードウェア異常を再現できます。
*2 プログラムを1行ずつ順番に実行することができる機能で、プログラムがどのように動いているかを確認できます。さらに、ステップ実行の途中で、変数の値を任意に変更することができ、通常は起こすことが難しい状況を意図的に作り出すことができます。
Before:テスト工程毎に別々のツールを使い、結合テスト・システムテストでは実機を使ってテストします。
After:単体テストから結合テスト・システムテストまで、PC上の一つの環境で一貫して実行できます。
①テスト範囲拡大による品質向上
単体テストでも活用することで、モジュール設計の妥当性を早期に確認でき、品質を確保することができます。
また、用紙やトナーの補給が不要のため、テストを全て自動で長期的に連続して実行できます。
さらに、用紙サイズ、カラー/モノクロ印刷、片面/両面印刷などの多様な印刷条件を自由に組合せて再現できるので、実機では困難な条件下での検証が可能となり、テストカバレッジ*3を拡大できます。
*3 ソフトウェアのソースコードに対して、テストがどの程度まで網羅されているかを定量的に示す指標です。
②実機試作前からテスト可能
実機を試作する前から、ソフトウェア結合テストやシステムテストを早期に実現し、開発期間を短縮できます。
③試作機や消耗品の削減
TIMESを活用することで、実機を試作する台数を減らしたり、用紙やトナーなどの消費を抑えたりすることができ、コスト削減だけではなく、資源の無駄使いも減らせて、環境に配慮した開発にすることができます。