オルタナティブ・ブログ > 成迫剛志の『ICT幸福論』 >

”情報通信テクノロジは人々を幸せにする”を信条に、IT業界やアジア・中国を見つめていきます。

小説で学ぶ自動車ソフトウェア開発 (その1) はじめに

»

小説で学ぶ自動車ソフトウェア開発

カイトを飛ばせ

はじめに

自動車業界のソフトウェア開発は、異質だ。

IT業界でWebサービスを作っていたエンジニアにとっても、業務システムを構築してきたエンジニアにとっても、あるいは家電や産業機器の組み込みソフトウェアを書いてきたエンジニアにとっても、自動車という世界に足を踏み入れた瞬間、「自分が知っていた開発」との断絶を感じる。

なぜか。

Webサービスは、リリース後でも修正できる。障害が起きれば謝罪して直せばいい。それが当たり前のサイクルだ。業務システムも、バグが出れば翌日のパッチで対応できる。しかし車は違う。ハンドルが誤作動すれば、人が死ぬ。ブレーキが効かなければ、人が死ぬ。「あとで直す」が許されない世界において、ソフトウェアはどうあるべきか----この問いへの答えが、自動車業界固有の開発文化を生み出してきた。

その文化は、略語と規格の森として現れる。A-SPICEISO 26262SOTIFAUTOSARASILHARAFMEAFTAOTASDVUN-R155UN-R156......。他業界から転職したエンジニアの前に、これらが壁となって立ちはだかる。しかもこの壁は、単なる知識の暗記では越えられない。それぞれの規格が「なぜ存在するのか」「他の規格とどうつながっているのか」「現場でどう使われるのか」を理解しなければ、会議でも設計でも、ただ取り残されていく。

本書は、その壁を越えるために書かれている。

物語の舞台は、架空のTier1メーカー「アイソー」。主人公の成田剛志は、Webアプリの開発しか経験のない27歳のエンジニアだ。フードデリバリーのバックエンドを作っていた彼が、ひょんなことからアイソーに転職し、「プロジェクト・カイト」と名付けられた次世代車載ソフトウェア開発プロジェクトに配属される。

剛志が出会う先輩たちは、それぞれの専門領域の第一人者だ。A-SPICEを知り尽くした品質保証のベテラン・藤谷紀子。機能安全とAUTOSARに精通したリードアーキテクト・泉谷賢人。OTAとサイバーセキュリティの専門家・広井智。そして自動運転の最前線を知る中途同期のニック墨汁。剛志は彼らとの対話を通じて、一つひとつの壁を越えていく。

本書が描く学びの旅は、6つのPartで構成されている。

Part 1(A-SPICE)では、「なぜ自動車開発にはプロセスが必要なのか」という根本から始まり、A-SPICEという開発プロセス規格の全体像を学ぶ。V字開発モデル、プロセスグループ、能力レベル、アセスメント----これらが現場でどう機能するかを、剛志の目線で追う。

Part 2(ISO 26262 / 機能安全)では、「安全とは何か」を問う。HARA(ハザード分析とリスクアセスメント)、ASIL(自動車安全度水準)、FMEAFTA。車が人を傷つけないために、エンジニアたちがどれほど精緻な思考を積み重ねているかを知る。

Part 3(SOTIF / ISO 21448)では、「正常に動いているのに、なぜ危ない?」という問いに向き合う。機能安全が「故障による危険」を扱うのに対し、SOTIFは「性能の限界による危険」を扱う。自動運転時代に不可欠な、新しい安全の思想だ。

Part 4(OTA / SDV)では、ソフトウェアで進化し続ける車の世界を学ぶ。Over-The-Air更新、デュアルバンク、UptaneUN規制......。車が「完成品」から「更新し続けるプラットフォーム」へと変わる時代の、技術と法規の両面を追う。

Part 5(AUTOSAR)では、車載ソフトウェアの共通言語を学ぶ。Classic AUTOSARの三層構造から、Adaptive AUTOSARSOAアーキテクチャへ。なぜ業界全体が同じ仕様を使うのか、その歴史的必然と現場の現実を見る。

