CN1150488A - 可训练的用户接口翻译器 - Google Patents
可训练的用户接口翻译器 Download PDFInfo
- Publication number
- CN1150488A CN1150488A CN95193161A CN95193161A CN1150488A CN 1150488 A CN1150488 A CN 1150488A CN 95193161 A CN95193161 A CN 95193161A CN 95193161 A CN95193161 A CN 95193161A CN 1150488 A CN1150488 A CN 1150488A
- Authority
- CN
- China
- Prior art keywords
- client
- application program
- menu
- path
- host
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Digital Computer Display Output (AREA)
- Electrically Operated Instructional Devices (AREA)
- Computer And Data Communications (AREA)
- Compositions Of Oxide Ceramics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Abstract
一种用于将在一主计算机上运行的已有应用程序所用的第一用户接口变换为在一客户计算机上应用的第二用户接口的设备和方法。此设备从主机截取提示和输入请求,将它们变换成适于在客户计算机上应用的形式,并将经变换的提示和请求传送给客户。此设备可存贮在以后的提示或请求中应用的信息,按存贮值转移以改变路径执行,并处理由不正确输入产生的差错。
Description
本发明是关于由一目标计算机系统集积和翻译软件应用程序用户接口到一新的计算机系统而不改变基础的应用程序。
软件开发人员,系统组合者,累计价值转售方以及最终用户均渴望采用发展中的手持式计算机和便携式数据收集终端。但将这些新装置引入已有的软件系统被证明是很困难的,主要是因为运行此应用程序的计算机系统必须向用户接口提供一最小限度功能。例如,一报表系统的用户接口可能要求一能显示24行×80字符的屏幕。但一便携终端仅提供4行×40字符,因此不可能直接运行此应用程序。由于手持式或便携式终端一般都不具备所要求的最低限度功能,所以它们均不能运行大部分当前的应用程序。
传统上解决此问题的办法包括有改写老的应用程序,购买适应此便携终端的局限性的新的应用软件,或者是一客户映象程序,此程序将信息组、提示和响应从它们在原先的目标计算机显示器的各自的位置“映射”到可携装置上较适用的位置。改置老的应用程序需要时间,花费金钱并具有将故障带进已有系统的危险。购买一新的应用软件涉及很大开销和风险。
客户映象程序的生产很昂贵且费时间,而且使应用程序的维护费用增加,因为应用程序的改变可能需要客户映象程序中的再次改变。此外,客户映象程序还可能产生同步问题。当考虑到一差错消息未被一在继续进行键入(输入)的操作员发现的影响时要加以同步的需要就很显见了。因此,客户映象程不是这一问题的令人满意的解决措施。
本发明解决这一问题是通过作为一在已有应用程序与一新计算机系统间的智能型的可训练的接口的作用。所得结果是本发明使得能以并非原先设计的硬件来应用已有的计算机软件。具体说,它提供一种装置与已有程序接口,处理来自该已有程序的显示屏的数据,并以不同的状态和/或格式将这些数据向用户呈现。同样地,它从用户接收数据,在需要时将数据加以重新格式化,并将此经重新格式化的数据提交到已有的应用程序。
本发明的一个目的是提供一种系统,它能翻译、或变换一已有的软件应用程序的用户接口以便能在新的计算机系统上运行。另外,本发明的一目的是提供一种采用简单的方案来“教化”、即训练系统翻译一已有软件应用程序的用户接口的系统。本发明的再一个目的是提供使一便携装置的操作与一已有的软件应用程序的操作同步的同步机制。本发明的一附加目的是提供对应用程序差错的完善的差错处理方法。
依靠本发明,已有的应用程序软件可在一不具备所需水平的用户接口功能的系统上加以利用。
本发明揭示一种用于翻译一已有的软件应用程序的用户接口的可训练的设备。此设备包括一适于与一主计算机和客户计算机两者通信的计算机。此设备截取主机的输入/输出流并将应用程序用户接口翻译成一在客户计算机上利用的客户接口。此计算机另外还适于通过掩盖由应用程序用户接口所传送的重复任务和冗余信息来简化用户与应用程序的交互作用。此计算机还适于使主应用程序一致为单一的用户接口。
还揭示了生成和训练此设备的方法。通过对一用户与应用程序的交互进行监视来训练此设备。此监视过程产生该设备用来翻译该应用程序用户接口的路径规律。
对附图的简要说明:
图1为现有技术采用手持式或便携式终端的计算机系统的方框图;
图2表明一便携式终端与一应用程序的目标终端间的功能差异。
图3为一采用本发明与便携终端接口的计算机系统的方框图;
图4为在教化过程期间产生的虚拟用户路径的方框图;和
图A-KK为本发明一实施例的屏幕打印输出。
图1表示一采用一便携终端的现有技术计算机系统。计算机系统10运行一专门为一便携终端16设计的应用程序12。此应用程序12通过便携终端16与用户14交互作用。应用程序12通过通讯媒介18例如红外、射频或者直接连线与该便携终端16通信。便携终端16向用户14显示要求特定信息的提示。用户14响应这些要求将应答输入进便携终端16。
如果应用程序不是被设计来在此便携终端上运行的,用户就不能与此应用程序对话(交互作用)。例如参考图2,应用程序可能要求一带有包含功能键的实际大小的键盘21的终端20,此键盘是与能在便携终端22上运用的键盘23不同的。应用程序也可能要求一终端24其屏幕尺寸大于便携终端22上的屏幕25。在这两种情况下,如果不对系统作某种形式的改变,此应用程序就将不能在此便携终端上运行。
图3表示一采用本发明的计算机系统。计算机系统30运行一并不是设计为便携终端应用的应用程序32。本发明34被安置在应用程序32与便携终端36之间。应用程序32通过通讯媒介33与本发明34通信,而本发明34再通过一通讯媒介38与便携终端36通信。便携终端36仍然向用户39显示要求特定信息的提示,但这些提示是由本发明34而不是由基本应用程序32产生的。用户响应这些提示将回答输入进便携终端36,但这些回答仍然为本发明34所俘获而不一定直接被传送至应用程序32。
本发明可以与基本应用程序驻存在同一计算机系统中,或者可以驻存在一独立的计算机系统中而通过一网络与应用程序通信。在此二种情况下,本发明截取I/O流并翻译用户接口以在便携终端上应用。本发明还可用来简化对一已有程序或程序组的访问,即使访问是经过与该已有程序同一计算机系统的。
为了在一已有的应用程序与一便携终端间进行接口和翻译,本发明生成一虚拟用户(VU,Virtual User)。一个VU对此已有应用程序则表现为一真实的用户。VU被训练得就象一实际用户那样运行已有的应用程序,并以与一便携终端兼容的格式将数据提供给实际用户。
VU在应用于最终的系统中之前,通过监视一人类用户在运行该应用程序期间的交互作用来产生。据此,本发明将产生一“路径文件(path file)”,VU将用此来自动地通过该应用程序中的特定任务。此路径文件由一系列在训练过程期间产生的自动发生的“步骤”构成,以后VU将按线性的或分枝的顺序来执行这些步骤以便沿此应用程序行动。一应用程序中的每一光标停止均在VU的监察中,至少一个步骤,很可能为一系列步骤,与此停止有关。
本发明提供三个促使产生此VU的特点。第一,本发明利用一菜单驱动的接口来促进生成VU的过程,使此过程为交互式而不是“联机”的。不要求用户进行传统意义上的编程,而仅只是与应用程序进行对话。
第二,此VU能生成和利用基本应用程序不具备的功能。因为本发明仅只是遵循一组预先定义的步骤,人们所能输入的任何键入组合、—VU也能实现。这就使VU能被训练、亦即被教化得能在整个应用程序中通行,进入和退出不同的应用程序,以及甚至访问和退出不同的主机。例如,一应用程序可能具有二个菜单选项:第一菜单列举现有项目的量,而第二菜单列举项目的地点。一典型的用户对应用程序的直接访问必须进入第一菜单选项得到数量,退出第一菜单选项,进入第二菜单选项以得到其地点,仅仅为得到此二个信息。此VU可被训练来执行此相同步骤,但提供给用户的是具有此二者信息的一个屏幕显示。因此,本发明能为用户产生新的功能,这些功能在早先那样“直接按照所编写的”运行一特定应用程序中是不可能的。
第三,本发明提供使VU能将其本身与应用程序相同步的流监视。VU必须在向主机发送回任何键入信号之前与每一应用程序的光标停止同步。采用流监视就使VU能“识别”当前的光标位置并因而能确定其“正在审阅中”的应用程序的那个屏面显示。
生成和教化虚拟用户
为了翻译一应用程序用户接口,必须生成VU并加以教化。
下面为在教化过程中能由本发明的菜单条i\的FILE、VARS、HOST、CLIENT和MISC选项中访问的所有命令的列表。FILE MENU
Save path file:保存已对路径文件(path file)
生成的步骤,不退出
Save&Exit: 保存路径文件并退出
Quit: 退出不保存
Save Window: 允许保存任何屏幕图象作以后打印VARS MENUDeclare Variable: 宣告一欲在将生成的路径文件中
使用的变量Set Variable: 将已宣告的变量初始化到起始值Branch on Variable:定义当一变量等于这里所定义提
出的“to match”时程
序将转移到的路径名。注:“N
o”选择路径中的步骤号(s
tep#)HOST MENU(第一次)Connect Local(PTY): 定义对主应用程序的连接方法
为对VU运行中的同一计算机
的伪终端访问(pseudo
terminal acce
ss)Connect Local (Pipe):定义对主应用同程序的连接方
法为通过一同轴通信线至VU
运行中的同一计算机Connect via TELNET: 定义连接到主应用程序的方法
为通过通信网络,在此情形下
应用程序在与VU不同的计算
机上运行Connect via Serial: 定义对主应用程序的连接方法
为通过VU运行中的计算机的
串行端口(serial p
ort)HOST MENUSend to HOST: 将键入信号的任一组合发送至
主机Wait for HOST: 同步步骤,保证在一给定时
刻VU和主应用程序与一
给定的应用程序处于相同的
字符Save Host Screen Data:保存主屏幕显示的特定窗
口,常被用于存贮每一
时刻在屏幕同一行上所出
现的差错消息Bypass Virtual User: 允许中止交互式训练和将
数据直接键入主应用程序CLIENT MENUClear Screen:发送清除屏幕的命令序列Sound Tone: 发送响铃的命令序列Move Cursor: 发送使光标移动到客户屏幕的特定X,Y坐
标上Send Message:发送字符串给客户进行显示Get Reply: 请求客户回答(扫描器或键盘输入)MISC MENUStart New Path:定义当前步骤为路径的起始,用作在利
用下面的连接语句时的连接点 End Path: 定义路径结束Connet(Loop): 使程序流能改向到利用上述“Start
New Path”选项指定的路径标号Exec Procedure: 使程序控制能转到对Terminal
Mode,Logon等可行的预先定义
的一个或多个过程
通过从如上定义的菜单条中选择不同的选项,就可以访问VU为之训练的应用程序。在访问此应用程序之后,可交互式地训练VU对应用程序中的提示作恰当的反应。
一个重要的概念是应用程序流。应用程序流是必须被跟随以用于一特定应用程序的数据输入提示序列。这些提示包括有菜单选择,数据和时间输入,以及其他为运行一应用程序所需的输入。本发明提供一种预先定义和存贮某人(例如一虚拟用户)与一应用程序的对话情况的方法。
利用任一应用程序的第一步是要对如何与此应用程序进行对话加以训练。而该VU可被训练来记忆被重复的键入序列,访问系统的时间和数据信息,决不会忘记如何进行。必须训练VU如何响应应用程序所作的光标停止。在被训练如何对光标停止/提示进行响应之后,VU将能自己执行该应用程序中同样的功能。
为促成数据输入,必须训练VU来提供醒客户的数据输入。客户(Client)为一操作人员将输入数据处的终端(RF手提机,常规终端等)。VU简化一应用程序的运行而无需作该应用程序上的变更编程。VU做到这一点是通过使绝大部分应用程序光标停止/提示自动化和仅使当前的特定任务所需求的信息通往该客户。在应用程序的每一光标停止中均有一选项提醒客户提供数据或进行该菜单条允许的任一其他功能。这一选项使VU改变其对一给定的应用程序光标停止的响应。这样,本发明就保证执行步骤中能进行转移。
下面为典型的虚拟用户训练期间的基本步骤表。
1)主机连接/注册/应用程序访问
2)客户菜单
3)主应用程序访问
4)自动化导航访问菜单
5)提醒客户输入数据
6)基于客户数据的转移和出错指令
7)再次启动客户任务的循环或返回客户菜单
为希望执行的任一功能重复这些部分就可对便携终端操作者生成简化的用户输入屏幕显示。因为VU只不过是以人们所要求的仅以66MHz(计算机的时钟速度)通行穿过一应用程序,所以可以将其训练来完成并不期望人们及时完成的任务。这一简单的概念就使得能将来自一应用程序(甚至数个不同的应用程序)的数个菜单选项的功能汇合在一起、生成一在原始应用程序中甚至不可能存在的单一的操作人员屏幕信息。
通过下面的示例训练过程将会更清楚了解这些步骤每一个的细节。应注意的是,在下例被引用的图形表明三个重要区间。各图形均表示本发明的训练屏幕。这些图形的上部为一用来访问上述的功能菜单的菜单条,如图A-a所说明的。这些图的中间为一标记为“CLIENT”的范样客户窗,反映客户计算机系统上屏幕的大小和形状,如图A-a中所表明的。这一屏幕在规格文件(specfile)中加以定义。规格文件的举例是附录B。最后,一标记为“HOST”的“主窗口影线(Host window shade)”在需要时将上托来表示由主机发送的消息和提示。这在图I-C中作出说明。此CLIENT、HOST和发明菜单表明此教化过程中的系统状态。在当教化过程结束时,所完成的VU就将按所训练的那样运行。
示例虚拟用户训练/教化过程
下面为一经实际用户运行的简单应用程序例,用来说明VU的生成。在整个下文中,[]被用来表示欲利用下拉菜单选择的选项,或表示要按压的实际键。例如,选择[Start New Path]就是指要增亮一下拉菜单中的选项“Start New Path”,按压[end]是指按下结束键。
步骤0:(图A-a~A-d)
访问Misc菜单,选取[Start New Path]。必须定义要起动的路径(path)名,这对于循环和转移控制是很重要的。此路径名指定用于转移和循环访问的路径中的点。在此例中选择名称[main-menu],因为主菜单将在这一点显示。步骤1:(图B-a~B-b)
访问Client菜单并选取[Move Cursor]。这将设置光标在客户窗中的位置。缺省设置行:1和列:1已被选定。结果客户窗中光标移到x,y位置,或1,1。步骤2:(图C-a~C-b)
访问Client菜单并选择[Clear Screen]。结果客户屏幕被清除。步骤3:(图D-a~D-h)
访问Client菜单并选取[Send Message]。显示一子菜单。访问Type子菜单并选取[Text],输入欲在客户屏幕上显示的消息。在此例中输入消息“[Do you want to run the program y/n]”。现在在客户屏幕上显示出正文“Do you wantto run the program y/n”,分成适应于客户屏幕的恰当长度的行。现在系统准备由客户得到回答。步骤4:(图Ea~Ec)
访问Vars菜单并选取[Declare Variable]。可宣告一变量存贮来自客户对步骤3中问题的响应。输入变量名[answer]。步骤5:(图Fa~F-b)
访问Client菜单并选取[Get Reply]。输入[answer][tab][1]以输入“answer”作为将存储来自客户的响应的变量,并设置最大长度等于一字符。注意,[backspace]现在作为通常为删改错误所期望的动作。步骤6:(图G)
有二个选项需加以定义。第一个是对“y”即肯定响应,一般一典型的训练过程将通过运行该应用程序所需的“正常”路径。在这种情况下正常就是指“y”,所以将以“y”作响应,而后在此例中对“n”的训练可被输入。步骤7:(图H-a~H-c)
访问Vars并选取[Branch on Variable]。键入[answer][tab][y][tab][start -rw][tab]。这定义动作:如果变量“answer”等于值“y”则以名为“start -rw”的路径前进。在下一菜单选择[d]以宣告一路径名。此时,“n”动作也可加以定义。键入[n][tab][exit][tab][d],在“answer”等于“n”时促使路径“exit”运行。
现在名为“start-rw”的路径被生成。
主机连接/注册/应用程序访问:对此训练示例将在同一主机上运行应用程序和本发明两者。因此此应用程序被认为是在一本地主机上运行而不是在一不同的或远地主机上运行。下面的指令用来仅在一本地主机上的伪终端(pty)访问一应用程序。为运行本发明必须在本地主机上加以登记,因此,通过这种连接方法,在访问应用程序前,无需在主机中登记。参照对其他连接方法的可应用部分。PATH NAME:start -rw步骤0:(图I-a~I-c)
访问HOST菜单选项。一旦“进入”菜单条就可利用箭头键移动。利用向下箭头“下拉”HOST窗影线。以增亮来选择[Connect Local(PTY)]并按下[enter]。将提示一命令(Command):输入通常用来访问应用程序的键,对于Real World型为[go-rw],可让Argument:行空,按压[end]完成这一步骤,将注意到当按压[end]时,虚拟用户将此键入信号作为一命令行输入发送到主机。现在将看到终端(中央)窗口中的Real World应用程序的屏幕显示。替换使用[Exec Procedure]步骤0:
访问Misc菜单并选取[Exec Procedure]。键入[go-rw][end]。
自动化导航访问菜单:现在准备训练虚拟用户如何通过应用程序。将会看到,在光标停止(Cursor stops)时执行的第一步是“等待主机(Wait for Host)”步骤。这一操作确保虚拟用户与主应用程序相互同步。如欲发送信息至主机就将首先执行一“Wait for Host”。提示客户输入的次序可任意确定,这一个别指导服从同样的基本指南。PATH NAME:nav-menus步骤0:(图J-a~J-c)
访问Misc菜单并选取[Start New Path][enter]。键入[nav-menus][end]。注:“nav-menus”被选作一个名称是因为这一路径将通过访问所希望业务所需要的菜单。名称中需要有下划线,不允许有空格。步骤1:(图K-a~K-c)
访问HOST菜单并选取[Wait for Host]。按压[enter]并利用向下箭头选择[automatic],按[enter][enter]。现在已确认对字符串“o continue,or Esc to exit”出现在主机屏幕的底部的自动主机同步化。步骤2:(图L-a~L-c)
访问HOST菜单并选取[Send to Host]。在子菜单中选择[Special Char (s)]。按[enter],将在窗口看到<cr>,按[][enter],在需要时应用[tab]作编辑,按[end]激活这一步骤。将在下一屏幕看到应用程序对此VU的回车的的响应,现在输入有关者的首字母。步骤3:(图M)
可容易地利用步骤2中的顺序来“硬编码(hard code)”一组首字母,或者可提示客户作“用户首字母”,为提示客户作用户首字母,过程如下。访问客户菜单,利用向下箭头选择[Clear Screen]。客户屏幕现在就成为空的,由于老的提示“Real World (y/n)?”被隐蔽在终端窗口之后所以不能看到任何变化。PATH NAME:item-transfer
步骤0:(图N-a~N-c)
访问Misc菜单并选择[Start New Path]。键入[item-transfer]作为路径名。此路径将向客户提示客户为完成一项传输业务的信息。程序将给出连接最后路径“access”至新的路径“item-transfer”的连接的选项。按[n]以选择“link to NewPath”步骤1:(图O)
如前面的步骤,清除屏幕。访问Client菜单并选择[Clear Screen]。现在客户屏幕就成为空的。步骤2:(图P)
如上述,访问Client菜单并选取[Move Cursor]。选择行1和列1。光标现在将在客户屏幕上1,1的X,Y位置处闪烁。步骤3:(图Q-a~Q-b)
访问Client菜单并选择[Send Message]。在子菜单中选择[Text]。现在输入欲在客户屏幕上显示的消息。输入[item:],在客户屏幕上出现提示“item:”。
步骤4:(图R)
如前所述,访问Vars菜单并选择[Declare Variable]。现在宣告用于存放客户对此item提示的响应的变量。名称[item]被输入为此变量名。步骤5:(图S-a~S-b)
访问Client菜单并选取[Get Reply]。现在输入来自客户的回答并存入变量“item”。键入[it.em][tab][10]以输入“item”作为客户的响应的变量,并允许最大10个字符的长度。菜单条将被Waiting for Client Input at Client orhere来代替。现在可输入一有效项号。PATH NAME:update-host步骤0:(图T)
访问Misc菜单并选择[Start New Path]。键入[update-host]作为这一序列步骤的新路径名。此路径将以在“item-transfer”路径下接收到的响应来更新主机。步骤1:(图U)
如前,访问Client菜单并选择[Clear Screen]以清除此时的屏幕。步骤2:(图V)
如前,访问Client菜单并选择[Move Cursor]。选择行1和列1作为新地点。现在客户窗口中的光标将位于1,1的X,Y地点上。步骤3:(图W)
如前,访问Client菜单并选择[Send Message]。在子菜单中选择[Text]。现在输入欲在客户屏幕上显示的消息。输入[Processing Data]。现在在客户屏幕上显示提示“ProcessingData”。步骤4:(图X-a~X-b)
访问HOST菜单并选择[Wait for Host]。选择[automatic]。现在将自动同步主机与客户。应指出,出错处理将在“Noneof the above”的路径“item-error”中提供,暂停被设定为100×0.1sec=10秒。因此,在一出错情况中,如果经过10秒钟而无反应,即执行item-error。步骤5:(用Y-a~Y-b)
访问主机菜单并选取[Send to Host]。现在发送变量“item”到主机。由子菜单选取[Variable]并键入[item]作为送往主机的变量。由子菜单选择[Special Char (s)]并输入一[cr]。这将传送一回车至主机。PATH NAME:item-error步骤0:(图Z-a~Z-b)
因为数据的输入使得应用程序进入其差错处理子程序,光标不再处于第二提示“warehouse”旁的其正常的“next entry”位置。而是处于具有消息“Press ENTER or F8”的屏幕的右下角。应指出,出错消息“Item not on file”显示在屏幕的左下角。如果“none of the above”条件为真,“update-host”的步骤4就具有一按所用路径定义的名为“item-error”的差错处理子程序。因此,控制就被传到“item-error”以处理出错情况。访问主机菜单并选择[Wait for Host]。现在可确认自动主机同步化。步骤1:(图AA)
如前,访问Vars菜单并选择[Declare Variable]。这一变量将存放当前在主机屏幕上的“出错窗口(error window)”中的主机数据。键入[item-error]以宣告将在下一步骤中应用的变量“item-error”。步骤2:(图BB)
选择主机窗口影线并选择“save host data”。输入步骤1中宣告的变量并利用箭头键在屏幕上将“窗口(window)”移到出错消息上。。利用移动“+”或“-”键增加或减少“save host screen data”框中方括号所确定的“window”的大小。步骤3:(图CC)
如前,访问Client菜单并选择[Clear Screen]。客户屏幕将被清除。步骤4:(图DD)
如前,访问Client菜单并选择[Move Cursor]。设定行为1和列为1。光标将移到客户屏幕中的1,1的X,Y位置。步骤5:(图EE)
由Client菜单选择[Sound Tone]。将向客户发出一声音信号以通知用户发生差错。步骤6:(图FF)
如前,访问Client菜单并选择[Send Message]。在子菜单中选取[Variable]。输入“item-error”作为变量名并选择[Special Char(s)],并确定一回车和进行(line feed)以使下一行正文不致叠写在出错信息上。选择[Text]并输入希望在客户屏幕上显示的消息。选择[Special Char(s)]并输入一回车、进行和欲显示的消息的最后部分。在此例中,为正文“<CR><lf>Press ENTER to <cr><lf>continue:”。步骤7:(图GG)
如上述步骤所示,宣告一新的变量“answer”以从客户得到ENTER键以便继续进行。步骤8:(图HH)
如前面步骤所描述的,取得客户的回答。步骤9:(图II)
等待客户对提示的响应。步骤10:(图JJ)
在发送刚由客户输入的“answer”之前等候主机。步骤11:(图KK-a~KK-b)
主机回到项目输入提示。访问Misc菜单并选择[Loop]并将此出错路径连接到item-transfer的起始点以再次向客户提示输入一项目号。应指出,利用这一技术可处理任何差错情况。利用Wait for Host对话框的任一“Possible Response”区间都同样是正确的。因此,5个附加的“已知的”响应可以上述同样的方式加以宣告并“训练”。如果仅要求对所有情况都采用一个出错反应来训练VU,则“none of the above”选项是合适的。
图4表明上述示例中描述的各不同路径的相互连接。如上所述被训练的VU现在准备用作此示例应用程序与一便携终端间的接口。路径文件基元(Path File Primitives)
路径文件指定在VU的教化过程中俘获的步骤和命令的序列。附录A含有用于上述示例VU的路径文件。下列基元被用于记录主程序的工况和与人类操作员的交互作用:Sendact: 结束路径文件$cl-connect: 建立到客户的连接$cl-clear: 清除客户屏幕$cl-tone: 对客户响铃$cl-move: 定位客户光标$cl-send: 向客户发送数据$cl-get: 从客户得到数据$cl-discon: 断开与客户的连接$host-send: 发送数据至主应用程序$host-connect:建立到主应用程序的连接$host-djscon: 断开与主应用程序的连接$host-save: 存贮来自仿真区的数据$host-sync: 监视主机操作并与工况数据库进行比较$declare: 宣告一存贮变量$param: 作系统参数修正$set: 改变一变量值$pipe: 建立客户与主应用程序间的透明连接$nen-path: 开始新操作序列
$loop: 传送控制
$done: 结束一路径
$vbranch: 按变量值作条件转移
$exec: 执行一程序过程规格文件基元(Spec File Primitives)
规格(spec)文件俘获系统有关信息供VU应用。附录B包含用于上述VU例的规格文件。下面的基元为“程序级”接口所支持:
nop: 无操作
mark: 标明程序地址
label: 标明程序地址
begin: 开始一程序结构
end: 结束一程序结构
write: 输出数据到主机或客户
display: 输出数据到客户
send: 输出数据到主机
file-write: 输出数据到磁盘文件
get: 从客户输入数据
read: 输入数据find: 定位仿真器屏幕上数据if: 条件执行else: 条件执行endif: 条件执行declare: 宣告存贮变量param: 设定系统组态set: 设定变量值eof: 结束规格文件connect: 建立至客户或主机的连接disconnect: 断开连接monitor: 监视来自主机或客户的数据并与期望值进行比
较pipe: 在主机或客户与监视器间传送数据configure: 设定仿真、客户I/O、或主机I/O组态sleep: 延时capture: 输入训练模式include: 插入来自子文件的命令declare-action:处理和存贮一路径文件run-action: 执行路径文件
file-open: 打开一磁盘文件
file-close: 关闭一磁盘文件
spawn: 执行一系统命令作为一子过程
goto: 流程控制
loop: 流程控制
breale: 流程控制
exit: 流程控制
gosub: 流程控制
return: 流程控制
next: 流程控制
then: 流程控制
如上述示例中所描示的,已有程序的操作是依靠一虚拟用户程序而不是一实际用户进行的。于是就支持下列功能:
1、由实际用户得到的数据的序列和格式可以与原始程序所需求的不同。
2、可将用户数据与其他来源的数据相结合提供给现有应用程序。
3、可根据一单个主机上的一给定应用程序或多个应用程序的多个功能,或者甚至根据多个主计算机组合数据来提供给用户。还可借助或不借助用户的交互作用将数据由一主应用程序传送给另一应用程序。这就使得可能生成新的、更复杂的功能向无需编写新的应用程序。
4、虚拟用户以一交互式的实时的菜单驱动方式进行训练。本发明监视目标主应用程序的实际工况并将这种工况的细节加以存贮供未来参考。主程序工况的许多方面被加以记录,包括实际数据流的关键成分以及仿真的屏幕显示的内容。这一工况数据库为VU模式用来成功地运行主程序(包括出错情况的检测和解释)以及被用作一数据源以提供给人类操作员和/或传送给应用程序和/或不同的主应用程序中的不同数据输入屏幕。
5、VU模式能检测主程序所未期望的动作并将它们作为例外情况报告给操作人员和/或获得工况经验和所需响应。
本发明已以ANSI C编程语言实现。本发明在一运行在486级工作站上的SCO Unix操作系统(Santa Cruz,CA)下运行。客户便携终端为能够运行一ANSI或VT100终端仿真程序的任何装置。这样的一个装置为Janus J2010 Handheld (Everett,WA)。
本技术领域中的普通熟练人员将会理解,本发明可以其它特定形式来实现而不背离其精神实质和基本特点。因而现在所揭示的实施例仅被作为说明用而不是限定。
// Example Path File // DECVAR answer DECVAR item_error DECVAR item NEW_PATH "main_menu" ACTION $new_path "main_menu" 0 ACTION $cl_move "main_menu" 1 1 1 ACTION $cl_clear "main_menu" 2 Y ACTION $cl_send "main_menu" 3 N "Do you want to run"; <cr><lf>; "the program (y/n):" ACTION $cl_get "main_menu" 4 answer N 1 ACTION $vbranch "main_menu"5 answer 5 Y O "start rw" Y "y" Y O "exit" Y "n" N N N N N N EDISPATCH NEW_PATH "start_rw" ACTION $new_Path "start_rw" 0 ACTION $h_pty "start_rw" 1 "go_rw";"" ACTION $loop "start_rw" 2 Y O "nav_menus" NEW PATH "exit" ACTION $new_path "exit" 0 NEW_PATH "nav menus" ACTION $new_path "nav_menus" 0 ACTION $host_sync "nav_menus" 1 D 0 N N 2 10 1 "H_" <esc> "[24;42H" 24 14 26 "o continue, or ESC to exit" 1 1 0 EDISPATCH ACTION $host_send "nav_menus" 2 N <cr> ACTION $loop "nav_menus" 3 Y 0 "item_transfer" NEW_PATH "item_transfer" <dp n="d22"/> ACTION $new_path "item_transfer" 0 ACTION $cl_clear "item_transfer" 1 Y ACTION $cl_move "item_transfer" 2 1 1 ACTION $cl_send "item_transfer" 3 N "item:" ACTION $cl_get "item_transfer" 4 item N 10 ACTION $loop "item_transfer" 5 Y 0 "update_host" NEW_PATH "update_hoat" ACTION $new_path "update_host" 0 ACTION $cl_clear "update_host" 1 Y ACTION $cl_move "update_host" 2 1 1 ACTION $cl_send "update_host" 3 N "Processing Data" ACTION $host_sync "update_host" 4 D O N N 1 10 2 " " <esc> "[3;27H 0 0 0 0 0 0 EDISPATCH ACTION $host_send "update_host" 5 N item; <cr> ACTION $loop "update_host" 6 Y O "item_errorr" NEW_PATH "item_error" ACTION $new_path "item_error" 0 ACTION $host_sync "item_error" 1 D O N N 1 10 1 " " <^G><esc> "[24;79H" 0 0 0 0 0 0 EDISPATCH ACTION $host_save "item_error" 2 item_error 24 2 16 ACTION $cl_clear "item_error" 3 Y ACTION $cl_move "item_error" 4 1 1 ACTION $cl_tone "item_error" 5 Y ACTION $cl_send "item_error" 6 N item_error; <cr> <lf>; <dp n="d23"/> "Press ENTER to"; <cr> <lf>′ "continue:" ACTION $cl_get "item_error"7 answer N 32 ACTION $host_sync "item_error" 8 D O N N 1 10 1 " " <^G><esc> "[24;79H" 0 0 0 0 0 0 ACTION $host_send "item_error" 9 Y 0 "item_transfer" END_ACTION EOF
Claims (1)
1、一设备,用于将一在主计算机上运行的预先存在的应用程序的第一用户接口翻译成在一客户计算机上运行的第二用户接口,其特征是包括有:
一计算机,适于监视并俘获使用在所述主计算机上运行的所述应用程序的用户的交互作用,而且还适于对所述交互作用加以变换,以使所述交互作用能在所述客户计算机上表现;
第一通讯装置,用于在所述计算机与所述主计算机之间进行通信;和
第二通讯装置,用于在所述计算机与所述客户计算机之间进行通信;
由此所述第一用户接口被变换以在所述第二用户接口上应用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/229,935 | 1994-04-19 | ||
US08/229,935 US5627977A (en) | 1994-04-19 | 1994-04-19 | Trainable user interface translator |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1150488A true CN1150488A (zh) | 1997-05-21 |
Family
ID=22863284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95193161A Pending CN1150488A (zh) | 1994-04-19 | 1995-04-18 | 可训练的用户接口翻译器 |
Country Status (9)
Country | Link |
---|---|
US (2) | US5627977A (zh) |
EP (1) | EP0756726B1 (zh) |
JP (1) | JP3683586B2 (zh) |
CN (1) | CN1150488A (zh) |
AT (1) | ATE213074T1 (zh) |
AU (1) | AU2427195A (zh) |
CA (1) | CA2188139A1 (zh) |
DE (1) | DE69525336T2 (zh) |
WO (1) | WO1995028673A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1074137A (ja) * | 1996-08-30 | 1998-03-17 | Hitachi Ltd | グラフィックユーザーインターフェース変更システム |
US6084584A (en) * | 1996-10-01 | 2000-07-04 | Diamond Multimedia Systems, Inc. | Computer system supporting portable interactive graphics display tablet and communications systems |
US6052120A (en) * | 1996-10-01 | 2000-04-18 | Diamond Multimedia Systems, Inc. | Method of operating a portable interactive graphics display tablet and communications systems |
US6166734A (en) * | 1996-10-01 | 2000-12-26 | Diamond Multimedia Systems, Inc. | Portable interactive graphics display tablet and communications system |
US5798759A (en) * | 1996-12-31 | 1998-08-25 | International Business Machines Corporation | Method and apparatus for mobile device screen reformatting |
US6429402B1 (en) | 1997-01-24 | 2002-08-06 | The Regents Of The University Of California | Controlled laser production of elongated articles from particulates |
US5913072A (en) * | 1997-04-08 | 1999-06-15 | Wieringa; Fred | Image processing system in which image processing programs stored in a personal computer are selectively executed through user interface of a scanner |
US6677960B1 (en) * | 1997-05-07 | 2004-01-13 | Unisys Corporation | User assistance for heterogeneous data processing systems |
US6834388B1 (en) | 1998-03-13 | 2004-12-21 | Iconics, Inc. | Process control |
US6331867B1 (en) * | 1998-03-20 | 2001-12-18 | Nuvomedia, Inc. | Electronic book with automated look-up of terms of within reference titles |
US6154214A (en) * | 1998-03-20 | 2000-11-28 | Nuvomedia, Inc. | Display orientation features for hand-held content display device |
US6356287B1 (en) * | 1998-03-20 | 2002-03-12 | Nuvomedia, Inc. | Citation selection and routing feature for hand-held content display device |
US6181344B1 (en) * | 1998-03-20 | 2001-01-30 | Nuvomedia, Inc. | Drag-and-release method for configuring user-definable function key of hand-held computing device |
US6925595B1 (en) | 1998-08-05 | 2005-08-02 | Spyglass, Inc. | Method and system for content conversion of hypertext data using data mining |
US6504554B1 (en) * | 1998-09-01 | 2003-01-07 | Microsoft Corporation | Dynamic conversion of object-oriented programs to tag-based procedural code |
US6278449B1 (en) * | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US6215498B1 (en) | 1998-09-10 | 2001-04-10 | Lionhearth Technologies, Inc. | Virtual command post |
DE69915661T2 (de) | 1998-10-16 | 2005-03-24 | Iconics, Inc., Foxborough | Prozesssteuerung |
US7017116B2 (en) * | 1999-01-06 | 2006-03-21 | Iconics, Inc. | Graphical human-machine interface on a portable device |
EP1069500A1 (en) * | 1999-07-12 | 2001-01-17 | International Business Machines Corporation | Downloadable user-interface |
US6836780B1 (en) * | 1999-09-01 | 2004-12-28 | Jacada, Ltd. | Method and system for accessing data in legacy applications |
US6545690B1 (en) * | 1999-09-29 | 2003-04-08 | Lucent Technologies Inc. | Liaison interface |
JP3501038B2 (ja) * | 1999-10-06 | 2004-02-23 | 日本電気株式会社 | 携帯端末システム、これに用いる携帯端末 |
US6895558B1 (en) * | 2000-02-11 | 2005-05-17 | Microsoft Corporation | Multi-access mode electronic personal assistant |
US7054819B1 (en) * | 2000-02-11 | 2006-05-30 | Microsoft Corporation | Voice print access to computer resources |
US6842861B1 (en) * | 2000-03-24 | 2005-01-11 | Networks Associates Technology, Inc. | Method and system for detecting viruses on handheld computers |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
WO2002063470A1 (en) * | 2001-02-07 | 2002-08-15 | Orchid Systems, Inc. | System for and method of learning and automatically correcting business logic errors |
US20020107970A1 (en) * | 2001-02-07 | 2002-08-08 | David Wiegand | Method of and apparatus for remotely preparing a targeted procedures model for transforming a data stream |
US20020128802A1 (en) * | 2001-03-08 | 2002-09-12 | Lewis Rompala | System for and method of remotely validating a rule set |
US6965928B1 (en) * | 2001-03-09 | 2005-11-15 | Networks Associates Technology, Inc. | System and method for remote maintenance of handheld computers |
US20040143585A1 (en) * | 2001-03-14 | 2004-07-22 | Urs Antener | Data processing device for the preparation of a goods catalogue in the form of a graphics file |
WO2002077876A2 (en) * | 2001-03-23 | 2002-10-03 | Orchid Systems, Inc. | System for and method of automatically updating data in a host system based upon third party data |
US20020138570A1 (en) * | 2001-03-23 | 2002-09-26 | Neil Hickey | System for and method of automatically migrating data among multiple legacy applications and accessible storage formats |
US20020163536A1 (en) * | 2001-05-01 | 2002-11-07 | Orchid Systems, Inc. | System for and method of providing a new client interface to an existing application |
US8001490B2 (en) * | 2001-07-10 | 2011-08-16 | Nvidia International, Inc. | System, method and computer program product for a content publisher for wireless devices |
US20030048296A1 (en) * | 2001-09-12 | 2003-03-13 | Paul Cullen | Method & apparatus for enhancing the graphical user interface presented by an application |
US7249261B2 (en) * | 2001-10-16 | 2007-07-24 | Activcard Ireland Limited | Method for securely supporting password change |
US7421427B2 (en) * | 2001-10-22 | 2008-09-02 | Attachmate Corporation | Method and apparatus for allowing host application data to be accessed via standard database access techniques |
US7444320B1 (en) * | 2002-04-22 | 2008-10-28 | Cisco Technology, Inc. | System and method for configuring multiple ISCSI devices |
US20040249849A1 (en) * | 2003-06-05 | 2004-12-09 | Michael Mordkovich | Conversion system |
US7673245B2 (en) * | 2003-10-15 | 2010-03-02 | Sap Aktiengesellschaft | Converting user interface panels |
CN1879355B (zh) * | 2003-11-13 | 2010-05-26 | 皇家飞利浦电子股份有限公司 | 用于远程用户接口的一致性用户接口前端 |
US7844442B2 (en) * | 2005-08-16 | 2010-11-30 | Exent Technologies, Ltd. | System and method for providing a remote user interface for an application executing on a computing device |
US20110157196A1 (en) * | 2005-08-16 | 2011-06-30 | Exent Technologies, Ltd. | Remote gaming features |
US20080134077A1 (en) * | 2006-12-05 | 2008-06-05 | Sap Ag | Chameleon graphic user interface |
US20110113368A1 (en) * | 2009-11-06 | 2011-05-12 | Santiago Carvajal | Audio/Visual Device Graphical User Interface |
CN102582357B (zh) * | 2012-02-01 | 2014-03-19 | 长春轨道客车股份有限公司 | 一种经济型镟修车轮 |
USD738900S1 (en) * | 2014-03-19 | 2015-09-15 | Wargaming.Net Llp | Display screen with animated graphical user interface |
US20240111487A1 (en) * | 2019-11-13 | 2024-04-04 | Sony Group Corporation | Information processing apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990016033A1 (en) * | 1989-06-07 | 1990-12-27 | Norand Corporation | Hand-held data capture system with interchangeable modules |
US5349678A (en) * | 1991-08-21 | 1994-09-20 | Norand Corporation | Versatile RF data capture system |
JPH0778782B2 (ja) * | 1989-07-19 | 1995-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレーシヨン | 対話型コンピュータ・システムならびにその使用環境適合化装置および方法 |
US5241625A (en) * | 1990-11-27 | 1993-08-31 | Farallon Computing, Inc. | Screen image sharing among heterogeneous computers |
-
1994
- 1994-04-19 US US08/229,935 patent/US5627977A/en not_active Expired - Fee Related
-
1995
- 1995-04-18 DE DE69525336T patent/DE69525336T2/de not_active Expired - Fee Related
- 1995-04-18 CN CN95193161A patent/CN1150488A/zh active Pending
- 1995-04-18 CA CA002188139A patent/CA2188139A1/en not_active Abandoned
- 1995-04-18 JP JP52718395A patent/JP3683586B2/ja not_active Expired - Fee Related
- 1995-04-18 EP EP95918286A patent/EP0756726B1/en not_active Expired - Lifetime
- 1995-04-18 AU AU24271/95A patent/AU2427195A/en not_active Abandoned
- 1995-04-18 WO PCT/US1995/005009 patent/WO1995028673A1/en active IP Right Grant
- 1995-04-18 AT AT95918286T patent/ATE213074T1/de active
-
1997
- 1997-05-05 US US08/851,309 patent/US5889516A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69525336D1 (de) | 2002-03-21 |
CA2188139A1 (en) | 1995-10-26 |
ATE213074T1 (de) | 2002-02-15 |
US5889516A (en) | 1999-03-30 |
JP3683586B2 (ja) | 2005-08-17 |
EP0756726A1 (en) | 1997-02-05 |
JPH10501639A (ja) | 1998-02-10 |
US5627977A (en) | 1997-05-06 |
EP0756726B1 (en) | 2002-02-06 |
DE69525336T2 (de) | 2002-11-14 |
WO1995028673A1 (en) | 1995-10-26 |
AU2427195A (en) | 1995-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1150488A (zh) | 可训练的用户接口翻译器 | |
CN1024302C (zh) | 预约系统的终端装置 | |
CN1252590C (zh) | 可下载用户接口 | |
CN100351835C (zh) | 信息处理设备及用于信息处理设备的方法 | |
CN1279462C (zh) | 用于移动计算设备控制电器的系统与方法 | |
CN1291335C (zh) | 用于分布式学习的系统 | |
US20070250190A1 (en) | System and method for controlling a remote environmental control unit | |
CN1280705C (zh) | 打印控制系统、信息处理装置、功能提供装置 | |
CN1386374A (zh) | 投影机 | |
CN1639696A (zh) | 用于并行多模通信会话持续的系统和方法 | |
CN1423194A (zh) | 语法创建系统 | |
CN1757030A (zh) | 上下文可搜索的通信 | |
CN1125488A (zh) | 多媒体数据路由选择系统 | |
US11347445B2 (en) | Information processing device and non-transitory computer readable medium storing program | |
CN1125487A (zh) | 面向目标的音频系统 | |
CN1216132A (zh) | 用于提供信息服务给移动终端装置的网络系统 | |
CN1728094A (zh) | 智能ui记录和重放结构 | |
CN1146119A (zh) | 交互式记录/再现媒体和再现装置 | |
CN1130432A (zh) | 多媒体播放器部件目标系统 | |
CN1125490A (zh) | 面向目标的视频系统 | |
CN1731350A (zh) | 图像处理装置及其控制方法 | |
CN1576037A (zh) | 印刷装置和印刷方法及程序 | |
CN1841299A (zh) | 信息处理装置和程序产品 | |
CN101048728A (zh) | 文档管理系统及其方法 | |
CN1484789A (zh) | 控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |