对象过程图系统的制作方法

文档序号:6656603阅读:215来源:国知局
专利名称:对象过程图系统的制作方法
相关申请交叉索引本申请要求2004年6月5日申请的临时申请60/577,501和2005年5月20日申请的10/908,654的利益,二者的内容通过引用而全部组合于此。
发明
背景技术
领域本发明涉及软件开发工具,其包括编程语言、CASE工具、数据库系统和界面及显示语言和相关工具。
背景技术
由于20世纪50年代汇编语言的开发,计算机工业在软件开发方面已目睹了一系列的逐渐增长的进步。这些进步已使软件能够以更少的人工劳动更快地开发,并使可产生更复杂的软件系统和改善软件系统的可靠性。这些进步包括第3代编程语言如COBOL和Fortran的开发;第4代编程语言如FOCUS的开发;面向对象的编程语言如Smalltalk、C++和Java的开发;CASE工具如Rational Rose的开发;可视编程环境如Visual Basic和Web Sphere的开发;关系数据库系统如Oracle和DB2及面向对象的数据库系统如GemStone和Versant的开发。然而,尽管有这些进步,但大系统的开发仍然成本高昂且高风险冒险,其需要许多高度有经验的程序员,且在最终系统的质量和可应用性方面总是有相当的不确定性。
以目前的方法实现软件系统的主要限制在于在开发周期之前需要详细的、确定的需求设计。实现可在进行中容易且可靠地修改的复杂系统的手段,从而在变化的需求出现时系统能适于这些变化的需求,这将大大拓宽计算机应用程序的范围、可应用性和有用性。

发明内容
本发明定义和实现对象过程图系统。
一方面是对象过程图系统,其包括图形结构和图形解释器。图形结构是动态的、有向的和循环的,并定义应用程序。图形结构具有至少一数据结点、至少一过程结点、和至少一应用程序状态结点。图形解释器解释图形结构以处理应用程序。在图形结构正由图形解释器解释的同时图形结构可被改变。
另一方面是对象过程图系统,包括图形结构、图形解释器、和图形用户界面。图形结构定义应用程序。图形结构是复合层图形并包括多个结点。解释器解释图形结构以处理应用程序。图形用户界面在显示介质上显示图形结构并处理由输入设备输入的、用户定义的图形变化。在图形结构正由解释器解释的同时图形结构可被改变。
本发明的示例性实施例包括许多优点,包括在建立大的复杂软件系统时降低成本和风险。应用程序用户和应用领域专家能够以最少的计算机培训开发和维护专用、复杂软件系统。可产生能在运行时进行修改的应用程序以大大拓宽软件应用程序系统的范围、灵活性和有用性。


本发明的这些及其它特征、方面和优点结合下述描述、所附权利要求及附图将得以更好地理解,其中图1为根据本发明实施例的基于对象过程图的计算机应用程序。
图2为根据本发明实施例的复合层图形。
图3为根据本发明实施例的对象过程图类型层次。
图4为根据本发明实施例的对象过程图样板数据库类型/特性。
图5为根据本发明实施例的对象过程图结点。
图6为根据本发明实施例的对象过程图边缘类型。
图7为根据本发明实施例的对象过程图过程到过程类型。
图8为根据本发明实施例的GOP数据库数据到数据类型。
图9为根据本发明实施例的对象过程图过程到数据类型。
图10为根据本发明实施例的对象过程图用户对象。
图11为根据本发明实施例的对象过程图审计对象。
图12为根据本发明实施例的动态图形解释器。
图13为根据本发明实施例的应用程序状态结点。
图14为根据本发明实施例的运行应用程序例图的动态图形解释器。
图15为根据本发明实施例显示应用程序状态。
图16为根据本发明实施例改变应用程序状态。
图17为根据本发明实施例改变应用程序状态过程和数据定义。
图18为根据本发明实施例改变应用程序状态。
图19为根据本发明实施例改变应用程序状态并添加数据定义结点。
图20为根据本发明实施例改变应用程序状态过程和数据定义。
具体实施例方式
本发明的各方面包括对象过程图(OPG)和动态图形解释器(DGI)。OPG定义计算机应用程序的永久和瞬时数据、其处理逻辑和数据流、及每一应用程序数据项的显示和确认特征。基于图形用产界面的编辑系统可用于产生和修改OPG。DGI是面向对象的系统,其对应用程序的动态OPG进行存取、解释、修改和行动。解释OPG类似于在传统的计算机环境中运行应用程序。
OPG的实施例可被视为解释成所执行程序的计算机语言(其为Turing完成的语言)。OPG保存在过渡和永久计算机存储器中。OPG可支持任何数据结构,其包括但不限于关系表、层次表、n维数据阵列、电子表格、图形模型和3-D图形模型。这些数据结构不被保存为在关系数据库系统中很普遍的二进制大对象,而是以反映其原语结构和内部关系的特殊OPG结构保存。OPG过程和控制结构提供对应用程序内永久和暂时数据确认、变换和显示的顺序及时机的控制。OPG结构还可定义数学公式、常规表示式(在文字数据或混合数字和文字数据的情形下)和完整算法。
应用程序的OPG可被呈现在计算机终端或静态输出介质如纸上。显示在交互式介质上的OPG数据、过程和控制结构可被编辑。与传统的软件开发系统不同,编辑应用程序的OPG不产生必须编译和安装的代码。而是,可进行改变并立即生效。改变甚至可在DGI正进行解释(运行应用程序)时做出。在任何时候安全改变应用程序的能力对于大型、复杂的企业级应用程序系统的快速开发和长期维护是必要的。
OPG中的所有应用程序执行状态信息被保存在应用程序状态对象中。DGI通过改变其保存的应用程序状态信息而对OPG起作用。应用程序状态信息可包括任何永久的数据对象。DGI可同时对多个应用程序状态起作用,在应用程序状态对象的组合之间合并或分拆状态信息。
OPG以原语数据级保留应用程序中所有永久和短暂数据变化的审计尾迹信息。审计尾迹信息易于经显示控制显示在用户界面上或易于在应用程序的过程和数据流中进行进一步更新和操控。
对于应用程序的永久数据的所有变化,定义长和短事务中进行的变化的审计信息被保存和跟踪。长事务使系统能组织、控制和跟踪所有永久数据的变化。这样的变化可跨许多工作会话在延长的时间段(几天或几周)内发生。另一方面,短事务在单一用户会话或与系统交互作用时进行。长和短事务信息立即可用于经系统的图形用户界面在应用程序内进行操纵和显示。跟踪长事务还有利于回退到事务的任何点,及事务(带有审计尾迹)的删除经应用程序界面可自动可用。对用户对应用程序内的所有功能和数据的访问的控制可通过系统界面进行。这包括每一用户对定义为应用程序的一部分的每一原语数据项的分开的访问权(读、写、回退)。
除了经用户界面输入或改变的数据以外,系统的实施例还接受来自其它系统的、任何数字格式的、应用程序过程输入数据。
一些实施例包括图形用户界面。图形用户界面可使用户能够指定所有输入的格式,其之后被自动分析并用于更新应用程序一在应用程序过程的任何点添加到或修改数据库中的永久数据或应用程序或显示界面中的暂时数据。
同样,在不同的实施例中使用与上述相反的过程,输出数据可从应用程序中的任何点(对于永久和暂时数据)以任何格式产生。在一些实施例中,外部数据库如关系数据库可向应用程序注册,应用程序内的所有永久数据可被保存在这样的数据库中或从其检索。
本发明的对象过程图组成部分的实施例扩展了传统的、面向图形对象的数据库的基本功能。本发明的实施例将动态过程单元的功能和面向图形对象的数据库合成为单一集成的系统,其使得不需传统的编程语言即可快速地产生完整、复杂的企业级应用程序。OPG被直接和动态解释,因此不需要产生代码。改变OPG的容易性和对改变的立即反馈大大简化了基于保存和改变OPG的应用程序。
本发明的实施例包括两个组成部分(图1)动态、复合层对象过程图(OPG)3和动态图形解释器(DGI)2。OPG3完全定义并表示应用程序。DGI2将应用程序的OPG3翻译和解释为应用程序被运行。应用程序的界面1与DGI2相互作用,更新保存在OPG3中的永久数据或在应用程序运行时由OPG3控制的暂时数据。
对象过程图在本发明的示例性实施例中,OPG3被构造成复合层图形(图2),具有两种结点类型-合成和原语。图2中的深色结点-8、9、10和12-不由其它结点组成,因此属于结点类型原语。在这些图中未充填的结点属于结点类型合成。OPG复合层图形包括一组有向图和一组树。图形内的每一结点属于有向图及树。每一结点所属的有向图定义其与该图形内的其它结点的关系。结点所属的树定义其所属的合成层次。结点可属于多个有向图和多个合成层次。例如,图2中的结点9、10、11和12属于有向图7。结点9、10、11和12还属于与结点6相同的合成层次,结点6属于有向图5。结点6在合成层次树中是结点9、10、11和12的双亲段。应注意,在此描述的复合层图形仅仅是有向图的特殊情形,从而OPG3的另一实施例可使用包含边缘双亲的有向图以指示合成。图2中的深色结点-8、9、10、和12-不由其它结点组成,因而属于结点类型原语。
OPG3包括至少两种结点对象类型过程和数据。(某些另外的专门结点对象类型将在随后描述)。如上所述,在每一结点对象类型内,结点类型可以是原语,在其作为成员的合成层次树中没有子段,或是合成类型。下面对过程和数据类型的描述是本发明的一个示例性实施例(图3)。过程类型13可以是操作、报表或应用-所有这些均可属于结点类型合成。操作和报表类型也可属于结点类型原语。数据类型14可以是原语数据15、合成数据16、阵列、图形、或参考。在该示例性实施例中,数据类型原语数据的结点仅可属于结点类型原语,所有其它数据类型的结点仅可属于结点类型合成。
在该示例性实施例中,原语数据结点15可以是任一原语数据类型。每一原语数据结点的特性对于其类型是特定的。(应注意,这对于所有结点均是正确的-结点特性依赖于其类型层次,但结点也可以是图形定义和/或运行时间特殊)。大量预定义原语数据类型可用于OPG系统的各个实施例中,如字符串、双精度型、整数、日期、文件、图象、映射、XML文件、计算、计算的字符串、自定义类、电子邮件地址、万维网地址、目录、电子表格单元、文件变换、长整数、大小数、二进制、和关系表。每一原语数据类型定义包括用于处理和显示其数据的专门功能。例如,文件变换数据类型允许以多种格式显示文件中的基本信息文本、CVS、XML、电子表格(Excel-需要商用许可)、字处理文档(Word-需要商用许可)。
尽管添加原语数据类型定义可能极少发生,新原语数据类型的新代码将能组合在现有OPG3中,不再生成或重新组织OPG3。例如,在生命科学应用中,也可添加特殊域的原语数据类型,其包括序列、多序列调整、凝胶图象、及蛋白质结构。还应注意,原语数据类型可包含可在应用程序内执行的算法或自定义类(程序模块)。
合成数据结点16为任何数据类型结点即原语数据、阵列、图形、参考及合成数据的复合层图形。阵列结点为由任何数据类型结点组成的同质、n维阵列。图形结点为由任何数据类型的结点组成的有向图。参考结点为指向任何数据类型结点的指针。
每一数据结点具有或定义17或例图18的模板数据库类型(图4)。定义结点包含对对应于该定义结点19的所有例图结点20均为共同的一组特性。这些特性控制例图结点的值的数据怎样被处理和显示,所述值为结点特性的子集。例如,显示和编辑为两种指示数据值特性怎样被显示在显示介质上或在显示介质上被怎样编辑的特性。显示坐标特性指示值将被显示在计算机显示器上的位置;其它特性指明字体、颜色等。特性也可包括确认准则,包括使用常规表示式确认输入。特性可以是过程结点特有,即每一定义结点具有默认特性设置21,但对于任何过程结点22,特性可被重新定义23而只用于该过程结点。存在于有效过程结点的应用程序状态中的任何相应例图结点应使用其对于该过程结点的结点特性。如果对例图结点不存在过程结点特有特性,则将使用相应定义结点的默认特性。此外,特性可以是应用程序状态结点特有,即特性23a仅被定义用于应用程序状态X22a。(应用程序状态将在下面DGI2的描述中详细描述)。不仅数据定义结点的特性可以是过程特有或应用程序状态特有,而且数据定义结点本身也是过程或应用程序状态特有。在该示例性实施例中,以这种方式规定的数据定义结点仅被应用于特定过程或应用程序状态(或过程和/或应用程序的结合),且在所有其它过程步骤或应用程序状态处均被忽略。
例图数据结点为数据定义结点的特殊例示。特性也可设定在数据例图级。特殊的数据类型可具有其自己的特性组。例如,文件数据类型将具有文件名称和路径特性,二者均为例图特有。所有数据类型具有至少一例图特有的值特性。对于例图特有特性,定义结点可保存每一特性的默认值。
所有数据结点具有持续时间特性,其在定义结点中对该定义结点的所有例图进行设定(还有影响定义结点自身的寿命的定义持续时间特性)。使用该特性,可产生暂时和永久例图结点。永久例图结点在OPG3中保存延长的时间段,而暂时结点仅在当前会话(或其一些子集/超集-可以是取决于长或短事务和/或取决于过程结点)的寿命期间存在。如果应用程序用户/设计者需要,使用这种机制,临时工作存储器的产生和操纵可由OPG3控制(作为暂时瞬间数据),而不将这样的数据永久保存在OPG3中。
过程结点24(图5)控制例图结点流经应用程序及应用程序经显示介质使用的例图结点的产生、修改和显示。操作结点25,其为过程结点的一类,定义流经应用程序的数据和过程流中的分立步骤,包括应用程序的显示介质的变化。
应用程序状态结点26属于结点类型合成。它们包含逻辑上连接的例图结点的集合27,其通过操作结点的子集产生、修改或显示。报表结点28为专门操作结点,其不允许OPG3中的永久数据的修改(除了某些专门报表相关的数据结点以外)。应用程序结点29属于结点类型合成。它们包含逻辑上连接的过程和数据结点的集合30。
OPG3内的所有结点均由定义结点之间的关系的边缘连接。关系可包括但不限于变换、被动、控制通行和关系。边缘具有特性,但与结点不同,其不包含其它结点或边缘(尽管特性值可以是结点)。在本发明的一实施例中,定义了三种边缘类型过程到过程、过程到数据、和数据到数据(图6)。过程到过程边缘31定义过程结点之间的关系,过程到数据边缘32定义过程和数据结点之间的关系,数据到数据边缘33定义数据结点之间的关系。在该实施例的上下文内,下面的各段定义这三种边缘类型的分立例图。
有三种过程到过程边缘子类型显示、队列、和批(图7)。在操作或报表结点之间的显示边缘34指明应用程序内的过程控制在结点之间以边缘指定的方向移动。在操作A执行之后,应用程序内在操作A的应用程序状态在操作B显示在显示介质上。该例子定义应用程序内从一屏到另一屏的移动。
在操作或报表结点之间的队列边缘35指明过程控制何时从结点A移到结点B,应用程序状态将在结点B排队但不显示,除非用户经应用程序界面采取进一步的行动(如点击代表列表上的应用程序状态显示在显示介质上结点B表示的链接)。该例子描述了应用程序内的工作流操作。
在报表和操作结点之间的批边缘36导致由操作B定义的处理在应用程序内应用程序状态从操作A移到操作B时被调用为后台过程。批边缘用于基于边缘内的进程时间特性确定同时发生的过程结点以后台方式运行的时间。应注意,所有这些结点可保存数据结点为可用于调用边缘的有条件执行的特性。这样,根据两个数据结点之间的比较结果,特定屏可以也可不在应用中显示。
有五种数据到数据边缘子类型复制、计算、拆分、归并、和联结(图8)。所有数据到数据边缘知道数据类型和原语数据类型。在两阵列之间的复制边缘37将把数据元从一阵列复制到另一阵列,经受边缘定义的任何映射特性。从原语数据到阵列的复制将原语数据结点的值和某些特性复制和重复到阵列的所有元素。按照需要,在不同的原语数据类型的结点之间进行适当的值转换(如字符串到整数),其取决于边缘的特性强型或弱型。弱型边缘允许这样的数据转换发生,而强型边缘阻止其发生。
计算边缘38提供复杂的数学公式和/或常规表示式以对任何数量的数据结点作用从而计算另一数据结点。拆分边缘39和归并边缘40使应用程序状态对象在应用程序中从一操作移到另一操作时被拆分或归并。它们使一应用程序状态对象中的例图结点在从一操作流到另一操作时被拆分到多个应用程序状态对象中,或将许多应用程序状态对象中的例图结点合并到一个应用程序状态对象中。
联结边缘41使基于不同定义结点的合成数据例图结点将从OPG3组合并一起取回。在这些情况下,参考结点可连同联结边缘一起使用。
有三种过程到数据类型创建、取回、和执行(图9)。创建边缘42在过程结点于应用程序状态中创建定义结点的新例图。取回边缘43在过程结点取回数据例图并将它们放在应用程序状态对象内。执行边缘44将执行程序代码或控制结构(包括算法),其在该过程的应用程序的逻辑和控制流期间可包含在数据结点内。
应注意,本发明的不同实施例可添加或修改上述所有边缘类型和子类型的性质。
在本发明的一实施例中,用户由专门的对象类型代表,其控制对应用程序内的功能和数据的访问(图10)。为每一有权使用OPG应用程序的任何部分的各个用户在OPG3内创建用户对象45。另外的用户对象也可被创建以按任何需要的方式对功能集合或数据存取进行分组。每一用户对象包含应用程序内对其访问被允许的所有过程对象46和数据对象47。为用户对象内的每一对象分配访问权,其可以是来自下述两个列表之一(列表1-对于数据例图)块I、读I、写I、回退,(列表2-对于数据定义和过程)块M、读M、写M。如果用户对象包含对合成对象48的访问权,动态图形解释器2使用其合成树自动将相同的访问权分配给合成对象的所有子段结点49。然而,如果用户对象还包含其子段结点50之一,则对于该特定的子段是使用其访问权(在图10中,数据D仅具有读访问,而不是其双亲段的写访问)。应注意,权限被排列并包括在每一列表内,从而回退权包括读I和写I访问。
块权限用于取走所有访问权且仅在覆盖双亲段的权限时需要,因为默认访问权是块一即在对象或其双亲段的任一不出现在用户对象中时。用户对象还可从另一用户对象继承所有权限。这允许建立任何数量的分组权限或角色-包括这样的分组或角色的层次-其可用于同时自动更新许多用户的权限。
审计是另一专门的对象类型。其用于跟踪应用程序内对数据的所有访问和修改(图11)。驻留在应用程序状态对象51和合成数据对象52中,它们跟踪在应用状态层53和数据例图层54用户对数据的所有访问和修改、时间和操作步骤。如果对于应用程序状态中使用的所有定义数据审计特性均为“开”,则应用程序状态的回退可被执行以回退到事务内的任何操作步骤。在排队操作(如工作流)的情形下,这允许可能跨许多用户会话发生的长运行事务的回退。DGI2检查事务处理后任何数据的变化并在那种情形下防止回退(或者,如果适当的特性被设定,则允许替换)。
索引对象可在对象过程图3内指定以缩短搜索路径从而提高性能。
动态图形解释器动态图形解释器(DGI)2(图12)解释动态OPG3,并使用显示介质57,其自动显示应用程序的可视方面。DGI2协同访问应用程序的状态结点58及其过程和数据结点59以运行应用程序的各个例图。
OPG3中的应用程序状态结点和过程及数据结点一起包含显示应用程序信息及将应用程序例图从一状态变为另一状态所需的所有信息。应用程序状态结点(图13)60包含应用程序例图的有效、当前操作结点及与特定状态的例图相关联的所有数据例图结点。
DGI2运行(等价于传统意义的解释、执行、履行或运行)应用程序的例图(图14),其通过使从一应用程序状态变为另一应用程序状态61并在显示介质57上显示应用程序的状态信息进行。在显示介质上显示应用程序状态信息使用户能动态地与应用程序交互作用以引起应用程序状态的变化。其还使用户能改变应用程序的OPG3的其它元素一如过程结点、数据定义结点和这些结点之间的任何边缘信息62。OPG3的这些元素的变化立即引起DGI2对OPG3进行解释,从而使应用程序在正被解释即运行时能动态地改变。
DGI2致使应用程序例图的状态信息根据显示特性(图15)而呈现在显示介质57上。状态信息被保存在数据例图结点中。显示特性或是操作特有数据例图显示特性或是保存在数据例图结点中的默认显示特性。操作特有数据例图显示特性优先于默认显示特性。DGI2检查应用程序状态结点62内的所有数据例图结点64,找到OPG3内它们的相应数据定义结点65及有效操作中它们的相应显示特性。如果对于有效操作和数据定义结点没有特有显示特性,则使用数据定义结点的默认显示特性。之后,带有其例图特有特性值的所有数据例图根据其操作特有显示特性而呈现在显示介质57上。有效操作特有的其它显示特性也可被呈现在显示介质上。
DGI2通过首先检查应用程序状态内的有效操作结点而改变应用程序的状态(图16)。之后其查看OPG3内的操作结点,找到从操作结点引出的边缘并执行由那些边缘指明的变换。此外,其检查对应于应用程序状态结点内的数据例图的数据定义结点,找到从那些数据定义结点引出的边缘并执行由那些边缘指明的变换。这样,例如,在图16中,应用程序状态X 66被变为应用程序状态X’67。有效操作从操作A变为操作B且两个新的数据例图即数据例图C和数据例图D被添加到应用程序状态。将X变为X’所需要的变换由相应的操作和数据定义结点连同它们的互连边缘68确定。
图17-20更详细地描述运行应用程序例图的一个步骤(等价于从一有效操作移到下一有效操作)的例子。图17描述OPG3的一部分,其详述在运行步骤时将由DGI2访问的操作结点、数据定义结点和边缘变换。图17还详述了边缘变换将被运行的顺序创建66、创建67、复制68、显示69、创建70、创建71和复制72。
例子(图18)以显示在显示介质57上的应用程序状态X 73开始。在图18以应用程序状态X 73开始的阶段,如所详示的,来自图17的边缘变换创建66和创建67已经运行,然而,图17中所示的其它边缘变换尚未运行。如图15中详述的,在显示介质57上所显示的内容由包含在对应于应用程序状态内的数据例图的数据定义75内的显示特性控制。DGI2管理用户77与该显示介质57的交互作用,根据显示介质57上的用户交互作用更新应用程序状态内的数据例图。应注意,在用户77经DGI2更新应用程序状态73中的数据例图内的特性时,该用户77也可同时经DGI2更新对应于应用程序状态73中的那些数据例图的数据定义75的特性。一旦用户77已完成经显示介质57与应用程序状态X 73的交互作用,DGI2将运行复制68(图17)边缘变换,其连同用户77通过显示介质57进行的更新一起将导致OPG3中更新的和变换的应用程序状态X’78。DGI2现在检查OPG3中的操作结点、数据定义结点、和边缘变换80并运行可导致更新和变换的应用程序状态X″81的显示69、创建70和创建71(图17)边缘变换。该更新的应用程序状态X″81随后以图15中描述的方式经DGI2解释和显示在显示介质57上。
如上面图18中所述和所暗示的(见DGI2和数据定义结点75之间的双向箭头),用户在更新数据例图结点时可同时更新数据定义结点。然而,在运行应用程序时同时更新应用程序定义的能力不限于更新现有的数据定义结点,而是可扩展到更新OPG3的任何部分,其完全说明了应用程序的所有方面。这样,在图19中,用户88经显示介质57、通过DGI居间而将新的数据定义结点E 86连同创建边缘85一起添加到OPG3,同时更新应用程序状态X 83。
新更新和变换的应用程序状态X’89由DGI2产生。之后,该新的应用程序状态X’89同样由DGI2使用OPG3内的过程、数据定义结点和边缘91进行更新和变换以控制变换和更新。这些数据定义结点和边缘可包括新定义的结点和边缘,如85和86。因此,在该例子中,随后的应用程序状态X″92将包括新的数据例图E,其已在该应用步骤内定义。应用程序状态X″92之后经DGI2显示在显示介质94上,如前所述。
图20概括了因如图19中所述运行应用程序步骤引起的数据定义结点和边缘的变化。比较图20和17,图20包括新的数据定义结点E95和新的创建边缘96。应注意,如先前在图4中所述,特定的数据定义结点或数据定义结点的特性集合可对所有过程(默认)、单个过程或过程组、或特定应用程序状态进行定义。这样,在该例子中,数据定义C和D为所有过程99的默认定义,而数据定义E 95和创建边缘96已被定义仅用于应用程序状态X 100(在该例子中,这还应用于X的所有变换如X’和X″)。这意味着应用程序的随后运行将访问在应用程序状态X已访问的数据定义C 97和D 98;然而,数据定义E将仅被应用于应用程序状态X。在图19的例子中,其已容易地将新的数据定义E应用于所有过程,而不是仅用于应用程序状态X。
在图17-20中概括的DGI2使人们可在应用程序正被运行时同时开发和修改应用程序。此外,其允许这样的开发和修改应用于应用程序的所有随后的运行、随后的运行的一些子集或简单地应用于正被运行的应用程序的当前例图。
OPG和DGI方法及实施例下面为根据本发明创建OPG3系统和DGI2系统的示例性方法的描述,这样的系统已在上面定义和描述。在此为该方法的一实施例。
1)选择基于其建立和运行OPG3和DGI2系统的硬件/操作系统平台、编程框架、数据库和/或文件系统及显示介质的初始设置。在一实施例中,使用Linux操作系统,在基于Intel的服务器硬件上运行,跨内联网连接到运行微软Windows XP软件和微软Internet Explorer(IE)浏览器的基于Intel的PC。在PC终端上运行的IE浏览器将原则显示介质。使用面向对象的编程语言-来自Sun Microsystems的Java-编程OPG3和DGI2系统。使用面向Java数据对象(JDO)兼容的对象的数据库系统-来自以色列ObjectDB Software的ObjectDB-其中保存我们的OPG3系统的永久数据。使用Jakarta Struts框架和Java服务器页面将来自DGI2的信息呈现在显示介质57上。(动态图形解释器绘制系统将是未来专利的主题)。使用在Linux下运行的Jakarta Tomcat应用服务器。OPG3和DGI2系统将在Tomcat应用服务器上运行。该实施例还可在没有程序设计变化的情况下在WindowsXP操作系统下本地运行的Tomcat应用服务器上运行。同样,ObjectDB数据库的版本或在Linux下的服务器上运行或在Windows XP下的PC上运行。我们还使用来自Eclipse Foundation的Eclipse开发平台和来自Genuitec的MyEclipse插件,在其基础上进行基于Java的软件开发。应注意,上述操作系统、应用平台和编程语言工具仅代表本发明的一个可能实施例。
2)使用上面对各个实施例的总结和描述,连同附图1-20,定义了一组类及适当的类层次,其将包括所需的功能。在Gamma等在Addison Wesley 1995的“设计模型”和Grand在Wiley ComputerPublishing 1998的“Java模型”中描述的设计模型可用于创建一组带有所需功能的类。用于定义这些类的高级CASE工具也可使用。可被定义的一些类为a、一组处理创建、修改、更新和定位复合层图形(图2)所需功能的类。这样的类可部分基于迭代程序结构模型(见上面引用的文本)。
b、处理创建、修改、更新和定位数据及过程结点的各个类型层次(图3-5)所需功能的类。这样的类可部分基于合成划分模型。工厂方法及抽象的工厂创造模型也可在此及下述的其它类组中使用(见上面引用的文本)。
c、一组处理各个边缘类型的类(图6-9)。
d、一组处理用户对象的类(图10)。
e、一组处理审计对象的类(图11)。
f、一组处理DGI2顶级框架的类(图12、14)。这样的类应包括处理事件处理的功能并可部分基于观察器行为模型(见上面引用的文本)。
g、一组处理创建、修改、更新和定位应用程序状态所需功能的类(图13)。
h、一组显示应用程序状态的类(图15)。该组类必须广泛地与用于将数据从DGI2和OPG3系统呈现在显示介质上的系统接口。在一实施例中,该动态图形解释器绘制系统使用Java服务器页面基于Jakarta Struts框架建立。
i、一组用于改变应用程序状态的类(图16-20)。这样的类应包括处理事件处理的功能并可部分基于观察器行为模型(见上面引用的文本)。
j、一组用于改变OPG3内的过程、数据定义结点和边缘的类(图16-20)。
上述类中的大部分将需要被定义为永久的类,这将使其内定义的相关属性被保存到长期永久介质如存储介质。如果使用JDO兼容的数据库如ObjectDB,这可以最少的额外编程完成-所有所需要的为XML文件详细设计,其类为永久的类。动态图形解释器绘制系统中与DGI和显示介质交互作用的类将不总是永久的。
尽管本发明已结合某些实施例进行相当详细的描述,其它实施例也是可能的。例如,不同的操作系统、编程语言、和软件体系结构可用于实施本发明的实施例。因此,所附权利要求的精神和范围应不限于包含于此的实施例的描述。
如上所述,本发明的实施例可体现为硬件、软件、固件、或任何用于实现实施例的方法和/或装置的形式。本发明的实施例还可体现为包含具体化在有形介质中的指令的计算机程序代码形式,所述介质如软盘、CD-ROM、硬盘、或任何其它计算机可读的存储介质,其中,当计算机程序代码载入计算机并由计算机执行时,计算机变成实施本发明的装置。本发明还可体现为计算机程序代码的形式,例如,无论是保存在存储介质中、装入计算机和/或由计算机执行,还是在一些传输介质如在电线或电缆上、通过光纤、或经电磁辐射进行传输,其中,当计算机程序代码被装入计算机并由计算机执行时,计算机成为实施本发明的装置。当实施在通用微处理器上时,计算机程序代码段配置微处理器以产生特定的逻辑电路。
在本发明已结合示例性实施例进行描述的同时,本领域技术人员将理解,可进行许多变化或等价替代其中的组成部分,而不会背离本发明的范围。此外,可进行许多修改以使特定的情形或材料适应本发明的教义,而不背离本发明的实质范围。因此,本发明不应限于作为预计实现本发明的最佳方式在此公开的特定实施例,而是将包括落在所附权利要求范围内的所有实施例。此外,术语第一、第二等的使用并不指示任何顺序或重要性,而是用于使一个组成部分与另一组成部分区别开。
权利要求
1.对象过程图,包括用于定义应用程序的图形结构,所述图形结构是动态的、有向的及循环的,所述图形结构包括至少一数据结点、至少一过程结点、和至少一应用程序状态结点;及用于解释所述图形结构以处理所述应用程序的解释器;其中所述图形结构能在其正由所述解释器进行解释时被改变。
2.根据权利要求1的系统,其中所述图形结构包括至少一用于定义所述图形结构中的至少两结点之间的关系的关系边缘。
3.根据权利要求1的系统,其中所述图形结构包括至少一变换边缘,其用于变换所述图形结构中的至少量结点之间的关系。
4.根据权利要求1的系统,其中所述图形结构包括至少一用于定义所述图形结构中的至少两结点之间的关系的边缘。
5.根据权利要求1的系统,其中在所述图形结构正由所述解释器解释的同时,所述图形结构能够响应于外部输入而被改变。
6.根据权利要求1的系统,其中所述图形结构包括用于所述应用程序的数据。
7.根据权利要求6的系统,其中所述数据包括永久和暂时数据。
8.根据权利要求6的系统,其中所述数据包括选自下组的数据结构关系表、层次表、n维数据阵列、电子表格、图形模型、及3-D物理模型。
9.根据权利要求6的系统,其中所述图形结构包括所述数据的确认。
10.根据权利要求1的系统,其中所述图形结构包括所述应用程序的处理逻辑和数据流。
11.根据权利要求1的系统,还包括用于显示所述图形结构的至少一部分的用户界面;其中所述图形结构定义所述部分的显示特征。
12.根据权利要求11的系统,其中所述用户界面还用于创建和编辑所述图形结构。
13.根据权利要求1的系统,还包括用于保存所述图形结构和所述解释器的永久介质。
14.根据权利要求1的系统,其中所述图形结构包括用于控制数据确认、变换和显示的顺序及时机的过程和控制单元。
15.根据权利要求1的系统,其中所述解释器通过改变保存在所述图形结构中的应用程序状态信息而对所述图形结构起作用,所述应用程序状态信息包括一个或多个暂时数据对象和永久数据对象。
16.根据权利要求1的系统,其中所述解释器同时对多个应用程序状态起作用。
17.根据权利要求1的系统,其中所述解释器通过在应用程序状态对象的组合之间归并或拆分应用程序状态信息起作用。
18.根据权利要求1的系统,还包括定义事务中进行的变化的审计信息;其中所述变化能够部分地或全部回退。
19.对象过程图系统,包括用于定义应用程序的图形结构,所述图形结构为复合层图形,所述图形结构包括多个结点和边缘;用于解释所述图形结构以处理所述应用程序的解释器;及用于提供用户界面的显示介质,所述用户界面能够接收所述图形结构的变化;其中所述图形结构能在其正由所述解释器解释的同时被改变。
20.根据权利要求19的系统,其中每一结点具有或合成或原语的结点类型。
21.根据权利要求19的系统,其中每一结点属于有向图和树,所述有向图定义与所述图形结构内的其它结点的关系,所述树定义合成层次。
22.根据权利要求19的系统,其中所述结点为对象的例图。
23.根据权利要求22的系统,其中每一对象具有对象类型过程类型或数据类型,所述过程类型为操作、报表、或应用,所述数据类型为原语数据、合成数据、阵列、图、或参考。
24.根据权利要求19的系统,其中每一结点具有或定义或例图的模板数据库类型。
25.根据权利要求23的系统,其中为具有数据类型的对象类型的对象的例图的每一结点具有持续时间特性,所述持续时间特性定义所述结点的寿命。
26.根据权利要求23的系统,其中为具有过程类型的对象类型的对象的例图的每一结点能够控制结点流经所述应用程序,并经所述显示介质创建、修改、和显示结点。
27.根据权利要求23的系统,其中作为对象类型为操作的对象的例图的每一结点代表结点流经所述应用程序中的至少一步骤。
28.根据权利要求23的系统,其中作为对象类型为应用的对象的例图的每一结点通过操作结点进行创建、修改或显示。
29.根据权利要求19的系统,其中所述图形结构包括至少一定义结点间关系的边缘。
30.根据权利要求29的系统,其中每一边缘具有边缘类型过程到过程、过程到数据、或数据到数据。
31.根据权利要求30的系统,其中每一所述过程到过程边缘类型具有子类型显示、队列、或批。
32.根据权利要求30的系统,其中每一所述数据到数据边缘类型具有子类型复制、计算、拆分、归并、或联结。
33.根据权利要求30的系统,其中每一所述过程到数据边缘类型具有子类型创建、取回、或执行。
34.根据权利要求19的系统,还包括至少一用于控制对所述应用程序的功能和数据的访问的用户对象。
35.根据权利要求34的系统,其中所述用户对象包括多个对象,每一对象具有相关联的访问权。
36.根据权利要求35的系统,其中所述访问权包括回退、读和写。
37.根据权利要求35的系统,其中所述对象之一属于审计类型。
38.根据权利要求19的系统,其中所述解释器能够动态地显示所述应用程序的可视方面。
39.根据权利要求19的系统,其中所述解释器解释所述图形结构以通过执行下述方法处理所述应用程序访问所述图形结构中的状态结点、过程结点、和数据结点;在所述图形结构中从第一应用程序状态变为第二应用程序状态;在所述显示介质上显示状态信息;接收用户输入;及根据所述用户输入改变所述图形结构的方面。
40.根据权利要求39的系统,其中从所述第一应用程序状态变为所述第二应用程序状态通过下述执行确定所述第一应用程序状态中的有效操作结点;找到从所述有效操作结点引出的任何第一边缘并执行与所述第一边缘相关的第一变换;确定所述第一应用程序状态中对应于数据例图的数据定义结点;找到从所述数据定义结点引出的任何第二边缘;及执行与所述第二边缘相关的第二变换。
41.对象过程图系统,包括用于定义应用程序的图形结构,所述图形结构为动态的、有向的和循环的,所述图形结构包括至少一数据结点;至少一过程结点;至少一应用程序状态结点;至少一用于定义所述图形结构中至少两结点之间的关系的关系边缘;及至少一用于定义所述图形结构中至少两结点之间的变换关系的变换边缘;及用于解释所述图形结构以处理所述应用程序的解释器;其中所述图形结构能在其正由解释器解释的同时被改变。
42.根据权利要求41的系统,其中在所述图形结构正由所述解释器解释的同时,所述图形结构能够响应于外部输入而被改变。
43.根据权利要求41的系统,其中所述图形结构包括用于所述应用程序的数据。
44.根据权利要求43的系统,其中所述数据包括永久和暂时数据。
45.根据权利要求43的系统,其中所述数据包括选自下组的数据结构关系表、层次表、n维数据阵列、电子表格、图形模型、及3-D物理模型。
46.根据权利要求43的系统,其中所述图形结构包括所述数据的确认。
47.根据权利要求41的系统,其中所述图形结构包括所述应用程序的处理逻辑和数据流。
48.根据权利要求41的系统,还包括用于显示所述图形结构的至少一部分的用户界面;其中所述图形结构定义所述部分的显示特征。
49.根据权利要求48的系统,其中所述用户界面还用于创建和编辑所述图形结构。
50.根据权利要求41的系统,还包括用于保存所述图形结构和所述解释器的永久介质。
51.根据权利要求41的系统,其中所述图形结构包括用于控制数据确认、变换和显示的顺序及时机的过程和控制单元。
52.根据权利要求41的系统,其中所述解释器通过改变保存在所述图形结构中的应用程序状态信息而对所述图形结构起作用,所述应用程序状态信息包括一个或多个暂时数据对象和永久数据对象。
53.根据权利要求41的系统,其中所述解释器同时对多个应用程序状态起作用。
54.根据权利要求41的系统,其中所述解释器通过在应用程序状态对象的组合之间归并或拆分应用程序状态信息起作用。
55.根据权利要求41的系统,还包括定义事务中进行的变化的审计信息;其中所述变化能够部分地或全部回退。
全文摘要
本发明提供了包括用于定义应用程序的对象过程图和解释对象过程图的动态图形解释器的软件系统。对象过程图定义所有应用程序操纵和处理步骤及所有应用程序数据。对象过程是动态的,使其可在任何时候改变应用程序的数据输入、处理或信息显示的任何方面。当对象过程图被解释时,其用于接受数据、处理数据和产生信息输出。在对象过程正被解释时对其进行的修改可立即生效并可保存。对象过程图和动态图形解释器可被部署在单一用户工作站计算机上或部署在分布式处理环境上,其中中央服务器保存对象过程图和运行动态图形解释器,工作站计算机经内联网或局部内联网访问服务器。
文档编号G06F9/44GK1993675SQ200580026525
公开日2007年7月4日 申请日期2005年5月27日 优先权日2004年6月5日
发明者斯蒂芬·艾伦·戈尔德, 戴维·马文·贝克, 弗拉迪米尔·古谢夫, 梁红平 申请人:图形公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1