CN1218224A - 生成移动对象的方法和装置及存储该对象的存储介质 - Google Patents

生成移动对象的方法和装置及存储该对象的存储介质 Download PDF

Info

Publication number
CN1218224A
CN1218224A CN 98123855 CN98123855A CN1218224A CN 1218224 A CN1218224 A CN 1218224A CN 98123855 CN98123855 CN 98123855 CN 98123855 A CN98123855 A CN 98123855A CN 1218224 A CN1218224 A CN 1218224A
Authority
CN
China
Prior art keywords
gui
activity
template
arbitration
scheme
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.)
Granted
Application number
CN 98123855
Other languages
English (en)
Other versions
CN1111298C (zh
Inventor
南和宏
铃木俊宏
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1218224A publication Critical patent/CN1218224A/zh
Application granted granted Critical
Publication of CN1111298C publication Critical patent/CN1111298C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供代表模板的各种GUI仲裁模板,该模板能够将移动智能体的复杂行为划分为基本行为模式,并且通过组合基本行为模式定义移动智能体所需的行为模式,本发明还提供代表活动的各种GUI活动,其中在移动智能体移动到的每个位置,该活动均发出一个请求。操作员拖动GUI编码程序上的GUI仲裁模板以及GUI活动,进行连接,以便定义执行任务的次序。用户还能够设置执行GUI活动位置的地址信息。

Description

生成移动对象的方法和装置及存储 该对象的存储介质
本发明涉及移动智能体生成技术,该移动智能体移动到网络上的远程服务器,并在分布式计算机环境中的所述远程服务器形成指令,更确切地说,涉及在能够可视理解执行地址、执行顺序等的环境中的GUI编码程序上的移动智能体生成技术。
在现有技术中有一种移动智能体(agent)技术,其中该移动智能体移动到网络上的服务器并形成指令(PUPA 7-182174(USP5,603,031),Fumihiko Nishida,Susumu Fujiwara的“最新互联网技术”,Nikkei通信单行本,Nikkei BP,pp104-117)。
该移动智能体包括两个基本组件,“移动智能体”和“位置”。移动智能体能够在保持其内部条件的同时,在网络上到处移动,并且与其所到位置的另一智能体(移动智能体或静止智能体)接触,以便接收所需服务。“位置”是智能体移动到的位置,该位置由网络上的服务器提供,以便支持智能体之间的接触,消除各种硬件之间、各种平台之间的差异。
以上移动智能体技术使得移动智能体能够完成迄今为止手工完成的工作,例如,根据雇员的日程安排或者会议室的预订情况,动态调整内部会议日程,获得散布在网络上的所需信息等等。
然而,由于必须在属性中定义所需完成工作的执行地址,而该过程又需要面向对象的编程知识,所以最好提供一个GUI编码程序,该GUI编码程序使得用户能够以类似于Workflow Automation所提供的开发支持工具的方式,轻易生成移动智能体("Workflow Automation"为Ultimus LLC的商标,可以从http://www.ultimus1.com站点获得有关信息)。
此外,存在这样一种技术,它将移动智能体的复杂行为划分为基本行为模式提供通过组合基本行为模式定义移动智能体所需的行为模式的模板(仲裁(moderator)模板),并且控制在各个位置发起请求的活动,其中移动智能体在各位置以前驱(在前一位置的活动)或后继(在下一位置的活动)的方式,到处移动,参见日本专利申请No.9-92091,申请日1997年4月10日,尽管在申请该专利申请时还并未公开。
然而,由于可以在各种位置分离/合并移动智能体,所以当准备利用该技术生成复杂移动智能体方案时,允许用户轻易生成移动智能体的GUI编码程序是非常理想的。
本发明的目的在于无需高级编程知识就能够开发移动智能体。
本发明的另一目的在于尽量减少开发移动智能体所需的工作和时间。
本发明的又一目的在于提供一种用户友好的移动智能体开发环境,其中该环境允许开发者直观掌握其功能。
本发明允许移动智能体在可视化GUI编码程序上,确定工作的执行地址和执行顺序。在GUI编码程序上提供:代表模板(仲裁模板)的各种GUI仲裁模板以及各种GUI活动,其中GUI仲裁模板能够将移动智能体的复杂行为划分为基本行为模式,并且通过组合基本行为模式定义移动智能体的所需行为模式,GUI活动代表在各个位置发起请求的活动,而移动智能体在各位置到处移动。
通过拖放GUI编码程序上的GUI仲裁模板和GUI活动,并将其连接起来,操作员就能够定义工作的执行顺序。操作员还能够设置位置的地址信息,其中在该位置的GUI活动内完成工作。根据操作员定义的GUI仲裁模板和GUI活动,生成移动智能体(执行代码)。
根据本发明的一种方式,提供一种生成至少部分移动对象的方法,该移动对象在移动智能体生成装置中的移动仲裁智能体的控制下,在不同位置完成不同的活动,其中移动智能体生成装置配备有一个指点设备和一个显示屏幕,所述方法包括以下步骤:
(a)生成代表第一活动的第一GUI活动,以便在所述显示器上显示所述第一GUI活动的步骤,
(b)生成代表第二活动的第二GUI活动,以便在所述显示器上显示所述第二GUI活动的步骤,
(c)生成代表仲裁模板的GUI仲裁模板,以便在所述显示器上显示所述GUI模板的步骤,其中仲裁模板定义所述第一活动与所述第二活动之间的连接关系,
(d)保持第一顺序信息的步骤,第一顺序信息根据操作员的输入,确定所述GUI仲裁模板和所述第一GUI活动的顺序,以使所述GUI仲裁模板与所述第一GUI活动发生联系,
(e)保持第二顺序信息的步骤,第二顺序信息根据操作员的输入,确定所述GUI仲裁模板和所述第二GUI活动的顺序,以使所述GUI仲裁模板与所述第二GUI活动发生联系,
(f)显示一个表目的步骤,该表目用于输入第一位置的第一地址信息,其中在第一位置执行所述第一活动,
(g)保持与所述第一GUI活动有关的所述第一地址信息的步骤,
(h)显示一个表目的步骤,该表目用于输入第二位置的第二地址信息,其中在第二位置执行所述第二活动,
(i)保持与所述第二GUI活动有关的所述第二地址信息的步骤,以及
(j)根据所述第一顺序信息、所述第二顺序信息、所述第一地址信息和所述第二地址信息,生成至少部分移动对象的步骤。
根据本发明的另一方式,提供配备有一个指点设备和一个显示屏幕的移动对象生成装置,以便在移动仲裁智能体的控制下,生成至少部分移动对象,该移动对象在不同位置执行不同的活动,所述装置包括:
(a)代表某个活动并配备有显示方法以便在所述显示屏幕上显示该活动的GUI活动,
(b)代表某个活动和仲裁模板并配备有显示方法以便在显示屏幕上显示该模板的GUI模板,其中仲裁模板定义与其他活动的连接关系,
(c)用于获取操作员输入的输入事件获取部件,操作员输入使所述GUI仲裁模板与所述GUI活动发生联系,
(d)方案对象操作部件,该部件根据所述操作员输入,确定所述GUI仲裁模板以及所述GUI活动的顺序,
(e)配备有显示方法和地址设定方法的GUI位置对象,显示方法用于显示一个表目,以便输入执行所述活动的位置的地址信息,而地址设定方法用于保持在所述表目中输入的位置的地址信息,以及
(f)执行代码生成部件,该部件根据所述顺序信息和所述位置的地址信息,生成至少部分移动对象。
根据本发明的又一方式,提供一种存储介质,该介质用于存储生成至少部分移动对象的GUI对象,该移动对象在移动智能体生成装置中的移动仲裁智能体的控制下,在不同位置执行不同活动,其中移动智能体生成装置配备有一个指点设备和一个显示屏幕,所述介质存储:
(a)一个GUI活动,该GUI活动配备有:
(a1)一个显示方法,该显示方法以能够识别的方式,在所述显示屏幕上显示一个活动,以及
(a2)一个前驱表,该前驱表控制与其他GUI对象的连接关系,
(b)一个GUI位置对象,该GUI位置对象配备有:
(b1)一个显示方法,该方法用于在所述显示屏幕上显示一个表目,以便输入确定执行所述活动的位置的地址信息,以及
(b2)一个地址设定方法,该方法用于保持一个输入的地址信息,以及
(c)一个GUI仲裁模板,该GUI仲裁模板配备有:
(c1)一个显示方法,该方法以能够识别的方式,在所述显示屏幕上显示一个仲裁模板,其中仲裁模板定义某个活动与其他活动之间的连接关系,以及
(c2)一个配备有前驱表的GUI仲裁模板,其中前驱表控制与其他对象的连接关系。
根据本发明的又一方式,提供一种存储介质,该介质用于存储生成至少部分移动对象的GUI对象,该移动对象在移动智能体生成装置中的移动仲裁智能体的控制下,在不同位置执行不同活动,其中移动智能体生成装置配备有一个指点设备和一个显示屏幕,所述介质存储:
(a)一个GUI活动,该GUI活动配备有:
(a1)一个显示方法,该显示方法以能够识别的方式,在所述显示屏幕上显示一个活动,以及
(a2)一个前驱表,该前驱表控制与其他GUI对象的连接关系,
(b)一个GUI位置对象,该GUI位置对象配备有:
(b1)一个显示方法,该方法用于在所述显示屏幕上显示一个表目,以便输入确定执行所述活动的位置的地址信息,以及
(b2)一个配备有地址设定方法的GUI位置对象,地址设定方法用于保持输入的地址信息。
如上所述,本发明能够在减少编程人员的开发工作量和时间的情况下,开发移动智能体,并且编程人员也无需掌握高级编程知识。
此外,能够尽量减少开发移动智能体所需的开发工作和时间。
另外,本发明能够提供一个用户友好的移动智能体开发环境,该环境允许开发人员直观掌握其功能。
图1表示一分布式网络环境,由本发明生成的移动智能体在该环境中运行。
图2表示示范模式,其中由本发明生成的移动智能体在分布式网络上移动。
图3是一个示意图,该图表示本发明最佳实施方式中移动智能体生成系统的硬件配置。
图4是一个功能框图,该图表示本发明的移动智能体生成系统中处理部件的一种实施方式。
图5表示从GUI方案定义数据生成部件207观察时,本发明的移动智能体生成系统中处理部件的实施方式的功能框图。
图6为一个功能框图,该图表示在本发明的移动智能体生成系统生成的移动智能体的运行期间,处理部件的一种实施方式。
图7为本发明最佳实施方式中生成的移动智能体的对象图。
图8为本发明最佳实施方式中生成的移动智能体的对象图。
图9为本发明最佳实施方式中生成的方案定义数据的对象图。
图10表示本发明最佳实施方式中对象之间的消息流。
图11表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图12表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图13表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图14表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图15表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图16表示本发明最佳实施方式中移动智能体生成系统的用户界面。
图17为一流程图,该图表示根据本发明最佳实施方式中的方案定义数据生成运行代码(方案)的过程。
图18为一流程图,该图表示根据本发明最佳实施方式中的方案定义数据生成运行代码(方案)的过程。
图19为一流程图,该图表示本发明最佳实施方式中方案对象的执行过程。
图20为本发明最佳实施方式中仲裁模板的功能框图。
图21为本发明最佳实施方式中位置的示意图。
图22为一流程图,该图表示本发明最佳实施方式中仲裁模板的概括处理。
图23为一示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图24为一示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图25为一流程图,该图表示本发明最佳实施方式中在起始位置的迭代模板的处理过程。
图26为一示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图27为一示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图28为一流程图,该图表示本发明最佳实施方式中在起始位置的与-连接(ANDSplit)模板的处理过程。
图29为一流程图,该图表示本发明最佳实施方式中确定当前节点的逻辑框图。
图30为一流程图,该图表示本发明最佳实施方式中在目的位置的与-连接(ANDJoin)模板的处理过程。
图31为一流程图,该图表示本发明最佳实施方式中在目的位置的与-连接(ANDJoin)模板的处理过程。
图32表示本发明最佳实施方式中移动对象接收结果(Result)的概括处理。
图33为示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图34为一流程图,该图表示本发明最佳实施方式中在起始位置的或-分离(ORSplit)模板的处理过程。
图35为示意图,该图表示本发明最佳实施方式中移动对象从起始位置移动到目的位置的状态。
图36为一流程图,该图表示本发明最佳实施方式中在目的位置的或-连接(ORJoin)模板的处理过程。
图中各标号意义如下:
100:节点系统
200:GUI方案节点库
203:GUI仲裁模板
205:GUI活动
207:GUI方案定义数据
209:GUI方案定义数据生成部件
211:运行代码生成部件
213:方案生成部件
215:方案ID生成部件
221:方案对象
223:方案配置部件
225:次序表
227:方案ID
229:网络拓扑
231:输入事件获取部件
233:方案对象操作部件
237:方案对象属性修改部件
243:方案显示部件
249:运行代码生成部件
251:仲裁智能体
253:移动智能体生命周期控制部件
255:方案执行部件
261:方案对象
263:方案执行部件
265:次序表
267:当前节点
270:移动对象
271:仲裁模板
273:仲裁智能体控制部件
275:方案步骤执行部件
277:地址引用部件
281:活动
283:活动执行部件
285:消息功能部件
291:作用智能体
293:消息功能部件
295:消息处理部件
A.概述
以下将参照附图,说明本发明的实施方式。参照图1,该图表示一个分布式网络环境150,环境150运行根据本发明所生成的移动对象。各服务器112-117配有位置(place)102-107,位置102-107能够向移动智能体125、135、141等提供服务。将该分布式网络环境中的所有位置称为“群集”(crowd)。
用于生成移动智能体的移动智能体生成部件113位于客户系统101。移动智能体生成部件113向仲裁智能体111传送生成的方案,接着,仲裁智能体111执行该方案,以便围绕指定位置移动。
移动智能体125等可以与各位置102-107中的其他智能体联系(与移动智能体进行联系以便提供服务的智能体被称为“作用智能体”(actoragent)),发送请求并接收请求结果。位置支持智能体之间的联系。移动智能体125等还能够以“结果”139、143、153、163的方式,保存从作用智能体接收的请求结果,并继续移动。在移动期间,移动智能体可以对该结果实施各种处理,包括合成和分离等等。
在本发明中,仲裁模板181-187控制移动智能体的移动、分离和灭亡。如图2所示,通过根据处理模式组合各种模板,用户可以直接定义包含分离和合并操作的复杂任务。
B.硬件配置
图3利用示意图表示本发明最佳实施方式的移动智能体生成系统的硬件配置。移动智能体生成系统包括一个中央处理机(CPU)1和一个存储器4。利用总线2等将CPU1和存储器4连接到硬盘驱动器13和31,硬盘13和31作为辅助存储器。利用软盘控制器(或IDE控制器25以及SCSI控制器27之类的控制器)19,将软盘驱动器(或MO、CD-ROM13、26、28、29、30之类的存储介质驱动器)20连接到总线2。
将软盘(或诸如MO、CD-ROM之类的存储介质)插到软盘驱动器20(或诸如MO、CD-ROM26、28、29、30之类的存储介质驱动器)中。可以在以上软盘以及硬盘驱动器13、30以及ROM14中记录计算机程序代码,通过将该程序装入存储器4执行该程序,其中该程序向CPU提供指令以便与操作系统共同实现本发明。为了在多种介质中存储,可以压缩该计算机程序,或者将其划分为多段。
此外,移动智能体生成系统100可以为具有用户接口硬件的系统,作为用户接口硬件,指点设备7(鼠标、操纵杆和跟踪球等)用于输入屏幕位置信息,键盘6用于支持击键输入,显示设备11和12用于向用户显示图象数据。扬声器23经由放大器22接收声频控制器21的声频信号,以便输出声音。
将GUI方案节点库(将在以后说明)存储在硬盘30,并利用SCSI接口27将其输入到数据块检索系统100,其中GUI方案节点库为本发明中移动智能体生成系统100的输入。经过串口15与调制解调器或诸如令牌环之类的通信适配器18,就可以与其他计算机系统通信,以便访问其他系统中的数据或访问诸如软盘24之类的记录介质中的数据库。
如上所述,容易理解,可以在常规个人计算机(PC)、工作站、诸如电视机和传真机之类的家电设备中所提供的计算机或其组合中实现本发明。应该注意到:以上组件只是作为示范组件,并非所有组件都是本发明的必不可少的组件。具体而言,由于本发明面向数据库检索,所以诸如串口15、通信适配卡18、声频控制器21、放大器22以及扬声器23之类的组件,并非本发明之某方式中必不可少的组件。
最好采用支持标准GUI多窗口环境的操作系统,如Windows(微软商标)、OS/2(IBM商标)、AIX(IBM商标)上的X-Windows系统(MIT商标),但并不限于任何特定操作系统环境。
尽管图3表示独立环境中的系统,也可以在客户/服务器系统中实施本发明,其中在客户/服务器系统中,客户机为利用以太网和令牌环与服务器相连的LAN,而服务器端配有内部数据生成部件,内部数据保存部件,内部数据检索部件以及外部数据源,将在后面与客户端配置的其他功能一起说明外部数据源。如上所述,在服务器端配置何种功能以及在客户端配置何种功能只是设计阶段自行决定的。对各种机器组合以及该机器上功能分配的各种改进,均在本发明的概念内。
C.系统配置
以下参照图4和图5,说明本发明最佳实施方式中移动智能体生成系统的系统配置。
图4为一功能框图,该框图表示移动智能体生成系统210中处理部件的某种实施方式。运行代码生成部件241包括一个方案生成部件213和一个方案ID生成部件215。方案ID生成部件215分配方案ID,分配方案ID对网络上的方案是唯一的。在本发明的最佳实施方式中,方案ID生成部件215通过合成互联网的URL、端口号、智能体ID(分配给移动智能体生成部件)以及序列号(每生成一个方案ID,移动智能体生成部件就分配一个序列号),生成方案ID。
方案生成部件213根据GUI方案定义数据209,生成一个仲裁智能体和一个方案。生成的方案包括一个方案配置部件223和一个次序表225,方案配置部件223控制将要运行的仲裁模板以及活动信息等,次序表225定义仲裁模板和活动的次序。方案配置部件223具有与方案节点对象(仲裁模板和活动的集合名称)有关的信息,并形成网络拓扑231。
GUI方案定义数据生成部件207根据操作员的指示,利用GUI方案节点库201中的信息,生成GUI方案定义数据209。
图5为一功能框图,该框图表示从GUI方案定义数据生成部件207观察时,移动智能体生成部件210中处理部件的实施方式。向GUI方案定义数据生成部件207提供输入信息的输入事件获取部件231,从用户获取诸如击键输入和点击鼠标之类的事件,并将其转换为可以由GUI方案定义数据生成部件207之方案对象操作部件233解释的消息,以便传送到部件233。
方案对象操作部件231生成诸如GUI活动和GUI模板之类的对象,并设置对象的属性。
方案对象属性修改部件237提供一个对话窗口,以便修改特定对象的属性。经由方案对象操作部件231,在GUI方案定义数据239上反映经过修改的信息。
GUI方案定义数据保存部件243保存构成方案、模板之逻辑信息以及图形图象信息的活动。
方案显示部件245根据GUI方案定义数据243中的图形图象信息,在屏幕上可视化显示方案的结构。
运行代码生成部件241根据GUI方案定义数据中的逻辑信息,生成运行代码249(方案),运行代码249用于生成所定义的方案。
图6为一功能框图,该框图表示运行移动智能体生成部件210生成的移动智能体270时,处理部件的实施方式。移动智能体270包括一个仲裁智能体251,一个方案对象261,一个仲裁模板271和一个活动281。仲裁智能体251包括一个移动智能体生命周期控制部件253和一个方案执行部件255。移动智能体生命周期控制部件253执行移动对象270的移动、复制和删除等操作。方案执行部件255识别到达新位置,并指挥方案对象261执行方案。
另一方面,方案对象包括一个方案执行控制部件263,一个当前节点267和一个次序表265。一旦接收到来自仲裁智能体方案执行部件的执行某个方案的指令,方案执行控制部件263就参照当前节点267和次序表265,确定当前待执行的方案节点对象271和281,并请求方案节点对象271和281执行。
当前节点267相当于将在以后说明的方案节点迭代程序,并监视正在执行哪个方案节点对象。次序表265为确定将要执行的方案节点对象271和281的表。如果不出现分支等情况,方案对象271和281就请求方案节点按照次序表265中的次序执行。
仲裁模板271包括一个仲裁智能体控制部件273,一个方案步骤执行部件275和一个地址引用部件277。仲裁智能体控制部件273请求仲裁智能体251之移动智能体生命周期控制部件253移动、复制和删除移动对象270。根据仲裁模板的类型以及在起始位置还是在目的位置执行控制指令,不同地定义方案步骤执行部件275。地址引用部件277的作用是根据活动获得地址,并告诉仲裁智能体控制部件273一个目的地址。
活动281包括一个活动执行部件283和一个消息功能部件285。活动执行部件283具有以下功能,存储在移动智能体所移动到的位置执行的指令以及在各位置接收的结果。消息功能部件285具有与作用智能体291交换消息的功能。
作用智能体291是某个位置上存在的另一种智能体,并借助活动向请求提供服务。作用智能体291还具有一个消息功能部件293和一个消息处理部件295,消息功能部件293与活动交换消息,消息处理部件295用于确定请求的内容并提供服务。
尽管已经说明了图4-图6中的所有功能块,这些功能块只是逻辑功能块,并不意味着要以独立硬件或软件的形式实现各功能块。可以以统一或共享硬件或软件的方式,实现这些功能块。另外,图4-图6中的所有功能块并非都是本发明必不可少的组件。例如,由于当前节点控制部件267能够直接控制当前节点,并且可以在ANDJoin处理中确定获取其他结果的仲裁智能体,所以次序表265并非一个必不可少的组件。另外,通过在另一机器上配置一个运行代码生成部件,也能够生成运行代码,其中可以向另一机器发送GUI方案定义数据。
D.对象配置
D-1.移动智能体的对象配置
图7和图8为本发明中移动智能体270的对象图。仲裁智能体(moderator agent)类303、方案(plan)类305、方案ID类以及方案迭代程序(plan iterator)类307具有方法,而方案节点(plan node)类311、活动(activity)313、仲裁(moderator)模板类315以及诸如链(Chain)之类的模板321-326具有数据和方法。
在该图中,三角302、314、316表示从父类继承数据和方法,而黑圈312表示存在若干子类。方案结点为抽象类,该类利用同一接口定义仲裁模板和活动类。因此,在生成以及执行方案期间,方案能够对这两个类进行类似处理。
移动智能体301是一个函数(位置类),当前,在分布式计算机环境中之每个位置均提供该函数,用户通过对该类施加标识创建移动智能体的API,就能够创建移动智能体(仲裁智能体)。如上所述,在现有技术说明中,Java库以及Telescript的移动智能体均支持该函数。
方案节点类具有一个同时包括后继和前驱的表,该类还控制众多方案节点之间的关系。方案节点类提供方法“setPredecessor”(设定前驱)以及“setSuccessor”(设定后继),并且定义节点之间的关系。方案节点的具体类能够区分方法之间的关系。
仲裁模板具有状态信息,以便区分起始位置(移动前的位置)和目的位置(移动后的位置),从而连接在不同位置执行的活动。在本发明的最佳实施方式中,仲裁模板能够只连接活动对象。仲裁模板配备有包括Chain(链)在内的众多模板,并提供基本机制,以使众多分离仲裁智能体处理所分配的各种任务。
D-2.GUI方案定义数据的对象配置
图9为本发明最佳实施方式中GUI方案定义数据239中的对象图。类GUI活动类403、GUI仲裁模板类413、GUI位置类405以及连接(link)类407具有数据和方法。
在该图中,三角402、410表示从父类继承数据和方法,而黑圈404表示存在若干子类。
GUI活动类403为GUI编码程序上显示的一个活动对象,该类具有后继表和前驱表数据,后继表和前驱表确定一个连接屏幕上所显示坐标值(显示开始位置:X1,Y1,显示结束位置:X2,Y2)的对象。
同样,GUI仲裁模板409为GUI编码程序上显示的一个仲裁模板对象,该模板具有后继表和前驱表数据,后继表和前驱表确定一个连接屏幕上所显示坐标值(显示开始位置:X1,Y1,显示结束位置:X2,Y2)的对象。该模板还具有模板类型数据,以便确定仲裁模板的类型。
连接对象为一个显示GUI活动403与GUI仲裁模板409之间连接关系的对象,该类具有后继表和前驱表数据,后继表和前驱表确定一个连接屏幕上所显示坐标值(显示开始位置:X1,Y1,显示结束位置:X2,Y2)的对象。
GUI位置405为一个显示各活动执行位置的对象,该类具有将要显示的GUI活动的坐标值信息(各GUI活动的显示开始位置:X1,Y1,显示结束位置:X2,Y2)数据以及位置的地址信息数据。
D-3.移动智能体的消息流
图10表示本发明最佳实施方式中各类的主要消息流。仲裁智能体351向方案353发送nextStep(表示执行下一步骤的指令),作为应答,方案353又向方案节点对象(仲裁模板357或活动355)发送nextStep。活动355向作用智能体359发送sendMessage(请求发送一条消息),以便执行用户确定的请求。仲裁模板357根据种类或状态,向活动355发送getARL(一条发送地址的指令)和isMarked(标记)。仲裁模板357还向仲裁智能体351发送“clone”(请求准备复制),dispatch(请求移动)以及“dispose”(请求灭亡)。
E.准备方案定义数据
本发明提供一个开发支持工具,该工具允许用户简便地生成移动智能体。图11-图13表示本发明最佳实施方式中开发支持工具的用户界面。利用开发支持工具,用户能够简便地生成上述方案定义部件的代码。
首先,当用户从下拉菜单中选择新方案371并点击指点设备时,方案对象操作部件233将显示对话框375,以输入方案名称。从而用户能够利用与方案ID不同但用户熟悉的名称来维护该方案。然后,用户在方案名的输入表目376中输入方案名,按下确认按钮,以便打开用于定义方案的窗口380。当选择下拉菜单中的“保存”372或“结束”374时,可以显示用于输入方案名的对话框375。
随后,用户利用指点设备拖动活动框420中的一个活动图标(ACT1)421,并将其放在窗口380中,以便定义方案。然后,根据GUI方案节点库201中的原型数据,生成GUI活动对象403和GUI位置对象405。调用所生成的GUI活动403的显示方法,并如图12所显示的GUI活动一样,在方案定义窗口380中显示该方法。在GUI活动403的前驱表和后继表中设置“0”,其中“0”表示“没有对象需要连接”。
如图9所示,GUI活动431具有一个选择方法和一个移动方法,GUI活动431能够进行与鼠标选择相对应的处理,并且通过拖动鼠标,能够修改显示位置。
然后,用户利用指点设备拖动模板框390中的(与-分离)图标392,并将其放在方案定义窗口380。接着,根据GUI方案节点库201中的原型,生成图9所示的GUI仲裁模板对象410以及连接407(生成了两个连接对象)。调用所生成的GUI仲裁模板413的显示方法以及连接对象407的显示方法,并如图13所显示的GUI仲裁模板433以及连接对象432、434一样,在方案定义窗口380中显示以上方法。
此时,在连接对象432的后继表中设置GUI仲裁模板433的信息,而在连接对象434的前驱表中设置GUI仲裁模板433的信息。另一方面,分别在仲裁模板433的前驱表和后继表中设置确定连接对象432、434的信息。将连接对象的显示位置设置为:根据GUI仲裁模板433的位置信息计算的数值。
GUI仲裁模板433也具有如图9所示的选择方法和移动方法,能够进行与鼠标选择相对应的处理,并且通过拖动鼠标,能够修改显示位置。当移动GUI仲裁模板433时,就根据移动量,更新GUI仲裁模板433之前驱表和后继表所确定的对象的显示位置以及一系列连接以上对象的对象,以便利用显示方法重画屏幕。
此后,当用户如图14所示在GUI活动431上拖放连接对象432时,方案对象操作部件233通过比较GUI活动的显示位置与正在拖动的鼠标指针的位置,确定所连接的GUI活动,在GUI活动431的后继表中设置确定连接对象432的信息,并且在连接对象432的前驱表中设置确定GUI活动431的信息。方案对象操作部件233还将连接对象432的显示位置更新为与GUI活动431的显示位置相对应的数值,以便利用显示方法重画屏幕。
这样,根据移动智能体所完成任务的性质和过程,用户能够配置图15所示的所需执行次序的活动。此后,当用户选择了该用户希望在同一位置执行的所需活动而保持按下控制键,并点击该位置的图标399时,就显示包含所选活动的矩形501-503,并且显示位置属性设置窗口510。
在本发明的最佳实施方式中,通过沿x坐标轴对所选活动的中心坐标进行排序,并计算其中心位于连接相邻活动的中心坐标的线段上的给定宽度的矩形,就能得到矩形501-503。顺便说说,可以利用以上矩形代替其中心位于所有活动的中心坐标上的椭圆。
在本发明的最佳实施方式中,当确认两个以上的活动位于同一位置时,就删除矩形的重叠部分,并以单个多边形的方式显示该重叠部分。此外,对表示GUI位置的矩形或多边形分配不同的颜色属性,以便操作员区分不同位置。
当通过点击某位置的图标399选择需要在同一位置执行的某个活动而按下键盘上的控制键时,通过指向并拖动鼠标来环绕希望在同一位置执行的活动也能完成以上处理,在选择之后,通过点击也能够取消该选择。
当用户设置位置名或位置地址时,以所选GUI活动403(图9)的GUI位置405的地址或位置名的方式,设置位置名或位置地址。
F.生成方案
图17为一流程图,该图表示根据方案定义数据生成运行代码(方案)的过程。首先,生成方案对象(块603)。通常方案生成包括以下步骤:生成方案ID的步骤以及建立与某对象的连接状态的步骤,其中某对象的位置低于方案对象。
在本发明的最佳实施方式中,方案对象配有一个方案ID,在整个网络上,方案ID是唯一的。在本发明的最佳实施方式中,方案ID生成部件215(图4)通过组合互联网的URL、端口号、智能体ID(分配给移动智能体生成部件)以及序列号(每当移动智能体生成部件生成一个方案ID时,分配一个序列号),生成方案ID。
表1表示方案ID生成部件的编码示例。在本发明的最佳实施方式中,以程序组件的方式,向用户提供方案ID生成部件的指令。
表1
public class Planner extends Stationary Agent{

  private Plan_plan;
				
				<dp n="d16"/>
    private PlannerFramef;

    private URL_home;

    private AgletIdentifier_id;

    private int_planIndex=0;

    public void onCreation(Object args){

       //生成一个方案选择窗口

      f=new PlannerFrame("JMT-PlannerAgent",this);

      f.show();

      try{

         //获取存在运行代码生成部件的URL

         _home=getAgletContext().getHostingURL();

      //获取移动智能体生成部件的ID

      _id=getIdentifer();

    }

catch(InvalidAgletException e){

            Utility.print(this,e.getMessage());

}

}
在本发明的最佳实施方式中,以Java函数的方式,提供生成方案对象的“New Operator”(新操作者),并且通过利用方案ID为参数执行以上类,就能够生成一个新的方案对象。
如上所述,通常通过利用在以上位置提供的函数(位置类),就能够生成仲裁智能体。在本发明的最佳实施方式中,通过向Java库的移动智能体的Aglet类抛出表示生成移动智能体的API,就能够生成仲裁智能体。
然后,生成与第一GUI活动相对应的活动(块605)。具体而言,根据GUI活动的活动类型,获得运行时刻的类名(此时为A1),接着,利用类名“A1”作为关键字,生成其实例。将生成的活动添加到方案对象中(块607)。
生成一FIFO(先进先出)队列,以便存储正在处理的GUI对象(GUI活动、GUI仲裁模板或连接对象)(块609),并将第一GUI对象(GUI活动)放入队列(块611)。通过观察前驱表是否为空等,确定第一GUI对象。
接着,从生成的队列中取出一个元素(GUI对象)(块612),以便执行例程(块613),如图18所示,该例程添加后继表中存在的活动或仲裁模板。
图18为一流程图,该图表示以上例程的处理过程。首先,比较后继表中的元素数目与值i,以便确定后继表中的所有元素是否执行了以上处理(块665)。
当后继表中的元素数目大于i时,就取出后继表中的第i个GUI对象(块657)。
随后确定队列中是否已经存在取出的GUI对象(块658),仅当队列中不存在该元素时,才将该元素放入图17中块609所生成的队列中(块609)。
接着,确定取出的元素(GUI对象)是否为GUI活动或GUI仲裁模板(块660)。如果取出的元素为GUI活动或者为GUI仲裁模板,就生成相应活动或仲裁模板(块661)。此时,如果取出的元素为GUI活动,就获得对应GUI位置的地址信息。
然后,从当前GUI对象的前驱表的连接对象中获取前驱索引,以便设置其本身的前驱表。在除了第一个以外的GUI活动或GUI仲裁模板中,前驱表必定包含连接对象的信息。由于在第一GUI活动的前驱表中设置了空信息,所以在其本身的前驱表中设置空。
然后将生成的元素(活动或仲裁模板)添加到方案中,在连接对象中设置该方案中次序表的索引,其中连接对象为当前GUI对象的后继。连接对象保存该值作为前驱索引,前驱索引用作生成活动或仲裁模板的前驱表所需的信息。
如果取出的元素不是GUI活动,也不是GUI仲裁模板,就不生成相应的活动或仲裁模板,并且处理下一元素。
当块657到块665的重复处理次数等于所有元素的数目时,流程就返回到图17,以便确定队列中是否还存在某个元素,如果存在某个元素,就取出该元素(块612),并再次执行例程(块613),如图18所示,该例程添加后继表中存在的活动或仲裁模板。
G.执行方案
G-1.其拓扑包含链(Chain)模板的情况
以下参照图19至图23,说明包含Chain(链)模板的拓扑中移动对象的操作。图19为一流程图,该图表示执行方案的过程,而图20为仲裁模板的功能框图。图23大致表示移动智能体从起始位置移动到目的位置所处的状态。首先参照图19,当生成仲裁智能体351并分配方案351时(块843),仲裁智能体自动执行该方案(块845)。
作为对“NextStep”(下一步骤)指令的响应,方案对象353取出当前方案节点(块847),其中“NextStep”指令是由仲裁智能体351发送到方案对象353的。在本发明的最佳实施方式中,方案迭代对象352响应方案对象353的询问,监视当前节点位于哪一步,并提供当前节点位于哪一步的信息。
当方案迭代对象352响应当前询问返回“0”(第一步)时,方案对象353就取出“act1”,然后请求“act1”在其中定义的活动来执行由该活动控制的请求(块849)。
该活动确定是否在同一位置存在其中保存的某个智能体的类名(智能体名称)。如图21所示,仲裁智能体350一旦到达位置360,就告诉位置360它的智能体名称,其中位置360以智能体表369的形式控制它的智能体名称。通过向位置360发出“getAgentList”(获得智能体清单)指令进行询问,存在于位置360的智能体能够发现存在于同一位置的智能体,这是由于位置360具有一个返回AgentList(智能体清单)的函数。
该活动向已经发现的智能体(作用智能体)361发送其中保存的消息(请求)。作用智能体361响应该请求,又向请求智能体350发送返回对象。请求智能体在结果记录525中存储接收到的对象。
该活动通知方案对象353已经完成了所请求的任务,并且方案对象353标记act1指明处理已经完成(块855)。然后,方案对象353请求方案迭代器352向前移动一步(块859),方案迭代器352向方案对象353提供当前信息。
由于当前信息为“1”(第二步),所以方案对象取出Chain(链)模板对象(块845、847),并请求链执行(块849)。
链的仲裁控制管理程序603询问当前状态的状态控制部件601。由于状态控制部件601的默认状态为起始位置,所以部件601通知仲裁控制管理程序603状态为起始位置。一旦仲裁控制管理程序603从状态控制部件601接收到状态信息,就请求状态控制部件601切换状态。作为响应,状态控制部件601将起始位置切换到目的位置。
图22表示模板所作的状态切换以及在起始位置或目的位置的处理流程。该流程图表示对大多数模板共同的操作,尽管位于块825中起始位置的处理内容与位于块831中目的位置的处理内容随模板的不同种类而变化。
仲裁控制管理程序603请求起始仲裁模块605执行。在起始仲裁模块605与目的仲裁模块607中控制模板在有关位置运行的指令组。
起始仲裁模块605通过询问仲裁智能体引用模块599,获得当前存在仲裁智能体351的位置的地址。
起始仲裁模块605还请求后继表609发送其中登录的活动的地址。后继表609从登录的活动(act2)中获取地址,将其发送到起始仲裁模块603。
起始仲裁模块603比较该活动的地址与当前仲裁智能体存在位置的地址,并且如果地址不匹配,就将仲裁智能体移动到该活动的地址。具体而言,起始仲裁模块605经过仲裁智能体引用模块,发出移动指令。如果地址匹配,处理就结束。
方案对象再次请求方案对象在目的位置执行一步。同样,方案对象取出当前方案节点。方案对象请求Chain(链)执行下一步。Chain确认状态信息,处理目的位置。将状态信息恢复到起始状态。
当该方案确认链的目的位置处理完毕时,该方案就取出下一个当前方案节点(act2),并请求执行该活动。act2获取act1内部保存的结果。
在本发明的最佳实施方式中,目的模块607参照前驱表591,发出“getResult”(获得结果)指令,以请求链发送处理结果。作为响应,链搜索其保存的结果。然而,由于链并未保存该结果,所以链到达前驱表591中登录的对象(act1)获取结果,并参照前驱表591向act2返回该结果。当前驱表591中没有登录任何对象时,就向act2返回Dummy(哑元),哑元表示没有保存结果。另一方面,通过准备一个在模板中存储结果的记录,也能完成以上处理。
act2利用其内部保存的智能体的类名作为关键字,获取在同一位置存在的报告智能体的指针。act2向报告智能体发送一条内部保存有结果的消息,该结果是从作为参数的act1中获取的。方案取出下一个当前节点。此时,由于不存在当前节点,方案检测到该情况,结束处理。目的位置的仲裁模块607经过仲裁智能体引用模块599,向仲裁智能体发送消除仲裁智能体的指令。
G-2.其拓扑包含迭代模板的情况
图24表示Iteration(迭代)模板控制的移动对象的概括操作。现在参照图20,说明在包含迭代模板的拓扑的情况下的处理。与链的情况类似,生成仲裁智能体351,传送将以参数方式准备的方案对象353,一步一步地执行方案353。与链在起始位置执行处理时链的情况类似,方案353还取出当前方案节点(链)。此外,正如“G-1.其拓扑包含链模板的情况”所述,方案对象353在目的位置进行处理,并执行活动act1。
在处理了act1之后,方案353请求Iteration(迭代)执行下一步骤。图25为一流程图,该图表示在迭代模板起始位置的处理过程。在迭代的模板起始位置的处理中,确定是否可以处理下一步,即,act1的结果信息是否与预定条件匹配(块873)。
如果满足条件,就在后继表中存储内部保存的后继信息(块875)。从后继表的act2中取出地址(块877),并将仲裁智能体移动到该地址(块879)。如果不满足条件,就将状态设置为起始(块881),从返回节点索引中获取方案节点的指针,替换该方案节点中后继表中的元素,流程进行到下一步骤(块883)。接着,正如“G-1.其拓扑包含链模板的情况”所述,处理act2,从而完成处理。
G-3.其拓扑包含与-分离和与-连接模板的情况
图26和图27表示由ANDSplit(与-分离)和(与-连接)模板控制的移动对象的概括操作。以下参照图20,说明包含与-分离和与-连接模板的拓扑的情况。与链的情况类似,生成仲裁智能体351,以参数方式传送业已准备的方案对象353,一步一步地执行方案353。
与链的情况类似,方案对象353取出作为当前方案节点的与-分离。方案353请求与-分离执行下一步骤。图28为一流程图,该图表示与-分离模板中起始位置的处理过程。
仲裁控制管理程序603搜索状态控制部件601的状态信息,获取默认的“起始”。仲裁控制管理程序603请求起始仲裁模块605在起始位置进行处理。仲裁控制管理程序603请求状态控制部件将状态改变为目的位置(块893)。与-分离参照后继表取出后继表中的第一活动(块897),并在标记索引595中设置“0”(块899)。
随后,仲裁控制管理程序603经由仲裁智能体引用模块599,请求仲裁智能体351准备复制仲裁智能体(块901)。仲裁智能体响应该请求,准备拷贝包括仲裁智能体、方案、模板以及由仲裁智能体保存的活动在内的所有对象。
作为对完成复制准备的响应,经过拷贝复制的仲裁智能体告诉仲裁智能体引用模块599其本身的智能体ID。仲裁智能体引用模块599通知起始仲裁智能体605已经完成复制体的准备。
作为对以上处理的响应,起始仲裁模块605从后继表609中获得与标记索引的值(0)相对应的活动(act1)的地址。起始仲裁模块605经由仲裁智能体引用模块599,请求仲裁智能体351将复制体移动到与act1的地址相对应的位置(块903)。
起始仲裁模块605参照后继表609,确定是否登录了下一个活动。如果登录了下一个活动,起始仲裁模块605就利用类似过程准备另一复制体,并将其移动到act2的位置(块897-903)。此时,与移动到act1的复制体不同,移动到act2的复制体的标记索引保持为“1”(块899)。
当处理完移动到act2的复制体的准备和移动后,起始仲裁模块605就参照后继表609确定是否登录了下一活动(块897)。由于在该例中,后继表609中并未登录活动,所以起始仲裁模块605认为已经完成复制体的准备和移动。
作为对以上处理的响应,起始仲裁模块605经由仲裁智能体引用模块599,向仲裁智能体351发送指令,以便删除起始位置保留的仲裁智能体(块905)。
另一方面,复制体的仲裁智能体在有关位置执行下一方案步骤。此时,再次取出与-分离作为当前节点。图29为表示下一个当前节点的逻辑流程图。仲裁控制管理程序603参照状态控制部件601,获取状态信息,认为当前状态为目的位置,请求目的仲裁模块607进行处理。
仲裁控制管理程序603将状态信息恢复为起始状态。当该方案确认完成了与-分离的目的位置的处理时,该方案就取出与标记索引相对应的方案节点(act1或act2),并请求执行活动。
方案对象353参照方案迭代程序352,取出下一个当前节点。此时,方案迭代程序参照后继表609以及标记索引595检查已经登录的数值(图29)。
act1与act2获得由先前执行的活动保存的结果。在该例中,由于在与-分离模板之前并来执行活动,所以act1和act2最终不能获得由先前执行的活动保存的结果。
首先,在与act1相对应的复制体的智能体中,选择与-连接作为下一个当前节点。方案对象353请求与-连接模板的仲裁控制管理程序603执行下一步骤。仲裁控制管理程序603识别出应当根据状态控制部件601中的信息,处理当前起始位置,并向起始仲裁模块605发出执行请求。仲裁控制管理程序603还请求状态控制部件601改变状态。
起始仲裁模块605参照后继表609,获得在后继表609中登录的活动(act3)的地址信息,并经由仲裁智能体引用模块599,命令仲裁智能体351移动到与所获得的地址信息相对应的位置。
与act2相对应的复制体的智能体还要以类似于act1的方式进行处理,并移动到act3的位置。由于有两个仲裁智能体移动到一个新位置,所以它们分别执行下一步骤。方案对象353取出与-连接模板作为当前节点,并执行下一步骤。
图30和图31为流程图,该图表示在与-连接模板的目的位置的处理过程。与-连接的仲裁控制管理程序603参照状态控制部件601,确定当前状态为目的位置,并请求目的仲裁模块607执行。
各仲裁控制管理程序603将状态恢复为起始位置。与act1相对应的复制体的目的仲裁模块607参照前驱表591,取出标记为完成的活动(此时为act1)(块913)。确定所取出的活动是否在前驱索引表中具有最小下标(块915),如果确定该活动具有最小下标,就接收其他复制智能体的结果。
具体而言,目的仲裁模块607请求同一位置的智能体引用模块597获取存在于相同位置的智能体表。作为响应,同一位置的智能体引用模块597向位置360发出“getAgentList”(获得智能体清单)指令,进行询问。该位置返回AgentList(智能体清单),以便获取存在于相同位置的智能体表。
同一位置的智能体引用模块597将该表发送到目的仲裁模块607。目的仲裁模块607从该表中寻找具有相同方案ID的智能体(块921)。
当发现具有相同方案ID的智能体时,就得到了该智能体的方案。随后检查所获得的方案的当前节点(块929),如果该智能体为同一ANDJoin(与-连接),就接收该智能体的结果。在本发明的最佳实施方式中,还要确定当前节点的下标是否相同(块931、933),并且仅当下标相同时,才进行合并处理。这样作是为了避免不能识别出需要处理的与-连接的主题。目的仲裁模块607参照前驱表,查找存在多少前驱,并接收同前驱数目一样多的结果。
具体而言,目的仲裁模块607参照所接收方案的前驱表591,取出标记为完成的活动,并接收由该活动保存的结果。将结果设置为相应活动的结果。可以代替方案节点本身(块935)。图32概括表示接收结果的处理过程。
在目的仲裁模块607检测出完成设置结果之后,目的仲裁模块607经由仲裁智能体引用模块,向相应的仲裁智能体351发送指令进行删除(块937)。相应的仲裁智能体接收到该指令后,就删除其控制的仲裁智能体和对象(方案、模板以及活动等等)。
另一方面,一旦与act2相对应的智能体到达新的位置,就执行下一步骤。该智能体的目的仲裁模块607还参照前驱表591取出标记为完成的活动(此时为act2)(块913)。确定所取出的活动是否在前驱索引表中具有最小下标(块915),并确定该下标不是最小下标。此时,进入Sleep(睡眠)状态,以等待传送其他复制智能体的结果(块925)。
回到与act1相对应的复制体,在完成删除复制体之后,目的仲裁模块607接收同前驱表的数目(前驱表中的元素数目(1)一样多的结果,并且该方案取出下一方案节点(act3),请求执行该活动。
act3获得在act1与act2内部保存的结果。在本发明的最佳实施方式中,目的仲裁模块607向act1与act2(属于与act1相对应的复制体)发送“getResult”(获得结果)指令,请求发送处理结果。作为相应,act1与act2发出它们保存的结果。
act3利用其内部保存的智能体的类名作为关键字,获得在同一位置存在的智能体的指针(在该例中为报告智能体)。act3以从act1与act2获得的结果作为参数,向报告智能体发送一条其内部保存有结果的消息。
方案取出下一个当前节点。由于此时不存在当前节点,方案检测到该种情况并结束处理。仲裁智能体检测到处理结束,删除其控制的仲裁智能体以及对象,从而结束处理。
G-4.其拓扑包含或-分离模板的情况
图32表示由ORSplit(或-分离)模板控制的移动对象的概括操作。就或-分离而论,与链和与-分离不同,图33表示起始位置的处理。ORSplit模板具有一个前驱活动以及多个后继活动。在起始位置,通过调用“chooseActivity”(选择活动)方法从后继表种选择一个活动,并且仅执行选择的活动。
在处理或-分离的起始位置中,首先将状态改变为目的位置(块982)。随后调用函数“chooseActivity”,并选择满足预定条件的需要执行的活动(块983)。该活动的下标变为标记下标(块984)。获得所选活动的地址,并请求仲裁智能体351移动到该地址(块985)。
G-5.其拓扑包含或-连接模板的情况
图34表示由ORJoin(或-连接)模板控制的移动对象的概括操作。就或-连接而论,同链和与-连接不同,图35表示目的位置的处理。或-连接模板具有多个前驱活动以及一个后继活动。在目的位置,或-连接进行以下处理,即首先到达的移动智能体生成一个处理(Dispose)智能体,而删除其他智能体。
首先到达目的690的移动智能体的或-连接模板694发送方法“findDisposeAgent”(发现处理智能体),以便确定是否在同一位置存在一个处理智能体(块943)。如果不存在处理智能体,就生成一个删除其他智能体的处理智能体(块945)。此时,以参数方式传送方案以及前驱表中的活动数目-1。处理智能体等待“前驱表中的活动数目-1”个移动对象,以便删除该对象,并在完成其使命后删除其本身。在本发明的最佳实施方式中,继续存在的条件取决于某个对象是否首先到达目的690,结果的内容可以是继续进行处理的条件。
另一方面,其他移动对象的或-连接模板696同样发送方法“findDisposeAgent”,以便确定是否在同一位置存在一个处理智能体(块943)。由于此时已经存在一个处理智能体,所以进入由处理智能体进行的删除处理。具体而言,确定该处理智能体是否保存有同一方案(块947)或同一当前节点下标(块949),以便确认该智能体就是需要删除的处理智能体。
当确认该处理智能体就是需要删除的智能体后,就向处理智能体发送消息“countdown”(递减计数),以便减少处理智能体的进程数(块951)。随后或-连接模板696向仲裁智能体692发送处理请求,使其灭亡。
尽管本发明的最佳实施方式还提供部件连接(Join)模板,该模板具有多个前驱活动以及其数目少于前驱活动的多个后继活动,由于通过组合上述模板就能够实现该模板,所以省略了对该模板的说明。例如,通过组合多个前驱活动、连接某个后继活动的或-连接模板、确定已经执行了所需数目的或-连接模板的活动、根据或-连接模板活动是否清除了所需条件而返回到或-连接模板的迭代模板、一个哑元活动以及分离为所需数目的与-分离,就能够实现部件连接模板。

Claims (4)

1.一种生成至少部分移动对象的方法,其中移动对象在配备有指点设备和显示屏幕的移动智能体生成装置中移动仲裁智能体的控制下,在不同位置执行不同活动,所述方法其特征在于包括以下步骤:
(a)生成代表第一活动的第一GUI活动,以便在所述显示器上显示所述第一GUI活动的步骤,
(b)生成代表第二活动的第二GUI活动,以便在所述显示器上显示所述第二GUI活动的步骤,
(c)生成代表仲裁模板的GUI仲裁模板,以便在所述显示器上显示所述GUI仲裁模板的步骤,其中仲裁模板定义所述第一活动和所述第二活动之间的连接关系,
(d)保存第一次序信息的步骤,其中第一次序信息根据操作员的输入,确定所述GUI仲裁模板与所述第一GUI活动的次序,而操作员输入用于使所述GUI仲裁模板与所述第一GUI活动发生联系,
(e)保存第二次序信息的步骤,其中第二次序信息根据操作员的输入,确定所述GUI仲裁模板与所述第二GUI活动的次序,而操作员输入用于使所述GUI仲裁模板与所述第二GUI活动发生联系,
(f)显示一个表目的步骤,该表目用于输入第一位置的第一地址信息,其中在第一位置执行所述第一活动,
(g)保持与所述第一GUI活动有关的所述第一地址信息的步骤,
(h)显示一个表目的步骤,该表目用于输入第二位置的第二地址信息,其中在第二位置执行所述第二活动,
(i)保持与所述第二GUI活动有关的所述第二地址信息的步骤,以及
(j)根据所述第一顺序信息、所述第二顺序信息、所述第一地址信息和所述第二地址信息,生成至少部分移动对象的步骤。
2.提供配备有一个指点设备和一个显示屏幕的移动对象生成装置,以便在移动仲裁智能体的控制下,生成至少部分移动对象,该移动对象在不同位置执行不同的活动,所述装置其特征在于包括:
(a)代表某个活动并配备有显示方法以便在所述显示屏幕上显示该活动的GUI活动,
(b)代表某个活动和仲裁模板并配备有显示方法以便在显示屏幕上显示该模板的GUI模板,其中仲裁模板定义与其他活动的连接关系,
(c)用于获取操作员输入的输入事件获取部件,操作员输入使所述GUI仲裁模板与所述GUI活动发生联系,
(d)方案对象操作部件,该部件根据所述操作员输入,确定所述GUI仲裁模板以及所述GUI活动的顺序,
(e)配备有显示方法和地址设定方法的GUI位置对象,显示方法用于显示一个表目,以便输入执行所述活动的位置的地址信息,而地址设定方法用于保持在所述表目中输入的位置的地址信息,以及
(f)执行代码生成部件,该部件根据所述顺序信息和所述位置的地址信息,生成至少部分移动对象。
3.一种用于存储生成至少部分移动对象的GUI对象的存储介质,该移动对象在移动智能体生成装置中的移动仲裁智能体的控制下,在不同位置执行不同活动,其中移动智能体生成装置配备有一个指点设备和一个显示屏幕,所述介质其特征在于存储:
(a)一个GUI活动,该GUI活动配备有:
(a1)一个显示方法,该显示方法以能够识别的方式,在所述显示屏幕上显示一个活动,以及
(a2)一个前驱表,该前驱表控制与其他GUI对象的连接关系,
(b)一个GUI位置对象,该GUI位置对象配备有:
(b1)一个显示方法,该方法用于在所述显示屏幕上显示一个表目,以便输入确定执行所述活动的位置的地址信息,以及
(b2)一个地址设定方法,该方法用于保持一个输入的地址信息,以及
(c)一个GUI仲裁模板,该GUI仲裁模板配备有:
(c1)一个显示方法,该方法以能够识别的方式,在所述显示屏幕上显示一个仲裁模板,其中仲裁模板定义某个活动与其他活动之间的连接关系,以及
(c2)一个配备有前驱表的GUI仲裁模板,其中前驱表控制与其他对象的连接关系。
4.一种用于存储生成至少部分移动对象的GUI对象的存储介质,该移动对象在移动智能体生成装置中的移动仲裁智能体的控制下,在不同位置执行不同活动,其中移动智能体生成装置配备有一个指点设备和一个显示屏幕,所述介质其特征在于存储:
(a)一个GUI活动,该GUI活动配备有:
(a1)一个显示方法,该显示方法以能够识别的方式,在所述显示屏幕上显示一个活动,以及
(a2)一个前驱表,该前驱表控制与其他GUI对象的连接关系,
(b)一个GUI位置对象,该GUI位置对象配备有:
(b1)一个显示方法,该方法用于在所述显示屏幕上显示一个表目,以便输入确定执行所述活动的位置的地址信息,以及
(b2)一个配备有地址设定方法的GUI位置对象,地址设定方法用于保持输入的地址信息。
CN 98123855 1997-11-07 1998-11-05 生成移动对象的方法和装置 Expired - Fee Related CN1111298C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP30602097 1997-11-07
JP306020/97 1997-11-07
JP306020/1997 1997-11-07
JP015817/98 1998-01-28
JP015817/1998 1998-01-28
JP10015817A JP2963077B2 (ja) 1997-11-07 1998-01-28 移動オブジェクト群の生成方法、及び生成装置、移動オブジェクト群を生成するオブジェクトを格納した記憶媒体

Publications (2)

Publication Number Publication Date
CN1218224A true CN1218224A (zh) 1999-06-02
CN1111298C CN1111298C (zh) 2003-06-11

Family

ID=26352037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 98123855 Expired - Fee Related CN1111298C (zh) 1997-11-07 1998-11-05 生成移动对象的方法和装置

Country Status (2)

Country Link
JP (1) JP2963077B2 (zh)
CN (1) CN1111298C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211274B (zh) * 2006-12-29 2010-05-19 盛乐信息技术(上海)有限公司 多应用同时响应手柄的装置及其实现方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211274B (zh) * 2006-12-29 2010-05-19 盛乐信息技术(上海)有限公司 多应用同时响应手柄的装置及其实现方法

Also Published As

Publication number Publication date
JP2963077B2 (ja) 1999-10-12
JPH11194941A (ja) 1999-07-21
CN1111298C (zh) 2003-06-11

Similar Documents

Publication Publication Date Title
CN1172239C (zh) 执行移动对象的方法
CN1610323A (zh) 控制系统设定装置和控制系统设定方法及设定程序
CN1137443C (zh) 设备控制系统和方法
CN1154896C (zh) 控制系统、显示装置及资料传送方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1149492C (zh) 遥控方法和服务器
CN1273888C (zh) 成像装置、信息处理装置、程序执行方法及程序生成方法
CN1306406C (zh) 在多个输入/输出子系统映像上共享通信适配器的方法和系统
CN1252592C (zh) 通信服务供应方法和设备
CN1266512A (zh) 适用于面向对象编程语言的硬件加速器
CN101044498A (zh) 工作流服务体系结构
CN1591341A (zh) 用于共享资源的通知
CN1821956A (zh) 用现有内容生成用于执行任务的活动内容向导可执行文件
CN1740970A (zh) 无缝地比较对象的系统和方法
CN1795434A (zh) 程序执行控制设备,程序执行控制方法,控制程序和记录介质
CN1568458A (zh) 无需修改现有代码即可增加新软件特征的方法
CN101040249A (zh) 虚拟桌面—元-组织和控制系统
CN1601483A (zh) 一种基于脚本解释工具的自动化软件测试系统
CN1041839A (zh) 包含有在二个目标之间进行数据传送的快照设施的目标管理设施
CN1276575A (zh) 数据库存取系统
CN1734438A (zh) 信息处理设备、信息处理方法和程序
CN1285032C (zh) 外部事件处理器系统和方法
CN1633638A (zh) 在外貌特征模式中带有总功能特性的连接实体
CN1229728C (zh) 具有会话管理和分布式管理功能以及相应的操作管理机制的web应用系统
CN1231861C (zh) 用于显示与商业时间表有关的信息的装置和方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030611

Termination date: 20101105