Safe AmbientsのためのJavaフレームワーク

Bibliographic Information

Other Title
  • Safe Ambients ノ タメ ノ Java フレームワーク
  • A Java Framework for Safe Ambients

Search this article

Abstract

アンビエント計算はプロセス代数の一種であり,並行プロセス間の協調動作や計算機間のコード移動は,アンビエントの移動動作として表現される.アンビエントの階層を用いることで,LAN,PC クラスタ,マルチコアプロセッサ,モバイルエージェントなどを統一的に表現可能な点が特徴である.本発表では,アンビエント計算の一種であるSafeアンビエントに基づく,並列・分散計算のためのJavaフレームワークを提案する.本フレームワークを用いると,分散環境の構成要素をアンビエントとして統一的に記述し直接実行できる.アンビエントは通常の Java オブジェクトとして記述されるため,各アンビエントにインスタンス変数やメソッドを持たせることで,Java プログラマにとって分かりやすく簡潔なプログラムを書くことができる.フレームワークの実装においては,コード変換により JVM 間のアンビエントの移動を実現している.また単一 JVM 内においては,たとえば Java の入出力 API の完了待ちなどを考慮し,複数のプロセスは複数の Java スレッドにより並列実行されるのが望ましい.しかし,細粒度なプロセスを 1 対 1 に Java スレッドに対応づけるとプロセス生成のコストが大きくなる.本フレームワークは,Safe アンビエントの型情報を利用し,どのプロセス (またはアンビエント) を 1 つの Java スレッドに対応づけるかを適切に選択する.

The Ambient calculus is a kind of process calculi. Code migration among computers and synchronized movement among parallel processes are represented as movements of ambients. LANs, PC clusters, multicore processors, and mobile agents are uniformly represented as components of the hierarchy of ambients. In our presentation, we propose a Java framework for parallel and distributed computing, based on Safe Ambients. Each component of distributed environments is uniformly represented as an ambient and executed directly. Since each ambient is a normal Java object, it can contain instance variables and instance methods so that we can write programs in a practical manner and writing programs becomes easier. In the implementation of our framework, movements of ambients among JVMs are achieved by the code translation. In a single JVM, some events considered (e.g, waiting for finish of I/O APIs), multiple processes should be executed using several Java threads in parallel. However, creating a new Java thread for each fine-grain process at runtime is rather expensive. Therefore, our framework decides which process (or ambient) is mapped to a Java thread using type information of Safe Ambients.

Journal

Related Projects

See more

Keywords

Details 詳細情報について

Report a problem

Back to top