[Glue!] Glue Logic 汎用エージェント


Glue Logic を用いるアプリケーションは、 ソースコードに手を入れる事無く、 容易に再利用できることを意図して設計されている。
以下にそのようなアプリケーション・エージェントを示す。 なお、仕様や機能は改良のため断り無く変更される場合もあるので、充分ご注意願いたい。

標準コマンドライン・オプション

Glue Logic の API は幾つかの標準的なコマンドライン・オプションを定義しており、 アプリケーション・エージェントのプログラムの中から これらのオプションの値を容易に利用できるようにしている。
これらのオプションは、起動時にコマンド名の直後に連続して指定しなければならない。
-Agent
起動しようとするアプリケーションのエージェント識別子を指定する。
-Anchor
他のアプリケーションが Glue Logic 経由で 起動しようとするアプリケーションと交信する時に使う名前を指定する。
-Server
起動しようとするアプリケーションが接続すべきサーバを指定する。

Glue: コマンド・ライン・ユーティリティ
コマンドラインから起動し、Glue Logic の各種の機能を実現する。 Glue Logic の用いるトランザクションを、ほとんど裸の状態で利用するため、 命名規則や利用しているプロトコルなど インプリメンテーションに関する詳細な知識が必要となるが、 最も制限無く自由にシステムを操る事ができる。

Display: データ・ディスプレイ
Glue Logic に保管された値を、ターミナル・エミュレータ上に表示する。 このエージェントは、Glue Logic を介して 表示する文字列やその表示位置、文字色/背景色などの全表示属性を受け取り、 エージェントを起動したターミナル・エミュレータに ANSI エスケープ・シーケンスを利用して表示を行なう。 システムのモニタなどの、文字ベースの汎用表示システムとして利用できる。

Monitor: データ・モニタ
ターミナル・エミュレータ上に、 任意の文字列を任意の表示属性で表示するエージェント。 文字列や表示に用いる属性は コンフィギュレーション・ファイル中の演算式を評価して求められ、 その演算式内から Glue Logic 中の任意の名前の値を参照できる。 動作中に使用するコンフィギュレーション・ファイルを切替える事や、 キーボードからの簡単なコマンドやデータの入力も可能である。
システムのモニタなどの、文字ベースの汎用表示システムとして利用できる。

NameList: データ・インスペクタ
Glue Logic に定義された名前とその値を常に表示するエージェント。 デバッグなどに用いる事を目的とし、 名前とその値との対のリストを表示すると同時に、 名前の値を変更することができる。

Menu: メニュー表示エージェント
画面上にメニューを表示し、 その選択状態によって Glue Logic 内の名前の値を操作するエージェント。 現在、チェックボックスとラジオボタンをサポートしている。 メニューの表示内容はコンフィギュレーション・ファイルによって指定し、 テキストの一部は Glue Logic の値を引用できる。 使用するコンフィギュレーション・ファイルはエージェントの実行中に変更できる。

StateMachine: 有限状態機械シミュレータ
ステート・マシンをシミュレートするエージェント。 内部の状態やそれらの間での遷移条件、 更に各状態における入力と出力との関係などを コンフィギュレーション・ファイルによって指定する。 ペトリネットなどによって表現されるシーケンスを容易にシミュレートできる。

CondLogic: 条件付き論理シミュレータ
Glue Logic 内の任意の名前の値の参照を含む論理式を評価して、 その結果の真偽にしたがって名前の値を更新するエージェント。 複雑な論理演算式の値を評価して、 常にその結果を他のエージェントから参照できるようにする。 結果を名前に代入する条件を指定できるようにしているため、 評価が必要な演算式とそうでないものとを区別する事で演算量を抑えると同時に、 理解しやすいコンフィギュレーションを書く事ができる。

Timer: タイマー・エージェント
所定の時刻に所定の名前を変更するエージェント。 時刻管理のタイムベースとして利用する事ができる。

 [M.T. HomePage]  [written & copyrighted by Masayuki Takata]