对象过程图应用程序控制器-查看器的制作方法

文档序号:6656462阅读:426来源:国知局
专利名称:对象过程图应用程序控制器-查看器的制作方法
发明
背景技术
领域本发明总体上涉及用户界面,特别涉及面向对象编程的模型-视图-控制器(MVC)框架的控制器和视图部分。对象过程图(OPG)涉及MVC模型部分。对象过程图(OPG)将在随后进行描述。
背景技术
由于面向对象的编程技术及相关的面向对象的语言如Smalltalk、C++和Java的发展和被人们接受,已开发了大量应用程序开发框架。模型-视图-控制器框架为其中之一。其定义了分配应用的功能性及产生可重复使用的控制功能的方式,其可应用于很广范围的应用。通常,模型由代表商业领域中的数据元素的永久不变的商业对象组成;视图由在显示介质上描绘模型数据的绘制对象组成;及控制器由负责控制应用中的信息流的对象组成。
Java服务器页面(JSP)模型2体系结构是MVC在WEB应用中的最新应用。Jakarta Struts框架为JSP模型2体系结构的实施。

发明内容
本发明致力于满足这些需要的对象过程图应用程序控制器-查看器。
本发明的一方面是对象过程图应用程序控制器-查看器,包括对象过程图应用程序查看器和对象过程图应用程序控制器。对象过程图应用程序查看器接收与对象过程图应用程序和应用程序状态相关的信息。对象过程图应用程序查看器将对象过程图应用程序和应用程序状态绘制在显示介质上。对象过程图应用程序控制器处理用户输入。对象过程图应用程序控制器提供指令给动态图形解释器以将对象过程图应用程序从第一状态转变为第二状态。对象过程图应用程序控制器向对象过程图应用程序查看器提供指令以显示对象过程图应用程序和应用程序状态。
本发明的另一方面是提供对象过程图应用程序控制器-查看器的方法。对象过程图应用程序的运行被控制,及对象过程图应用程序及其相关的应用程序状态的显示被绘制在显示介质上。
本发明的另一方面是保存为存储介质上的指令、用于执行提供对象过程图应用程序控制器-查看器的方法的软件产品。接收与对象过程图应用程序和应用程序状态相关的信息。对象过程图应用程序和应用程序状态被绘制在显示介质上。用户输入被处理。对象过程图应用程序被从第一状态转变为第二状态。
本发明具有许多优点,包括使应用程序开发人员、用户和领域专家在运行应用程序的同时能改变OPG应用程序的任何方面。应用信息被绘制在显示介质上。应用信息输入基于可随时更改的用户定义的性质进行确认。还提供了输入和输出OPG应用程序描述的手段。


