第 1 章 绪论
1.1 科学工作流的产生与发展
1.1.1 工作流技术的产生
工作流技术起源于办公自动化领域[1],早期的企业管理基本是以书面文字的方式记录各项业务流程,并以人工的方式进行传递。通常对于一项事务的处理,需要经过不同人员的传送,有些还涉及到文件的签字、修改、审批等工作,环节众多,流程繁琐,其中一项环节出错,将影响整项工作。在这种模式中,人力是业务每一环节的必要参与条件,上级要想了解当前的进展,如文件在哪个人员手里,是否出现问题,则需要一级一级询问每一位参与者,不仅费时费力,办事效率低,且对于文件的保管存在很大的隐患。因此,人们并不希望过度依赖于纸张,而是需要一种通过计算机实现的自动化的办公管理平台。八十年代中期[2],一些公司开始将办公流程中的某些功能结合起来,如图像扫描、文档管理、E-mail 应用以及关键词索引等,形成了一种集成化软件包,这就是工作流管理系统初期的表现形式。进入九十年代[3],信息资源增长速度加快,企业需要对不同地区的业务进行集中管理。针对这个现象,Client/Server 体系结构和分布式处理技术等应运而生。与此同时,工作流技术的应用场景也发生了转变,由最初的无纸化办公转换成企业复杂业务的处理。
早期工作流技术并没有统一的标准,1993 年,工作流管理联盟(Workflow Management Coalition-WFMC)成立[4],对工作流中的一些名词给出了基本的解释和定义。自此,工作流技术的发展进入相对成熟的阶段,越来越多的学者投入到工作流的研究中。到 1997 年[5][6],行业中已经有 70 多种工作流管理产品,根据其任务项所采用的机制不同,大致分为四种类型:基于 Web 的工作流系统,通过 WWW 来完成任务间的协作;基于文件的工作流系统,以共享文件的方式实现任务项的传递;基于消息的工作流系统,通过用户的 e-mail 来完成任务项的传递;群件与套件系统[7],这类系统依赖于自己系统内部的应用程序基础架构,构成一个完整的应用开发环境,集成消息传递、数据库、日志管理与文档管理等功能。
在实现办公自动化的过程中,工作流技术是不可或缺的关键技术。各行各业应用工作流不仅可以有效简化操作步骤,提升办事效率,通过对业务流程的建模和深入分析,还能发现流程中不适用的环节,进而进行适当的优化或重组,为企业不断完善流程体系。同时,根据不同行业的不同需求,工作流技术还可以和其他应用系统有效结合,形成新的背景环境下的管理系统。
.............................

1.2 国内外科学工作流管理系统发展现状
1.2.1 工作流管理系统结构模型
工作流管理系统是一个提供对工作流创建、执行、运行结果可视化的管理平台,WFMC 对工作流管理系统给出的定义如下[24]:“工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行”。不同的开发者针对企业的特定需求对工作流管理系统有不用的实现方式,从比较高的层次来抽象,工作流管理系统都提供以下三种功能[25]:
1.2.1 工作流管理系统结构模型
工作流管理系统是一个提供对工作流创建、执行、运行结果可视化的管理平台,WFMC 对工作流管理系统给出的定义如下[24]:“工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行”。不同的开发者针对企业的特定需求对工作流管理系统有不用的实现方式,从比较高的层次来抽象,工作流管理系统都提供以下三种功能[25]:
(1)模型建立阶段:创建工作流模型,设计工作流的过程定义。
(2)模型运行阶段:在系统中执行工作流,并且根据工作流的执行状态和中间结果等信息对工作流进行调整。
(3)人机交互功能:用户可以在工作流执行过程中完成对工作流监控、参数设置、资源配置等操作。
图 1.2 所示是工作流管理系统三个主要功能之间的关系:

.............................

(2)模型运行阶段:在系统中执行工作流,并且根据工作流的执行状态和中间结果等信息对工作流进行调整。
(3)人机交互功能:用户可以在工作流执行过程中完成对工作流监控、参数设置、资源配置等操作。
图 1.2 所示是工作流管理系统三个主要功能之间的关系:

.............................
第 2 章 相关技术理论基础
2.1 工作流标准化参考模型
2.1.1 工作流参考模型
为了对工作流制定统一的技术规范,工作流管理联盟提出了工作流参考模型[31],描述了工作流管理系统中的基本构成组件和组件间的交互接口,如图 2.1 所示,各组件的功能描述如下:
2.1 工作流标准化参考模型
2.1.1 工作流参考模型
为了对工作流制定统一的技术规范,工作流管理联盟提出了工作流参考模型[31],描述了工作流管理系统中的基本构成组件和组件间的交互接口,如图 2.1 所示,各组件的功能描述如下:

工作流引擎:负责解析工作流过程定义文件并执行工作流。
流程定义工具:负责创建工作流,提供给用户图形组件,以图形化的方式定义业务流程。
客户端应用:与工作流管理系统交互的外部应用,检查工作流当前的执行状态,将作业提交到需要运行的工作流节点中。
被调用程序:被工作流执行服务调用的程序,以协作工作流引擎执行工作流实例,并将结果返回到工作流引擎。
工作流执行服务:主要完成对工作流的解析和执行,负责管理系统中的各个工作流实例。
流程定义工具:负责创建工作流,提供给用户图形组件,以图形化的方式定义业务流程。
客户端应用:与工作流管理系统交互的外部应用,检查工作流当前的执行状态,将作业提交到需要运行的工作流节点中。
被调用程序:被工作流执行服务调用的程序,以协作工作流引擎执行工作流实例,并将结果返回到工作流引擎。
工作流执行服务:主要完成对工作流的解析和执行,负责管理系统中的各个工作流实例。
..............................
2.2 工作流建模方法
2.2.1 基于 UML 活动图的建模方法
UML 是一种可视化的建模语言[34],它定义了一系列图形符号以及相应的建模规则,可以满足不同应用场景下的建模需求。
活动图通过控制流表现活动间的传递关系,可描述活动的顺序执行、并行执行及条件选择执行,是工作流建模的强大工具。活动图通过各个活动节点的状态变化推动流程的前进方向,特别适合描述企业的业务流程。
(1)UML 活动图中的建模元素
UML 活动图提供了丰富的建模元素,用于工作流的建模,如图 2.4 所示:
2.2.1 基于 UML 活动图的建模方法
UML 是一种可视化的建模语言[34],它定义了一系列图形符号以及相应的建模规则,可以满足不同应用场景下的建模需求。
活动图通过控制流表现活动间的传递关系,可描述活动的顺序执行、并行执行及条件选择执行,是工作流建模的强大工具。活动图通过各个活动节点的状态变化推动流程的前进方向,特别适合描述企业的业务流程。
(1)UML 活动图中的建模元素
UML 活动图提供了丰富的建模元素,用于工作流的建模,如图 2.4 所示:

活动图中有两个特殊的节点,起始节点和终止节点,代表整个流程的触发与结束,起始节点用一个实心圆表示,终止节点用实心圆外加一个圆圈表示;活动节点表达原子任务或事件;状态节点表达原子任务或事件的某一状态;或连接/分支表示条件选择,选择满足条件的分支进行执行;与连接/分支表示同时执行所有分支。
............................
3.1 模型设计需求 ............................. 23
3.2 时空拓扑的概念 ............................. 24
第 4 章 科学工作流过程定义 ................................... 34
4.1 工作流描述语言 ................................ 34
4.2 工作流过程定义的基本元素 .............................. 34
第 5 章 科学工作流的可视化与项目应用 ...................... 44
5.1 可视化工作流系统的设计 ............................... 44
5.2 “神威·太湖之光”项目应用 ................................. 45
第 5 章 科学工作流的可视化与项目应用
5.1 可视化工作流系统的设计
上一章对科学工作流的描述语言进行了设计,工作流引擎通过读取 xml 文件,解析文件中的节点定义和关系类型,以可视化的形式展示给用户,可视化工作流系统包括用户模块、工作流引擎、应用模块三个部分,如图 5.1 所示:

(1)用户模块:用户模块负责把创建的工作流实例以图形化的形式展示给用户。用户在界面中创建工作流模型,通过工作流引擎的执行,显示科学工作流的执行结果。管理员管理用户的操作权限,工作流服务器提供连接用户和工作流引擎的接口服务。
(2)工作流引擎:工作流引擎是可视化工作流系统的核心组件,它首先对过程定义文件进行解析,从中提取实体间的关系,组织成工作流模型可视化给用户,然后初始化工作流实例,最后对工作流的执行性能做出评估。
...........................
第 6 章 总结与展望
6.1 本文工作总结
本文主要针对科学工作流的建模方法展开研究,充分调研了科学计算领域工作流应具备的特点及需要解决的问题,提出了基于时空拓扑的科学工作流建模方法,设计了模型的过程定义语言,并结合实际应用项目,以开普勒为开发基础,实现了科学工作流的可视化。本文所做的主要工作如下:
(1)深入学习了工作流技术的起源与发展,从办工作自动化领域迈向科学计算领域的转化过程,了解了事务工作流和科学工作流的联系与区别,着重研究了科学工作流应用场景的特点与需求。
(2)深入研究了几种典型的工作流模型,介绍了各个模型的组成要素、模型间的映射规则和建模方法。通过具体的工作流例子对几种模型进行了分析比较,说明了各个模型的优点与不足。
(3)针对传统的建模方法应用于科学计算领域中的不足,提出了基于时空拓扑的科学工作流模型,加入时间关系、数据依赖关系和包含关系,用控制流和数据流传递节点间不同类型的信息,同时从时间和空间两个层次对科学工作流进行建模,实现了工作流模型更立体、全面的表达。
(4)对于本文提出的科学工作流模型,详细设计了工作流的过程定义语言 STTD,给出了 STTD 的基本构成元素,以及各个元素对应的 xml schema 表示。并通过简单的实例对 STTD 加以说明。
6.1 本文工作总结
本文主要针对科学工作流的建模方法展开研究,充分调研了科学计算领域工作流应具备的特点及需要解决的问题,提出了基于时空拓扑的科学工作流建模方法,设计了模型的过程定义语言,并结合实际应用项目,以开普勒为开发基础,实现了科学工作流的可视化。本文所做的主要工作如下:
(1)深入学习了工作流技术的起源与发展,从办工作自动化领域迈向科学计算领域的转化过程,了解了事务工作流和科学工作流的联系与区别,着重研究了科学工作流应用场景的特点与需求。
(2)深入研究了几种典型的工作流模型,介绍了各个模型的组成要素、模型间的映射规则和建模方法。通过具体的工作流例子对几种模型进行了分析比较,说明了各个模型的优点与不足。
(3)针对传统的建模方法应用于科学计算领域中的不足,提出了基于时空拓扑的科学工作流模型,加入时间关系、数据依赖关系和包含关系,用控制流和数据流传递节点间不同类型的信息,同时从时间和空间两个层次对科学工作流进行建模,实现了工作流模型更立体、全面的表达。
(4)对于本文提出的科学工作流模型,详细设计了工作流的过程定义语言 STTD,给出了 STTD 的基本构成元素,以及各个元素对应的 xml schema 表示。并通过简单的实例对 STTD 加以说明。
参考文献(略)