工作流引擎
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海交通大学信息系统实验室
6
案例(Case)
• 有限的生命周期,对应一个工作流的开始和结束; • 案例在某生命周期内的某个状态,有三个元素: –相关属性的值;可随案例进展而发生变化; –已经满足的条件;说明案例进展; –案例的内容;工作流系统通常不保存案例内容和细节;
上海交通大学信息系统实验室
7
任务(Task)
(路由定义,步骤,工作流脚本) (销售订单,报税,保险赔偿申报)
• 过程定义由以下组成:
–任务 (步骤,活动,过程元素) 任务是原子的:提交或者回滚. –条件 (状态,阶段,需求) 条件被用于确定某一任务是否可以被激活. –子过程 过程的分解
上海交通大学信息系统实验室
15
过程定义映射到Petri网
38
(2)资源选择策略
• 让资源发挥专长,针对任务特性的划分专长; • 让一个资源连续做类似的任务,缩短预热或准备 时间; • 预留弹性资源,让还有可选余地情况下,尽量让 通用性好的资源空闲;
上海交通大学信息系统实验室
39
(3)工作项分配资源的模式:
• 推模式:引擎工作流将资源“推”到工作项。
– 引擎把工作项和资源进行匹配,资源自身不能选择,一 旦资源执行完一个活动,他就被分给一个新的工作项。
上海交通大学信息系统实验室
36
4 资源分配及管理规则
• 将工作项 (task + case) 分配到资源。 • 工作流系统的目标是为了尽可能快捷地完成工作 项,为了实现案例到活动的转化; • 工作流服务器必须决定:
– 由谁做什么,或者说活动的执行采用哪个资源。 Push and pull control, load balancing, specialization, flexibility. – 以什么样的顺序? FIFO, LIFO, SPT, EDD, priority control.
Kees
Mies
Koos
Pim Kevin
Truus
Sjaak
Ivone
Ad
Jan
Anita
Frank
Secretary
Manager
Sales_clerk
Office_worker
上海交通大学信息系统实验室
31
角色
Kees
Mies
Koos
Pim Kevin
Truus
Jan
Sjaak Anita
Ivone Ad Frank
上海交通大学信息系统实验室
29
3 资源分类
• 资源(participant, actor, user, agent)
一个资源可以执行某些实例的某些任务
Human and/or non-human (printer, modem): limited capacity.
• 资源类别 具有共同特征的资源集合 资源类别的定义基于: • 角色 • 小组
The actual execution of a task for a specific case. 工作项和活动是任务的实例
上海交通大学信息系统实验室
13
Task
Work Item
activity 执行中
Case
上海交通大学信息系统实验室
14
2.3 过程
• 过程定义描述了所需的步骤和它们执行的顺序.
task condition
case
Sub-process
case variables
上海交通大学信息系统实验室
16
2.4 路由
• 顺序 • 并行
"first A then B"
"A and B at the same time or in any order"
– AND-split – AND-join
Secretary
Manager
Sales_clerk
Office_worker
上海交通大学信息系统实验室
32
小组
Eindhoven Purchase Sales
Amsterdam
Kees
Mies
Koos
Pim Kevin
Truus Jan
Sjaak Anita
Ivone Frank
Ad
上海交通大学信息系统实验室
上海交通大学信息系统实验室
37
资源的选择
工作流中资源的选择过程 是一个资源与工作项的比对过程;
• (1)遵循工作流中的约束:
– 任务上一般标记有对资源类别的要求 – 资源被指定为若干类型 – 其它约束: separation issues, case management.
上海交通大学信息系统实验室
(skill, competence, qualification) 基于能够做什么. (department, team, office, organizational unit) 基于组织信息.
30
上海交通大学信息系统实验室
例:资源类别
Eindhoven Purchase Sales Amsterdam
上海交通大学信息系统实验室
20
隐性或分支
OR-split
A
OR-join
B
Implicit choice: it depends on the "eagerness" of A and B!
上海交通大学信息系统实验室
21
显示或分支
explicit OR-split
OR-split
X>=0 A
OR-join
上海交通大学信息系统实验室
8
过程(Process)
• 案例的执行方式由相关过程来描述,可以把过程看 作是某种案例类型的程序; • 过程可能由多个子过程构成,每个子过程又由其他 的任务、条件以及可能更细致的子过程组成。 • 过程定义了案例的生命周期,因此每个过程都有开 始和结束,用来标识案例的出现和完成;
上海交通大学信息系统实验室
24
2.5 触发条件
• 在现实中,系统不能强迫事情发生:
– 为了执行任务,需要EDI消息的到达. – 执行某一实例的任务所需要的资源. – 纸面文件的到达. – 确认购买订单的电话
• 是一个响应式系统,也就是说它被环境触发
• 某些任务需要触发条件
上海交通大学信息系统实验室
• 拉模式:资源“拉”动工作项。
– 资源主动考察能够执行的工作项,并从中选择一个。
上海交通大学信息系统实验室
2
1 基于Petri Net的工作流建模方法
• 基于Petri Net的工作流建模由以下三部分构成: –过程定义: 对过程自身的描述 –资源分类: 对所使用的资源进行的分类 –资源分配及管理规则: 将工作映射到资源上
上海交通大学信息系统实验室
3
工作流建模
begin analyze
What?
objectives
analyze
text
How?
tasks and processes process definition resources and scheduling
analyze
By whom?
realization
resource classification allocation rules
25
• 四种类型的任务及其表示:
– 自动 不需要任务触发 – 人工:用户操作 需要资源作为启动 – 消息:外部触发 需要外部的事件(如消息,电话)
– 时间 任务需要时间触发
上海交通大学信息系统实验室
26
触发的Petri网表示
trigger token
A
A
However, we will omit the extra place.
上海交通大学信息系统实验室
4
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
上海交通大学信息系统实验室
5
2 过程定义
工作流基本概念主要有: –案例(Case) 工作流的处理单元; –任务(Task) 工作的逻辑单元 –过程(Process) 描述了案例的执行方式 –路由(Router) 根据过程决定的任务执行的分支及次序 –启动(Trigger ) 工作项执行的触发条件
上海交通大学信息系统实验室
27
某一过程的定义
A (sub) process has one input and one output place.
上海交通大学信息系统实验室
28
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
• 工作的逻辑单元,不可分割且必须完整执行; • 我们区分任务:
–手动的任务(manual); –自动的任务(automatic); –半自动的任务(semi-automatic);
• 任务泛指一般的工作单元,并非某案例的一 次具体执行:
– 工作项(Work Item):案例和将要执行任务的结 合体; – 活动(Activity):工作项的实际执行;
上海交通大学信息系统实验室
9
路由(Router)
• 路由决定了哪些任务需要被执行或以何种次序执 行; • 有四种路由的基本结构:
– 顺序执行; – 并行路由:两个任务能同时或以次序持续执行。ANDsplit, AND-join – 选择路由:OR-split, OR-join; – 循环路由:
上海交通大学信息系统实验室
信息系统建模及企业流程再造
Lecture4 (B)
基于Petri网的建模技术
步丰林 bu-fl@cs.sjtu.edu.cn
上海交通大学信息系统实验室
1
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
10
启动(Trigger)
• 工作项执行的触发条件; • 有四种触发方式: – 外部触发:资源驱动下的外部触发; – 消息触发:需要外部事件触发; – 时间触发:时间信号触发; – 自动触发:不需要外部激励便可立即执行;
上海交通大学信息系统实验室
11
2.1 过程实例
• 过程实例是依据过程定义所需要完成的具体事情
– 任务A logical step which may be executed for many cases. – 工作项 = task + case
A logical step which may be executed for a specific case.
– 活动 = task + case + (resource) + (trigger)
X<0
B
选择是显式的,可以基于逻辑值
上海交通大学信息系统实验室
22
语法
AND-split
AND-join
Explicit OR-split
OR-join
上海交通大学信息系统实验室
23
(4)迭代
定义需要迭代或重复执行多次的活动。
B
A
C
B may be executed several times.
• 选择
"A or B"
– OR-split – OR-join
• 迭代
"multiple A's"
上海交通大学信息系统实验室
17
(1) 顺序路由
A
B
C
用来定义一系列按固定顺序串行执行的活动。
”先 A, 接着B, 然后C”
上海交通大学信息系统实验室
18
(2) 并行路由
AND-split
A
AND-join
B
定义没有严格执行顺序的,可同时进行的分支活动;
"A and B at the same time or in any order"
上海交通大学信息系统实验室
19
(3)选择
OR-split OR-join
A
B
定义彼此之间具有相互制约与排斥关系的分支活动,往往根 据具体执行情况来从中进行“多选一”或“多选多”。 "A or B"
33
• 资源定义 一个资源可能属于多个类别
roles
groups resources
上海交通大学信息系统实验室
34
Байду номын сангаас
组织信息可以被用于资源分类
resources distributed over roles and groups
上海交通大学信息系统实验室
35
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
(被称为:过程实例,工作,项目) (例如:销售订单,报税,保险赔偿申报)
• 实例的状态由下列方面决定:
–实例变量 (实例的参数)
实例的逻辑参数,被用于实例过程的路由.
–条件 被满足的需求 –内容(应用数据)
可能由其它系统管理
上海交通大学信息系统实验室
12
2.2 任务
一般的逻辑工作单元,而不是过程实例的一次 执行; • 注意下面的概念的区别:
6
案例(Case)
• 有限的生命周期,对应一个工作流的开始和结束; • 案例在某生命周期内的某个状态,有三个元素: –相关属性的值;可随案例进展而发生变化; –已经满足的条件;说明案例进展; –案例的内容;工作流系统通常不保存案例内容和细节;
上海交通大学信息系统实验室
7
任务(Task)
(路由定义,步骤,工作流脚本) (销售订单,报税,保险赔偿申报)
• 过程定义由以下组成:
–任务 (步骤,活动,过程元素) 任务是原子的:提交或者回滚. –条件 (状态,阶段,需求) 条件被用于确定某一任务是否可以被激活. –子过程 过程的分解
上海交通大学信息系统实验室
15
过程定义映射到Petri网
38
(2)资源选择策略
• 让资源发挥专长,针对任务特性的划分专长; • 让一个资源连续做类似的任务,缩短预热或准备 时间; • 预留弹性资源,让还有可选余地情况下,尽量让 通用性好的资源空闲;
上海交通大学信息系统实验室
39
(3)工作项分配资源的模式:
• 推模式:引擎工作流将资源“推”到工作项。
– 引擎把工作项和资源进行匹配,资源自身不能选择,一 旦资源执行完一个活动,他就被分给一个新的工作项。
上海交通大学信息系统实验室
36
4 资源分配及管理规则
• 将工作项 (task + case) 分配到资源。 • 工作流系统的目标是为了尽可能快捷地完成工作 项,为了实现案例到活动的转化; • 工作流服务器必须决定:
– 由谁做什么,或者说活动的执行采用哪个资源。 Push and pull control, load balancing, specialization, flexibility. – 以什么样的顺序? FIFO, LIFO, SPT, EDD, priority control.
Kees
Mies
Koos
Pim Kevin
Truus
Sjaak
Ivone
Ad
Jan
Anita
Frank
Secretary
Manager
Sales_clerk
Office_worker
上海交通大学信息系统实验室
31
角色
Kees
Mies
Koos
Pim Kevin
Truus
Jan
Sjaak Anita
Ivone Ad Frank
上海交通大学信息系统实验室
29
3 资源分类
• 资源(participant, actor, user, agent)
一个资源可以执行某些实例的某些任务
Human and/or non-human (printer, modem): limited capacity.
• 资源类别 具有共同特征的资源集合 资源类别的定义基于: • 角色 • 小组
The actual execution of a task for a specific case. 工作项和活动是任务的实例
上海交通大学信息系统实验室
13
Task
Work Item
activity 执行中
Case
上海交通大学信息系统实验室
14
2.3 过程
• 过程定义描述了所需的步骤和它们执行的顺序.
task condition
case
Sub-process
case variables
上海交通大学信息系统实验室
16
2.4 路由
• 顺序 • 并行
"first A then B"
"A and B at the same time or in any order"
– AND-split – AND-join
Secretary
Manager
Sales_clerk
Office_worker
上海交通大学信息系统实验室
32
小组
Eindhoven Purchase Sales
Amsterdam
Kees
Mies
Koos
Pim Kevin
Truus Jan
Sjaak Anita
Ivone Frank
Ad
上海交通大学信息系统实验室
上海交通大学信息系统实验室
37
资源的选择
工作流中资源的选择过程 是一个资源与工作项的比对过程;
• (1)遵循工作流中的约束:
– 任务上一般标记有对资源类别的要求 – 资源被指定为若干类型 – 其它约束: separation issues, case management.
上海交通大学信息系统实验室
(skill, competence, qualification) 基于能够做什么. (department, team, office, organizational unit) 基于组织信息.
30
上海交通大学信息系统实验室
例:资源类别
Eindhoven Purchase Sales Amsterdam
上海交通大学信息系统实验室
20
隐性或分支
OR-split
A
OR-join
B
Implicit choice: it depends on the "eagerness" of A and B!
上海交通大学信息系统实验室
21
显示或分支
explicit OR-split
OR-split
X>=0 A
OR-join
上海交通大学信息系统实验室
8
过程(Process)
• 案例的执行方式由相关过程来描述,可以把过程看 作是某种案例类型的程序; • 过程可能由多个子过程构成,每个子过程又由其他 的任务、条件以及可能更细致的子过程组成。 • 过程定义了案例的生命周期,因此每个过程都有开 始和结束,用来标识案例的出现和完成;
上海交通大学信息系统实验室
24
2.5 触发条件
• 在现实中,系统不能强迫事情发生:
– 为了执行任务,需要EDI消息的到达. – 执行某一实例的任务所需要的资源. – 纸面文件的到达. – 确认购买订单的电话
• 是一个响应式系统,也就是说它被环境触发
• 某些任务需要触发条件
上海交通大学信息系统实验室
• 拉模式:资源“拉”动工作项。
– 资源主动考察能够执行的工作项,并从中选择一个。
上海交通大学信息系统实验室
2
1 基于Petri Net的工作流建模方法
• 基于Petri Net的工作流建模由以下三部分构成: –过程定义: 对过程自身的描述 –资源分类: 对所使用的资源进行的分类 –资源分配及管理规则: 将工作映射到资源上
上海交通大学信息系统实验室
3
工作流建模
begin analyze
What?
objectives
analyze
text
How?
tasks and processes process definition resources and scheduling
analyze
By whom?
realization
resource classification allocation rules
25
• 四种类型的任务及其表示:
– 自动 不需要任务触发 – 人工:用户操作 需要资源作为启动 – 消息:外部触发 需要外部的事件(如消息,电话)
– 时间 任务需要时间触发
上海交通大学信息系统实验室
26
触发的Petri网表示
trigger token
A
A
However, we will omit the extra place.
上海交通大学信息系统实验室
4
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
上海交通大学信息系统实验室
5
2 过程定义
工作流基本概念主要有: –案例(Case) 工作流的处理单元; –任务(Task) 工作的逻辑单元 –过程(Process) 描述了案例的执行方式 –路由(Router) 根据过程决定的任务执行的分支及次序 –启动(Trigger ) 工作项执行的触发条件
上海交通大学信息系统实验室
27
某一过程的定义
A (sub) process has one input and one output place.
上海交通大学信息系统实验室
28
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
• 工作的逻辑单元,不可分割且必须完整执行; • 我们区分任务:
–手动的任务(manual); –自动的任务(automatic); –半自动的任务(semi-automatic);
• 任务泛指一般的工作单元,并非某案例的一 次具体执行:
– 工作项(Work Item):案例和将要执行任务的结 合体; – 活动(Activity):工作项的实际执行;
上海交通大学信息系统实验室
9
路由(Router)
• 路由决定了哪些任务需要被执行或以何种次序执 行; • 有四种路由的基本结构:
– 顺序执行; – 并行路由:两个任务能同时或以次序持续执行。ANDsplit, AND-join – 选择路由:OR-split, OR-join; – 循环路由:
上海交通大学信息系统实验室
信息系统建模及企业流程再造
Lecture4 (B)
基于Petri网的建模技术
步丰林 bu-fl@cs.sjtu.edu.cn
上海交通大学信息系统实验室
1
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
10
启动(Trigger)
• 工作项执行的触发条件; • 有四种触发方式: – 外部触发:资源驱动下的外部触发; – 消息触发:需要外部事件触发; – 时间触发:时间信号触发; – 自动触发:不需要外部激励便可立即执行;
上海交通大学信息系统实验室
11
2.1 过程实例
• 过程实例是依据过程定义所需要完成的具体事情
– 任务A logical step which may be executed for many cases. – 工作项 = task + case
A logical step which may be executed for a specific case.
– 活动 = task + case + (resource) + (trigger)
X<0
B
选择是显式的,可以基于逻辑值
上海交通大学信息系统实验室
22
语法
AND-split
AND-join
Explicit OR-split
OR-join
上海交通大学信息系统实验室
23
(4)迭代
定义需要迭代或重复执行多次的活动。
B
A
C
B may be executed several times.
• 选择
"A or B"
– OR-split – OR-join
• 迭代
"multiple A's"
上海交通大学信息系统实验室
17
(1) 顺序路由
A
B
C
用来定义一系列按固定顺序串行执行的活动。
”先 A, 接着B, 然后C”
上海交通大学信息系统实验室
18
(2) 并行路由
AND-split
A
AND-join
B
定义没有严格执行顺序的,可同时进行的分支活动;
"A and B at the same time or in any order"
上海交通大学信息系统实验室
19
(3)选择
OR-split OR-join
A
B
定义彼此之间具有相互制约与排斥关系的分支活动,往往根 据具体执行情况来从中进行“多选一”或“多选多”。 "A or B"
33
• 资源定义 一个资源可能属于多个类别
roles
groups resources
上海交通大学信息系统实验室
34
Байду номын сангаас
组织信息可以被用于资源分类
resources distributed over roles and groups
上海交通大学信息系统实验室
35
agenda
• • • • • • • 1. 基于Petri网的工作流建模 2. 过程定义 3. 资源分类 4. 资源分配及管理规则 5. 工作流的分析方法 6. 一个物流系统建模实例 7.小结
(被称为:过程实例,工作,项目) (例如:销售订单,报税,保险赔偿申报)
• 实例的状态由下列方面决定:
–实例变量 (实例的参数)
实例的逻辑参数,被用于实例过程的路由.
–条件 被满足的需求 –内容(应用数据)
可能由其它系统管理
上海交通大学信息系统实验室
12
2.2 任务
一般的逻辑工作单元,而不是过程实例的一次 执行; • 注意下面的概念的区别: