JP2005346434A - Widget operation method, device, program and recording medium with this program recorded thereon - Google Patents

Widget operation method, device, program and recording medium with this program recorded thereon Download PDF

Info

Publication number
JP2005346434A
JP2005346434A JP2004165578A JP2004165578A JP2005346434A JP 2005346434 A JP2005346434 A JP 2005346434A JP 2004165578 A JP2004165578 A JP 2004165578A JP 2004165578 A JP2004165578 A JP 2004165578A JP 2005346434 A JP2005346434 A JP 2005346434A
Authority
JP
Japan
Prior art keywords
widget
variable
channel
request
tuple space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004165578A
Other languages
Japanese (ja)
Inventor
Takeshi Mano
健 真野
Yoshinobu Kawabe
義信 河辺
Atsushi Mizuno
敦 水野
Hiroaki Kuwabara
寛明 桑原
Yoshiharu Ketsuen
祥治 結縁
Seiji Agusa
清磁 阿草
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004165578A priority Critical patent/JP2005346434A/en
Publication of JP2005346434A publication Critical patent/JP2005346434A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To make operation for a widget executable as input/output using a channel provided by a tuple space type communication system having a channel generation function. <P>SOLUTION: A widget operation method is provided with a step (step S43) which newly generates a widget and a channel corresponding thereto in response to a request of program code, associates them each other and stores them, a step (step S39) for transmitting an attribute of the widget to the tuple space, a step (step S39) for changing the attribute of the widget, and a step (step S45) for closing and terminating the widget. In addition, the method is provided with a step for transmitting an argument of a function called at the occurrence of an event. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ウィジェットに対する操作を行うウィジェット操作方法に関し、特に、ウィジェットに対する操作をタプル空間型通信システムで提供されるチャネルを用いた入出力として実行するウィジェット操作方法に関する。   The present invention relates to a widget operation method for performing an operation on a widget, and more particularly to a widget operation method for performing an operation on a widget as input / output using a channel provided in a tuple space communication system.

従来より、タプル空間による通信システムが知られている。この通信システムでは、タプル空間と呼ばれる通信サーバ(交換機)をネットワーク内に配置し、このタプル空間に複数のホスト装置からデータの投入および読出を行うことにより、各ホスト装置で実行される計算機プログラムの間で情報を共有および交換を行うことができる。
また、タプル空間による通信システムの中でも、データ通信路としてのチャネルを生成する機能を持つタプル空間型通信システムが知られている(例えば、非特許文献1を参照。)。この通信システムでは、計算機プログラムが過去に使われていないチャネルを生成する機能を持ち、新規生成チャネルを用いた計算機プログラム間の秘密通信を実現することができる。
Conventionally, a communication system using a tuple space is known. In this communication system, a communication server (switch) called a tuple space is arranged in a network, and data is input to and read from a plurality of host devices in this tuple space, so that a computer program executed in each host device Information can be shared and exchanged between them.
Also, among communication systems using a tuple space, a tuple space communication system having a function of generating a channel as a data communication path is known (see, for example, Non-Patent Document 1). In this communication system, a computer program has a function of generating a channel that has not been used in the past, and secret communication between computer programs using a newly generated channel can be realized.

一方、Xウィンドウシステム、QT、Allegro Common LispのCommon Graphicsなどのウィンドウシステムは、計算機プログラムが画面を操作するために、GUI(Graphic User Interface)のボタンやスクロール・バーなど、ウィジェットと呼ばれる画面描画の構成要素を単位とした操作を実現している(例えば、非特許文献2を参照。)。ウィジェットには、変更可能な属性があり、評価関数を用いてその属性の読出や変更などの操作を行うことができる。ウィンドウシステムには、ウィジェットが表示された画面上の領域にマウスポインタが表示されているときにマウスのボタンがクリックされたなどの事象(これらをイベントと総称する)を検出する機能がある。このため、各ウィジェットにおいてイベント毎に評価関数の名前を予め設定しておくことにより、イベントの検出時にそのイベントに対応する評価関数を呼び出し、その評価関数に応じた処理を行うことができる。   On the other hand, window systems such as X Window System, QT, and Allo Common Lisp's Common Graphics are used to draw screens called widgets such as GUI (Graphic User Interface) buttons and scroll bars in order for the computer program to operate the screen. An operation in units of components is realized (for example, see Non-Patent Document 2). The widget has a changeable attribute, and an operation such as reading or changing the attribute can be performed using an evaluation function. The window system has a function of detecting an event such as a mouse button being clicked when the mouse pointer is displayed in an area on the screen where the widget is displayed (these are collectively referred to as an event). For this reason, by setting the name of the evaluation function for each event in each widget in advance, the evaluation function corresponding to the event can be called when the event is detected, and processing corresponding to the evaluation function can be performed.

なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
E.Horita and K.Mano,“Nepi: A Network Programming Language Based on the π-calculus", in COORDINATION 96, LNCS Vol.1061, Springer, pp.424-427, 1996 Franz Inc.,“Common Graphics Integrated Development Environment" in http://www.franz.com/support/documentation/6.2/doc/cgide.htm Pawel T.Wojciechowski,“Nomadic Pict Language Libraries" in http://lsrwww.epfl.ch/%7Epawel/npict-library.ps.gz
The applicant has not yet found prior art documents related to the present invention by the time of filing other than the prior art documents specified by the prior art document information described in this specification.
E. Horita and K. Mano, “Nepi: A Network Programming Language Based on the π-calculus”, in COORDINATION 96, LNCS Vol.1061, Springer, pp.424-427, 1996 Franz Inc., “Common Graphics Integrated Development Environment” in http://www.franz.com/support/documentation/6.2/doc/cgide.htm Pawel T. Wojciechowski, “Nomadic Pict Language Libraries” in http://lsrwww.epfl.ch/%7Epawel/npict-library.ps.gz

従来、ウィジェットに対する操作には、評価関数を逐次的に並べる形式で記述したプログラムコードが用いられていた。しかし、この形式でプログラムコードを記述する方法は難しく、データの入出力による形式でプログラムコードを記述する方法の方が容易であるという指摘があった。
よって、前述したタプル空間型通信システムにおけるタプル空間とホスト装置との間のチャネルを用いた通信を、ウィジェットに対する操作を実行するためのデータの入出力として利用することができれば、ウィジェットに対する操作に後者の形式で記述したプログラムコードを用いることが可能となる。
Conventionally, a program code described in a format in which evaluation functions are sequentially arranged is used for operations on widgets. However, it has been pointed out that it is difficult to write program code in this format, and it is easier to write program code in a data input / output format.
Therefore, if communication using a channel between the tuple space and the host device in the above-described tuple space communication system can be used as input / output of data for executing an operation on the widget, the latter is used for the operation on the widget. It is possible to use a program code described in the format.

なお、非特許文献3には、チャネルの生成機能を持つタプル空間型通信システムと類似のシステム上で、画面の操作を実現する方法が示されている。しかし、ウィジェットに対する操作を通信として実行する方法については示されていない。   Non-Patent Document 3 discloses a method for operating a screen on a system similar to a tuple space communication system having a channel generation function. However, it does not show how to execute an operation on the widget as communication.

本発明は、このような状況に鑑みてなされたものであり、その目的は、ウィジェットに対する操作をチャネルの生成機能を持つタプル空間型通信システムが提供するチャネルを用いた入出力として実行できるようにすることにある。   The present invention has been made in view of such a situation, and an object of the present invention is to perform an operation on a widget as input / output using a channel provided by a tuple spatial communication system having a channel generation function. There is to do.

このような目的を達成するために、本発明に係るウィジェット操作方法は、ネットワーク内に配置された共有メモリを有するタプル空間を用いてホスト装置の間で情報の共有および交換をチャネルを介して行うタプル空間型通信システムにおいて、ホスト装置の表示画面上で発生するイベントに応じた処理を行うオブジェクトであるウィジェットに対する操作をチャネルを用いた入出力として実行するウィジェット操作方法であって、ウィジェットの生成が要求されたときに、ウィジェットを生成するとともに、ウィジェットに対応するチャネルを生成し、ウィジェットとチャネルとを対応付けて保持するステップと、ウィジェットの属性読出が要求されたときに、この要求により指定されたチャネルに対応するウィジェットの属性をタプル空間に送信するステップと、ウィジェットの属性変更が要求されたときに、この要求により指定されたチャネルに対応するウィジェットの属性を変更するステップと、イベントが発生したときに呼び出される関数の引数をタプル空間に送信するステップと、ウィジェットのクローズと終了が要求されたときに、この要求により指定されたチャネルに対応するウィジェットをクローズして終了するステップとを備えることを特徴とする。   In order to achieve such an object, according to the widget operating method of the present invention, information is shared and exchanged between host devices via a channel using a tuple space having a shared memory arranged in a network. In a tuple space communication system, a widget operation method for performing an operation on a widget, which is an object that performs processing according to an event occurring on a display screen of a host device, as an input / output using a channel, and generating a widget When requested, it creates a widget, creates a channel corresponding to the widget, keeps the widget and channel associated with each other, and is specified by this request when widget attribute reading is requested. Tuple the attributes of the widget corresponding to the selected channel A step to send in between, a step to change the attribute of the widget corresponding to the channel specified by this request when a request to change the attribute of the widget, and a tuple of arguments of the function to be called when the event occurs A step of transmitting to the space; and a step of closing and closing the widget corresponding to the channel specified by the request when the closing and closing of the widget is requested.

また、本発明に係るウィジェット操作装置は、ネットワーク内に配置された共有メモリを有するタプル空間を用いてホスト装置の間で情報の共有および交換をチャネルを介して行うタプル空間型通信システムにおいて、ホスト装置の表示画面上で発生するイベントに応じた処理を行うオブジェクトであるウィジェットに対する操作をチャネルを用いた入出力として実行するウィジェット操作装置であって、ウィジェットの生成が要求されたときに、ウィジェットを生成するとともに、ウィジェットに対応するチャネルを生成し、ウィジェットとチャネルとを対応付けて保持するウィジェット生成保持手段と、ウィジェットの属性読出が要求されたときに、この要求により指定されたチャネルに対応するウィジェットの属性をタプル空間に送信する属性読出送信手段と、ウィジェットの属性変更が要求されたときに、この要求により指定されたチャネルに対応するウィジェットの属性を変更する属性変更手段と、イベントが発生したときに呼び出される関数の引数をタプル空間に送信する引数送信手段と、ウィジェットのクローズと終了が要求されたときに、この要求により指定されたチャネルに対応するウィジェットをクローズして終了するクローズ終了手段とを備えることを特徴とする。   The widget operating device according to the present invention is a tuple space communication system that uses a tuple space having a shared memory arranged in a network to share and exchange information between host devices via a channel. A widget operation device that performs operations on widgets, which are objects that perform processing according to events that occur on the display screen of the device, as input / output using channels, and when a widget is requested to be generated, A channel corresponding to the widget, and a widget generation / holding means for associating and holding the widget and the channel, and when the attribute reading of the widget is requested, it corresponds to the channel specified by this request Send widget attributes to tuple space Attribute read / send means, Attribute change means for changing the attribute of the widget corresponding to the channel specified by this request when the attribute change of the widget is requested, and an argument of the function called when the event occurs And an argument transmission means for transmitting to the tuple space, and a close end means for closing and closing the widget corresponding to the channel specified by the request when the close and end of the widget is requested. To do.

また、本発明に係るウィジェット操作プログラムは、前述のウィジェット操作方法の各ステップをホスト装置を構成するコンピュータに実行させるためのプログラムである。
また、本発明に係る記録媒体は、このウィジェット操作プログラムを記録した機械読み取り可能な記録媒体である。
A widget operation program according to the present invention is a program for causing a computer constituting the host device to execute each step of the widget operation method described above.
The recording medium according to the present invention is a machine-readable recording medium in which the widget operation program is recorded.

本発明では、プログラムコードの要求に応じて、ウィジェットの生成時にこのウィジェットに対応するチャネルを新規に生成し、ウィジェットを読み出しそのウィジェットの属性をタプル空間に送信し、ウィジェットを読み出しそのウィジェットの属性を変更し、ウィジェットをクローズして終了する。また、イベントが発生したときに呼び出される関数の引数をタプル空間に送信する。これにより、ウィジェットに対する操作をチャネルの生成機能を持つタプル空間型通信システムが提供するチャネルを用いた入出力として実行することができる。
その結果、ウィジェットに対する操作に、データの入出力による形式で記述したプログラムコードを用いることができる。よって、ウィジェットに対する操作を実行するためのプログラムコードを従来よりも容易に記述できるようになる。
In the present invention, in response to a request for the program code, a channel corresponding to the widget is newly generated when the widget is generated, the widget is read, the attribute of the widget is transmitted to the tuple space, the widget is read, and the attribute of the widget is set. Make changes, close the widget and exit. In addition, the argument of the function called when the event occurs is transmitted to the tuple space. As a result, an operation on the widget can be executed as input / output using the channel provided by the tuple space communication system having a channel generation function.
As a result, program codes described in a data input / output format can be used for operations on widgets. Therefore, the program code for executing the operation on the widget can be described more easily than before.

以下、図面を参照に、本発明の一実施の形態について詳細に説明する。
図1は、チャネルの生成機能を持つタプル空間型通信システムの構成を示すブロック図である。この図に示すタプル空間型通信システムは、ネットワーク1内に配置されたタプル空間2と、複数のホスト装置3A,3B,3C,…,3Nとから構成される。なお、ホスト装置3A〜3Nを総称して、ホスト装置3と書く場合がある。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a tuple spatial communication system having a channel generation function. The tuple space communication system shown in this figure is composed of a tuple space 2 arranged in a network 1 and a plurality of host devices 3A, 3B, 3C,..., 3N. The host devices 3A to 3N are sometimes collectively referred to as the host device 3.

ここで、タプル空間2は、ネットワーク1内に配置された共有メモリとこの共有メモリを管理する管理手段とからなり、ホスト装置3A〜3Nのそれぞれからリクエストを受け取り、データの保持および削除を行う。タプル空間2に保持されるデータをタプルと呼ぶ。
リクエストには、送信リクエスト(send,a,b)および受信リクエスト(receive,a)の2つがある。送信リクエスト(send,a,b)の第1要素sendは送信リクエストであることを示す記号、第2要素aはチャネルを表す値であるチャネル識別子、第3要素bは送信データである。受信リクエスト(receive,a)の第1要素receiveは受信リクエストであることを示す記号、第2要素aはチャネル識別子である。
Here, the tuple space 2 includes a shared memory arranged in the network 1 and a management unit that manages the shared memory. The tuple space 2 receives requests from the host apparatuses 3A to 3N, and holds and deletes data. Data held in the tuple space 2 is called a tuple.
There are two requests, a transmission request (send, a, b) and a reception request (receive, a). The first element “send” of the transmission request (send, a, b) is a symbol indicating that it is a transmission request, the second element “a” is a channel identifier that is a value representing a channel, and the third element “b” is transmission data. The first element “receive” of the reception request (receive, a) is a symbol indicating a reception request, and the second element “a” is a channel identifier.

タプル空間2は、送信リクエストおよび受信リクエストをホスト装置3A〜3Nのそれぞれから受け取り、送信リクエストおよび受信リクエストをタプル空間2に逐次蓄積する。そして、同じチャネル識別子aを持つ送信リクエスト(send,a,b)および受信リクエスト(receive,a)が同時にタプル空間2内に存在するかどうかを調べる。同時に存在する場合には、送信リクエスト(send,a,b)および受信リクエスト(receive,a)をタプル空間2から削除し、送信リクエスト(send,a,b)の送信元ホスト装置(例えば3A)に送信完了メッセージを送るとともに、受信リクエスト(receive,a)の送信元ホスト装置(例えば3B)に受信メッセージbを送る。また、受信リクエスト(receive,a)と同じチャネル識別子aを持つ送信リクエストがタプル空間2内に存在しない場合には、受信リクエスト(receive,a)の送信元ホスト装置(例えば3B)に受信メッセージNULLを送る。   The tuple space 2 receives a transmission request and a reception request from each of the host devices 3 </ b> A to 3 </ b> N, and sequentially accumulates the transmission request and the reception request in the tuple space 2. Then, it is checked whether a transmission request (send, a, b) and a reception request (receive, a) having the same channel identifier a exist in the tuple space 2 at the same time. If they exist at the same time, the transmission request (send, a, b) and the reception request (receive, a) are deleted from the tuple space 2, and the transmission source host device (for example, 3A) of the transmission request (send, a, b) A transmission completion message is sent to the transmission source host device (for example, 3B) of the reception request (receive, a). If there is no transmission request having the same channel identifier a as the reception request (receive, a) in the tuple space 2, the reception message NULL is sent to the transmission source host device (eg, 3B) of the reception request (receive, a). Send.

図2は、ホスト装置3の一構成例を示すブロック図である。この図に示すホスト装置3は、リクエスト送信部31と、結果受信部32と、新規チャネル生成部33と、ウィジェットテーブル部34と、メモリ上に実現される実行部35と、ウィンドウシステム36とを持つ。実行部35はさらに、複数個のプログラムコード実行部41(41−1,41−2)と、イベントテーブル42と、評価関数名対応表43と、複数個のイベント評価関数部44(44−1,44−2)とからなる。なお、本実施の形態において、「ウィジェット」とは、Allegro Common LispのCommon Graphicsにおけるwidgetと同義とする。   FIG. 2 is a block diagram illustrating a configuration example of the host device 3. The host device 3 shown in this figure includes a request transmission unit 31, a result reception unit 32, a new channel generation unit 33, a widget table unit 34, an execution unit 35 implemented on a memory, and a window system 36. Have. The execution unit 35 further includes a plurality of program code execution units 41 (41-1, 41-2), an event table 42, an evaluation function name correspondence table 43, and a plurality of event evaluation function units 44 (44-1). , 44-2). Note that in this embodiment, “widget” is synonymous with “widget” in Common Graphics of Allegro Common Lisp.

ここで、実行部35およびウィジェットテーブル部34は、Lisp言語と同様のリスト(例えば、(a b c d)など)を処理する。なお、長さ2のリストを「組」と呼ぶことがある。
プログラムコード実行部41、ウィジェットテーブル部34およびイベント評価関数部44は、リストを用いて表現されたプログラムコードを処理するため、以下に示す評価関数を呼び出す。
Here, the execution unit 35 and the widget table unit 34 process a list similar to the Lisp language (for example, (a b c d)). Note that a list of length 2 may be referred to as a “group”.
The program code execution unit 41, the widget table unit 34, and the event evaluation function unit 44 call the evaluation function shown below in order to process the program code expressed using the list.

・評価関数cons:入力としてデータAとリストBをとり、第1要素をBとするようなリストを返す。例えば、cons((a),(b c d))は(a b c d)を返す。
・評価関数1st:入力としてリストをとり、その第1要素を取り出して返す。例えば、1st((a b c d))はaを返す。
・評価関数2nd:入力としてリストをとり、その第2要素を取り出して返す。例えば、2nd((a b c d))はbを返す。
・評価関数3rd:入力としてリストをとり、その第3要素を取り出して返す。例えば、3rd((a b c d))はcを返す。
・評価関数4th:入力としてリストをとり、その第4要素を取り出して返す。例えば、4th((a b c d))はdを返す。
Evaluation function cons: Takes data A and list B as input and returns a list with B as the first element. For example, cons ((a), (b c d)) returns (a b c d).
Evaluation function 1st: Takes a list as input, takes out the first element and returns it. For example, 1st ((a b c d)) returns a.
Evaluation function 2nd: Takes a list as input, takes out the second element and returns it. For example, 2nd ((a b c d)) returns b.
Evaluation function 3rd: Takes a list as input, takes out the third element and returns it. For example, 3rd ((a b c d)) returns c.
Evaluation function 4th: Takes a list as input, takes out its fourth element and returns it. For example, 4th ((a b c d)) returns d.

・評価関数list1:入力としてデータAをとり、Aからなるリスト(A)を返す。例えば、list1(a)は(a)を返す。
・評価関数list2:入力としてデータA,Bをとり、A,Bからなるリスト(A B)を返す。例えば、list2(a,b)は(a b)を返す。
・評価関数list3:入力としてデータA,B,Cをとり、A,B,Cからなるリスト(A B C)を返す。例えば、list3(a,b,10)は(a b 10)を返す。
・評価関数list4:入力としてデータA,B,C,Dをとり、A,B,C,Dからなるリスト(A B C D)を返す。例えば、list4(a,b,10,”hello”)は(a b 10 ”hello”)を返す。
Evaluation function list1: Takes data A as input and returns a list (A) consisting of A. For example, list1 (a) returns (a).
Evaluation function list2: Takes data A and B as input and returns a list (A B) consisting of A and B. For example, list2 (a, b) returns (a b).
Evaluation function list3: Takes data A, B, C as input and returns a list (A B C) consisting of A, B, C. For example, list3 (a, b, 10) returns (a b 10).
Evaluation function list4: Takes data A, B, C, D as input and returns a list (A B C D) composed of A, B, C, D. For example, list4 (a, b, 10, “hello”) returns (a b 10 “hello”).

