[go: up one dir, main page]

CN1266510A - 根据方向场中的任务对象的相对空间位置对计算机控制的任务排序的方法 - Google Patents

根据方向场中的任务对象的相对空间位置对计算机控制的任务排序的方法 Download PDF

Info

Publication number
CN1266510A
CN1266510A CN 98805711 CN98805711A CN1266510A CN 1266510 A CN1266510 A CN 1266510A CN 98805711 CN98805711 CN 98805711 CN 98805711 A CN98805711 A CN 98805711A CN 1266510 A CN1266510 A CN 1266510A
Authority
CN
China
Prior art keywords
task
objects
sequence
user
attribute
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
CN 98805711
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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
Priority claimed from US08/905,701 external-priority patent/US6948173B1/en
Application filed by Individual filed Critical Individual
Publication of CN1266510A publication Critical patent/CN1266510A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

一种对计算机控制的任务排序的图形方法,采用对象来表示要由计算机执行的任务。对象放在一个具有方向属性的方向场中,该方向属性指定如何对任务排序。要执行的任务序列共同定义一个过程。当该过程被启动时,计算机根据任务时象的相对空间位置和方向属性自动对该过程内的任务排序。可以通过改变任务对象的相对空间位置或通过改变方向属性来修改序列。

Description

根据方向场中的任务对象的相对空间位置 对计算机控制的任务排序的方法
发明领域
本发明一般地涉及用于操作程序计算机的图形用户接口,特别涉及用于对将由计算机执行的任务排序的图形用户接口。
发明背景
对一系列任务排序的传统方法是采用程序、脚本或图形用户接口(GUI)。程序或脚本由指示计算机执行特定任务的一连串指令组成。然而,大多数程序设计或脚本语言需要理解程序设计方法和使用的程序设计语言的语法。大多数计算机用户没有建立使得这些工具有用的构造所需的时间或技能。因此,这个方法对于这些用户是不可行的。这个对任务排序的方法存在的另一个问题是如果希望修改任务顺序,必须重写代码。
在GUI中,可以将要执行的任务表示为对象。在定义了对象的缺省属性之后,用户必须人工连接对象,以定义任务的顺序。对任务排序的过程一般由用户通过以所希望的顺序将这些对象人工连接在一起来完成。这个方法的一个问题是耗时并且容易出误差。例如,许多基于GUI的程序允许通过人工选择被称为源对象的第一对象、人工选择被称为目标对象的第二对象、并在源对象和目标对象之间生成一个链接来对对象排序。这个链接一般显示为在源对象和目标对象之间延伸的线。这条线还可以包括一个指示排序方向的箭头。这个过程一遍一遍地重复,以生成一个连续的链,其中前一个目标对象变成源对象,并选择新对象作为目标。一旦构造成,可以以用户指定的顺序触发整个序列或链并执行基础任务。
这个任务排序方法在“图形过程能力”,IBM技术公开公报(1991年四月,Vol.33,No.11)中进行了描述。这篇文章代表了在图形用户接口中连接对象的图标表示并对其相应任务排序的一般方法。用于程序生成的通常被称为快速应用开发(RAD)程序的许多软件程序和许多产品工具使用这个方法。这些产品工具及其使用策略的例子可以在Steve McConnell,Microsoft Press的“快速开发:Taming Wild软件议程”(1996)以及James Koblielus,IDG Books Worldwide Inc.的“Workflow Strategies”(1997)中可以找到。
这个方法的一个固有问题显示为包括任何序列的对象的数目变得很大。由于现有技术方法需要由用户采取一些行动以明确地将一个对象关联和链接到下一个对象,确定在构成序列的对象之间的关联或链接,所以需要去除现有链接或生成新链接的任何重新排序都是非常耗时和容易出错的。经常需要修改任务的复杂序列,以满足需要该任务的用户或组织的快速改变需要。如果用户重新指定序列中的任何一个链接对象的顺序,则可能影响与该被移动的对象有关的后续的任务或链接。也就是说,特定对象的排序可能依赖于由一些先前对象执行的任务。在这种情况下,为了使对象的重新排序达到所希望的结果,用户还必须对所有后续相关链接作出改变。在现有技术的程序中这是极端耗时和容易出错的。
现有技术中对任务排序的方法的另一个问题是随着对象及其相关链接的数目变大而向用户显示的大量的信息量。对于这么大量的对象,用户很容易被虚拟信息的密度压倒。一些现有技术程序试图通过允许用户有选择地隐藏某些链接来解决这个问题(例如,参见1997年2月软件开发Lazar的“HELLO,WORLD!ParcPlace-Digitalk’sParts for Java 1.0”)。然而,没有人提供出表示已经被隐藏的对象或链接的方法。
在关于工作流或任务排序的现有技术程序中,在图形用户接口中的任务对象的位置与序列中任务的顺序之间没有任何相关性。这种相关性的缺乏对于最终用户是非常混乱的。事实上,不管文化背景如何的所有人都具有对图样的先天的理解力。现有技术程序没有利用人对图样的先天的理解力,这使得这些程序更加难以学习和使用。
因此,需要一种以更有效和较少耗时的方式对计算机控制的任务排序的改进的图形用户接口。
发明概述
本发明提供了一种对计算机控制的任务排序的图形方法。依据本发明,将计算机控制的任务表示为图形用户接口中的对象。由用户将任务对象放在用户接口中的方向场中。方向场包括一个方向属性,在用户接口中由方向指示符表示。方向属性指定如何确定场中的任务的顺序。当根据方向场中对象相对于彼此的相对位置和方向场的方向属性执行序列时,由计算机对任务自动排序。用户不需要明确地将一个对象链接到另一个上。相反,在执行序列时可以自动生成链接。
用户可以以两种方式中的一种修改任务顺序。第一,可以通过在方向场中移动对象以改变对象的相对位置来改变任务的顺序。第二,可以改变方向场的方向属性来改变顺序。在下一次执行序列时将动态地重新生成在对象之间的链接。
在本发明的最佳实施例中,在执行排序时在屏幕上画出对象之间的链接。该链接在接口上显示为将两个对象连接在一起的一条线。该链接形成了几何图样,该几何图样提供关于基础的序列的性质,而与任何个人、组织或团体选择使用的特定应用无关。例如,该图样既反映出包括该序列的任务的排序,又反映出生成该序列的个人用户的空间偏好。
这些图样靠人们所共有的先天能力来察觉和识别图样。人们的先天图样识别能力为生成系统对一序列操作进行排序的统一的方法提供了基础。一个从一种工作环境换到另一种工作环境、例如从研究换到统计的有知识的用户将更快地变得适应工作,因为图样表示与基础序列任务松散相连的信息。并且,如果将另外的对象放在一个现有序列中,用户将直觉地知道如何将这个对象包含进这个链中,而不需要人工画出将新对象连到现有对象的链接。这样的系统有很多优点。这样一个系统不仅以从排序中自然产生的几何图样的形式提供了始终可靠的信息,还允许在个人之间传达意义,而不需要共同语言或共享的文化背景。
通过生成用于与计算机交互的对于人更自然的系统,从而我们坚持获得在计算机使用上的改进。方向场指示符允许有知识的用户在直觉上估计方向场内对象的正确位置,以实现所希望的结果。用户不需要明确地在对象之间生成链接。相反,可以在执行该序列时动态地生成链接。消除在对象之间明确地生成链接的需要使得序列生成更高效。同样重要的是,消除明确地生成链接的需要使得用户更集中精力在整个序列上。
本发明的一个主要优点是在生成复杂任务序列效率上的提高。这里不再需要象现有技术的程序的情况那样人工生成或修改序列。任何程度的有知识的用户、无论是初学者还是有经验的用户都可以通过重新排列方向场中的对象而迅速并容易地修改序列。由于用户不需要明确地定义对象之间的链接,所以需要更少的行为。
本发明的另一个优点在于用户接口中对象的空间排列的松散连接以及由将对象连接在一起的线形成得到的几何图样。这些几何图样向用户提供了关于基础序列性质的信息,而不考虑使用的特定应用。用户可以容易地解释图样的含义,而不需要该应用最初建立时的前后关系的先决知识。并且,用户可以容易地将图样从一个环境传送到下一个环境,而无须花费时间和精力来获得建立其初始图样的特定程序中的专门知识。一个从一个程序换到另一个程序的有知识的用户将更快地适应,而不需要再培训以学习新程序的细微差别。
另一个优点是本发明允许通过任务序列图样传送专门知识。几何图样具有其生成的前后关系知识内的专门知识的含义。因此,有知识的用户能够更容易地理解和修改由另一个生成的序列。
当然,在不偏离发明的精神和实质特征的情况下,本发明可以以除了这里所陈述的方式之外的其他专门的方式实现。因此,在各个方面例示地而非限制性地考虑这些实施例,附带权利要求书的含义和等效范围内的所有变化都包含在其内。
附图简要说明
图1说明在将其方向属性设置为UPPER RIGHT TO LOWER LEFT(右上到左下)的方向场中安排的多个任务对象和单个主管对象。
图2是说明由图1中的对象排列产生的任务序列图样。
图3说明如图1所示的相同对象,其中,一个任务对象已经被移动。
图4显示了图3中所示对象排列的任务序列。
图5显示了如图1所示的相同对象,其中,方向属性变为UPPERLEFT TO LOWER RIGHT(左上到右下)。
图6显示了图5中所示对象排列的任务序列。
图7是说明两个观察者观察一个任务序列图样的示图。
图8显示了放在一个方向场中的多个任务对象和一个主管对象,其中主管对象具有有限影响区域。
图9显示了如图8所示的相同的任务对象和主管对象,其中,主管对象及其相关影响区域已经被移动。
图10显示了放在一个方向场中的多个任务对象和两个主管对象,其中每个主管对象具有有限影响区域,并且每个有限影响区域将其交互属性设置为NONE。
图11显示了如图10所示的相同的任务对象和主管对象,然而,每个主管对象的每个影响区域的交互属性被设置为调用其他主管对象。
图12显示了如图10所示的相同的任务对象和主管对象,然而,每个主管对象的每个影响区域的交互属性被设置为CALL ALLOBJECTS(调用所有对象)。
图13显示了放在一个方向场中的多个不同类型的任务对象和多个特定类型的主管对象。
图14是描述本发明的排序方法的流程图。
图15是说明包含本发明的排序方法的软件程序的典型用户接口的示图。
图16是说明显示2-维方向场的各个空间序列指示符的示图。
图17是说明具有带有有限影响区域的多个任务对象和主管对象的3-维方向场的示图。
图18是一个外-内菜单对象的外视图。
图19是一个外-内菜单对象的内视图。
图20是说明包含本发明的排序方法的虚拟办公室的示图。
发明详细说明
现在参考附图,特别是图1,更详细地说明本发明的对计算机控制的任务排序的方法。如图1所示,该方法是通过用户接口10实现的,其中,将计算机控制的任务在计算机显示器上用图形表示为空间场12中的任务或任务对象14。由计算机根据空间场12中的任务对象14的相对位置对任务自动排序。空间场12包括一个指定如何确定任务顺序的方向属性。为了实现该过程,用户生成任务对象,并将任务对象放在空间场12中。任务对象14表示一个序列或过程中的特定任务。可以将任务对象表示为通知用户与该特定对象实例相联系的任务的按钮或图标。
一旦生成或例示出一个任务对象14,则由用户设置其缺省行为或功能。任务对象14的行为例如可以通过属性页来设置,其中属性页提供对任务对象所包括的各种属性和方法的访问。通过设置或改变任务对象14的属性,用户可以指定任务对象14执行的功能或任务。任务对象14可以虚拟地表示可以由计算机执行或控制的任何任务。例如,任务对象14可用于执行计算机上的其他程序或向应用程序发送键击。目前,一旦用户已经被例示,则理解影响任务对象14的基本功能的属性对于用户是可访问的就足够了。
计算机控制的过程或进程一般包括多个任务,这多个任务在用户接口中表示为一系列任务对象14。由计算机自动对表示为任务对象14的任务排序并执行。在每个任务被执行时,可以在序列中的每个任务对象14之间画出一条被称为序列线20的线。序列线20在对象上的各个点之间延伸,对象上的各个点在这里被称为对象位置点24。在给出的例子中,对象位置点24位于用户接口10中的每个对象的左上角。然而,对象位置点24也可以放在对象外面的一个位置上。无论是在里面还是在外面,对象位置点24由计算机用来确定任务对象14的序列。也就是说,是使用对象位置点24的位置来确定对象的排序。当该序列被启动时,从一个任务对象14的对象位置点24向序列中下一个任务对象14的对象位置点24画序列线20。于是,可以很容易地看出,序列线20也用作为一种形式的进展指示符。如图2所示,序列线20形成一个图样,在这里将其称为任务序列图样22。
用户可以以两种方式中的一种对计算机控制的任务排序。第一,可以通过将空间场12中的相应任务对象14移动到一个新位置来改变任务序列。也就是说,可以通过仅仅移动空间场12中的任务(即任务对象)的图标表示来改变序列中任务的相对位置。一旦一个任务对象14在空间场12中被移动,计算机就自动重新排序任务,而用户不必明确地重新连接对象。
改变任务序列的第二种方式是改变空间场12的方向属性。方向属性指定如何根据任务在空间场12中的位置来对任务排序。例如,在二维空间场12中,方向属性可以指定,根据空间场12中相应任务对象的位置从右上到左下对任务排序。如果方向属性变为指定一个右下到左上的序列,则即使所有任务对象14都保持在相同位置,任务顺序也将改变。在本发明中,将方向属性表示为在用户接口上显示的、被称为空间序列指示符18的图标。
通过访问属性页来设置空间场的方向属性,例如通过在空间场12中右击来实现。属性页允许用户为该空间场设置属性。一个属性是空间场的方向属性。这个属性指定如何对放在空间场中的对象排序。在公开的2D实施例中,方向属性具有六个可能的设置。每个设置由一个如图16所示的不同的空间序列定位器表示。方向属性的值包括UPPER LEFT TO LOWER RIGHT,LOWER RIGHT TO UPPER LEFT,LOWERLEFT TO UPPER RIGHT,UPPER RIGHT TO LOWER LEFT,CURRENT POSITIONOUTWARD,and OUTER MOST POINTS INWARD(左上到右下,右下到左上,左下到右上,右上到左下,当前位置向外,以及最外点向内)。空间场12还可以具有可以由用户设置的其他属性,例如颜色或字体。
在图1中,六个任务对象14放在空间场12中,即对象1、对象2、对象3、对象4、对象5和对象6。方向属性指定排序顺序为UPPERRIGHT TO LOWER LEFT(右上到左下)。在这个排序顺序中,水平位置比垂直位置具有优先权。当该过程启动时,计算机执行由空间场12中的任务对象14表示的任务。由一个触发事件启动该序列。在本发明的最佳实施例中,使用主管对象16触发序列的执行。主管对象16是一个目的为激活一个或多个任务对象14的缺省行为的对象。在公开的实施例中,当主管对象16被“点击”以启动序列时,主管对象作出响应。
任务的顺序由任务对象在空间场12中的相对位置和方向属性确定。在本发明的一个最佳实施例中,在执行每个任务时,从一个对象14向下一个对象画一条序列线20。最好,当完成由后一个对象表示的任务时,画出连接两个任务对象14的序列线20。在给出的例子中,首先执行对象2,接着执行对象1、对象3、对象4和对象6。当与对象2相联系的任务完成时,从对象2向对象1画出一条序列线20。重复该过程,直到完成序列中的最后一个任务。图2中说明了图1中所示序列的任务序列图样22。
应该注意的是,在图1中对象5未包括在序列中。每个任务对象14具有一个属性,被称为包含属性,该属性使得任务对象14或者被包括或者被排除,这取决于包含属性的设置。当包含属性设置为“YES”时,对象包括在序列中。反之,当包含属性设置为“NO”时,对象被排除在外。包含属性通过任务对象的属性页来设置。
图3显示了如图1中所示相同的任务对象14,但第一个任务对象14的相对位置已经改变。在这个例子中,任务的执行顺序已经改变。更具体地,对象2首先执行,接着执行对象3、对象4、对象6,最后是对象1。还应该注意的是,所形成的如图4所示的任务序列图样22不同于图1。在最终用户以一特定任务序列图样22工作时,由用户在任务序列图样22和基础的操作之间作出自然的关联。一旦作出关联,任务序列图样22则提供出一个更直觉的建模环境。
图5显示了与图1所示相同的在相同位置的任务对象12,但空间场12的方向属性已经变为指定一个UPPER LEFT TO BOTTOM RIGHT(左上到右下)的序列。在这个例子中,任务的执行顺序已经被影响,并产生一个不同的任务序列图样22。更具体地,新序列从对象1开始,然后按顺序进行到对象2、对象3、对象4和对象6。图6显示了这个序列的任务序列图样22。这个例子证明了在不改变空间场12中对象的相对位置的情况下任务序列是如何被改变的。
本发明一个重要的特征是在对由对象表示的任务排序时所产生的任务序列图样22。图样22虽然对于其生成的特定环境是唯一的,但隐藏了特定对象及其表示下面的复杂性,并允许观察者将注意力集中在序列本身上。通过生成一个更高的普通级别的提取,任务序列图样22通过利用共同分享的人类的感知特性,使得人们能够以比以前所公知的更自然、直觉的级别来交互。图7显示了两个来自不同背景的用户观察一个隐藏了下面的对象的序列图样。该序列图样使得两个用户不管其文化差别都能理解并交流思想。
在前面的讨论中,已经假设空间场12中的所有任务对象14都由主管对象16控制。然而,在本发明的一个最佳实施例中,可以定义主管对象16的一个影响区域26。当主管对象16的范围被限制时,只有那些落入主管对象16的影响区域26的任务对象14能被主管对象16控制。主管对象16的影响区域26在计算机显示器上由一条界线表示。缺省为影响区域26是无限制的。
图8和9说明了影响区域26如何可用在排序中。在图8中,五个任务对象14和一个主管对象16放在空间场12中。主管对象16的影响区域26如界线26所示,该界线26可在用户接口10上看到。两个任务对象14、即对象1和对象2落入主管对象16的影响区域26内。对象3、对象4和对象5位于主管对象16的影响区域26的外面。当主管对象16被触发时,对象1和对象2都包括在序列中。对象3、对象4和对象5被排除在外,因为它们位于主管对象16的影响区域26的外面。
图9显示了与图8所示相同的任务对象14的空间排列,但主管对象16的影响区域26已经移到右边。通过移动影响区域26,由对象1和对象2表示的任务被排除在外,而由对象3、对象4和对象5表示的任务被包括在内。新的执行顺序为对象3、对象4和对象5。
本发明的对计算机控制的任务排序的方法支持多个主管对象16,每个主管对象16具有其自己的影响区域26。本发明还支持主管对象16之间的交互。每个主管对象16具有可以由用户设置的属性。上面已经提到的一个属性是方向属性。可以由用户设置的主管对象16的另一个属性是模式属性。模式属性指定在一个主管对象16与其他主管对象16之间的交互模式。在本发明中,有三种模式:NONE,CALLOTHER MASTER,and CALL ALL OBJECTS(无,调用其他主管对象,以及调用所有对象)。如果交互模式被设置为NONE,则该主管对象16将对其自己的影响区域26内的任务对象14排序,而忽略在其自己的影响区域26之外的任务对象14。如果交互模式被设置为CALLOTHER MASTER,则一旦其自己的影响区域26内的任务对象14被排序,该主管对象16将触发其他合适地设置了模式特性的主管对象16。必须在被调用主管对象16的属性页中以名字或类型指定调用主管对象16。如果将交互模式特性设置为CALL ALL OBJECTS,则主管对象16处理整个空间场12中的所有任务对象14,就好象它们都处于其自己的影响区域26内一样。在这种情况下,所有对象都被排序,就好象该主管对象16具有无限制的范围一样。
图10-12显示了在不同主管对象16之间的交互。图10显示了两个带有相交的影响区域26的主管对象。每个主管对象16具有两个任务对象14。对象1和对象2属于主管1。对象3和对象4属于主管2。当主管1被触发时,执行由对象1和对象2表示的任务。同样,当第二个主管对象、主管2被触发时,执行由对象3和对象4表示的任务。应该注意的是,即使对象2看起来是落入了主管2的影响区域26内,但对象2不由主管2触发。这是因为对象2是主管1而非主管2的子对象。
图11显示了如图10所示相同的主管对象16和任务对象14。但将每个主管对象16的交互模式属性设置为CALL OTHER MASTER。在这种情况下,当第一个主管对象16、主管1被触发时,执行由对象1和对象2表示的任务。当第一个主管对象16、主管1完成其影响区域26内的对象的排序时,它调用第二个主管对象16、主管2。注意,主管2必须具有设置为响应于主管1的反应属性。主管2然后对其影响区域26内的对象表示的过程进行排序和执行。具体地说,主管2使得与对象3和对象4相联系的任务被执行。
CALL OTHER MASTERS属性允许主管对象就象是一个任务对象14一样响应其他主管对象16。所有主管对象16具有一个可以由用户设置的反应属性,以使得一个主管对象16响应其他主管对象类型或以名字响应一特定主管对象。反应属性将以它将响应的类型或名字识别出一特定主管对象16。通过设置这个属性,一个主管对象16可以被另一个主管对象16调用。当主管对象16具有其缺省行为被在其反应列表上的另一个主管对象16所触发时,将该主管对象16称为一个从属主管对象。反应列表用作为大程序中的安全措施,其中可有几百个主管对象和任务主管对象。
图12显示了与图10和11所示相同的主管对象16和任务对象14,但在图12中将主管对象16、即主管1和主管2的模式属性设置为CALL ALL OBJECTS。在这种情况下,在执行任何一个主管对象16、即主管1或主管2时,将对两个主管对象16的区域中的所有对象进行排序,就好象所有对象都属于一单个无限制的影响区域内一样。在这个例子中,序列将为对象4、对象1、对象2和对象3。由于两个主管对象16具有相同的方向属性,所以无论哪个主管对象16开始该序列,都会触发同一序列。但如果主管2的方向属性不同于主管1的方向属性,则序列将改变。于是,当交互属性设置为CALL ALL OBJECTS时,则处理所有任务对象14,就象它们都属于一单个无限制的影响区域内一样。
在一个特定的影响区域内存在许多任务对象14的情况下,可能希望只执行由该区域中的任务对象14表示的任务的一个子集。根据前面的讨论,一种实现方式是将用户希望排序的任务对象14的包含属性设置为YES,将所有其他任务对象14的包含属性设置为NO。但当涉及很大数目的任务对象14时,这个设置包含属性的过程会比较麻烦。
这个问题的另一个解决办法是使用不同类型的对象来表示要执行的任务。主管对象16的缺省行为将被设置为只对一特定类型的任务对象14排序。于是,对于每种类型的任务对象14,将有一个相应的主管对象16只对该特定类型的事件排序。采用一个类属主管对象对所有对象排序,而不管其类型。在本发明的一个最佳实施例中,不同类型的对象具有不同的外观,因此可以由最终用户容易地区分。
图13说明了不同类型的对象是如何用于任务排序的。图13显示了四个任务对象14和三个主管对象16。任务对象14为两种类型-类型A和类型B。有两个类属主管对象和一个通用主管对象。当点击类型A类属主管对象时,只对类型A对象排序。具体地说,对类型-A-对象1和类型-A-对象2排序。同样,当点击类型B类属主管对象时,只对类型B对象排序,即类型-B-对象1和类型-B-对象2。然而,当点击通用主管对象时,则忽略对象类型,对所有任务对象14排序。在这种情况下,序列为类型-A-对象1、类型-B-对象1、类型-A-对象2和类型-B-对象2。在有许多混合类型的对象的情况下,具有只对特定类型的对象排序的能力是很方便的,而不需要改变对象的位置或删除现有对象或改变对象的包含状态。
图14是说明计算机对表示为用户接口中的任务对象14的任务排序的过程的流程图。该过程一般由一个事件触发(方框100)。在所述实施例中,该事件触发一个主管对象16的缺省行为。但对于本领域普通技术人员来说显而易见的是,主管对象16并不是触发过程的必需部分。可以使用其他技术来触发序列,例如定时器事件或外部输入。生成一个动态数据结构(方框102)以存储关于用户接口中对象的信息。存储的信息包括对象的位置。在生成动态数据结构之后,调用一个函数返回要排序的对象的个数(方框104)。计算机然后对主管对象16的影响区域26内的所有任务对象14进行重复(方框106)。在每次重复之后,计算机确定是否已经检查了所有对象(方框108)。如果否,检查下一个对象的属性(方框110)。根据对象的属性,计算机确定是否将该特定对象包括在序列中(方框112)。如果要包括该对象,将该对象加到动态数据结构中(方框114)。在检查了所有对象之后,根据对象的空间位置和主管对象16的方向属性对动态数据结构中所列的对象进行分类(方框116)。在完成分类之后,这些对象执行序列中的它们的指定任务(方框118)。在已经完成所有任务之后,该过程结束。
现在参考图15,显示了用户接口出现在基于Windows的应用程序中的说明。如图所示,接口包括一个主视窗200,主视窗200由一般在大多数Windows应用程序中出现的多个普通Windows部分所组成。主视窗200包括一个窗框202,将主视窗200的其他部分包围起来。标题条206沿主视窗200的顶部伸展。系统菜单和应用图标204放在视窗左上角的标题条206的一端。三个标题条按钮放在标题条206的右端。这些按钮中最左边的是最小化视窗按钮208,允许用户将视窗最小化。最小化视窗按钮208右边的按钮是最大化视窗按钮210。这个按钮允许用户将主视窗200最大化。最右边的按钮是关闭视窗按钮212,允许用户关闭主视窗200。在视窗的右边,出现一个垂直的滚动条214,用于主视窗200中的垂直滚动。与主视窗200的底边相邻的是水平滚动条216,用于水平滚动。将主视窗200包围的区域称为可见客户区218。垂直滚动条214和水平滚动条216允许将可见客户区218垂直和水平移动,以查看位于主视窗200的边界外边的对象。光标222出现在可见客户区218中,可以由鼠标或其他输入设备操纵。在主视窗200的右下角是一个视窗尺寸控制220,允许用户改变视窗尺寸。
通过菜单条224和工具条226访问用户应用的主函数。菜单条224正好位于标题条206的下边,提供许多菜单选项,例如文件和帮助。当选择了文件时,出现一个菜单选项列表(例如,新建,打开,另存为,退出)。帮助菜单激活一个帮助文件。本领域普通技术人员应该理解,每个菜单项可以包括许多菜单项以及子菜单。应用程序的菜单结构对于本领域普通技术人员是公知的。
紧挨着菜单条24下面的是主工具条226。工具条226一般包括一连串按钮,一些按钮提供对与菜单条224相同功能的访问。例如,在工具条226的左端是重复菜单条224的功能的三个按钮。具体地说,文件打开按钮228打开一个用于打开文件的普通视窗对话框。文件保存按钮230打开一个用于保存文件的普通视窗对话框。退出按钮232关闭应用程序。
用户接口10上的剩余按钮被安排为两组。如同下面将要描述的,按钮240、242、244、246、248、250和252用于例示出用户接口10中的任务对象14。按钮260和262用于例示出用户接口10中的主管对象16。为了例示用户接口10中的一个对象,用户选择一个按钮(通常通过以指点设备222、例如鼠标点击按钮),将光标222在可见客户区218上定位,然后以光标222点击在所希望的位置上。所选择类型的对象将被例示在光标222被定位的地方。这种使用按钮与光标222相结合来例示用户接口10中的对象的方法在Windows应用中是很普遍的,对于本领域普通技术人员是公知的。
一旦一个对象被例示,则通过属性页设置对象的缺省行为。属性页例如可以通过用指点设备右击或双击对象来访问。用户可以从属性页设置或改变在用户接口10中例示的对象的属性。属性页例如用于设置由对象执行的缺省行为和任务。包含属性也通过属性页访问。另一个有用的属性是对象的隐藏属性。隐藏属性允许将例示的对象隐藏起来不被看到。这个属性例如对于控制对对象设置的访问是有用的。例如,如果雇用了一个新雇员,特定对象实例可以被隐藏,使得这种实例不能被访问,同时允许新雇员激活程序。随着该雇员对工作环境和包括该程序的序列任务的上下文变得更熟悉,该雇员可以被给予更多的访问。隐藏一个对象实例使得用户不能与其交互,即改变属性、空间位置等,但该对象仍包括在该序列中。隐藏属性确实提供了对程序的控制、灵活性和安全性的额外测量。
在本发明的最佳实施例中,即使对象是不同类型的,每个对象的顶层退栈式菜单也大致相同。用户接口10中的这个一致性帮助用户快速地与对象实例交互。
如上所述,按钮240-252允许用户例示在用户接口10中的任务对象14。这些按钮中的每一个表示一个不同类型的任务对象14。在公开的实施例中,按钮240用于例示一个退出按钮对象。退出按钮对象提供退出应用程序的当前实例的各种方式。
按钮242允许用户例示一个运行按钮对象。按钮244允许用户例示一个运行图象对象。运行按钮对象和运行图象对象都用于运行其他应用程序,并向这些应用程序发送键击。主要差别在于对象在接口中是如何显现的。运行按钮对象在用户接口10中显示为一个简单按钮,而运行图象对象显示为一个位图图象或图标。
按钮246允许用户例示一个SQL按钮对象。SQL按钮对象与运行按钮对象和运行图象对象的不同之处在于其缺省行为允许通过ODBC(打开数据库连通性)、JDBC(Java数据库连通性)和SQL(结构化查询语言)对数据库的访问。按钮248允许用户例示一个QBE按钮对象,该QBE按钮对象允许对例如包含查询的第三方查询机的访问。SQL、QBE、JDBC和ODBC对于本领域普通技术人员都是公知的。
按钮250允许用户访问一个自动对象制造者(AOM)。AOM允许用户加入一个已有的数据库文件并选择该数据库文件中对应于例示一特定对象类型所需的属性的那些字段。AOM的顶层菜单展示出可以被例示的可用对象类型的一个下拉列表。用户从一个数据库选择记录,用于构造一个对象实例,并将其放在可见客户区218上,如同已经被手动例示一样。
按钮252允许用户例示一个超越线对象(OLO)。除了它具有线的属性以及将其自身显示为一条线之外,这个对象与任何其他任务对象一样。当生成一个OLO对象时,将其链接到用户接口10的其他任务对象14上。使用OLO的主要原因是当自动产生的图样不是所希望显示的图样时使用。OLO提供了在自动产生的图样中获得例外的方法。
对于基于对象的接口设计的领域中的技术人员显而易见的是,通过增加具有不同行为特性的另外的对象类型,可以容易地扩展这些工具。
上面已经就二维空间描述的对对象排序的方法还可以在三维空间中实施。图17显示了一个采用本发明的排序方法的三维“虚拟现实”空间。3-D中的对象例示与2-D媒介中的相同,但3-D虚拟媒介中的对象具有至少三个坐标。3-D虚拟环境中的这些对象还具有包括一个或多个面的内表面和外表面。可以将纹理加到对象的外表面和内表面上。这些纹理通常向用户提供出附加信息,但可用于增强反映该应用所特有的基本对象属性的感觉属性。
图17显示了两个主管对象16,每个主管对象16具有一个有限制的影响区域26。每个影响区域26包括多个任务对象14。空间序列指示符18与每个影响区域26相联系。空间序列指示符18表明特定影响区域26内的对象是如何被排序的。例如,在所示实施例中,空间序列指示符18将方向属性反映为FRONT TO BACK-UPPER LEFT TOLOWER RIGHT(前到后-左上到右下)。
本发明的三维实施例具有几个在2-D实施例中不存在的对象,可以将其在总体上描述为外-内对象。外-内对象是可以由用户输入的三维对象。在公开的实施例中,外-内对象可用于几个目的。外-内对象的一个目的是向用户显示信息。信息显示在外-内对象的内表面和外表面上。于是,无论用户位于对象的里面或外面,显示在外-内对象上的信息对于用户都是可见的。外-内对象还可以用作为由用户输入命令的方法或否则允许用户与环境交互。
使用了三种类型的外-内对象,包括定向观察箱30、空间序列指示符18和外-内菜单对象。定向观察箱30(OVB)是六面的盒子,每一面都被标示为对应于虚拟环境中的有关视图:FRONT,RIGHT,BACK,LEFT,TOP OR BOTTOM(前,右,后,左,顶或底)。在观察者进入盒子内的情况下,这些标签也可以在定向观察箱30的内部找到。定向观察箱30的目的是提供快速参考工具来对一特定影响区域26内的观察者的位置定向。
另一个外-内对象是空间序列指示符18。在3-D实施例中,空间序列指示符18被表示为一个立方体,在立方体的六个内表面和外表面中的每一个上显示有一个图标。这允许用户从对象内和对象外的许多不同的有利位置来确定方向场12的方向属性。
第三种类型的外-内对象是外-内菜单对象。外-内菜单对象代替了在2-D实施例中的顶层、上部菜单的位置。外-内菜单对象与2-D实施例中发现的退栈式菜单提供相同的功能。然而,与2-D显示媒介不同,通过将菜单项同时展示在多个对象表面上,使得不仅可以从对象的外面或里面的任何观察点都可以观察并且还可以交互,3-D虚拟媒介变得更有效。如果用户在一个外-内菜单对象内发现他自己,则他可以与对象的内表面交互,而不需要退出该对象或改变位置,从而节省了时间。
在3-D实施例中,3-D方向场的外-内菜单对象位于该场的一个角上。任务对象14和主管对象16的外-内菜单对象位于这些对象的内部。应该理解的是,任务对象14和主管对象16也是外-内对象。
图18显示了从其外部查看的外-内菜单对象。图19显示了从其内部查看的外-内菜单对象。如图所示,菜单项在对象的内表面和外表面上都出现了,从而无论用户在对象的内部还是外部,都能与菜单对象交互。
在3-D实施例中的排序方法与2-D实施例中使用的方法相同。当主管对象16被触发时,对由任务对象14表示的任务排序并执行。空间序列指示符18确定要运用的排序标准。在图17所示的实施例中,将对象从前到后、然后从左上到右下排序。在执行与每个任务对象14相联系的行动时,画出一条将两个对象连在一起的排序线。3-D实施例中的对象也具有一个包含属性,如上所述,可用于从序列中排除特定任务。
图20显示了前面讨论的排序方法的一个实际应用。图20是一个虚拟办公室显示,通过移动虚拟办公室空间中的对象,允许排序和重新排序。虚拟办公室环境的实际目的是展示对要传真的文件排序的方式。背景图象300仅仅是存储在一个图象对象实例中的包含办公室背景的图形图象。通过右击在这个背景的任何地方,用户可以访问该对象的属性,并进行所需要的任何改变,包括通过加载一个新的图形图象来改变背景,如图20所示,所用的图形图象显示出一个常规的办公室,带有虚拟的桌子和门。门具有一个离开符号,该离开符号实际上是一个退出按钮对象302。四个对象出现在虚拟桌子上,实际上是前述的运行图象对象的实例。第一个对象304的形象为桌面上的文件夹。其他三个对象306、308和310的形象类似一封信。虚拟办公室的左下角的开始按钮312是一个具有位于传真机图象上的外部位置点314的主管对象。空间序列指示符18指示将方向属性设置为从最外指向内部。当主管对象16被激活时,首先执行与文件夹对象相联系的任务,接着依次是三个信对象。按照从距离传真机最远的对象到距离传真机最近的对象的顺序执行与对象相联系的任务。虚拟办公室表示本发明可用于对任务排序的一种方式。
本发明提供了一种用户或程序员通过操纵图形用户接口内的对象来控制任务排序的容易且方便的方法。将表示要执行的任务的对象放在方向场中。由计算机根据方向场中对象的相对空间位置对与每个对象相联系的任务自动排序。根据相对空间位置的任务排序的概念是在程序设计领域中的新范例。
当然,在不偏离本发明的精神和本质特征的情况下,本发明可以以除了上述方式的其他特定方式实现。因此,在各个方面例示地而非限制性地考虑这些实施例,附带权利要求书的含义和等效范围内的所有变化都包含在其内。

