
JAUSツールセット(JTS)は、分散コンピューティング環境で使用されるソフトウェアサービスの設計のためのソフトウェアエンジニアリングツールです。JTSは、自動車技術者協会(Society of Automotive Engineers )の標準AS5684AであるJAUSサービスインタフェース設計言語(JSIDL) [1]に準拠したサービスインタフェースの迅速な設計、文書化、実装のためのグラフィカルユーザーインタフェース(GUI)とサポートツールを提供します。JTSは、分散システム 全体のプロトコルのモデリング、分析、実装、テストをサポートするように設計されています。
概要
JAUSツールセット(JTS)は、オープンソースソフトウェア仕様と開発ツールのセットであり、オープンソースソフトウェアフレームワークを伴い、無人システム向けジョイントアーキテクチャ(JAUS)設計と、SAE-AS4規格に準拠したロボットコンポーネントのシミュレーションおよび制御のための準拠インターフェース実装を開発します。JTSは以下のコンポーネントで構成されています。
- GUI ベースのサービス エディター: サービス エディター (このドキュメントでは GUI と呼びます) は、システム設計者がJAUS サービス インターフェイス定義言語 (JSIDL) を使用して定義されたコンポーネントとサービスの正式な仕様を指定および分析できる、ユーザーフレンドリなインターフェイスを提供します。
- 検証ツール: 構文および意味の検証ツールは、JSIDL構文および意味に関してユーザーが入力 (またはインポート) した仕様のオンザフライ検証を提供し、GUI に統合されています。
- 仕様リポジトリ: GUI に統合され、既存の正式な仕様を保存し、再利用を促進するリポジトリ (またはデータベース)。
- C++ コードジェネレータ:コードジェネレータは、形式仕様に1:1でマッピングされたC++コードを自動生成します。生成されたコードには、メッセージのマーシャリングとアンマーシャリングの実装、そしてアプリケーションの動作から効果的に分離されたプロトコルの動作のための有限ステートマシンの実装など、サービスのあらゆる側面が含まれます。
- ドキュメントジェネレーター:ドキュメントジェネレーターは、サービス定義セットのドキュメントを自動生成します。ドキュメントは複数の形式で生成できます。
- ソフトウェアフレームワーク:ソフトウェアフレームワークは、トランスポート層仕様AS5669A [2]を実装し、自動生成されたC++コードをトランスポート層実装に統合するために必要なインターフェースを提供します。現在のトランスポートオプションには、有線または無線ネットワークにおけるUDPとTCP、およびシリアル接続が含まれます。トランスポート層自体はモジュール化されており、エンドユーザーは必要に応じて追加サポートを追加できます。
- Wiresharkプラグイン:Wireshark プラグインは、人気のネットワークプロトコルアナライザWiresharkへのプラグインを実装します。このプラグインを使用すると、JAUSメッセージベース通信をリアルタイムでキャプチャし、実行時にオフラインで分析できます。組み込みのリポジトリにより、ネットワーク上のサービスインターフェースと実装トラフィックを簡単に再利用できます。
JAUS ツール セットは www.jaustoolset.org からダウンロードできます。ユーザー ドキュメントとコミュニティ フォーラムもこのサイトから入手できます。
リリース履歴
ベータテストの成功を受け、JAUSツールセットのバージョン1.0が2010年7月にリリースされました。当初のバージョンでは、ユーザーインターフェース、HTMLドキュメント生成、C++コード生成、ソフトウェアフレームワークといったコア領域に重点が置かれていました。バージョン1.1アップデートは2010年10月にリリースされました。このバージョンでは、バグ修正とUIの改善に加え、バリデータ、 Wiresharkプラグイン、生成コードの 強化など、いくつかの重要なアップグレードが提供されました。
JTS 2.0 リリースは 2011 年第 2 四半期に予定されており、ツール セット機能がさらに改良されます。
- プロトコル検証:現在、JTSはメッセージ作成時に検証機能を提供しており、ユーザーが無効なメッセージ仕様を作成できないようにしています。この機能はプロトコル定義にはまだ実装されていませんが、今後追加される予定です。これにより、ユーザーがサービス定義に必要なすべての要素を確実に作成できるようになり、ユーザーエラーの削減につながります。
- C#およびJavaコード生成:現在、JTSはクロスプラットフォームのC++コードを生成しています。しかし、JavaやC#を含む他の言語も、分散システム、特に組み込みサービスのグラフィカルクライアント開発において、その利用が急増しています。
- MS Word文書生成:HTMLおよびJSIDL出力もサポートされていますが、ネイティブOffice-Open-XML(OOXML)ベースのMS Word文書生成は、出力の見栄えの良さと他の文書との統合の容易さという点で優れています。そのため、MS Word文書生成サービスの統合を計画しています。
さらに、開発チームには、特定のリリース期間にまだスケジュールされていない追加の目標がいくつかあります。
- プロトコル検証:サービスのJSIDL定義をPROMELAモデルに変換し、SPINモデル検証ツールで検証します。PROMELAを使用してクライアントとサーバーのインターフェースをモデル化することで、開発者はJAUSサービスを正式に検証できます。
- エンドユーザーエクスペリエンス:正式なユーザーインターフェーステストを実施する予定です。これには、一連のタスクとユースケースを定義し、JAUS の使用経験レベルが異なるユーザーにそれらのタスクを実行してもらい、パフォーマンスを測定してフィードバックを収集し、全体的なユーザーエクスペリエンスを改善できる領域を探ることが含まれます。
- サービス再利用の改善:JSIDLはプロトコル記述の継承を可能にします。これは、オブジェクト指向プログラミング言語が子クラスが親クラスで定義された動作を再利用・拡張することを可能にするのと同様です。現在、生成されたコードはこれらの状態マシンを一連のネストされた状態に「平坦化」し、正しいインターフェース動作を提供しますが、これは各リーフ(子)サービスがそれぞれのコンポーネント内で生成された場合に限られます。これによりサービスの再利用性が制限され、複数のコンポーネント間で同じ実装をコピー&ペーストすることにつながる可能性があります。チームは、複数のリーフ(子)サービスが共通の親へのアクセスを共有できるようにする他の継承ソリューションを評価していますが、現時点ではこのアプローチはJAUSコアサービスセットの要件を満たすのに十分です。[3]
ドメインとアプリケーション
JAUSツールセットは、JAUSサービスインターフェース定義言語(JSIDL)に基づいています。JSIDLは、もともと無人システム(ロボット工学)コミュニティ内での応用を目的として開発されました。そのため、JTSはSAE AS-4「JAUS」規格に準拠したサービスおよびインターフェースを生成するツールとして急速に普及しました。使用統計は入手できませんが、このツールセットは米国陸軍、海軍、海兵隊、そして数多くの防衛関連企業の担当者によってダウンロードされています。また、DeVivo AST, Inc.が販売するJAUS拡張モジュールという商用製品にも使用されています。
JSIDLスキーマは交換されるデータとは独立しているため、このツールセットは、バイナリエンコードされたメッセージ交換を使用するあらゆる分散システム環境におけるサービス指向アーキテクチャの設計と実装に使用できます。JSIDLは、アプリケーション層とトランスポート層を分離した2層アーキテクチャに基づいて構築されており、交換されるデータと、そのデータがコンポーネント間でどのように移動するかという詳細を効果的に分離します。
さらに、スキーマ自体が広く汎用的であるため、産業用制御システム、リモート監視および診断、Web ベースのアプリケーションなど、任意の数のドメインのメッセージを定義できます。
ライセンス
JTSはオープンソースBSDライセンスに基づいてリリースされています。JSIDL標準はSAEから入手できます。ソフトウェアフレームワーク(トランスポート層)の基盤となるJrミドルウェアは、LGPLに基づいてオープンソース化されています。JTSとともに配布されるその他のパッケージは、異なるライセンスに基づいている場合があります。
スポンサー
JAUS ツール セットの開発は、米国国防総省の複数の組織によって支援されました。
- 国防次官補(調達、技術、兵站/無人戦担当)のオフィス。
- 海軍プログラム執行官 沿岸・機雷担当
- 海軍プログラム執行官 無人航空および攻撃兵器
- 海軍研究局
- 空軍研究所
参考文献
- ^ SAE AS5684A、「JAUSサービスインターフェース定義言語」、AS-4C情報モデリングおよび定義委員会、2010年7月
- ^ SAE AS 5669A、「JAUS/SDPトランスポート仕様」、AS-4Bネットワーク環境委員会、2009年2月
- ^ SAE AS5710、「JAUSコアサービスセット」、AS-4C情報モデリングおよび定義委員会、2010年8月
外部リンク
- jaustoolset.org: JAUS ツールセットのホームページ
- sae.org: JSIDL (AS-5684) を含む SAE AS-4 JAUS ファミリー規格の発行者
- jrmiddleware.org: JTS ソフトウェア フレームワークで使用される LGPL ソースコードである JR ミドルウェアのホームページ