・評価関数assoc:assoc(x,y)は、連想リストyに入っているキーxの要素を取り出す。assoc(x,y)は、Lisp言語の(assoc x y :test ’equal)と同義である。例えば、assoc(a,((a x) (b y)))は(a x)を返す。
・評価関数substitute:Lisp言語のsubst関数と同様。すなわち、substitute(x,y,z)は、リストzに自由に現れる値yを、値xで置き換える。例えば、substitute(data,a,(a b c))は(data b c)を返す。
・評価関数apply:入力として評価関数の名前AとデータBをとり、Bを引数として評価関数Aを呼び出し、その結果得られた値を返す。apply(A,B)は、Lisp言語の(apply ’A (list B))と同義である。例えば、apply(2nd,(a b))はbを返す。
Evaluation function assoc: assoc (x, y) extracts the element of the key x included in the association list y. Assoc (x, y) is synonymous with (assoc x y: test 'equal) in the Lisp language. For example, assoc (a, ((ax) (by))) returns (ax).
Evaluation function substate: Same as the Lisp language subst function. That is, substate (x, y, z) replaces the value y that appears freely in the list z with the value x. For example, substate (data, a, (a b c)) returns (data b c).
Evaluation function apply: Takes the name A and data B of the evaluation function as input, calls the evaluation function A with B as an argument, and returns the value obtained as a result. apply (A, B) is synonymous with (apply 'A (list B)) in the Lisp language. For example, apply (2nd, (ab)) returns b.

プログラムコード実行部41およびイベント評価関数部44は、ウィジェット操作のため、以下の評価関数を呼び出す。
・評価関数make−instance:入力としてウィジェットのクラスをとり、そのクラスのインスタンスであるウィジェットを生成し、生成されたウィジェットへのポインタを返す。なお、実行部35では、ウィジェットへのポインタをウィジェットそのものとして取り扱う。make−instance(A)は、Allegro Common LispのCommon Graphicsにおける(make−instance ’A)と同義である。例えば、make−instance(button)は、ボタンクラスのインスタンスであるウィジェットを生成する。
The program code execution unit 41 and the event evaluation function unit 44 call the following evaluation function for widget operation.
Evaluation function make-instance: Takes a widget class as an input, generates a widget that is an instance of the class, and returns a pointer to the generated widget. The execution unit 35 handles the pointer to the widget as the widget itself. make-instance (A) is synonymous with (make-instance 'A) in Common Graphics of Allegro Common Lisp. For example, make-instance (button) generates a widget that is an instance of a button class.

・評価関数title:引数としてウィジェットをとり、そのウィジェットのタイトル属性を表す文字列を返す。title(A,B)は、Allegro Common LispのCommon Graphicsの(title A ’B)と同義である。例えば、title(widget)はウィジェットwidgetのタイトル属性を返す。
・評価関数background:引数としてウィジェットをとり、そのウィジェットの背景色属性を表すデータを返す。background(A,B)は、Allegro Common LispのCommon Graphicsの(background−color A ’B)と同義である。例えば、background(widget)はウィジェットwidgetの背景色属性を返す。
Evaluation function title: Takes a widget as an argument and returns a character string representing the title attribute of the widget. title (A, B) is synonymous with (title A'B) of Common Graphics of Allegro Common Lisp. For example, title (widget) returns the title attribute of the widget widget.
Evaluation function “background”: takes a widget as an argument and returns data representing the background color attribute of the widget. background (A, B) is synonymous with (Background-color A'B) of Common Graphics of Allegro Common Lisp. For example, background (widget) returns the background color attribute of the widget widget.

・評価関数set−data:引数として、ウィジェットの属性を読み出す関数名AとウィジェットBとデータCをとり、BのAで表される属性をCに更新し、Cを返す。set−data(A,B,C)は、Allegro Common LispのCommon Graphicsにおける(setf(A B) ’C)と同義である。例えば、set−data(title,widget,“Start”)は、ウィジェットwidgetのタイトル属性を“Start”に変更し、“Start”を返す。 Evaluation function set-data: The function name A, widget B, and data C for reading the widget attribute are taken as arguments, the attribute represented by A in B is updated to C, and C is returned. set-data (A, B, C) is synonymous with (setf (AB) 'C) in Common Graphics of Allegro Common Lisp. For example, set-data (title, widget, “Start”) changes the title attribute of the widget widget to “Start” and returns “Start”.

・評価関数set−event:引数としてイベントの名前AとウィジェットBと評価関数の名前Cをとり、ウィジェットBでイベントAが起こったときに呼び出す評価関数の名前をCに更新し、Cを返す。set−event(A,B,C)は、Allegro Common LispのCommon Graphicsにおける(setf(A B) ’C)と同義である。例えば、set−event(on−click,widget,handle−event)は、ウィジェットbutton描画領域でマウスクリックイベントが起こったときに呼び出される評価関数の名前をhandle−eventに変更する。
・評価関数close:入力としてウィジェットをとり、そのウィジェットをクローズする。例えば、close(widget)はウィジェットwidgetをクローズする。
Evaluation function set-event: Takes event name A, widget B, and evaluation function name C as arguments, updates the evaluation function name to be called when event A occurs in widget B, and returns C. set-event (A, B, C) is synonymous with (setf (AB) ′ C) in Common Graphics of Allegro Common Lisp. For example, set-event (on-click, widget, handle-event) changes the name of the evaluation function that is called when a mouse click event occurs in the widget button drawing area to handle-event.
Evaluation function close: Takes a widget as input and closes the widget. For example, close (widget) closes the widget widget.

リクエスト送信部31は、プログラムコード実行部41およびイベント評価関数部44から送信リクエストまたは受信リクエストを受け、これらのリクエストの内容を内部の記憶領域(図示せず)に一旦格納し、格納したリクエストをネットワーク1を介してタプル空間2に転送する。
結果受信部32は、タプル空間2から送信完了メッセージまたは受信メッセージを受信し、これらのメッセージの内容を内部の記憶領域(図示せず)に一旦格納し、格納したメッセージをプログラムコード実行部41に転送する。
The request transmission unit 31 receives transmission requests or reception requests from the program code execution unit 41 and the event evaluation function unit 44, temporarily stores the contents of these requests in an internal storage area (not shown), and stores the stored requests. Transfer to the tuple space 2 via the network 1.
The result receiving unit 32 receives a transmission completion message or a received message from the tuple space 2, temporarily stores the contents of these messages in an internal storage area (not shown), and stores the stored message in the program code execution unit 41. Forward.

新規チャネル生成部33は、内部変数に整数を格納しており、ウィジェットテーブル部34からリクエストを受けると、格納している整数を新規チャネルを表すチャネル識別子としてウィジェットテーブル部34に返す。このとき、内部変数に格納している整数の値を1だけ増加し、内部変数に再格納する。したがって、次にリクエストを受けたときには、前回よりも1だけ大きい整数がチャネル識別子として返される。プログラムコード実行部41からリクエストを受けたときも同様に動作し、チャネル識別子をプログラムコード実行部41に返す。   The new channel generation unit 33 stores an integer in the internal variable, and upon receiving a request from the widget table unit 34, returns the stored integer to the widget table unit 34 as a channel identifier representing the new channel. At this time, the integer value stored in the internal variable is incremented by 1, and stored again in the internal variable. Therefore, when the next request is received, an integer larger by 1 than the previous time is returned as the channel identifier. The same operation is performed when a request is received from the program code execution unit 41, and a channel identifier is returned to the program code execution unit 41.

ウィジェットテーブル部34は、内部変数widgetTableを持つ。変数widgetTableには、チャネル識別子とウィジェットとを対応付けた組「(チャネル識別子 ウィジェット)」のリストが格納される。また、ウィジェットテーブル部34は、値を一時保存するための内部変数r,cおよびtを持つ。   The widget table unit 34 has an internal variable widgetTable. A variable “widgetTable” stores a list of a pair “(channel identifier widget)” in which a channel identifier and a widget are associated with each other. The widget table unit 34 has internal variables r, c, and t for temporarily storing values.

ウィジェットテーブル部34は、以下の手順で動作する。図3は、ウィジェットテーブル部34の動作の流れを示すフローチャートである。
ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待ち、リクエストを受信したときに(ステップS1,YES)、受信したリクエストを変数rに格納する(ステップS2)。
評価関数1st(r)を評価し、評価結果を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果を変数rに格納し直す(ステップS4)。
The widget table unit 34 operates in the following procedure. FIG. 3 is a flowchart showing an operation flow of the widget table unit 34.
The widget table unit 34 waits for the arrival of a request from the program code execution unit 41, and when receiving the request (step S1, YES), stores the received request in the variable r (step S2).
The evaluation function 1st (r) is evaluated, and the evaluation result is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result is stored again in the variable r (step S4).

ここで、変数cを評価する(ステップS5)。その結果、変数cが“search”である場合には(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果を変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。これにより、プログラムコード実行部41からのリクエストに応じて、チャネル識別子rに対応する組が自装置内に存在するか否かを検索し、存在する場合にはその組をプログラムコード実行部41に返すことができる。   Here, the variable c is evaluated (step S5). As a result, when the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result is stored again in the variable r (step S7). Then, the evaluation result stored in the variable r is returned to the program code execution unit 41 as a result for the request (step S8), and the process returns to step S1. As a result, in response to a request from the program code execution unit 41, a search is made as to whether or not a set corresponding to the channel identifier r exists in the own apparatus, and if it exists, the set is stored in the program code execution unit 41. Can return.

また、ステップS5において、変数cを評価した結果、変数cが“add”である場合には(ステップS9,YES)、新規チャネル生成部33を呼び出して、新規チャネル生成部33からチャネル識別子を受け取り、この識別子の値を変数tに格納する(ステップS10)。そして、変数widgetTableに組「(t r)」を新たに加える(ステップS11)。さらに、変数tをリクエストに対する結果としてプログラムコード実行部41に返し(ステップS12)、ステップS1に戻る。   If the variable c is “add” as a result of evaluating the variable c in step S5 (step S9, YES), the new channel generation unit 33 is called to receive the channel identifier from the new channel generation unit 33. The value of this identifier is stored in the variable t (step S10). Then, a set “(tr)” is newly added to the variable widgetTable (step S11). Further, the variable t is returned to the program code execution unit 41 as a result of the request (step S12), and the process returns to step S1.

さらにまた、ステップS5において、変数cを評価した結果、変数cが“close”である場合には(ステップS13,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果を変数rに格納し直す(ステップS14)。そして、変数rと同一内容の組を変数widgetTableから削除して、変数widgetTableに格納し直し(ステップS15)、ステップS1に戻る。これにより、ウィジェットのクローズ時にこのウィジェットに対応する組を変数widgetTableから削除することができる。   Furthermore, when the variable c is “close” as a result of evaluating the variable c in step S5 (step S13, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result is set to the variable r. Store again (step S14). Then, the group having the same content as the variable r is deleted from the variable widgetTable, stored again in the variable widgetTable (step S15), and the process returns to step S1. Thereby, when the widget is closed, the pair corresponding to the widget can be deleted from the variable widgetTable.

以下、実行部35について説明する。
イベントテーブル42は、二重に入れ子したリスト「((イベントの種類 ウィジェット) チャネル識別子)」を格納する変数eventTableである。初期値は空リスト()である。よって、イベントテーブル42は、イベントの種類とウィジェットとの組から、その組に対応するチャネル識別子ヘの対応を保持する。
Hereinafter, the execution unit 35 will be described.
The event table 42 is a variable eventTable that stores a doubly nested list “((event type widget) channel identifier)”. The initial value is an empty list (). Therefore, the event table 42 holds a correspondence from a set of event types and widgets to a channel identifier corresponding to the set.

次に、イベント評価関数部44は、ウィジェットの描画領域上で発生したイベントの検出時に呼び出される評価関数の引数をタプル空間2に送信する。このようなイベント評価関数部44が、個々のイベントに1対1に対応して、複数存在する。本実施の形態では、イベント評価関数部44−1が、イベントon−clickに対応し、f−on−clickという名前を持つ。また、イベント評価関数部44−2が、イベントon−double−clickに対応し、f−on−double−clickという名前を持つ。   Next, the event evaluation function unit 44 transmits to the tuple space 2 an argument of the evaluation function that is called when an event that has occurred on the drawing area of the widget is detected. There are a plurality of such event evaluation function units 44 corresponding to each event on a one-to-one basis. In the present embodiment, the event evaluation function unit 44-1 corresponds to the event on-click and has the name f-on-click. The event evaluation function unit 44-2 corresponds to the event on-double-click and has the name f-on-double-click.

評価関数set−event(A,B,f−A)の評価により、ウィジェットBでイベントAが起こったとき呼び出される評価関数の名前がf−Aと設定されている場合には、ウィンドウシステム36は、ウィジェットBでイベントAが起こったときに、ウィジェットBとイベントAの内容を表すデータdを引数として、イベント評価関数部f−Aを呼び出す。このとき、イベントAに対応するイベント評価関数部f−Aは、以下の手順で動作する。なお、個々のイベント評価関数部44は、引数であるウィジェットおよびデータをそれぞれ格納する内部変数として、widTEMPおよびdataを持つ。また、値を一時保存するために、内部変数val,adrs,ackを持つ。   When the evaluation function set-event (A, B, f-A) is evaluated and the name of the evaluation function to be called when the event A occurs in the widget B is set to f-A, the window system 36 When the event A occurs in the widget B, the event evaluation function part f-A is called using the data B representing the contents of the widget B and the event A as arguments. At this time, the event evaluation function unit f-A corresponding to the event A operates according to the following procedure. Each event evaluation function unit 44 has “widTEMP” and “data” as internal variables for storing widgets and data as arguments. Also, it has internal variables val, adrs, and ack for temporarily storing values.

図4は、イベント評価関数部f−Aの動作の流れを示すフローチャートである。
イベント評価関数部f−Aの変数widTEMPには、引数であるウィジェットが格納され、変数dataには、引数であるイベントAの内容を表すデータdが格納されている。
イベント評価関数部f−Aは、評価関数assoc(list2(A,widTEMP),eventTable)を評価し、評価結果を変数valに格納する(ステップS21)。さらに、評価関数2nd(val)を評価し、評価結果を変数adrsに格納する(ステップS22)。
FIG. 4 is a flowchart showing an operation flow of the event evaluation function unit f-A.
The variable widgetTEMP of the event evaluation function part f-A stores a widget as an argument, and the variable “data” stores data d representing the content of the event A as an argument.
The event evaluation function unit f-A evaluates the evaluation function assoc (list2 (A, widTEMP), eventTable), and stores the evaluation result in the variable val (step S21). Further, the evaluation function 2nd (val) is evaluated, and the evaluation result is stored in the variable adrs (step S22).

続いて、リクエスト送信部31に送信リクエスト(send,adrs,data)を送ることにより(ステップS23)、タプル空間2にイベントの検出時に呼び出される評価関数の引数を送る。そして、タプル空間2からの送信完了メッセージが結果受信部32を介して送り返されるまで待つ。送信完了メッセージを受けると(ステップS24,YES)、返り値としてNULLを返し(ステップS25)、処理を終了する。   Subsequently, by sending a transmission request (send, adrs, data) to the request transmission unit 31 (step S23), an argument of an evaluation function called when an event is detected is sent to the tuple space 2. Then, it waits until a transmission completion message from the tuple space 2 is sent back through the result receiving unit 32. When a transmission completion message is received (step S24, YES), NULL is returned as a return value (step S25), and the process ends.

次に、評価関数名対応表43は、組「(イベント名 イベント評価関数名)」を格納する内部変数taiouTableである。すなわち、評価関数名対応表43は、イベント名と、そのイベントが発生したときに定められたチャネルヘの送信を行うイベント評価関数の名前(例えば、on−clickとf−on−click、on−double−clickとf−on−double−clickなど)との対応表である。初期値は、イベント名とそれに対応するイベント評価関数名の組の全てをリストにしたものである。   Next, the evaluation function name correspondence table 43 is an internal variable tailTable that stores the group “(event name event evaluation function name)”. In other words, the evaluation function name correspondence table 43 includes an event name and the name of an event evaluation function that performs transmission to a channel defined when the event occurs (for example, on-click, f-on-click, on-double). -Click and f-on-double-click). The initial value is a list of all combinations of event names and corresponding event evaluation function names.

次に、プログラムコード実行部41は複数存在し、それぞれのプログラムコード実行部41−1,41−2,…に格納されたプログラムコードを独立に実行する。
プログラムコード実行部41は内部変数pを持ち、この内部変数pには、プログラムコード受信用のチャネル識別子、プログラムコード、プログラムコードから呼び出されるプロセス定義式が格納される。プログラムコード実行部41はまた、命令や値を一時保存するための変数com,adrs,var,val,val1,val2,val3,next,tmpWDを持つ。
Next, a plurality of program code execution units 41 exist, and the program codes stored in the respective program code execution units 41-1, 41-2,.
The program code execution unit 41 has an internal variable p. The internal variable p stores a channel identifier for receiving a program code, a program code, and a process definition expression called from the program code. The program code execution unit 41 also has variables com, adrs, var, val, val1, val2, val3, next, tmpWD for temporarily storing instructions and values.

ここで、変数comはプログラムコードから取り出した命令を格納するための変数、変数adrsはチャネル識別子を格納するための変数、変数varは後続処理に含まれる置き換えの対象となる変数を格納するための変数、変数val,val1,val2,val3はタプル空間2に送信するデータまたはタプル空間2から受信したデータを格納するための変数、変数nextは後続処理を表すコードを格納するための変数、変数tmpWDはウィジェットテーブル部34から受信した結果を格納するための変数である。   Here, the variable com is a variable for storing an instruction extracted from the program code, the variable adrs is a variable for storing a channel identifier, and the variable var is a variable for storing a variable to be included in subsequent processing. Variables, variables val, val1, val2, and val3 are variables for storing data to be transmitted to the tuple space 2 or data received from the tuple space 2, and a variable next is a variable for storing a code representing subsequent processing, a variable tmpWD Is a variable for storing the result received from the widget table unit 34.

プログラムコードは、以下のリストとする。
P:=(end)
|(! chan data P)
|(? chan var P)
|(?g class widget_chan P)
|(!g close widget_chan P)
The program code is the following list.
P: = (end)
| (! Chan data P)
| (? Chan var P)
| (? G class width_chan P)
| (! G close width_chan P)

このリストにおいて、プログラムコード(end)は、終了動作を意味する。プログラムコード(! chan data P)は、チャネルの生成機能を持つタプル空間型通信システムを用いた送信動作、すなわちチャネルchanにデータdataを送信し、後続処理Pを実行する送信動作を意味する。プログラムコード(? chan var P)は、チャネルの生成機能を持つタプル空間型通信システムを用いた受信動作、すなわちチャネルchanからデータを受信し、後続処理Pに含まれる変数varをそのデータで置き換えて実行する受信動作を意味する。プログラムコード(?g class widget_chan P)は、ウィジェットの生成動作を意味する。プログラムコード(!g close widget_chan P)は、ウィジェットのクローズ動作を意味する。   In this list, the program code (end) means an end operation. The program code (! Chan data P) means a transmission operation using a tuple spatial communication system having a channel generation function, that is, a transmission operation of transmitting data data to the channel chan and executing the subsequent processing P. The program code (? Chan var P) is a reception operation using a tuple spatial communication system having a channel generation function, that is, receives data from the channel chan and replaces the variable var included in the subsequent processing P with the data. It means the receiving operation to be executed. The program code (? G class width_chan P) means a widget generation operation. The program code (! G close width_chan P) means a closing operation of the widget.

ただし、プログラムコード(! chan data P)については、チャネルchanがウィジェットテーブル部34に登録されているとき、すなわち(chan widget)という組がウィジェットテーブル部34の内部変数widgetTableにあるときには、データdataは長さ3のリスト形式で以下のもののみを許す。
(read A ret_ch)
(write A B)
(event A ret_ch)
ここで、データ(read A ret_ch)は、属性Aの値をチャネルret_chに送信する動作を意味する。データ(write A B)は、属性Aの値をBの値に更新する動作を意味する。データ(event A ret_ch)は、イベントAの発生をチャネルret_chに送信するように登録する動作を意味する。
However, for the program code (! Chan data P), when the channel chan is registered in the widget table unit 34, that is, when the group (chan widget) is in the internal variable widgetTable of the widget table unit 34, the data data is Only the following are allowed in a list format of length 3.
(Read A ret_ch)
(Write A B)
(Event A ret_ch)
Here, data (read A ret_ch) means an operation of transmitting the value of attribute A to channel ret_ch. Data (write A B) means an operation of updating the value of attribute A to the value of B. Data (event A ret_ch) means an operation of registering the occurrence of event A to be transmitted to channel ret_ch.

プログラムコードの一例を示す。
(?g button g_chan (! g_chan list3(write,title,“mybutton”) (! g_chan list2(read,background,10) (? 10 data1 (! g_chan list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close g_chan (end)))))))))
An example of the program code is shown.
(? G button g_chan (! G_chan list3 (write, title, “mybutton”) (! G_chan list2 (read, background, 10) (? 10 data1 (! G_chan list3 (event, on- 20 (! -10 data1 (! G close g_chan (end)))))))))

プログラムコード実行部41は、以下の手順で動作する。図5は、プログラムコード実行部41の動作の流れを示すフローチャートである。
前述のように、変数pにはプログラムコードが格納されている。この変数pを評価し、評価結果を変数valに格納する(ステップS31)。変数valを評価し、変数valの内容がNULL(すなわち、空)の場合には(ステップS32,YES)、処理を終了する。
これに対し、変数valの内容がNULLでない場合には(ステップS32,NO)、評価関数1st(p)を評価し、評価結果を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。
The program code execution unit 41 operates according to the following procedure. FIG. 5 is a flowchart showing an operation flow of the program code execution unit 41.
As described above, the program code is stored in the variable p. The variable p is evaluated, and the evaluation result is stored in the variable val (step S31). The variable val is evaluated. If the content of the variable val is NULL (that is, empty) (step S32, YES), the process is terminated.
On the other hand, if the content of the variable val is not NULL (step S32, NO), the evaluation function 1st (p) is evaluated, and the evaluation result is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34).

ここで、変数comを評価し(ステップS35)、変数comの内容に応じて、次のような処理を行う。まず、変数comがendである場合には(ステップS36,YES)、終了処理を行い(ステップS37)、ステップS31に戻る。また、変数comが!である場合には(ステップS38,YES)、タプル空間2への送信処理を行い(ステップS39)、ステップS31に戻る。また、変数comが?である場合には(ステップS40,YES)、タプル空間2からの受信処理を行い(ステップS41)、ステップS31に戻る。また、変数comが?gである場合には(ステップS42,YES)、ウィジェットの生成処理を行い(ステップS43)、ステップS31に戻る。また、変数comが!gである場合には(ステップS44,YES)、ウィジェットのクローズ処理を行い(ステップS45)、ステップS31に戻る。   Here, the variable com is evaluated (step S35), and the following processing is performed according to the content of the variable com. First, when the variable com is “end” (step S36, YES), an end process is performed (step S37), and the process returns to step S31. The variable com is! If YES (step S38, YES), transmission processing to the tuple space 2 is performed (step S39), and the process returns to step S31. Also, what is the variable com? If YES (step S40, YES), the reception process from the tuple space 2 is performed (step S41), and the process returns to step S31. Also, what is the variable com? When it is g (step S42, YES), a widget generation process is performed (step S43), and the process returns to step S31. The variable com is! If it is g (step S44, YES), the widget is closed (step S45), and the process returns to step S31.

以下、プログラムコード実行部41による変数comの内容に応じた処理についてさらに説明する。
まず、図5のステップS37における終了処理について説明する。図6は、終了処理の流れを示すフローチャートである。終了処理では、変数p,com,adrs,val,var,nextに値NULLを格納し(ステップS51)、図5のステップS31に戻る。
Hereinafter, processing according to the contents of the variable com by the program code execution unit 41 will be further described.
First, the termination process in step S37 of FIG. 5 will be described. FIG. 6 is a flowchart showing the flow of end processing. In the termination process, the value NULL is stored in the variables p, com, adrs, val, var, next (step S51), and the process returns to step S31 in FIG.

次に、図5のステップS39におけるタプル空間2への送信処理について説明する。図7および図8は、タプル空間2への送信処理の流れを示すフローチャートである。
タプル空間2への送信処理では、まず、評価関数2nd(p),3rd(p)を評価し、評価結果をそれぞれ変数adrs,valに格納する(ステップS61)。また、評価関数4th(p)を評価し、評価結果を変数pに格納し直す(ステップS62)。
続いて、ウィジェットテーブル部34にリクエスト「(“search” adrs)」を送り(ステップS63)、チャネル識別子adrsに対応するファイルが自装置内に存在するか否かをウィジェットテーブル部34に問い合わせる。ウィジェットテーブル部34から結果が送り返されるまで待ち(ステップS64)、結果を受信すると、その結果を変数tmpWDに格納する(ステップS65)。
Next, the transmission process to the tuple space 2 in step S39 in FIG. 5 will be described. 7 and 8 are flowcharts showing the flow of transmission processing to the tuple space 2.
In the transmission process to the tuple space 2, first, the evaluation functions 2nd (p) and 3rd (p) are evaluated, and the evaluation results are stored in the variables adrs and val, respectively (step S61). Further, the evaluation function 4th (p) is evaluated, and the evaluation result is stored again in the variable p (step S62).
Subsequently, a request “(“ search ”adrs)” is sent to the widget table unit 34 (step S63), and the widget table unit 34 is inquired as to whether or not a file corresponding to the channel identifier adrs exists in the own device. Wait until the result is sent back from the widget table unit 34 (step S64). When the result is received, the result is stored in the variable tmpWD (step S65).

変数tmpWDを評価し、評価結果がNULLの場合、すなわちチャネル識別子adrsのチャネルに対応するファイルが自装置内に存在しない場合には(ステップS66,YES)、リクエスト送信部31に送信リクエスト(send,adrs,val)を送ることにより(ステップS67)、変数valをタプル空間2に送る。そして、タプル空間2からの送信完了メッセージが結果受信部32を介して送り返されるのを待って(ステップS68,YES)、図5のステップS31に戻る。   When the variable tmpWD is evaluated and the evaluation result is NULL, that is, when the file corresponding to the channel with the channel identifier adrs does not exist in the own apparatus (step S66, YES), a transmission request (send, By sending (adrs, val) (step S67), the variable val is sent to the tuple space 2. Then, after waiting for the transmission completion message from the tuple space 2 to be sent back through the result receiving unit 32 (step S68, YES), the process returns to step S31 in FIG.

これに対し、チャネル識別子adrsのチャネルに対応するファイルが自装置内に存在し、変数tmpWDの評価結果がNULLではなく、チャネル識別子とウィジェットとの組「(adrs widget)」の場合には(ステップS66,NO)、評価関数2nd(tmpWD)を評価し、評価結果(widget)を変数tmpWDに格納し直す(ステップS69)。また、評価関数1st(val),2nd(val),3rd(val)を評価し、評価結果をそれぞれ変数val1,val2,val3に格納する。(ステップS70)。   On the other hand, if a file corresponding to the channel of the channel identifier adrs exists in the own apparatus and the evaluation result of the variable tmpWD is not NULL, but is a pair of the channel identifier and the widget “(adrs width)” (step) (S66, NO), the evaluation function 2nd (tmpWD) is evaluated, and the evaluation result (width) is stored again in the variable tmpWD (step S69). Also, the evaluation functions 1st (val), 2nd (val), and 3rd (val) are evaluated, and the evaluation results are stored in the variables val1, val2, and val3, respectively. (Step S70).

ここで、変数val1を評価し(ステップS71)、変数val1の内容に応じた処理を行う。まず、変数val1がreadである場合には(ステップS72,YES)、評価関数apply(val2,tmpWD)を評価し、評価結果すなわちウィジェットwidgetの属性val2の値を変数valに格納し直す(ステップS73)。さらに、リクエスト送信部31に送信リクエスト(send,val3,val)を送ることにより(ステップS74)、変数val(ウィジェットwidgetの属性val2の値)をタプル空間2に送る。そして、タプル空間2からの送信完了メッセージが結果受信部32を介して送り返されるのを待って(ステップS75,YES)、図5のステップS31に戻る。   Here, the variable val1 is evaluated (step S71), and processing corresponding to the content of the variable val1 is performed. First, when the variable val1 is read (step S72, YES), the evaluation function apply (val2, tmpWD) is evaluated, and the evaluation result, that is, the value of the attribute val2 of the widget widget is stored again in the variable val (step S73). ). Further, by sending a transmission request (send, val3, val) to the request transmission unit 31 (step S74), the variable val (value of the attribute val2 of the widget widget) is sent to the tuple space 2. Then, after waiting for the transmission completion message from the tuple space 2 to be sent back through the result receiving unit 32 (step S75, YES), the process returns to step S31 in FIG.

次に、変数val1がwriteである場合には(ステップS76,YES)、評価関数set−data(val2,tmpWD,val3)を評価し、ウィジェットwidgetの属性val2の値を変数val3に更新し(ステップS77)、図5のステップS31に戻る。   Next, when the variable val1 is write (step S76, YES), the evaluation function set-data (val2, tmpWD, val3) is evaluated, and the value of the attribute val2 of the widget widget is updated to the variable val3 (step S77), the process returns to step S31 of FIG.

次に、変数val1がそれ以外の場合には(ステップS72,NOかつステップS76,NO)、評価関数cons(list2(list2(val2,tmpWD),val3),eventTable)を評価し、評価結果を変数eventTableに格納し直す(ステップS78)。これにより、イベントの種類であるval2の評価値(evと書く)とウィジェットwidgetとの組(ev widget)からチャネルval3への対応がイベントテーブルに保持される。続いて、評価関数assoc(val2,taiouTable)を評価し、評価結果を変数val3に格納し直す(ステップS79)。そして、評価関数2nd(val3)を評価し、評価結果を変数val3に格納し直す(ステップS80)。さらに、評価関数set−event(val2,tmpWD,val3)を評価する(ステップS81)。これにより、ウィジェットtmpWDでイベントval2が起こったときに呼び出される評価関数の名前が、val3に更新される。最後に、図5のステップS31に戻る。   Next, when the variable val1 is other than that (step S72, NO and step S76, NO), the evaluation function cons (list2 (list2 (val2, tmpWD), val3), eventTable) is evaluated, and the evaluation result is the variable. Re-store in eventTable (step S78). Thereby, the correspondence from the evaluation value (written as ev) of the event type val2 (written as ev) and the widget widget (ev widget) to the channel val3 is held in the event table. Subsequently, the evaluation function assoc (val2, tailTable) is evaluated, and the evaluation result is stored again in the variable val3 (step S79). Then, the evaluation function 2nd (val3) is evaluated, and the evaluation result is stored again in the variable val3 (step S80). Further, the evaluation function set-event (val2, tmpWD, val3) is evaluated (step S81). As a result, the name of the evaluation function called when the event val2 occurs in the widget tmpWD is updated to val3. Finally, the process returns to step S31 in FIG.

次に、図5のステップS41におけるタプル空間2からの受信処理について説明する。図9は、タプル空間2からの受信処理の流れを示すフローチャートである。
タプル空間2からの受信処理では、まず、評価関数2nd(p),3rd(p)および4th(p)を評価し、評価結果をそれぞれ変数adrs,varおよびnextに格納する(ステップS91)。続いて、リクエスト送信部31を介してタプル空間2に受信リクエスト(receive,adrs)を送る(ステップS92)。そして、タプル空間2からの受信メッセージが結果受信部32を介して送り返されるまで待つ。受信メッセージを受けると(ステップS93,YES)、この受信メッセージの値xを変数valに格納する(ステップS94)。評価関数substitute(val,var,next)を評価し、評価結果を変数pに格納して(ステップS95)、図5のステップS31に戻る。
Next, the reception process from the tuple space 2 in step S41 in FIG. 5 will be described. FIG. 9 is a flowchart showing a flow of reception processing from the tuple space 2.
In the reception process from the tuple space 2, first, the evaluation functions 2nd (p), 3rd (p), and 4th (p) are evaluated, and the evaluation results are stored in the variables adrs, var, and next, respectively (step S91). Subsequently, a reception request (receive, adrs) is sent to the tuple space 2 via the request transmission unit 31 (step S92). Then, it waits until the received message from the tuple space 2 is sent back through the result receiving unit 32. When a received message is received (step S93, YES), the value x of this received message is stored in the variable val (step S94). The evaluation function substate (val, var, next) is evaluated, the evaluation result is stored in the variable p (step S95), and the process returns to step S31 in FIG.

次に、図5のステップS43におけるウィジェットの生成処理について説明する。図10は、ウィジェットの生成処理の流れを示すフローチャートである。
ウィジェットの生成処理では、まず、評価関数2nd(p),3rd(p),4th(p)を評価し、評価結果をそれぞれ変数tmpWD,var,nextに格納する(ステップS101)。評価関数make−instance(tmpWD)を実行してウィジェットを生成し、その返値を変数tmpWDに格納し直す(ステップS102)。
Next, the widget generation process in step S43 in FIG. 5 will be described. FIG. 10 is a flowchart showing the flow of the widget generation process.
In the widget generation process, first, the evaluation functions 2nd (p), 3rd (p), and 4th (p) are evaluated, and the evaluation results are stored in variables tmpWD, var, and next, respectively (step S101). The evaluation function make-instance (tmpWD) is executed to generate a widget, and the return value is stored again in the variable tmpWD (step S102).

続いて、ウィジェットテーブル部34にリクエスト「(“add” tmpWD)」を送り(ステップS103)、新規チャネルの生成をウィジェットテーブル部34に要求し、ウィジェットテーブル部34から返答が送り返されるまで待つ。返答を受信すると(ステップS104,YES)、この返答にある新規チャネルの識別子の値tを変数valに格納し直す(ステップS105)。さらに、評価関数substitute(val,var,next)を評価し、評価結果を変数pに格納し直して(ステップS106)、図5のステップS31に戻る。   Subsequently, a request “(“ add ”tmpWD)” is sent to the widget table unit 34 (step S103), the generation of a new channel is requested to the widget table unit 34, and a response is sent back from the widget table unit 34. When a response is received (step S104, YES), the new channel identifier value t in this response is stored again in the variable val (step S105). Furthermore, the evaluation function subroutine (val, var, next) is evaluated, the evaluation result is stored again in the variable p (step S106), and the process returns to step S31 in FIG.

次に、図5のステップS45におけるウィジェットのクローズ処理について説明する。図11は、ウィジェットのクローズ処理の流れを示すフローチャートである。
ウィジェットのクローズ処理では、まず、評価関数3rd(p),4th(p)を評価し、評価結果を変数adrs,pに格納する(ステップS111)。続いて、ウィジェットテーブル部34にリクエスト「(“search” adrs)」を送り(ステップS112)、リクエストに対する結果がウィジェットテーブル部34から送り返されるまで待つ。結果を受信すると(ステップS113,YES)、その結果を変数tmpWDに格納する(ステップS114)。
続いて、ウィジェットテーブル部34にリクエスト「(“close” adrs)」を送る(ステップS115)。また、評価関数close(tmpWD)を実行し(ステップS116)、図5のステップS31に戻る。
Next, the widget closing process in step S45 of FIG. 5 will be described. FIG. 11 is a flowchart showing the flow of the widget closing process.
In the widget closing process, first, the evaluation functions 3rd (p) and 4th (p) are evaluated, and the evaluation results are stored in the variables adrs and p (step S111). Subsequently, a request “(“ search ”adrs)” is sent to the widget table unit 34 (step S112), and the process waits until a result for the request is sent back from the widget table unit 34. When the result is received (step S113, YES), the result is stored in the variable tmpWD (step S114).
Subsequently, a request “(“ close ”adrs)” is sent to the widget table unit 34 (step S115). Further, the evaluation function close (tmpWD) is executed (step S116), and the process returns to step S31 in FIG.

次に、ホスト装置3の各部の実行手順を、具体例により詳細に説明する。プログラムコード実行部41の内部変数pに、新規プログラムコード(?g button g_chan (! g_chan list3(write,title,“mybutton”) (! g_chan list2(read,background,10) (? 10 data1 (! g_chan list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close g_chan (end)))))))))を与えたとする。   Next, the execution procedure of each part of the host device 3 will be described in detail with specific examples. In the internal variable p of the program code execution unit 41, a new program code (? G button g_chan (! G_chan list3 (write, title, “mybutton”)) (! G_chan list2 (read, background, 10) (? 10 data1 (! G_chan list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! g close g_chan (end)))))))).

このとき、プログラムコード実行部41は、まず、変数pを評価し、評価結果(?g button g_chan (! g_chan list3(write,title,“mybutton”) (! g_chan list2(read,background,10) (? 10 data1 (! g_chan list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close g_chan (end)))))))))を変数valに格納する(図5のステップS31)。   At this time, the program code execution unit 41 first evaluates the variable p, and evaluates the result (? G button g_chan (! G_chan list3 (write, title, “mybutton”)) (! G_chan list2 (read, background, 10) ( 10 data1 (! G_chan list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! G close g_chan (end)))))))) is stored in the variable val (FIG. 5). Step S31).

変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果?gを変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が?gであるので(ステップS42,YES)、ウィジェットの生成処理を行う(ステップS43)。   When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result? g is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), what is the content of the variable com? Since it is g (step S42, YES), a widget generation process is performed (step S43).

具体的には、まず、評価関数2nd(p),3rd(p),4th(p)を評価し、評価結果button,g_chanおよび(! g_chan list3(write,title,“mybutton”) (! g_chan list2(read,background,10) (? 10 data1 (! g_chan list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close g_chan (end))))))))をそれぞれ変数tmpWD,varおよびnextに格納する(図10のステップS101)。   Specifically, first, the evaluation functions 2nd (p), 3rd (p), and 4th (p) are evaluated, and the evaluation results button, g_chan and (! G_chan list3 (write, title, “mybutton”) (! G_chan list2 (Read, background, 10) (? 10 data1 (! G_chan list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! G close g_chan (end))))))) Stored in variables tmpWD, var, and next (step S101 in FIG. 10).

次に、評価関数make−instance(tmpWD)を実行してクラスbuttonのウィジェットを生成し、make−instance関数の返値(widと書く)を変数tmpWDに格納し直す(ステップS102)。続いて、ウィジェットテーブル部34にリクエスト「(“add” wid)」を送り(ステップS103)、新規チャネルの生成をウィジェットテーブル部34に要求し、ウィジェットテーブル部34から返答が送り返されるまで待つ。   Next, the evaluation function make-instance (tmpWD) is executed to generate a widget of the class button, and the return value (written as “wid”) of the make-instance function is stored again in the variable tmpWD (step S102). Subsequently, a request “(“ add ”width”) is sent to the widget table unit 34 (step S103), the generation of a new channel is requested to the widget table unit 34, and a response is sent back from the widget table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“add” wid)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“add”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果widを変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“add”であるので(ステップS9,YES)、新規チャネル生成部33を呼び出す。   At this time, the widget table unit 34 is waiting for the arrival of a request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ add ”width)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “add” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result wid is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “add” (step S9, YES), the new channel generation unit 33 is called.

この呼び出しに応じて、新規チャネル生成部33は、新規チャネルを生成し、この新規チャネルを表すチャネル識別子(ここでは、0)をウィジェットテーブル部34に返す。
ウィジェットテーブル部34は、新規チャネル生成部33からチャネル識別子を受け取り、この識別子の値0を変数tに格納する(ステップS10)。そして、変数widgetTableに組「(0 wid)」を新たに加える(ステップS11)。さらに、値0をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS12)、ステップS1に戻る。
In response to this call, the new channel generation unit 33 generates a new channel and returns a channel identifier (in this case, 0) representing the new channel to the widget table unit 34.
The widget table unit 34 receives the channel identifier from the new channel generation unit 33, and stores the value 0 of this identifier in the variable t (step S10). Then, a new set “(0 width)” is added to the variable widgetTable (step S11). Further, the value 0 is returned to the program code execution unit 41 as a result of the request (step S12), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から返答を受信すると(図10のステップS104,YES)、この返答の値0を変数valに格納し直す(ステップS105)。そして、評価関数substitute(val,var,next)を評価し、評価結果(! 0 list3(write,title,“mybutton”) (! 0 list2(read,background,10) (? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end))))))))を変数pに格納し直す(ステップS106)。これによりウィジェットの生成処理を終了し、図5のステップS31に戻る。   When receiving a response from the widget table unit 34 (YES in step S104 in FIG. 10), the program code execution unit 41 stores the value 0 of the response in the variable val (step S105). Then, the evaluation function substate (val, var, next) is evaluated, and the evaluation result (! 0 list3 (write, title, “mybutton”) (! 0 list2 (read, background, 10) (? 10 data1 (! 0 list3 (Event, on-click, 20) (? 20 data2 (! -10 data1 (! G close 0 (end))))))) is stored again in the variable p (step S106). This completes the widget generation process, and returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(! 0 list3(write,title,“mybutton”) (! 0 list2(read,background,10) (? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end))))))))を変数valに格納する(図5のステップS31)。   Next, the program code execution unit 41 evaluates the variable p, and evaluates the result (! 0 list3 (write, title, “mybutton”) (! 0 list2 (read, background, 10) (? 10 data1 (! 0 list3 (Event, on-click, 20) (? 20 data2 (! -10 data1 (! G close 0 (end))))))) is stored in the variable val (step S31 in FIG. 5).

変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果!を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が!であるので(ステップS38,YES)、タプル空間2への送信処理を行う(ステップS39)。   When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result! Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), the content of the variable com is! Therefore (step S38, YES), transmission processing to the tuple space 2 is performed (step S39).

具体的には、まず、評価関数2nd(p)および3rd(p)を評価し、評価結果0および(write,title,“mybutton”)をそれぞれ変数adrsおよびvalに格納する(図7のステップS61)。また、評価関数4th(p)を評価し、評価結果(! 0 list2(read,background,10) (? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end)))))))を変数pに格納し直す(ステップS62)。
続いて、ウィジェットテーブル部34にリクエスト「(“search” 0)」を送り(ステップS63)、チャネル識別子0に対応するファイルが自装置内に存在するか否かをウィジェットテーブル部34に問い合わせ、ウィジェットテーブル部34から結果が送り返されるまで待つ。
Specifically, first, the evaluation functions 2nd (p) and 3rd (p) are evaluated, and the evaluation results 0 and (write, title, “mybutton”) are stored in the variables adrs and val, respectively (step S61 in FIG. 7). ). Also, the evaluation function 4th (p) is evaluated, and the evaluation result (! 0 list2 (read, background, 10) (? 10 data1 (! 0 list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! g close 0 (end)))))) is stored again in the variable p (step S62).
Subsequently, a request “(“ search ”0)” is sent to the widget table unit 34 (step S63), and the widget table unit 34 is inquired as to whether or not a file corresponding to the channel identifier 0 exists in the own device. Wait until the result is sent back from the table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“search” 0)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“search”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果0を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“search”であるので(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果(0,wid)を変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果(0,wid)をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。   At this time, the widget table unit 34 waits for the arrival of a request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ search ”0)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “search” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 0 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result (0, wid) is converted to the variable r. (Step S7). Then, the evaluation result (0, wiid) stored in the variable r is returned to the program code execution unit 41 as a result of the request (step S8), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から結果を受信すると(図7のステップS64)、その結果(0,wid)を変数tmpWDに格納する(ステップS65)。変数tmpWDを評価すると、評価結果がチャネル識別子とウィジェットとの組(0 wid)であるので(ステップS66,NO)、評価関数2nd(tmpWD)を評価し、評価結果widを変数tmpWDに格納し直す(ステップS69)。また、評価関数1st(val),2nd(val),3rd(val)を評価し、それぞれの値write,title,“mybutton”を変数val1,val2,val3に格納する。(ステップS70)。   When receiving the result from the widget table unit 34 (step S64 in FIG. 7), the program code execution unit 41 stores the result (0, wiid) in the variable tmpWD (step S65). When the variable tmpWD is evaluated, the evaluation result is a set (0 wiid) of the channel identifier and the widget (NO in step S66), so the evaluation function 2nd (tmpWD) is evaluated and the evaluation result wid is stored again in the variable tmpWD. (Step S69). The evaluation functions 1st (val), 2nd (val), and 3rd (val) are evaluated, and the values write, title, and “mybutton” are stored in the variables val1, val2, and val3. (Step S70).

変数val1を評価すると(ステップS71)、変数val1がwriteであるので(図8のステップS76,YES)、評価関数set−data(val2,tmpWD,val3)を評価し、ウィジェットwidの属性titleの値を“mybutton”に更新する(ステップS77)。これにより、タプル空間2への送信処理を終了し、図5のステップS31に戻る。   When the variable val1 is evaluated (step S71), since the variable val1 is “write” (step S76 in FIG. 8, YES), the evaluation function set-data (val2, tmpWD, val3) is evaluated, and the value of the attribute title of the widget width Is updated to “mybutton” (step S77). Thereby, the transmission process to the tuple space 2 is terminated, and the process returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(! 0 list2(read,background,10) (? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end)))))))を変数valに格納する(図5のステップS31)。   Next, the program code execution unit 41 evaluates the variable p, and evaluates the result (! 0 list2 (read, background, 10) (? 10 data1 (! 0 list3 (event, on-click, 20) (? 20 data2 (! −10 data1 (! G close 0 (end)))))) is stored in the variable val (step S31 in FIG. 5).

変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果!を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が!であるので(ステップS38,YES)、タプル空間2への送信処理を行う(ステップS39)。   When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result! Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), the content of the variable com is! Therefore (step S38, YES), transmission processing to the tuple space 2 is performed (step S39).

具体的には、まず、評価関数2nd(p)および3rd(p)を評価し、評価結果0および(read,background,10)をそれぞれ変数adrsおよびvalに格納する(図7のステップS61)。また、評価関数4th(p)を評価し、評価結果(? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end))))))を変数pに格納し直す(ステップS62)。
続いて、ウィジェットテーブル部34にリクエスト「(“search” 0)」を送り(ステップS63)、チャネル識別子0に対応するファイルが自装置内に存在するか否かをウィジェットテーブル部34に問い合わせ、ウィジェットテーブル部34から結果が送り返されるまで待つ。
Specifically, first, evaluation functions 2nd (p) and 3rd (p) are evaluated, and evaluation results 0 and (read, background, 10) are stored in variables adrs and val, respectively (step S61 in FIG. 7). Also, the evaluation function 4th (p) is evaluated, and the evaluation result (? 10 data1 (! 0 list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! G close 0 (end))) ))) Is stored again in the variable p (step S62).
Subsequently, a request “(“ search ”0)” is sent to the widget table unit 34 (step S63), and the widget table unit 34 is inquired as to whether or not a file corresponding to the channel identifier 0 exists in the own device. Wait until the result is sent back from the table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“search” 0)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“search”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果0を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“search”であるので(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果(0,wid)を変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果(0,wid)をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。   At this time, the widget table unit 34 waits for the arrival of a request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ search ”0)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “search” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 0 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result (0, wid) is converted to the variable r. (Step S7). Then, the evaluation result (0, wiid) stored in the variable r is returned to the program code execution unit 41 as a result of the request (step S8), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から結果を受信すると(図7のステップS64)、その結果(0,wid)を変数tmpWDに格納する(ステップS65)。変数tmpWDを評価すると、評価結果がチャネル識別子とウィジェットとの組(0 wid)であるので(ステップS66,NO)、評価関数2nd(tmpWD)を評価し、評価結果widを変数tmpWDに格納し直す(ステップS69)。また、評価関数1st(val),2nd(val),3rd(val)を評価し、それぞれの値read,background,10を変数val1,val2,val3に格納する。(ステップS70)。   When receiving the result from the widget table unit 34 (step S64 in FIG. 7), the program code execution unit 41 stores the result (0, wiid) in the variable tmpWD (step S65). When the variable tmpWD is evaluated, the evaluation result is a set (0 wiid) of the channel identifier and the widget (NO in step S66), so the evaluation function 2nd (tmpWD) is evaluated and the evaluation result wid is stored again in the variable tmpWD. (Step S69). Also, the evaluation functions 1st (val), 2nd (val), and 3rd (val) are evaluated, and the values read, background, and 10 are stored in variables val1, val2, and val3. (Step S70).