Claims (28)

1.一种对由计算机执行或控制的多个任务排序的方法,包括:
a)将任务对象放在具有一个方向属性的方向场中,其中所述任务对象表示将由所述计算机执行的任务;以及
b)由所述计算机根据方向场中任务对象的相对空间位置和方向场的方向属性对方向场中的一个或多个任务对象进行排序。
2.如权利要求1所述的排序方法,还包括通过改变方向场中的任务对象的相对空间位置来对所述任务对象重新排序的步骤。
3.如权利要求1所述的排序方法,还包括选择方向场的方向属性的步骤。
4.如权利要求1所述的排序方法,其中,所述任务对象具有一个或多个用于控制任务对象的行为的可修改的属性。
5.如权利要求4所述的排序方法,其中,一个所述可修改的属性用于按所述序列包括方向场中的一任务对象或将在该方向场中的一任务对象排除出所述序列。
6.如权利要求4所述的排序方法,其中,至少一个可修改的属性指定要由任务对象执行的任务。
7.如权利要求1所述的排序方法,还包括将一个主管对象放在方向场中、用于启动所述任务序列的步骤。
8.如权利要求7所述的排序方法,其中,所述任务对象响应所述主管对象以执行其相联系的任务。
9.如权利要求8所述的排序方法,还包括为所述主管对象定义一个有限制的影响区域的步骤,其中,所述主管对象用于启动一个包括落入主管对象的影响区域内的任务对象的序列。
10.如权利要求9所述的排序方法,其中,序列只包括那些落入主管对象的影响区域内的任务对象。
11.如权利要求8所述的排序方法包括多个主管对象,每个主管对象具有一个影响区域,其中,至少一个主管对象响应一个或多个其他主管对象的激活,以启动其自己的控制区域内的任务对象的排序。
12.如权利要求8所述的排序方法,还包括从一个预先定义的类型列表中为每个任务对象选择一个类型的步骤,其中,每个主管对象被编程为只对某些指定类型的任务对象排序。
13.如权利要求12所述的排序方法,还包括为用于对所有类型的任务对象排序的主管对象定义一个通用类型的步骤。
14.一种对由计算机执行或控制的多个任务排序的方法,包括:
a)  在计算机显示器上显示一个具有方向场的用户接口;
b)  响应于用户输入,将任务对象放在所述方向场中,其中所述任务对象表示将由所述计算机执行的任务;
c)  为所述方向场选择一个方向属性;
d)  由所述计算机根据方向场中任务对象的相对空间位置和方向场的方向属性对方向场中的一个或多个任务对象进行排序。
15.如权利要求14所述的排序方法,还包括通过改变方向场中的任务对象的相对空间位置来对所述任务对象重新排序的步骤。
16.如权利要求14所述的排序方法,其中,所述任务对象具有一个或多个用于控制任务对象的行为的可修改的属性。
17.如权利要求16所述的排序方法,其中,一个所述可修改的属性用于按所述序列包括方向场中的一任务对象或将在该方向场中的一任务对象排除出所述序列。
18.如权利要求16所述的排序方法,其中,至少一个用户可定义的属性用于指定要由任务对象执行的任务。
19.如权利要求14所述的排序方法,还包括将一个主管对象放在方向场中,用于启动所述任务序列的步骤。
20.如权利要求19所述的排序方法,其中,所述任务对象响应所述主管对象以执行其相联系的任务。
21.如权利要求20所述的排序方法,还包括为所述主管对象定义一个有限制的影响区域的步骤,其中,所述主管对象用于启动一个包括落入主管对象的影响区域内的任务对象的序列。
22.如权利要求21所述的排序方法,其中,序列只包括那些落入主管对象的影响区域内的任务对象。
23.如权利要求20所述的排序方法包括多个主管对象,每个主管对象具有一个影响区域,其中,至少一个主管对象响应一个或多个其他主管对象的激活,以启动其自己的影响区域内的任务对象的排序。
24.如权利要求20所述的排序方法,还包括从一个预先定义的类型列表中为每个任务对象选择一个类型的步骤,其中,每个主管对象被编程为只对某些指定类型的任务对象排序。
25.如权利要求24所述的排序方法,还包括为用于对所有类型的任务对象排序的主管对象定义一个通用类型的步骤。
26.一种用于向用户显示信息并接收来自用户的输入的计算方法,包括:
a)在计算机显示器上显示3-D虚拟环境中的一个三维对象,其中,所述菜单对象包括外表面和内表面;以及
b)在所述对象的内表面和外表面上都显示信息,以使得当用户在对象的里面或外面时该信息对于用户都是可见的。
27.如权利要求26所述的计算方法,其中,在对象的内表面和外表面上都显示菜单项。
28.如权利要求27所述的计算方法,还包括响应于用户输入选择在菜单对象的内表面或外表面上的一个菜单项的步骤。
CN 98805711 1997-04-04 1998-03-27 根据方向场中的任务对象的相对空间位置对计算机控制的任务排序的方法 Pending CN1266510A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4337197P 1997-04-04 1997-04-04
US60/043,371 1997-04-04
US08/905,701 US6948173B1 (en) 1997-08-04 1997-08-04 Method of sequencing computer controlled tasks based on the relative spatial location of task objects in a directional field
US08/905,701 1997-08-04

Publications (1)

Publication Number Publication Date
CN1266510A true CN1266510A (zh) 2000-09-13

Family

ID=26720347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 98805711 Pending CN1266510A (zh) 1997-04-04 1998-03-27 根据方向场中的任务对象的相对空间位置对计算机控制的任务排序的方法

Country Status (3)

Country Link
EP (1) EP1031079A4 (zh)
CN (1) CN1266510A (zh)
WO (1) WO1998045767A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329802C (zh) * 2002-11-12 2007-08-01 索尼计算机娱乐公司 利用重量概念处理文件以可视化表示文件的方法与装置
CN100405363C (zh) * 2001-03-19 2008-07-23 国际商业机器公司 在数据处理系统中对类属数据集排序的方法和装置
TWI512295B (zh) * 2010-01-15 2015-12-11 Bosch Gmbh Robert 提供對準信號的方法與裝置以及具有此裝置的可攜帶的器具

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116778062A (zh) * 2022-03-10 2023-09-19 腾讯科技(深圳)有限公司 一种视频播放方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254513A (ja) * 1987-04-13 1988-10-21 Toshiba Corp 画面表示方法
EP0347162A3 (en) * 1988-06-14 1990-09-12 Tektronix, Inc. Apparatus and methods for controlling data flow processes by generated instruction sequences
US5212771A (en) * 1990-04-27 1993-05-18 Bachman Information Systems, Inc. System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems
FR2662009B1 (fr) * 1990-05-09 1996-03-08 Apple Computer Icone manupulable a faces multiples pour affichage sur ordinateur.
WO1993015455A1 (en) * 1992-01-24 1993-08-05 Interactive Media Corporation System for performing function on second portal upon activation of related first portal
JP2768412B2 (ja) * 1992-07-15 1998-06-25 財団法人ニューメディア開発協会 ユ−ザ適応型システムおよびその適応方法
US5442746A (en) * 1992-08-28 1995-08-15 Hughes Aircraft Company Procedural user interface
US5586243A (en) * 1994-04-15 1996-12-17 International Business Machines Corporation Multiple display pointers for computer graphical user interfaces
US5623592A (en) * 1994-10-18 1997-04-22 Molecular Dynamics Method and apparatus for constructing an iconic sequence to operate external devices
AU712491B2 (en) * 1995-04-07 1999-11-11 Sony Electronics Inc. Method and apparatus for improved graphical user interface with function icons
US5724492A (en) * 1995-06-08 1998-03-03 Microsoft Corporation Systems and method for displaying control objects including a plurality of panels
GB9606791D0 (en) * 1996-03-29 1996-06-05 British Telecomm Control interface
US5745109A (en) * 1996-04-30 1998-04-28 Sony Corporation Menu display interface with miniature windows corresponding to each page

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405363C (zh) * 2001-03-19 2008-07-23 国际商业机器公司 在数据处理系统中对类属数据集排序的方法和装置
CN1329802C (zh) * 2002-11-12 2007-08-01 索尼计算机娱乐公司 利用重量概念处理文件以可视化表示文件的方法与装置
TWI512295B (zh) * 2010-01-15 2015-12-11 Bosch Gmbh Robert 提供對準信號的方法與裝置以及具有此裝置的可攜帶的器具

