それらは、通常、コマンドメッセージの形態をとります。あるプロセスへコマンドを 送信すると、そのプロセスはそれを解読・実行し、その結果をリプライメッセージと して、送り手へ返送します。
コマンドはたとえばデバッグなどのためにポート番号を指定したtelnetなどで 送るような場合も考えられます。そのような使用を考えた場合、コマンドや リプライは可読なテキストであるべきです。
コマンドが正しく受け取られ、処理されたことを確認するために、コマンドには 必ずリプライを返す「コールアンドレスポンス」スキームを採用すべきです。 コマンドを送る側はそのために、リプライを受け取る制限時間を設定して 時間切れを監視する機構を持つべきです。時間切れはエラーとして通知される 必要があります。
対象となるオブジェクトが指定されると、それに命令文を与えます。それは そのオブジェクトのメソッド呼び出しに対応します。メソッド名である 動詞と、それが必要とする引数のリストを与えます。
コマンドに対するリプライもテキストで返されます。これはどのオブジェクト からのリプライであるかを情報として持っていなければなりません。リプライは 必ずしも厳密な文法に従う必要はないかもしれません。たとえば人間がその リプライを読む場合はそうです。しかし、一般的にはあるプロセスがリプライを 解読する場合も考えなければなりません。リプライメッセージの文法を検討する ことは意味があります。
コマンド文法としては繰り返しや条件分岐、手続きや関数の呼び出しなど、 シェルスクリプトとしての機能を持たせたいものです。この場合、一行一行の 命令を実行するオブジェクトと流れ制御を行うオブジェクトは同じである必要は ありません。フロントエンドのプロセスが流れ制御を受け持ち、一行一行の命令を 該当するオブジェクトへ送るサービスを行うことになります。
概要へ戻る 目次へ戻る 次章「KONOEを構成するプロセス」へ