O-RAN Needs a New System Approach

O-RAN Needs a New System Approach

Wind River’s Paul Miller and Vodafone’s Yago Tenorio sit down at the DSP Leaders World Forum to discuss their cooperation with Open RAN and what the future holds.

Watch the full recording above, or select a topic below.

Paul Miller
Yago Tenorio

The World of Open RAN

 
 
 

DO-178Cとは?

DO-178C/ED-12C準拠とは?

DO-178C(Software Considerations in Airborne Systems and Equipment Certification:航空機搭載システムと機器の認証におけるソフトウェアの考慮事項)は、連邦航空局(FAA)、欧州連合航空安全機関(EASA)、カナダ運輸省などの認証機関が、承認プロセスのために提出されたすべての商用ソフトウェアベースの航空システムの審査と承認に使用する主要な文書です。民間の航空宇宙システムのソフトウェア認証を指示する規格です。(軍事用航空分野への影響については後述します)

DO-178Cは、DO-178Bの改訂版として、RTCA(Radio Technical Commission for Aeronautics)がEUROCAE(European Organisation for Civil Aviation Equipment)と共同で制定したものです。ED-12Bの改定版であるED-12Cは、DO-178CのEUROCAE版としてリリースされました。2011年11月にDO-178C/ED-12Cが完成し、同年12月にRTCAが承認しました。RTCAとEUROCAEが共同でDO-178C/ED-12Cに貢献した結果、共同指定となっています。

アビオニクス業界におけるDO-178C

DO-178Cは、アビオニクス業界向けに航空機搭載ソフトウェアシステムの開発に重要かつ詳細なガイダンスを提供し、これらのシステムが高い信頼性で意図した機能を実行することを保証しています。

米国では、FAAが航空業界の安全認証プロセスの一環として、ソフトウェアにはDO-178Cを、複雑な電子ハードウェアにはRTCA DO-254を使用しています。

軍事航空業界におけるDO-178C

DO-178C規格は、軍事航空業界においても準拠する必要がありますが、以下のような違いがあります。

Distributed cloud network

DO-178Cは、航空機搭載システムおよび機器のソフトウェアコンポーネントについて、適用される耐空性規則に準拠していることを証明します。

  • 安全解析を重視することに変わりはありませんが、軍用版ではミッション成功確率(MSP)に重きを置いています。
  • より過酷な運用環境に焦点が当てられています。
  • ミッションの成功のために必要な、DO-178Cの飛行安全性に影響を与えるだけの多くのオンボードミッションシステムに焦点が当てられています。
  • DO-178C 「認証」に対してDO-178 「軍事的適合性」に重点が置かれています。
  • ほとんどの場合、認証の対象はFAAやEASA(欧州連合航空安全局)ではなく、軍事機関です。
  • 軍または顧客は、PSAC(Plan for Software Aspects of Certification)、SAS(Safety Assurance System)、CIだけでなく、すべてのドキュメントを受け取り、レビューします。

RTCA/EUROCAE認証機関

RTCAの概要では、「RTCA特別委員会は、航空業界のトップと優秀な専門家により技術文書を作成しています。RTCAは連邦航空局(FAA)と協力し、FAAの規制に準拠する手段として使用できる、業界で検証され承認された包括的な規格を作成しています。」と記述されています。

特別委員会は、安全性能要件(SPR)、操作上のサービス及び環境定義(OSED)、相互運用性要件(INTEROP)、最小航空システム性能基準(MASPS)、最小運用性能基準(MOPS)、その他レポートやガイドラインなどの一連の文書を作成しました。これらの文書は、新しい機器の認証の指針となり、使用有無が競争市場に影響を与えます。

ヨーロッパでは、EUROCAEが世界的に認知された航空業界標準の策定をリードしています。EUROCAEは、メンバーの専門知識を活用し、国際的に採用されるように設計された運用、開発、および規制の標準を作成します。

RTCA/EUROCAE合同委員会の作業は、7つのサブグループに分けられました。

  • SG1: SCWGのドキュメントの統合
  • SG2: 課題と根拠
  • SG3: ツールの認定
  • SG4: モデルベースの開発と検証
  • SG5: オブジェクト指向のテクノロジー
  • SG6: 形式手法
  • SG7: 安全に関する考慮すべき事項

DO-178 開発保証レベル

DO-178Cの主要な規定は、開発保証レベル(DAL:Design Assurance Levels)の定義です。これは、潜在的なソフトウェアの機能故障がシステム全体に及ぼす影響度合を示すものです。故障の状態は、航空機、乗務員、乗客に与える影響によって分類されます。DALには5つのレベルがあり、システム安全性評価プロセスとハザード分析から決定されます。

それぞれのDALには満たすべき目標が明示されています。例えば、あるものは「独立性」を満たさなければならず、要件やソースコードを検証する人は、それを書いた人と同じであってはならないのです。この責任の分類は、提供されるエビデンスに明確に文書化されなければなりません。

DAL 故障の状況 結果 目的 独立性
レベルA Catastrophic(壊滅的) 故障により死亡および航空機の損失につながる可能性がある状態 71 30
レベルB Hazardous
(危険)
故障により安全性や性能に大きな悪影響を及ぼすか、乗務員の航空機を操作する能力を低下させたり、乗客に重傷または生命にかかわる負傷を負わせたりしている状態 69 18
レベルC Major(重大) 故障により安全性が著しく低下したり、乗務員の作業量が大幅に増加して乗客の不快感や軽傷を引き起こす可能性がある状態 62 5
レベルD Minor(軽微) 安全性がわずかに減少するか、乗務員の作業量がわずかに増加。その結果、乗客に不便を与えることや、フライトプランの変更などがある状態 26 2
レベルE No Effect
(影響なし)
故障しても、安全性、乗務員の作業量、航空機の運航に影響・負荷を与えない状態 0 0
DO-178BとDO-178Cの違い

DO-178C/ED-12Cは、DO-178B/ED-12Bの問題点やエラーに対処し、先進のソフトウェア技術を駆使して改善するために作成されました。DO-178C/ED-12CとDO-178B/ED-12Bを比較すると、7つの分野にわたって大きな違いがあることが分かります。

カテゴリ 相違点/変更点
エラーと不整合 DO-178B/ED-12Bの既存のエラーと不整合が解決されました。
文言の改善 DO-178Cでは、正確さと矛盾を修正するために文言の変更が行われました。
用語の統一 TDO-178Cの用語集は、用語により一貫性をもたらすために更新されました。
目的および活動 DO-178Cの目的と活動が改良されました。
補足事項 新しいプログラミングパラダイムや、オブジェクト指向テクノロジーやモデルベースの開発や検証などのソフトウェア開発テクノロジーが追加されました。
新しいトピック パラメータデータアイテム(PDI)ファイルとその検証プロセスが含まれました。
DO-178Bの明確化 MC/DC(Modified Condition/Decision Coverage)の定義が更新されました。

DO-178Cプロセスおよびドキュメント

安全性評価プロセスは、DALのレベルAからDに記載されている基本目標をサポートするためのものです(レベルEは同レベルの文書を必要としません)。実際のプロジェクトの計画者は、プロセスの具体的な詳細と活動を定義し、文書化する責任があります。プロジェクト作業では、各プロセスで実際に完了したすべての活動が、どのように目的をサポートしているかの実証と結びつけられなければなりません。

DO-178Cの目的ベースの特徴は、異なるソフトウェアライフサイクルスタイルに従う柔軟性をサポートします。しかし、一旦プロセスの中でアクティビティが定義されると、プロジェクトはその活動を尊重しなければなりません。すべてのプロセスとその具体的な活動は、開始基準と終了基準が明確に定義されてなければならず、プロジェクトがその基準にどのように準拠したかを文書で明らかにする必要があります。

DO-178Cプロジェクト計画プロセス

TDO-178C認証を成功させるためには、開発プロジェクトの計画プロセスを導入することが重要です。主な5つの計画プロセスの概要は以下のとおりです

PSAC: 認証機関に提出するプロジェクト計画書

ソフトウェア認証計画書 (PSAC)は、システムプロジェクトのソフトウェアエンジニアリングチームが、どのようにDO-178Cの要求事項を満たし、FAAおよびEASAが認証するためのプロジェクト計画をまとめたものです。

data-flow diagram

5つの主要なプロセスプランがDO-178C認証をサポートします。

SDP:ソフトウェア開発計画書

ソフトウェア開発計画書(SDP)は、ソフトウェア開発に関する開発者の計画を詳述したもので、具体的にはソフトウェア要件、設計、コード、統合をどのように実行するかを概説しています。この計画では、DO-178Cの開発プロセスの目的を満たし監視するために使用するツールについての説明をする必要があります。

SVP:ソフトウェア検証計画書

Tソフトウェア検証計画書(SVP)は、必要な検証ツールとともに、レビュー、テスト、分析のための活動の概要を示しています。

SCMP:ソフトウェア形態管理計画書

ソフトウェア形態管理計画書(SCMP)は、DO-178Cにおける変更管理、ベースライン化、データの保管等の目的がプロジェクトでどのように実行されるかを詳細に説明します。

SQAP:ソフトウェア品質保証計画書

ソフトウェア品質保証計画書(SQAP)では、DO-178Cに対するプロジェクトの品質保証の目的をどのように満たすかについて概説されています。

ウインドリバーのアプローチ

ウインドリバーは、40年以上にわたり、世界有数のテクノロジー企業が世界で最も安全かつセキュアなデバイスを次々と開発する支援をしており、フライトセーフティ(DO-178C DAL A)など、数多くの重要な分野のセーフティクリティカルな基準を満たすための豊富な経験を有しています。

機能安全認証取得済みのソフトウェア

VxWorks

世界をリードするリアルタイムオペレーティングシステム(RTOS)であるVxWorks®は、360社を超えるお客様の安全認証プログラムを600件以上サポートしてきました。堅牢な安全性機能を備えた高度な時間と空間のパーティショニング機能により、シングルまたはマルチコアの単一プラットフォーム上で、重要度の異なるアプリケーションを安心して統合できます。POSIX®やFACEなとの業界標準にも適合しているため、様々な安全規格(DO-178C、 IEC 61508、IEC 62304、ISO 26262)の認証取得が可能です。

