分散システム用設計および管理ツール

分散システム用設計および管理ツール
Vector Informatik GmbH (ドイツ・シュトゥットガルト) では、自社製品のCANdb++を導
入し、CAN、LIN、MOSTなどによるネットワーク通信データを管理および保存するため
の準標準規格を制定しました。CANdb++データベースは、通信データを管理する通信マ
トリクスのドラフトから、シミュレーション、コントローラ ソフトウェアのコンフィグレーション、
コントローラのテストといった通信データの利用までの、あらゆる開発工程の中核を構成
します。
Hans Quecke著
1 はじめに
近い将来CANデータ バスが自動車でのデータ転送の標準規格になり、それに応じて、今後の要求は革新的な通信ソ
リューションによって満たす必要があります。
そのためには、データ量の増加や複雑化にかかわらず、各種プロジェクト、プログラム レベル、コンポーネントの概要
を明確にできる、操作性の高い開発ツールが必要です。そして、ベクター社でこの役割を担うツールがCANdb++で
す。
CANdb++は、ベクター ツールチェーン (図1) の中核をなすコンポーネントです。CANdb++を使用して作成したデー
タベースは、以下のベクター ツールでご利用いただけます。
■ CANoe/DENoe:統合開発環境
■ CANalyzer/DENalyzer:解析ツール
■ CANape:測定およびアプリケーション ツール
■ CANscope:CANバス オシロスコープ
■ CANstress:妨害発生器
■ CANlog II/III:プログラミング可能なCANデータロガー
■ CANister:コントロール パネル
■ CANextender:CANバスと各種I/O間での入出力装置
■ CANgraph:グラフィカルな評価プログラム
分散型コントローラ ネットワークの開発プロセスの開始時には、概念設計機能を搭載したCANdb++Adminが役に立
ちます。このアプリケーションにより、ノード間の通信関係が記述されます。その後これらの通信マトリクスは、次の開発
工程でCANoeやCANapeなどのツールで使用されます。通信機能は、ベクターのCANbeddedソフトウェア コンポー
ネントを使用してコンポーネントに実装されています。図2にベクター ツールチェーンのワークフローを示します。
特化された設計機能および概念的設計機能を搭載したCANdb++ Adminのバリアントがネットワークおよび通信マトリ
クスの開発者およびコンポーネント メーカー専用に設計されるので、自動車およびコントローラにおける様々なネット
ワークやバリアントを1つのデータベースで作成し、管理することができます。CANdb++ Adminは、ワークステーション
のライセンスとして提供されます。
分散コントローラ ネットワークの開発に携わる者全員が通信データにアクセスできるように、CANoe、CANalyzer、
CANape、CANscopeなどのすべてのベクター ツールには、機能の制限されたCANdb++の標準バージョンが搭載さ
れています。
図2: ベクター ツール チェーンのワークフロー
2 分散開発プロセスの考案
CANdb++ Adminの根本的な発想は、すべてのネットワーク データを1つのデータベースに保存することにより、デー
タにすばやく簡単にアクセスして定義や操作を行うことにあります。1つのデータベースに集中してデータを保存するこ
とにより、様々な開発部門や開発パートナーが何の障害もなくデータベースと対話できるので、結果的に開発工程が短
くなります。また、CANdb++によって、各自動車やコンポーネント用に抽出された情報を含むコンポーネント データベ
ースを作成することもできます。そのため、データベースを個別に配布することができます (図3を参照)。
このソフトウェアでは、通信マトリクスのドラフトを作成するための機能を提供しています。また、メッセージ、シグナル、
ノードなどの、ネットワークのすべての通信オブジェクトを定義する機能や、送受信の関係を指定する機能も提供してい
ます。通信動作はSend Type、Cycle Time、Rx Timeoutなどのパラメータで記述します。通信動作は、主にシグナル
プロパティに基づいており、数多くのSend Typeがサポートされています (cyclic、spontaneous、mixed)。cyclicメッセ
ージの記述に特化した他のツールとは異なり、CANdb++と同じ操作方法ですべてのSend Typeを実装できます。
CANdb++では、ネットワークの概要として、あるいはコントローラの視点から、あるいは各シグナルに基づいてなど、ア
プリケーションを重視した様々な視点でデータを表示したり編集できます。各通信オブジェクトは、CANdb++の数多くの
属性によって定義されます。ただし、操作性と確実性を得るために、通常は表示Windowを設定し、プロジェクトの現在
のフェーズに関する属性のみを表示させるようにします。
通信マトリクスでは、送信するシグナル、受信するシグナル、ノード、およびシグナルを含むメッセージなどが明白にな
ります。通常ユーザーが知りたいのは、後に行う動作でネットワークがどのような反応をするかなので、CANdb++では
動的なタイミング解析を提供しています。この解析では、メッセージの実行時の動作やバス負荷が計算されます。ネット
ワーク管理や外部のイベントを考慮した実行時の動作に関してさらに調査するためには、CANoeを使用して
CANdb++の通信データに基づいた動的なシミュレーションを行います。
他にANdb++ Adminの機能としては、部品製造業者や開発パートナーに通信データを転送するためのインポート/エキ
スポート機能があります。エキスポートデータ形式は、DBC、CSV、XMLを使用できます。エキスポート時には、意図的
にフィルタを使用して、個々のネットワーク、コントローラ、自動車へのデータの出力を制限します。また、CANdb++
Adminは、CANだけでなく、LINおよびMOSTネットワークのデータベース管理にも最適です。ゲートウェイを経由する
シグナルはここで定義して表示できます。
このツールにはすばやくバージョン追跡するための数多くの機能があるため、ネットワークにリリースされているすべて
のバージョンの一覧を表示したり、最後にリリースされたバージョンとの変更箇所をすべて表示させて比較することがで
きます。また、多岐に渡る整合性チェックにより、データ パラメータの欠落や矛盾が完全に無くなり、通信の整合性が
維持されます。
図3: 開発の分散
3 バージョン管理およびバリアント管理
CANdb++ Adminのバリアントにより、拡張バージョンの管理およびバリアント管理の機能によって保守を行うことがで
きます。まず、バリアント管理機能では、モデルのシリーズ、エンジン、車体のうちいずれかのバージョンに準じて同時
に開発されているモデルやコンポーネントを区別して管理することができます。
一方、バージョン管理機能では、常に進歩する通信開発を開発チーム内で簡略化できます。エンジンがデータベースを
使用して動作している場合はアクセスが制限されるため、開発チームのメンバーはデータベースへの変更ができませ
ん。専用のビューには、各バージョンを比較、変更、併合、処理した結果を集約したレポートを表示することができま
す。
4 将来の展望
ベクターは自動車メーカーや自動車部品製造業者と密接に連絡を取り合うことで、業界の要望や要求を非常に明確に
把握しています。たとえば、ベクターでは、CANdb++ Admin または CANdb++へのプラグインとして簡単に追加すると
いう方法で、メーカー固有の通信パラメータを顧客のアプリケーションに組み込むことができます。ベクターでは、基本
的に上記 2 つのツールの開発を継続することで、さらにネットワーク開発を簡略化しようと努めています。たとえば、次
のリリースで CAN メッセージへのシグナルの分散を半自動化した場合は、その次のリリースでは完全に自動化されま
す。その他の目標は、解析アルゴリズムをさらに改良し、ネットワーク面の考慮を強化することです。