Also Published As

Publication number Publication date
EP1031079A4 (en) 2004-09-15
EP1031079A2 (en) 2000-08-30
WO1998045767A2 (en) 1998-10-15
WO1998045767A3 (en) 1999-01-07

Similar Documents

Publication Publication Date Title
US7680817B2 (en) Multi-dimensional locating system and method
Hailpern et al. TEAM STORM: demonstrating an interaction model for working with multiple ideas during creative group work
US8893046B2 (en) Method of managing user-selectable elements in a plurality of directions
US5107443A (en) Private regions within a shared workspace
US6948173B1 (en) Method of sequencing computer controlled tasks based on the relative spatial location of task objects in a directional field
US20090019371A1 (en) Multi-dimensional locating system and method
CN1110066A (zh) 位置目标系统
US20070271508A1 (en) Information elements locating system and method
US20080058106A1 (en) Multi-dimensional locating game system and method
CN1113396A (zh) 储存器目标系统
US20090055413A1 (en) Method and tool for classifying documents to allow a multi-dimensional graphical representation
CN1755683A (zh) 上下文动作的发布
JP2007310890A (ja) オブジェクトを組織化する方法、システムおよびプログラム
CN1816797A (zh) 机器可读介质和数据管理系统以及跟踪现实对象的方法
JP2000057359A (ja) 図形オブジェクトの表示属性を変更する方法、図形オブジェクトを選択する方法、図形オブジェクト表示制御装置、図形オブジェクトの表示属性を変更するプログラムを格納した記憶媒体及び、図形オブジェクトの選択を制御するプログラムを格納した記憶媒体
US20090006319A1 (en) Data visualization system with axis binding
US20110148918A1 (en) Information processing apparatus and control method therefor
US20190339848A1 (en) Bi-directional search and sorting
CN1818901A (zh) 一种用于同数据库进行交互的方法和计算机系统
WO2008157600A1 (en) Multi-dimensional merge
US20210255909A1 (en) System and method for creating and managing an interactive network of applications
Shackel People and computers—some recent highlights
EP0923759A2 (en) Apparatus and method for creating and controlling a virtual workspace of a windowing system
CA2602831A1 (en) Method and system for distinguising elements of information in time portions of an axis
CN1266510A (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