» 詳細はこちら 

VxWorks is certified for DO-178C

VxWorksは、DO-178C、IEC 61508、IEC 62304、およびISO 26262安全規格の認定を受けています。

VxWorks 653 Multi-core Edition

VxWorks 653マルチコアエディションは、安全、セキュア、かつ信頼性の高いRTOSです。最新のハードウェアプラットフォーム上で堅牢なタイムパーティショニングとスペースパーティショニング機能を提供することにより、ARINC 653準拠のシステムを実現します。また、障害の抑制と、最小限のテストと統合の要求によるアプリケーションのアップグレードを可能にします。.

» 詳細はこちら

Wind River Helix Virtualization Platform

Wind River Helix Virtualization Platformは、DO-178C、IEC 61508、ISO 26262安全規格の厳しい要件に準拠したセーフティクリティカルなアプリケーションの認証を簡素化するために設計されています。

» 詳細はこちら

ウインドリバープロフェッショナルサービス

ウインドリバーのプロフェッショナルサービスは、セーフティクリティカルな専門知識を提供し、認証取得の計画、プロセス、実装のサポートにおいて長年の経験を有しています。お客様の認証取得をプロフェッショナルサービスが支援いたします。

» 詳細はこちら

DO-178Cに関するFAQ

DO-178Cは、RTCA(Radio Technical Commission for Aeronautics)が策定した、航空宇宙システムにおけるセーフティクリティカルなソフトウェアの開発に関するガイドラインを示す規格です。
航空システムにおけるセーフティクリティカルなソフトウェアを高い安全性と信頼性で開発し、ソフトウェアの不具合による事故や事件のリスクを低減することです。
DO-178Cの主な原則には、要件ベースのテスト、検証と妥当性確認、構成管理、および文書化が含まれます。
ソフトウェア要求が完全で、正しく、一貫していること保証すること、ソフトウェアの実装が要求を満たしていることを検証すること、ソフトウェアが適切にテストされ検証されることを保証することなどがあります。
DO-178C認証には、レベルA(壊滅的)からレベルE(影響が少ない)までの5つのレベルがあります。必要な認証レベルは、ソフトウェアの安全上の重要度や航空機の安全性に与える影響度合によって決まります。
DO-178Cの認証には、ソフトウェア計画、要求分析、ソフトウェア設計、コーディング、テスト、検証、妥当性確認などのプロセスがあります。このプロセスは文書化され、規格への準拠を保証するために監査される必要があります。
認証プロセスの複雑さとコスト、ソフトウェア開発の遅延を引き起こす可能性、高度な専門知識の必要性などが挙げられます。
航空機搭載システムの安全性と信頼性の向上、ソフトウェアの不具合による事故や事件のリスクの軽減、ソフトウェア開発プロセスに対する信頼性の向上などが挙げられます。
DO-178Cは、航空電子機器や飛行制御システムなど、航空機の安全性に直結するシステムにおけるセーフティクリティカルなソフトウェアの開発基準として、航空宇宙産業で広く使われています。
企業は、標準のガイドラインとプロセスに従い、堅牢なソフトウェア開発とテストのフレームワークを確立し、独立した認証機関と協力して、ソフトウェアが必要な安全要件を満たしていることを確認することにより、DO-178C への準拠を保証できます。

ウインドリバー | カスタマーサポート

カスタマーサポート

ウインドリバーは、お客様のビジネスニーズや必要なサポートに応じて、さまざまなレベルのサポートを提供しています。

 

ウインドリバーカスタマーサポート

ウインドリバーカスタマーサポートでは、お客様が課題を解決し、導入したウインドリバーテクノロジーを最大限に活用するための各種サービスを提供しています。専任のサポートエンジニア、お客様環境のホスティング、1対1のサポート窓口のほか、オンラインで利用できるWind River Support Networkを提供しています。

インテリジェントシステムの開発、デプロイ、保守における数十年の実績を持つウインドリバーは、お客様から信頼されるパートナーとして、SLAをコミットするとともに先進的なIPの活用を支援します。 ウインドリバーカスタマーサポートサービスは、お客様の97%から高い評価を得ており、業界最高レベルのサポートを提供しています。

SCP Standards

ウインドリバーのカスタマーサポートサービスは、優れたサービスを評価する世界的な基準である、SCP(Service Capability and Performance)認定を取得しています。

技術サポート

技術的なご質問やサポートリクエストは、ケースを作成してご連絡ください。ケースはオンラインで追跡、更新いただけます。
弊社販売代理店からご購入の場合は、ご購入先の弊社代理店テクニカルサポート窓口までご連絡ください。



ケースを作成できない場合

ライセンス番号が分からないなど、ケースを作成できない場合は、どうかこちらのフォームからご連絡ください。



オンラインサポート

オンラインサポートを提供するSupport Networkでは、製品ドキュメント、パッチ、その他のリソースに24時間いつでも簡単にアクセスできます。サポートケースのリクエストと追跡、CVE(Common Vulnerabilities and Exposures)データベースの検索、BSP(Board Support Package)をダウンロードしていただけます。

Support Networkの詳細はこちら

