製品開発ライフサイクルを変革
Wind River Simicsが生み出す高性能な仮想環境を活用して、シングルボードから複合システムや異種システム、マルチコアシステムに至るまで、あらゆる電子システムの設計、開発、運用が可能です。
この高速で正確な仮想環境なら、物理的なハードウェアではまったく不可能なアプローチや手法も、エンジニアリング、インテグレーション、テストの各チームが利用できるようになります。たとえば開発者は、全システムの実行スナップショットをフリーズ、保存して電子メールで送信し、受診元で復元する事などが可能です。あらゆるデバイス、レジスタ、メモリロケーションをそこで表示し、変更もできます。全システムを逆実行し、バグの原因を発見する事もできます。
企業は、Simicsにより製品開発ライフサイクルに新たな手法を取り入れて、プロジェクトリスクや開発コストを大幅に削減し、製品品質を向上させることが可能です。
概要

Wind River Simics シミュレートシステム
フルシステムシミュレーション
Simics仮想プラットフォームを使うと、複数のハードウェアアーキテクチャを持ち、複数のリアルタイムOS(RTOS)を実行する複数のボードを搭載したシステムであっても、ターゲットシステム全体がシミュレートされます。Simics仮想プラットフォームは、単なる個々のプロセッサ、システムオンチップ(SoC)やボードではなく、ターゲットシステム全体のシミュレーションです。これにより、開発者、テスト技術者、インテグレータ全員がターゲットシステム全体にアクセスできるため、システムの個々の部分ではなく全体として、デバッグやテストが可能になります。

Simicsはすべてのハードウェアデバイスをシミュレートし、変更されていないターゲットソフトウェアスタック全体を実行
Simics仮想プラットフォームは高忠実度で、ハイパーバイザからアプリケーションまでのソフトウェアスタック全体を実行できます。ターゲットソフトウェアのスタブや再コンパイルは不要です。Simics仮想プラットフォームは、物理的なハードウェア上で実行されるものとまったく同じバイナリを実行します。
さらに、Simics仮想プラットフォームは高性能なため、実際のソフトウェア全体を実行できます。これは、Simics仮想プラットフォームをアプリケーションレベルの分析、テスト、デバッグに利用できることを意味します。逆実行やシステム保存/復元といったSimicsのユニークな機能により、わかりにくいバグの原因発見が簡単になります。
Simicsは、JTAGポートやソースレベルのデバッガから視認可能かどうかにかかわらず、ターゲットデバイス、レジスタ、または状態を観測できるようにします。さらに、テスト過程でこれらのデバイスにアクセスし、システムハードウェアの不具合をシミュレートすることも可能です。
Simics仮想プラットフォームはコンフィグレーションが簡単です。そのため、迅速な試作や、ハードウェアの変更によるソフトウェアパフォーマンスへの影響を素早く判断するといった作業に理想的です。さらに、仮想プラットフォームのさまざまなコンフィグレーションを多数保存しておき、後からアクセスすることができるため、顧客サポートなどの場合に非常に便利です。
Simics製品ファミリ
Simics製品ファミリには、以下のような製品があります。
- Wind River Simics Hindsight:システムモデルを実行するためのユーザインタフェースとシミュレーションフレームワークを提供
- Wind River Simics Ethernet Networking:仮想ボード間や、仮想ボードと物理ネットワーク間にネットワーク接続を実現
- Wind River Simics Accelerator:複数のホストCPUコアにシミュレーションを分散することにより、大規模なマルチボードシミュレーションのパフォーマンスを向上
- Wind River Simics Analyzer:ターゲットアーキテクチャやRTOSが混在し多数のボードから成るシステムでも、製品システム全体を分析できる機能を提供
- Wind River Simics Model Builder:ターゲットハードウェアの顧客独自モデルを構築可能
- Wind River Simics Extension Builder:顧客の特定のワークフローやニーズに合わせたSimicsフレームワークの拡張、適合、カスタマイズが可能
- Wind River Simics Virtual Platforms:マルチコア、マルチプロセッサ、マルチボードなど、あらゆる、ターゲットハードウェアシステムをモデル化したもの
Wind River Simicsを使用する理由
リスク軽減
- マルチコアなどの新しいテクノロジに付随するリスクを軽減
- ハードウェア入手遅延によるリスクを軽減
- さまざまな多数のボードで構成されネットワーク化された大規模な複合システムに付随するリスクを軽減
- 複数のターゲットアーキテクチャやターゲットRTOSが混在する製品に付随したリスクを軽減
- 重大なバグによるスケジュールリスクを軽減
市場投入までの時間短縮
- ハードウェア試作の繰り返しにかかる時間を削減
- 重大なシステムバグの識別と修正を迅速化
- 最初のハードウェア試作が入手可能になる前に、またはハードウェア設計が完了する前であっても、ソフトウェア開発を開始
- システムのすべてのコンポネントが揃う前に、システムインテグレーションを開始
- バグを再現しその原因を識別するためにかかる時間を短縮
- 製品リリース前からサポートエコシステムを構築
コスト削減
- 実験装置を仮想ターゲットに置換え
- 必要なハードウェア試作の反復回数を削減
- スタッフごとに必要なハードウェア試作の数を削減
- 物理的なハードウェアを開発チーム間で配送するコストを削減
品質向上
- 複数の仮想プラットフォームで実行することにより、回帰テストの実行にかかる時間を短縮
- ハードウェアの不具合挿入によるソフトウェア頑強性をテスト
- 仮想時間を加速または減速して負荷処理能力をテスト
- スクリプトの使用によりテストを自動化
- 顧客別に製品の複数のコンフィギュレーションを保持することが簡単なため、トラブルの対処やトレーニングを迅速化
- 組織全体で一貫したハードウェアセットアップを確保
エンジニアリング効率向上
- システム全体を完全にコントロールできるため、バグの発見と修正が迅速化
- エンジニア全員のデスク上に仮想ターゲットハードウェアがあるため、生産性が向上
- ハードウェア/ソフトウェアの共同開発を最適化し、短い時間で高品質なシステムを開発
- 開発プラットフォーム、またはフルシステムもエンジニア全員に提供
- 使いづらい物理ハードウェアでの作業で生じる、エンジニアリング上の摩擦を軽減
- Simicsホスト構成にかかわらず、モデル、チェックポイントファイル、プロジェクトをSimicsユーザ間で共有
- 仮想ターゲットの完全な視認性とコントロールが得られることにより、物理的なハードウェアによる制約を回避
- 場所、時間、ホストを問わず、バグを正確に再現
製品ライフサイクルの向上
製品開発の改良
電子システムの製品ライフサイクル全体にわたってWind River Simics仮想プラットフォームを使用することにより、リスク、市場投入までの時間、コストを大幅に削減することができます。また、製品全体の品質や、さまざまなエンジニアリングチームの効率も向上します。
Simicsは、お客様の製品開発を変容させます。この方法論の変革で活用するのは、仮想プラットフォームならではの特徴であり、物理的なハードウェアでは得られないものです。Simicsは、小回りのきくソフトウェア開発と反復的なソフトウェア開発手法を、ターゲットハードウェアとシステムの分野に拡大します。
Simicsは、電子システムの開発への「不可能な」取り組みを可能にします。製品の定義から開発、最終的な運用に至るまで、製品ライフサイクルのほぼすべての段階にわたり、Simicsを利用するメリットは及びます。
コスト削減と時間短縮
わずか数年の間に、電子システムは急激に複雑になりました。現在のシステムは、さまざまな種類のプロセッサ、オペレーティングシステム、アプリケーションスタックを使用しており、それらは最近まで、単一の製品やソリューションに統合されることはありませんでした。残念なことに、こうしたシステムでは複雑さも増大しているため、シングルプロセッサや基本的なクライアント/サーバアーキテクチャが原則だったときに改良された開発ツールやプロセスは、まだその複雑さに対応できていません。
仮想プラットフォームを使用した場合、35%から50%の実質的な開発コスト削減が可能であり、スケジュール的には20%から25%の時間短縮になります。これらの数値は、Simicsユーザからの報告と、業界で利用されているソフトウェア開発コストとスケジュール見積もりモデルの両方によって、裏付けられています。これらは、より早期に素早くバグを検出して修正する機能の改良と、ソフトウェアとシステム開発のタスクの並行処理を向上させることによって実現した数値です。
Simicsは、システム開発に一連の新機能や新たな視点を導入しているため、組織内で仮想プラットフォームを採用することは、プロセス改革への第一歩となるでしょう。活用するに従い、多くのモデルが生成され、開発者はSimicsでできることについてての理解が深まり、仮想プラットフォームを使用して得られる価値やメリットも大きくなります。
仮想は実物より優秀か?
仮想プラットフォームは、物理的なターゲットプラットフォームと単に置き換わるだけでなく、物理的なハードウェアでは不可能な開発技術やアプローチを可能にします。そうした機能には以下のようなものがあります。
- チェックポイント/スナップショット:実行環境をフリーズ、保存、復元、そして、一度も中断していないかのように再実行が可能です。
- 容易な共有、再利用、運用:モデルはコンピュータファイルであり、チェックポイントも同様です。
- フルシステムストップ:実行状態で全システムを瞬時にフリーズしてから、デバッグできます。
- Run-to-run再現性:一度バグを発見したら、それに続く次の実行でもう一度それを再現されます。
- 逆実行:問題の発生後であれば、解決するのは容易です。全システムを逆実行します。ハードウェアとソフトウェアのブレークポイントを使い、迅速にバグを発見します。
- システムの視認性、制御、不具合のシミュレート:開発者はあらゆる操作が可能です。すべてを修正、コントロールできます。
- スクリプトと自動化:仮想プラットフォームのデータストリーム、制御、対話を正確に自動化します。
- 柔軟性と拡張性:システム・コンフィギュレーションのスクリプトを修正することで、CPU数を変更したボードやボード数を変更したシステム、その他での実行、テストが可能に。
この仮想プラットフォームにより、マーケティング部門、ハードウェア、ソフトウェアの各部門は、文書によるやりとりに替わり、実践的でダイナミックかつ実証可能な方法で、システムアーキテクチャを定義できるようになります。
エンジニアは、以下のように、what-if分析を実行し、別のアーキテクチャを試すことができます。
- CPUで実行中のソフトウェアから別個のアクセラレータ(たとえばASIC、FPGA、PLCD)に機能を移行
- プラットフォームの数を変化させた場合の調査(たとえば、ルータ3台とスイッチ6台のシステム構成か、またはルータ2台とスイッチ7台のシステム構成か)
- シングルスレッドのプラットフォームからマルチスレッドのプラットフォームに移植した後、アプリケーションが正しく動作するかを検証
マーケティング部門は、プロジェクトのごく初期に、システムの動作する仮想モデルを見込み客に提示することができます。
- 提案された機能を顧客に実演し、その場で手直しが可能
- 使い勝手の問題を発見し修正
- 顧客固有の拡張性の問題を入念に調査
- 販売チームは販売契約を速やかに開始
仮想プラットフォームを前世代の製品に使用すると、システム設計過程で特に役立ちます。仮想プラットフォームの柔軟性と拡張性により、新しいハードウェアのコンフィギュレーションを作り出し、前世代のアプリケーションスタックと対照して検証できるのです。この手法により、プロジェクトのごく初期に生じるシステム設計やソフトウェアの問題の多くを、排除したり解決することが可能です。
ソフトウェアとシステム開発
ハードウェアの供給予定、デバッグ、統合、テストなどに関するエンジニアの日々の取り組みは、強気の開発スケジュール、増え続ける機能、組織のコスト削減策により複雑さを増しています。
Simics仮想プラットフォームは、単にハードウェアと置き換えるだけでなく、物理的なハードウェアではまったく不可能な「魔法のような」開発手法(たとえば、フルシステムストップ、run-to-run再現性、完全な視認性と制御、逆実行、チェックポイント、スクリプト/自動化)を実現することによって、こうした高度な問題を軽減します。結果として仮想プラットフォームは、ソフトウェアとシステム開発にとって、物理的なハードウェアよりも多くの点で優れていると言えます。実際、Simicsをほんの数週間使用しただけで、多くのソフトウェア開発者が仮想ハードウェアを手放せなくなります。
ソフトウェアのデバッグ
ソフトウェアのデバッグには、バグの再現、バグの隔離、そしてバグの修正という3つの段階があります。物理的なプラットフォームで作業する場合、この3段階を無事完了するには、開発者の高度な技術と経験が必要です。これに対しSimicsは、バグの再現を確実化し、バグの切り分けを飛躍的に簡素化するとともに、さらに、バグの修正を迅速化します。物理的なハードウェアでのバグの再現と隔離に、数ヶ月にわたって奮闘していたソフトウェア開発者が、Simicsを使ってわずか数日で解決したという例がいくつもあります。
物理的なハードウェアでバグを再現するには、システムやアプリケーションを何百回、何千回も再起動し、そのたびに、バグを誘発すると思われる一連の入力パラメータ、データストリーム、オペレータの動作などを変更して使用しなければなりません。
Simics仮想プラットフォームは違います。このプラットフォームは、各データストリームやI/Oパラメータをスクリプト化したりキャプチャーすることで、その後のすべての実行環境で何度でも再現可能な仮想世界を実現します。そのため、常に同じ地点から開始されるシステムは、すべてのシステム機能、タイミング、アクティビティ、結果を確実に再現します。たとえば、一度発生したバグは、既存のチェックポイント(スナップショットファイル)をロードして再実行するだけで、ごく簡単に再現できます。バグの発生を保証するチェックポイントファイルを使用することで、開発者は、ひとつのバグに取り組む世界中のチームメンバー全員と、共同作業を容易にできるようになります。
物理的なハードウェアのランダム性を望む開発者に対しては、仮想プラットフォームは別の「シード」値を提供できます。これは、一連の任意のシード値の完全な反復性を維持しながら、物理的なハードウェアと同じように、システムから異なる応答を誘発するものです。新たなシード値は、システムから異なる応答を誘発し、コーナーケーステストを行うために使用します。これらのシードは、手動、自動、または測定基準主導の検証技術を使用して提供されます。
バグを確実に再現できるようになったら、開発者はそのバグの原因を見つけ出す必要があります。従来のハードウェア中心のデバッグ方法では、反復アプローチが必要です。まず、最初のブレークポイントを設定して、システムが停止するまで実行します。システムが停止したら、標準的なデバッグツールを使用して、CPUレジスタやスタックを表示します。これらはすべて、問題がまだ起きていないかどうかを見つけ出すことが目的です。問題が発生していたら、以前ブレークポイントを設定した場所よりも前に別のブレークポイントを置き、アプリケーションまたはシステムを再実行します。まだ問題が発生していない場合、以前のブレークポイントより後にブレークポイントを設定して、アプリケーションを再実行します。この手法を使って、開発者は問題を起こしているソースコードの正確な行を見つけることができます。
逆実行が可能な仮想プラットフォームを使えば、デバッグの手順は完全に変わります。開発者は、問題の発生する時点がわかるという強みがあり、コードを逆方向に実行し、途中にあるハードウェアとソフトウェアのすべてのブレークポイントを観察して、正確な発生地点を迅速に見つけ出します。このようなアプローチは、物理的なハードウェアで必要な「推測/停止/再起動」を反復する手法を排除します。その代わりに、問題の発生後に始まり、バグが始まる地点で終わる、逆方向の線形経路を採用します。
Often the effort to fix a bug, whose source has been isolated, is much 原因を隔離したバグを修正する努力は、バグを再現し原因を隔離する努力よりもずっと小さくてすむ場合が多いものです。しかし、開発者は、チェックポイント、逆実行、run-to-run再現性など、バグの再現と隔離に役立つ機能をここでも利用することができます。
プログレッシブなシステム統合
物理的なハードウェアでは、各サブシステムの完成がまず必要で、その後他のサブシステムとの通信や対話が可能になります。しかしSimicsでは、各サブシステムのホワイトボックス機能を、システムの残りの部分を「だます」ために必要なレベルで複製する必要があるだけです。このレベル、つまり他のサブシステムが正常に機能するのに十分なレベルで、ホワイトボックス機能を提供するために必要な努力は、多くの場合、足りないサブシステムのソフトウェアを開発する努力よりも桁違いに小さくなります。
インクリメンタル・モデルの手法を賢く使えば、システム統合を仮想プラットフォームのみで開始し、仮想的なハードウェアと物理的なハードウェアの併用を経て、最終的にすべてのコンポネントが入手可能になったときに、完全に物理的なハードウェアに拡張することが可能になります。企業は製品を出荷した後、Simics仮想プラットフォームにより顧客固有のコンフィギュレーションをカプセル化できるため、高度な顧客サポートを提供できるだけでなく、実践的なトレーニングプログラムをより簡単に作成し提示することができるようになります。
顧客サポートの向上
多くのシステムでは、必要に応じてカスタムのコンフィギュレーションが可能です。例えばある顧客は、ルータ15台、スイッチ20台、ゲートウェイ10台を必要とします。他の顧客は、ルータ5台、スイッチ4台、ゲートウェイ1台しか必要としません。このスケーラブルなアプローチは、低コスト、高品質、製品の柔軟性を維持するためには優れていますが、一方で、顧客サポートチームにとっては問題となりえます。サポートチームは、専用のサポート装置を再構成して、ユーザ固有の装置設定をそっくり再現しなければなりません。この方法は費用がかさみます。専用の装置が必要であり、セットアップにおそらく数日を要し、重大なバグが修正されるのを待つ顧客をさらに待たせることになります。
サポートチームは、以下のような理由で仮想プラットフォームのメリットを得られます。
- 容易な構成/再構成:顧客が別のルータをシステムに追加する場合、わずか数分で、新しいデバイスを顧客固有のモデルに追加
- 素早い実行:数秒間で顧客固有のモデルをロードし実行
- 並行性:仮想プラットフォームは、「実際の」装置が稼働を続けている間でさえも、問題を複製するために使用できます。顧客のエンジニアと製品開発者は、同じ問題を見つけるために、同一のモデルとチェックポイントを使用して、並行して作業を行えます。
- 反復可能:仮想システムで問題を一度でも複製できれば、その後は何度でも複製が可能です。これにより問題の識別と解決が促進されます。
トレーニングプログラム
上記のような側面の大部分を、トレーニングプログラムで実現できます。仮想プラットフォームを使えば、カスタムトレーニングの作成、スクリプト化、中断、復元が翌日にでき、どのような場所にでも配信できます。
仮想プラットフォームのその他の利点として、どのようなタイプのシステム障害でも、研修生に提示できるということがあります。仮想プラットフォームの完全な制御と視認性のおかげで、トレーナーは、任意のデバイスを故障させる、データを破損する、データストリームを損傷させる、といったことが可能です。仮想システムは物理的なシステムよりもはるかにうまく、オペレータを実世界の状況に備えさせることができます。
カスタムのトレーニングプログラムを作成し顧客に届けることができるのと同様に、顧客に具体的なデモンストレーションを行うことも可能です。仮想プラットフォームがあれば、現場チームはラップトップだけを持って顧客の事務所に赴き、製品や具体的なコンフィギュレーションがどのように動作するかを、そのまま見せることができます。完全な自動化やスクリプトと組み合わせれば、遠隔地にいるアプリケーションエンジニアは、販売チームが簡単に提示できるようなデモを制作できます。
特定マーケットにおける課題
Wind River Simicsは、何千ものデバイスで構成される広範なモデルライブラリを有するため、どの市場向けにも有益なソリューションとなります。Simicsモデルライブラリは、AMD x86、ARM、Intelアーキテクチャ、MIPS、Powerアーキテクチャ、SPARC、さまざまなDSPなどのターゲットプロセッサをサポートしています。デバイスのモデルも広範に揃い、メモリ、UART、DMAおよび割り込みコントローラ、ディスクドライブ、PCI、MIL-STD-1553、SRIO、イーサネットなどが含まれます。さらにSimics Model Builderにより、ユーザはFPGAやASICなどの特定デバイスをモデル化できます。
航空宇宙・防衛
Simicsは航空宇宙/防衛市場が直面している主要な課題に対応します。この課題には、マルチコアなどの新しいハードウェアテクノロジの使用に付随するリスクの軽減、システムの複雑性、コントラクター/サブコントラクターとの関係、開発/テストチームが入手できるターゲットハードウェアに限りがあること、20年から30年の寿命を持つ製品の管理などがあります。さらに、(DO-178Bなどの)厳格なテスト要件は、プロジェクト完了にかかる時間を著しく長くする可能性があります。
ネットワーク
テレコムやデータ通信のインフラストラクチャ・システムは、大規模で複雑なハードウェアシステムです。典型的なシステムは、ホットプラグ可能な多数のボードを搭載したラック、または複雑なネットワークトポロジで接続されたスタンドアロンマシンのネットワークで構成されます。こうしたシステムの開発は、システムアーキテクチャ、ソフトウェア開発、ハードウェアとソフトウェアの統合、長期的なメンテナンスとテストが問題になります。Simicsは、開発者、テストエンジニア、システムインテグレータすべてに完全な仮想システムを提供すると同時に、必要とされる物理的な実験用ハードウェアの量を最小限に抑えることによって、お客様の資本設備にかかる費用を大幅に軽減させることができます。
インダストリアル
自動車、医療、工業用制御分野などのインダストリアル機器が、大規模なネットワーク接続型システムに属しているというケースが増えています。このため、大規模システムが存在しない状態でシングルボードを開発すると、大きなリスクが生じる可能性があります。多くの場合、こうしたデバイスの複数のコンフィギュレーションを、システムのさまざまなコンフィギュレーションと相互に作用させる必要があります。Simicsのフルシステムシミュレーション機能では、システム全体を視野に入れて製品を開発、デバッグ、テストすることができます。
半導体
半導体メーカーは、以前はすべてのソフトウェアタスクを開発者とユーザに任せて、シリコンさえ顧客に提供すれば十分でした。しかし、マルチコアSoCのようにシリコンが複雑になるにつれて、半導体メーカーは、ハードウェアテクノロジを特に活用するソフトウェアツールを顧客に用意することが必要だと気づきつつあります。さらに、市場で競争上の優位性を維持するためには、デバイスが供給可能になる以前より、ソフトウェアサポートのエコシステムを整える必要があります。Simics仮想プラットフォームを使うと、シリコンが供給可能になる12ヶ月以上前に、エコシステムを整備できます。これにより半導体メーカーは、シリコンが供給可能になるかなり前であっても、自社製品の採用を勝ち取ることが可能になります。
高性能コンピューティング
高性能コンピューティング(HPC : High-performance computing)やサーバのメーカーは、単一のコヒーレントシステムに何百または何千というプロセッサコアを搭載することにより、世界で最も有能なコンピュータシステムを生み出しています。HPC開発者は、プロセッサ、相互接続、I/Oシステムだけでなく、こうしたシステムを可能にするオペレーティングシステム、ドライバ、ソフトウェアスタックも設計しなければなりません。したがって、ハードウェアの発売と同時にこれら重要となるソフトウェアを提供できる能力は、市場における地位の維持と向上のためにきわめて重大になります。
Simicsは、HPCやサーバシステムの開発リスクと市場投入までの時間を削減できることが実証されています。ハードウェア設計と並行してソフトウェア設計、インプリメント、移植を実行できるようにすることで、新規または派生システムの市場投入までの時間を数ヶ月、数四半期、あるいは数年も短縮することが可能です。ブートプロセッサ上の最初のファームウェアから、OSのポートやアプリケーションソフトウェアの開発と検証に至るまで、Simicsは、より低リスクかつ高品質で効率的なソフトウェアの開発を実現する仮想環境を提供します。
サポート対象ターゲット
Wind River Simicsは広範なモデルライブラリを提供し、事実上どのハードウェアシステムのカスタムモデルでも、迅速かつ簡単に作成できます。Simicsモデルライブラリは絶えず変更されているため、最新の入手可能性についてはオンラインデータベースをご確認ください。お客様の特定デバイスのモデルがない場合でも、Simics Model Builderを使用してウインドリバーまたはお客様自身でモデルを作成できます。
Simics用にモデル化されているデバイスの一部を以下に列挙します。
Target Devices
|
ターゲットOS
|
ターゲットプロセッサアーキテクチャ
|
|
ウインドリバーの製品、サービスについてお気軽にご相談ください。
・Webフォームでのお問い合わせはこちら



