流程图的编辑、重组验证、创建和转换的方法和装置的制作方法

文档序号:6405036阅读:108来源:国知局
专利名称:流程图的编辑、重组验证、创建和转换的方法和装置的制作方法
技术领域
本发明涉及计算机数据处理技术,具体地,涉及流程图与等价树状图之间的转换、创建、编辑流程图的方法和装置,以及验证流程图重组的合法性的方法和装置。
背景技术
流程图(Flowchart)被广泛地应用于业务流程分析、计算机程序设计、数据处理系统的开发和管理等领域。正如人们所熟知的,流程图是形式化地表示程序逻辑序列、工作处理过程、组织结构等等的图示。传统的流程图由一组表示处理过程的开始、结束、中间步骤、判断和I/O处理等的简单的几何图形以及将这些图形连接起来的有向连线构成。对于这些几何图形符号的含义,在工业标准中已经被明确地定义了,例如,ANSIx3.5、ISO58071985等。图1举例示出了在传统的流程中常用的几个几何图形符号及其代表的含义。
目前,已有许多用于设计、编辑流程图的计算机软件或硬件工具,例如,HolosofxTM、Rational RoseTM、CATMprocess modeler、SybaseTMPowerDesigner、Enterprise Architect等等。这些工具不仅可以帮助业务执行人员、业务分析人员和商务咨询人员熟悉和分析业务流程,还可以帮助系统分析员或程序设计者设计和编辑各种流程图,并且其中有的可以自动地生成多种项目文档甚至源程序代码。由于这些工具的使用大大减轻了系统分析员和程序设计者们的工作量。
但是,已有的用于流程图的设计和编辑的工具(技术),一旦设计完成流程图想再进行修改或重组就比较繁琐。
下面就举例说明,图2A是利用Rational RoseTM编辑的一个简单的流程图的例子。如图2A所示,动作(activity)2和3与动作4和5并行执行。如果希望将这个并行执行的序列修改为顺序执行,即如图2B所示,那么,就需要进行以下六个操作1)删除第一个同步条;2)删除第二个同步条;3)在动作1和动作2之间加一个连线;4)在动作3和动作4之间加一个连线;5)在动作5和动作6之间加一个连线;6)重新排列这些图形符号。
如果希望将图2A中的并行逻辑修改为判断逻辑,即如图2C所示,那么,就需要进行以下九个操作1)删除第一个同步条;2)删除第二个同步条;3)在第一个同步条的位置增加一个判断框;4)在动作1和该判断框之间加一个连线;5)在该判断框和动作2之间加一个连线;6)在该判断框和动作4之间加一个连线;7)在动作3和动作6之间加一个连线;8)在动作5和动作6之间加一个连线;9)重新排列这些图形符号。
进而,如果希望将图2A中的动作3移动位置到并行逻辑之后,即,图2D所示的样子,则需要进行以下五个操作1)将动作3和第二同步条之间的连线修改为指向动作6;2)将动作2和动作3之间的连线修改为由第二同步条指向动作3;3)删除第二同步条和动作6之间的连线;4)增加从动作2到第二同步条的连线;5)重新排列这些图形符号。
由以上的例子可知,在以往的流程图编辑技术中,修改流程图是非常不方便的,特别是对于结构复杂的流程图和经常需要修改的流程图来说。由于这个原因,系统分析员和程序设计者们浪费了大量的时间和精力在繁琐的流程图编辑操作上。

发明内容
为了解决上述现有技术中存在的问题,本发明的发明人们提出了将流程图转换为等价的树状图(等价树)的技术,从而利用这个与流程图等价的树状图来进行流程图的编辑、重组。
根据本发明的一个方面,提供了一种将流程图转换为等价树状图的方法,该流程图包括一个或多个逻辑结构和在上述一个或多个逻辑结构中的一个或多个处理动作,所述方法包括遍历上述流程图;将上述流程图中的上述一个或多个逻辑结构转换为上述树状图中的一个或多个分支节点;以及将上述流程图的上述逻辑结构中的一个或多个的处理动作转换为上述树状图中对应的分支节点下的一个或多个叶子节点。
根据本发明的另一个方面,提供了一种将等价树状图转换为流程图的方法,其特征在于,上述等价树状图包括一个或多个表示逻辑结构的分支节点和在上述一个或多个分支节点下的表示处理动作的叶子节点,所述方法包括遍历上述等价树状图;将上述树状图中的上述一个或多个分支节点转换为上述流程图中的一个或多个逻辑结构;以及将上述树状图中上述分支节点下的上述一个或多个叶子节点转化为上述流程图中相应的逻辑结构中的一个或多个处理动作。
根据本发明的另一个方面,提供了一种验证重组流程图的合法性的方法,该流程图中的一个或多个节点被选择重组,其特征在于,该方法包括以下步骤使用上述将流程图转换为等价树状图的方法,将上述流程图转换为等价树状图;如果上述被选择的一个或多个节点对应于上述等价树状图中的一个子树,或者上述被选择的一个或多个节点对应于上述等价树状图中的多个子树并且这些子树共同具有一个相同的父节点,则判断该流程图的重组合法,否则判断该流程图的重组不合法。
根据本发明的另一个方面,提供了一种编辑流程图的方法,其特征在于,包括使用上述将流程图转换为等价树状图的方法,根据上述流程图生成等价的树状图;修改上述生成的等价树状图;以及使用上述将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。
根据本发明的另一个方面,提供了一种编辑流程图的方法,其特征在于,包括使用上述将流程图转换为等价树状图的方法,根据上述流程图生成等价的树状图;选择修改上述流程图中的一个或多个节点;如果上述被选择的一个或多个节点对应于上述等价树状图中的一个子树,或者上述被选择的一个或多个节点对应于上述等价树状图中的多个子树并且这些子树共同具有一个相同的父节点,则允许修改,否则不允许修改;如果允许修改则在上述生成的等价树状图中进行相应的修改;以及使用上述将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。
根据本发明的另一个方面,提供了一种创建流程图的方法,包括根据需要建模的任务,创建一个树状图,其中该树状图中的分支节点表示逻辑结构,该树状图中的叶子节点表示处理动作;以及使用上述将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。


相信通过以下结合附图对本发明具体实施方式
的说明,能够使人们更好地了解本发明上述的特点、优点和目的。
图1示出了在传统的流程图中常用的几何图形及其表示的含义;图2A~2D是利用以往的技术编辑流程图的例子;图3A~3J示出了流程图中各种逻辑结构如何表示为树状图中对应的分支节点;图4A示出了一个将被转换的示例流程图,图4B示出了转换后与该流程图等价的树状图;图5是根据本发明一个实施例的将流程图转换为树状图的方法的流程图;图6A~6E逐步地示出了将流程图转换为等价树状图的处理过程;图7A~7D图示了规范化处理的过程;图8是根据本发明一个实施例的树生成算法的详细流程图;图9是根据本发明的一个实施例的将等价树状图转换为流程图的方法的流程图;图10A~10J逐步地示出了将等价树状图转换为流程图的处理过程;图11是根据本发明的一个实施例的编辑流程图的方法的流程图;图12是根据本发明的另一个实施例的编辑流程图的方法的流程图;
图13是根据本发明的一个实施例的验证重组流程图合法性的方法的流程图;图14是图示了根据本发明的一个实施例的流程图编辑器的结构的框图;图15是根据本发明的一个实施例的创建流程图的流程图;以及图16示例性地展示了用于让用户进行流程图编辑操作的界面屏幕。
具体实施例方式
下面就结合附图对本发明的各个优选实施例进行详细的说明。
如前面所述,流程图由于其自身的特点使得其修改、编辑操作比较困难复杂。作为同样被人们熟知的树状图,其编辑和修改操作却十分方便,并且树状图由于其自身的特点非常适于表现语义概念结构。因此,如果能够将流程图等价地(不丢失语义含义)转换为树状图,则可以结合利用流程图和树状图二者的优点,克服各自的缺点,例如,来编辑、重组流程图,或者验证重组操作的合法性等等。
将流程图转换为等价的树状图的方法根据本发明的一个方面,提供了一种将流程图转换为等价的树状图的方法。下面就结合附图对该方法进行说明。
要想将流程图转换为等价的树状图,首先需要将流程图中的各个语义元素在树状图中以适当的方式表示出来。下面就逐一分析流程图中的各个语义元素,并说明与等价树状图中元素的对应规则。
在流程图中包括两类语义元素处理动作和逻辑结构。
处理动作是流程图中基本组成部分,是流程中具体的动作单元,通常用矩形表示,如图2中的动作1~6。根据本发明的一个实施例,在等价树状图中用叶子节点表示处理动作。
逻辑结构是流程图中各个处理动作的基本流程逻辑,包括顺序逻辑结构、分路逻辑(split logic)结构和循环逻辑结构。根据本发明的一个实施例,在等价树状图中用分支节点表示逻辑结构。图3A~3J分别示出了各种类型的逻辑结构在等价树状图中的表示方式。下面逐一对它们进行说明(1)顺序逻辑结构,是表示顺序执行一个或多个处理动作的语义。如图3A所示,A4和A5是在一个顺序逻辑结构中的两个处理动作。顺序逻辑结构,在等价树状图中被表示为顺序逻辑结构类型的分支节点(“sequence”),如图3B所示,该顺序逻辑结构类型的分支节点下具有两个叶子节点A4和A5。
(2)分路逻辑结构,是表示流程分开为多路的语义,完整地包括AND(与)、OR(或)和XOR(异或)三种。正如本领域技术人员所熟知的那样,AND类型分路逻辑结构表示各个分路需要全部执行,XOR类型分路逻辑结构表示各个分路中只执行一个分路即可,而OR类型分路逻辑结构表示各个分路中可以执行一个或多个分路。
在规范化的流程图中,每一个分路逻辑结构都应有一个分路开始(split)和一个分路合并(join)分别标识开始和结束。根据不同的工业标准,分路逻辑结构包括的种类有所区别。例如,最早的流程图只支持XOR类型的分路逻辑结构,表示为判断框,如图3C所示。UML的活动图(activitydiagram)可以支持AND和XOR类型的分路逻辑结构,分别表示为图3C所示的判断框和图3D所示的同步条。IDEF3则可以支持全部三种类型的分路逻辑结构,如图3E所示。在等价树状图中,分路逻辑结构,分别被表示为三种分路逻辑结构类型的分支节点,即,“Parallel(AND)”、“Parallel(OR)”和“Parallel(XOR)”,如图3F所示。
(3)循环逻辑结构,表示流程循环的语义,通常包括两种类型UNTIL和WHILE,分别如图3G和3H所示。在等价树状图中,循环逻辑结构,分别被表示为两种循环逻辑结构类型的分支节点,即,Loop(UNTIL)和Loop(WHILE),如图3I和3J所示。并且,在循环逻辑结构类型的分支节点下面的第一个节点表示循环中执行的循环体(Loop-body),第二个节点表示返回循环时执行的返回体(Back-body)。
根据本发明的一个实施例,在等价树状图中的分支节点具有三个属性节点ID,用于唯一区别该节点;节点类型,用于表示该节点所代表的逻辑结构类型;条件数据,用于记载该分支节点所代表的逻辑结构的条件和转移信息,例如,XOR分路逻辑结构的判断条件,循环逻辑结构的循环条件或退出循环条件等等。另外,在等价树状图中的叶子节点至少具有两个属性节点ID,用于唯一区别该节点;动作数据,用于记载该节点所代表的处理动作的信息。
按照以上描述的转换规则,如图4A所示的流程图就可以转换为如图4B所示的与该流程图等价的树状图。本发明的将流程图转换为树状图的方法的特征就在于,在树状图中用分支节点表示流程图中的逻辑结构,并且在树状图中用相应分支节点下的叶子节点表示流程图中相应逻辑结构中的处理动作。
下面就结合本发明的将流程图转换为等价树状图的方法的一个实施例,来详细地描述一下具体的转换过程。图5是根据本发明一个实施例的将流程图转换为树状图的方法的流程图。图6A~6E以图4A所示的流程图为例逐步地示出了将流程图转换为等价树状图的处理过程。
根据该实施例,首先,在步骤505,在原流程图中找出全部的循环逻辑结构,包括嵌套的循环结构。具体地,在现有技术中,有许多已知的方法可以用来在流程中找出循环逻辑结构,如Wei Ding等在“The 6thWorldMulti-conference on SYSTEMICS,CYBERNETICS ANDINFORMATICS(SCI 2002)(2002年,Orlando,Florida)”会议上发表的文章“Conflicts Analysis for Inter-enterprise Business Process Model”,Vugranam C.Sreedhar等人于1995年9月10日在ACAPS TechnicalMemo 98上发表的文章“Identifying Loops Using DJ Graphs”,以及Wolfe,M发表于Technical Report CS/E 92-012(Oregon Graduate Institute forScience and Technology,1992)上的文章“Flow graph anomaliesWhat’s ina loop?”所记载的。在上述这些文章中介绍了许多在流程中找出循环逻辑结构的方法,其内容包含于此以供参考。
接着,在步骤510,将找出的每个循环逻辑结构剪下并在主流程中用一个特殊标记的节点替换。如图6A所示,经过步骤510,原流程图中的循环逻辑结构被剪下,并且替换为特殊节点S1。
接着,在步骤515,将每个剪下的循环逻辑结构修改为非循环逻辑结构,其结果如图6B所示。
接着,在步骤520,将剪下循环逻辑结构的流程图和全部修改的非循环逻辑结构保存作为一个集合G,其结果如图6C所示。
接着,在步骤525,对于集合G中的每个元素执行规范化。在此,对本发明中的规范化(normalization)进行说明。在人们绘制流程图的过程中,往往会进行一些省略和简化,例如图7A和7C就是两个省略了一些分路开始(split)或分路结束(join)的流程图,他们各自完整的(规范化的)流程图分别应当为如图7B和7D所示。在本发明中,对于一个流程的规范化将这种省略的流程图还原为规范的流程图,即,每个分路开始(split)都有一个分路结束(join)与其对应。经过步骤525,结果如图6D所示。
接着,在步骤530,对于集合G中的每个规范化后的流程,执行树生成算法生成一个主树和一个或多个子树。经过前面步骤的处理,原流程图中的循环逻辑结构已经被修改为非循环逻辑结构,而且被省略的流程也被规范化了,因此,在本步骤中只要遍历主流程和每个非循环流程,将每个节点按照前面描述的转换规则转换为树状结构即可。具体的树生成算法可以是多种多样,后面将结合图8以根据本实施例的一个简单的树生成算法为例进行说明。本步骤的结果如图6E所示。
接着,在步骤535,将生成的主树和子树组装为完整的等价树状图,结果如图4B所示。最后在步骤540结束。
图8是根据本发明实施例的一种树生成算法的详细流程图。如图8所示,首先,在步骤805,进行初始化,其内容包括创建一个只包括根节点和一个顺序逻辑结构类型的分支节点的树状结构,并将该分支节点设置为当前节点;在被处理的流程中将该流程的开始节点设置为当前节点。
接着,在步骤810,在被处理的流程中顺序取出下一个节点。根据本实施例,在本步骤中是按照深度优先的搜索策略对该流程进行遍历,依次取出下一个节点。当然,结合后面不同的处理步骤,也可以按照其他搜索策略来遍历该流程的全部节点,在后面将进一步说明。
接着,在步骤815~830,处理过程进行了一系列的判断,以最终判断取出的节点的类型,从而采取不同的处理步骤。
具体地,在步骤815,判断取出的节点是否为一个处理动作类型的节点。如果是,则进行到步骤845,在该步骤中,在树状结构的当前节点下增加一个对应的叶子节点。进而,处理过程返回到步骤810,在该流程中取出下一个节点,并重复后续步骤。
在步骤820,判断取出的节点是否为一个表示分路开始(split)的节点。如果是,则进行到步骤850,在该步骤中,在树状结构的当前节点下增加一个相应的分路逻辑结构类型的分支节点,并在该分支节点下增加一个顺序逻辑结构类型的分支节点,将其设为当前节点。进而,处理过程返回到步骤810,在该流程中取出下一个节点,并重复后续步骤。
在步骤825,判断取出的节点是否为一个表示分路结束(join)的节点。如果是,则进行到步骤855,在该步骤中,进一步判断该分路逻辑结构中的全部分支是否都已经遍历过了。如果步骤855的判断结果为“是”,则进行到步骤860,否则进行到步骤865。
如图所示,如果进入到步骤860,则在该步骤中,将树状结构的当前节点移到该分路逻辑结构类型的分支节点上一层的分支节点上。进而,处理过程返回到步骤810,在流程中取出下一个节点,并重复后续步骤。
如果进入到在步骤865,则在该步骤中,在树状结构的该分路逻辑结构类型的分支节点下增加一个顺序逻辑结构类型的分支节点,并将其设为当前节点。进而,处理过程返回到步骤810,在流程中取出下一个节点,并重复后续步骤。
最后,如果步骤815、820、825的判断都为“否”,则在步骤830,判断取出的节点是否为结束节点,如果是,则进行到步骤835,主树处理结束,否则,进行到步骤840,子树处理结束。
虽然以上结合图8描述了本实施例中的树生成算法,但是,本领域技术人员应当能够理解,除了以上的方式外还可以有许多其他的方式,例如,首先将流程中的全部分路逻辑结构逐级转换为树型结构,然后再将这些转换的树型结构按照顺序组装起来。并且,遍历流程图也可以采取不同的策略。本发明在此并没有限制。
以上,结合图3~8对本发明实施例的将流程图转换为等价的树状图的方法进行了描述。应当指出,图5所示实施例中,当被转换的流程图中不包括循环逻辑结构时,图5中的步骤505~520和535可以省略。并且,当被处理的流程图本身已经是一个规范化的流程图时,步骤525也可以省略。
通过以上的描述可知,采用本发明的将流程图转换为等价的树状图的方法,可以在不丢失原流程图的语义的情况下,将该流程图转化为一个等价的树状图,从而可以同时利用流程图和树状图的优点。
将等价的树状图转换为流程图的方法在同一发明构思下,根据本发明的另一个方面,提供了一种将等价树状图转换为流程图的方法,该等价树状图可以是例如由前面所述的将流程图转换为等价树状图的方法生成的。下面就结合附图对该方法进行说明。
本发明的将等价树状图转换为流程图的方法,实际上就是将等价树状图中的分支节点转换(还原)为流程图中的相应的逻辑结构,将等价树状图中的分支节点下的叶子节点转换(还原)为流程图中相应逻辑结构中的处理动作。
下面就结合本发明的将等价树状图转换为流程图的方法的实施例,来详细地描述一下具体的转换过程。图9是根据本发明的一个实施例的将等价树状图转换为流程图的方法的流程图。
如图9所示,首先在步骤905,进行初始化。具体地,初始化一个只包括开始节点和结束节点的流程图,将开始节点和结束节点之间作为当前位置A,,并将等价树状图的根节点设为当前节点。
接着,在步骤910,以深度优先遍历的方式,取出树状图的下一个节点作为当前节点A。
接着,在步骤915,判断该当前节点A是否为空,如果是,则进行到步骤940结束,否则进行到步骤920。
在步骤920,判断该当前节点A是否为叶子节点,如果是,则进行到步骤935,否则进行到步骤925。
如果进行到步骤925,则在该步骤中,按照当前节点的类型创建一个相应类型的逻辑结构,例如,顺序逻辑结构、分路逻辑结构、循环逻辑结构等。接着,在步骤930,在当前位置A’插入该逻辑结构,并将当前位置A’移到该逻辑结构的第一个插入位置,例如,顺序逻辑结构的第一个节点位置、分路逻辑结构的第一个分支、循环逻辑结构的循环体(loop-body)等。然后,返回步骤910,重复后续处理。
如果由步骤920进入到步骤935,则在该步骤,在当前位置A’插入与当前节点A相对应的处理动作节点,并将当前位置A’移到所处逻辑结构的下一个插入位置。然后,返回步骤910,重复后续处理。
图10A~10J以图4B所示树状图为例逐步地示出了将等价树状图转换为流程图的处理过程。
应当指出,虽然以上按照图9所示的实施例对本发明的将等价树状图转换为流程图的方法进行了说明,但是,本发明并不仅限于该实施例。例如,对于等价树状图的遍历方式,也可以是宽度优先或者其它搜索方式。
通过以上的描述可知,采用本发明的将等价树状图转换为流程图的方法,可以将通过前述将流程图转换为等价树状图的方法生成的等价树状图转化(还原)为流程图,从而可以同时利用流程图和树状图的优点。
编辑流程图的方法在同一发明构思下,根据本发明的另一个方面,提供了一种编辑流程图的方法。下面就结合附图对该方法进行说明。
图11是根据本发明的一个实施例的编辑流程图的方法的流程图。如图11所示,首先在步骤1105,根据被编辑的流程图生成等价树状图。具体地,本步骤使用前面描述的将流程图转换为等价树状图的方法,生成等价树状图。
接着,在步骤1110,在等价树状图中进行修改。本实施例的编辑流程图的方法,适用于用户显式地(explicitly)在等价树状图中进行编辑修改的情况。即,系统将生成的等价树状图直接显示给用户,允许用户直接对该图操作,例如,图16示例性地展示了用于让用户进行流程图编辑操作的用户界面。
具体地,本步骤的修改可以包括修改节点位置,例如,用户可以将树状图中叶子节点或子树拖放(drag & drop)到一个新的位置,或者将叶子节点或子树拷贝粘贴(copy & paste)到一个新的位置;修改节点类型,用户也可以在树状图中改变分支节点的类型属性,例如,将AND分路逻辑结构类型的分支节点改为OR分路逻辑结构类型等等。
然后,在步骤1115,将等价树状图转换为流程图,具体地,使用前面描述的将等价树状图转换为流程图的方法。这样,用户在等价树状图中的修改就可以体现在流程图中。最后在步骤1120结束。
本实施例的编辑流程图的方法,利用了等价树状图的优点,通过让用户直接在等价树状图中进行编辑,可以大大简化流程图的修改操作。例如,对于前面背景技术部分描述的需要许多操作步骤的流程图的修改情况,利用本实施例的方法,只需要一步即可。
图12是根据本发明的另一个实施例的编辑流程图的方法的流程图。如图12所示,首先在步骤1205,根据被编辑的流程图生成等价树状图。与前面实施例相同,本步骤也使用前面描述的将流程图转换为等价树状图的方法生成等价树状图。
接着,在步骤1210,在流程图中进行修改。本实施例的编辑流程图的方法,适用于用户隐式地(implicitly)在流程图中进行编辑修改的情况。即,不将生成的等价树状图显示给用户用于编辑操作,而是保存在存储器中。用户仍然在流程图中进行修改,例如,拖放一个或多个节点、删除或拷贝一个或多个节点等等。
接着,在步骤1215,判断用户的修改是否许可。具体地,本步骤利用等价树状图来进行用户修改合法性的判断,例如,如果用户选择的节点对应于等价树状图中的一个子树,或者用户选择的节点对应于等价树状图中的多个子树并且这些子树共同具有一个相同的父节点,则判断为许可,否则判断为不允许。如果本步骤判断为许可,则进行到步骤1225,否则进行到步骤1220拒绝该修改并在步骤1235结束。
如果进行到步骤1225,在该步骤,在等价树状图中进行相应的修改。然后在步骤1230,将等价树状图转换为流程图(使用前面实施例中描述的将等价树状图转换为流程图的方法)。最后,在步骤1235结束。
本实施例的编辑流程图的方法,利用了隐含的等价树状图的优点,一方面可以验证用户编辑操作的合法性,另一方面可以大大提高流程图修改的操作方便性。例如,对于前面背景技术部分描述的需要许多操作步骤的流程图的修改情况,在本实施例的方法中,通过等价树状图的转换,被大大简化。
验证重组流程图的合法性的方法在同一发明构思下,根据本发明的另一个方面,提供了一种验证重组流程图的合法性的方法。下面就结合附图对该方法进行说明。
图13是根据本发明的一个实施例的验证重组流程图的合法性的方法的流程图。在本发明中重组(reorganizing)流程图是指涉及流程图的结构的修改,例如,通过将一个或多个节点拖放到新的位置、将一个或多个节点拷贝粘贴到一个位置、或者删除一个或多个节点等等。
如图13所示,首先在步骤1305,根据流程图生成等价树状图。具体地,本步骤使用前面描述的将流程图转换为等价树状图的方法生成等价树状图。
接着,判断在流程图中被选择作为修改对象的节点是否对应于等价树状图中的一个子树。如果是,则在步骤1320,确认重组合法,否则进行到步骤1315。
在步骤1315,判断在流程图中被选择作为修改对象的节点是否对应于等价树状图中的多个子树并且这些子树共同具有一个相同的父节点。如果是,则在步骤1320,确认重组合法,否则在步骤1325,判定重组不合法。
最后,在步骤1330结束。
本实施例的验证重组流程图的合法性的方法,利用了等价树状图的优点,可以验证用户编辑操作的合法性,从而将计算机处理流程图的能力提高到一个语义理解的新高度。
创建流程图的方法在同一发明构思下,根据本发明的另一个方面,提供了一种创建流程图的方法。下面就结合附图对该方法进行说明。
在以上描述的等价树状图的定义以及与流程图的转换规则的基础上,人们也可以利用等价树状图来创建流程图。首先,根据要建模的处理过程(本发明中称为任务)创建等价树状图,即,用分支节点表示逻辑结构、用叶子节点表示处理动作;然后,利用前面描述的转换方法将等价树状图转换为流程图。
图15是根据本发明的一个实施例的创建流程图的流程图。如图5所示,首先,在步骤1505,进行初始化,具体地,创建一个只包括一个根节点和一个叶子节点的树状图,并把该叶子节点设为当前节点。这个唯一的叶子节点代表整个要建模的任务(全部处理过程)。
接着,在步骤1510,判断当前叶子节点的任务是否可以分解。如果可以分解则进行到步骤1515,否则进行到步骤1520。
如果进行到步骤1515,则在该步骤,将当前节点的任务分解为一个或多个子任务,作为在当前节点下的子节点,并且根据子任务的执行逻辑设定当前节点的分支节点类型。也就是说,当一个任务可以被分解为多个子任务时,通过执行以上步骤1510和1515,则可以在树状图中将该任务用表示子任务的叶子节点和与子任务的执行逻辑相对应的类型的分支节点表示出来。如前面的实施例中描述的那样,子任务的执行逻辑可以包括顺序逻辑、分路逻辑和循环逻辑,并且分路逻辑又可以包括AND分路逻辑、OR分路逻辑和XOR分路逻辑。相应地,树状图中的分支节点也包括顺序逻辑类型的分支节点、AND分路逻辑类型的分支节点、OR分路逻辑类型的分支节点和XOR分路逻辑类型的分支节点和循环逻辑类型的分支节点。
接着在步骤1520,选取下一个叶子节点作为当前节点。在此,选取下一个叶子节点的顺序,本发明没有特别的限制,可以是例如深度优先或广度优先等各种方式,只要是可以逐一地遍历全部叶子节点即可。
接着在步骤1525,判断是否全部叶子节点的任务都不能再被分解了。如果是,则进行到步骤1530,否则返回到步骤1510重复上述步骤1510~1525。
如果进行到步骤1530,则在该步骤,用户可以编辑生成的树状图,例如,重组、删除和修改等等。当然,此步骤是可选的,用户也可以不进行编辑。
然后在步骤1535,利用前面描述的将等价树状图转换为流程图的方法,将生成的树状图转换为流程图。
最后在步骤1540结束。
由以上说明可知,采用本发明的创建流程图的方法,用户可以首先将业务流程用树状图的方式来建模,然后再转换为常规的流程图。用树状图建模时,不仅修改、编辑操作方便,而且可以提供一种不同于传统的流程图的视角来分析业务流程(处理过程),为用户带来对于业务流程更全面和深入的认识。
流程图编辑器在同一发明构思下,根据本发明的另一个方面,提供了一种流程图编辑器。下面就结合附图对其进行说明。
图14是图示了根据本发明的一个实施例的流程图编辑器的结构的框图。如图14所示,本实施例的流程图编辑器1400包含一个流程图编辑单元1403,其相当于传统的流程图编辑器,具有以往流程图编辑器的功能。本实施例的流程图编辑器1400,在传统的流程图编辑器的基础上,还包括流程图到树状图转换装置1401,用于将流程图转换为等价的树状图;树状图到流程图转换装置1402,用于将等价树状图转换为流程图;等价树状图存储单元1404,用于存储由流程图到树状图转换装置1401生成的等价树状图;等价树状图编辑单元1406,用于编辑由流程图到树状图转换装置1401生成的等价树状图;重组合法性判断单元1405,用于验证用户在流程图编辑单元1403中的编辑操作的合法性。
在操作上,本实施例的流程图编辑器1400中的流程图到树状图转换装置1401可以实施前面描述的将流程图转换为等价树状图的方法,树状图到流程图转换装置1402可以实施前面描述的将等价树状图转换为流程图的方法,重组合法性判断单元1405可以实施前面描述的验证重组流程图的合法性的方法。进而,在操作上,本实施例的流程图编辑器1400可以实施前面描述的编辑和创建流程图的方法。
应当指出,本发明的上述流程图编辑器及其组成部分可以以硬件和软件方式实现,并且根据需要可以和其他装置结合,例如,可以实现在个人计算机、笔记本计算机、掌上型计算机、PDA、文字处理机等各种带有计算功能的设备上,并且可以物理地分离而操作上互相连接完成功能。
以上虽然通过一些示例性的实施例对本发明的将流程图转换为等价树状图的方法、将等价树状图转换为流程图的方法、验证重组流程图的合法性的方法、编辑流程图的方法、创建流程图的方法以及流程图编辑器进行了详细的描述,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附权利要求为准。
权利要求
1.一种将流程图转换为等价树状图的方法,该流程图包括一个或多个逻辑结构和在上述一个或多个逻辑结构中的一个或多个处理动作,其特征在于,所述方法包括遍历上述流程图;将上述流程图中的上述一个或多个逻辑结构转换为上述树状图中的一个或多个分支节点;以及将上述流程图的上述逻辑结构中的一个或多个的处理动作转换为上述树状图中对应的分支节点下的一个或多个叶子节点。
2.根据权利要求1所述的将流程图转换为等价树状图的方法,其特征在于,上述逻辑结构包括顺序逻辑结构和分路逻辑结构,相应地上述树状图中分支节点包括顺序逻辑结构类型的分支节点和分路逻辑结构类型的分支节点。
3.根据权利要求2所述的将流程图转换为等价树状图的方法,其特征在于,上述流程图还包括至少一个循环逻辑结构,相应地上述树状图中分支节点还包括循环逻辑结构类型的分支节点,上述方法包括在上述流程图中找出所述一个或多个循环逻辑结构;分别为找到的每个循环逻辑结构和除去循环逻辑结构的主流程执行上述遍历和后续步骤,形成与上述至少一个循环逻辑结构对应的至少一个子树和与上述主流程对应的主树;以及将上述至少一个子树装配到上述主树中。
4.根据权利要求3所述的将流程图转换为等价树状图的方法,其特征在于,上述找出循环结构的步骤是在上述遍历上述流程图的步骤之前进行的。
5.根据权利要求3所述的将流程图转换为等价树状图的方法,其特征在于,还包括对上述流程图进行规范化的步骤。
6.根据权利要求2所述的将流程图转换为等价树状图的方法,其特征在于,上述分路逻辑结构包括AND分路逻辑结构、OR分路逻辑结构和XOR分路逻辑结构,相应地上述分路逻辑结构类型的分支节点包括AND分路逻辑结构类型的分支节点、OR分路逻辑结构类型的分支节点和XOR分路逻辑结构类型的分支节点。
7.根据权利要求3所述的将流程图转换为等价树状图的方法,其特征在于,上述循环逻辑结构包括WHILE循环逻辑结构和UNTIL循环逻辑结构,相应地上述循环逻辑结构类型的分支节点包括WHILE循环逻辑结构类型的分支节点和UNTIL循环逻辑结构类型的分支节点。
8.根据权利要求1~7中的任意一项所述的将流程图转换为等价树状图的方法,其特征在于,上述遍历上述流程图的步骤是按照深度优先搜索策略或者宽度优先搜索策略进行的。
9.一种将等价树状图转换为流程图的方法,其特征在于,上述等价树状图包括一个或多个表示逻辑结构的分支节点和在上述一个或多个分支节点下的表示处理动作的叶子节点,所述方法包括遍历上述等价树状图;将上述树状图中的上述一个或多个分支节点转换为上述流程图中的一个或多个逻辑结构;以及将上述树状图中上述分支节点下的上述一个或多个叶子节点转化为上述流程图中相应的逻辑结构中的一个或多个处理动作。
10.根据权利要求9所述的将等价树状图转换为流程图的方法,其特征在于,上述遍历上述树状图的步骤是按照深度优先搜索策略或者宽度优先搜索策略进行的。
11.根据权利要求9所述的将等价树状图转换为流程图的方法,其特征在于,上述逻辑结构包括顺序逻辑结构、分路逻辑结构和循环逻辑结构,相应地上述树状图中分支节点包括顺序逻辑结构类型的分支节点、分路逻辑结构类型的分支节点和循环逻辑结构类型的分支节点。
12.根据权利要求11所述的将等价树状图转换为流程图的方法,其特征在于,上述分路逻辑结构包括AND分路逻辑结构、OR分路逻辑结构和XOR分路逻辑结构,相应地上述分路逻辑结构类型的分支节点包括AND分路逻辑结构类型的分支节点、OR分路逻辑结构类型的分支节点和XOR分路逻辑结构类型的分支节点。
13.根据权利要求11所述的将流程图转换为等价树状图的方法,其特征在于,上述循环逻辑结构包括WHILE循环逻辑结构和UNTIL循环逻辑结构,相应地上述循环逻辑结构类型的分支节点包括WHILE循环逻辑结构类型的分支节点和UNTIL循环逻辑结构类型的分支节点。
14.一种验证重组流程图的合法性的方法,该流程图中的一个或多个节点被选择重组,其特征在于,该方法包括以下步骤使用上述权利要求1至6的任意一项所述的将流程图转换为等价树状图的方法,将上述流程图转换为等价树状图;以及如果上述被选择的一个或多个节点对应于上述等价树状图中的一个子树,或者上述被选择的一个或多个节点对应于上述等价树状图中的多个子树并且这些子树共同具有一个相同的父节点,则判断该流程图的重组合法,否则判断该流程图的重组不合法。
15.一种编辑流程图的方法,其特征在于,包括。使用上述权利要求1至8的任意一项所述的将流程图转换为等价树状图的方法,根据上述流程图生成等价的树状图;修改上述生成的等价树状图;以及使用上述权利要求9至14的任意一项所述的将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。
16.一种编辑流程图的方法,其特征在于,包括。使用上述权利要求1至8的任意一项所述的将流程图转换为等价树状图的方法,根据上述流程图生成等价的树状图;选择修改上述流程图中的一个或多个节点;如果上述被选择的一个或多个节点对应于上述等价树状图中的一个子树,或者上述被选择的一个或多个节点对应于上述等价树状图中的多个子树并且这些子树共同具有一个相同的父节点,则允许修改,否则不允许修改;如果允许修改则在上述生成的等价树状图中进行相应的修改;以及使用上述权利要求9至14的任意一项所述的将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。
17.一种流程图编辑器,用于编辑流程图,其特征在于,包括流程图到树状图转换装置,用于将流程图转换为等价的树状图;以及树状图到流程图转换装置,用于将由上述流程图到树状图转换装置生成的等价树状图转换为流程图。
18.根据权利要求17所述的流程图编辑器,其特征在于,还包括等价树状图存储单元,用于存储由上述流程图到树状图转换装置生成的等价树状图;以及等价树状图编辑单元,用于编辑由上述流程图到树状图转换装置生成的等价树状图。
19.根据权利要求18所述的流程图编辑器,其特征在于,还包括重组合法性判断单元,用于验证用户对上述流程图的编辑操作的合法性。
20.一种创建流程图的方法,其特征在于,包括根据需要建模的任务,创建一个树状图,其中该树状图中的分支节点表示逻辑结构,该树状图中的叶子节点表示处理动作;以及使用上述权利要求9至14的任意一项所述的将等价树状图转换为流程图的方法,将上述等价树状图转换为流程图。
21.根据权利要求20所述的创建流程图的方法,其特征在于,上述创建树状图的步骤包括。创建一个包括根节点和一个叶子节点的树状图,用该叶子节点表示上述处理过程;将上述树状图中的叶子节点所表示的任务分解为一个或多个子任务作为该叶子节点下的一个或多个孩子叶子节点,并将该叶子节点修改为与上述一个或多个子任务的执行逻辑对应的类型的分支节点;以及重复上述的分解步骤,直到上述树状图中全部的叶子节点所表示的业务不能再被分解。
全文摘要
本发明提供了将流程图转换为等价树状图的方法、将等价树状图转换为流程图的方法、验证重组流程图的合法性的方法、编辑流程图的方法、创建流程图的方法以及流程图编辑器。该流程图包括一个或多个逻辑结构和在上述一个或多个逻辑结构中的一个或多个处理动作,该将流程图转换为等价树状图的方法,包括遍历上述流程图;将上述流程图中的上述一个或多个逻辑结构转换为上述树状图中的一个或多个分支节点;以及将上述流程图的上述逻辑结构中的一个或多个的处理动作转换为上述树状图中对应的分支节点下的一个或多个叶子节点。进而,再利用等价树状图来进行流程图的编辑和重组流程图的验证。
文档编号G06F17/30GK1704934SQ20041004611
公开日2005年12月7日 申请日期2004年5月31日 优先权日2004年5月31日
发明者王健, 朱俊, 叶盛, 李静, 梁海奇, 刘 英, 左英男 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1