Wind River Helix Virtualization Platform | ハイパーバイザー

エッジコンピューティングでのインテリジェンスを実現する
レガシーシステムのモダナイゼーション

レガシーアプリケーションをサポートしつつエッジでより多くのインテリジェンスを得るには、長年稼働し続けている専用ソフトウェアを使用しながら、最新のソフトウェアやクラウド展開手法を素早く導入する必要があります。こうした課題に対応するため、Wind River Helix Virtualization Platformは、レガシーソフトウェアを変更せずに新しいアプリケーションと並行して実行できるようにしました。これにより、幅広いエッジデバイスにわたり、一貫性があり、スケーラブルでアジャイルなプラットフォームの持つ利点がすべて実現可能です。

Wind River Helix Virtualization Platformの利点

Environment

さまざまなユースケースに対応

  • 堅牢なタイム/スペースパーティショニング機能を必要とする、高度に制御されたアプリケーション
  • 認証要件のない複数のワークロードの組み合わせ
  • 安全な認証済みアプリケーションと認証不要アプリケーションの組み合わせ
詳細はこちら »
Devsecops

業界をリードする、リアルタイムOSテクノロジーを活用

  • 堅牢なタイム/スペースパーティショニング機能
  • 安全な認証済み機能
  • COTS認証取得用ドキュメント
  • 9,000を超える企業からの信頼
  • 550以上の安全性認証プログラムでの採用
詳細はこちら »
Devsecops

複数のOSに対応

  • VxWorks® RTOS
  • Wind River Linux
  • オープンソースLinux
  • 自作OS
  • ベアメタル
  • 任意のゲストOS

コスト、複雑さ、リスクの低減

  • 幅広い業界標準をサポート
  • アプリケーションの統合と将来性
  • 堅牢なパーティショニング
  • Wind River Workbench IDEおよびWind River Simics®シミュレーション
other

容易な認証取得に対応

  • ISO26262自動車の機能安全
  • IEC61508産業の機能安全
  • DO-178C航空機搭載システムの安全規格
詳細はこちら »

複数のアーキテクチャに対応

  • Arm®およびIntel® プラットフォーム
  • マルチコアハードウェアのサポート

各市場でのユースケース

リソース

VxWorks Safety Platforms-Japan

VxWorks
Safety Platforms

VxWorksは、IEC 61508、ISO 26262、DO-178C、ED-12Cなどで求められる厳格な安全認証要件を低コストかつ速やかに支援します。

 
VxWorks 653

VxWorks 653

VxWorks® 653 は、単一のコンピューティングプラットフォームに安全性が要求されるアプリケーションとそうでないアプリケーションのワークロードを統合可能な、統合化アビオニクス(IMA)システムプラットフォームです。

詳細はこちら »
VxWorks Cert Edition

VxWorks Cert Edition

VxWorks Cert Editionは、アビオニクス、輸送、インダストリアルオートメーション、医療機器分野で、DO-178C、IEC 61508、IEC 62304、ISO26262の認証取得用ドキュメントが必要な、セーフティクリティカルなアプリケーション向けのプラットフォームです。

詳細はこちら »

Wind River VxWorks 653 Platform

VxWorks 653は、最新のPowerPCマルチコアプロセッサプラットフォーム上で堅牢なタイム/スペースパーティショニングを備えたオープンな仮想化プラットフォームを提供する、安全、安心、信頼性の高いリアルタイム・オペレーティング・システム(RTOS)です。VxWorks 653は、360社を超える顧客の民間航空機、軍用機100機種以上で、600件以上のプロジェクトにおいて使用実績があります。航空宇宙・防衛産業におけるソフトウェア定義システムへの移行を推進しており、実際のビジネス上の問題を解決する革新的なテクノロジーを提供しています。

VxWorksの信頼性は最も厳格なセーフティクリティカルアプリケーションで実証されています。

Trust

信頼性

VxWorks 653は、ARINC 653リアルタイム動作環境の世界的なトップ製品です。220社を超える顧客の民間航空機、軍用機80機種以上で、4400件以上のプロジェクトにおいて使用実績があります。たとえば、ボーイング787ドリームライナー、エアバスA400M、ノースロップ・グラマンUH-60Vブラックホークのアビオニクスアップグレードに採用されています。

Robust partitioning

堅牢なパーティショニング機能

パーティショニングされたオープンアーキテクチャと堅牢なパーティショニングのサポートにより、プラットフォーム全体を再テストすることなく、テスト対象の環境に新しいアプリケーションを挿入することができます。これにより、 再認証取得テストのコストとTCOコストが大幅に削減されます。

Multilevel safety

マルチレベルの安全性

マルチコア対応スケジューラとハードウェア仮想化支援により、高い安全性とセキュリティを提供します。

Commercial off-the-shelf (COTS) certification evidence

商用オフザシェルフ(COTS)認証エビデンス

COTS認証エビデンスの提供により、スケジュールリスクを低減しながら認証取得までの時間を短縮します。

Independent build, link, and load

独立したビルド、リンク、ロード

VxWorks 653は、RRTCA DO-297統合化アビオニクス(IMA)規格に準拠しマルチサプライヤ、役割ベースのサプライチェーンに配慮した設計により、アプリケーションサプライヤはソフトウェアアプリケーションの独立した非同期開発、テスト、導入が可能です。

Maintenance and support

保守・サポート

ウインドリバーでは、お客様のビジネスニーズや必要なサポートに応じて、サポートを提供しています。また、プロフェッショナルサービスの経験豊富なエンジニアチームが、カスタマイズした設計、インテグレーション、最適化サービスを提供します。

Unmodified guest OS

未修正のゲストOS

マルチコアPower PCアーキテクチャプラットフォームへの既存のアプリケーションと新規のアプリケーションの統合をサポートします。また、VxWorksとWind River LinuxはゲストOSとしてサポートされています。

VxWorks Cert Edition

40年近くにわたり、ウインドリバーのソフトウェアは、世界中のクリティカルインフラストラクチャで採用され、最高レベルの安全性、セキュリティ、信頼性を提供してきました。VxWorks Cert Editionは、安全性、セキュリティ、信頼性の高いソリューションの開発と認証を求める業界に認証可能なリアルタイムOSシステムを提供し、リスク、コスト、認証に費やす労力を削減します。

VxWorks Cert Editionは、以下の機能を提供します。

  • 特定のハードウェアと密に連携
  • C/C++などのプログラミング言語により記述される
  • ハードウェア(周辺機器など)と直接通信する
  • 専用の開発・管理ツールを必要とする
  • ライフサイクルが長く、ステートフルに実行される
  • 現場で使用されるハードウェアやソフトウェアがますます多様化している

リソース

DevOpsとは?

DevOpsとは?

企業のソフトウェア開発において、組込みの世界で導入が進むDevOpsをはじめとする最新のCI/CDプラクティスについてご紹介します。

 

DevOpsとは?

ソフトウェアアプリケーションが大規模かつ複雑になるにつれて、各チームが協働する必要性に迫られています。テスト、開発、デプロイ、運用などの非機能的な流れ作業を実行する目的で、新しいチームが結成されています。これらのチームには、ビジネスアナリスト、プロジェクトマネージャー、システムエンジニア、および以前は別のチームの一員としてこれらの機能を実行していたその他のメンバーによって構成されています。

アプリケーション開発におけるDevOpsのアプローチは、開発チームと運用チームが一体となってソフトウェアをより迅速、かつ頻繁に提供し、お客様のニーズをこれまで以上に満足させることを目的としています。

開発手法の種類

従来の開発手法

従来、ソフトウェア開発者がコードを書いていました。開発者がコードを書き終わると、アプリケーションはQAを経て、IT運用担当者によって本番環境に導入されます。IT運用担当者は、コードが期待通りに動作するようにサーバー、ストレージ、その他の必要なものを手配します。組込みシステムでは、運用担当者は組込みシステムにソフトウェアを搭載し、そのソフトウェアが動作するデバイスの製造を監督していました。

このモデルは、ウォーターフォール方式のソフトウェア開発ではうまく機能していましたが、開発者が組込みシステムのソフトウェアを完成させるまでにある程度長い時間を費やし、それから運用に回すため、時間がかかるという欠点がありました。

従来の開発手法では、競争の激しい今日の組込み市場ではスピードが足りません。

アジャイルな開発手法

アジャイル開発は、開発チームが「スクラム」を組んで作業を行い、より速いスピードでリリースを行うという、ソフトウェア開発に新しいアプローチをもたらしました。この開発手法を取り入れると、アジャイルチームがあまりにも速くコードを作成することができたため、運用チームとQAチームを開発プロセスに統合した方が良いということが分かりました。その結果、DevOpsの手法の下、両チームが一緒に作業を行うようになりました。

継続的インテグレーション/継続的デリバリー

DevOpsのもう一つの影響は、新しいコード自体の統合と配布の仕組みに関連します。コードリリースのペースは非常に速くなり、自動化されたソフトウェアでなければ対応できなくなりました。さらに、コードリリースの多くは、既存のアプリケーションへの小さな更新に過ぎませんでした。DevOpsチームから新しいコードが出てくるたびに、毎日(または数時間おきに)大規模なアンインストール/再インストールを実行するルーチンはあまり意味のないことでした。この問題を解決するために、コードの継続的インテグレーション(CI)と継続的デリバリー(CD)の実行が標準となりました。CI/CDツールは、コードの実行を停止することなく、コードを本番アプリケーションにそのまま搭載します。これは、昔の「車が動いている間にタイヤを交換する」というコンセプトと似ていますす。しかし、ここでは、それが機能するのです。

DevOpsとCI/CD: 別々でありながら相互依存関係にあるツールセット構成された
ワークフロー

DevOpsとCI/CDの手法を実践するためには、技術的には別々でありながら相互依存関係にあるツールセットが必要です。図1は、最も一般的なDevOpsからクラウドへのCI/CDのワークフローを簡略化したものです。ワークフローの各ステップは、特定の種類のツールによってサポートされています。

図1. 多数の独立しているが、互いに依存するツールセットに頼るワークフローとしてのDevOpsとCI/CD

