next up previous
Next: まとめ Up: 無題 Previous: 操作説明書と例題の拡充

インタフェースの機能拡張

javakliのインタフェースとして、新たにオブジェクト操作のイン タフェースを追加した。これは、KLIC側から、Javaのオブジェクト を作成、操作することが出来るようなインタフェースである。この インタフェースを利用することにより、Javaのプログラムが簡単に 利用でき、また、細かい処理などもKLIC側から実行することが可能 となる。

オブジェクトを作成する場合には、KLIC側において、インタフェー スの機能を提供するjkプロセスに対し、

instance +ClassName +Args -Ret
といったメッセージを送ればよい。正しくオブジェクトが作成され た場合には、Retにそのオブジェクトに対するストリームが normal( Stream)の形で設定される。また、このときKLIC側で は、このストリームからのメッセージを処理するための、オブジェ クト別のプロセスを生成する。Java側では、オブジェクトを作成し、 後の処理のために、ObjectTableクラスのオブジェクトに追加され 管理される。

先に取得した、オブジェクトの操作のためのストリームに対して、 以下のメッセージを送ることにより、オブジェクトに対する操作が 行える。

method +MethodName +Args -Ret
get +FieldName -Ret
set +FieldName +Data -Ret
method/3メッセージは、オブジェクトのメソッドを呼び出すことが でき、そのメソッドの戻り値を取得することが出来る。get/2メッ セージは、フィールドの値を参照し、put/3メッセージは、フィー ルドに値を設定することが出来る。これらのメッセージは、KLIC側 から連続して送られる場合を考慮し、それぞれのメッセージに対し て、オブジェクトごとに同期を取り、前のメッセージが処理するの を待ってから次のメッセージを処理するようになっている。また、 異なったオブジェクトの場合は、その処理は並列に実行することが 可能となっている。

このインタフェースの拡張として、オブジェクトではなく、クラス の静的メンバに対する操作を提供している。これは、クラスメソッ ドや、クラスフィールドに対するアクセスを実現したものである。 これらを利用するには、jkプロセスに対して、

class_method +ClassName +MethodName +Args -Ret
class_field_get +ClassName +FieldName -Ret
class_field_set +ClassName +FieldName +Data -Ret
といったメッセージを送ることによりアクセスすることが可能であ る。



next up previous
Next: まとめ Up: 無題 Previous: 操作説明書と例題の拡充



www-admin@icot.or.jp