|
Description  |
|
|
FIELD OF THE INVENTION
This invention relates to a technology of generating a mobile agent which moves to a remote server existing on a network and forms an instruction in said remote server in a distributed computer environment; and, more particularly, to a technology
of generating a mobile agent on a GUI builder in an environment in which an executing address, executing sequence, etc. are visibly apprehensible.
BACKGROUND OF THE INVENTION
The prior art includes mobile agent technology in which a mobile agent moves to a server on a network and causes an instruction to be executed at the server (See, e.g., U.S. Pat. No. 5,603,031, and "Latest Internet Technology" by Fumihiko
Nishida and Susumu Fujiwara, Nikkei Communication Separate Volume, Nikkei BP, pp 104-117). Such a mobile agent consists of two basic elements, a "mobile agent" component and a "place" component. The mobile agent is capable of moving from place to place
existing on a network while holding its own internal condition and is capable of contacting another agent (a mobile agent or a non-mobile agent) in the place to which it has moved to obtain a necessary service. The "place" is the location to which a
mobile agent has moved and which is provided by a server existing on a network to support a contact between agents and to absorb any differences between hardwares and platforms.
Such mobile agent technology enables a mobile agent to do a job which was so far done manually, such as dynamically adjusting a schedule of an internal conference depending on the schedule of employees or reservation status of a conference room,
and acquiring desired information which is distributed on the network, etc.
However, because it is indispensable to define an executing address of an executed job in the property, and such requires knowledge of an object oriented programming, it is desired to have a GUI builder which enables a user to easily generate a
mobile agent in a manner similar to the development supporting tool provided by Workflow Automation ("Workflow Automation" is a trademark of Ultimus LLC, information is available on the world wide web at ultimus1.com).
Further, there exists the technology for automatically classifying a complicated behavior of the mobile agent into basic behavior patterns, for providing a template (moderator template) defining a desired behavior pattern of the mobile agent by a
combination of the basic behavior patterns, and for controlling the issuance of a request in each place where the mobile agent moves around as a predecessor (activity working in a previous place) and a successor (activity working in a next place), as
seen in Japanese patent application No. 9-92091 filed on Apr. 10, 1997, though not published at the time of filing this application.
However, because split/merge of a mobile agent is possible in various places, such that preparation of a plan in generating a mobile agent is further complicated when this technology is used, a GUI builder which allows a user to easily generate a
mobile agent is especially desired.
It is, therefore, an objective of this invention to enable a mobile agent to be developed without requiring a high degree of programming knowledge.
It is another objective of this invention to reduce the labor and the time of developing a mobile agent as far as possible.
It is a further objective of this invention to provide a user friendly environment for developing a mobile agent which allows a developer to intuitively grasp the functions thereof.
SUMMARY OF THE INVENTION
This invention allows a mobile agent to specify an executing address and an executing sequence for a job on a visibly apprehensible GUI builder. Provided on the GUI builder are various GUI moderator templates depicting templates (moderator
templates) for classifying complicated behavior of the mobile agent into basic behavior patterns and for defining a desired overall behavior pattern of the mobile agent by a combination of the basic behavior patterns, along with various GUI activities
for depicting the activity of issuing a request in each place to which the mobile agent moves. The operator can define the executing sequence of a job by dropping the GUI moderator template and the GUI activity on the GUI builder and joining them
together. The operator can also set address information for the place where each job is to be executed in the GUI activity. Mobile agents (execution codes) are generated from the GUI moderator template and the GUI activity which have been defined by
the operator.
In one mode of this invention, a method is provided for generating at least a part of mobile objects which execute different activities in different places under the control of a mobile moderator agent in a mobile agent generating apparatus which
is provided with a pointing device and a display screen, said method comprising;
(a) a step of generating a first GUI activity symbolizing a first activity to display on said display,
(b) a step of generating a second GUI activity symbolizing a second activity to display on said display,
(c) a step of generating a GUI moderator template symbolizing a moderator template defining the connection relationship between said first activity and said second activity to display said GUI template on said display,
(d) a step of holding a first order information specifying the order of said GUI moderator template and said first GUI activity in response to an operator input for correlating said GUI moderator template to said first GUI activity,
(e) a step of holding a second order information specifying the order of said GUI moderator template and said second GUI activity in response to an operator input for correlating said GUI moderator template to said second GUI activity,
(f) a step of displaying an entry for inputting first address information of a first place where said first activity is run,
(g) a step of holding said first address information in correlation to said first GUI activity,
(h) a step of displaying an entry for inputting a second address information of a second place where said second activity is run,
(i) a step of holding said second address information in correlation to said second GUI activity, and
(j) a step of generating at least a part of mobile objects from said first order information, said second order information, said first address information, and said second address information.
In another mode of this invention, a mobile objects generating apparatus, provided with a pointing device and a display screen, is provided for generating at least a part of mobile objects which run different activities in different places under
the control of a mobile moderator agent, said apparatus comprising;
(a) GUI activity symbolizing an activity and provided with a display method to display the activity on said display screen,
(b) a GUI template symbolizing an activity and a moderator template defining a connection relationship with another activity and provided with a display method to display the template on said display screen,
(c) an input event acquiring part for acquiring an operator input which correlates said GUI moderator template to said GUI activity,
(d) a plan object operating part for specifying the order of said GUI moderator template and said GUI activity in response to said operator input,
(e) a GUI place object provided with a display method for displaying an entry to input address information of a place where said activity is to run and a setAddress method for holding the address information of the place inputted in said entry,
and
(f) a run code generating part for generating at least a part of mobile objects based on said order information and the address information of said place.
In still another mode of this invention, a storage medium is provided for storing GUI objects generating at least a part of mobile objects which run different activities in different places under the control of a mobile moderator agent in a
mobile agent generating apparatus which is provided with a pointing device and a display screen, said medium storing;
(a) a GUI activity provided with:
a display method displaying an activity on said display screen in a manner in which it is recognized, and
a predecessor list controlling the connection relationship with other GUI objects,
(b) a GUI place object provided with:
a display method for displaying an entry to input address information specifying a place where said activity is to be run on said display screen, and
a setAddress method for holding an inputted address information, and
(c) a GUI moderator template provided with:
a display method for displaying a moderator template defining a connection relationship between an activity and other activities on said display screen in a manner they are recognized, and
a GUI moderator template provided with a predecessor list for controlling the connection relationship with other objects.
In still another mode of this invention, a storage medium is provided for storing GUI objects generating at least a part of mobile objects which run different activities in different places under the control of a mobile moderator agent in a
mobile agent generating apparatus which is provided with a pointing device and a display screen, said medium storing;
(a) a GUI activity provided with:
a display method displaying an activity on said display screen in a manner in which it is recognized, and
a predecessor list controlling the connection relationship with other GUI objects, and
(b) a GUI place object provided with:
a display method for displaying an entry to input address information specifying a place where said activity is to be run on said display screen, and
a GUI place object provided with a setAddress method for holding inputted address information.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objectives are realized by the present invention wherein;
FIG. 1 is a diagram showing a distributed network environment in which a mobile agent generated by this invention operates;
FIG. 2 is a diagram showing an example of a mode in which a mobile agent generated by this invention moves on the distributed network;
FIG. 3 is a schematic diagram of the hardware configuration of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 4 is a functional block diagram showing an embodiment of processing elements in the mobile agent generating system of this invention;
FIG. 5 is a functional block diagram of an embodiment of processing elements in the mobile agent generating system of this invention as seen from the GUI plan definition data generating part 207;
FIG. 6 is a functional block diagram showing an embodiment of processing elements during run time of the mobile agents generated by the mobile agent generating system of this invention;
FIG. 7 is an object chart of the mobile agents generated in the preferred embodiment of this invention;
FIG. 8 is an object chart of the mobile agents generated in the preferred embodiment of this invention;
FIG. 9 is an object chart of the plan definition data generated in the preferred embodiment of this invention;
FIG. 10 is a diagram showing the flow of a message between objects in the preferred embodiment of this invention;
FIG. 11 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 12 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 13 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 14 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 15 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 16 is a diagram showing the user interface of the mobile agent generating system in the preferred embodiment of this invention;
FIG. 17 is a flow chart showing a procedure for generating a run code (plan) based on plan definition data in the preferred embodiment of this invention;
FIG. 18 is a flow chart showing a procedure for generating a run code (plan) based on plan definition data in the preferred embodiment of this invention;
FIG. 19 is a flow chart showing a procedure for executing a plan object in the preferred embodiment of this invention;
FIG. 20 is a functional block diagram of a moderator template in the preferred embodiment of this invention;
FIG. 21 is a schematic diagram of a place in the preferred embodiment of this invention;
FIG. 22 is a flow chart showing a summary of processing the moderator template in the preferred embodiment of this invention;
FIG. 23 is a schematic diagram showing the state in which mobile objects in the preferred embodiment of this invention move from an origin place to a destination place;
FIG. 24 is a schematic diagram showing the state in which mobile objects in the preferred embodiment of this invention move from an origin place to a destination place;
FIG. 25 is a flow chart showing a procedure for processing the Iteration template in the origin in the preferred embodiment of this invention;
FIG. 26 is a schematic diagram showing the state in which a mobile object in the preferred embodiment of this invention moves from an origin place to a destination place;
FIG. 27 is a schematic diagram showing the state in which mobile objects in the preferred embodiment of this invention move from an origin place to a destination place;
FIG. 28 is a flow chart showing a procedure for processing the ANDSplit template in the origin in the preferred embodiment of this invention;
FIG. 29 is a flow chart showing a logic to decide a current node in the preferred embodiment of this invention;
FIG. 30 is a flow chart showing a procedure for processing the ANDJoin template in the destination in the preferred embodiment of this invention;
FIG. 31 is a flow chart showing a procedure for processing the ANDJoin template in the destination in the preferred embodiment of this invention;
FIG. 32 is a diagram showing a summary of the process in which a mobile object in the preferred embodiment of this invention receives Result;
FIG. 33 is a schematic diagram showing the state in which the mobile objects move from the origin place to the destination place in the preferred embodiment of this invention;
FIG. 34 is a flow chart showing a procedure for processing the ORSplit in the origin in the preferred embodiment of this invention;
FIG. 35 is a schematic diagram showing the state in which the mobile objects move from the origin place to the destination place in the preferred embodiment of this invention; and
FIG. 36 is a flow chart showing a procedure for processing the ORJoin in the destination in the preferred embodiment of this invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1, a distributed network environment 150 for running a mobile object generated according to this invention is shown. Each server 112 to 117 is provided with a place 102 to 107 which is capable of providing a service to the
mobile agents 125, 135, 141, etc. Collectively, the places in this distributed network environment are called a "crowd".
A mobile agent generating part 113, for generating a mobile agent, delivers a generated plan to a moderator agent 111 which in turn executes the plan to move around to specified places. The mobile agents, 125, 135, 141, 151, 161 and 173, can
contact other agents existing in each place 102 to 107 (an agent contacting a mobile agent to provide a service is specifically called an "actor agent"), send out requests, and receive the result of requests. The place supports a contact between agents. The mobile agent 125, etc., can also hold the result of the request received from the actor agent as "Result" 139, 143, 153, 163 and continue to move. It can also apply various treatments to the Result including composition and split, etc., during
movement.
In this invention, movement, split and extinction of a mobile agent are controlled by moderator templates 181 to 187. The user can simply define a complicated job, including split and merge, as shown in FIG. 2 by combining various templates
depending on the mode of processing.
B. Hardware Configuration
FIG. 3 schematically shows a hardware configuration of the mobile agent generating system in the preferred embodiment of this invention. The mobile agent generating system comprises a central processing unit (CPU) 1 and a memory 4. The CPU 1
and the memory 4 are connected to a hard disk device 13, as an auxiliary storage via a bus 2, etc. A floppy disk device (or a medium drive device such as MO, CD-ROM 14), 20, is connected to the bus 2 through a floppy disk controller (or any controller
such as an IDE controller, a SCSI controller) 19.
A floppy disk (or a medium such as MO, CD-ROM, etc.) is inserted to the floppy disk device 20 (or a medium drive device). A computer program code which gives instructions to the CPU and the like in cooperation with an operating system to
practice this invention is recorded in the floppy disk, the hard disk device 13, and the ROM 14 and executed by being loaded in the memory 4. The computer program code may be compressed or divided into pieces for recording in a plurality of media.
Further, the mobile agent generating system 100 may be a system provided with a user interface hardware and, as a user interface hardware, a pointing device 7 ( a mouse, a joystick, and a track ball, etc.) for inputting screen position
information, a keyboard 6 supporting key input and a display 11, 12 for presenting image data to the user. A speaker 23 receives an audio signal from an audio controller 21 via an amplifier 22 for output as a voice.
A GUI plan node library (to be described later) which is an input to the mobile agent generating system 100 of this invention is stored in the hard disk and is inputted to the database retrieval system 100 via SCSI interface. It is also possible
to communicate with other computer via a serial port 15 and a modem or a communication adapter 18 such as a token ring for accessing to data of the other system or to a database existing in a recording medium such as the floppy disk.
As such, it will be readily understood that this invention may be practiced by a conventional personal computer (PC), a workstation, a computer implemented in home electric appliances such as a television set and a facsimile equipment, or a
combination thereof. It should be noted, however, that these components are given for exemplary purpose and it is not meant that all of these components are the indispensable components of this invention. Particularly, because this invention is
directed to a database retrieval, components such as the serial port 15, the communication adapter card 18, the audio controller 21, the amplifier 22 and the speaker 23 are not indispensable in one mode of this invention. Similarly, while an operating
system which supports as a standard a GUI multi-window environment such as Windows (trademark of Microsoft), OS/2 (trademark of IBM) and X-WINDOW system (trademark of MIT) on AIX (trademark of IBM) is preferable, the operating system is not limited to
any specific operating system environment.
While FIG. 3 shows a system in a stand alone environment, this invention may be implemented in a client/server system in which a client machine is LAN-connected to a server machine via Ethernet and a token ring, etc. and the server machine side
is provided with an internal data generating part, an internal data holding part, an internal data retrieval part, and an external data source to be described later with the rest of functions disposed in the client side. As such, it is a matter of
discretion in the design to dispose what function in which of the server machine side and the client machine side. Various modifications of a combination of a plurality of machines and distribution of functions to these machines, etc., are within the
concept of this invention.
C. System Configuration
The system configuration of the mobile agent generating system in the preferred embodiment of this invention is now described with reference to FIG. 4 and FIG. 5. FIG. 4 is a functional block diagram showing an embodiment of a processing element
in the mobile agent generating system 210. A run code generating part 211 comprises a plan generating part 213 and a plan ID generating part 215. The plan ID generating part 215 allocates a plan ID which is unique on the network to a plan. In the
preferred embodiment of this invention, the plan ID generating part 215 generates a plan ID 227 by composing a URL of the internet, a port number, an agent ID (allocated to the mobile agent generating part) and a serial Number (the mobile agent
generating part allocates each time a plan ID is generated).
The plan generating part 213 generates a moderator agent and a plan based on GUI plan definition data 209. The generated plan includes a plan configuring part 223 controlling a moderator template to be run and activity information, etc., and a
order list 225 defining the order of the moderator templates and the activities. The plan configuring part 223 has information correlating the plan node object (a collective name of a moderator template and an activity) and forms a network topology 231. A GUI plan definition data generating part 207 generates GUI plan definition data 209 using information of the GUI plan node library 201 based on an indication by the operator.
FIG. 5 is a functional block diagram of an embodiment of processing elements in the mobile agent generating part 210 as seen from the GUI plan definition data generating part 207. An input event acquiring part 231 which provides input
information to the GUI plan definition data generating part 207 acquires an event such as a key input and a mouse click from the user and converts it to a message which can be interpreted by a plan object operating part 233 of the GUI plan definition
data generating part 207 for delivery to the part 233.
The plan object operating part 233 generates an object such as a GUI activity and a GUI template and sets a property of objects. A plan object attribute modifying part 237 provides a dialog window for modifying the property of a specified
object. Modified information is reflected to the GUI plan definition data 209 via the plan object operating part 233.
A GUI plan definition data holding part 243 holds an activity constituting a plan, logical information of a template and graphic image information. A plan display part 245 visually displays the structure of a plan on the screen based on the
graphic image information of the GUI plan definition data.
A run code generating part 241 generates a run code 249 (plan) for generating a defined plan based on the logical information of the GUI plan definition data.
FIG. 6 is a functional block diagram of an embodiment of a processing element upon running mobile agents 270 which are generated by the mobile agent generating part 210. The mobile agents 270 include a moderator agent 251, a plan object 261, a
moderator template 271 and an activity 281. The moderator agent 251 includes a mobile agent life cycle control part 253 and a plan execution part 255. The mobile agent life cycle control part 253 executes movement, duplication and erasure, etc., of the
mobile objects 270. The plan execution part 255 recognizes arrival at a new place and instructs a plan object 261 to execute the plan.
The plan object includes a plan execution control part 263, a current node 267 and an order list 265. The plan execution control part 263, upon receiving an instruction from the plan execution part of a moderator agent to execute a plan,
determines a plan node object to be currently executed with reference to the current node 267 and the order list 265 and requests the plan node objects (moderator template 271 and activity 281) to execute.
The current node 267 corresponds to a plan node iterator to be described later and monitors which plan node object is currently executed. The order list 265 is a list specifying a plan node object to be executed. When a branch, etc., does not
occur, the plan objects request the plan node to execute in the order of the order list 265.
The moderator template 271 includes a moderator agent control part 273, a plan step execution part 275 and an address reference part 277. The moderator agent control part 273 requests the mobile agent life cycle control part 253 of the moderator
agent 251 to move, duplicate and erase the mobile object 270. The plan step execution part 275 is differently defined depending on the kinds of the moderator template and controls instructions to be executed in an origin place or a destination place.
The address reference part 277 has a role of acquiring an address from an activity and telling the moderator agent control part 273 a destination address.
The activity 281 includes an activity execution part 283 and a message function 285. The activity execution part 283 has a function to store an instruction executed in places where a mobile agent moves around and a Result is received in each
place. The message function 285 has a function to exchange a message with the actor agent 291.
The actor agent 291 is another agent existing at a place and has a function to provide a service to a request by an activity. The actor agent 291 also has a message function 293 to exchange a message with an activity and has a message processing
part 295 for determining the content of the request and providing a service.
While each functional block shown in FIG. 4 to FIG. 6 has been described, these functional blocks are logical functional blocks and it is not meant that each of them is implemented by an independent hardware or software. They may be implemented
by a consolidated or a shared hardware or software. Also, it is not meant that all the functional blocks shown in FIG. 4 to FIG. 6 are indispensable components of this invention. For example, the order list 265 is not an indispensable component because
the current node control part 267 may directly control a current node and a moderator agent acquiring other Result may be specified in ANDJoin processing. Further a run code can be generated by placing a run code generation part on another machine to
which a GUI plan definition data may be sent.
D. Object Configuration
D-1. Object Configuration of Mobile Agents
FIG. 7 and FIG. 8 are object diagrams of the mobile agents 270 of this invention. Each class of a moderator agent 303, a plan 305, a plan ID 309, and a plan iterator 307 has a method while each class of a plan node 311, an activity 313, a
moderator template 315 and templates 321 to 326 (of FIG. 8) such as Chain, has data and a method.
In the figures, triangles 302, 314, 316 show inheritance of data and method from a higher class while a black circle 312 shows that a plurality of lower classes exist. A plan node is an abstract class and defines both a moderator template and an
activity class by a common interface. The plan can thus treat both classes similarly during generation and execution of the plan.
A mobile agent 301 is a function (place class) currently provided in each place on the distributed computer environment and the user can easily create a mobile agent (moderator agent) by throwing an API-indicating creation of a mobile agent to
this class. This is a function which is supported by the mobile agent of both Java and Telescript, described above in the description of prior art.
A plan node class has a list of both successors and predecessors and controls the relationship among a plurality of plan nodes. The class of plan node provides methods, "setPredecessor", "setSuccessor", and defines the relationship among the
nodes. A concrete class of a plan node can discriminate the relationship among the methods.
The moderator template has state information to distinguish between an origin (place before movement) and a destination (place after movement) to join activities executed in different places. In the preferred embodiment of this invention, the
moderator template can join only the activity objects. The moderator template is provided with a plurality of templates, including Chain, and allows provision of a basic mechanism for having a plurality of split moderator agents work on individual job
allotted.
D-2. Object Configuration of GUI Plan Definition Data
FIG. 9 is an object diagram of the GUI plan definition data 239 in the preferred embodiment of this invention. Each class of a GUI activity 403, a GUI moderator template 413, a GUI place 405 and a link 407 has data and a method. In this figure,
triangles 402 and 410, show inheritance of data and method from a higher class while a black circle 404 shows that a plurality of lower classes exist.
The GUI activity 403 is an object to be displayed as an activity on the GUI builder and has data of a successor list and a predecessor list specifying an object which links to coordinate values (display start position: X1,Y1 and display ending
position:X2,Y2) when displayed on the display.
Similarly, the GUI moderator template 409 is an object to be displayed as a moderator template on the GUI builder and has data of a successor list and a predecessor list specifying an object which links to coordinate values (display start
position: X1,Y1 and display ending position:X2,Y2) when displayed on the display.
It also has data of a template type for specifying the kinds of moderator template.
The link object is an object for displaying a linking relationship between the GUI activity 403 and the GUI moderator template 409 and has data of a successor list and a predecessor list specifying an object which links to coordinate values
(display start position: X1,Y1 and display ending position:X2,Y2) when displayed on the display.
The GUI place 405 is an object for displaying a place where each activity is executed and has data of coordinate value information (display start position of each GUI activity: X1,Y1 and display ending position:X2,Y2) of a GUI activity to be
displayed inclusively and address information of the place.
D-3. Message Flow of Mobile Agents
FIG. 10 is a diagram showing a major message flow of the classes in the preferred embodiment of this invention. The moderator agent 351 sends nextStep (an instruction indicating to execute the next step) to the plan 353 which in turn, in
response thereto, sends out nextStep to the plan node object (moderator template 357 or activity 355). The activity 355 sends out sendMessage (request to send a message) to the actor agent 359 to execute a request specified by the user. The moderator
template 357 sends getARL (an instruction to send an address) and isMarked (marking) to the activity 355 depending on the kinds or state. The moderator template 357 also sends out "clone" (request to prepare a duplication), dispatch (request to move)
and "dispose" (request to extinguish) to the moderator agent 351.
E. Preparation of Plan Definition Data
This invention provides a development supporting tool which allows a user to simply generate the mobile agent. FIG. 11 to FIG. 13 show a user interface of the development supporting tool in the preferred embodiment of this invention. The user
can simply generate coding of the above plan definition part by using the development supporting tool.
At first, when the user selects New 371, for new Plan, from the pull down menu and clicks with a pointing device, the plan object operating part 233 displays a dialog box 375 for input of a plan name. The user can thus provide the plan with a
name which is different from the plan ID and familiar to the user. The user next inputs the plan name to an input entry 376 of the plan name and depresses an OK button to open a window 380 for defining a plan. The dialog box 375 for inputting the plan
name may be displayed when the "Save" 372 of the pull down menu or the "End" 374 is selected as well.
Once the window 380 is opened, the user drags an activity icon (ACT1) 421 of the activity box 420 and drops it in the window 380 for defining a plan with a pointing device. Objects of a GUI activity 403 and a GUI place 405 are then generated
based on prototype data of the GUI plan node library 201. The Display method of the generated GUI activity 403 is called upon and displayed, as 431, in the plan defining window 380 as a GUI activity as shown in FIG. 12. "0" is set in the predecessor
list and the successor list of the GUI activity indicating "no object to be linked".
The GUI activity 403 (as displayed as 431) has a Select method and a Move method as shown in FIG. 9 and is capable of executing processing corresponding to a select by a mouse pointer and modifying the display position by dragging a mouse. The
user then drags ANDSplit icon 392 of the template box 390 and drops it in the plan defining window 380 with a pointing device. Objects of the GUI moderator template 409 and the link 407 (2 link objects are generated) shown in FIG. 9 are then generated
based on the prototype of the GUI plan node library 201. The Display method of the generated GUI moderator template 413 and the Display method of the link object 407 are called upon and displayed in the plan defining window 380 as a GUI moderator
template 433 and link objects 432, 434 as shown in FIG. 13.
At this time, information of the GUI moderator template 433 is set in the successor list of the link object 432 while information of the GUI moderator template 433 is set in the predecessor list of the link object 434. On the other hand,
information specifying the link objects 432, 434 are set in the predecessor list and the successor list of the moderator template 433, respectively. The display positions of the link objects are set to a value calculated from the position information of
the GUI moderator template 433.
The GUI moderator template, 413 displayed as 433, also has a Select method and a Move method as shown in FIG. 9 and is capable of executing processing corresponding to Select by a mouse pointer and modifying the display position by dragging a
mouse. When the GUI moderator template 433 is moved, the display positions of objects specified by the predecessor list and the successor list of the GUI moderator template 433 and a series of objects linking those objects are updated depending on the
amount of movement to re-draw the screen by the Display method.
Thereafter, when the user drags and drops the link object 432 onto the GUI activity 431 as shown in FIG. 14, the plan object operating part 233 specifies a linked GUI activity by comparing the display position of the GUI activity with the
position of the mouse pointer now dragging, sets information specifying the link object 432 in the successor list of the GUI activity 431, and sets information specifying the GUI activity 431 in the predecessor list of the link object 432. The plan
object operating part 233 al | | |