国際的なコーディングガイドラインを日本自動車工業会が拡張した理由自工会 車載ソフトウェア インタビュー

2013年3月に発行された、車載ソフトウェアのコーディングガイドラインのMISRA Cを拡張する「MISRA C ADC」。このMISRA C ADCの策定を主導したのが、国内自動車メーカーが加盟する日本自動車工業会のソフトウェア分科会である。同分科会の会長を務めるトヨタ自動車技範の窪田和彦氏に、MISRA C ADCを策定した経緯について聞いた。

» 2013年07月16日 07時00分 公開
[朴尚洙,MONOist]
日本自動車工業会ソフトウェア分科会の窪田和彦氏

 日本自動車工業会(自工会)と欧州の自動車業界団体であるMISRA(Motor Industry Software Reliability Association)は2013年3月、車載ソフトウェアのコーディングガイドラインであるMISRA Cを拡張する「MISRA C ADC」を発行した。

 MISRA Cは、車載ソフトウェアをC言語でプログラミングする際に用いるコーディングガイドラインであり、現在では自動車のみならず、航空宇宙、軍事、医療、プロセス制御といったさまざまな分野で利用されている。一方、MISRA C ADCは、自動車向け機能安全規格であるISO 26262に準拠した車載ソフトウェアを、MISRA Cにのっとって開発しやすくするために策定された拡張文書である。

 MISRA C ADCの策定を主導したのは、自工会のソフトウェア分科会である。拡張文書とはいえ、国際的に利用されている規格やガイドラインの策定を日本の業界団体が主導するケースはあまり多くない。そこで、同分科会の会長を務めるトヨタ自動車 制御システム基盤開発部 制御プロセス改革推進室の技範である窪田和彦氏に、MISRA C ADCを策定した経緯について聞いた。



MONOist 自工会のソフトウェア分科会ではどのような活動を行っているのか。

日本自動車工業会ソフトウェア分科会の窪田和彦氏 日本自動車工業会ソフトウェア分科会の窪田和彦氏

窪田氏 自工会のエレクトロニクス部会の1テーマとして扱われていた車載ソフトウェアについて、自動車メーカー間でじっくり話し合う場として2002年に発足したのがソフトウェア分科会である。発足当時のソフトウェア分科会で大きなテーマとなっていたのが車載ソフトウェアのコーディングルールだった。

 そのころ、国内の自動車メーカーは、サプライヤに対して、各社が独自に決めたコーディングルールを使って車載ソフトウェアを開発するように依頼していた。しかし、サプライヤにとって、各社のコーディングルールに個別に対応することは非常に大きな負担になる。

 このような各社バラバラのコーディングルールの統一に向けて一石を投じたのが、1998年に発行されたMISRA Cの最初のバージョンであるMISRA C:1998だ。発行当時から、各自動車メーカーはMISRA Cに注目しており、独自のコーディングルールからMISRA Cへの移行も徐々に検討され始めた。2002年に発足したソフトウェア分科会でも、MISRA Cへの移行が大きなテーマになった。

MONOist MISRA Cへの移行について、ソフトウェア分科会ではどのような活動を行いましたか。

窪田氏 2004年にMISRA CのセカンドバージョンとなるMISRA C:2004が発行された。MISRA Cへの移行についてかなり検討が進んでいたこともあり、ソフトウェア分科会として、MISRA C:2004を国内自動車メーカーが共通して推奨するコーディングガイドラインに定めた。ただし、MISRA C:2004そのままでは国内での運用が難しい面もあったため、ソフトウェア分科会による独自の解釈を加えるための文書も発行している。これが、自動車技術会によるMISRA C:2004の和訳に追加した「車載C言語のコーディングに関する推奨ルール」という技術文書である。

MONOist ISO 26262への準拠が議論される場合、常に課題として挙げられるのが車載ソフトウェアの開発プロセスです。ソフトウェア分科会でも、ISO 26262に対する取り組みを進めてきたと聞いています。

窪田氏 MISRA C:2004に関する活動を進めていたころ、一般産業機器向けの機能安全規格であるIEC 61508や、IEC 61508をベースに策定が進んでいたISO 26262の調査も行っていた。ISO 26262に準拠した車載ソフトウェアを開発する上で、自動車メーカーやサプライヤの対処すべきことをできるだけ早く把握しておくべきだと考えたからだ。

 ソフトウェア分科会では2009年に、正式発行前のISO 26262の規格案を基にPart.6(ソフトウェア開発)とPart.8(支援(管理プロセス))に関する解説書を作成している。なお、この活動は、車載ソフトウェアの標準化団体であるJasParのISO 26262に関する活動と合流した。2013年8月には、ISO 26262の規格解説書が新たに発行される予定だ。

MONOist ソフトウェア分科会で扱ってきたMISRA CとISO 26262の相関関係について教えてください。

窪田氏 ISO 26262では、車載ソフトウェアはコーディングガイドラインに沿って開発しなければならないと明記されている。そして、MISRA Cは、コーディングガイドラインの代表例として挙げられているのだ。

 これまでの車載ソフトウェア開発では、必ずしもMISRA Cを順守する必要はなかった。しかし、ISO 26262に準拠するためにはMISRA Cの順守が妥当であると考えている。ここで問題になるのが、MISRA Cの極めて厳しいルールである。この厳しいルールを完全に順守すると、既存資産を活用した車載ソフトウェアの開発ができなくなるほどだ。そのため、MISRA Cは、合理的説明があればルールから逸脱(Deviation)してもよいと認めている。

 ただし厄介なのが、合理的説明が求められるという逸脱の手続き(Deviation Procedure)である。欧州の自動車メーカーやサプライヤは、MISRA CやISO 26262が欧州で策定されたこともあって、逸脱の手続きを行う際の合理的説明に慣れている。一方、日本の自動車業界の場合、そのための合理的説明に関するノウハウや知見が圧倒的に不足している。

MONOist そのままでは、MISRA CにのっとったISO 26262に準拠した車載ソフトウェアを開発できなくなりそうですが。

窪田氏 そこで、ISO 26262が求める安全性と説明責任を考慮しつつ、MISRA Cの逸脱の手続きを適用できる条件について、自動車メーカー間の“相場観”を形成するための議論をソフトウェア分科会で進めてきた。

 2011年10月には、MISRA Cを策定するMISRAにコンタクトし、ソフトウェア分科会で議論している内容をMISRA C:2004の拡張文書として採用してもらえるよう依頼した。そして、ソフトウェア分科会の原案を基にして、2012年5月から1年弱かけて策定したのが、2013年3月に第1版が発行されたMISRA C ADC(Approved Deviation Compliance)である。

 MISRA C ADCでは、以下に挙げる8つの条件に合致するときのみ、逸脱の手続きを行えると定めた。

  • 実行時性能
  • サードパーティー製ライブラリとのインタフェース
  • 開発ツールとのインタフェース
  • レガシーコードとのインタフェース
  • コンフィギュレーション(バリエーション)対応
  • ハードウェアアクセス
  • 防衛的プログラム
  • 言語拡張対応

MONOist MISRA C ADCに関する今後の計画は。

窪田氏 現在は、第1版に詳細な説明を加えた第2版を2013年度末までに発行するべく作業を進めている段階だ。

 MISRA C ADCとほぼ同時期に、MISRA Cの新バージョンとなるMISRA C:2012が発行された。しかし、MISRA C:2012が実際に運用され始めるのは2015〜2016年になるだろう。それまでの間はMISRA C:2004が利用され続ける。もちろん、ISO 26262対応もたゆまず進める必要があり、そのためにもMISRA C:2004に対応したMISRA C ADCは必須になるはずだ。

 MISRA C:2012に対応したMISRA C ADCについては、MISRAが主導する形で2014年から検討が始まる見込みである。

Copyright © ITmedia, Inc. All Rights Reserved.