変数val1を評価すると(ステップS71)、変数val1がreadであるので(図8のステップS72,YES)、評価関数apply(val2,tmpWD)を評価し、評価結果の値(widの背景色属性;colorと書く)を変数valに格納し直す(ステップS73)。さらに、リクエスト送信部31に送信リクエスト(send,10,color)を送ることにより(ステップS74)、colorをタプル空間2に送る。そして、送信完了メッセージが送り返されるのを待つ。   When the variable val1 is evaluated (step S71), since the variable val1 is read (step S72 in FIG. 8, YES), the evaluation function apply (val2, tmpWD) is evaluated, and the value of the evaluation result (background color attribute of wid; (color) is stored again in the variable val (step S73). Further, by sending a transmission request (send, 10, color) to the request transmission unit 31 (step S74), the color is sent to the tuple space 2. Then, it waits for the transmission completion message to be sent back.

タプル空間2は、受信した送信リクエスト(send,10,color)と同じチャネル識別子10を持つ受信リクエスト(receive,10)がタプル空間2内に存在するかどうかを調べる。存在する場合には、送信リクエスト(send,10,color)の送信元ホスト装置3に送信完了メッセージを送り、受信リクエスト(receive,10)の送信元ホスト装置3に受信メッセージcolorを送る。
プログラムコード実行部41は、タプル空間2からの送信完了メッセージを結果受信部32を介して受信すると(ステップS75,YES)、タプル空間2への送信処理を終了し、図5のステップS31に戻る。
The tuple space 2 checks whether a reception request (receive, 10) having the same channel identifier 10 as the received transmission request (send, 10, color) exists in the tuple space 2. If it exists, a transmission completion message is sent to the transmission source host apparatus 3 of the transmission request (send, 10, color), and a reception message color is transmitted to the transmission source host apparatus 3 of the reception request (receive, 10).
When the program code execution unit 41 receives a transmission completion message from the tuple space 2 via the result reception unit 32 (YES in step S75), the program code execution unit 41 ends the transmission processing to the tuple space 2 and returns to step S31 in FIG. .

次に、プログラムコード実行部41は、変数pを評価し、評価結果(? 10 data1 (! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end))))))を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果?を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が?であるので(ステップS40,YES)、タプル空間2からの受信処理を行う(ステップS41)。
Next, the program code execution unit 41 evaluates the variable p, and evaluates the evaluation result (? 10 data1 (! 0 list3 (event, on-click, 20) (? 20 data2 (! -10 data1 (! G close 0 end)))))) is stored in the variable val (step S31 in FIG. 5).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result? Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), what is the content of the variable com? Therefore (step S40, YES), the reception process from the tuple space 2 is performed (step S41).

具体的には、まず、評価関数2nd(p),3rd(p)および4th(p)を評価し、評価結果10,data1および(! 0 list3(event,on−click,20) (? 20 data2 (! −10 data1 (!g close 0 (end)))))をそれぞれ変数adrs,varおよびnextに格納する(ステップS91)。続いて、リクエスト送信部31を介してタプル空間2に受信リクエスト(receive,10)を送る(ステップS92)。そして、受信メッセージが送り返されるのを待つ。   Specifically, first, the evaluation functions 2nd (p), 3rd (p), and 4th (p) are evaluated, and the evaluation results 10, data1 and (! 0 list3 (event, on-click, 20) (? 20 data2 (! −10 data1 (! G close 0 (end)))) is stored in the variables adrs, var and next, respectively (step S91). Subsequently, a reception request (receive, 10) is sent to the tuple space 2 via the request transmission unit 31 (step S92). Then, it waits for the received message to be sent back.

タプル空間2は、受信した受信リクエスト(receive,10)と同じチャネル識別子10を持つ送信リクエスト(send,10,color)がタプル空間2内に存在するかどうかを調べる。存在する場合には、送信リクエスト(send,10,color)の送信元ホスト装置3に送信完了メッセージを送り、受信リクエスト(receive,10)の送信元ホスト装置3に受信メッセージcolorを送る。   The tuple space 2 checks whether a transmission request (send, 10, color) having the same channel identifier 10 as the received reception request (receive, 10) exists in the tuple space 2. If it exists, a transmission completion message is sent to the transmission source host apparatus 3 of the transmission request (send, 10, color), and a reception message color is transmitted to the transmission source host apparatus 3 of the reception request (receive, 10).

プログラムコード実行部41は、タプル空間2からの受信メッセージcolorを結果受信部32を介して受信すると(図9のステップS93,YES)、この受信メッセージの値colorを変数valに格納する(ステップS94)。そして、評価関数substitute(val,var,next)を評価し、評価結果(! 0 list3(event,on−click,20) (? 20 data2 (! −10 color (!g close 0 (end)))))を変数pに格納する(ステップS95)。これにより、タプル空間2からの受信処理を終了し、図5のステップS31に戻る。   When the program code execution unit 41 receives the received message color from the tuple space 2 via the result receiving unit 32 (step S93, YES in FIG. 9), the program code execution unit 41 stores the value color of this received message in the variable val (step S94). ). Then, the evaluation function substate (val, var, next) is evaluated, and the evaluation result (! 0 list3 (event, on-click, 20) (? 20 data2 (! −10 color (! G close 0 (end))) )) Is stored in the variable p (step S95). Thereby, the reception process from the tuple space 2 is terminated, and the process returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(! 0 list3(event,on−click,20) (? 20 data2 (! −10 color (!g close 0 (end)))))を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果!を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が!であるので(ステップS38,YES)、タプル空間2への送信処理を行う(ステップS39)。
Next, the program code execution unit 41 evaluates the variable p, and evaluates the result (! 0 list3 (event, on-click, 20) (? 20 data2 (! -10 color (! G close 0 (end))) )) Is stored in the variable val (step S31 in FIG. 5).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result! Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), the content of the variable com is! Therefore (step S38, YES), transmission processing to the tuple space 2 is performed (step S39).

具体的には、まず、評価関数2nd(p)および3rd(p)を評価し、評価結果0および(event,on−click,20)をそれぞれ変数adrsおよびvalに格納する(図7のステップS61)。また、評価関数4th(p)を評価し、評価結果(? 20 data2 (! −10 color (!g close 0 (end))))を変数pに格納し直す(ステップS62)。
続いて、ウィジェットテーブル部34にリクエスト「(“search” 0)」を送り(ステップS63)、チャネル識別子0に対応するファイルが自装置内に存在するか否かをウィジェットテーブル部34に問い合わせ、ウィジェットテーブル部34から結果が送り返されるまで待つ。
Specifically, first, the evaluation functions 2nd (p) and 3rd (p) are evaluated, and the evaluation results 0 and (event, on-click, 20) are stored in the variables adrs and val, respectively (step S61 in FIG. 7). ). In addition, the evaluation function 4th (p) is evaluated, and the evaluation result (? 20 data2 (! −10 color (! G close 0 (end)))) is stored again in the variable p (step S62).
Subsequently, a request “(“ search ”0)” is sent to the widget table unit 34 (step S63), and the widget table unit 34 is inquired as to whether or not a file corresponding to the channel identifier 0 exists in the own device. Wait until the result is sent back from the table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“search” 0)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“search”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果0を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“search”であるので(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果(0,wid)を変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果(0,wid)をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。   At this time, the widget table unit 34 waits for the arrival of a request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ search ”0)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “search” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 0 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result (0, wid) is converted to the variable r. (Step S7). Then, the evaluation result (0, wiid) stored in the variable r is returned to the program code execution unit 41 as a result of the request (step S8), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から結果を受信すると(図7のステップS64)、その結果(0,wid)を変数tmpWDに格納する(ステップS65)。変数tmpWDを評価すると、評価結果がチャネル識別子とウィジェットとの組(0 wid)であるので(ステップS66,NO)、評価関数2nd(tmpWD)を評価し、評価結果widを変数tmpWDに格納し直す(ステップS69)。また、評価関数1st(val),2nd(val),3rd(val)を評価し、それぞれの値event,on−click,20を変数val1,val2,val3に格納する。(ステップS70)。   When receiving the result from the widget table unit 34 (step S64 in FIG. 7), the program code execution unit 41 stores the result (0, wiid) in the variable tmpWD (step S65). When the variable tmpWD is evaluated, the evaluation result is a set (0 wiid) of the channel identifier and the widget (NO in step S66), so the evaluation function 2nd (tmpWD) is evaluated and the evaluation result wid is stored again in the variable tmpWD. (Step S69). The evaluation functions 1st (val), 2nd (val), and 3rd (val) are evaluated, and the values event, on-click, and 20 are stored in the variables val1, val2, and val3. (Step S70).

変数val1を評価すると(ステップS71)、変数val1がreadでもwriteでもなくeventであるので(ステップS72,NOかつステップS76,NO)、評価関数cons(list2(list2(val2,tmpWD),val3),eventTable)を評価し、評価値すなわちリスト((on−clock wid) 20)を変数eventTableの評価値の先頭に追加したものを、変数eventTableに格納し直す(ステップS78)。これにより、イベントの種類であるval2の評価値on−clickとウィジェットwidとの組(on−click wid)からチャネル20への対応がイベントテーブルに保持される。   When the variable val1 is evaluated (step S71), since the variable val1 is neither read nor write but event (step S72, NO and step S76, NO), the evaluation function cons (list2 (list2 (val2, tmpWD), val3), eventTable) is evaluated, and an evaluation value, that is, a list ((on-clock width) 20) added to the beginning of the evaluation value of the variable eventTable is stored again in the variable eventTable (step S78). Thereby, the correspondence from the evaluation value on-click of val2 which is the type of the event and the widget 20 to the channel 20 from the set (on-click widget) is held in the event table.

続いて、評価関数assoc(val2,taiouTable)を評価し、評価値(on−click f−on−click)を変数val3に格納し直す(ステップS79)。そして、評価関数2nd(val3)を評価し、評価値f−on−clickを変数val3に格納し直す(ステップS80)。さらに、評価関数set−event(val2,tmpWD,val3)を評価する(ステップS81)。これにより、ウィジェットwidでイベントon−clickが起こったときに呼び出される評価関数の名前が、f−on−clickに更新される。タプル空間2への送信処理を終了し、図5のステップS31に戻る。   Subsequently, the evaluation function assoc (val2, tailTable) is evaluated, and the evaluation value (on-click f-on-click) is stored again in the variable val3 (step S79). Then, the evaluation function 2nd (val3) is evaluated, and the evaluation value f-on-click is stored again in the variable val3 (step S80). Further, the evaluation function set-event (val2, tmpWD, val3) is evaluated (step S81). As a result, the name of the evaluation function that is called when the event on-click occurs in the widget “wid” is updated to “f-on-click”. The transmission process to the tuple space 2 is terminated, and the process returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(? 20 data2 (! −10 color (!g close 0 (end))))を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果?を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が?であるので(ステップS40,YES)、タプル空間2からの受信処理を行う(ステップS41)。
Next, the program code execution unit 41 evaluates the variable p, and stores the evaluation result (? 20 data2 (! -10 color (! G close 0 (end))) in the variable val (step S31 in FIG. 5). ).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result? Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), what is the content of the variable com? Therefore (step S40, YES), the reception process from the tuple space 2 is performed (step S41).

具体的には、まず、評価関数2nd(p),3rd(p)および4th(p)を評価し、評価結果20,data2および(! −10 color (!g close 0 (end)))をそれぞれ変数adrs,varおよびnextに格納する(ステップS91)。続いて、リクエスト送信部31を介してタプル空間2に受信リクエスト(receive,20)を送る(ステップS92)。そして、受信メッセージが送り返されるのを待つ。   Specifically, first, the evaluation functions 2nd (p), 3rd (p) and 4th (p) are evaluated, and the evaluation results 20, data2 and (! −10 color (! G close 0 (end))) are respectively obtained. Store in the variables adrs, var and next (step S91). Subsequently, a reception request (receive, 20) is sent to the tuple space 2 via the request transmission unit 31 (step S92). Then, it waits for the received message to be sent back.

タプル空間2は、受信した受信リクエスト(receive,20)と同じチャネル識別子20を持つ送信リクエストがタプル空間2内に存在するかどうかを調べる。存在しない場合には、受信リクエスト(receive,20)の送信元ホスト装置3に受信メッセージとして値NULLを送る。   The tuple space 2 checks whether a transmission request having the same channel identifier 20 as the received reception request (receive, 20) exists in the tuple space 2. If it does not exist, the value NULL is sent as a reception message to the transmission source host apparatus 3 of the reception request (receive, 20).

プログラムコード実行部41は、タプル空間2からの受信メッセージを結果受信部32を介して受信すると(図9のステップS93,YES)、この受信メッセージの値NULLを変数valに格納する(ステップS94)。そして、評価関数substitute(val,var,next)を評価し、評価結果(! −10 color (!g close 0 (end)))を変数pに格納する(ステップS95)。これにより、タプル空間2からの受信処理を終了し、図5のステップS31に戻る。   When receiving the received message from the tuple space 2 via the result receiving unit 32 (step S93 in FIG. 9, YES), the program code execution unit 41 stores the value NULL of this received message in the variable val (step S94). . Then, the evaluation function “substate” (val, var, next) is evaluated, and the evaluation result (! −10 color (! G close 0 (end))) is stored in the variable p (step S95). Thereby, the reception process from the tuple space 2 is terminated, and the process returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(! −10 color (!g close 0 (end)))を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果!を変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が!であるので(ステップS38,YES)、タプル空間2への送信処理を行う(ステップS39)。
Next, the program code execution unit 41 evaluates the variable p, and stores the evaluation result (! −10 color (! G close 0 (end))) in the variable val (step S31 in FIG. 5).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result! Is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), the content of the variable com is! Therefore (step S38, YES), transmission processing to the tuple space 2 is performed (step S39).

具体的には、まず、評価関数2nd(p)および3rd(p)を評価し、評価結果−10およびcolorをそれぞれ変数adrsおよびvalに格納する(図7のステップS61)。また、評価関数4th(p)を評価し、評価結果(!g close 0 (end))を変数pに格納し直す(ステップS62)。
続いて、ウィジェットテーブル部34にリクエスト「(“search” 10)」を送り(ステップS63)、チャネル識別子10に対応するファイルが自装置内に存在するか否かをウィジェットテーブル部34に問い合わせ、ウィジェットテーブル部34から結果が送り返されるまで待つ。
Specifically, first, the evaluation functions 2nd (p) and 3rd (p) are evaluated, and the evaluation results −10 and color are stored in the variables adrs and val, respectively (step S61 in FIG. 7). Further, the evaluation function 4th (p) is evaluated, and the evaluation result (! G close 0 (end)) is stored again in the variable p (step S62).
Subsequently, a request “(“ search ”10)” is sent to the widget table unit 34 (step S63), and the widget table unit 34 is inquired as to whether or not a file corresponding to the channel identifier 10 exists in the own device. Wait until the result is sent back from the table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“search” 10)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“search”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果10を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“search”であるので(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果NULLを変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果NULLをリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。   At this time, the widget table unit 34 is waiting for the arrival of the request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ search ”10)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “search” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 10 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result NULL is stored again in the variable r. (Step S7). Then, the evaluation result NULL stored in the variable r is returned to the program code execution unit 41 as a result of the request (step S8), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から結果を受信すると(図7のステップS64)、その結果NULLを変数tmpWDに格納する(ステップS65)。変数tmpWDを評価すると、評価結果がNULLであるので(ステップS66,YES)、リクエスト送信部31を介してタプル空間2に送信リクエスト(send,−10,color)を送る(ステップS67)。そして、送信完了メッセージが送り返されるまで待つ。   When receiving the result from the widget table unit 34 (step S64 in FIG. 7), the program code execution unit 41 stores the result NULL in the variable tmpWD (step S65). When the variable tmpWD is evaluated, the evaluation result is NULL (step S66, YES), so a transmission request (send, -10, color) is sent to the tuple space 2 via the request transmission unit 31 (step S67). Then, it waits until a transmission completion message is sent back.

タプル空間2は、受信した送信リクエスト(send,−10,color)と同じチャネル識別子−10を持つ受信リクエスト(receive,−10)がタプル空間2内に存在するかどうかを調べる。存在する場合には、送信リクエスト(send,−10,color)の送信元ホスト装置3に送信完了メッセージを送り、受信リクエスト(receive,−10)の送信元ホスト装置3に受信メッセージcolorを送る。
プログラムコード実行部41は、タプル空間2からの送信完了メッセージを結果受信部32を介して受信すると(ステップS68,YES)、タプル空間2への送信処理を終了し、図5のステップS31に戻る。
The tuple space 2 checks whether there is a reception request (receive, -10) having the same channel identifier −10 as the received transmission request (send, −10, color) in the tuple space 2. If it exists, a transmission completion message is sent to the transmission source host apparatus 3 of the transmission request (send, -10, color), and a reception message color is transmitted to the transmission source host apparatus 3 of the reception request (receive, -10).
When the program code execution unit 41 receives a transmission completion message from the tuple space 2 via the result reception unit 32 (YES in step S68), the program code execution unit 41 ends the transmission processing to the tuple space 2 and returns to step S31 in FIG. .

次に、プログラムコード実行部41は、変数pを評価し、評価結果(!g close 0 (end))を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果!gを変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容が!gであるので(ステップS44,YES)、ウィジェットのクローズ処理を行う(ステップS45)。
Next, the program code execution unit 41 evaluates the variable p, and stores the evaluation result (! G close 0 (end)) in the variable val (step S31 in FIG. 5).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), so the evaluation function 1st (p) is evaluated and the evaluation result! g is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), the content of the variable com is! Since it is g (step S44, YES), the widget closing process is performed (step S45).

具体的には、まず、評価関数3rd(p),4th(p)を評価し、評価結果0,(end)をそれぞれ変数adrs,pに格納する(図11のステップS111)。続いて、ウィジェットテーブル部34にリクエスト「(“search” 0)」を送り(ステップS112)、リクエストに対する結果がウィジェットテーブル部34から送り返されるまで待つ。   Specifically, first, evaluation functions 3rd (p) and 4th (p) are evaluated, and evaluation results 0 and (end) are stored in variables adrs and p, respectively (step S111 in FIG. 11). Subsequently, a request “(“ search ”0)” is sent to the widget table unit 34 (step S112), and the process waits until a result for the request is sent back from the widget table unit 34.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“search” 0)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“search”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果0を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“search”であるので(ステップS6,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果(0,wid)を変数rに格納し直す(ステップS7)。そして、変数rに格納された評価結果(0,wid)をリクエストに対する結果としてプログラムコード実行部41に返し(ステップS8)、ステップS1に戻る。   At this time, the widget table unit 34 waits for the arrival of a request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ search ”0)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “search” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 0 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “search” (step S6, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result (0, wid) is converted to the variable r. (Step S7). Then, the evaluation result (0, wiid) stored in the variable r is returned to the program code execution unit 41 as a result of the request (step S8), and the process returns to step S1.

プログラムコード実行部41は、ウィジェットテーブル部34から結果を受信すると(図11のステップS113)、その結果(0,wid)を変数tmpWDに格納する(ステップS114)。
続いて、ウィジェットテーブル部34にリクエスト「(“close” 0)」を送る(ステップS115)。また、評価関数close(wid)を実行し(ステップS116)、図5のステップS31に戻る。
When receiving the result from the widget table unit 34 (step S113 in FIG. 11), the program code execution unit 41 stores the result (0, wiid) in the variable tmpWD (step S114).
Subsequently, a request “(“ close ”0)” is sent to the widget table unit 34 (step S115). Also, the evaluation function close (wid) is executed (step S116), and the process returns to step S31 in FIG.

このとき、ウィジェットテーブル部34は、プログラムコード実行部41からのリクエストの到着を待っており(図3のステップS1)、受信したリクエスト「(“close” 0)」を変数rに格納する(ステップS2)。そして、評価関数1st(r)を評価し、評価結果“close”を変数cに格納する(ステップS3)。また、評価関数2nd(r)を評価し、評価結果0を変数rに格納し直す(ステップS4)。変数cを評価すると(ステップS5)、変数cの内容が“close”であるので(ステップS13,YES)、評価関数assoc(r,widgetTable)を評価し、評価結果(0,wid)を変数rに格納し直す(ステップS14)。そして、変数rと同一内容の組(0,wid)を変数widgetTableから削除して、変数widgetTableに格納し直し(ステップS15)、ステップS1に戻る。   At this time, the widget table unit 34 is waiting for the arrival of the request from the program code execution unit 41 (step S1 in FIG. 3), and stores the received request “(“ close ”0)” in the variable r (step S1). S2). Then, the evaluation function 1st (r) is evaluated, and the evaluation result “close” is stored in the variable c (step S3). Further, the evaluation function 2nd (r) is evaluated, and the evaluation result 0 is stored again in the variable r (step S4). When the variable c is evaluated (step S5), since the content of the variable c is “close” (step S13, YES), the evaluation function assoc (r, widgetTable) is evaluated, and the evaluation result (0, wid) is converted into the variable r. (Step S14). Then, the set (0, wid) having the same contents as the variable r is deleted from the variable widgetTable, stored again in the variable widgetTable (step S15), and the process returns to step S1.

次に、プログラムコード実行部41は、変数pを評価し、評価結果(end)を変数valに格納する(図5のステップS31)。
変数valを評価すると、変数valの内容がNULLでないので(ステップS32,NO)、評価関数1st(p)を評価し、評価結果endを変数comに格納する(ステップS33)。さらに、変数adrs,val,var,nextに値NULLを格納する(ステップS34)。変数comを評価すると(ステップS35)、変数comの内容がendであるので(ステップS36,YES)、終了処理を行う(ステップS37)。すなわち、変数p,com,adrs,val,var,nextに値NULLを格納し(図6のステップS51)、図5のステップS31に戻る。
Next, the program code execution unit 41 evaluates the variable p and stores the evaluation result (end) in the variable val (step S31 in FIG. 5).
When the variable val is evaluated, the content of the variable val is not NULL (step S32, NO), the evaluation function 1st (p) is evaluated, and the evaluation result end is stored in the variable com (step S33). Further, the value NULL is stored in the variables adrs, val, var, next (step S34). When the variable com is evaluated (step S35), since the content of the variable com is end (step S36, YES), an end process is performed (step S37). That is, the value NULL is stored in the variables p, com, adrs, val, var, next (step S51 in FIG. 6), and the process returns to step S31 in FIG.

次に、プログラムコード実行部41は、変数pを評価し、評価結果NULLを変数valに格納する(図5のステップS31)。変数valを評価すると、変数valの内容がNULLなので(ステップS32,YES)、処理を終了する。   Next, the program code execution unit 41 evaluates the variable p and stores the evaluation result NULL in the variable val (step S31 in FIG. 5). When the variable val is evaluated, since the content of the variable val is NULL (step S32, YES), the process is terminated.

プログラムコード実行部41が前述の処理を実行しているときに、ウィジェットwid上でマウスクリックイベントが発生すると、ウィンドウシステム36は、widとNULLを引数として、イベント評価関数部on−clickを呼び出す。   When the mouse code event occurs on the widget “wid” while the program code execution unit 41 is executing the above-described processing, the window system 36 calls the event evaluation function unit “on-click” with “wid” and “NULL” as arguments.

呼び出されたイベント評価関数部on−clickは、ウィンドウシステム36から渡された引数wid,NULLをそれぞれ変数widTEMP,dataに格納する。そして、評価関数assoc(list2(A,widTEMP),eventTable)を評価し、評価結果(on−click wid 20)を変数valに格納する(図4のステップS21)。さらに、評価関数2nd(val)を評価し、評価結果20を変数adrsに格納する(ステップS22)。
続いて、リクエスト送信部31に送信リクエスト(send,20,NULL)を送ることにより(ステップS23)、タプル空間2にイベントの検出時に呼び出される評価関数の引数を送る。そして、送信完了メッセージが送り返されるまで待つ。
The called event evaluation function part on-click stores the arguments wid and NULL passed from the window system 36 in variables widTEMP and data, respectively. Then, the evaluation function assoc (list2 (A, widTEMP), eventTable) is evaluated, and the evaluation result (on-click width 20) is stored in the variable val (step S21 in FIG. 4). Further, the evaluation function 2nd (val) is evaluated, and the evaluation result 20 is stored in the variable adrs (step S22).
Subsequently, by sending a transmission request (send, 20, NULL) to the request transmission unit 31 (step S23), an argument of an evaluation function called when an event is detected is sent to the tuple space 2. Then, it waits until a transmission completion message is sent back.

タプル空間2は、受信した送信リクエスト(send,20,NULL)と同じチャネル識別子20を持つ受信リクエスト(receive,20)がタプル空間2内に存在するかどうかを調べる。存在する場合には、送信リクエスト(send,20,NULL)の送信元ホスト装置3に送信完了メッセージを送り、受信リクエスト(receive,20)の送信元ホスト装置3に受信メッセージNULLを送る。
イベント評価関数部on−clickは、タプル空間2からの送信完了メッセージを結果受信部32を介して受信すると(ステップS24,YES)、返り値としてNULLを返し(ステップS25)、処理を終了する。
The tuple space 2 checks whether a reception request (receive, 20) having the same channel identifier 20 as the received transmission request (send, 20, NULL) exists in the tuple space 2. If it exists, a transmission completion message is sent to the transmission source host apparatus 3 of the transmission request (send, 20, NULL), and a reception message NULL is transmitted to the transmission source host apparatus 3 of the reception request (receive, 20).
When the event evaluation function part on-click receives the transmission completion message from the tuple space 2 via the result receiving part 32 (step S24, YES), the event evaluation function part on-click returns NULL as a return value (step S25) and ends the process.

