Comments
Description
Transcript
組込みソフトウェア開発用統合化CASEツール ZIPC 2000
技術情報 組込みソフトウェア開発用統合化CASEツール ZIPC R 2000 キャッツ株式会社 「拡張階層化状態遷移表設計手法 Ver.2.0」を採用し,ソフトウェア 開発の中流局面を支援するCASEツールです。上流/下流局面に ついては,他ツールとの連携により支援します。 のにもっとも有効な手段だからです。組込み(リアルタイム)システ 概 要 ムでは状態モデルが重要になります。外部事象に対して即座に反 応することが重要であり,これを表現するためには,状態遷移図 組込みシステムのソフトウェアは,大規模化・複雑化しているにも や状態遷移表が最適な設計方法となります。ZIPCではオブジェク かかわらず,開発期間は短縮し,コスト削減も求められています。 ト指向へのアプローチとして,オブジェクト指向のCASEツールとし では,現在の開発スタイルで,時間がかかっている部分はどこでし て支持されているRational Roseと連携しています。Roseでオブジ ょうか。デバックの工程で不具合の解析や改修に手間取り,多大 ェクト設計をし,Roseで作成したSC(State Chart)をZIPCのド な時間を費やしているという声を多く聞きます。不具合の原因を解 キュメントにコンバートすることで,それ以降はZIPC環境で開発す 析していくと,仕様・設計段階に起因しているものも多く,そういう ることができます。それぞれのツールの得意分野を活かすことで, 不具合ほど,解析や改修に多くの時間が必要です。 より柔軟な開発環境となります。 このような不具合の原因としては,仕様や設計段階では道筋だ 機 能 けを決め,細かいことは作りながら決めてしまうという開発スタイル が考えられます。また,仕様や設計段階では,作ったもの(仕様 書,設計書)を実際に動かして検証できないことも,不具合を見 図1にZIPC 2000の構成を,図2にZIPC 2000の画面を示しま つけにくくしている原因と考えられます。この問題を解決するため す。ZIPC 2000は,次の7つの機能と4つのオプションから構成さ には人手だけでは限界があり,CASEツールを適用した開発環境 れています。 が求められています。 ZIPCでは,設計段階での不具合を防ぐために状態遷移表を採 機能 ・エディタ 用しています。状態遷移表ではプログラムの事象と状態の組合せ ・チェッカ がすべて見えるため,処理の漏れ・抜けが激減します。状態遷移 ・シミュレータ 表を作るのが大変な方には,状態遷移図も用意しています。状態 ・VIP 遷移図で設計し,状態遷移表にコンバートすることで,事象と状態 ・ATV の組合せを潰すことができます。シミュレーションでは,状態遷移表 ・ジェネレータ を動かすと同時にバーチャル・ターゲット(Microsoft Visual ・リバース Basic/Visual C++にて作成)を動かすことで,設計段階でデバ オプション ックができるため,これから作るプログラムの品質を設計段階で上 ・VisualSpecオプション げることができます。また,設計が完了してコードを作成する段階 ・Roseオプション では,ジェネレータが状態遷移表からコードを自動生成します。状 ・FJVPSオプション 態遷移表のメカニズムは完全自動生成のため,開発者の負担を軽 ・エミュレータオプション 減すると同時に,コーディング・ミスなども軽減します。 最近では,組込みの世界でもオブジェクト指向の声を聞くように エディタ エディタにより,次の6種類のドキュメントが編集できます。 なりました。これは,オブジェクト指向が部品の再利用による生産 ・TRD(Task Relationship Diagram) 性の向上や,情報隠蔽(カプセル化)による品質向上を実現する ・拡張階層化状態遷移表設計手法 Ver.2.0に準拠したSTD FIND Vol.19 No.1 2001 25 ZIPC R 2000 図1 ZIPC 2000の構成 Rational Rose Cソース ファイル VisualSpec ジェネレータ Visual Spec オプション エディタ リバース Rose オプション シミュレータ チェッカ ATV VIP ZIPC 2000 エミュレータ オプション FJVPS オプション バーチャルターゲット VB バーチャルターゲット VC++ バーチャルターゲット FJVPS シミュレータ SOFTUNE (State Transition Diagram) ・拡張階層化状態遷移表設計手法 Ver.2.0に準拠したSTM (State Transition Matrix) ・MSC(Message Sequence Chart) Cコンパイラ 拡張階層化状態遷移表設計手法 Ver.2.0に準拠したSTMメカニズム の完全自動生成により,並列状態のディスパッチ機構が生成されるの で,単純なRTOSは不要となります。RTOS依存部やCPU依存部など は,置換生成により対応できます。ユーザが作成するプログラム(例 ・TC(Timing Chart) えばアセンブラ等で記述したモジュール)などと一緒にコンパイルして, ・テキスト 実行モジュールを作成することを前提としていますから現実的です。 それぞれのドキュメントエディタはOLE2対応ですから,MS Wordなどのワープロソフトに貼り付けることができます。 リバース CASEツール環境では,コードを直接変更するのではなく,設計 チェッカ 書を変更してコードを再生成するのが本来の使い方です。しかし, 作成されたドキュメントは,チェッカにより構文・整合性チェックが コードを現場で変更してしまった場合でも,コメントをZIPCリバース 行われます。マルチタスクの場合は,タスク間の整合性もチェックす のルールに合わせて記述しておけば,CコードからSTMを逆生成 ることができます。 することができます。 シミュレータ VisualSpecオプション 作成されたSTMを,シミュレータを使ってシミュレーションすること VisualSpecオプションを使用することにより,ハードウェア/ソフト ができます。RTOS(Real Time Operating System)にiTRON ウェアの 協 調 設 計 が 可 能なS p e c C 言 語を採 用したツール 2.0を使用している場合は,システムコールをシミュレータがシミュレー 「VisualSpec」で作成した仕様モデルから,ZIPCのSTMにコンバ ションします。ほかのRTOSを使用している場合は,システムコール 26 デバッガ ートすることができます。 名や引数をユーザがカスタマイズできます。RTOSを使用していな Roseオプション い場合でも,STMのシミュレーションは行えます。 Rational社製Roseでオブジェクト指向分析・設計を行って作成 ATV したSC(State Chart)を,RoseコンバータによりZIPCのSTDま ATVをシミュレータと一緒に使用することで,自動試験・検証が たはSTMにコンバートすることができます。これにより,SCで表現 できます。これにより,同じ手順の試験を自動的に実行することが された動的モデルをZIPCの世界で使用することができます。また, できますから,工数削減・品質向上が実現できます。 Roseオプションを組み込むことにより,Roseが生成したC++スケル VIP トンコードへのZIPCコードの埋込みや,STMからのC++コード生 VIPとシミュレータを一緒に使用することで,ビジュアルプロトタイピ 成が可能となります。 ングがコードレス,ターゲットレスで実現できます。これにより,企画/ FJVPSオプション 営業/エンドユーザと,仕様の確認を誤解なく進めることができます。 FJVPSオプションは,実機の3D CADデータを使用することによ ジェネレータ り,仮想メカシミュレーション環境を実現します。これにより,メカ設 ジェネレータによりANSI C準拠のCソースコードが自動生成されます。 計とソフトウェア設計を同時に行うことができます。 FIND Vol.19 No.1 2001 ZIPC R 2000 エミュレータオプション 図2 ZIPC 2000の画面 コンパイル,リンクによりでできあがった実行モジュールは,デバッ ガでダウンロードされます。この際,エミュレータオプションが対応し ているデバッガであれば,STMレベルでデバッグを行うことができま す。 富士通製ツールとの連携 図3にZIPC 2000と富士通製ツールとの連携を示します。 ZIPCシミュレータは,RTOSを含めて設計書シミュレーションを行う ことができますが,REALOSにも対応しており,REALOSを含めた シミュレーションも行うことができます。また,ZIPCシミュレータでもOS の資源を静的に登録しますが,この情報はそのままREALOSのコ ンフィグ情報として引き継ぐことができるため二度手間になりません。 ZIPCジェネレータは,自動生成したソースファイルやOSの設定情 報をもとに,Softuneのプロジェクトファイルを生成することができます。 ZIPC VIPとSoftuneシミュレータを接続すれば,Microsoft Visual BasicやMicrosoft Visual C++で作成したバーチャルター 図3 ZIPC 2000の富士通社製ツールとの連携 バーチャル ターゲット ゲットを使って,Softuneシミュレータ側で動作する実際のプログラム に対して,割込みやI/Oの設定を行うことができます。つまり,ター ゲットが完成していない状態でも,実機に近い動作確認が行えるよ ZIPC VIP SOFTUNE ZIPC ジェネレータ うになります。使用するバーチャルターゲットは,ZIPCの設計段階 で作成したものをそのまま使用することもできます。 ZIPC エミュレータ ZIPCエミュレータとSoftuneシミュレータ,エミュレータを接続する ことにより,「ソフトウェアは目に見えないから分かりにくい」というこ とはなくなります。ユーザが作成したプログラムが,現在どの状態 にいて,どの事象を受け取って,どの処理を行っているかという動 ZIPC シミュレータ REALOS 作を,リアルタイムに確認することが可能となります。 また,STM上のセルに直接ブレイクポイントを設定することができ るため,特定の状態下で特定の事象が発生した時に,プログラム をブレイク停止させることができます。 C言語が普及した当初は,デバッガがC言語レベルでデバッグで きず,コンパイラが生成したアセンブラでデバッグしなければならな いことが不便でした。CASEツールも同様で,Cソースコードが自 動生成されるのであれば,設計書でデバッグできればより快適な環 境となるのです。 連携の一環として,富士通製F 2MC-16を使用して模型の車を 実機に見立てたデモセットを開発し(写真1),お客様への開発 環境のアピールも進めています。このデモセットは,UMLで分析し, ZIPCで設計・シミュレーション・実装をし,Softuneを使ってコンパ イル・デバッグするという「上流・中流・下流局面」の開発サン プルとなります。 ■ 写真1 デモセット *ZIPCはキャッツ社の登録商標です。 *Rational RoseはRose社の登録商標です。 *Microsoft Visual Basic,Microsoft Visual C++,MS Wordは米国 Microsoft Corporationの米国およびその他の国における登録商標です。 *Softune,REAROSは富士通の登録商標です。 *VisualSpecは㈱東芝の商標です。 〈お問い合わせ先〉 キャッツ株式会社 TEL:045(473)2816 FAX:045(473)2673 Email:[email protected] URL:http://www.zipc.com/ http://www.cats-hd.co.jp/ FIND Vol.19 No.1 2001 27