1。2 研究现状
1。3 论文组织结构
后文组织结构大致如下: 第二章详细介绍了高层次转换操作。
第三章阐述了使用 Quine-McCluskey 算法求解过程模型转换操作的详细过程和需要注意 的问题。
第四章说明了算法的工具实现以及实验分析结果。 第五章介绍了本课题的相关工作以及对未来的展望,明确一下未来的研究目标。
2 相关内容
2。1 问题提出和相关定义
本科毕业设计说明书 第 3 页
我们在这里给出过程转换的定义。P 表示过程模型集合,C 表示过程转换集合。S,S'∈P 为两个过程模型,Δ∈C 为一个过程转换,σ=<Δ1,Δ2,。。。Δn>∈C 是作用在最初的过程模型 S 上 的一个过程转换序列。于是有:论文网
①S[Δ>S'当且仅当Δ应用在 S 上并且转换后的模型是 S'。
②S[σ>S'当且仅当∃S1,S2,。。。Sn+1∈P,S=S1,S'=Sn+1,并且 Si[Δ>Si+1,i∈{1,。。。n}。 作为例子,在图 2。1 中我们使用一个简化了的某病人看病过程模型。一个病人要去医院
看病,他第一次挂号,然后接受治疗,最终付钱结束治疗过程。现在我们假设有这样一个突 发心脏病的病人,出于人道我们必须先考虑治疗他并且允许他可以先治疗再挂号。为了在过 程模型中各自的实例级别表示这个异常的情况,需要的转换是把接收治疗活动从原先的位置 移动到和挂号活动并行的位置。这个转换产生一个新的模型 S'(S[σ>S',σ=<move(S,receive treatment,admitted,pay)>) 。 同 时 , 这 个 特 定 实 例 的 执 行 日 志 e 为 (e=<admitted,receive treatment,register,pay>)。如果我们只有过程模型 S 和它的执行日志,那我们就不可能得到这 个转换操作,因为能够产生这样的执行日志的过程模型是不唯一的。例如,一个有四条平行 分支四个活动的过程模型,也能产生这样的执行日志。相反,也不能通过转换日志推出执行 日志,因为 S'上的执行活动也是不唯一的。例如,S'也可以产生<admitted,register,receive treatment,pay>的路径。因此,在和纯执行日志相比时转换日志可以提供额外的信息。
(a)最初的过程模型 S
(b)最终的过程模型 S'
图 2。1 病人看病过程模型实例[1]
本科毕业设计说明书
2。2 高层次转换操作的优势
传统的过程模型转换操作是在边和结点上进行的基元操作,比如增删边和增删结点。在 说明了转换日志的重要性之后,我们现在来讨论为什么我们需要高层次转换操作而不是使用 传统的基元操作。图 2。2 有一个过程模型 S,包含一个平行分支,一个条件分支和一个连接 两个活动块的空活动 t(用空结点表示)。假设我们对过程模型 S 使用高层次转换操作,产 生两个新模型 S1 和 S2。
Δ1 把活动 C 从现在的位置移动到活动 A 和 B 之间的位置,执行操作为:
S[Δ1>S1,Δ1=move(S,C,A,B)
Δ2 把活动 A 移动到 B 和 C 之间的位置,执行操作为:
S[Δ2>S2,Δ2=move(S,A,B,C)
(a)最初的过程模型 S (b)Δ1 操作后的过程模型 S1
(c)Δ2 操作后的过程模型 S2
图 2。2 高层次转换操作和基元转换操作对比实例[1]
图 2。2 描述了 S 和 S1、S 和 S2 之间各自用传统操作方法运用的转换基元。对比来看,使 用高层次转换操作有以下几点好处: