...

GAIO CLUB 2008.02

by user

on
Category: Documents
58

views

Report

Comments

Transcript

GAIO CLUB 2008.02
■特集
単体テスト自動化システムの運用によるソフト品質改善
パイオニア株式会社に見る開発工程での単体テスト実施事例
■製品情報
カバレッジマスター winAMS 新バージョン 2.4 リリース
自動車向け仮想 ECU 検証環境 VECU-G VMPF-G MC-Checker
ソフト開発者向け メカ制御ソフトシミュレーション開発環境 G-VPM
本誌 「ガイオ倶楽部」 は、 ガイオテクノロジーが発行する、 組み込み開発者のための技術情報誌です。 日頃の皆様とのお打
ち合わせを通じて頂いた貴重なご意見や情報を、 ツールベンダーの観点から記事としてまとめ、 皆様の開発にお役立て頂ける
情報としてフィードバックさせて頂いております。 購読は無料です。 発送はお申し込み制となっておりますので、 ご希望の方は、
弊社 WEB ページよりお申し込み下さい。
*本誌は、 WEB からのお申し込み、 弊社開催のセミナーへご参加頂いた方に、 無料でお届けしております。
* 2006 年度より、 不定期発行 (年間 4 回程度) となっております。
*送付拒否などのご希望がございましたら、 [email protected] まで、 電子メールにてご連絡下さい。
[送付元] 〒 103-0013 東京都中央区日本橋人形町 3-12-8 ガイオ ・ テクノロジー (株) 営業部
特集
パイオニア株式会社に見る開発工程での単体テスト実施事例
単体テスト自動化システムの運用によるソフト品質改善
~自動化システムで工数をかけない反復単体テスト~
開発工程でのソフト品質管理や品質維持を目的として、 単体テストを開発工程に取り入れるプロジェクトが多くなってきました。
本稿では、 パイオニア株式会社 モバイルエンタテインメントビジネスグループ 川越事業所 技術統括部 メカ開発部様にご協
力を頂き、 単体テストの自動化によるソフト品質改善活動の事例について紹介いたします。
組込みソフト品質評価の現状
開発者任せのデバッグとテスト
最近の組込み機器開発においては、
組込みソフトの設計品質改善が、 共通
の課題となっています。 製品の機能のほ
とんどがソフトウエアで実装されるような
り、その裏側では、不十分なテストにより、
市場での問題も多く発生しています。
開発現場では、 デバッグ、 テストの工
程は相変わらず開発者任せになってい
ることが多く、 短い開発期間の中で、 開
発者各人の力量で開発が進んでいる
ケースが、 まだまだ多く残っています
のがほとんどです。 現状は、 ソフト開発
者がデバッグの一環として関数テストを
行っている程度です。
しかしながら、 ソフト実装量の増加に伴
い、 多くの開発人員が必要となった現状
では、 開発プロジェクト全体で、 開発し
たソフトや関数に対する品質を、 共通の
指標によって判断、 管理する必要がで
てきました。
自動車以外の分野でも、 ソフト品質管
理や改善のために、 「単体テスト」 を取
り入れるプロジェクトが多くなっています。
単体テストの目的は設計仕様と
実装コードの一致性の確認
最近脚光を浴びる 「単体テスト」
自動車制御ソフトの分野では、 古くか
ら必須事項として単体テストを実施して
いるケースが多くありますが、 その他の
製品分野では、 単体テストそのものの認
識が薄く、 開発プロセスから外れている
その他
2.6%
ハードウエアの不具合
20.6%
製品仕様の不具合
21.5%
本来、 関数は、 関数の詳細設計仕様
に基づいてコーディングされる物です。
そのため、 単体テストの目的の1つは、
関数の入出力テストによって、 基の関
数仕様と実装コードが一致しているかを
確認することです。 これは、 実装上のミ
スが無いことを確認し、 仕様定義通りに
正しく機能するかを評価することになりま
す。
ブラックボックスの観点で
関数の機能を評価
定義された
関数機能
ソフトウエアの不具合
55.3%
製品不具合の原因の半分はソフト実装バグによるもの
2
GAIO CLUB 2008 Vol.5
関数
詳細
仕様
一致性の
評価
base(int a, int b, int c)
{
if (a == 1)
{
if (b == 1)
{
idx = 0; // data[0]
if (c == 1)
pos = 0; // data[0].str[0]
:
:
}
// 結果の設定
data[idx].c = data[idx].str[pos];
value = data[idx].str[pos]; //- 1;
}
関数をブラックボックスとして仕様に対する 機能を評価
このためには、 設計仕様書を基に関
数入力データを想定し、 関数をブラック
ボックスとして、 仕様通りに関数が出力
を出すことを確認するテストを行います。
想定する入力データには、 仕様に定義
された範囲の値を網羅する様にテスト設
計し、 数値演算、 条件による判断など
が正しく行われることを評価します。
ソフトの品質評価には機能性
以外の堅牢性評価も必要
また、 関数の品質評価には、 仕様書
に定義されない入力条件に対する堅牢
性 (ロバスト性) の評価も含まれます。
上で述べた関数の機能性とは別に、コー
ディングされたロジックの中で、 ゼロ除算
や NULL ポインタアクセスに対する回避
コードが実装されて、 正しく異常を回避
できるかについても、 併せて評価する必
要があります。
また、 不要なコード、 意味の無いコー
ドが関数に紛れて残っていないかを確認
することも必要で、 これには、 実装した
コードを網羅的に実行するカバレッジを
適用して確認を行います。
ホワイトボックスの観点で
コード実装ミスを評価
base(int a, int b, int c)
{
if (a == 1)
{
if (b == 1)
{
idx = 0; // data[0]
if (c == 1)
pos = 0; // data[0].str[0]
:
:
}
// 結果の設定
data[idx].c = data[idx].str[pos];
value = data[idx].str[pos]; //- 1;
}
カバレッジ評価
デッドコード・
パス検出
永久ループ検出
「
機能性テスト」
の補完
ロバスト性(
堅牢性)
の評価
ゼロ除算
オーバーフロー
その他の
実装上の不具合
関数をホワイトボックスとして コード実装ミスを評価
「カバレッジ」 イコール
「ソフト品質確保」 ではない
パイオニア株式会社の
ソフト品質改善への取り組み
単 体 テ ス ト と い う と、 「C0、 C1、 C2、
MCDC」 のような 「カバレッジ」 を話題
にしがちですが、 基も厳しい C2 カバレッ
ジを満たしたからと言って、 ソフトに誤り
が無いことを裏付ける訳ではありません。
単体テストとは前述のように、 関数仕
様との一致性を評価し、 実装コードに誤
りが無いことを確認する作業です。 カバ
レッジテストを行うことで、 実装されてい
るコードの範囲であれば、 誤りが無いこ
とを実証することは可能です。 しかしな
がら、 仕様に定義された機能が関数に
漏れなく実装されているかどうかは、 実
装コードだけを相手にカバレッジを満た
して見ても検証することはできず、 やは
り仕様を基に判断をする必要があるのは
明らかです。
単体テストには検証すべきポイントが3
つあります。
ここからは、 パイオニア株式会社 モバ
イルエンタテインメントビジネスグループ
川越事業所 技術統括部 メカ開発部様
(以下、 パイオニア : 敬称略) のご協力
を頂き、 カバレッジマスター winAMS の
ユーザー事例をご紹介致します。
カバレッジマスター winAMS は、 パイ
オニアのカーナビ製品に使用する DVD
ド ラ イ ブ の 開 発 に 適 用 さ れ て い ま す。
DVD ドライブは一部外販も行われてお
り、 装置の中心的な部品として扱われる
ため、 高い信頼性を要求されます。
また、 市販カーナビの分野でトップシェ
アを持つパイオニアの企業目標として、
設計品質についてもトップでありたいと言
う意識が強くあります。
そのため、 この開発部署では、 ソフト
品質向上の取り組みの1つとして、 単体
テストが開発プロセスに組み込まれてい
ます。
・ 設計した機能が実装されているか
・ 実装時のミスによるデッドコード (あっ
てはならないコード、 分岐) がないか
・ コード上の不具合 (変数、 分岐条件、
演算過程での不具合) がないか
単体テストには、 これらの検証ポイント
に応じたテスト計画が必要になります。
製品要求仕様
製品機能定義
製品仕様設計
コーディング
コードレビュー・
静的解析
・所定の変数が参照/代入されているかどうか
・仕様書に記載されている機能が実現されて
いるかどうか
・仕様書に記載されている以外の機能が実装
仕様設計の
ミス・不具合検出
されていないかどうか
・所定の状態遷移が行われているかどうか
・所定のサブルーチンが呼ばれているかどうか
ソースコードの静的解析
コーディング上のミスを検出
ソフト(関数)詳細仕様に対する
機能性の評価
単体テスト
ここで開発されるソフトのほとんどは、
DVD ドライブのメカ制御に関するもので
す。 このためこの部署では、 メカ、 ソフ
トの開発が密接に開発が行えるよう、 同
設計仕様書を基に 関数の機能性を評価
製品
仕様設計の
ミス・不具合検出
システム設計
ソフト(
関数)
詳細仕様設計
ソフト開発の状況
実装上のミスの検出・評価
じ部署内に、 両方の開発者が所属して
います。
開発する DVD ドライブは、 搭載製品
の要求に対して仕様を変える必要があ
ります。 メカとソフトの密接な連携で、 こ
れを行いますが、 メカは変更が難しい
ため、 完成したメカに対して、 ソフトウ
エアでチューニングを加えることが多く
なります。
DVD ドライブは、 その機能性の基本
部分は同じであるため、 ソフト開発に置
いては、 基本ソフトとして開発された同
一のソースコードに対して、 要求に応じ
た変更を加える形で開発されています。
コーディングレベルでの人的ミス
排除に単体テストを適用
この部署でのソフト開発担当者は、 仕
様確定の後、 設計→コーディング→静
的解析 / コードレビュー→単体テスト→
結合テスト (1機能範囲) までを行い、
その後の結合システムテストは担当者全
員で、 また製品としてのシステムテストは
別の選任部隊が行っています。
過去の開発では、 単体テストのフェー
ズに関しては、 パスチェックを行うなどの
規定は設けてはいたものの各担当に任
されており、 検証方法は基本的に目視
チェックであったため、 同一の指標で全
てのソフトを評価することが難しい状況に
ありました。
過去のソフト検証の結果を見ると、 不
具合の主原因の1つとして、 コーディン
グレベルでの人的ミスによる物があり、 こ
れを結合テストの前で発見したいと言う
理由で、 単体テストに対する取り組みが
なされました。
パス カバレッジテスト(C0/C1/C2/MCDC)
・デッドコード(意味のないコード、分岐パス)検出
・永久ループの検出
・「機能性テスト」で網羅できない例外条件
実装コードに対する
ロバスト性評価
コード不具合テスト
結合テスト
システムテスト
システム動作
検証
・オート変数/静的変数の不定処理
・型変換時のキャストミスによるデータ消失
・ゼロ除算、NULLアクセスに対する回避コード
・配列、メモリーの不正アクセス
・再帰モジュールの有無
開発工程における単体テストの位置と 検証のポイント
チューニング
書き換え
ベースとなる
共通利用コード
ソースコード
人的ミス
発生
各製品への
実装コード
単体テストを適用して排除
コーディング時の人的ミスを単体テストで排除する狙い
GAIO CLUB 2008 Vol.5
3
「カバレッジマスター winAMS」 の
採用について
単体テスト自動実行システム【2時間毎に自動実行】
ソフト開発担当者
テスト実行スクリプト
(コマンドプロンプト バッチファイル)
単体テストツールとして 「カバレッジマ
スター winAMS」 を採用した理由と目的
をまとめると、 以下のようになります。
クロスコンパイル
ソースコード
ハードウエアに近いメカ制御ソフトのテ
ストには、 マイコン実コード検証が可能
な 「カバレッジマスター winAMS」 のツー
ルコンセプトが合っていました。
本稿では、 この中から特に、 テストの
自動化システムについてご紹介したいと
思います。
構成管理
ツール
登録
テスト指針書
●担当者毎に異なっていたソフト評価基
準を、 自動出力されるカバレッジ結果
で標準的な指標にできること
●マイコンシミュレータ (ISS) を使用する
ことで、 最も信頼性が高い実コード検証
ができること
●テストのためのコードの追加、 変更、
再コンパイルが不要で、 作業効率が良
いこと
●命令コードの実行時間が計測可能で、
これがメカ制御チューニングに利用でき
ること
●テストの自動化システムが構築できるこ
と
登録
テストデータ
作成
動して、 単体テスト実行を行い、 結果を
所定のフォルダに出力します。
メカ制御のチューニングのために、 同
一のソースを複数の担当者が変更した
場合でも、 その変更に対する影響が、
開発プロジェクトのどこに発生しているか
を、 2時間おきに確認出来ることになりま
す。 また、 各担当者は、 一度テストデー
タを作ってしまえば、 日々のテスト作業
から解放されるため、 開発の効率化にも
大きく貢献しています。
以上のように、 パイオニアでは、 独自
に構築した単体テスト自動システムによ
り、 日々の開発業務におけるソフト品質
確保を行っています。以前の、目視チェッ
クによる確認に比較すると、 自動化によ
り品質確認の工程は、 加速的に改善さ
れており、 大きな成果を上げています。
単体テスト自動化システムは
容易に構築が可能
各担当者が開発したソースコードに対
する単体テストデータは、 各担当者が
作成します。 この際には、テストの観点、
テストデータ作成、 スタブ関数の作成に
対して、 担当者毎のテスト品質の差が
少なくなるように、 テスト指針が設けられ
ています。
各 担 当 者 は、 仕 様 確 認 と ソ ー ス レ
ビューを終えた後、 開発したコードに対
する単体テストを行います。 指針に沿っ
たテストが出来ることを確認したら、 開発
したソースコードとテストデータを、 別の
1台の PC に構築した自動テストシステ
ムへ登録します。
自動テストシステムは、 2時間おきに
自動的に登録されたソースを再ビルド
し、 「カバレッジマスター winAMS」 を起
最後に、 ガイオから、 「カバレッジマス
ター winAMS」 の単体テスト自動化につ
いて紹介します。
GAIO CLUB 2008 Vol.5
入出力テスト結果
カバレッジ結果
期待値比較結果
パイオニアでの単体テスト自動化の概念図
単体テスト自動化システムで
ソフト全体の品質を定期確認
4
カバレッジマスター
単体テスト実行
ソースコード
テストデータ
チェックアウト
自動化システムと言うと、 大げさな印
象を与えますが、 実際は、 Windows の
コマンドプロンプトで実行するバッチファ
イルを利用して、 容易に構築することが
可能です。
処理の内容は、 まず、 Makefile を起
動して各担当者がサーバー上の所定の
フォルダにまとめたソースコードを再ビル
ドします。 その後、 「カバレッジマスター
winAMS」 のテストプロジェクトをコマンド
ラインから起動して、 順次テスト作業を
実行するようにします。
これだけで、 単体テストの自動化を図
ることが可能なのです。
さいごに
このように単体テストの自動化は、 複
数の開発者が関わるプロジェクトにおい
て、 1人の開発者による変更点が、 プロ
ジェクトのどこに影響するかを定期的に
把握する上で、 非常に有効です。
みなさまの開発におかれましても、 単
体テスト自動化システムの採用をご検討
下さい。
パイオニア株式会社 モバイルエンタテインメントビジネスグループ 川越事業所 技術統括部メカ開発部の皆様
取材協力 ・ 監修
パイオニア株式会社 モバイルエンタテインメントビジネスグループ
川越事業所 技術統括部 メカ開発部
氏家 敬明 (うじいえ たかあき)
製品情報
カバレッジマスター winAMS
組込み向け単体テスト自動化ツール
組込みソフト検証用 モジュール単体テスト / ユニットテスト 自動化ツール
組込みマイコンの実コードを使用して単体テストを自動実行
静的解析ツール 「CasePlayer2」 と連携して C1/MCDC の入力データ作成をサポート
自動車開発関連分野では デファクトツールとしてご好評を頂いています
クロス
コンパイラ
V2.4
新機能紹介
マイコンシミュレータ(IS S )
Obj
テスト結果・期待値判定
組込みマイコン
実装コード
評価対象の
ソースコード
静的解析ツール
C aseP layer2
関数が使用する
変数情報を解析
関数
解析情報
カバレッジマスター
C0/C1/MCDC
入力データ作成支援機能
入力データ
(仕様書から
手作業で作
成も可能)
カバレッジマスター
単体テスト
自動実行機能
カバレッジレポート
C0/C1 フローチャート表示
マイコンシミュレータ (ISS) を使用した
組込み向けモジュール単体テストツール
コントロールカバレッジ C0/C1/MCDC を満たす
品質の高いカバレッジテストデータを自動生成
「カバレッジマスター winAMS」 は、 クロスコンパイラで生成した 「実装
マイコンコード」 を評価対象として、 マイコンシミュレータ (ISS) で単
体テスト (ユニットテスト) 実行を行う仕組みを持つテストツールです。
C ソースの論理レベルでの単体テストに留まらず、 組込み特有のマイ
コンへの実装に依存した問題点を含めた、 信頼性の高いホワイトボッ
クステスト、 単体テストが行えます。
静的解析ツール 「CasePlayer2」 との連携により、 ソースコードの静的
解析を行うことで、 C0/C1/MCDC を満たすための最適化された入力
データを自動生成します。 開発ソース中のデッドコードを発見するため
のパスカバレッジテストが容易に行えます。
汎用的な CSV ファイルでテストデータを入出力
関数に対する入出力テストを実施するためのテストデータは、 汎用的
な CSV 形式のファイルで作成することができます。 テスト実行後の出
力データや、 期待値判定結果も、 同じフォーマットの CSV 形式のファ
イルで出力されます。
新機能2 : ソースコード上の C0/C1 カバレッジ表示に
加えフローチャート上にも カバレッジ結果を色表示
入出力テストを行うことで、 これによるソースコード上でのテスト網羅率
を示すカバレッジ結果を自動レポートします。 テストデータとソース上の
実行パスの対応を表示するビューを搭載しており、 テスト結果の解析
に利用できます。 V2.4 にて、 フローチャート上でのカバレッジ結果表示
機能をサポートしました。
新機能1 : コンパイラの最適化の影響を判断するために
カバレッジビューにマイコン実行コードを混在表示
カバレッジマスターは、 マイ
コンの実コード実際に実行し
て、 単体テストを行う仕組み
を 持 ち ま す。 こ の た め、 ク
ロスコンパイラの最適化によ
り、 Cソースと生成されたマ
イコンコードの不一致が起こ
る場合があります。 この影
響を判断するために、 V2.4
にて、 カバレッジビューに、
実行コードの混在表示を行う
機能をサポートしました。
テスト実行パスをフローチャート上でビジュアルに判断可能
カバレッジマスターは 単体テストツールの標準です
ガイオ ・ テクノロジー 営業部 鈴木 誠一朗
コンパイラが生成したデバッグ情報を基に
ソースと生成コードの対応を混在表示
カバレッジマスタ winAMS は、組込みソフト向けの単体テストツー
ルとして、 自動車制御ソフトの分野を中心に、 多くの組込み製
品開発に採用されています。 最新バージョン V2.4 では、フロー
チャート上にパスカバレッジ結果を表示することも可能になりま
した。 御社のソフト品質向上の一環として、 ご検討下さい。
GAIO CLUB 2008 Vol.5
5
製品情報
自動車ECUソフト検証ソリューション
ガイオでは V 字開発の ECU テスト工程において、 ソフト品質保証
の原点である関数モジュール単体テストや ECU 単体または複数の
ECU の結合システムの動作検証のために、マイコンシミュレータ(ISS)
を使用したソフトウエアシミュレータを展開しています。
仮想検証環境
仕様設計
車両仕様設計
実機検証環境
実車テスト
複数ECU
連携仮想検証
複数のECU間の
実コード連携検証
VMPF-G
ECU単体
詳細設計
ガイオシステムシミュレータを適用した SIL-S 環境では、 各社独自
仕様部分への柔軟な対応や、 HIL-S と比較してより低コストでの運
用が可能になります。 また、 各検証工程でのツールコアに同一のマ
イコンエンジン (ISS) を使用することで、 マイコンを取り巻く周辺デ
バイスの構成方法など、 各検証工程での検証用モジュールの共用
化やデータの流用などが、 容易に行えます。
HILS
HILS
HILS
ECU単体
実機(HILS)検証
ECU単体の
仮想検証環境
(SPILS)
ECU単体
仮想(SPILS)検証
共存
VECU-G
HILS
MC-Checker
コード生成
モデル/コードの
一致性確認ツール
コードレビュー
単体テスト
カバレッジマスター
winAMS
単体テスト
自動化ツール
ECU実装
VECU-G : 仮想 ECU 検証ソリューション
VMPF-G : 複数 ECU 連携検証ソリューション
ECU 仕様設計の段階で マイコン 実コードによる ECU 動作検証を実現
ECU 単体のソフトを、 ローコストなソフトウエアシミュレータ SPILS で検証
ハードウエア装置の実験室は不要! 開発場所を選ばない ECU 検証環境
実車テスト前の開発早期の段階で 複数 ECU の実コード連携動作検証を実現
SPILS によるハードウエア装置を使用しない 仮想検証環境
複数 ECU 連携検証を コストパフォーマンスの良い環境で実現
VECU-G は、 ハードウエア装置を使用しないソフトウエアシミュレータ 「SPILS
(Simulator based Processor In the Loop Simulation)」 を使用して、 ECU 単体の
ソフトウエアの検証を行うソリューションです。 MATLAB/Simulink 上に構築された
車両モデルに対して、 マイコン実装ターゲットコードをマイコンシミュレータ (ISS)
で実行することで、 ECU 単体のシステムシミュレーションを可能にします。 車両の
コントロールやパラメータ設定は、 dSPACE 社製の Control Desk を利用すること
ができます。
VMPF-G は、 ハードウエア装置を使用しないソフトウエアシミュレータ 「SPILS
(Simulator based Processor In the Loop Simulation)」 により、 ECU に実装する
実コードを使用して、 複数 ECU の連携動作の検証を行うソリューションです。 現
状、 実車 (相当の) テストでしか行うことができない、 複数の ECU ユニットを連
携させたテストを、 PC だけの仮想環境で行うことができます。 ECU 間の通信プロ
トコル検証や、 フェールセーフ機構の検証などを、 開発早期の段階で実現します。
ISS
(
仮想ECU1)
ISS
(仮想ECU2)
ISS
(仮想ECU3)
Simulink
車両モデル
テスト管理
同期管理
テスト
シナリオ
PC LAN
テストデータ情報/ISSと車両モデル接続 など
仮想
FlexRay
CAN
LIN
複数の ECU シミュレーションを各々別の PC に負荷分散しネットワーク接続した例
MC-Checker : モデル / コード一致性確認ツール
Simulink 車両制御の仕様モデル (M) と実装コード (C) を比較検証
マイコンの固定小数点演算による誤差の許容範囲を検証
モデルベース開発における モデルのマイコン実装時の問題を事前検証
MATLAB/Simulink仕様モデル
動作結果の比較検証
MILSで実行
ハンド
ハンド
コード
コード
オートコーダ
(ACG)
※dSPACE社
TargetLinkなど
オート
オート
コード
コード
マイコンシミュレータ
(ISS)
モデルを仕様書
として
開発したCコード
オートコーダー
により生成した
Cソース
クロス
コンパイラ
一致性を
一致性を
評価
評価
S-PILSで実行
Simulink 上の仕様モデル動作と ISS による実装ソフトの動作の一致性 (誤差) を検証
6
GAIO CLUB 2008 Vol.5
dSPACE 社 ControlDesk と MotionDesk を使用した例
G-VPM ソフト技術者向け 仮想搬送路シミュレータ
プリンタシステムなどの搬送路制御ソフト検証用シミュレータ
ソフト技術者が Visio を使用して 仮想HWとして使用する搬送路モデルを容易に構築可能
ソフト/メカ担当者との間の仕様コミュニケーションツールとして スタンドアロン動作も可能
G-VPM(Visual Paper/Path Mechanics) は、 複合機、 プリンタシステムなどの紙搬送制御ソフトの検証のための、 シミュレーション環
境です。 制御対象である紙搬送メカ部分のシミュレーションモデルは、 ソフト技術者自身が Visio を使用して、 簡単に作成することが
できます。 組込みマイコンコードは、 ガイオのマイコンシミュレータ (ISS) 「System-G」 で実行し、 これを Visio で作成したメカモデル
と連携させることで、 システムシミュレーションを可能にします。 ISS を使わず、 G-VPM 単独でのスタンドアロン動作も可能で、 ソフト
担当者とメカ担当者間の、 仕様コミュニケーションツールとしても使用できます。
ソフト技術者自身がメカシミュレーションモデルを作成可能
Visioの2Dイメージから3Dのシミュレーションモデルを生成
制御対象となる紙搬送メカのシミュレーションモデルは、 操作が容易な Microsoft
社製 Visio2007 を使用して、 2D イメージで作成します。 専用のステンシルを使用
して、 搬送路の距離、 モータ、 ローラやセンサなどの平面図上での位置関係を
定義するだけで、 紙搬送メカの定義が可能です。
Visio で定義された 2D イメージの位置情報データから、3D イメージのシミュレーショ
ンモデルを自動生成します。 シミュレーション中の紙の流れを、 よりビジュアルに
捉えることが可能です。 また、 グラフィックアクセラレータ搭載のPCを使用するこ
とにより CPU 負荷を軽減し 3D イメージを高速で描画する事が可能です。
シミュレーション結果を基にパラメータの再定義
Visioで作成した2Dの紙搬送メカ構成図
簡単に搬送路(
メカ)
を定義してモデル化
Visioのデータから自動生成される
3Dイメージのシミュレーションモデル
マイコンシミュレータ (ISS) とメカモデルの連携動作で
実機テスト前に仮想モデルで組込ソフトの検証可能
開発の初期段階ではスタンドアロン動作により
ソフト ・ メカ担当者間のコミュニケーションツールとして
作成した紙搬送メカモデルとマイコンシミュレー
タ (ISS) を連携動作させることで、 紙搬送制
御モデルのシステムシミュレーションを実現し、
手軽に制御ソフトウエアのデバッグ、 検証が行
えます。
マイコンシミュレータ (ISS) との連携には、 組
込みシステム統合検証環境 「No1. システム
シミュレータ」 を使用することにより、 ビジュアラ
イズされた専用エディタで簡単に G-VPM メカモ
デルとシミュレーションモデルを構築する事が可
能です。
メカシミュレーションモデルは、 ISS に接続せず、 スタンドアロンでアニメーション
動作させることも可能です。 開発初期段階でのソフト担当者とメカ担当者間の、
仕様コミュニケーションツールとして利用可能です。
スタンドアロン動作は、 簡易マクロ実行モードによる動作とダイレクト操作モードに
よる動作モードがあり、 簡易マクロ実行モードではソフト技術者が簡単な専用マク
ロ言語により複雑な紙搬送動作まで作成可能。 また、 ダイレクト操作モードでは
マクロを書かなくても駆動部品は3D画面上でダイレクト操作可能で簡単に紙の搬
送がチェック可能です。
設計の初期段階でソフト ・ メカ設計者間で共通のツールを使用して搬送路の検討
することにより、 設計ミスを未然に防いだり、 設計レベルの共有化を図る事にも
利用可能です。
組込みソフト仮想検証環境を幅広く提供しています
実機で実行が困難な事象や、
繰り返しなどのテスト環境にも利用可能
紙搬送メカモデルとマイコンシミュレータ (ISS) を連携動作させることで、 繰り返
しのテストや仮想メカの各種部品のパラメータを可変にする事により実機では実
行困難なテストを行うことも可能です。
ガイオ ・ テクノロジー ツール事業部 清水 光宏
ガイオはマイコンシミュレータ (ISS) をコアとした、 組込みソ
フト検証シミュレータ 「No.1 システムシミュレータ」 を提供し
ています。 Release.2 では、 最新 Windows 技術を駆使して、
実行パフォーマンスの改善を図りました。 皆様のソフト品質改
善にお役立て下さい。
GAIO CLUB 2008 Vol.5
7
セミナー情報
ガイオ セミナースケジュール
弊社製品をご体験頂くための定期セミナーを設けております。 ツール製品導入検討のために、 ご参加をお奨め致します。 各コース
の最新情報につきましては、 弊社WEBページバナーの 「セミナー ・ イベント」 から、 ご覧いただけます。 http://www.gaio.co.jp/
コード
セミナー名
セミナー内容・
受講対象者
モジュール単体テスト 特別有料セミナー
TEST1
1日コース:10:00~17:00
すぐに役立つ!! 単体テスト
スキル向上実践セミナー
カバレッジマスターwinAMS 定期セミナー
開催予定日
有料:
1名様 ¥73,500(
税込)
ソフト品質向上を図る、モジュール単体テスト実践のスキルを高めて頂
くことを目的としたセミナーです。一般的なソフトウェアテストの抽象的な
セミナーとは違い、モジュール不具合の検出漏れを防ぐ、単体テスト設
計や品質向上、障害を検出した場合の修正プロセスなど、単体テスト
実践に必要な要素を具体的にご紹介致します。
※専門講師による 有料セミナーです。
半日コース:13:00~17:30
CM1
モジュール単体・カバレッジ
テスト入門コース
CM2
「カバレッジマスター」
ユーザー向け応用コース
「カバレッジマスターwinAMS」をご利用の方を対象とした、組込み系単
体テストに関する上級コースです。効率的なテスト方法、テストデータの
作成手法、RTOSのシステムコールを含むソースコードのテスト手法な
ど、実践的な学習が可能です
【受講対象者/参加条件】
本コースは、「カバレッジマスターwinAMS」のユーザーを対象とした、テ
クニカルサポートを中心とする講座です。導入教育としてのご利用も可
能です。詳細は、営業部までお問い合わせ下さい。
Auto1
自動車向け仮想ECU複合
検証セミナー
3/7(金)、3/14(金)
3/21(金)
※2008/4月からの開催日程は、
WEBサイトをご覧下さい。
※2008/4月からの開催日程は、
WEBサイトをご覧下さい。
受講無料
自動車ECUソフト開発、検証を対象とした、モデルベース開発における、
検証技術に関するセミナーです。自動車向け組込みソフトウエア開発
に関する動向や、オールシミュレーションによる仮想ECU複合検証の手
法とその運用に関するポイントを解説致します。
OA機器開発向け ソフト検証 定期セミナー 半日コース:13:00~16:00
※2008/4月からの開催日程は、
WEBサイトをご覧下さい。
受講無料
本コースは、モジュール単体テスト、カバレッジテスト入門体験コースで
す。シミュレータ環境について、全く知識のない方でも受講頂けます。こ
れから、モジュール単体テストを開発に適用する計画をお持ちの方の
ご参加をお待ちしております。
【参加条件】
実習では、サンプルC言語ソースコードを使用します。
C言語によるプログラミングの知識が必要です。
自動車向け 仮想ECU複合検証定期セミナー 半日コース:13:00~17:30
3/11(火)
3/13(木)
※2008/4月からの開催日程は、
WEBサイトをご覧下さい。
受講無料
OA4
仮想搬送路モデリング実習
セミナー
OA機器を対象とした紙搬送メカ制御ソフトの検証に使用する、仮想紙
搬送モデルの構築と、これを用いた制御ソフトのシミュレーションによる
検証を体験頂くセミナーです。仮想搬送路メカ制御シミュレータ「GVPM」を使用した、体験実習が含まれています。
OA1/2
実機レスのための仮想複合
検証セミナー
プリンターや複合機などOA(オフィスオートメーション)機器開発における、
実機レス開発実現に重要な役割をはたす「仮想複合検証」の現状と今
後について、業界の動き、技術的な到達度、今後の技術課題、業務適
用にむけてのとりくみなどを、デモをまじえながらご説明いたします。
※開催日程は、WEBサイトをご覧
下さい。
OA3
ASIC開発のための仮想複合
検証セミナー
ASIC/SoC開発における実機レス開発、はASIC、ソフト並行開発実現に
重要な役割をはたす「仮想複合検証」の現状と今後について、業界の
動き、技術的な到達度、今後の技術課題、業務適用にむけてのとりく
み、などをデモをまじえながらご説明いたします。
※開催日程は、WEBサイトをご覧
下さい。
No.1 システムシミュレータ セミナー
半日コース:13:00~17:00
3/19(水)
※2008/4月からの開催日程は、
WEBサイトをご覧下さい。
受講無料
SS1
システムシミュレータ
入門コース
組込みソフト品質改善を狙いとした、システムシミュレータ適用入門コー
スです。マイコンシミュレータの仕組みや、適用サンプルを用いたシミュ
レータの導入効果について体験頂けます。受講資格に特に制限はあり
ません。
※現在、定期開催は行っておりま
せん。開催につきましては、営業部
までお問い合わせ下さい。
SS2
システムシミュレータ
環境構築応用コース
「No.1システムシミュレータ」のユーザーを対象とした、テクニカルサ
ポートを中心とする講座です。自動車開発、OA機器、一般組込み機器
など、分野別のカリキュラムを用意しています。組み込みシステムをシ
ミュレーションするための仮想HW作成手法や、他のシミュレータとの連
携による「コ・シミュレーション」手法について学習できます。
※現在、定期開催は行っておりま
せん。開催につきましては、営業部
までお問い合わせ下さい。
【お申し込み方法】 セミナー名、 開催日時、 貴社名、 ご部署名、 参加者全員の氏名を明記の上、 電子メールにて、
[email protected] までお申し込み下さい。 最新情報は、 弊社 WEB サイト http://www.gaio.co.jp をご覧下さい。
ガイオ倶楽部 (2008 年 Vol.5 : 2008/2/25 発行) *不定期発行
制作 ・ 編集 ・ 発行 : ガイオ ・ テクノロジー株式会社 営業部 マーケティング グループ
〒 103-0013 東京都中央区日本橋人形町 3-12-8 TEL: 03-3662-3041 FAX: 03-3662-3043 WEB : http://www.gaio.co.jp/
編集 ・ 発行人 : 岡田 利一 
Fly UP