基于CPN 工作流过程定义
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 2-1 工作流过程定义在工作流管理系统中的定位
其中 构建阶段的功能主要体现在过程的计算机定义 在这个阶段 要通过使 用一个或更多的分析 建模和系统定义技术 将一个现实世界的过程翻译成可用计 算机处理的正规的定义 这个定义的结果有时称为过程模型 过程模板 过程中间 数据或过程定义 过程定义通常包括一些分散的活动步骤 相关的计算机和人的操 作 以及通过不同的活动步骤来进行过程处理的管理规则 过程定义的结果作为工 作流管理系统运行阶段的输入 其表达方式和存储形式影响到整个工作流管理系统 的处理形式 然而 WfMC 制定的有关过程定义模型的接口标准却不甚理想 虽然 大部分用户认为图形化的过程定义规范较符合使用习惯 但 WfMC 认为使用一个
b. T 是一个有限集 其元素称为变迁(transition)
c. P T=∅且 P T ∅ d. C 称为定义在 P T 上的颜色函数(color function) ∀ p P C(p)称为令牌色
集(token-colors set) t T C(t)称为事件色集(occurrence-colors set)
着色 Petri 网(CPN)是具有层次性的高级 Petri 网[5] 它有机解决了数据结构和层 次分解 既有直观的图形表示 又有强大的数学理论支撑 提供了公式化的验证方 法 是能同时验证系统逻辑功能正确性和评估系统性能的建模语言 此外 它还能 自动或者交互进行仿真 CPN 可用任意复杂的数据类型作为颜色集 现在使用带 有复杂数据值的令牌的 CPN 已很普遍 使用数千条记录作为令牌颜色集已在很多 不同领域应用 颜色集与类型以及令牌颜色和令牌值之间已没什么差别
Aalst 利用 Petri 网对工作流描述侧重于控制流描述 相关工作可以在文献[8 43 45 46]中找到 其基本思想就是将 Petri 网中的变迁和工作流的活动相关联 Petri 网表示多级工作流和工作流授权模型的优点在于 Petri 网具有丰富的分析技术 这些技术稍加改变 便能用于分析工作流的特性 例如 授权模型的安全问题和多 级工作流的安全性检测都能通过建立 Petri 网的可达性分析而解决 缺点是缺乏数 据流描述
路由(routing) 路由是执行业务过程所经过的活动和连接的时序排列描述 各活动之间是通过路由关联的 WfMC 给出了如图 2-2 所示的 4 种基本路由结构 顺序路由 并行路由 条件路由 循环路由
图 2-2 WfMC 规定的 4 种工作流路由结构
26
参与者(participant) 参与者是执行活动的资源 参与者并不需特指某个具体 的人 可以是一群具有某种技能或责任的人或设备资源 在较复杂的情况下 参与 者的描述是通过组织单元模型来体现的
定义 2-2 多重集 设 S 为一个非空有限集 S 上的多重集(multi- set overS 或 bag
over S)是一个函数 m S Z 多重集 m 也经常以 ∑ m(s) s 的形式来表示 符号 s∈S
SMS 表示由所有 S 上的多重集所组成的集合 一个 S 上的多重集经常代表一组元素 其中元素 s S 出现|m(s)|次 对于 m1
28
后矩阵(pre- matrix/ post- matrix) I=I+-I-称为关联矩阵(incidence matrix) ∀p P ∀t T 或者 I-(p t) 0 或者 I+(p t) 0 ∀t T ∀p P 或者 I-(p t) 0 或者 I+(p t) 0
f. µ0 P→N 为初始标识 定义 2-6 CPN 的步骤
面向对象 Petri 网[53]具有丰富的表达能力 基于面向对象 Petri 网的工作流过程 定义支持过程定义相关数据和环境数据等关键要素的描述[50] 但是缺乏成熟的理论 和分析工具支持 Konstantin Korr 通过 Petri 网描述工作流的控制流程 通过活动的 属性给出数据流到活动的指派 从而可以采用可达图(coverability graph)对多级安全 工作流的数据流和控制流进行分析[39] 但同样不能直接采用 Design/Cpn 等成熟的 分析工具软件 同时也不能表达数据流和控制流不一致的情况
24
实际上是高级 Petri 网的一个引申 这里 库所表示活动 而变迁则表示活动间的 转移 VanderAalst 则在 Petri 网的基础上定义了 WF- net[8] 即工作流 petri 网 在工 作流网中 变迁被用来表示活动 而库所则表示活动的使能条件 VanderAalst 还把 工作流管理联盟在规范中提出的几种基本的工作流原语映射成相应的 Petri 网模型 由此建立了工作流网的基本组件与触发机制
∅ 表示空
Petri 网是工作流建模的一个合适的工具 一些研究人员认为 Petri 网是模拟工
作流的好工具 作为图形工具 Petri 网提供了表示工作流处理的可视化工具 类似 于流程图 框图等等 Petri 网简单明了 容易理解 如果建立了系统的合理模型 就无需进一步描述系统了 类似的表示法包括状态转换图 34 然而 对任一给定
过程定义本身的描述信息 包括过程定义的 ID 号 文本描述以及其它与管理 过程定义相关的信息(如生产日期 作者等) 它作为过程定义的头信息 与该过程 中涉及到的所有其它元素都相关
活动(activity) 过程定义由一个或多个活动组成 每个活动都包含一个逻辑 性的 自包含的工作单元 工作单元可以由参与者或应用程序执行 一个活动可以 是原子性的(不可再分解的基本行为步骤) 也可以是嵌套性的(含有其它的过程定 义)
2.2 基于 petri 网的工作流过程定义
定义 2-1(Petri 网)五元式 PN(P T F M0)称为一个网 其中
P={p1 p2
pm}是有限库所集
T={t1 t2
tn}是有限变迁集
F (P T) (T P)是有向弧集 它代表结点流关系
M0 P {0 1 2 集[52]
}是初始标识 并且 P T=∅ P T ∅
工作流应用程序的描述 可能会被工作流支持的服务所调用的 IT 应用的描述 可能是一个通用的工业工具 特定的部门或企业服务 本地进程等 工作流应用的 描述反映了工作流引擎和应用程序之间的接口
工作流相关数据 在过程执行中生成和使用到的数据 活动和工作流应用程 序都可使用这些数据 用于在活动间传递持续信息和中间结果 并可用于计算条件 表达式
系统和环境数据 工作流管理系统或本地系统环境所支持的数据 数据类型和表达式 工作流所使用的数据的数据类型以及表达式
2.4 着色 PETRI 网
着色 Petri 网由丹麦的 Jensen 提出[5] 是一种高级 Petri 网 着色 Petri 网是一种 面向图形的建模语言 它适用于系统的设计 描述 模拟和验证 它主要由声明 库所 变迁和有向弧组成 它定义了颜色集(类型) 函数 运算和变量 库所表示 系统的状态 主要元素是库所名 颜色集和初始 tokens 它的图形表示是圆或椭圆. 变迁描述系统的活动或处理 主要元素是变迁名和守卫函数(布尔表达式) 它的图 形表示是方框 有向弧描述了变迁的输入和输出 它的弧表达式描述了当变迁发生 时 CPN 的状态如何改变 CPN 的形式定义和详细介绍参见文献[5]
23
基于图形的标准来作为过程定义的规范比较困难 因此 WfMC 在过程定义方面使 用的是基于语言(WPDL)的规范 然而非图形化的过程定义很难表达上下文的含义 以及控制策略 只有那些精通文本描述定义的人才能对整个过程有完全的认识 普 通的图形表达可能提供了一定程度的抽象 但同时又导致了语义的模糊不清 对于 时间 执行的约束条件 复杂的关系描述以及过程对象和人之间的管理也难以表述
总的来说 工作流的描述应当基于具有丰富语义表达功能的建模方法 这个方 法应当具有清晰性 一致性 易表达性和可扩充性 这个方法应当能足以表达步骤 循环 分支 条件 路径选择 任务分配 时间 调度和约束条件 其语义应当能 够定义控制流 数据流 资源流 并且能够定义策略来处理这些流的中断
本文中提出的基于 CPN 的工作流网侧重于控制流与数据流的描述
e. 弧函数集合为 E 也可以用关联矩阵来表示 P 与 T 之间的函数 I-/I+称为
P T 上的负/正关联函数(negative/positive incidence- function) ∀p P ∀t T
函数值 I-(p t)/I+(p t)本身也是一个函数 C(t)MS C(p)MS I-/I+也常被看作是一个|P| |T|矩阵 其第 i 行和第 j 列的元素取 I-(pi tj)/I+(pi tj) 这时 I-/I+称为前矩阵/
3)V 是一个 n 元矢量 其第 j 个元素 vj AMS 则广义矩阵乘积(generalized matrix
n
∑ multiplication) F*V 定义为一个 m 元矢量 W 其第 i 个元素 wi= fij(vj) BMS j=1
定义 2-5 着色 Petri 网 简称 CPN
一个着色 Petri 网 CPN 是一个七元组 N=<∑ P T C E µ0> 其中 a.源自文库P 是一个有限集 其元素称为库所(place)
的转换 状态转换仅有一个输入和一个输出 因此它不能用于模拟并行活动的同步
控制 总之 Petri 网能可视化表达工作流中的所有特性 关联和限制 如并行 并 发 同步 控制流依赖和临时性的关系等等
Ellis 和 Nutt 在 Petri 网的基础上提出了 ICN(information control nets)模型[13] 它
s∈S
定义 2-3 函数的多重集扩展 给出两个非空集 S R 以及函数 F S RMS F
的多重集扩展(multi-setextension)是函数 F SMS RMS 满足 ∀m SMS F (m)=
∑ m(s) F(s)
s∈S
定义 2-4 广义矩阵乘积
设
1)A 和 B 为两个集合
2)F 是一个 m n 的矩阵 其第 i 行第 j 列的元素 fij AMS BMS 是一个线性函数
m2 SMS 以及 n Z 我们定义下列规则
∑ m1+m2= (m1(s)+m2(s))s s∈S 27
n*m= ∑ (n*m(s))s s∈S
m1=m2 当且仅当 ∀s S [m1(s)=m2(s)] m1<m2 当且仅当 ∀s S [m1(s)<m2(s)]
∑ m1-m2=
m2(s)-m1(s)
2 基于 CPN 工作流过程定义
2.1 工作流过程定义在工作流管理系统中的定位
所有的工作流管理系统都包含以下三个主要功能[7] 见图 2-1 构建阶段功能 包括工作流过程 组成它的活动的定义和建模 运行阶段的控制功能 包括操作系统对工作流过程的管理 以及对每个过程
中的活动进行排序 运行阶段与用户和 IT 应用工具之间的交互作用
WfMC 统一了工作流管理系统中所涉及到的名词术语 并给出过程定义的概念 过程定义是业务过程的形式化描述 用来支持工作流管理系统的建模和执行的自动 化 过程定义包括一系列活动和活动间的关系 过程的起始和终止信息 以及有关 个体的信息 如参与者 与 IT 有关的应用和数据等等 WfMC 根据其组成成员(包 括销售商 用户 分析家 系统集成家 大专院校等)已有的工作流产品 给出了 工作流过程定义的中间模型(meta- model) 并给出了工作流过程定义的基本要素[9]
CP 网的一个步骤(step)是 T 上的函数 S 满足 ∀t T S(t) C(t)MS CPN 的单一步骤(simple step)是一个步骤 S 满足 ∃t1 T S (t1) 0 对 于 t t1 S (t)=0.单一步骤 S 经常记为(t1 S (t1)) 通常 一个 CPN 有一个门卫(guard)函数 如果我们假设所有门卫都是常数
因此我们认为 适合于工作流建模的 Petri 网 需要对普通 petri 网作适当的扩 展 要根据工作流建模的特点和要求 以经典 Petri 网为基网 引入有色 层次 触发器 资源管理等机制 建立适合于工作流建模的能够同时描述控制流和数据流 的高级 Petri 网
25
2.3 工作流过程定义基本要素
其中 构建阶段的功能主要体现在过程的计算机定义 在这个阶段 要通过使 用一个或更多的分析 建模和系统定义技术 将一个现实世界的过程翻译成可用计 算机处理的正规的定义 这个定义的结果有时称为过程模型 过程模板 过程中间 数据或过程定义 过程定义通常包括一些分散的活动步骤 相关的计算机和人的操 作 以及通过不同的活动步骤来进行过程处理的管理规则 过程定义的结果作为工 作流管理系统运行阶段的输入 其表达方式和存储形式影响到整个工作流管理系统 的处理形式 然而 WfMC 制定的有关过程定义模型的接口标准却不甚理想 虽然 大部分用户认为图形化的过程定义规范较符合使用习惯 但 WfMC 认为使用一个
b. T 是一个有限集 其元素称为变迁(transition)
c. P T=∅且 P T ∅ d. C 称为定义在 P T 上的颜色函数(color function) ∀ p P C(p)称为令牌色
集(token-colors set) t T C(t)称为事件色集(occurrence-colors set)
着色 Petri 网(CPN)是具有层次性的高级 Petri 网[5] 它有机解决了数据结构和层 次分解 既有直观的图形表示 又有强大的数学理论支撑 提供了公式化的验证方 法 是能同时验证系统逻辑功能正确性和评估系统性能的建模语言 此外 它还能 自动或者交互进行仿真 CPN 可用任意复杂的数据类型作为颜色集 现在使用带 有复杂数据值的令牌的 CPN 已很普遍 使用数千条记录作为令牌颜色集已在很多 不同领域应用 颜色集与类型以及令牌颜色和令牌值之间已没什么差别
Aalst 利用 Petri 网对工作流描述侧重于控制流描述 相关工作可以在文献[8 43 45 46]中找到 其基本思想就是将 Petri 网中的变迁和工作流的活动相关联 Petri 网表示多级工作流和工作流授权模型的优点在于 Petri 网具有丰富的分析技术 这些技术稍加改变 便能用于分析工作流的特性 例如 授权模型的安全问题和多 级工作流的安全性检测都能通过建立 Petri 网的可达性分析而解决 缺点是缺乏数 据流描述
路由(routing) 路由是执行业务过程所经过的活动和连接的时序排列描述 各活动之间是通过路由关联的 WfMC 给出了如图 2-2 所示的 4 种基本路由结构 顺序路由 并行路由 条件路由 循环路由
图 2-2 WfMC 规定的 4 种工作流路由结构
26
参与者(participant) 参与者是执行活动的资源 参与者并不需特指某个具体 的人 可以是一群具有某种技能或责任的人或设备资源 在较复杂的情况下 参与 者的描述是通过组织单元模型来体现的
定义 2-2 多重集 设 S 为一个非空有限集 S 上的多重集(multi- set overS 或 bag
over S)是一个函数 m S Z 多重集 m 也经常以 ∑ m(s) s 的形式来表示 符号 s∈S
SMS 表示由所有 S 上的多重集所组成的集合 一个 S 上的多重集经常代表一组元素 其中元素 s S 出现|m(s)|次 对于 m1
28
后矩阵(pre- matrix/ post- matrix) I=I+-I-称为关联矩阵(incidence matrix) ∀p P ∀t T 或者 I-(p t) 0 或者 I+(p t) 0 ∀t T ∀p P 或者 I-(p t) 0 或者 I+(p t) 0
f. µ0 P→N 为初始标识 定义 2-6 CPN 的步骤
面向对象 Petri 网[53]具有丰富的表达能力 基于面向对象 Petri 网的工作流过程 定义支持过程定义相关数据和环境数据等关键要素的描述[50] 但是缺乏成熟的理论 和分析工具支持 Konstantin Korr 通过 Petri 网描述工作流的控制流程 通过活动的 属性给出数据流到活动的指派 从而可以采用可达图(coverability graph)对多级安全 工作流的数据流和控制流进行分析[39] 但同样不能直接采用 Design/Cpn 等成熟的 分析工具软件 同时也不能表达数据流和控制流不一致的情况
24
实际上是高级 Petri 网的一个引申 这里 库所表示活动 而变迁则表示活动间的 转移 VanderAalst 则在 Petri 网的基础上定义了 WF- net[8] 即工作流 petri 网 在工 作流网中 变迁被用来表示活动 而库所则表示活动的使能条件 VanderAalst 还把 工作流管理联盟在规范中提出的几种基本的工作流原语映射成相应的 Petri 网模型 由此建立了工作流网的基本组件与触发机制
∅ 表示空
Petri 网是工作流建模的一个合适的工具 一些研究人员认为 Petri 网是模拟工
作流的好工具 作为图形工具 Petri 网提供了表示工作流处理的可视化工具 类似 于流程图 框图等等 Petri 网简单明了 容易理解 如果建立了系统的合理模型 就无需进一步描述系统了 类似的表示法包括状态转换图 34 然而 对任一给定
过程定义本身的描述信息 包括过程定义的 ID 号 文本描述以及其它与管理 过程定义相关的信息(如生产日期 作者等) 它作为过程定义的头信息 与该过程 中涉及到的所有其它元素都相关
活动(activity) 过程定义由一个或多个活动组成 每个活动都包含一个逻辑 性的 自包含的工作单元 工作单元可以由参与者或应用程序执行 一个活动可以 是原子性的(不可再分解的基本行为步骤) 也可以是嵌套性的(含有其它的过程定 义)
2.2 基于 petri 网的工作流过程定义
定义 2-1(Petri 网)五元式 PN(P T F M0)称为一个网 其中
P={p1 p2
pm}是有限库所集
T={t1 t2
tn}是有限变迁集
F (P T) (T P)是有向弧集 它代表结点流关系
M0 P {0 1 2 集[52]
}是初始标识 并且 P T=∅ P T ∅
工作流应用程序的描述 可能会被工作流支持的服务所调用的 IT 应用的描述 可能是一个通用的工业工具 特定的部门或企业服务 本地进程等 工作流应用的 描述反映了工作流引擎和应用程序之间的接口
工作流相关数据 在过程执行中生成和使用到的数据 活动和工作流应用程 序都可使用这些数据 用于在活动间传递持续信息和中间结果 并可用于计算条件 表达式
系统和环境数据 工作流管理系统或本地系统环境所支持的数据 数据类型和表达式 工作流所使用的数据的数据类型以及表达式
2.4 着色 PETRI 网
着色 Petri 网由丹麦的 Jensen 提出[5] 是一种高级 Petri 网 着色 Petri 网是一种 面向图形的建模语言 它适用于系统的设计 描述 模拟和验证 它主要由声明 库所 变迁和有向弧组成 它定义了颜色集(类型) 函数 运算和变量 库所表示 系统的状态 主要元素是库所名 颜色集和初始 tokens 它的图形表示是圆或椭圆. 变迁描述系统的活动或处理 主要元素是变迁名和守卫函数(布尔表达式) 它的图 形表示是方框 有向弧描述了变迁的输入和输出 它的弧表达式描述了当变迁发生 时 CPN 的状态如何改变 CPN 的形式定义和详细介绍参见文献[5]
23
基于图形的标准来作为过程定义的规范比较困难 因此 WfMC 在过程定义方面使 用的是基于语言(WPDL)的规范 然而非图形化的过程定义很难表达上下文的含义 以及控制策略 只有那些精通文本描述定义的人才能对整个过程有完全的认识 普 通的图形表达可能提供了一定程度的抽象 但同时又导致了语义的模糊不清 对于 时间 执行的约束条件 复杂的关系描述以及过程对象和人之间的管理也难以表述
总的来说 工作流的描述应当基于具有丰富语义表达功能的建模方法 这个方 法应当具有清晰性 一致性 易表达性和可扩充性 这个方法应当能足以表达步骤 循环 分支 条件 路径选择 任务分配 时间 调度和约束条件 其语义应当能 够定义控制流 数据流 资源流 并且能够定义策略来处理这些流的中断
本文中提出的基于 CPN 的工作流网侧重于控制流与数据流的描述
e. 弧函数集合为 E 也可以用关联矩阵来表示 P 与 T 之间的函数 I-/I+称为
P T 上的负/正关联函数(negative/positive incidence- function) ∀p P ∀t T
函数值 I-(p t)/I+(p t)本身也是一个函数 C(t)MS C(p)MS I-/I+也常被看作是一个|P| |T|矩阵 其第 i 行和第 j 列的元素取 I-(pi tj)/I+(pi tj) 这时 I-/I+称为前矩阵/
3)V 是一个 n 元矢量 其第 j 个元素 vj AMS 则广义矩阵乘积(generalized matrix
n
∑ multiplication) F*V 定义为一个 m 元矢量 W 其第 i 个元素 wi= fij(vj) BMS j=1
定义 2-5 着色 Petri 网 简称 CPN
一个着色 Petri 网 CPN 是一个七元组 N=<∑ P T C E µ0> 其中 a.源自文库P 是一个有限集 其元素称为库所(place)
的转换 状态转换仅有一个输入和一个输出 因此它不能用于模拟并行活动的同步
控制 总之 Petri 网能可视化表达工作流中的所有特性 关联和限制 如并行 并 发 同步 控制流依赖和临时性的关系等等
Ellis 和 Nutt 在 Petri 网的基础上提出了 ICN(information control nets)模型[13] 它
s∈S
定义 2-3 函数的多重集扩展 给出两个非空集 S R 以及函数 F S RMS F
的多重集扩展(multi-setextension)是函数 F SMS RMS 满足 ∀m SMS F (m)=
∑ m(s) F(s)
s∈S
定义 2-4 广义矩阵乘积
设
1)A 和 B 为两个集合
2)F 是一个 m n 的矩阵 其第 i 行第 j 列的元素 fij AMS BMS 是一个线性函数
m2 SMS 以及 n Z 我们定义下列规则
∑ m1+m2= (m1(s)+m2(s))s s∈S 27
n*m= ∑ (n*m(s))s s∈S
m1=m2 当且仅当 ∀s S [m1(s)=m2(s)] m1<m2 当且仅当 ∀s S [m1(s)<m2(s)]
∑ m1-m2=
m2(s)-m1(s)
2 基于 CPN 工作流过程定义
2.1 工作流过程定义在工作流管理系统中的定位
所有的工作流管理系统都包含以下三个主要功能[7] 见图 2-1 构建阶段功能 包括工作流过程 组成它的活动的定义和建模 运行阶段的控制功能 包括操作系统对工作流过程的管理 以及对每个过程
中的活动进行排序 运行阶段与用户和 IT 应用工具之间的交互作用
WfMC 统一了工作流管理系统中所涉及到的名词术语 并给出过程定义的概念 过程定义是业务过程的形式化描述 用来支持工作流管理系统的建模和执行的自动 化 过程定义包括一系列活动和活动间的关系 过程的起始和终止信息 以及有关 个体的信息 如参与者 与 IT 有关的应用和数据等等 WfMC 根据其组成成员(包 括销售商 用户 分析家 系统集成家 大专院校等)已有的工作流产品 给出了 工作流过程定义的中间模型(meta- model) 并给出了工作流过程定义的基本要素[9]
CP 网的一个步骤(step)是 T 上的函数 S 满足 ∀t T S(t) C(t)MS CPN 的单一步骤(simple step)是一个步骤 S 满足 ∃t1 T S (t1) 0 对 于 t t1 S (t)=0.单一步骤 S 经常记为(t1 S (t1)) 通常 一个 CPN 有一个门卫(guard)函数 如果我们假设所有门卫都是常数
因此我们认为 适合于工作流建模的 Petri 网 需要对普通 petri 网作适当的扩 展 要根据工作流建模的特点和要求 以经典 Petri 网为基网 引入有色 层次 触发器 资源管理等机制 建立适合于工作流建模的能够同时描述控制流和数据流 的高级 Petri 网
25
2.3 工作流过程定义基本要素