[論文レビュー] New Abeans for TINE Java Control Applications
本論文では、TINEのための狭義インターフェースをサポートするJavaベースのコンponentフレームワーク、Abeans R3を提示する。これにより、クロスプラットフォームおよびWebデプロイ可能なアクセラレータ制御アプリケーションが可能になる。実証結果から、Visual Basic(VB)は起動速度が早くリソース消費が少ないが、JavaベースのAbeansはプラットフォーム非依存性、強力なOOPサポート、およびappletを介したWebブラウザとのシームレスな統合を実現しており、診断およびリモート制御アプリケーションに最適であることが示された。
Abeans [1] (wide-interface accelerator Java beans developed at JSI) have in the past been used with great success in control applications at ANKA and ESO and on test cases at the SLS and Riken. At DESY, TINE [2] is used as the principal control system for HERA as well as the intercommunication protocol among the HERA experiments. To date, most TINE-based client-side applications have been written using ACOP [3] (a narrow-interface accelerator component) in Visual Basic (VB), which has provided a remarkably powerful developing environment for generating professional control applications. Currently, however, VB control applications can only run on Windows-based desktop machines and consoles. As it is often desirable to provide certain control applications on non-Windows platforms (or indeed over the Web), we have created an equally powerful developing environment based on Java and the next release of Abeans, where an ACOP-like narrow-interface bean has been developed. Like ACOP, the Abean itself accepts plugs from various communication protocols, but was brought to fruition at DESY using the TINE Java class. Details concerning matching Abeans and TINE, as well as the pros and cons of wide versus narrow interfaces will be presented below. Several applications will also presented along with the results of benchmarking against similar VB applications.
研究の動機と目的
- TINEベースの制御アプリケーションをWindows以外のプラットフォームで実行可能とし、Webブラウザでも動作可能とする。
- 加速器制御システムにおけるWindows専用のVisual Basic(VB)制御アプリケーションの限界を解消する。
- TINEの通信プロトコルと互換性を持つ、狭義インターフェースのJavaビーンフレームワーク(Abeans R3)を構築する。
- JavaベースのAbeansと既存のVBベースのACOPアプリケーションのパフォーマンス、開発体験、リソース消費を比較する。
- Webアプリлетを介してAbeansとTINEを用いた制御アプリケーションのプラットフォーム非依存デプロイメントを実証する。
提案手法
- アプリケーションロジックから通信プロトコルを抽象化するチャネルモデルを用いて、Abeans R3にTINE専用のプラグインを実装する。
- 各制御システムプロパティを読み取り/書き込み値およびメタデータの標準メソッドを持つJavaビーンとして表現する狭義インターフェースのチャネルモデルを設計する。
- 標準Java RMIおよびTINE Javaクラスを活用して、制御システムデータへのリモートアクセスを可能にし、自動型変換を実現する。
- JavaアプリレットおよびWebデプロイメントを活用して、ローカルインストールなしにHTMLページから直接制御アプリケーションを起動可能にする。
- 1つのJVMに複数のAbeansベースアプリケーションをホスティングすることで、個別のJVMを用いる場合と比較してメモリフットプリントを削減する。
- Visual Age for Java(VAJ)を用いてTINEインstant Client、アーカイブリーダー、バキュームディスプレイパネルなどのアプリケーションを開発・テストした。
実験結果
リサーチクエスチョン
- RQ1Abeans R3ベースのTINEアプリケーションの起動時間およびデータ取得遅延は、同等のVBベースのACOPアプリケーションと比べてどの程度異なるか?
- RQ2Abeans R3における狭義インターフェースモデルの採用は、広義インターフェースモデルと比較して、保守性および再利用性をどの程度向上させるか?
- RQ3JavaベースのAbeans R3アプリケーションは、appletを用いてWebブラウザに効果的にデプロイ可能か?また、プラットフォーム非依存性にどのような影響を与えるか?
- RQ4同じデスクトップ上で複数のVBアプリケーションと複数のJavaベースの制御アプリケーションを実行した場合、システムリソース(特にメモリ)の消費にどのような差が生じるか?
- RQ5Visual Age for Java(VAJ)における開発体験は、Visual Basicと比較して、IDEの応答性、習得曲線、デバッグ効率の観点でどの程度異なるか?
主な発見
- Abeans R3フレームワークにより、TINEベースの制御アプリケーションを非WindowsプラットフォームおよびWebブラウザ内にデプロイ可能となり、プラットフォーム非依存性が実現された。
- TINEを介した同期的データ取得は、1回あたり約2ミリ秒であり、AbeansとVBアプリケーションの間で測定可能なパフォーマンス差は認められなかった。
- VBアプリケーションはローカルディスクからの起動に約2秒で完了するが、Abeansベースのアプリケーションは約5秒かかる。しかし、両者とも実行開始後は応答性が高く、ユーザーが感知しない。
- 1台のデスクトップ上で複数のアプリケーションを実行した場合、Java(例:4つ以上のJavaアプリケーション)はVBと比較して顕著にメモリ消費量が増加するが、複数のAbeansを1つのJVMで実行することでこれを緩和できる。
- Visual Age for Java(VAJ)における習得曲線とデバッグサイクルは、Visual Basicよりややきつい。VAJは約40 MBのメモリを消費するが、VBは約10 MBである。
- パフォーマンスおよび開発環境の欠点にもかかわらず、Abeans R3はオブジェクト指向設計および移植性に顕著な利点を有しており、Webデプロイ可能な診断ツールに最適である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。