技术开发 频道

UML:为工作流建模

    UML活动图

    活动图是UML中用于描述业务流程的最重要的工具,它提供了一系列的图形符号来支持对业务流程的建模,并提供对条件、并行和反复的逻辑行为的支持,常常用于对系统动态方面建模。

    UML活动图本质上是一个流程图。它可以用于描述活动到活动的控制流。除此之外,还可以定义参与到活动中的对象及其角色、状态和属性的变化。UML活动图一般包括以下几个元素,而这些元素在概念上和工作流过程元素有很多相似甚至相同之处:

    状态:一个活动图是一个特殊的状态机。其中所有的状态(或者至少大多数)都是动作状态或活动状态。动作状态代表一个可执行的原子计算,一个动作执行;活动状态代表非原子的,可以进一步分解的复合计算。所以在为工作流建模时,我们利用活动图中的状态建模工作流过程活动(原子活动和非原子的块、子流程)。活动是工作流过程中的一个逻辑步骤或任务,是工作流过程的重要组成部分。

    转换:规约的是流转关系,显示从一个活动或动作状态到下一个活动或动作状态的传递。对应于工作流模型中的转移,描述了流程的路径。转换上所附的监护条件是转移发生的条件,对应于工作流中的转移上附着条件。用来决定工作流执行路径。

    对象:描述一个活动图中涉及的事物,可能是活动的输入或输出。在UML活动图中,用带有向箭头的虚线表示了对象和对它们进行创建、撤销、修改和使用的活动之间的依赖关系。

    在控制逻辑方面,活动图提供分支和同步棒对业务逻辑的条件和并发行为进行描述。分支是多个控制流中的排它选择。只有一个控制流被选择,而同步棒描述的是并发的控制流。它们分别代表了工作流中的互斥连接符和与连接符。

    为了表示业务的开始和结束,活动图使用了开始活动和结束活动的符号。我们继续沿用活动图中开始和结束活动的概念,标志工作流过程的开始和结束,不针对具体任务的空活动。

    通过前文的介绍,我们可以发现活动图建模工作流的便利之处。但是用活动图描述工作流,还存在着不足。

    例如并不是所有的用于汇聚或者叉分控制流的连接都能用活动图直接的建模。活动图中存在和与连接符、互斥连接符等同的构造模型,但是没有构造型和或连接符等同;组织元素对于活动的职责可以通过把活动放在代表组织元素的泳道中来实现,但是泳道不足以建模准确的组织职责,而这些职责对用于支持工作流管理系统的执行的工作流定义是很重要的;而且活动图中没有对工作流所需应用的建模支持。

    工作流过程图

    为了增强活动图为工作流建模的完整性和准确性,我们提出了对活动图进行扩展。在活动图为工作流建模时,我们发现用户常常关注与活动进行协作的信息实体的描述。也就是说,在活动图的这种应用中,对对象和对象流的建模显得特别重要。所以我们在扩展活动图时,也突出强调了对对象和对象流的扩展。

    在扩展后的工作流过程图中,我们把对活动负责的组织元素从泳道中脱离出来,用参与者(Org—element)独立表示。

    参与者是根据属性、资格和/或技艺划分的一类人或是自动机,它执行过程中的活动,其形态可以表现为部门、工作组(团队)、职位、人员、角色、资源。在JBDelta中,过程模型和组织模型是相对独立的,通过调用组织模型信息为活动动态分配参与者。

    工作流过程图同时扩展了新的被调应用(Fun—element)构造型,它代表被活动调用的应用。绝大多数情况下,活动都有被调应用。例如占工作流绝大部分的交互活动和自动活动都要采取手工或自动的方式使用被调应用,而且一个被调应用会使用工作流相关数据。但活动也可以没有被调应用。例如开始活动、结束活动和非原子活动(块、子流程)没有被调应用。

    而功能模型(Function mode1)、组织模型(Organization mode1)和数据模型(Data mode1)分别定义了支持工作流过程的三个相对独立的信息模型,它们是工作流中的分组元素。组织模型以职责、权限的形式定义了部门、角色、职位员,资源等组织信息;数据模型标识和规约了工作流过程或活动涉及的数据信息;功能模型定义了过程或活动中所具备或调用的功能信息。

    可参看表1列出的工作流过程图中扩展的构造型。

    应用工作流过程图

    工作流过程图增强了过程模型中活动逻辑的描述能力。利用工作流过程图中的转移、分支、同步棒和或连接,可以定义过程模型中的顺序、并发、互斥选择、或选择、反复等控制流逻辑。

    UML中,扩展的构造型(stereotype)可以用特殊图形来表示,也可以把构造型的名字用书名号(<< >>)括起的方式表示。

    图2(见上页)显示了一个工作流过程图表征的入学的过程。上图是高层次的工作流过程模型,定义了活动和支持它的组织模型、数据模型、功能模型之间的关联;下图显示的是用对象描述的具体工作流过程,定义了活动和支持活动的组织模型、数据模型、功能模型中相应的参与者、被调应用和相关数据,是左边模型的细化。

    工作流过程图主要用途表现在基于青鸟的工作流过程元模型描述工作流。它充分利用UML是一个OMG标准并广泛被应用的语言的优势。

    在我们的方法中,每一个工作流过程都用工作流过程图描述,定义了工作流中的具体活动以及执行活动所需要的信息,支持完整的工作流概念。
 

0