对象过程图应用程序开发系统的制作方法

文档序号:6656769阅读:253来源:国知局
专利名称:对象过程图应用程序开发系统的制作方法
背景技术
本发明涉及能产生和编辑静态或动态计算机应用程序的软件应用程序开发工具和环境,其包括综合开发环境(IDE)、快速应用程序开发(RAD)系统、和图形用户界面(GUI)工具。具体地,本发明涉及对象过程图的产生和编辑,这将随后在本说明书中进行描述。
本申请与两个未决申请有关2005年5月20日申请的、题为“对象过程图系统”的美国专利申请10/908,654;及2005年5月20日申请的、题为“对象过程图应用程序控制器-查看器”的美国专利申请10/908,653。二者均全部组合于此。
由于20世纪50年代汇编语言的开发,计算机工业在软件开发方面已目睹了一系列的逐渐增长的进步。这些进步已使软件能够以更少的人工劳动更快地开发,并使可产生更复杂的软件系统和改善软件系统的可靠性。这些进步包括第3代编程语言如COBOL和Fortran的开发;第4代编程语言如FOCUS的开发;面向对象的编程语言如Smalltalk、C++和Java的开发;CASE工具如Rational Rose的开发;可视编程环境如Visual Basic和Web Sphere的开发;关系数据库系统如Oracle和DB2及面向对象的数据库系统如GemStone和Versant的开发。然而,尽管有这些进步,但大系统的开发仍然成本高昂且高风险冒险,其需要许多高度有经验的程序员,且在最终系统的质量和可应用性方面总是有相当的不确定性。
第5代编程语言及其相关的开发环境如LabVIEW和MATLABSimulink被设计来将使用第4代语言获得的开发生产率提高到下一级别。它们使非程序员能够明确地使用计算能力,其非常类似于他们的特殊问题领域。第5代语言环境的特征通常包括综合的永久数据管理系统、查询语言、报告发生器及用户界面定义设施,并可辅之以图形发生器、决策支持功能、财政建模、电子表格能力、静态分析功能和参数化的商业及领域模型。然而,第5代语言工具的最普遍的实施方式已高度以专门且相当窄的领域为目标,如仪器仪表数据获取(LabVIEW)、信号处理、过程控制、机械建模、微阵列数据处理、通信系统设计等。

发明内容
本发明定义和实现对象过程图应用程序开发系统。
一方面为对象过程图应用程序开发系统,包括对象过程图应用程序描述记法和对象过程图应用程序编辑器。记法提供一组关键字及相关的定义,其使开发人员能够定义所有应用程序数据和功能,包括但不限于数据结构、数据变换、处理步骤和计算。应用程序编辑器使用记法关键字的图标表示提供可编辑的应用程序图形表示。
另一方面为对象过程图应用程序开发系统,包括对象过程图应用程序描述记法、对象过程图应用程序编辑器、对象过程图应用程序窗口编辑器。记法定义关键字及其图标表示的含意。编辑器提供应用程序数据和过程信息的可编辑表示。窗口编辑器使应用程序开发人员或用户能够在应用程序正运行时产生和编辑应用程序的用户界面。
另一方面为对象过程图应用程序开发系统,包括对象过程图应用程序描述记法、对象过程图应用程序编辑器、对象过程图应用程序窗口编辑器和对象过程图应用程序界面。记法提供应用程序组成部分定义。应用程序编辑器提供对象过程图应用程序的可编辑图形表示。窗口编辑器向用户和开发人员提供在应用程序正运行时产生和编辑应用程序的用户界面所需要的功能。对象过程图应用程序界面提供界面功能的定义并实施使应用程序能直接与对象过程图应用程序连接的接入方法。
另一方面为开发计算机系统的方法和计算机程序产品。所述方法包括接收指定图结构中的元素的指令并响应于指令实时修改计算机程序。图结构为计算机程序。
另一方面为开发计算机系统的方法和计算机程序产品。所述方法包括将计算机程序生成为图结构并在用户界面屏幕上显示图结构的图形表示。指定图结构中的元素的指令被接收。响应于所述指令计算机程序被实时修改。此外,响应于所述指令对图结构进行更新。更新后的图结构的图形表示被显示在用户界面屏幕上。
本发明的示例性实施例包括许多优点,包括降低建立大型、复杂对象过程图应用程序系统的成本和风险。应用程序用户和应用程序领域专家均能够以最少的计算机培训开发和维护专用、复杂对象过程图应用程序系统。为大大扩大软件应用程序系统的范围、灵活性和有用性,可产生能在运行时间进行修改的应用程序。此外,本发明提供使可组合对象过程图应用程序和传统软件应用程序的界面。


本发明的这些及其它特征、方面和优点参照下面的描述、所附权利要求和附图将得以更好地理解,其中图1为根据本发明示例性实施例的对象过程图应用程序开发系统(OPGADS)。
图2为根据本发明示例性实施例的对象过程图应用程序编辑器(OPGAE)工作区,显示为Eclipse透视图。
图3为根据本发明示例性实施例的OPGAE例子。
图4为根据本发明示例性实施例的对象过程图(OPG)应用程序显示的例示。
图5为根据本发明示例性实施例的表明储存库视图的OPGAE工作区。
图6为根据本发明示例性实施例的用于储存库选择的应用程序定义向导窗口。
图7为根据本发明示例性实施例的用于应用程序名称输入的应用程序定义向导窗口。
图8为根据本发明示例性实施例的OPGAE。
图9示出了根据本发明示例性实施例从构造器选择OPG应用程序窗口编辑器(OPGAWE)。
图10示出了根据本发明示例性实施例从OPG默认应用程序显示窗口选择操作窗口。
图11为根据本发明示例性实施例的操作数据显示窗口。
图12示出了根据本发明示例性实施例从操作数据选择窗口启动OPGAWE。
图13为根据本发明示例性实施例的OPG操作数据窗口编辑器。
图14示出了根据本发明示例性实施例将应用程序框架增加到OPG应用程序窗口。
图15为根据本发明示例性实施例的扩展的动态模型视图控制器。
图16示出了根据本发明示例性实施例的应用程序数据显示特性。
图17示出了根据本发明示例性实施例的OPGAWE上的所选元素。
图18为根据本发明示例性实施例的数据可见性及编辑特性编辑器窗口。
图19示出了根据本发明示例性实施例的数据可见性及编辑特性编辑器组成部分。
图20示出了根据本发明示例性实施例的OPG图变换。
图21示出了根据本发明示例性实施例的记法编辑器图翻译范例。及图22为根据本发明示例性实施例的OPG应用程序开发者范例。
具体实施例方式
本发明的示例性实施例的各方面包括用于开发对象过程图(OPG)应用程序的完整环境。示例性实施例,如图1中所示,包括四个主要组成部分(图1)对象过程图应用程序描述记法(OPGADN)1、对象过程图应用程序编辑器(OPGAE)2、对象过程图应用程序窗口编辑器(OPGAWE)4和对象过程图应用程序界面(OPGAPI)3。OPGAE2和OPGAPI3与本说明书随后描述的OPG系统5紧密组合。
OPGADN1组成部分的示例性实施例包括一组关键字及相关的定义,其使应用程序开发人员、用户和领域专家能够完全定义应用程序的复杂处理步骤、数据操纵、变换和定义。关键字代表并映射到定义应用程序的OPG元素。
OPGAE2组成部分的示例性实施例为用于定义和更新OPG应用程序的全特征编辑环境。它们可被实施为独立或基于WEB的计算机软件系统。示例性实施例使用OPGAPI3定义的功能直接与OPG应用程序交互作用并通过动态图形解释器(DGI)修改OPG应用程序。它们将OPG应用程序的图形表示呈现给开发人员,所述图形表示与实际的OPG应用程序结构紧密相关。图形表示包括开发人员可用经键盘、计算机鼠标或其它输入设备输入的编辑指令进行操纵的图符和结构。
OPGAWE4组成部分的示例性实施例提供一“所见即所得”(WYSIWYG)类型的编辑器,用于更新OPG应用程序数据显示于其上的窗口的定义,并提供一特殊的编辑器,用于定义和修改数据元的可见性和易变性。在运行程序之前或在进行中即程序正由DGI解释时对窗口和显示特性进行变化。OPGAWE4的示例性实施例还提供用于开始、停止和监视OPG应用程序及用于评估和改变应用程序数据的指令。示例性实施例被实施为本说明书随后描述的OPG应用程序控制器-查看器系统(OPGACV)的模块。
OPGAPI3组成部分的示例性实施例定义由OPG翻译器实施的一组标准功能及相关参数,其包括使非OPG应用程序(如OPGAE2的实施例)能与OPG应用程序交互作用的标准OPG和DGI组成部分。OPGAPI3定义用于开始、停止、定义及修改OPG应用程序的功能。其还定义用于将数据输入到OPG应用程序并报告OPG应用程序的输出的功能。
对象过程图应用程序描述记法(OPGADN)在示例性实施例中,OPGADN1提供一组用于OPG应用程序的元素的关键字及相关定义。OPGADN1用于描述OPG应用程序编辑器的界面。其它记法,如通用建模语言(UML)也可通过修改一些UML符号的含意而用于定义OPG程序。此外,其它记法的编辑器可产生OPG程序描述,其可被翻译成OPG程序的可扩展标记语言(XML)描述。下述为示例OPGADN1术语的列表及其定义OPG应用程序-定义为可由OPG系统5中的DGI解释(运行)的OPG的计算机软件系统。OPG应用程序由数据结构、操作、及定义关系和数据变换的链接组成。
操作-定义暂时行动或程序行动或步骤的有序或无序可串行化或可并行化序列。操作大致对应于高级计算机程序内的代码行、工作流系统内的操作或步骤、或交互式或事务处理系统内的屏幕或窗口。
过程-分组一组操作并给予该分组名称的操作。OPG应用程序由一个或多个过程组成。
数据元-具有名称及单值或复值的数据项。
数据结构-分组一组原始数据元、数据结构、数据阵列和数据参考的数据元。所成组的项被称为属性。在程序内,数据结构可作为单一实体进行引用和操纵。
原始数据-具有类型且没有数据元子结构的数据元。原始数据元为数据结构的属性。原始数据元包括对其类型独一无二的显示和处理功能。一大组原始类型被预先定义,包括字符串、双精度型、整数、日期、文件、图象、映射、XML文件、计算的、计算的字符串、自定义类、电子邮件地址、网站地址、目录、电子表格单元、文件变换、长整数、大十进制、二进制、及关系表。另外的领域特有数据类型也可按需增加。
数据结构阵列-数据结构的同质n维阵列。数据阵列是数据结构的属性。
数据参考-数据结构的属性,其指向数据结构。数据参考可被定义使得它们可以为空值(1对0或1关系)或永远不为空值(1对1关系)。
应用程序状态-在应用程序运行中数据元值及有效操作的集合。
链接-定义两个OPG软件单元之间的变换关系(连接)的软件结构。有三种链接范畴操作到操作,其定义两个操作之间的关系;操作到数据,其定义操作和数据结构之间的关系;及数据到数据,其定义两个数据元之间的关系。所有链接具有定义其名称、方向等的特性。由链接定义的行动可在数据例图比较的基础上偶然发生。在每一链接范畴内有如下定义的链接类型。
显示链接-定义控制流从一操作到另一操作的方向的操作到操作链接。应用程序状态信息被显示为到接收操作的变迁的一部分。
队列链接-定义控制流从一操作到另一操作的方向的操作到操作链接。应用程序状态被放在接收操作的等待事件的队列中。
批链接-定义控制流从一操作到另一操作的方向的操作到操作链接。应用程序状态信息由接收操作立即处理。处理可被预定时间。
复制链接-定义将一数据元的值复制到另一数据元的数据到数据链接。这样的复制是知道数据类型的,即值转换和复制是隐含的。链接特性定义转换及其它复制条件。
计算链接-定义一组应用于数据元、产生新数据元的数据变换的数据到数据链接。计算链接提供复杂的数学公式和/或常规表示式以对任何数量的数据元作用从而计算另一数据元。
拆分链接-定义一应用程序状态中的数据元分布到一个或多个应用程序状态的数据到数据链接(应用程序状态如上所定义)。
归并链接-定义将一个或多个应用程序状态中的数据元集合到一个应用程序状态中的数据到数据链接。
联结链接-定义不同种类数据元的同时检索的数据到数据链接(类似于关系数据库管理系统(RDBMS)联结)。
创建链接-定义新数据结构的生成的操作到数据链接。
检索链接-定义数据元的检索及将它们随该操作添加到应用程序状态的操作到数据链接。
执行链接-定义程序代码的执行或包含在数据元内的关于该操作的控制结构的操作到数据链接。
对象过程图应用程序编辑器(OPGAE)下面提供了OPGAE2组成部分的示例性实施例的功能概观。所参考的图2-5为示出OPGAE2提供的工作区及OPG应用程序的图形模型被怎样显示的窗口图象。在示例性实施例中,OPGAE2被实施为Eclipse平台插件,其将工作区显示为Eclipse透视图。
在示例性实施例中,OPGAE2将工作区窗口内的OPG应用程序呈现在个人计算机(PC)显示器上。OPGAE工作区为图形用户界面(GUI)。OPGAE2从PC的鼠标或键盘接受用户输入。
OPGAE工作区在示例性实施例中,如图2中所示的实施例,OPGAE2提供Eclipse透视以在PC显示器上显示图象工作区。工作区使用户能够编写、选择和更新OPG应用程序。应用程序被继续保持在储存库中(数据源)。工作区使用户能够选择储存库和选择储存库中的应用程序。其还提供对应用程序的每一组成部分和链接的访问及对与所述组成部分和链接相关的特性的访问。用户通过使用PC的鼠标和键盘从所显示的列表进行选择并拖动和使组成部分落在工作区上而定义或修改应用程序。工作区显示(如Eclipse透视)由标准图形编辑框架(GEF)工具条12和六个专门视图组成调色板视图11、组成部分视图9、应用程序导航视图6、储存库视图(未示出)、组成部分概览视图7、及组成部分特性视图10。这些视图可在编辑器窗口中重新排列以适合用户的选择。图2示出了所述显示的默认排列。在图2中,应用程序导航视图6的标签被标记为“图逻辑”。应用程序导航视图6具有小的工具条8,其包括用于创建新应用程序的图符、打开现有图符的图符、恢复最近装入的应用程序版本(丢弃任何变化)并从视图删除所选项的图符。图2的排列将在下面更加详细的描述。
在示例性实施例中,应用程序组成部分、链接和原始数据属性均由图形符号表示。应用程序组成部分由矩形表示。表示组成部分的类型的符号显示在矩形的左上角。示例性的符号及它们所代表的组成部分被列在图2中的调色板视图11中。
OPG应用程序的一些样本组成部分被示出在图3所示的示例性OPGAE工作区中。在组成部分矩形放在组成画布14上时,组成部分13的名称位于矩形的最上面。组成部分矩形的其余部分为组成画布14,属性组成可被放于其上。当子组成部分15在包围组成部分的组成画布内时,组成部分矩形可被调整大小和改变位置。组成部分矩形具有四个用于链接的连接点16,每边一个。当组成部分矩形被选中时,它们被高亮显示。应用程序链接由链接线17表示。链接线17从组成部分矩形上的连接点16连到另一或同一组成部分矩形上的连接点16。链接线17一端具有箭头,其指向从属组成部分。数据属性由小的矩形代表,其包含在左侧的图符,图符后为属性名称。数据属性符号没有组成画布,因为它们不能有任何子组成部分。通过将PC上的鼠标光标定位在可选择的元素上并点击鼠标左键而在工作区上进行选择。
调色板视图11显示可成为应用程序一部分的OPG组成部分。当组成部分被选择时,光标被用该组成部分“装备”并在光标移过所选组成部分可被放于那里的组成视图9的区域上方时显示OK符号,或显示该组成部分不能放于那里的禁止符号。光标保持装备直到通过将光标定位在有效组成视图9上的所需位置并点击鼠标左键而选择所述元素的位置为止。通过点击调色板上的“选择”选项而可在任何时候使光标“解除”。此外,通过点击调色板视图11上的组成部分选择,光标可被装备以不同的组成部分。
调色板视图11提供下述组成部分选择操作、结构数据、结构数据阵列和数据。调色板视图11提供用于将一组成部分连到另一组成部分的链接选择及使可选择组成部分的组成画布14上的多个组成部分的选取框选择。在示例性实施例中,调色板视图11的默认位置在工作区的右侧。
组成视图9,如图4的示例性OPGAE工作区中所示的示例性组成视图9,在组成画布14上显示组成部分的图和/或属性。多个组成视图9可在同时打开。当它们被打开时它们以最近打开的组成视图9在栈的最上面的方式自动堆叠。在栈的最上面的组成视图9为“当前”视图。每一组成视图9具有带有其组成部分名称的标签。点击标签将使得其视图成为视图栈的最上面视图,从而使其可见和成为当前视图(定序组成部分在图4中进行选择)。在示例性实施例中,组成视图9为组成部分和连接可放于其上的画布。通过将鼠标左键点击在视图标签上的“X”上而关闭组成视图9。
显示在当前组成视图9上的组成部分或链接可通过在组成部分或链接图形上点击左键而进行选择。所选组成部分具有高亮显示的边框,在每一边上具有表示连接点的小正方形。所选组成部分可按需在组成画布14上调整大小或移动。组成视图9是最大的视图。在示例性实施例中,在默认排列情况下,组成视图9位于OPGAE工作区窗口的中央,调色板视图11在其右侧,应用程序导航器工具条8、组成部分概览视图7和组成部分特性视图10在左侧。
应用程序导航器视图6显示整个应用程序的树图,从而使可选择应用程序的任何组成部分。在应用程序树中的组成部分上双击鼠标左键将打开所选组成部分上的当前组成视图9。应用程序导航器工具条8上的选择标签具有标题“图形逻辑应用程序导航器”。
储存库视图18,如图5的示例性OPGAE工作区中所示的储存库,显示OPG应用程序可被保留于其中的OPG储存库的列表。在该OPGAE2的结构角度,储存库视图18是应用程序导航器工具条8的替换方案。二者中的任一个均可通过点击其各自的标签进行选择。
组成部分概览视图7的示例性实施例显示当前组成视图9中的组成部分的树图。点击组成部分概览视图7中的组成部分,选择(高亮显示)可见组成视图9中的组成部分。组成部分概览视图7位于工作区的左下侧,与组成部分特性视图位于同一区域。组成视图9可通过点击其标签进行选择。
当当前组成视图9上的组成部分或链接图符被选择时,如图4中所示的图符,其特性被显示在组成部分特性视图10上。特性被显示在列表上,特性名称在左列,其当前值在右列。在图4中,组成部分特性视图10被示出具有特性列表。不同的特性设置可与每一类型的组成部分或链接相关联。在示例性实施例中,组成部分特性视图10具有用于相关特性组的范畴标签以简化特性选择。
列表上每一特性的值均是可编辑的。在许多情况下,它们是具有所示有效选择的简单下拉列表。
组成部分特性视图10位于工作区的左下侧,与组成部分概览视图7在同一区域。组成部分特性视图10可通过点击其标签进行选择。
OPGAE编辑功能下述为本发明OPGAE2组成部分的示例性实施例提供的编辑功能列表定义应用程序-定义新应用程序的过程由应用程序定义向导控制。当OPGAE工具条上的新应用程序图符被点击时开始应用程序定义向导。应用程序定义向导首先显示储存库选择窗口,如图6中所示的窗口。在新应用程序将保存于其中的储存库被选择之后,应用程序定义向导显示应用程序名称输入窗口,如图7中所示的窗口。在应用程序名称被输入之后,应用程序定义向导显示应用程序定义窗口,其使用户能够提供应用程序描述信息,如用户是谁及密码以控制对编辑功能的访问。最后,应用程序定义向导使OPGAE2将新应用程序显示为组成视图9中的OPG组成部分,如图4中所示的那样,其提供用于定义应用程序的画布。应用程序导航器视图6在其应用程序树这将应用程序显示为最上面的条目(如图4中的“演示程序”)。
打开应用程序-打开现有应用程序的过程由应用程序定义向导控制。当OPGAE工具条上的打开应用程序图符被点击时开始应用程序定义向导。应用程序定义向导显示储存库选择窗口,如图6中所示的窗口,且当下一按钮被点击时,其显示备选应用程序的列表。
定义过程组成部分并将其添加到应用程序组成部分-同显示为当前组成视图9的应用程序一起,在调色板视图11上进行操作选择,操作被放在应用程序的组成画布14上。所放的过程变成应用程序的子过程。每一应用程序具有一组子过程。另外的过程可使用同样的程序添加到应用程序。过程的名称可通过点击其名称并输入新名称而在过程组成部分上直接改变。
定义操作组成部分并将其添加到过程组成部分-在调色板视图11上进行操作选择之后,操作可被放在当前组成视图9上显示的任何过程的组成画布14上。所放的操作成为其被放于之上的过程的子操作。每一过程具有一组子操作。
定义数据结构组成部分并将其添加到操作组成部分-在调色板视图11上进行数据结构选择之后,数据结构可被放在当前组成视图9上显示的任何操作的组成画布14上。
定义数据结构组成部分并将其添加到数据结构组成部分-在调色板视图11上进行数据结构选择之后,数据结构阵列可被放在当前组成视图9上显示的任何数据结构的组成画布14上。当数据结构阵列被放在数据结构的组成画布14上时,其成为其放于之上的数据结构的属性。
定义数据结构阵列组成部分并将其添加到数据结构组成部分-在调色板视图11进行数据结构阵列选择之后,原始数据可被放在当前组成视图9上显示的任何数据结构的组成画布14上。当数据结构阵列被放在数据结构的组成画布14上时,其成为其放于之上的数据结构的属性。
定义原始数据组成部分并将其添加到数据结构组成部分或数据结构阵列组成部分-在调色板视图11上进行原始数据选择之后,原始数据可被放在当前组成视图9上显示的任何数据结构或数据结构阵列的组成画布14上。当原始数据被放在数据结构的组成画布14上时,其成为其放于之上的数据结构的属性。
从OPG应用程序删除组成部分-在选择将要删除的组成部分之后,按压键盘上的删除键或选择语境菜单上的删除。
定义并添加两个组成部分之间的链接-在调色板视图11上进行链接选择之后,点击当前组成视图9上的“自”组成部分,然后点击“到”组成部分。OPGAE2将放置连接两个组成部分的线,其从“自”组成部分上的连接点16到“到”组成部分上的连接点。如果需要,链接两端可被移到不同的连接点16。由OPGAE2放置的链接将属于适当的“自”和“到”组成部分范畴,即过程到过程、过程到数据或数据到数据链接。通过点击链接以选择其然后改变组成部分特性视图7上的类型特性而可改变连接类型。
OPGAE设计描述在示例性实施例中,OPGAE2被实施为Eclipse平台插件,并基于如图8所示的经典模型视图控制器(MVC)框架。OPGAPI图形翻译器(GT)23将OPG应用程序从OPG系统5翻译为记法编辑器图形(NEG)24(该翻译将在下面作为包含于此的OPGAPI3描述的一部分进行描述)。OPGAE控制器21将NEG24转换为OPGAE图形模型22,OPGAE视图20和OPGAE控制器21组成部分相互作用从而使OPG应用程序和/或OPG应用程序的部分呈现在显示介质上。在示例性实施例中,OPGAE视图20和OPGAE控制器21均基于Eclipse GEF。OPGAE图形模型22还使OPGAE控制器21能够确认用户输入并动态确定用户可用的选项。
OPGAE视图20组成部分将OPG应用程序的图形模型呈现为显示介质上的简图(如图形符号及控制的排列)。OPGAE视图20可将完整的OPG应用程序显示为一组相关的顶级元素,这些元素可被递归地分解为其构成部分。当OPGAE控制器21被通知用户已通过图形控制之一选择更加详细地检查应用程序元素时,其请求OPGAE视图20呈递模型的所选部分。这样,用户可将所显示的OPG应用程序或应用程序的部分定位到任何所需的细节水平。
除了指示OPGAE视图20组成部分在显示介质上呈递所有或部分OPG应用程序并将NEG转换为图形模型之外,OPGAE控制器21组成部分还负责处理用户输入和选择。在示例性实施例中,用户请求包括创建或删除应用程序元素,如操作和数据阵列,或改变应用程序元素之间的关系。用户还可增加或消除合成数据结点的属性并更新任何应用程序实体的特性。OPGAE控制器经OPGAE模型呈现的图形模型的功能与OPG应用程序相互作用。
对象过程图应用程序窗口编辑器(OPGAWE)功能概述这部分提供了OPGAWE4的功能概述。所参考的附图,即图9-14均为示出数据显示窗口和OPG应用程序上的显示特性可怎样作为定义应用程序的一部分或作为实际上正在运行的程序进行编辑的窗口图象。
OPGAWE4提供WYSIWYG类型的编辑器。在示例性实施例中,如图9中所示,编辑器从OPG系统5的“构造器”窗口开始。此外,或者,如图10中所示,编辑器从运行OPG应用程序窗口开始。当编辑器从OPG系统5中的构造器窗口开始时,应用程序操作被选择。“窗口编辑器”菜单项,如图9中所示之一,用于选择OPGAWE4。当OPGAWE4以这种方式启动时对窗口和数据显示特性所做的改变将应用于随后由相关应用程序操作处理的所有事务的数据。
当编辑器从运行应用程序开始时,在OPG系统应用程序显示窗口上的应用程序操作处的事务被首先选择(见如图10中的事务标识符链接)。这使得OPG系统5在其当前操作显示具有事务数据的应用程序窗口。例如,参见图11,其中显示在窗口上的数据根据当前窗口格式化特性进行格式化。当前窗口格式化特性大概具有三个不同的来源。窗口格式化特性的第一来源是应用程序或作为在当前操作的事务的一部分的数据的默认数据显示特性。这是特性的最低优先来源。窗口格式化特性的第二来源为操作特有的显示特性,其仅应用于在所选操作的事务数据。这是特性的下一最高优先来源,其优先于应用程序特性。窗口格式化特性的第三来源是事务特有的显示特性,其仅应用于在当前操作的所选事务的数据。OPGAWE4可被用于编辑这些特性组中任一组的窗口和数据显示格式化特性。
在示例性实施例中,OPGAWE4通过选择窗口编辑器下拉列表上的特性来源之一而从应用程序数据显示窗口启动,其为应用程序数据显示窗口上的控制。参见图12,其为从操作数据显示窗口启动窗口编辑器的用户界面的示例性实施例。
在示例性实施例中,如图13中所示,OPGAWE4在窗口的组成画布14上方显示编辑功能工具条。组成画布14中的窗口将使用所选来源的窗口和数据显示特性显示窗口。工具条提供许多通常由传统窗口编辑器提供的功能,且它们以类似的方式行使职责。在编辑会话期间,数据显示实体被选择,一个或多个工具条功能可通过点击工具条图符而应用于它们。例如,显示在字段中的文本可通过选择较大字体而变大或可变成斜体。数据显示实体也可按需在窗口上移来移去和/或从视图隐藏。
OPGAWE工具条的示例性实施例还提供简单的图形元素,如线、框、圆圈、及标注,其可放在窗口上并按需调整大小。文本可按需打入标注内。
另外的永久数据项及其相关的显示字段可被添加到窗口及其应用程序,其通过点击工具条最右边的数据元图符进行。数据项可以是简单的数据输入字段、图象或文件链接,如电子表格或字处理器文档。如此,添加到窗口的数据项或链接成为应用程序的永久部分。
应用程序框架也可通过点击工具条最右边的应用程序框架图符并选择文件类型特性而添加到窗口。应用程序框架提供与OPG应用程序语境内的应用程序一起工作的方式。例如,如图14中所示,电子表格可被载入OPG系统5并显示在应用程序窗口上的框架内。之后,用户可对电子表格中的数据进行变化并将它们保存在OPG数据库中。用户可选择将更新的电子表格保存回其在主机系统的文件系统中的原始位置。当应用程序框架被添加到窗口时,应用程序在工作站上必须可用。工作站需要浏览器启动应用程序。
当窗口和数据显示特性编辑被完成时,通过点击软盘图符保存变化,其在工具条的最左边。
OPGAWE描述本发明的示例性实施例,如图15中所示,用作动态模型视图控制器(DMVC)26的组成部分。DMVC26为通过将OPG应用程序控制器(OPGAC)28和对象过程图应用程序查看器(OPGAV)29与OPG系统(对象过程图(OPG)和动态图形解释器(DGI))26合成形成的应用程序结构。该动态应用程序结构表明OPG应用程序的运行例图。动态图形解释器(DGI)将在随后描述。OPGAC28通过下述步骤控制应用程序的运行处理来自用户或其它系统的输入数据、指令/选择;经OPGAV29启动信息的显示或输出,命令DGI27启动应用程序状态变迁,及控制OPG应用程序描述的输入和输出。OPGAC28为DMVC26的控制器组成部分。
OPGAV29为DMVC26的视图组成部分。其从OPGAC28接收显示/输出指令以将应用程序OPG呈现在显示介质和/或输出设备上。所呈现的OPG提供经选择和输入控制与应用程序相互作用的手段。它们还在其适当的上下文中显示应用程序状态对象并提供查看和更新它们的内容的方式。
DMVC26的另一元素,OPG系统27用作模型组成部分。其与OPGAC28和OPGAV29结合在一起。OPG定义应用程序的复杂处理步骤和数据,并提供对应用程序的永久和暂时数据的存储。DGI提供由OPGAC28和OPGAV29调用的功能以运行OPG定义的应用程序。
本发明的一个示例性实施例(图1)使OPGAC28和OPGAV29与OPG系统27结合以形成基于Jakarta Struts WEB应用程序框架的动态模型查看控制器(DMVC)5应用程序结构。DMVC26能够提供计算设备如个人计算机(PC)上的显示。组合在本示例性实施例中的其它技术包括级联样式表(CSS)、动态HTML(DHTM)、Java文档模型(JDOM)、Java服务器页面(JSP)、Struts Tiles等。当然,其它实施例也可用多种其它应用程序框架和技术实施。
在该示例性实施例中,OPGAC28控制功能用基于Struts的行动和表单类实现。行动类解释用户选择、指令和输入数据并与DGI27相互作用及命令DGI27更新应用程序状态对象,执行状态确认。同样,基于应用程序状态对象和应用程序的OPG中的过程控制对象,OPGAC28指示DGI将应用程序状态与下一有效操作相关联。执行这些功能与运行传统的软件应用程序相似。表单类实现对OPG数据对象的标准Java Bean界面接入并提供对用于OPGAC2评价的用户输入数据的访问。
OPGAWE4使DMVC26的应用程序会话事务控制流特殊化,从而使用户可修改OPG应用程序窗口的数据显示特性并使这些改变成为永久变化。从OPG系统5的观点,其用作DMVC26的模型组成部分,保存显示特性与保存任何其它数据特性一样。组合在该示例性实施例中的技术包括Jakarta Struts WEB应用程序框架、级联样式表(CSS)、动态超文本链接标示语言(DHTML)、Java文档模型(JDOM)、Java服务器页面(JSP)和Struts Tiles。
OPGAWE4扩展DMVC26的控制器组成部分OPGAC28和视图组成部分OPGAV29。OPGAC28以两种方式进行扩展。首先,功能被添加到OPGAC28以响应于来自或构造器窗口或运行应用程序的窗口的启动OPGAWE4的请求。当OPGAC28接收对于OPGAWE4的请求时,其指示OPGAV29创建动态实时OPGAWE4并将其传送给用户的因特网浏览器。在示例性实施例中,OPGAWE4是JSP,其结合写入JavaScript的用户事件处理器31、应用程序窗口数据元、或编码为CSS的数据元类型特性32及OPGAWE4工具条控制33。JSP被编译到DHTML页面中并由因特网应用程序服务器发送给用户的浏览器。OPGAC28的另一扩展为OPGAWE4的用户事件处理器31组成部分。用户事件处理器31为OPGAC28的逻辑扩展,因为其不是OPGAC28的直接组成部分,且其在用户的PC或其它终端用户计算设备上运行。用户事件处理器31是响应于用户事件如鼠标点击和鼠标移动的功能集,其由用户的因特网浏览器检测并对数据元类型特性32中的定义进行改变。
OPGAV29也以两种方式扩展。第一,特殊的OPGAWE4JSP被包括在OPGAV29中。第二,编码为CSS的数据元类型特性32和编辑器工具条控制33,其为OPGAWE4的组成部分,均为OPGAV29的逻辑扩展,因为它们执行视图功能并在用户的PC上运行。
图16示出了示例性的应用程序数据显示特性,对于OPG应用程序窗口上显示的每一(复合或基本)数据元均可定义显示特性。每一数据元具有两个组成部分名称34和值35(图17中所示的示例性实施例还识别OPGAWE窗口上的数据元的组成部分),每一组成部分具有一组编码为CSS字符串的显示特性。显示特性36的例子包括高度、长度、位置、颜色和字体。
显示特性36是应用程序的OPG37中的永久数据定义的一部分。在示例性实施例中,有三组这样的特性应用程序、操作和事务,它们由DGI合成为一组为OPGAV29使用。DGI6提供每一原始数据元的显示特性38和保存在OPG应用程序状态数据例图37中的安全约束条件39。原始数据显示特性包括元素将被呈现在显示器上的位置、元素的长度和高度等。安全约束条件包括元素是否应被显示或其是否能被编辑等。
在该示例性实施例中,显示和安全特性可以三种级别进行定义应用程序、操作和应用程序例图。应用程序例图特性具有最高优先级。如果存在,它们取代应用程序和操作特性。操作特性具有次优先级。如果存在,它们取代应用程序特性。应用程序例图特性应用于运行应用程序的单一例图的应用程序数据。操作特性应用于运行应用程序的所有例图,但仅在特定操作的上下文内。应用程序特性43在应用程序的上下文内应用,即应用程序的所有例图。显示和安全特性合成功能根据应用程序例图的当前状态(语境)确定将使用哪些特性。
用户可将可选数据元或图形如线和框添加到OPG应用程序。OPG系统5提供用于每一窗口的可选数据结构,这些数据元可在所述窗口中被使得成为永久数据元。这些可选数据元可以与预定OPG应用程序窗口元素被编辑的相同方式进行编辑。
当用户编辑OPG应用程序窗口时,如图16中所示,变化被立即实时处理和显示。用户行动如鼠标点击、在保持左键按下的同时移动鼠标、或点击编辑器工具条控制33的控制元素如色彩下拉均由用户的因特网浏览器作为用户事件接收。之后,浏览器调用用户事件处理器31的适当功能以处理所述事件。用户事件处理器31在用户会话语境中解释事件,即用户已经完成什么。例如,如果用户点击数据元名称或值组成部分,用户事件处理器31将事件解释为组成部分选择。响应于所述选择,用户事件处理器31将改变所选组成部分的CSS中的值,使得选择边框将被擦除,并改变新选择的元素的CSS中的值,使得其选择边框被显示,且其保存指向所选元素的指针。图17中所示的示例性实施例示出了所选的数据值元素。一旦选择元素,则工具条上的编辑功能或调整大小或移动行动可应用于该特定元素。编辑功能的处理遵循普通模式。在每一情况下,用户事件处理器31转换用户事件以编辑请求功能并修改数据元类型特性32,这使得变化将被立即显示。
当用户编辑OPG应用程序窗口的内容时,变化保留在用户的PC本地,直到它们被使得在OPG应用程序中成为永久为止。用户可回退到上一变成永久的窗口状态,其实质上是撤销还原功能。
数据可见性和编辑特性编辑器功能数据可见性和编辑特性编辑器可从应用程序显示窗口如图11中所示的窗口或经如图13中所示的OPGAWE窗口经最左边的图符(在图13上标识)进行访问。数据可见性和编辑编辑器的示例性实施例,如图18中所示,提供数据结构和元素的树型显示,其为在当前操作的事务数据的一部分。每一结构在其名称右边具有两组选择控制。第一组具有标记为“d”、“e”和“c”的三个复选框。“d”框控制项目是否将被显示在应用程序数据显示窗口和OPGAWE窗口上。“e”框控制项目是否可在应用程序数据显示窗口上进行编辑。“c”控制项目的子属性是否将被显示。这仅应用于数据结构。第二组具有标记为“o”和“t”的两个选择图符。选择图符在被点击时从“+”切换为“X”。“+”图符表明项目不应用,“X”表明其应用。“o”选择表明第一组控制中的数据可见性和编辑选择仅在所选操作内应用,“t”表明其仅应用于所选事务。如果二者均未被选中,这意味着可见性和编辑选择应用于整个应用程序的特定数据项。
数据可见性编辑特性编辑器描述示例性实施例包括DMVC26的例图。编辑器可从运行OPG应用程序窗口或OPGAWE窗口选择。如图19中所示,编辑器包括数据可见性和编辑特性编辑器视图38组成部分,其限定OPGAV29的范围。可见性和编辑特性均为OPG应用程序中其相关数据元的布尔特性。使用编辑器,特性可被改变并在OPG应用程序中被使得成为永久特性。
OPGAWE4及数据可见性和编辑特性编辑器视图38使应用程序开发人员、用户和设计专家可调整应用程序的数据显示窗口的可视方面。编辑器使在每一开发阶段期间均可快速开发和更新应用程序的用户界面以解决变化的需求。当应用程序实际上在使用中时,用户和领域专家可改变窗口的可视方面和/或添加到应用程序显示的设计以满足特定需要。他们还可将数据元添加到应用程序的永久数据。可进行变化,使得它们应用于应用程序的所有随后的运行或仅应用于运行应用程序的一个组成部分的例图。这些运行时期编辑特征将OPG系统5的适应性扩展到对数据要求的特别变化经常发生的领域,如实验室信息的管理。在所有领域中,用户能够与他们使用的信息系统相互作用以获得更高水平的实用性。
对象过程图应用程序界面(OPGAPI)在示例性实施例中,OPGAPI3包括记法编辑器图(NEG)41和图形翻译器(GT)43。这些组成部分均在图20的完整编辑系统的上下文中示出。这些组成部分均被特殊设计以提供上述OPGAE2所需的支持功能。对于基于其它记法如通用建模语言(UML)的可供选择的编辑器,使用该实施例描述的相同实施框架,其它OPGAPI均是可能的。
GT43和NEG41支持上述的OPGAE2的编辑功能。记法编辑器图形模型39由OPGAE2创建。在示例性实施例中,其包含在用户的显示器上呈现OPG应用程序的图形表示所需要的图形软件元素。
当用户选择要编辑的应用程序时OPGAE编辑会话开始。选择使OPGAE2指令GT43将应用程序的OPG42转换为NEG41。初始转换创建OPG应用程序的NEG41的部分填充的基本例图。随后,当用户操纵并改变OPG应用程序的图形表示时,OPGAE2与NEG41相互作用以保持其与应用程序的用户视图一致,这包括添加和删除结点和边缘。当用户指令OPGAE2保存变化时,OPGAE2指令GT43将对NEG41做出的任何变化转换为永久OPG应用程序的更新。OPGAE2还可指令GT43将NEG41还原到被使得成为永久的上一版本。
OPG42和NEG41均为由包括一组有向图的有向图和一组树组成的复合层图。图内的每一结点属于有向图和树。每一结点属于其的有向图定义其与图内其它结点的关系。结点属于其的树定义其所属于的合成层次。结点可属于多个有向图及多个合成层次。与OPG不同,NEG41不是永久的;GT43从OPG42创建NEG41所需要的特殊NEG元素在OPG42中均是永久的。NEG41的主要目的在于维持特定编辑会话的状态,且其仅在其相关会话的生存周期期间存在。当编辑继续进行时,对应于OPG42的结点和边缘组成部分的NEG组成部分被例示或删除。NEG组成部分功能为了面向编辑器的功能而进行优化。另一方面,OPG组成部分功能被优化从而解释(运行)应用程序,在一些情况下,NEG41支持OPG42内的子图的简化或更概念上的视图,特别是关于数据变换和对复杂数据结构的访问。
OPG数据结点包括将要执行的数据访问的详细定义,如数据结构的基准。图21示出了这样的基准的例子。如此,OPG42包括记法编辑器基准边44,其被DGI忽略但被GT43用于在NEG41中构建从数据结点X到数据结点Y的概念参考(即记法编辑器基准边45)。OPGAE2从NEG41创建呈现正确类型的数据结构之间的链接的记法编辑器图形模型39,其为用户46可识别的颜色。记法编辑器基准边44在OPG42中是永久的。代表特殊记法编辑器概念的其它图元由OPG42提供。
OPG42还将OPGAE记法编辑器图形模型39中的元素的显示特性保存在OPG应用程序内的特殊结构中。GT43按需在转换期间在图形之间移动显示特性。这使得OPGAE2可在编辑会话之间保持OPG应用程序的图形表示的元素排列。显示特性包括图元的大小和形状及其在合成画布上的位置。
GT43确保OPG42和NEG41在每次用户保存图形模型的变化时均是一致的。其基于两个图形结构之间的差对DGI产生添加、消除和更新指令。
GT43使OPG42和NEG41的详细设计相互隔离。因而,对任一结构所做的改变的影响将被正常地限制到GT43。
OPGAPI3由其它应用程序系统用于产生、修改和删除OPG应用程序。其还可用于以其它电子形式呈现OPG应用程序,如HTML和/或XML。
OPGAPI3功能在下面列成两组由GT43实现的功能和由NEG41实现的功能。总体上,GT功能影响整个图,而NEG功能影响图的元素或子图。每一功能的简要描述和任何所需的参数均被包括。提供检查功能,其指明功能是否能被执行从而给出应用程序的OPG的当前状态或OPG42的子图及应用于该功能的OPG规则。这使编辑器能够向用户提供可视提示。名称参数用点记法定义,其以应用程序名称开始,名称后为OPG中下至感兴趣结点的结点名称。OPG应用程序的结点结构及其命名约定在对象过程图系统专利申请中描述。下述为结点名称的例子″payroll.department.employee.name″。
GT功能(影响应用程序的全部图)创建应用程序(应用程序名称)-创建应用程序并给予指定名称。应用程序由应用程序结点代表。应用程序名称在OPG系统上必须是唯一的。
删除应用程序(应用程序名称)-删除名称指定的应用程序。作为应用程序的一部分的所有结点也被删除。具有运行例图的应用程序不能删除。
装入应用程序(应用程序名称)-将命名的应用程序变换为提供下述功能的NEG41。
保存应用程序(应用程序名称)-将对应用程序的NEG41所做的任何改变保存为其OPG42的永久变化。
NEG功能(影响特定过程结点、数据结点或子图)添加过程结点(双亲结点名称、结点名称、过程结点类型)-按过程结点类型所指定的创建或新操作或报告结点,并将其添加到过程结点的双亲结点组。双亲结点必须是过程结点。结点名称在双亲过程结点组内必须是唯一的。
能添加过程结点(双亲结点名称、过程结点类型)-确定指定类型的过程结点能否被添加到指定的双亲。该功能返回真或假回答。
删除过程结点(双亲结点、结点名称)-从过程结点的指定双亲组删除指定结点。其从OPG42删除结点及其所有相关结点和其所有有关边缘。
能删除过程结点(双亲结点名称、结点名称)-确定指定过程结点能否从过程结点的指定双亲组删除。该功能返回真或假回答。
删除数据定义结点(双亲结点名称、结点名称)-从数据结点的指定双亲组删除指定结点。其删除该结点及所有其相关结点和所有其有关边缘。
能删除数据定义结点(双亲结点名称、结点名称)-确定指定结点能否从数据结点的指定双亲组删除。该功能返回真或假回答。
添加数据定义结点(双亲结点名称、结点名称、数据结点类型)-创建指定名称和类型的数据结点。如果指定双亲是数据结点,数据结点可以是合成数据结点(具有子结点的结点)或原始数据结点(没有子结点的结点)。如果指定双亲是过程结点,则数据结点必须是合成数据结点。
能添加数据定义结点(双亲结点名称、结点名称)-确定指定数据结点能否从指定双亲结点删除。该功能返回真或假回答。
修改结点特性(结点名称、特性名称、新特性值)-将指定结点的指定特性的值设为新的特性值。
能修改结点特性(结点名称、特性名称、新特性值)-确定指定结点的指定特性的值能否被设为新的特性值。该功能返回真或假回答。
添加边缘(从结点名称、到结点名称、边缘名称)-用出向边缘的从结点组的指定名称创建新边缘并将其添加到入向边缘的到结点组。OPG边缘类别过程到过程、过程到数据或数据到数据之一的边缘基于到和从结点类型自动创建。
能添加边缘(从结点名称、到结点名称、边缘名称)-确定新边缘能否被添加到出向边缘的从结点组和入向边缘的到结点组。该功能返回真或假回答。
删除边缘(从结点名称、到结点名称、边缘名称)-删除指定边缘及其“从”结点和“到”结点参考。
能删除边缘(从结点名称、到结点名称、边缘名称)-确定指定边缘和“从”结点及“到”结点参考能否被删除。该功能返回真或假回答。
修改边缘的类型(从结点名称、到结点名称、边缘名称、边缘类型)-将指定边缘的类型改为指定的边缘类型。所定义的边缘类型对于指定边缘的类别必须是有效的。下面为每一边缘类别的有效边缘类型过程到过程边缘无条件显示无条件队列无条件批处理有条件显示有条件队列有条件批处理过程到数据边缘创建数据数据到数据边缘将数据移到从…获得数据归并数据拆分数据取回数据用…计算联结数据能修改边缘的类型(从结点名称、到结点名称、边缘名称、边缘类型)-确定指定边缘的类型能否被改为指定的边缘类型。所定义的边缘对指定的边缘类别必须是有效的。该功能返回真或假回答。
修改边缘特性(边缘结点名称、特性名称、新特性值)-将指定边缘的指定特性的值设为新的特性值。
能修改边缘特性(结点名称、特性名称、新特性值)-确定指定边缘的指定特性的值能否被改为指定的新特性值。该功能返回真或假回答。
示例性的OPG应用程序开发系统(OPGADS)创建过程下面为创建OPGADS的示例性过程的描述,这样的系统已在上面进行定义和描述。包括于此的是该过程的一实施例,其它实施方式也是可能的。
假定存在OPGADS是其一部分的OPG系统5实施例,用以构建和运行OPGADS系统的硬件/操作系统平台、编程框架、数据库和/或文件系统及显示介质的初始设置被选择。这些所选项目必须与用于构建OPG系统实施例的相同或与其兼容。在一示例性实施例中,使用在基于Intel的计算机硬件上运行的Windows XP操作系统。此外,来自Sun Microsystems的Java编程语言、来自Eclipse Foundation的Eclipse工具平台、来自Eclipse Foundation的GEF和Draw2D框架、Jakarta Struts框架、Java服务器页面(JSP)和级联样式表(CSS)也被用于开发OPGADS系统。该示例性实施例将无编程变化的在正运行Windows XP、Linux、Solaris 8、AIX、HP-UX和MAC-OSX操作系统的硬件平台上运行。应注意,上述操作系统、应用程序平台和编程语言工具仅代表可用于创建和运行本发明示例性实施例的开发和操作系统的一种可能配置。
使用上面对本发明的概述和描述以及附图,对于示例性实施例,OPGADS的三个主要软件组成部分可按下面几个自然段的描述实现。其它实施方式也是可能的。OPGAPI3应被首先实施,因为在将OPGAE2连到OPG系统5时需要其。为实现此,定义一个或多个类别及适当的类别层次,其将涵盖GT43的功能。
为实现OPGAE2,基于GEF和Draw2D框架的代表模型、视图和控制器元素的三个类别组被定义。图22示出了这些类别的示例性排列。
OPGAV29组成部分由图22中的图类代表,其是GEF图类的延伸。图类表示用户域的记法。在图22所示的示例性实施例中,视图以五类实现数据图、结构数据图、数据阵列图、结构数据阵列图和结构操作图。
OPGADS控制器组成部分以四组类别实现编辑器、编辑部分、编辑策略和指令。在示例性实施例中,有一个编辑器类和五个编辑部分类数据部分、数据阵列部分、结构数据部分、结构数据阵列部分和结构操作部分。此外,有三个编辑策略类元素组成部分编辑策略、元素容器编辑策略和元素XY布置编辑策略。此外,有五个指令类添加指令、连接指令、创建指令、删除指令和设置约束条件指令。
模型组成部分以两组类别实现图形模型和OPG模型。有五个图形模型类数据、数据阵列、结构数据、结构数据阵列、结构操作类。有三个OPG模型类网络结点、网络链接和用户网络。
在示例性实施例中,如前所述,OPGAWE4被实施为OPGACV的延伸。这有助于直接与运行OPG程序连接。OPGAWE4的编辑器功能由编辑器类别实现,其是OPGACV的会话行动类的延伸。编辑器工具条用CSS样式表实现。OPGACV的应用程序数据显示JSP和CSS样式表被用于在OPGAWE4的WYSIWYG编辑器中显示应用程序的数据。
最后,在示例性实施例中,使用户能够在OPG应用程序窗口内定义应用程序框架的OPG特征可如下述实施。在OPGAWE4中需要框架定义选项以在窗口内定义框架。用户将定义文件类型,其暗示应用程序。在运行期间,用户通过点击框架启动应用程序,这将导致InternetExplorer浏览器启动应用程序。当用户完成程序时,用户可在OPG数据库中的临时位置保存更新的文件。OPG类别和DGI功能可被实施以执行这些功能。此外,小的Java程序必须被实施以支持该特征。程序将在其自己的线程上运行并将定期在特殊的OPG位置寻找定义用户请求的指令以保存应用程序变化。当其发现这样的指示时,其将相关的文件从其本地OPG位置移到其原始的源位置。
对象过程图描述OPG37是OPG系统5即完整的应用程序开发和运行环境的定义组成部分。其它组成部分包括解释或运行OPG37定义的应用程序的DGI和用于创建和修改OPG37的图形用户界面。
OPG的示例性实施例可被视为计算机语言(其是Turing完成),其被解释为所运行的程序。OPG37保存在暂时及永久计算机存储器中。OPG37可保存任何数据结构,包括但不限于关系表、层次表、n维数据阵列、电子表格、图形模型和3D物理模型。这些数据结构不被保存为关系数据库系统中普遍的二进制大对象,而是影响它们的最初结构和内部关系的特殊OPG结构。OPG过程和控制结构提供对应用程序内永久和瞬时数据确认、变换和显示的顺序和定时的控制。OPG结构还定义数学公式、常规表示式(在文字数据或混合数字和文字的数据的情形下)及完整的算法。
应用程序的OPG37可被绘制在计算机终端或静态输出介质如纸上。显示在交互式介质上的OPG数据、过程和控制结构可被编辑。与传统的软件开发系统不同,编辑应用程序的OPG37不产生必须被编译和安装的代码。而是,做出改变并立即生效。改变甚至可在DGI正进行解释(运行应用程序)时进行。随时安全改变应用程序的能力对于大型、复杂的企业级应用系统的快速开发和长期维护是需要的。
在OPG37中的所有应用程序执行状态信息被保存在应用程序状态对象中。DGI通过改变其保存的应用程序状态信息而作用于OPG37。应用程序状态信息可包括任何永久数据对象。DGI可同时对多个应用程序状态作用,在应用程序状态对象的组合之间合并或拆分状态信息。
OPG37以原始数据级为应用程序中的所有永久和瞬时数据变化保留审计追踪信息。审计追踪信息很容易用于经显示控制显示在用户界面上或用于应用程序的过程和数据流的进一步更新和操控。
定义长及短事务中进行的变化的审计信息被保留和追踪应用程序的永久数据的所有变化。长事务使系统能够组织、控制和跟踪所有永久数据的变化。这些变化可在许多工作会话中跨延长的时间段(几天或几周)出现。另一方面,短事务在单一用户会话或与系统相互作用期间进行。长和短事务信息立即可经系统的图形用户界面用于应用程序内的操控和显示。追踪长事务还有助于回退到事务中的任何点,(使用审计追踪)事务的删除经应用程序界面自动可用。通过系统界面可对用户对应用程序内的所有功能和数据的访问进行控制。这包括每一用户对确定为应用程序的一部分的每一原始数据项的分开访问权限(读、写、回退)。
除了经用户界面输入或改变数据以外,系统的实施例还接受来自其它系统的、任何数字格式的、对应用进程的输入数据。
一些实施例包括GUI。GUI使用户能够指明所有输入的格式,其随后被自动分析和用于更新应用程序-在应用程序进程的任何点添加到或修改数据库中的永久数据或应用程序或显示界面中的瞬时数据。
同样,输出数据可从应用程序的任何点以任何格式产生(对于永久或瞬时数据),其使用与上面各个实施例相反的过程进行。在一些实施例中,外部数据库如关系数据库可向应用程序注册,应用程序内的所有永久数据可被保存在这样的数据库中或从其取回。
示例性实施例的OPG37组成部分的实施例扩展了传统的面向图形对象的数据库的基本功能。本发明的实施例将动态过程单元的功能和面向图形对象的数据库合成为单一集成系统,这使得可快速产生完整的、复杂的企业级应用程序,而不使用传统的编程语言。OPG37被直接和动态地解释,因此不需要产生代码。改变OPG37的容易及对改变的立即反馈大大简化了基于OPG的应用程序的维护和改变。
尽管本发明已参考某些实施例进行相当详细的描述,其它实施例也是可能的。例如,不同的操作系统、编程语言和软件体系结构可用于实施本发明的实施例。因此,所附权利要求的精神和范围不应限于在此包含的实施例的描述。
如上所述,本发明的实施例可体现为硬件、软件、固件形式或用于实现实施例的任何方法和/或装置。本发明的实施例还可体现为计算机程序代码的形式,其包含存储在有形介质如软盘、CD-ROM、硬盘、或任何其它计算机可读存储介质中的指令,其中,当计算机程序代码被装入计算机并由计算机执行时,计算机成为实施本发明的装置。本发明还可体现为计算机程序代码的形式,例如,无论是保存在存储介质中、装入计算机和/或有计算机执行,还是在一些传输介质如在电线或电缆上、通过光纤、或经电磁辐射进行传输,其中,当计算机程序代码被装入计算机并由计算机执行时,计算机成为实施本发明的装置。当实施在通用微处理器上时,计算机程序代码段配置微处理器以产生特定的逻辑电路。
在本发明已结合示例性实施例进行描述的同时,本领域技术人员将理解,可进行许多变化或等价替代其中的组成部分,而不会背离本发明的范围。此外,可进行许多修改以使特定的情形或材料适应本发明的教义,而不背离本发明的实质范围。因此,本发明不应限于作为预计实现本发明的最佳方式在此公开的特定实施例,而是将包括落在所附权利要求范围内的所有实施例。此外,术语第一、第二等的使用并不指示任何顺序或重要性,而是用于使一个组成部分与另一组成部分区别开。
权利要求
1.对象过程图(OPG)应用程序开发系统,所述系统包括OPG应用程序界面(API),所述API提供对OPG系统的功能的访问;用于帮助经OPG API创建和编辑OPG应用程序的OPG应用程序编辑器;用于帮助在OPG应用程序正运行时编辑OPG应用程序用户界面窗口的OPG应用程序窗口编辑器;及包括用于描述和定义OPG应用程序的多个关键字及其相关定义的OPG应用程序记法。
2.根据权利要求1的系统,其中OPG API提供界面功能,其使OPG应用程序能够动态地与其它系统相互作用并交换信息。
3.根据权利要求1的系统,其中OPG API提供创建和保存代表永久OPG的图形软件模型的功能。
4.根据权利要求1的系统,其中OPG API在相应的图形软件模型被更新时更新永久OPG。
5.根据权利要求1的系统,其中OPG应用程序编辑器包括编辑器图形模型界面,其使用OPG API创建和保存对应于永久OPG的图形软件模型。
6.根据权利要求1的系统,其中OPG应用程序编辑器包括用于将对应于永久OPG的图形软件模型呈现在计算机显示介质上的编辑器查看器,其中图形软件模型包括一个或多个图形符号、图标、线、图片、文本、图象和窗口控制元素。
7.根据权利要求6的系统,其中OPG应用程序编辑器包括用于将移动、添加、删除和更新图形软件模型的组成部分的用户输入请求变换为编辑器图形模型界面功能请求的编辑器控制器,所述请求使得编辑器查看器更新图形软件模型和OPG API以更新永久OPG。
8.根据权利要求7的系统,其中编辑器控制器基于在OPG应用程序编辑器绘制的一组工作区视图上显示的窗口控制元素上的显示光标的位置及窗口控制元素的类型而响应于来自键盘、鼠标或其它输入设备的用户选择和输入。
9.根据权利要求8的系统,其中工作区视图包括下述中的一个或多个用于显示可被选择以包括在图形软件模型中的图形组成部分的调色板视图、用于显示OPG或子图的图形表示的组成视图、用于显示OPG的树图的应用程序导航器视图、用于列出包含OPG的储存库文件的储存库视图、用于显示OPG图形结点和边缘的特性名称和值的特性视图、及用于显示在组成视图上选择和显示的图形组成部分的组成树图的组成概览图。
10.根据权利要求1的系统,其中OPG应用程序窗口编辑器包括添加到OPG控制器-查看器并与其成一体的窗口编辑器控制组成部分。
11.根据权利要求10的系统,其中窗口编辑器控制组成部分在OPG应用程序数据显示窗口上显示编辑器选择控制,其使用户能够在相应的OPG应用程序正运行时选择或OPG应用程序窗口编辑器或应用程序窗口的数据可见性特性编辑器。
12.根据权利要求1的系统,其中OPG应用程序窗口编辑器提供所见即所得(WYSIWYG)类型的编辑器,其使用户能够立即看见改变、添加或删除应用程序数据显示窗口上的数据窗口显示元素的效果。
13.根据权利要求1的系统,其中OPG应用程序窗口编辑器使应用程序数据显示窗口显示元素可选择、可移动、可编辑和可删除,其中窗口显示元素包括窗口控制、文本框、标签、文本编辑器、线、形状、图片、图象和图标中的一个或多个。
14.根据权利要求1的系统,其中OPG应用程序窗口编辑器显示包含多个编辑器控制的编辑器工具条,其使用户能够将编辑器功能应用于所选的应用程序数据显示窗口元素,包括添加或删除元素、改变文本特性、调整大小和重新定位元素、及改变元素的颜色。
15.开发计算机系统的方法,所述方法包括接收指定图结构中的元素的命令,其中图结构为计算机程序;及响应于命令实时修改计算机程序。
16.根据权利要求15的方法,还包括在用户界面屏幕上显示计算机程序的图形表示,其中命令经用户界面输入设备接收。
17.根据权利要求15的方法,还包括在用户界面屏幕上显示修改后的计算机程序的图形表示。
18.根据权利要求15的方法,其中修改后的计算机程序由随后由计算机程序处理的所有事务使用。
19.根据权利要求15的方法,其中修改后的计算机程序由随后由计算机程序处理的所选事务使用。
20.根据权利要求15的方法,其中修改后的计算机程序由当前正由计算机程序处理的事务使用。
21.根据权利要求15的方法,其中所述元素包括组成部分的一个或多个及链接。
22.根据权利要求21的方法,其中组成部分包括应用程序组成部分、过程组成部分、数据结构组成部分、数据结构阵列组成部分、及原始数据组成部分中的一个或多个。
23.根据权利要求15的方法,其中命令指定查看元素、添加元素、修改元素及删除元素中的一个或多个。
24.根据权利要求15的方法,其中计算机程序与接收同时运行,所述方法还包括经用户界面屏幕显示来自计算机程序的输出。
25.根据权利要求24的方法,还包括经用户界面屏幕显示修改后的计算机程序的输出。
26.开发计算机系统的方法,所述方法包括将计算机程序创建为图结构;在用户界面屏幕上显示图结构的图形表示;接收指定图结构中的元素的命令;响应于命令实时修改计算机程序;响应于命令更新图结构;及在用户界面屏幕上显示更新后的图结构的图形表示。
27.根据权利要求26的方法,其中计算机程序为对象过程图(OPG)。
28.根据权利要求26的方法,其中显示OPG是经OPG应用程序编辑器和OPG应用程序窗口编辑器中的一个或多个进行显示。
29.根据权利要求26的方法,其中修改是经OPG应用程序界面和与OPG系统界面连接的OPG应用程序窗口编辑器中的一个或多个进行。
30.用于开发计算机系统的计算机程序产品,所述计算机程序产品包括处理电路可读的存储介质及处理电路运行其从而执行方法的存储指令,所述方法包括接收指定图结构中的元素的命令,其中图结构为计算机程序;及响应于命令实时修改计算机程序。
31.用于开发计算机系统的计算机程序产品,所述计算机程序产品包括处理电路可读的存储介质及处理电路运行其从而执行方法的存储指令,所述方法包括将计算机程序创建为图结构;在用户界面屏幕上显示图结构的图形表示;接收指定图结构中的元素的命令;响应于命令实时修改计算机程序;响应于命令更新图结构;及在用户界面屏幕上显示更新后的图结构的图形表示。
全文摘要
对象过程图(OPG)应用程序开发系统,所述系统包括OPG应用程序界面(API)、OPG应用程序编辑器、OPG应用程序窗口编辑器和OPG应用程序记法。OPG API提供对OPG系统的功能的访问。OPG应用程序编辑器帮助经OPG API创建和编辑OPG应用程序。OPG应用程序窗口编辑器帮助在OPG应用程序正运行时编辑OPG应用程序用户界面窗口。OPG应用程序记法包括用于描述和定义OPG应用程序的多个关键字及其相关定义。
文档编号G06F9/44GK101052948SQ200580030336
公开日2007年10月10日 申请日期2005年9月9日 优先权日2004年9月10日
发明者戴维·马文·贝克, 斯蒂芬·艾伦·戈尔德, 弗拉迪米尔·古谢夫, 梁红平 申请人:图形公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1