Part 6(自動運転)では、すべての知識が一点に収束する。SAEレベル、Perceive→Plan→Actパイプライン、E2Eニューラルネットワーク、世界の自動運転プレイヤーたち----そして、タニタ自動車のプロジェクト・カイトが目指す場所。

6つのPartは、積み重なる構造になっている。前のPartを知らなければ、次のPartの深みには届かない。それは剛志の成長と重なっている。最初は何もわからなかった彼が、仲間たちとの対話の中で、少しずつ「自動車のソフトウェア」という世界の輪郭を掴んでいく。

本書を手に取っているあなたが、他業界から自動車業界に転職したエンジニアであれ、これから転職を考えているエンジニアであれ、あるいは自動車業界の中でこれらの規格を改めて体系的に学び直したいと思っているエンジニアであれ----剛志の旅が、あなたのオンボーディングの地図になれば、これ以上の喜びはない。

では、物語を始めよう。

登場人物

アイソー株式会社

  • 成田 剛志(なりた たけし) 27歳。本書の語り手。元Web系スタートアップのエンジニア。家電量販店のスマホアプリと、フードデリバリーのバックエンドを作っていた。半年前にアイソーへ転職してきたばかり。「車載」も「組込み」も、ほとんど何も知らない。
  • 藤谷 紀子(ふじたに のりこ) 48歳。品質保証部のベテラン。元はテスト技術者。社内の誰よりもA-SPICEに詳しい。皮肉屋に見えて、実は世話焼き。
  • 泉谷 賢人(いずみや けんと) 35歳。プロジェクト「カイト」のリードアーキテクト。ドイツのOEMへの出向経験あり。AUTOSARISO 26262の現場知に明るい。
  • ニック 墨汁(にっく ぼくじゅう) 26歳。成田と同時期に中途入社。北京の出身。前職は中国の自動運転スタートアップ。E2E自動運転とTransformerに詳しい。
  • 和泉屋 俊宏(いずみや としひろ) 60歳。社長。元はエンジン制御の出身。OTASDV戦略を進める張本人。
  • 中月 薫(なかつき かおる) 59歳。安全認証担当のシニアエンジニア。ISO 26262SOTIFの引き出しが深い。
  • 林 英男(はやし ひでお) 52歳。プロジェクトマネージャー。スケジュール・コストを最優先に考え、プロセスや安全規格を「余計な工数」と感じがち。口癖は「それ、いつ終わるの」「顧客に説明できる?」。終章では理解者に変わる成長を見せる。
  • 渡会 良吉(わたらい りょうきち) 44歳。システムエンジニア。中月さんの右腕。HARAFMEAFTAの実務エキスパート。無口で、常に図表で語る。
  • 池田 佑介(いけだ ゆうすけ) 31歳。テストエンジニア。藤谷さんの部下。HILSSILS6担当。軽口が多く、成田・太田と同世代で仲が良い。
  • 財前 考平(ざいぜん こうへい) 57歳。OEM側(顧客)の調達・品質担当。アイソーの主要顧客であるOEMの品質責任者。A-SPICEアセスメントで容赦ない要求を突きつける。
  • 広井 智(ひろい さとし) 38歳。コネクテッドソリューション部エンジニア。OTAとサイバーセキュリティの専門家。ISO/SAE 21434R155の両方に詳しい。
  • 太田 悠季生(おおた ゆきお) 26歳。組込みSWエンジニア。成田剛志と同時期に中途入社。前職はFA(工場自動化)メーカー。組込みの基礎はあるが車載特有のプロセスは初めて。楽観的な性格。
  • 横田 昌之(よこた まさゆき) プロセス管理担当。藤谷さんと連携してカイトプロジェクトのプロセス運用と品質記録を管理する。アセスメント結果の全体共有を取り仕切る実務の要。

もくじ

本書は6つのPartで構成される一つの物語である。すべてのPartは「カイト」という一台の車を世に出すために必要な、独立しているようでいて深く繋がった6つの世界を描いている。

  • 序章 カイトという名のプロジェクト ―― すべての始まり
  • 地図の章 6つの問いと、それを繋ぐ一本の線 ―― 全体像

Part 1 開発プロセスの基礎 ―― A-SPICEという "OS"

プロローグ ―― 「車のソフトって、Webと何が違うんですか?」

  • 1章 会議室の壁に貼られたV
  • 2章 A-SPICE "OS"
  • 3章 ドイツから来た物差し ―― 30年の歴史
  • 4章 プロセスと能力、二つの軸で世界を読む
  • 5章 3つのカテゴリ、10のプロセスグループ ―― 地図を広げる
  • 6章 V字を歩く ―― 左下から右下へ
  • 7章 システムを刻む人たち ―― SYS群の物語
  • 8章 ソフトウェアの六姉妹 ―― SWE群の物語
  • 9章 守る人たち ―― MANSUPの仕事
  • 10章 L0からL5までの階段
  • 11章 プロセス属性と、4つの評定
  • 12章 BPWPGPGR ―― 略語の正体
  • 13章 トレーサビリティという背骨
  • 14章 アセスメントの日 ―― 「証拠を見せてください」
  • 15章 二つの兄弟規格 ―― ISO 26262ISO 21434
  • 16章 0という新しい衣
  • 17章 現場に落とす、現場が変わる
  • 18章 A-SPICEを終えて ―― 剛志のノート

Part 2 機能安全 ―― ISO 26262ASILの世界

  • 19章 「故障は、する前提で設計しろ」
  • 20章 ハザードを洗い出す ―― HARAの一日
  • 21章 ASILという名の格付け
  • 22章 安全要求を作る ―― 「なぜ」から「何を」へ
  • 23章 車が壊れるとき ―― フェイルセーフとフォールトトレランス
  • 24章 壊れ方を想像する ―― FMEAFTA
  • 25章 機能安全のライフサイクル ―― 始まりから終わりまで

Part 3 SOTIF ―― 壊れていないのに危険な話

  • 26章 正常なのに、なぜ危ない? ―― SOTIFという新しい恐怖

Part 4 SDVOTA ―― ソフトウェアで動く車の時代

  • 27章 車は、もう「完成品」ではない
  • 28章 安全とOTA ―― 二つはどこで衝突するか
  • 29章 ISO 24089UN-R156 ―― 規制の網をくぐる
  • 30章 ASIL分解とOTA ―― 安全機能を分離する戦略
  • 31章 更新後の再検証問題
  • 32章 ロールバックの夜
  • 33章 Adaptive AUTOSAROTAアーキテクチャ
  • 34章 OTAのまとめ ―― チェックリストと展望

Part 5 AUTOSAR ―― 車載ソフトの共通言語

  • 35章 なぜ「共通言語」が必要だったか
  • 36章 Classic AUTOSARの世界 ―― 積み重なった三層
  • 37章 SDV時代のAUTOSAR ―― Adaptiveの登場
  • 38章 ドメインアーキテクチャという革命
  • 39章 AUTOSARを実装するということ ―― 現場の現実

Part 6 自動運転 ―― 従来型パイプラインとE2Eの未来

  • 40章 ニック墨汁が見ている世界 ―― 自動運転の全体像とSAEレベル
  • 41章 センサーの目 ―― Perception(センサーと物体検出)
  • 42章 どう走るかを決める ―― Planning(行動予測と経路計画)
  • 43章 ハンドルを握る数学 ―― ControlMPCPID
  • 44章 モジュールを全部捨てたら ―― End-to-End自動運転の登場
  • 45章 ブラックボックスの内側 ―― E2Eアーキテクチャ詳解
  • 46章 解釈できないものを信頼できるか ―― 従来型 vs E2E
  • 47章 保証できるか ―― E2Eと機能安全・SOTIF
  • 48章 空中でアップデートし続けるAI ―― E2EOTA
  • 49章 世界の今 ―― 自動運転プレイヤーと未来

  • 終章 カイトが空に上がる日

Comment(0)