本実施の形態では、ホスト装置3が、リクエスト送信部31と、結果受信部32と、新規チャネル生成部33と、ウィジェットテーブル部34と、実行部35と、ウィンドウシステム36とを持つものとして説明した。しかし、ホスト装置3の構成を、プログラムコードの各命令に基づく一連の動作を実現する機能部の観点から捉えることもできる。
例えば、ウィジェット生成命令?gにしたがうことにより、ウィジェットを生成するとともに、このウィジェットに対応するチャネルを新規に生成し、これらのウィジェットとチャネルとを対応付けて保持するウィジェット生成保持部が実現される。
また、属性読出送信命令!およびreadにしたがうことにより、この要求により指定されたチャネルに対応するウィジェットをウィジェット生成保持部から読み出し、読み出されたウィジェットの属性をタプル空間2に送信する属性読出送信部が実現される。
In the present embodiment, the host device 3 is described as having a request transmission unit 31, a result reception unit 32, a new channel generation unit 33, a widget table unit 34, an execution unit 35, and a window system 36. did. However, the configuration of the host device 3 can also be understood from the viewpoint of a functional unit that implements a series of operations based on each instruction of the program code.
For example, widget generation instruction? According to g, a widget generation unit that generates a widget, newly generates a channel corresponding to the widget, and stores the widget and the channel in association with each other is realized.
Also, read attribute transmission command! By following the “read” and the “read”, an attribute read transmission unit that reads a widget corresponding to the channel specified by this request from the widget generation holding unit and transmits the attribute of the read widget to the tuple space 2 is realized.

また、属性変更命令!およびwriteにしたがうことにより、この命令により指定されたチャネルに対応するウィジェットをウィジェット生成保持部から読み出し、読み出されたウィジェットの属性を変更する属性変更部が実現される。
また、ウィジェットクローズ命令!gにしたがうことにより、この要求により指定されたチャネルに対応するウィジェットをクローズして終了するクローズ終了部が実現される。
さらに、イベントが発生したときに呼び出される関数の引数をタプル空間に送信する引数送信部が実現される。
Also, attribute change command! By following the command and write, an attribute changing unit that reads the widget corresponding to the channel specified by this command from the widget generation holding unit and changes the attribute of the read widget is realized.
Also, widget close instruction! By following g, a close end unit that closes and ends the widget corresponding to the channel specified by this request is realized.
Furthermore, an argument transmission unit that transmits an argument of a function called when an event occurs to the tuple space is realized.

なお、本実施の形態において、タプル空間2およびホスト装置3は、コンピュータにより実現することができる。このコンピュータは、中央処理装置(CPU)と、リードオンリメモリ(ROM)と、ランダムアクセスメモリ(RAM)と、表示装置やキーボード、外部記憶装置またはネットワーク1とのインタフェースをとるための回路などを備えた公知の構成のものでよい。
CPUは、ROMもしくはRAMに記憶されたプログラム、またはキーボードから入力されたコマンドにしたがって処理を実行する。また、CPUは、外部記憶装置にデータを書き込んだり、外部記憶装置からデータを読み出したりすることができる。さらに、CPUは、ネットワーク1からデータを取得したり、通信ネットワークにデータを送出したりすることができる。
In the present embodiment, the tuple space 2 and the host device 3 can be realized by a computer. The computer includes a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), a circuit for interfacing with a display device, a keyboard, an external storage device, or the network 1. It may be of a known configuration.
The CPU executes processing according to a program stored in the ROM or RAM or a command input from the keyboard. Further, the CPU can write data to the external storage device and read data from the external storage device. Further, the CPU can acquire data from the network 1 and send data to the communication network.

このようなコンピュータ(タプル空間2およびホスト装置3)において、本発明のウィジェット操作方法および装置を実現させるためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。この記録媒体を外部記憶装置に挿入すると、記録媒体に書き込まれたプログラムが読み取られ、コンピュータに転送される。そして、CPUは、読み込んだプログラムをRAM等に書き込む。その後に、ネットワーク1、外部記憶装置またはキーボード等の外部入力装置から入力されたデータに基づき、CPUは、前述の処理を実行する。   In such a computer (tuple space 2 and host device 3), the program for realizing the widget operating method and apparatus of the present invention is recorded on a recording medium such as a flexible disk, a CD-ROM, a DVD-ROM, or a memory card. Supplied in the finished state. When this recording medium is inserted into the external storage device, the program written in the recording medium is read and transferred to the computer. Then, the CPU writes the read program into the RAM or the like. Thereafter, based on data input from the network 1, an external storage device, or an external input device such as a keyboard, the CPU executes the above-described processing.

チャネルの生成機能を持つタプル空間型通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the tuple space type | mold communication system which has a channel production | generation function. ホスト装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of a host apparatus. ウィジェットテーブル部の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement of a widget table part. イベント評価関数部の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement of an event evaluation function part. プログラムコード実行部の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement of a program code execution part. 終了処理の流れを示すフローチャートである。It is a flowchart which shows the flow of an end process. タプル空間への送信処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the transmission process to a tuple space. 図7に引き続くフローチャートである。It is a flowchart following FIG. タプル空間からの受信処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the reception process from a tuple space. ウィジェットの生成処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the production | generation process of a widget. ウィジェットのクローズ処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a close process of a widget.

符号の説明Explanation of symbols

1…ネットワーク、2…タプル空間、3(3A〜3N)…ホスト装置、31…リクエスト送信部、32…結果受信部、33…新規チャネル生成部、34…ウィジェットテーブル部、35…実行部、35…ウィンドウシステム、41(41−1,41−2)…プログラムコード実行部、42…イベントテーブル、43…評価関数名対応表、44(44−1,44−2)…イベント評価関数部。
DESCRIPTION OF SYMBOLS 1 ... Network, 2 ... Tuple space, 3 (3A-3N) ... Host apparatus, 31 ... Request transmission part, 32 ... Result reception part, 33 ... New channel production | generation part, 34 ... Widget table part, 35 ... Execution part, 35 ... Window system, 41 (41-1, 41-2) ... Program code execution part, 42 ... Event table, 43 ... Evaluation function name correspondence table, 44 (44-1, 44-2) ... Event evaluation function part.

Claims (4)

ネットワーク内に配置された共有メモリを有するタプル空間を用いてホスト装置の間で情報の共有および交換をチャネルを介して行うタプル空間型通信システムにおいて、前記ホスト装置の表示画面上で発生するイベントに応じた処理を行うオブジェクトであるウィジェットに対する操作を前記チャネルを用いた入出力として実行するウィジェット操作方法であって、
ウィジェットの生成が要求されたときに、ウィジェットを生成するとともに、前記ウィジェットに対応するチャネルを生成し、前記ウィジェットと前記チャネルとを対応付けて保持するステップと、
前記ウィジェットの属性読出が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を前記タプル空間に送信するステップと、
前記ウィジェットの属性変更が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を変更するステップと、
前記イベントが発生したときに呼び出される関数の引数を前記タプル空間に送信するステップと、
前記ウィジェットのクローズと終了が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットをクローズして終了するステップと
を備えることを特徴とするウィジェット操作方法。
In a tuple space communication system in which information is shared and exchanged between host devices via a channel using a tuple space having a shared memory arranged in a network, an event that occurs on the display screen of the host device A widget operation method for performing an operation on a widget, which is an object that performs a corresponding process, as an input / output using the channel,
Generating a widget when generation of a widget is requested, generating a channel corresponding to the widget, and holding the widget and the channel in association with each other;
Transmitting attribute of the widget corresponding to the channel specified by the request to the tuple space when attribute reading of the widget is requested;
When the attribute change of the widget is requested, changing the attribute of the widget corresponding to the channel specified by the request;
Sending an argument of a function to be called when the event occurs to the tuple space;
And closing and closing the widget corresponding to the channel designated by the request when closing and closing the widget is requested.
ネットワーク内に配置された共有メモリを有するタプル空間を用いてホスト装置の間で情報の共有および交換をチャネルを介して行うタプル空間型通信システムにおいて、前記ホスト装置の表示画面上で発生するイベントに応じた処理を行うオブジェクトであるウィジェットに対する操作を前記チャネルを用いた入出力として実行するウィジェット操作装置であって、
ウィジェットの生成が要求されたときに、ウィジェットを生成するとともに、前記ウィジェットに対応するチャネルを生成し、前記ウィジェットと前記チャネルとを対応付けて保持するウィジェット生成保持手段と、
前記ウィジェットの属性読出が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を前記タプル空間に送信する属性読出送信手段と、
前記ウィジェットの属性変更が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を変更する属性変更手段と、
前記イベントが発生したときに呼び出される関数の引数を前記タプル空間に送信する引数送信手段と、
前記ウィジェットのクローズと終了が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットをクローズして終了するクローズ終了手段と
を備えることを特徴とするウィジェット操作装置。
In a tuple space communication system in which information is shared and exchanged between host devices via a channel using a tuple space having a shared memory arranged in a network, an event that occurs on the display screen of the host device A widget operation device that executes an operation on a widget, which is an object that performs a corresponding process, as an input / output using the channel,
A widget generation / holding unit that generates a widget when generation of a widget is requested, generates a channel corresponding to the widget, and holds the widget and the channel in association with each other;
When the attribute reading of the widget is requested, attribute reading transmitting means for transmitting the attribute of the widget corresponding to the channel specified by the request to the tuple space;
Attribute change means for changing the attribute of the widget corresponding to the channel specified by the request when the attribute change of the widget is requested;
Argument sending means for sending an argument of a function called when the event occurs to the tuple space;
And a closing end unit for closing and closing the widget corresponding to the channel designated by the request when closing and closing of the widget are requested.
ネットワーク内に配置された共有メモリを有するタプル空間を用いてコンピュータの間で情報の共有および交換をチャネルを介して行うタプル空間型通信システムにおいて、前記コンピュータの表示画面上で発生するイベントに応じた処理を行うオブジェクトであるウィジェットに対する操作を前記チャネルを用いた入出力として実行させるウィジェット操作プログラムであって、
ウィジェットの生成が要求されたときに、ウィジェットを生成するとともに、前記ウィジェットに対応するチャネルを生成し、前記ウィジェットと前記チャネルとを対応付けて保持するステップと、
前記ウィジェットの属性読出が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を前記タプル空間に送信するステップと、
前記ウィジェットの属性変更が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットの属性を変更するステップと、
前記イベントが発生したときに呼び出される関数の引数を前記タプル空間に送信するステップと、
前記ウィジェットのクローズと終了が要求されたときに、この要求により指定されたチャネルに対応する前記ウィジェットをクローズして終了するステップと
を前記コンピュータに実行させるためのウィジェット操作プログラム。
In a tuple space type communication system in which information is shared and exchanged between computers through a channel using a tuple space having a shared memory arranged in a network, according to an event occurring on the display screen of the computer A widget operation program that executes an operation on a widget that is an object to be processed as an input / output using the channel,
Generating a widget when generation of a widget is requested, generating a channel corresponding to the widget, and holding the widget and the channel in association with each other;
Transmitting attribute of the widget corresponding to the channel specified by the request to the tuple space when attribute reading of the widget is requested;
When the attribute change of the widget is requested, changing the attribute of the widget corresponding to the channel specified by the request;
Sending an argument of a function to be called when the event occurs to the tuple space;
A widget operation program for causing the computer to execute a step of closing and closing the widget corresponding to a channel designated by the request when closing and termination of the widget are requested.
請求項3に記載のウィジェット操作プログラムを記録した機械読み取り可能な記録媒体。
A machine-readable recording medium on which the widget operation program according to claim 3 is recorded.
JP2004165578A 2004-06-03 2004-06-03 Widget operation method, device, program and recording medium with this program recorded thereon Pending JP2005346434A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004165578A JP2005346434A (en) 2004-06-03 2004-06-03 Widget operation method, device, program and recording medium with this program recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004165578A JP2005346434A (en) 2004-06-03 2004-06-03 Widget operation method, device, program and recording medium with this program recorded thereon

Publications (1)

Publication Number Publication Date
JP2005346434A true JP2005346434A (en) 2005-12-15

Family

ID=35498746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004165578A Pending JP2005346434A (en) 2004-06-03 2004-06-03 Widget operation method, device, program and recording medium with this program recorded thereon

Country Status (1)

Country Link
JP (1) JP2005346434A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100626A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus related to inter-widget interactions managed by a client-side master
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US8266274B2 (en) 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US9552433B2 (en) 2006-07-06 2017-01-24 Oracle International Corporation Generic content collection systems

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552433B2 (en) 2006-07-06 2017-01-24 Oracle International Corporation Generic content collection systems
US8266274B2 (en) 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US9495084B2 (en) 2007-03-06 2016-11-15 Oracle International Corporation Method and apparatus for widget and widget-container distribution control based on content rules
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US20100100626A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus related to inter-widget interactions managed by a client-side master

Similar Documents

Publication Publication Date Title
O'Kane A gentle introduction to ROS
US7756905B2 (en) System and method for building mixed mode execution environment for component applications
RU2419847C2 (en) Integrating diagrams into documents
JP5089684B2 (en) Technology for generating service programs
CN100489849C (en) Programmability for binding data
JP3660366B2 (en) Programming system using figures
Ooms The OpenCPU system: Towards a universal interface for scientific computing through separation of concerns
US20050060653A1 (en) Object operation apparatus, object operation method and object operation program
CN105637478A (en) Computer-aided development of native mobile application code
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
JP2008033411A (en) Personal information masking system and method
CN108241676A (en) Realize the method and apparatus that data synchronize
CN106201865A (en) A kind of application programming interface API method of testing, device and terminal unit
CN106484389A (en) Stream of action sectional management
JP2005346434A (en) Widget operation method, device, program and recording medium with this program recorded thereon
Lewis et al. Native mobile development: a cross-reference for iOS and Android
US12041151B2 (en) Importation of analytics cloud content into custom location in destination tenant
JP2015049645A (en) Information processing device, information processing device control method, and program
CN114217794A (en) Page design method, client device, readable medium, and program product
JP5959535B2 (en) Server, method, and program for causing a computer to function as a server for accessing a mobile terminal from a client via a network
CN113626062A (en) Trusted application integration
Schneider MoBLE: A Domain-Specific Modeling Language for Bluetooth Low Energy Applications
WO2024109400A1 (en) Sub-application page processing method and apparatus, and computer device and storage medium
JP6206463B2 (en) Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof
JP7315817B2 (en) Information processing device, its control method, and program