Real-Seriesの原型は、組込みソフトウェア開発の現場でアイ・エル・シーのエンジニアが自作していたユーティリティモジュールにあります。これは、表計算ソフトを使用して作成した状態遷移表をCソースコードに生成するもので、Real-Seriesの基本構造となっています。さらにこの基本構造を活かし、デバッグ機能が開発されました。
このような経緯により、Real-Seriesは現場重視の本当に使えるツールとして、世に登場しました。 この他にも、状態遷移表のエラーチェック機能やExcelへのエクスポート機能、デバッグ用の仮想操作パネル作成機能など、組込みソフトウェア開発に携わっている方にきっと喜んでいただける機能が、Real-Seriesには搭載されています。

Real-Seriesで作成した状態遷移表の情報は、C言語ソースコードとして生成されます。このとき生成される情報は、あえて「状態遷移テーブル」と「イベントハンドラ」までを対象として、ツールの導入障壁を低くしています。 また、ソースコード上で変更した「関数コメント」と「状態遷移先」情報を状態遷移表にリバースできるので、デバッグや評価など、ソースコードを直接修正しなければならない場面で、ツールを開く必要がありません。
ソースコードの修正完了後、Real-Seriesにてリバースを実行すれば、ソースコードと設計書(状態遷移表)が同時に出来上がることになるため、開発完了時にすぐに完成図書を提出することが可能です。ソフトウェア設計者は、開発終了と同時に次期開発に移行することができます。
Real-Seriesの大きな特長のひとつが、自動カバレッジデバッグ機能です。作成したアプリケーションの遷移状態がリアルタイムに遷移表に反映され、またその遷移結果は自動保存されます。従来、カバレッジは紙面上での塗りつぶしが大半でしたが、Real-Seriesでは、パソコン上の単体デバッグ、実機上の組み合わせデバッグのどちらでも、カバレッジを自動記録・保存できます。 また、状態遷移表をExcelへエクスポートする機能も備えているので、状態遷移表のデバッグ塗りつぶし結果を報告書として作成することができます。

デバッグ操作手順があらかじめ決まっている場合は、Real-Seriesを使って、デバッグ用のイベント発行シーケンス「デバッグシナリオ」を作成できます。作成した「デバッグシナリオ」を選択して実行ボタンを押せば、Real-Seriesがデバッグ操作を自動実行します。
また、手動でのデバッグ操作時にはデバッグログが自動的に保存されるので、不具合発生時にデバッグログから操作手順を再現可能です。さらにデバッグログからデバッグシナリオを作成し、不具合箇所の修正確認操作や、アクセプタンステストを自動実行することもできます。複数のデバッグシナリオを連続して実行することもできるため、テスト時の操作の組み合わせや、 連続試験などを含めたテスト自動化の幅が広がります。
Real-Seriesの設計情報からイベント送受信のスケジュールを自動生成することができます。
また、組み合わせタスクとのシーケンスを模擬(簡易スタブ)することで、パソコン上での単体デバッグを簡単に行えます。
Real-Seriesでの作業の中心となる状態遷移表設計は、ソフトウェア設計者の観点から、パソコンのキーボードだけで操作ができるようになっています。マウスに手を伸ばすことなく、状態遷移設計に集中することができます。 また、状態遷移表に対応するソースコードを任意のテキストエディタで開くことができます。F12キーを押すと選択状態のセルに対応したソースコードが開き、自動的に該当関数にジャンプするため、状態遷移表を確認しながらのプログラミングが可能です。
キー操作 | 動作 |
---|---|
F2 | セルを順次編集状態にする |
F12 | テキストエディタを起動してソースコードを表示する |
Ctrl+Shift+T | 遷移動作を状態遷移にする |
Ctrl+G | ソースコードの生成を行う |
Ctrl+T | デバッグを開始する |
通信モジュール(RD-LIB)は容易に組込可能です。 RD-LIBはマルチプラットフォームなコンパクト通信ミドルウェアです。各プラットフォームへの移植を容易にする抽象化I/F FPI(FACTICS-Suite Platform Interface)を提供しており、OS/ハードウェアに依存する処理を記述します。Windows版のサンプルプログラムが同梱されておりわずか数日で組み込むことができます。
また、ミドルウェアと言っても1.5KB程度のコンパクトなモジュールであり、組み込み機器の性能やリソースをおびやかすものではありません。従来のデバッグ用通信の仕組みと同程度の処理を組み込むだけになります。
FPIのおもな機能
- イベント送受信処理
- イベントの送信・受信を行うためのOSの機能・ハードウェア機能等を記述します。 イベントフラグを用いたイベント通知、セマフォを用いた排他制御などを記述します。
- デバッグ用文字列の送信処理
- デバッグを行うためのOSの機能・ハードウェア機能等を記述します。 開発対象機器のハードウェア構成に従って、シリアル通信/イーサネット通信等の通信処理を記述します。
- 排他制御処理
- 状態遷移ハンドラ実行処理に排他制御を行うために必要なOSの機能・ハードウェア機能等を記述します。 セマフォを用いた排他制御などを記述します。
Real-Seriesでは、状態遷移表のセル内で条件分岐することができるため、分岐により状態数の増加を防ぐことができます。
Real-Seriesでは、状態遷移表において、ある状態に遷移したときに共通して実行する前処理、および、ある状態から抜けるときに共通して実行する後処理を記述することができます。 また、ある状態遷移表とそこから派生させた状態遷移表との間では、共通部分の処理を共有できます。これにより同じ処理を状態遷移表ごとに記述する必要がなく、無駄を省くことができます。
Real-Seriesでは、デザイン化されたボタンを用いて実機の画面と同様のデバッグ画面を作成することができます。これにより、実機の画面と同じ操作感でデバッグできます。
Real-Seriesでは、プロジェクトデータをLAN上で共有する同時開発手法をサポートしています。また他のプロジェクトから画面遷移表をインポートすることができます。