システム開発の中でこのような経験はあるあるではないでしょうか?
- 「その機能、安全設計追加になったから設計変更が必要です」「いまから!?」
- 「その安全設計は実現できないよ」「え!?」
- 「トラフィック制約厳しいからこの通信見直してほしい」「安全設計で必要らしいです」「何故?」「・・・」
ハード/ソフト、開発環境や組織にさまざまな違いはありますが、どこでも同じような悩みを現場は抱えております。
限られた時間と人的リソースの中で、複雑になっていくシステムの完全性・網羅性・説明性を確保するために、システムズエンジニアリング(SE)の考え方、モデルベースド・システムズエンジニアリング(MBSE)手法をご紹介いたします。
目次
システム開発における安全分析の難しさとは?
システムが複雑になるほど、その全体像の把握は困難となり、考慮すべき故障と影響範囲は広がっていきます。システムの安全性確保とその証明がますます重要度を増すなかで、FTAやFMEAといった手法を用いて安全設計の妥当性や網羅性を確保する考え方が存在します。FTAはトップダウン的に、FMEAではボトムアップ的に考えることで妥当性や網羅性を確保する試みです。しかしながら、それら手法を用いてもあるあるの困りごとが存在します。
FTAを用いる場合、TOP事象に至る原因の抽出できているか、ツリーの構造が恣意的ではないか、網羅的に検討できているかといった悩みは設計者/レビュワーともに抱える課題です。一方でFMEAでは、特にE&Eシステムにおいて、影響を過小評価していないか、ソフトウェア観点が抜けていないか、正しく対策が施されているのかといった悩みが存在します。これらの原因はなんでしょうか?
それは「複雑なE&Eシステムで物理的な部品の故障やソフトウェアのコンポーネントの故障を、適切な粒度で揃えて整理ができていない」ことです。
全体設計の中における整合性と第三者への説明性が必要ですが、複雑なシステムを複雑なまま捉え構成要素のすべてを押し並べて検討に入れてしまうことが、より事態が複雑になる原因です。その解消としてSEという考え方が重要です。
安全分析に対するSEの役割とは?
SEを用いるメリットは何でしょうか?複数あるメリットのうち本記事では
- 段階的な詳細化
- SysMLによる見える化
の2点を特に強調します。
1点目の「段階的な詳細化」は、注目すべき要素をまずは俯瞰的な観点で抽象度を上げて捉え、徐々に細部の構造に詳細化しながら各階層で適切な粒度で整理しながら設計していく、という行為です。
一例として自動車のあるE/Eシステムを考えたときに、最初の階層では自動車という開発対象やドライバーといったステークホルダの粒度を考え、次の階層では車両の運動制御や先進安全制御を担うドメインレベル、その次にステアシステムやACCシステムのシステムレベル、その次に具体的なECUや構成デバイスのレベル、その次にマイコンやソフトウェアコンポーネントといった要素レベル・・・といったように、徐々に詳細化をしながら階層に分けることによって、検討する粒度を整理することができます。
2点目である「SysMLによる見える化」は、準形式記法であるSysMLという記述言語を用い各種ダイアグラムを使用しながら要求・振る舞い・構造を表現することで、属人的なフリーフォームの図から脱却し明確で論理的な記述ができます。
例えば振る舞いに関して、システムのレベルでどのように振る舞うか、ECU間でどのように振る舞うかといった階層ごとに記述し、必要に応じて状態遷移や時間軸で書き分け、網羅的に表現します。
これら2つが安全分析という文脈のなかでもつ役割は、
- 「段階的な詳細化」では粒度を揃えることによって検討対象の網羅性を確保可能
- 「SysMLによる見える化」によって設計意図や根拠と併せて連続性を有する形で説明性向上
となります。
粒度を揃えた表現によって、FTAではツリーの各階層のブロックや論理、FMEAではハード/ソフトの要素レベルと関連する振る舞いが揃いやすくなり、FTAとFMEAそれぞれの検討もリンクすることで網羅性を確保できます。また、SysMLを用いながら機能の定義、アーキテクチャ設計を明確にすることによって、分析対象を取捨選択できます。記述方式が明確に定まっている図表を用いることで合理的で説明性のある設計が可能であり、かつその検討過程と思考の流れをそのまま根拠資料として残せます。
SEの考え方を導入することによって、従来は安全分析を「安全分析」という別のもの/アドオンの作業と捉えていた設計行為を段階的に詳細化しつつ設計する対象システムの一部であると捉えることが可能となります。システムの全体感を意識しながら各種安全設計に対して自信を持って説明し、設計の手戻りを減らすことができるようになるでしょう。
MBSEが見せる安全分析の将来像とは
最後にMBSEとの関わりをご紹介します。ここでMBSEとはSEの考え方をコンピュータの力を活用して拡張する手法だと捉えていただければご理解いただき易いと思います。SE的に作成した各種情報をコンピュータの中のモデルとして作成します。各要素(要求や振る舞い、構造)はその要素間で関係(リレーション)が定義され、一連の情報を「情報の構造体」として取り扱います。つまり、あるシステムを表現したデータベースのようなものです。
今まで挙げた話題の他に、システム開発や安全設計において悩みはございませんか?
例として、「トレーサビリティ」と「流用性」が挙げてみます。
MBSEではSE的な考え方に加えて「トレーサビリティ」と「流用性」を強化できます。
自動車の機能安全に代表されるように国際規格や法規といった形でシステムの安全設計/分析は重要度を増しつつあり、そのために説明責任を担保しなければなりません。そこでシステムの要求分析からコンポーネントへの割り当てまで一貫したトレーサビリティとその文書管理が厳格に求められます。
MBSEによるモデル化ではモデリングツールで要素やダイアグラムを作成しリレーションを定義することで、ID管理やデータのトレーサビリティが簡単に(もしくは自動的に)確保することができます。
重要なポイントは従来の帳票ベース、文書の仕様書ベースでは作業コストが重いトレーサビリティ確保をコンピュータの力を活用して簡便化できるという点です。
また、モデルは一度作れば階層や要素ごとに流用可否を判断できます。例えば物理要素が登場するECUを記述した階層では変化点があるが、それより上位の概念レベルのシステムの階層までは変更がない、などです。裏返すと変化点がどこから始まるのかが明確にしやすいです。情報の構造体であるため変化する要素(要求や振る舞い、構造)がどこに影響を与えるかを簡単に辿ることが可能になります。
SDVのキーワードでシステム開発のスピードが上がっている昨今、流用性を素早く判断できることは重要になってくると考えられます。ぜひMBSEの導入をご検討ください。
最後に
弊社はSE/MBSEのコンサルタントとして、安全分析に主眼をおいたSE分析、MBSE導入のご支援が可能です。長年の経験に基づいたMBSEのノウハウを御社に合わせて、そして実務で利用しやすい形でご提案することを得意としております。具体的な事例を知りたい、困りごとを解決したい、課題分析をしてほしい、等ございましたら、ぜひお問い合わせください。