DevOpsとCI/CDを成功させるためには、開発、テスト、セキュリティ、および運用の各チームが、コードがこのワークフローを通過するたびにリアルタイムで協力できるようにする必要があります。このプロセス全体を機能させるためには、ソフトウェア開発ツールとクラウドプラットフォームが、このツールとワークフローをサポートする必要があります。(ここに示した例は、権威あるものと見なすべきではありません。DevOpsおよびCI/CDテクノロジーの大規模なプールからのごく一部のサンプリングに過ぎないからです)。

企業は、より良いソフトウェアをより迅速に生産するために、組込み開発プロセスの一部を効果的に統合する方法を必要としています。

組込みシステムの世界へのDevOpsの導入

DevOpsは、ポジティブ、およびネガティブな両方の理由で、組込みシステムメーカーに普及しつつあります。ポジティブな理由としては、より良い製品をより早く市場に送り出すことができることが挙げられます。DevOpsを正しく実行することで、かつては連続した開発、QA、セキュリティ、および運用スケジュールをある程度並行して行うことを可能にし、いずれは実質的にDevSecOpsへと変化していきます。各サイクルにおけるイテレーションの回数が減るため、すべてがより迅速に進みます。

CI/CDの手法は、市場投入までの時間を短縮し、コラボレーションを改善し、より良い製品を生み出しますが、企業はこれらの新しい概念を導入しようとする際に課題に直面します。

企業がDevOpsの導入を余儀なくされているネガティブな要因は、人材の制約に大きく関係しています。優れたコードを書くことができ、組込みシステムを熟知している開発者は、なかなか見つかりません。多くの設計チームは、組込みシステムと、航空宇宙や自動車などの特定の業界におけるその役割を理解する開発者の不足という課題に直面しています。

この基本的な人手不足は、開発者にセキュリティクリアランスを要求することでさらに深刻化しています。このような状況においてDevOpsは、小規模で限られた人材プールで、これまで以上に多くのソフトウェアを生産することを可能にするため、非常に重要です。

DevOpsの導入における課題

企業文化

DevOpsへの移行を進めたいと強く考えていても、すべての組込みシステム関連企業が簡単に移行できるわけではありません。問題点として挙げられるのは、グループ間の連携不足です。単にDevOpsをソフトウェア開発とリリースに適用すると宣言するだけでは、チームのプロセスを統合させるのに不十分です。

効果的なCI/CDの導入には、管理プロセスや企業文化の変革が必要です。

DevOpsの採用は、管理プロセスの革命的な変化でなければなりません。チームメンバーは、新しい開発手法とツールについてトレーニングを受ける必要があります。質問をし、これらの新しい方法が自分たちの特定の組織でどのように機能するかを判断する機会が必要です。DevOpsとCI/CDは、技術的・段階的であると同時に、文化的な転換でもあるのです。

セキュリティ

セキュリティもDevOpsの進展を阻害する可能性があります。アプリケーションのセキュリティは困難であり、開発プロセスを加速化しても、自動的にリスクが軽減されるわけではありません。どちらかといえば、リスクが増加します。組込み開発プロセス全体を通してセキュリティを確保する必要があります。

ハードウェアへのアクセス

ハードウェアも障壁となり得ます。従来の開発では、開発チームは、使い慣れたプロセッサと回路基板の組み合わせに特定のオペレーティングシステムを搭載するなど、既知のターゲットハードウェア向けにコードを作成する必要がありました。プロセス全体が加速化するにつれ、DevOpsチームがターゲットとするハードウェアを迅速に提供することが難しくなっています。ハードウェアの中には、非常に高価なもの、入手が難しいもの、あるいはまだ構築されていないものがあるかもしれません。

Wind River Simics®などの適切なツールを使用することで、ハードウェアの障害を排除し、高品質な組込み製品の迅速な開発を可能にします。

ウインドリバーのアプローチ

ウインドリバーのDevOps環境

多くのデータセンターツールセットには、すでにDevOpsやCI/CDに適した機能が搭載されていますが、組込みの世界では、ほとんどの開発が依然として従来のウォーターフォール方式で行われています。ウインドリバーは、すべての製品リリースとロードマップに堅牢なアジャイル機能を搭載し、最新の開発手法を先駆けて取り入れています。

ウインドリバー製品は、完全なDevOps-CI/CDワークフローを可能にします。お客様の成功を支援するために、独自の開発-テスト-リリースプロセスを開始しました。Wind River Linux、VxWorks®、Wind River Helix™ Virtualization Platformなどの製品は、当社独自のDevOps環境を使用して生産されています。私たちは、組込みシステムのコンテキストにおけるこれらの手法のユニークなニーズについて、多くのことを学びました。プロセスに対する我々の洞察は、図2に描かれているように、効果的なDevOps-CI/CDスタックにつながりました。

図2. ウインドリバー製品は、DevOpsおよびCI/CD機能を直接提供するか、または、ワークフローの各機能領域でさまざまな業界標準のツールセットを
サポートします。

ウインドリバー製品は、完全なDevOps-CI/CDワークフローを可能にします。お客様の成功を支援するために、独自の開発ーテストーリリースプロセスを開始しました。Wind River Linux、VxWorks®、Wind River®Helix™ Virtualization Platformなどの製品は、当社独自のDevOps環境を使用して生産されています。私たちは、組込みシステムのコンテキストにおけるこれらの手法のユニークなニーズについて、多くのことを学びました。プロセスに対する私たちの洞察は、図2に描かれているように、効果的なDevOps-CI/CDスタックにつながりました。

ウインドリバー製品によるDevOps

Wind River LinuxとVxworks

ウインドリバーが商用サポートしているLinuxオペレーティングシステムと付属の開発テストツールセットにより、プロトタイプから製品化までの迅速な組込み開発が可能です。業界をリードするリアルタイムオペレーティングシステム(RTOS)であるVxWorksも、同等の機能を提供します。どちらも、ソースコードの作成、コード分析、ビルドとユニットテスト、リポジトリ管理などの、DevOpsワークフローの開発段階における標準的な機能をサポートしています。お客様が独自のツールをお持ちの場合は、Wind River LinuxとVxWorksが、Jive、Git、Jenkinsなどのツールをサポートしているため、追加機能を利用することが可能です。

ランタイムでは、Wind River LinuxとVxWorksの両方が、組込み分野におけるDevOpsとCI/CDに理想的な品質を具体化しています。これには、コンテナ技術と連携して、組込みシステムのDevOpsによるアプリケーションやマイクロサービスの迅速な開発およびデプロイを可能にする機能も含まれます。

OSからのアプリコードの抽象化

DevOps-CI/CDを機能させる上で、基盤となるOSやハードウェアスタックからアプリケーションコードを抽象化することは、必要不可欠な要素です。DevOps-CI/CDでは、アプリケーションコードの変更が頻繁に行われます。新しいビルドに問題がある場合、すぐに本番環境からローテーションして修正することができます。

OSレイヤは、特に本番環境で変更が発生した場合、それほど寛容ではありません。このため、VxWorksは業界基準の抽象化フレームワークをサポートしています。これは、厳格な業界標準に準拠する必要がある組込みシステムにおいて特に重要です。このサポートがなければ、リアルタイムの組込みシステムにDevOpsを使用することはほぼ不可能でしょう。

DevOps-CI/CDに不可欠なのは、アプリケーションコードを基盤となるOSやハードウェアスタックから抽象化する機能です。

VxWorksがサポートする業界基準
  • ロボットオペレーティングシステム(ROS2): Sロボットアプリケーションを作成するためのソフトウェアライブラリおよびツール
  • Adaptive AUTomotive Open System ARchitecture (AUTOSAR)(自動車用オープンシステムアーキテクチャ):  自動車の電子制御ユニット(ECU)のためのオープンで標準化されたソフトウェアアーキテクチャを作成する、自動車関連事業者による世界的な開発パートナーシップ
  • The Open Group’s Future Airborne Capability Environment (FACE™) Technical Standard:セーフティクリティカルなコンピューティングオペレーションの堅牢性、相互運用性、移植性、セキュリティの向上を目的とした、アビオニクスのオープンスタンダード
Wind River Helix Vertualization PlatformとWind River Studio Cloud Platfrom

DevOps-CI/CDワークフローを使用する組込みシステム開発者は、コードをHelix PlatformまたはWind River Studio Cloud Platformにデプロイすることができます。Helix Platformは、エッジデバイス上の単一コンピューティングシステムで、複数のOSと混在したクリティカルなアプリケーションを実行することができます。このアプローチは、OSを再インストールすることなく、ハードウェア上の1つのアプリケーションを更新して、抽象化を実現したいと考える組込みシステムメーカーに人気が高まっています。

Wind River Studio Cloud Platformは、実用グレードのKubernetesソリューションです。分散エッジネットワークの大規模なデプロイと管理に関連する運用上の問題を解決し、5Gを実現するために設計されています。Kubernetesのサポートにより、組込みシステムのDevOpsチームは、個々のコンテナ上でCI/CDを実行できるようになります。また、Wind River Studioは仮想化だけでなく、Linux、VxWorksなど、さまざまなOSをサポートしています。

Wind River Simics

フルシステムシミュレータであるWind River Simicsは、ハードウェアアクセスの問題を解決します。その高度なソフトウェアは、様々な種類のハードウェアやオペレーティングシステムの機能を再現することができます。また、周辺機器、ボード、ネットワークなどのモデル化も可能です。この技術により、開発者やQAチームは、自社にない、あるいは存在しないかもしれないハードウェア向けにコードを書くことができます。例えば、Wind River Simicsは、提案された回路やボードの「テープアップ」に基づいて、ハードウェアの機能を再現することができます。

Wind River Simicsは、開発者、QA、運用チームが、相互に接続された大規模なシステムをモデリングすることを可能にします。たとえば、あるソフトウェアが、デバイス、アーキテクチャ、オペレーティングシステムの複数の組み合わせでどのように動作するかを確認することができます。開発者がWind River Simicsでシステムのモデルを作成したら、決定論的なバグの再現など、さまざまな運用シナリオをシミュレートすることができます。

これらの機能は、組込みのコラボレーションツールと相まって、開発、QA、運用プロセスの根本的なスピードアップに貢献します。開発チームとQAチームは、物理的な開発ラボの設置に時間を費やす必要がなく、運用チームはハードウェアの導入方法を事前に確認することができます。その結果、すでに多くの異なる潜在的な構成でテストされているため、サポートが容易より高品質なコードが完成します。

テスト、監視ツール

DevOps-CI/CDワークフローがHelix PlatformまたはWind River Studio上でコードを本番環境にリリースする際、ウインドリバーのツールはコードのテストとモニタリングに不可欠な機能を提供します。Wind River WASPは、実運用に入るコード向けの実績あるテストフレームワークです。Wind Shareはソフトウェアの配布を管理し、Wind River Panoramaはリリースプログラムを容易にします。さらに、ウインドリバーは、静的解析のCoverity、セキュリティ脆弱性スキャンのNessus、堅牢性テストのAchillesなど、これらの機能の多くで業界標準のツールをサポートしています。

ウインドリバー
プロフェッショナルサービス

ウインドリバープロフェッショナルサービスは、セキュリティを第一に考えています。セキュリティに関する豊富な専門知識と、業界をリードするソフトウェアやソリューションを組み合わせることで、革新的なアプローチを提供します。まず、包括的なアセスメントを実施し、開発プロセス全体のセキュリティを確保する方法を決定します。

ウインドリバーのプロフェッショナルサービスチームは、アセスメントをもとに、以下を支援します。

  • 設計: コードが書かれる前に、潜在的な問題を判断し、特定
  • 実装: テスト前にソフトウェアの構成と設定を見直し、最適化

ウインドリバーは、数十年にわたる経験を活かして、組込み機器周辺のセキュリティを強化し、サイバーセキュリティの脅威から機器を保護します。

  • テスト:コードを書いた後、現場にデプロイする前に改善策を提案
  • デプロイメント後: デバイスのデプロイ後、プラットフォームの変更を必要としない継続的な改善機会を特定。セキュリティ強化の中には、組織的な対策とそれに対応するコントロールによって完了するものもあります。

DevOpsに関するFAQ

DevOpsとは、ソフトウェア開発(Dev)とIT運用(Ops)を統合し、開発ライフサイクルの短縮と継続的なデリバリーを可能にした、ソフトウェア製品の品質を向上させるためのソフトウェア開発手法です。
DevOpsの目標は、新しいアイデアを最初に考えてから実際に実装するまでの道のりを最適化することです。このモデルは、あらゆる変更を行う際に価値を提供し、その価値をできるかぎりシームレスかつ効果的に提供するという文化が中心となっています。
DevOpsライフサイクルは、継続的なソフトウェア開発、統合、テスト、デプロイメント、およびモニタリングの5つの主要コンポーネントで構成されています。
開発チームと運用チーム間のコラボレーションの強化、ソフトウェア製品の迅速な提供、効率性と生産性の向上、ソフトウェアの品質と信頼性の向上などが挙げられます。
継続的インテグレーションと継続的デリバリー(CI/CD)、Infrastructure as Code(IaC)、モニタリングとロギング、アジャイルとリーン手法の使用などがあります。
DevOpsGit、Jenkins、Docker、Kubernetes、Ansible、Puppet、Chef、Terraformなどがあります。
従来手法からの変化に対する文化的な抵抗、知識やスキルの不足、ツールチェーンの統合、セキュリティとコンプライアンスの問題、複雑さとスケーラビリティの管理などがあります。
DevOps文化は、ソフトウェア開発者と運用担当者の連携を重視します。これには、ソフトウェア開発者が構築しているものについて共通の理解を持ち、開発、運用、およびQAチーム全体でそのソフトウェアに対する責任を共有することが必要です。DevOps文化は、可視化、コミュニケーション、およびコラボレーションを向上させる手順を導入している企業で最も成長します。
シフトレフトの原則は、すべてのテストと予防的なプロセスをライフサイクルの可能な限り早い段階に移し、問題が開発プロセスの後期に頓挫したり、実際のデバイス寿命に影響するのを防ぐことです。これにより、品質が向上し、不具合があれば早期に修正し、開発期間を短縮することができます。
アジャイル開発とDevOpsには強い関係があり、どちらもソフトウェア開発のライフサイクル全体にとって重要ですが、概念的には異なります。DevOpsはソフトウェア開発手法の一つです。ソフトウェアエンジニアリングの開始から終了までのプロセスに焦点を当て、絶え間ない開発とテストに重点を置いています。アジャイル開発は、チームワークの方法論です。コラボレーション、継続的なイテレーション、頻繁な顧客フィードバック、小規模で迅速な製品のリリースというデリバリースタイルに焦点をあてています。
CI/CDとは、継続的インテグレーションと継続的デリバリーのことで、実行中の機能を停止することなく、コードを本番アプリケーションに直接デプロイする開発プラクティスです。
他のチームとの垣根をなくしたい、生産スピードを上げたい、矛盾を減らしたい、コラボレーションを増やしたい、生産性を上げたいと考えているチームは、DevOpsのプラクティスを採用すべきです。
DevOpsは必ずしもソフトウェアエンジニアリングではありません。ソフトウェア開発とIT運用を実行するための一連のプラクティスです。