2022年08月10日
【第7回】モデル管理手法の検討
MBDてさぐり奮戦記
こんにちは。
今回は、MATLAB Simulink(MathWorks社)のモデル図(以下モデル図と略します)を量産開発として管理するため、モデル図に固有の課題として検討した手法について、その概要を説明いたします。
モデル図のレビュー(インスペクション)
我々の新機種の量産開発は、品質確認済みの既量産機種のプログラムをベースに追加変更削除する開発をおこなうことが多く、C言語で記述した既量産機種のプログラムと新機種のプログラム間の差分をUnixのdiffで抽出し、視覚的に差分を明確化した書類を出力する内製ツールを使用して、差分検証するレビュー(インスペクション)工程を、品質管理上必須としていました。
量産開発にMBD手法を導入するにあたり、モデル図でもC言語プログラムと同様に差分検証によるレビュー(インスペクション)を効率的に実施できる必要がありました。 このためには、第5回で説明したように、製品の制御を記述したモデル図は、3次元の広がりをもった複雑な構造を持つため、新機種と既量産機種間のモデル図の差分をもれなく機械的に抽出するようなツールの支援が必要でした。しかし、モデル図の差分を抽出する適切な商用ツールは、当時(1999年頃)はなかったため、モデル図間の差分を抽出し、異なる部分の信号線やブロックなどを色別表示する内製ツールを作成しました。
この内製ツールにより、モデル図を意図したとおり正しく変更できているか、意図していないところを変更していないかを分かりやすく確認することができるようになりましたが、新たに下記のような課題に直面しました。
紙ベースの資料でレビューする場合、
• 高価なカラープリント・コピーを使って膨大な資料を作成する必要があり、多額のコストがかかる
• 階層構造を持つモデル図では、該当する資料のページを探すだけで時間がかかる
そこで当時まだ珍しかったプロジェクター(LED光源を使った卓上の小型プロジェクターはまだ世に無く、水銀ランプを光源にした大型の機器を使用)を使い、内製ツールで色分けしたモデル図を壁やホワイトボードに表示し、インタラクティブに階層を切換ながらレビューしてゆく方法を採用しました。
当時はプロジェクターを使った会議自体がめずらしく、我々のレビューの様子を見た他部門の管理者から、
「手書き資料はどのようにプロジェクターで表示するのか」
「ホワイトボードの板書作業は、プロジェクターを使った会議ではどのようにするのか」
など、モデル図の差分検証レビューとは直接関係のないポイントからの質問を受けることがあり困りました。
商用ツールのバージョン管理
MBDの開発環境で採用したMATLAB Simulink(MathWorks社)とTargetLink (dSPACE社)の商用ツールは、それぞれの開発元により、頻繁にバージョンアップが実施されています。 我々の製品では、その量産開発の期間は派生機種を含めると長期間になることがあり、最新バージョンを使用して開発を始めても、量産開発期間の途中で、より新しいバージョンがリリースされます。
しかし、量産開発期間中にコンパイラなどを含め使用している商用ツールのバージョンを変更すると、公開されていないバージョン間のツール仕様差により、製品プログラムに意図しない隠れた影響を与え、品質上の大きなリスクになる可能性があるため、部内規則により、特別な事情がない限り、量産開発期間中に使用しているツールやそのバージョンを変更することを禁止しています。
コンパイラ等の従来のツールに比べ、MBDで新たに採用した商用ツールは、よりバージョンアップの頻度が高いため、どのバージョンを量産開発に使用すべきか課題となりました。
そのため、下記のようなポイントを含む、ツールの利用規程を整備しました。
1. 量産開発で必要とする機能要件を満たすバージョンを選定すること
2. そのバージョンがリリースされてから、ある程度は時間が経過していること
3. 量産開発期間にわたって、そのバージョンの実行環境(PC、OSなど)が使用できること
次回は、内製ツールについて検討した概要を説明いたします。
最後まで、お読みいただきありがとうございました。
筆者紹介
約40年前に製造業の会社に入社後、リアルタイム制御をおこなうマイコン組込製品の量産開発を35年間担当し、アセンブラやC言語による制御プログラム開発や、MBDを含むソフトウェア開発環境の構築に従事しました。現役時代は理屈の世界で生きてきたので、退職後は感性の世界に憧れ、写真で絵作りをする世界で遊んでいます。