本发明的这些及其它特征、方面和优点参考下面的描述、权利要求及附图将得以更好地理解,其中图1为根据本发明的实施例的系统的概观框图。
图2为根据本发明实施例的对象过程图应用程序控制器的框图。
图3为根据本发明实施例的示例性的应用程序会话事务控制流的流程图。
图4为根据本发明实施例的等待用户输入的示例性方法的框图。
图5为根据本发明实施例的用户输入的变化及应用程序状态更新的示例性方法的框图。
图6为根据本发明实施例的确认更新的应用程序状态的示例性方法的框图。
图7为根据本发明实施例的示例性的与确认的应用程序状态相关的新操作的框图。
图8为根据本发明实施例的新数据例图添加到应用程序状态的示例性方法的框图。
图9为根据本发明实施例的应用程序状态变为永久状态的示例性方法的框图。
图10为根据本发明实施例的等待用户输入的另一示例性方法的框图。
图11为根据本发明实施例的示例性应用程序输入/输出控制部分的框图。
图12为根据本发明实施例的示例性对象过程图应用程序查看器的框图。及图13为根据本发明实施例的示例性对象过程图应用程序数据性质的框图。
具体实施例方式
本发明的一方面是OPG应用程序控制器(OPGAC)和对象过程图应用程序查看器(OPGAV)与OPG系统(对象过程图(OPG)和动态图形解释器(DGI))的集成从而形成动态模型视图控制器(DMVC)应用程序结构。这种动态应用程序结构表明OPG应用程序的运行例图。动态图形解释器(DGI)将在随后描述。OPGAC通过下述步骤控制应用程序的运行处理来自用户或其它系统的输入数据、指令/选择;经OPGAV启动信息的显示或输出;指示DGI启动应用程序状态转变并控制OPG应用程序描述的输入和输出。OPGAC是DMVC的控制器部分。
OPGAV是DMVC的视图部分。其从OPGAC接收显示/输出指令以将应用程序OPG绘制在显示介质和/或输出装置上。所绘制的OPG提供经选择和输入控制与应用程序相互作用的手段。它们还在它们的适当语境中显示应用程序状态对象并提供查看和更新其内容的方式。
DMVC的另一组成部分OPG系统用作模型部分。其与OPGAC和OPGAV集成。OPG定义应用程序的复杂处理步骤及数据并提供对应用程序的永久和瞬时数据的存储。DGI提供由OPGAC和OPGAV调用的功能以运行OPG定义的应用程序。
本发明的一示例性实施例(图1)使OPGAC2和OPGAV3与OPG系统4集成以形成基于Jakarta Struts WEB应用框架的动态模型视图控制器(DMVC)5应用程序结构。DMVC能够提供计算设备如个人计算机(PC)1上的显示。结合在该示例性实施例中的其它技术包括层叠样式表(CSS)、动态HTML(DHTM)、Java文档模型(JDOM)、Java服务器页面、Struts Tiles等。当然,其它实施例可使用多种其它应用程序框架和技术实施。
对象过程图应用程序控制器(OPGAC)OPGAC的一实施例(图2)包括两组功能应用程序会话事务控制器8和应用程序输入/输出控制器9。应用程序会话事务控制器8包括与OPG系统4相互作用以运行OPG定义的应用程序的四个功能区用户输入处理控制器10、应用程序状态转变控制器11、永久数据存储控制器12和OPG显示控制器13。在本发明的示例性实施例中,应用程序输入/输出控制器9功能输入和输出OPG定义的应用程序的XML描述。
在该示例性的实施例中,OPGAC2控制功能与基于Struts的行动类和表单类结合。行动类解释用户选择、指令和输入数据并相互作用,其还指示DGI更新应用程序状态对象、执行状态确认。同样,基于应用程序的OPG中的应用程序状态对象和处理控制对象,OPGAC2指示DGI将应用程序状态与下一有效操作相关联。执行这些功能与运行传统软件应用程序相似。表单类实现对OPG数据对象的标准Java Bean界面访问并提供对用户输入数据的访问以由OPGAC2进行评价。
应用程序会话事务控制器应用程序会话事务控制器8功能实现了图3中所示的基本应用程序会话事务控制流300的示例性实施例。图3中所示的示例性方法的概览开始于开始302,之后为显示当前应用程序状态304。控制流为循环流,每次均返回到显示当前应用程序状态304。在显示当前应用程序状态304之后为等待用户输入306,随后在308用户输入的变化给应用数据,之后在310以用户输入更新应用程序状态,在312确认更新的应用程序状态,然后在314确定状态确认是否成功。如果否,控制转到316,恢复最初的应用程序状态,在318向用户显示出错,并返回等待用户输入306。否则,如果在314状态确认成功,控制转到320,新的有效操作被选择并与确认的应用程序状态相关联;在322,在新的有效操作的基础上,数据例图被创建并添加到应用程序;在324,新的应用程序状态被使得为永久状态,之后返回显示当前应用程序状态304。
图4-10更详细地描述了图3中所示的流程用于本发明的实施例的情形。图4在OPGAV3(将在下面描述)已在304显示应用程序的OPG及相关的应用程序状态对象的视图之后开始,在306,系统等待用户输入。当前应用程序状态为X15,其包括数据例图X、Y和Z。来自这些例图的值由OPGAV3在OPG内的适当位置显示给用户。在该例子中,显示被提供在使用OPGAC2和DGI6的PC1上。
图5示出了在308用户已输入数据及在310 OPGAC2已指令DGI6以用户的输入更新应用程序状态之后的应用程序状态。更新的应用程序状态具有新的数据例图值X’、Y’和Z’16。在该点,更新的应用程序状态16是尚未被确认的试验状态。
图6示出了响应于OPGAC2的指令,应用程序状态17被DGI6确认。其使用OPG系统4中数据例图的确认准则18。也可使用不同的确认,如值范围测试、类型检查等。如果在314确认成功,OPGAC进行到基本流程图中的下一步骤320,如图7中所示。如果在314确认不成功,在316,OPGAC2指示DGI6恢复最初的应用程序状态,并在318,指示OPGAV3产生并显示适当的出错消息。
在图7中,OPGAC2已指示DGI6执行应用程序的OPG定义20中定义的应用程序步骤。在该例子中,DGI6发现操作B为下一操作,且其已在320将操作B与确认的应用程序状态19相关联。
在图8中,DGI6通过在322产生由OPG22中的操作B定义的数据例图T、U和V并将它们添加到应用程序状态而完成操作B与确认的状态21的关联。OPG系统4用OPG系统4中定义的默认值初始化数据例图。应用程序状态21被重新命名为X’。
在图9中,在324,OPGAC2指令DGI6使应用程序状态X’23成为永久状态24。这意味着该状态将被保存在数据库中。
最后,在图10中,在304,OPGAC2指令OPGAV3将应用程序状态X’25显示给用户。在该点,在本例子中,OPGAC2已完成图3中所示的基本流程的循环,并将返回到等待用户请求应用程序的OPG的变化306。
应用程序输入/输出控制OPGAC2使用应用程序输入/输出控制器9功能装入和保存OPG定义的应用程序的XML描述。本发明的一实施例(图11)包括OPG XML输入/输出控制器9和一组输入/输出处理器29,OPG定义的应用程序图的每一所选区域均有一处理器29。其使用Java文档模型(JDOM)27分析(对于输入)或写(对于输出)XML文件26。应用程序的组成部分由DGI6从OPG系统4取回,其与输入/输出处理器29紧密相连。
除了应用程序描述之外,OPGAC2可输入和输出应用程序组成部分的描述,包括操作、关系、数据事件等。
对象过程图应用程序查看器(OPGAV)OPGAV的一示例性实施例(图12)3包括三个功能动态页面和/或输出产生33、数据获取、转换和准备34、及显示和安全特性合成34。该示例性的实施例将OPG定义的应用程序数据在标准WEB浏览器上绘制为WEB页面和/或产生用于其它系统的输出数据。在该示例性的实施例中,WEB页面用Java服务器页面(JSP)、CSS、JDOM和DHTML实现。JSP通过与DGI6相互作用的表单对象和JSP标志库访问OPG定义的应用程序数据。
DGI6响应于来自数据获取、转换和准备功能33的指令取回应用程序OPG组成部分。数据被转换为OPG定义的显示格式并准备用于合成在HTML页面中。
DGI6提供为每一原始数据元素保存在OPG应用程序状态数据例图37中的显示特性38和安全约束条件39。原始数据显示特性包括元素将绘制在显示器上的位置、元素的长度和高度等。安全约束条件包括元素是否应被显示或其是否可被编辑等。
在该示例性的实施例中,显示和安全特性可在三个层次40进行定义(图13)应用程序43、操作42和应用程序例图41。应用程序例图41特性具有最高优先权。如果存在应用程序例图41,则其取代应用程序43和操作42特性。操作特性42具有第二最高优先权。如果存在,其取代应用程序特性43。应用程序例图特性41应用于运行应用程序的单一例图的应用数据。操作特性42应用于运行应用程序的所有例图,但只在特定操作的上下文内。应用程序特性43在应用程序的上下文内应用于应用程序的所有例图。显示和安全特性合成功能根据应用程序例图的当前状态(上下文)确定使用哪些特性。
OPGAV3为OPG定义的应用程序提供动态用户界面。其根据应用程序的OPG中用户、开发人员或领域专家定义的特性绘制显示页面和输入表格。特性可被随时改变并立即生效,即,OPGAV3使用最新的特性显示应用程序的OPG。
对象过程图应用程序控制器-查看器方法及示例性实施例下面是产生对象过程图应用程序控制器-查看器系统的示例性实施例的方法的示例性实施例的描述,所述系统已在上面进行定义和描述。
1)假设存在OPGACV3的实施例将被添加至其的对象过程图系统4的实施例,选择硬件/操作系统平台、编程框架、数据库和/或文件系统和OPGACV3系统将建立于其上并运行的显示介质(如显示设备)的初始设置,其与用于建立OPG系统4的一样或兼容。对象过程图系统将在随后描述。在一实施例中,使用Linux操作系统,其在内联网的基于Intel的服务器硬件上运行,其连接到运行Microsoft WindowsXP软件的基于Intel的PC。来自Sun微系统的Java编程语言用于编程OPGACV3系统。该实施例可在本地运行Windows XP操作系统的Tomcat应用服务器上运行或在运行Tomcat的远程Linux服务器上运行。来自Eclipse Foundation的Eclipse开发平台和来自Genuitec的MyEclipse插件可用于做Java软件开发。应注意,上述操作系统、应用程序平台和编程语言工具仅代表可用于产生和运行示例性实施例的开发和操作系统的许可可能配置中的一种。
2)使用上面关于本发明的发明内容和描述以及附图1-13,定义将拥有所需功能的一组类及适当的类层次。在Gamma等1995年在Addison Wesley的“设计图案”及Grand1998年在Wiley ComputerPublishing的“Java图案”中描述的设计图案可用以产生一组具有所需功能的类。也可使用高级CASE工具用于这些类的定义。可被定义的一些类为a、扩展Struts行动类的摘要类可被定义,其实现图3中描述的基本控制流。扩展该类以提供下述应用程序功能的另外的类也可被定义用户登录/注销、安全性管理(新用户、用户权限等)、数据输入/输出、审计、报告及事务控制(开始、编辑、合并等)。这些类提供OPGAC2的功能,即用户输入状态改变、应用程序状态转变和应用显示控制。
b、提供OPG定义的应用程序输入/输出功能的一组类。
c、基于Struts框架定义基本应用程序页面的JSP布局(模板),如用户登录/注销、安全性管理、数据输入/输出、审计、报告、事务控制等。定义布局的标准区如页眉、主体、页脚、标题等的JSP平铺显示部分。
d、经DGI6实现OPG访问的一组JSP标志类和Struts表单类,其执行数据特性合成和动态页面产生功能。
e、提供窗口组成部分的属性的一组CSS定义,其可由在WEB浏览器上运行的Java脚本功能更新。
上述程序和类可包括内部类和一些第一类对象以提供特定功能。这些类中没有一个是永久类。
对象过程图描述对象过程图(OPG)是对象过程图系统(OPGS)的定义部分,所述系统为完整的应用程序开发和执行环境。其它部分包括解释或执行由OPG定义的应用程序的动态图形解释器(DGI)及用于产生和修改OPG的图形用户界面。
OPG的实施例可被视为计算机语言(其为Turing完成),其被解释为程序被执行。OPG保存在瞬时及永久计算机存储器中。OPG可保存任何数据结构,其包括但不限于关系表、层次表、n维数据阵列、电子数据表、图形模型和3维物理模型。这些数据结构不保存为二进制大对象,其在关系数据库系统中是普通的,但在影响它们的最初结构和内部关系的特殊OPG结构中不是。OPG处理和控制结构提供对应用程序内永久和瞬时数据确认、变换和显示的顺序和定时的控制。OPG结构还定义数学公式、常规表示式(在文字数据或混合数字和文字的数据的情形下)及完整的算法。
应用程序的OPG可被绘制在计算机终端或静态输出介质如纸上。显示在交互式介质上的OPG数据、处理和控制结构可被编辑。与传统的软件开发系统不同,编辑应用程序的OPG不产生必须被编译和安装的代码。而是,做出改变并立即生效。改变甚至可在DGI正进行解释(运行应用程序)时进行。随时安全改变应用程序的能力对于大型、复杂的企业级应用系统的快速开发和长期维护是需要的。
在OPG中的所有应用程序执行状态信息被保存在应用程序状态对象中。DGI通过改变其保存的应用程序状态信息而作用于OPG。应用程序状态信息可包括任何永久数据对象。DGI可同时对多个应用程序状态作用,在应用程序状态对象的组合之间合并或拆分状态信息。
OPG以原始数据级为应用程序中的所有永久和瞬时数据变化保留审计追踪信息。审计追踪信息很容易用于经显示控制显示在用户界面上或用于应用程序的处理和数据流的进一步更新和操控。
定义长及短事务中进行的变化的审计信息被保留和追踪应用程序的永久数据的所有变化。长事务使系统能够组织、控制和跟踪所有永久数据的变化。这些变化可在许多工作会话中跨延长的时间段(几天或几周)出现。另一方面,短事务在单一用户会话或与系统相互作用期间进行。长和短事务信息立即可经系统的图形用户界面用于应用程序内的操控和显示。追踪长事务还有助于回退到事务中的任何点,(使用审计追踪)事务的删除经应用程序界面自动可用。通过系统界面可对用户对应用程序内的所有功能和数据的访问进行控制。这包括每一用户对确定为应用程序的一部分的每一原始数据项的分开访问权限(读、写、回退)。
除了经用户界面输入或改变数据以外,系统的实施例还接受来自其它系统的、任何数字格式的、对应用进程的输入数据。
一些实施例包括图形用户界面。图形用户界面使用户能够指明所有输入的格式,其随后被自动分析和用于更新应用程序-在应用程序进程的任何点添加到或修改数据库中的永久数据或应用程序或显示界面中的瞬时数据。
同样,输出数据可从应用程序的任何点以任何格式产生(对于永久或瞬时数据),其使用与上面各个实施例相反的过程进行。在一些实施例中,外部数据库如关系数据库可向应用程序注册,应用程序内的所有永久数据可被保存在这样的数据库中或从其取回。
本发明的对象过程图部分的实施例扩展了传统的面向图形对象的数据库的基本功能。本发明的实施例将动态过程单元的功能和面向图形对象的数据库合成为单一集成系统,这使得可快速产生完整的、复杂的企业级应用程序,而不使用传统的编程语言。OPG被直接和动态地解释,因此不需要产生代码。改变OPG的容易及对改变的立即反馈大大简化了基于OPG的应用程序的维护和改变。
尽管本发明已参考某些实施例进行相当详细的描述,其它实施例也是可能的。例如,不同的操作系统、编程语言和软件体系结构可用于实施本发明的实施例。因此,所附权利要求的精神和范围不应限于在此包含的实施例的描述。
如上所述,本发明的实施例可体现为硬件、软件、固件形式或用于实现实施例的任何方法和/或装置。本发明的实施例还可体现为计算机程序代码的形式,其包含存储在有形介质如软盘、CD-ROM、硬盘、或任何其它计算机可读存储介质中的指令,其中,当计算机程序代码被装入计算机并由计算机执行时,计算机成为实施本发明的装置。本发明还可体现为计算机程序代码的形式,例如,无论是保存在存储介质中、装入计算机和/或有计算机执行,还是在一些传输介质如在电线或电缆上、通过光纤、或经电磁辐射进行传输,其中,当计算机程序代码被装入计算机并由计算机执行时,计算机成为实施本发明的装置。当实施在通用微处理器上时,计算机程序代码段配置微处理器以产生特定的逻辑电路。
在本发明已结合示例性实施例进行描述的同时,本领域技术人员将理解,可进行许多变化或等价替代其中的组成部分,而不会背离本发明的范围。此外,可进行许多修改以使特定的情形或材料适应本发明的教义,而不背离本发明的实质范围。因此,本发明不应限于作为预计实现本发明的最佳方式在此公开的特定实施例,而是将包括落在所附权利要求范围内的所有实施例。此外,术语第一、第二等的使用并不指示任何顺序或重要性,而是用于使一个组成部分与另一组成部分区别开。
权利要求
1.对象过程图应用程序控制器-查看器,包括对象过程图应用程序查看器,其用于接收与对象过程图应用程序和应用程序状态相关的信息并将所述对象过程图应用程序和所述应用程序状态绘制在显示介质上;及对象过程图应用程序控制器,其用于处理用户输入、提供指令给动态图形解释器以将所述对象过程图应用程序从第一状态转变为第二状态、及向所述对象过程图应用程序查看器提供指令以显示所述对象过程图应用程序和所述应用程序状态。
2.根据权利要求1的对象过程图应用程序控制器-查看器,其中所述对象过程图应用程序查看器能够将安全性约束条件应用于所述对象过程图应用程序和所述应用程序状态。
3.根据权利要求1的对象过程图应用程序控制器-查看器,还包括应用程序会话事务控制器,其用于处理输入数据、向所述对象过程图应用程序查看器提供指令以绘制所述对象过程图应用程序和所述应用程序状态、及将所述对象过程图应用程序从所述第一状态转变为所述第二状态。
4.根据权利要求3的对象过程图应用程序控制器-查看器,其中所述输入数据包括指令或选择。
5.根据权利要求1的对象过程图应用程序控制器-查看器,其中所述应用程序会话事务控制器能够使更新的应用程序状态成为永久状态。
6.根据权利要求1的对象过程图应用程序控制器-查看器,其中所述应用程序会话事务控制器能够命令所述动态图形解释器确认和更新所述对象过程图应用程序和所述应用程序状态。
7.根据权利要求1的对象过程图应用程序控制器-查看器,还包括应用程序输入/输出控制器,其用于装入和保存与所述对象过程图应用程序相关的描述。
8.根据权利要求1的对象过程图应用程序控制器-查看器,其中所述对象过程图应用程序查看器包括动态输出产生控制器,其用于将所述对象过程图应用程序和所述应用程序状态绘制在所述显示介质上;数据获取、转换和准备控制器,其用于向所述动态图形解释器提供指令以取回并将所述对象过程图应用程序和所述应用程序状态转换为预定格式;及显示和安全特性合成控制器,用于将安全约束条件和显示特性应用于所述对象过程图应用程序和所述应用程序状态。
9.根据权利要求1的对象过程图应用程序控制器-查看器,其中所述安全约束条件为面向语境的约束条件。
10.提供对象过程图应用程序控制器-查看器的方法,包括控制对象过程图应用程序的运行;及在显示介质上提供所述对象过程图应用程序和相关的应用程序状态的显示。
11.根据权利要求10的方法,其中所述控制包括处理输入数据;启动所述显示;提供开始应用程序状态转变的指令;及控制对象过程图应用程序描述的输入和输出。
12.根据权利要求10的方法,其中所述输入数据包括指令或选择。
13.根据权利要求10的方法,其中所述提供显示包括接收用于所述显示的指令;提供经输入数据与所述对象过程图应用程序和所述应用程序状态相互作用的手段;及在语境中显示所述应用程序状态。
14.保存为存储介质上的指令的软件产品,其执行提供对象过程图应用程序控制器-查看器的方法,该方法包括接收与对象过程图应用程序和应用程序状态相关的信息;在显示介质上绘制所述对象过程图应用程序和应用程序状态;处理输入数据;及将所述对象过程图应用程序从第一状态转变为第二状态。
15.根据权利要求14的方法,其中所述用户输入包括指令或选择。
16.根据权利要求14的方法,还包括使更新的应用程序状态成为永久状态。
17.根据权利要求14的方法,还包括确认和更新所述对象过程图应用程序和所述应用程序状态。
18.根据权利要求14的方法,还包括装入并保存与所述对象过程图应用程序相关的描述。
19.根据权利要求14的方法,还包括格式化所述对象过程图应用程序和所述应用程序状态。
20.根据权利要求14的方法,还包括将面向语境的安全约束条件应用于所述对象过程图应用程序和所述应用程序状态。
全文摘要
本发明提供了计算机软件系统,即对象过程图应用程序控制器-查看器(OPGACV)系统。OPGACV通过引发动态图形解释器(DGI)将应用程序从一状态转变为另一状态及使用应用程序设计者/用户定义的特性控制运行对象过程图(OPG)应用程序,其在显示介质上绘制应用程序状态、结构和数据并确认对应用程序的数据输入。OPGACV还控制OPG应用程序的输入和输出。
文档编号G06F9/44GK101027638SQ200580023966
公开日2007年8月29日 申请日期2005年6月23日 优先权日2004年7月16日
发明者斯蒂芬·艾伦·戈尔德, 戴维·马文·贝克, 弗拉迪米尔·古谢夫, 梁红平 申请人:图形公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1