反復型開発モデルの開発手順
1. ランタイム環境には、カーネルやミドルウェア、検証済みのユーザコードといった、デバッグの必要のないモジュール群が動作しています。デバッグ対象のプログラムはタスク/モジュール単位で開発します。
2. コンパイル済みのオブジェクトプログラムを、動作中のランタイム環境にパーシャルロードします。
3. パーシャルロードしたオブジェクトを新規タスクとして動的生成します。
6. エディタなどを使ってバグを修正します。
7. 修正したコードをリコンパイルします。
8. バグ修正済みのオブジェクトを動作中のランタイム環境にリロードします。
9. リロードしたオブジェクトを新規タスクとして動的生成し、
12. デバッグの完了したオブジェクトをシステムに追加します (静的リンク) 。
13. タスク単位の検証が終わると、今度は
システム解析ツール (EvenTrek、PartScope、Realtime Profiler) などを使って、システム全体の検証を行います。このサイクルを繰り返してシステムの開発を進めていきます。
eT-Kernel Extended, eMCOS POSIX を使った場合の開発
eBinderは、eT-Kernel Extendedなどメモリ保護機能/プロセスモデル対応のリアルタイムOSを使った開発もサポートしています。eT-Kernel Extendedを使った場合の開発について、eBinderが提供する機能や特長などのポイントをまとめます。
プログラムローディング
eT-Kernel Extendedは、OS自身で動的にプログラムをロードするためのローダを持っています。このローダ機能を使って、プロセスとシステムプログラムをローディングできます。一方、その他のカーネルアプリケーションのローディングには、eBinderが提供するパーシャルロード機能を使うことができます。
デバッグ
eBinderのタスクレベルデバッガでは、eT-Kernel Extendedのプロセス内の個々のタスクをタスク単位でデバッグできるほか、プロセス内の全タスクを停止させるなどのプロセス単位のデバッグもできます。また、システムプログラムや共有ライブラリ、DLLなど、eT-Kernel Extendedが取り扱うすべてのプログラムのデバッグが、配置されているアドレスのことなどを意識することなく可能です。
システム解析
eT-Kernel Extendedを使った場合でも、システム解析ツール (EvenTrek、PartScope、Realtime Profiler) を活用できます。EvenTrekでは、プロセス内のタスク群のトレース情報と、システムプログラムなどのカーネルアプリケーション内のタスクのトレース情報などが取得できます。PartScopeでは、プロセスやロードしたモジュールの情報、プロセス内のタスク情報、プロセスが利用する各種のOS資源情報などが参照できます。
プラットフォーム開発支援
eBinderのプラットフォームパッケージ機能を効果的に活用できます。eT-Kernel Extendedが特に効果を発揮する、大人数での大規模なシステム開発における分散開発を支援します。プラットフォームパッケージ (PLP) の作成は、eT-Kernel Extendedに標準で含まれている、プラットフォーム作成用のテンプレート情報を利用することで容易にできます。
eT-Kernel MCE , eMCOS を使った場合の開発
eBinderは、シングルコア向けeT-Kernelと同様に、eT-Kernel MCEを使った開発もサポートしています。シングルコアプロセッサの場合と同様に、タスク単位の反復型開発モデルで開発を進められるほか、SPM/TSM両方のスケジューリングモードのタスク/プロセスのデバッグができます。
タスクレベルデバッグ
マルチコアプロセッサでは、タスク間の同期や排他の正確さが特に必要になります。タスクレベルデバッガを使うことで、こうした設計上の課題を解決できます。タスクレベルデバッガでは、タスク単位のデバッグができます。タスクごとにウィンドウを立ち上げ、システム全体を止めずに個々のタスクをブレークさせたり、ステップ実行させたりしながら複数のタスクの検証が平行してできます。True SMP Mode (SMP型スケジューリング) では対象のタスクが実行されているCPUコアを意識する必要なくデバッグできます。CPUコアが切り替わった時にはeBinderが自動的に追従するため、タスクのデバッグのみに集中できます。またSingle Processor Mode (AMP型スケジューリング) では、従来のシングルコアプロセッサの際と全く同じやり方でデバッグできます。
※クリックすると拡大画像が表示されます。
異なるCPUコア上のプログラム間やシステム全体の解析
eBinderのシステム解析ツールを使うことで、異なるCPUコア上で動作するプログラムの動きが、グラフィカルな遷移図で簡単に確認できます。プログラム間の協調動作の様子や、システム全体の動きを、俯瞰的に捉えることができます。下の図は、4つのCPUコアをもつマルチコアプロセッサ上で動作しているプログラムの解析結果を示したイベントログ取得/解析ツールEvenTrekの様子です。

※クリックすると拡大画像が表示されます。
4つのCPUコア上で動作しているプログラムの実行遷移図です。タスクやオブジェクトが動作しているコアの違いによって、色分けされています。
※クリックすると拡大画像が表示されます。
ある2つのCPUコア上で動作するタスクやオブジェクトの動きに絞って、グラフを表示したものです。このようにEvenTrekでは、特定のCPUコアにフィルターをかけて表示することができます。解析対象を絞ることで、動きが捉えやすくなります。
※クリックすると拡大画像が表示されます。
特定の1つのCPUコア上で動作するタスクとオブジェクトの動きに絞って、グラフを表示したものです。Single Processor Mode (SPM) で動作するプログラムを解析する場合は、通常この表示形態でデバッグを行います。シングルコアプロセッサ向けソフトウェア資産を移行する場合にも、この形態を使って動作確認ができます。
4. 開発スタイル
