ZIPC V10
導入実績 No.1を獲得し続ける
状態モデリングCASEツールの決定版
導入実績 No.1を獲得し続ける
状態モデリングCASEツールの決定版
近年の組込みソフトウェア開発では大規模化、複雑化が急速に進んでいます。 従来の開発では基本ケースの設計が中心となり、異常ケースや例外ケースの設計にモレ抜けが発生しやすく、文章やフリーフォーマットによる設計では不具合に対してコードのみに修正を行い、設計書との乖離が起こりがちです。 また、実装するまで動的な検証することができずプログラムの作成後、初めて不具合が顕在化して大幅な手戻りで開発工数のロスが発生してしまいます。 機能安全のような規格を満たす必要のある分野は勿論のこと、大規模化、複雑化に対応するには形式的または半形式的な表記で設計を行う必要があります。
ZIPC V10は状態遷移が存在するあらゆるシステム、ソフトウェア開発に適用可能です。
拡張階層化状態遷移表(EHSTM)により、組込みソフトウェアの振舞い設計に必要な表現が網羅されています。また、階層化でメンテナンス性、再利用性の高い状態モデリングが可能です。その他にも、状態図、シーケンス図、タイミング図、タスク関連図のエディタを備えています。
日本語記述の抽象度の高い段階から、Cコードを含んだ詳細設計レベルの状態遷移表まで全ての設計フェーズでシミュレーションが可能です。実行ログ生成、変数ウォッチ、ブレイクポイント設定など、豊富なシミュレーション機能で実装前に不具合を発見できます。
事象と状態で決定される状態遷移に関わるCコードを自動生成します。これにより、コーディング工数が削減されます。また、シミュレーションで不具合が除去された、正しく振舞う状態遷移表からコードを生成するので、ヒューマンエラーを排除した高品質のCコードを生成できます。
OS | Windows8.1 (32bit,64bit) ※2023年01月10日延長サポート終了 Windows10 |
---|---|
CPU | 1GHz以上相当 |
メモリ | 2GB RAM以上 |
ディスク容量 | 1GB以上 |
はじめての方のための「早わかりZIPC」
ZIPCは、高信頼性が求められる電力制御ソフトウェア開発の中で生まれたCASEツールです。
早期から検証することでソフトウェアの品質を確保するのを支援します。
ソフトウェアはいくつかの段階を経て開発するのが一般的です。この時、作り込めば作り込むほど複雑さは高くなりますが、後工程になるほど検証、修正するのは難しく、コストもかかります。
そこで、各段階で検証できることは検証しておき、早い段階から品質を確保します。
ZIPCでは、設計から検証まで4ステップで品質を確保します。
人は組み合わせを網羅的に考えるのは得意ではないので、状態遷移表をかいてモレヌケをなくします。例えば、操作シナリオや状態遷移図から状態遷移表を作成することで、仕様のモレヌケをなくします。ここで見つけたモレヌケには組込み開発で重要な、例外、異常処理などが含まれます。
日本語で書いた状態遷移表を動かして確認します。動かしてみて気づくこともあるので、この段階で修正します。また、実機ができる前から検証を始められます。
状態遷移表から自動変換することで、ケアレスミスなくコードを作成します。日本語で書いていた仕様はコンパイラが扱える文字列へ変換する“辞書”を利用して変換します。
ZIPCで生成したコードを実機で動かしながら、その様子をほぼリアルタイムに状態遷移表で確認できます。実機試験のときに(設計図である)状態遷移表でカバレッジをとることで品質保証の根拠に利用したり、デバッグ支援に利用します。
状態遷移表の基本要素は4つあります。
状態遷移表は状態と事象、交差するセルの組み合わせで1つの流れを成しています。
組込みソフトウェア開発で利用される代表的な設計図としてフローチャートがあります。
フローチャートは着目した流れを追うのに適していますが、網羅的に記述するのには適していません。
状態遷移は、状態と事象における処理が網羅的に見える化されるため、仕様のモレヌケを防ぐのに利用されます。
状態遷移表から生成されるコードと実行順序の代表例は以下のようになります。
事象の発生を確認したら、現在の状態に合わせて処理するべき関数を呼び出します。
そして新しい状態に移ります。
ZIPCはソフトウェア開発工程を通して次のような効果をあげることができます。
フェーズ | 項目 | 効果 |
---|---|---|
要件定義 | 表によるモレヌケ防止 | 要求定義の段階から検証して品質を向上できる |
動く仕様書 | 仕様を動作検証できる | |
表による最適化分析 | 最適な機能配置や部品化を分析できる | |
可視化・可動化による認識の統一 | 動かして確認することで認識違いがなくなる | |
表による試験項目 | 遷移網羅の試験パスが出しやすく、表でカバレッジ測定できる | |
レビューのしやすさ | 視覚的・動的メリットによりレビューしやすい | |
抽象表記での動作検証 | 動かすためにコードを書く必要がない | |
アーキテクチャ 設計 /詳細設定 |
部分的にデータを混合したシミュレーション | 確認したい部分だけコードを記述して動作検証できる |
OSを含んだマルチタスクシミュレーション | コード化せずにOSを含んだ動作検証が行える | |
外部連携によるシミュレーション | ハードができる前から外観図で検証できる | |
異常試験環境の構築 | 実機で出しにくい異常試験が行える | |
データの流れと構造の分析 | シーケンスやタイミングの動作検証ができる | |
ログの記録 | シミュレーションログを記録して後で確認できる | |
実装 | コード生成パターンの選択 | 実機の性能特性に合わせたコードパターンを選べる |
コードの人依存性 | コードスタイルが作成者に依存しない | |
MISRA対応コード | 生成コードはMISRA-Cに準拠している | |
表による実機デバッグ | 実機に載せても表で動作検証できる |
製品ZIPC V10についてよくあるご質問
製品ZIPC V10についてよくあるご質問の一覧です。
可能です。
具体的には、ZIPCのメニュー[プロジェクト]-[プロジェクト設定]-[Cコード生成設定]の[STM設定]ページにて、STM一覧からSTMを選択し、[無視、不可セル関数コール]の設定をします。
無視又は不可の関数コールを設定すると、無視や不可を処理するときに、設定した関数がコールされます。
例)
v 無視関数コール書式 ign_func() //チェックをし、関数コール書式を設定
上記のように設定した場合、無視コール時にign_func関数がコールされます。
不可も同様に設定します。
無視関数と不可関数を同じ関数でコールする場合には無視or不可の設定をした後無視不可共通関数コールをチェックします。
EHSTM手法・ZIPC機能サンプル
導入支援・教育用サンプル
キャッツではZIPC導入に際して、状態遷移設計手法の教育やZIPCを利用したプロトタイプ開発、検証環境の開発などのサービスを行っています。
導入支援では、身近な機器の状態遷移モデルを作成しながら、ZIPCによる開発を身につけていく教育も行っております。是非、ご相談ください。
ICカードリーダーは、非接触ICカードへの認証および、読込/書込を利用し、さまざまなサービスを提供する機器です。非接触ICカードは、電子マネーサービス、ICカード乗車券規格や、住民基本台帳カード仕様など、身近なさまざまな場面で利用されています。 本ICカードリーダーモデルでは、FeliCa技術を用いた非接触ICカードのカードリーダーを想定しています。残高照合、認証、支払い、チャージ機能のサービスをZIPCの状態遷移表により、記述し、検証する環境を実現しています。
本システムは3つのタスクと1つのハンドラにより構成されています。 タスクは、アプリケーションタスク、カードリーダ受信タスク、ICカードタスクから構成されています。アプリケーションタスクは、ICカードとの通信および、ユーザー操作の受付を行ないます。カードリーダ受信タスクは、ICカードからの受信データにより、コールバックを処理しています。また、ICカードタスクは、カードリーダからのコマンドにより、認証、データの読み書きなどの機能を実現しています。 ハンドラは、周期ハンドラにより構成され、定期的にカードの捕捉処理を行っています。
FeliCaはソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
ソニー Felicaのサイトはこちら
ドラム式洗濯機は、ドラムが縦に回転する洗濯機で、洗濯物を持ち上げ、落下によってたたき洗いを行います。本ドラム式洗濯機モデルでは、操作パネル部と制御部で構成されるシステムを想定しています。各デバイスの動作状況を検証する環境を実現しています。
ハードウェアは、操作パネル(UI)部と、制御部で構成されます。ZIPC の適応範囲は、制御部側となっています。
本システムは、3つのタスクと1つのハンドラにより構成されています。 タスクは、MainTask、Scheduler、DrumMoterTaskにより、構成されています。 MainTaskは全体制御を行います。Schedulerはコース設定によるスケジューリングを行います。DrumMoterTaskはドラムモーターの回転制御を行います。ハンドラは周期ハンドラにより構成され、タイマの制御します。
本給湯器モデルでは、給湯器本体とユーザー操作パネルを有するリモコンによるシステムを想定しています。ZIPCのマルチシミュレーション機能により、複数のユニットにより構成されるシステムを検証する環境を実現しています。
本システムは、給湯器とリモコンの2つのシステムで構成されています。給湯器側は、1つのタスクと1つのハンドラにより構成されています。タスクは、Heaterタスクのみで構成され、主に燃焼処理、リモコンとの通信をおこないます。ハンドラは、監視タイマで構成され、各デバイスの異常チェックや、動作状態の通知を行います。リモコン側は、1つのタスクで構成されています。タスクはRemoteタスクのみで構成され、ユーザーからの操作受付、給湯器との通信を行います。
セキュリティカメラは、センサ機器を1つ以上有し、主に防犯・セキュリティを目的として様々な建物で使用されています。近年では、個人住宅にも普及しています。本センサカメラモデルでは、一般的に個人住宅で使用され、ネットーワーク上からユーザが遠隔操作できるセキュリティカメラを想定しています。人感(動体)センサ、赤外線投光器、照明の動作をZIPCの状態遷移表により記述し、検証できる環境を実現しています。
本システムは、それぞれの機器が電源以外の他機器からの影響を受けずに動作するため、複数のタスクで構成されています。 タスクは、制御タスク(電源、カメラ、赤外線、ライト、センサ点灯、センサ、入力、通知、出力)と外部機器、Webブラウザから構成されています。 電源制御タスクは、各機器(カメラ本体、赤外線投光器、ライト、人感センサ)への電力供給を制御します。カメラ制御タスクは、カメラの撮影情報を外部機器(外部接続モニタ等)に送信します。赤外線制御タスクは、夜間撮影用の赤外線投光器を制御します。ライト制御タスクは、照明機器の動作を制御します。センサ点灯制御タスクは、人感センサからのセンサ検知を受け取り、自動的に照明を点灯および消灯させます。センサ制御タスクは、人感センサの動作制御およびセンサ検知を、センサ点灯制御タスクおよび通知制御タスクに送信します。入力制御タスクは、Webブラウザからのユーザ操作を受け取り、各制御タスクに動作命令を送信します。通信制御タスクは、各制御タスクからの状態とセンサ検知を受け取り、出力制御および外部機器に送信します。出力制御は、通知制御からの情報をWebブラウザに送信します。 Webブラウザタスクは、出力制御タスクからの情報をWebブラウザ上に表示します。また、各制御タスクへの命令を送信するボタン等のGUIを有します。 外部機器には、外部モニタ、録画用HDD、ドアフォン等があります。
ルームエアコンは、個人住宅から公共施設など様々な場所に設置されています。近年のルームエアコンには、従来の温度調節だけに限らず様々な機能が追加されています。その中で代表的な機能に省エネを目的としたエコ運転があります。エコ運転とは人感センサを使用し、人を感知することで風向の調節や、人の反応がなくなり一定時間経過すると自動で運転停止を行う機能です。その他に、入/切タイマーや自動フィルター掃除などの機能を持ったルームエアコンもあります。 本ルームエアコンでは、一般的に個人住宅で使用され、リモコン操作で動作する家庭用ルームエアコンを想定しています。人感センサ、運転状態、風量などをZIPCの状態遷移表により記述し、検証できる環境を実現しています。
本システムは、メイン制御(電源、運転管理、風向管理、風量管理、エコ運転管理、エラー管理)、受信タスク、出力制御、タイマー管理、各デバイス(人感センサ、ファンモーター、ルーバー、リモコン)から構成されています。 受信タスクは、リモコンからユーザ操作を受信し、メイン制御タスク、タイマー管理タスクへと命令を送信します。メイン制御タスクでは受信タスクからの命令を受信し、各運転管理(電源管理、運転管理、風向管理、風量管理、エコ運転管理)へ渡されます。電源管理は、ルームエアコン本体の電源を制御します。運転管理は、運転の切り替え(冷房、暖房、除湿、換気、送風)を制御します。風向管理は、ルームエアコンからの送風方向を制御します。風量管理は、ルームエアコンからの送風量を制御します。エコ運転管理は、エコ運転の開始、停止を制御します。エラー管理は、各エラー(本体、センサ、タイマー)が発生した場合、それぞれへエラー通知の制御をします。タイマー管理タスクは受信タスクとエラー管理からの命令を受信します。また、タイマー管理で入/切タイマーがONになるとその通知を電源管理に命令を送信します。出力制御タスクは、メイン制御での処理結果を受信し、人感センサ、ファンモーター、ルーバーのそれぞれへ操作は送信します。
本ドアホンモデルでは、ドアホン親機と玄関子機、火災報知機、センサーカメラによるシステムを想定しています。ZIPCのマルチシミュレーション機能+Drawrialにより、画面制御を有し複数のユニットにより構成されるシステムを検証する環境を実現しています。
本システムはドアホン親機、玄関子機、センサーカメラ、火災報知機から構成されています。 それぞれの機能はタスクで実現しており、時間要件は周期ハンドラを利用して実現しています。
各種製品アップデート及び関連ファイル
各種プログラム、資料のダウンロード一覧です。
導入実績 No.1を獲得し続ける
状態モデリングCASEツールの決定版
※以下のアップデートファイルをご希望の方は、こちらからお問い合わせください。
● ZIPC2001 サービスパック5 (SP5)
● ZIPC 2000 サービスパック2(SP2)
※以下のアップデートファイルをご希望の方は、こちらからお問い合わせください。
● ZIPC Reader 2001 サービスパック4a (SP4a)
● ZIPC Reader 2000
ZIPC Reader は、業務上使用及び個人使用を問わず、ご使用頂けるフリーソフトウェアです。但し、著作権は、株式会社NTTデータ オートモビリジェンス研究所にございますので、第三者への譲渡は、許可されておりません。
導入に関する質問やご相談、サポートに関することなど、まずはお気軽にご相談ください。