0 引言
由于全球市场的形成,各制造企业在寻求新的发展的同时,不得不试图摆脱办事效率低下的多层次的组织结构,使企业的业务过程和决策建立在扁平化的自组织的管理基础上,这就导致了BPR研究的出现,把易出错的传统业务过程中的人工或自动任务集成到分布式企业的工作环境中。近年来,Internet等新技术为BPR的实现带来了一个基于网络计算的业务处理新概念—工作流管理。工作流管理是利用计算机技术和信息技术作支持,来实现企业或组织机构业务流程的自动化处理。它和企业的业务流程重组紧密地联系在一起。从技术角度来看,工作流管理集成了来自计算机科学和管理科学的原理、方法和技术,其中包括了数据库管理、异构分布计算、系统集成和业务重组等领域的内容;从应用角度来看,工作流系统具有很好的可扩展性,不仅支持了产品数据的集成,而且支持了产品过程的集成,可以实现业务过程控制,适用于分布、并行的运行环境。工作流管理理论的出现为分布式网络化制造系统的有效运作和管理提供了很好的解决方案。
1 工作流的概念
工作流的概念最初起源于JCL,其目的是让用户定义一组由工作步骤组成的工作流程。1993年,欧洲成立了工作流管理联盟,它将工作流定义为:“业务流程的全部或部分自动化,在此过程中,文档、信息或者任务按照一定的过程规则流转,实现组织成员间的协调工作以期达到业务的整体目标”。本文我们给出工作流的另外一种描述:工作流是由不同的处理实体执行的一组相互协作的活动或任务构成的有序集合。具体来说,在DNMS中多个功能实体之间为了完成整个制造过程而执行的一系列相关的任务,就构成了一个工作流。
工作流根据其用途和技术不同,可以分为行政工作流、合作工作流、生产工作流等。其中,生产工作流是工作流的高级形式,它是关键业务流程的一种实现,直接关系到组织的功能,一般在规模复杂异构的执行环境下运行,包含有各类的任务、人和组织,涵盖了行政工作流和合作工作流。DNMS中的工作流属于生产工作流,在本文中称之为制造工作流。
制造工作流的核心是制造过程中的多个任务和任务之间的相互关系。从这个意义上来说,制造工作流可以定义为:
制造工作流=制造任务+任务间的关系
“制造任务”的集合组成了制造工作流中的元素,“任务间关系”的集合就形成了制造工作流的结构。
工作流描述语言有图形化描述语言和基于规则的描述语言。其中,图形化的描述方法能够清晰、明了地建立工作流的结构模型,这种表示方法称之为“工作流图”。本文所讨论的工作流的结构模型都用“工作流图”来表示。在制造系统中,常见的工作流图有3种。最简单的是顺序结构制造工作流,如图1所示。在这种结构中,多个任务之间在时间上存在着一定的顺序关系,相邻的两个任务之间的关系用“紧前”和“紧后”来描述。在顺序结构中,起始任务没有前继,终止任务没有后继,其它任务有且只有一个前继和一个后继。其次是分结构制造工作流,如图2所示。在这种结构中,一个任务在不同条件下可能出现多个紧后任务,而且这多个任务之间不存在并行性。特别地,如果某一个任务在执行完之后没有达到预定的要求,需要按条件重新返回执行前面(或当前)的任务,这种情形也应该属于分支结构。第3种是并行结构制造工作流,如图3所示。在这种结构中,一个任务在不同的条件下可能出现多个紧后任务,而且这多个任务之间存在着并行性。
2 制造工作流中的任务
制造工作流是一系列制造任务及其相互关系的有序集合。在DNMS中,制造任务是指由功能实体(自动化设备、人机系统和人或组织、企业)所执行的与整个制造过程相关的某一项(或一组)活动。
制造任务总是由一个或多个功能实体完成的,它可以被理解为:由特定的人员,在特定的时间段内,使用特定的设备和工具,对特定的资源所执行的某些操作。因此,人员、时间、设备和工具、资源、操作内容这5个方面就构成任务的基本要素。
任务的5个基本要素是对一个任务进行标识和描述的基础。在同一个工作流中,任何两个任务之间都不应该拥有完全同样的基本要素;任何两个任务之间也不可以在同一时间内占用同样的人员;类似的情况同样适用于设备、工具、资源和操作内容。
3 任务间的关系
两个相关任务之间最简单的关系是前、后继关系,它充分描述了工作流的平面结构。利用任务之间的“紧前”和“紧后”关系,我们就可以将多个任务联结起来,形成一个平面内的完整工作流图。在某些情况下,制造工作流中的某一个任务可能是其它一组基本任务的集合。被分解的任务称之为“父任务”,分解出来的任务被称为“子任务”。任务的父、子关系可以用“分解模式”表来描述,如表1所示。
在对制造工作流中的任务进行分解时,分解的层次和粒度应该根据用户的具体情况来决定。需要特别注意的是,父任务和子任务之间在基本要素和前、后继关系上要保持一致。这些一致性要求:父任务的紧前(或紧后)任务必然是某一个子任务的紧前(或紧后)任务;子任务的紧前和紧后任务,只能是来自于同一父任务的其它子任务或者父任务的紧前和紧后任务;如果父任务有多个紧前任务,就有且只有一个子任务拥有这些全部的紧前任务;如果父任务有多个紧后任务,就有且只有一个子任务拥有这些全部的紧后任务。任务的前、后继关系可以构成工作流的平面结构,而任务之间的父、子关系则构成了工作流的层次结构。这两种关系相结合,就可以从多个层次上对制造工作流进行全面的描述。
4 用任务及其关系描述工作流图
从本质上来说,制造工作流的结构是一种有向图4。它主要是由任务之间的前、后继关系所决定的平面结构,这种结构可以用如# 节中所示的工作流图来进行描述。另外,制造任务的分解也可能形成多个层次上的工作流图,从而形成了工作流图的层次结构。由于计算机不能直接处理工作流图,更不能处理工作流图的层次结构,所以需要将工作流图的结构信息用其它的描述方法来表示。
.1 工作流图平面结构的表示
假设一个工作流图中包含n个任务,则该工作流图的结构矩阵S定义为:
然,结构矩阵仅由元素1和0组成。在这样的矩阵中,每一行(或每一列)都对应着工作流中的一个任务。如果第i行第j列处的元素为1,就表示在制造工作流中执行完任务i之后就将执行任务j。
工作流图的结构信息虽然可以用结构矩阵的方法进行表示,但是它不包含多余的信息,无法对自身进行检验,也无法对工作流图中的分支条件、返回条件等进行描述。所以有时要采用其它的比较详细的表示方法,如表格法。其原理如表2所示。使用表$ 这样的联结表,不仅能够描述顺序结构的工作流图,同样也能够描述分支结构和并行结构的工作流图。表3中所记录的前、后继关系可以和矩阵表达式中所记录的结构信息相互转换。不过,联结表也存在缺陷。
4.2 工作流图层次结构的表示
用结构矩阵可以描述工作流图的平面结构信息,同样,用类似的“分解矩阵”可以描述工作流图的层次结构信息。图5演示了由于任务的分解而形成工作流图层次结构的情形。
由于矩阵表示法和表格表示法各有优缺点,在实际使用过程中可以将两种表示方法结合起来。即:用表格来存储和管理工作流图的结构信息,便于用来进行存储和管理;而在工作流管理程序的运行过程中则将结构信息转换为矩阵表示,以利于快速处理。
CIO之家 www.ciozj.com 公众号:imciow