正在加载图片...
.160 智能系统学报 第12卷 的唯一标识符,D为柔性工作流的一般描述信息,如 可以由领域专家进行构建,而不需要建模和开发的 工作流的版本号,流程的创建日期等,D=(Version, 专业知识。图1为一棵关于软件开发过程的知识 Date,Desciption,…);A为流程中的活动集合,A= 树,其中包含了包含关系和泛化关系。 AtoAA;E表示工作流中规则的集合,用 软件开发 一包含关系 ECA规则表示,用来描述活动之间的时序关系。 -泛化关系 该模型采用柔性活动封装流程中的不确定的、 需求分析 设计 编码 测试 模糊的因素,采用原子活动和复合活动描述具有不 同抽象度的流程元素,可以快速建立流程模型,并随 面向对象 结构化 模块化 单元 综合 系统 着领域知识的后续获取和分析的逐步深入,对柔性 需求分析需求分析需求分析 测试 测试 测试 活动进行明确化和细化,以减低复杂领域的工作流 建模难度,提高模型的稳健性和易用性。 图1软件开发的知识树 Fig.1 Knowledge tree for software development 2 细化算法 针对某一个领域的知识树数目比较多,则构成 2.1知识树及与流程模板的影射 了一个知识树森林。那么在建立了领域知识的知识 在领域知识表示中,可以用不同粒度大小的知 树之后,为了用于指导流程建模和柔性工作流细化, 识点来表示不同的知识单元。而知识,点不是孤立存 需要将流程模板与知识树的知识点之间进行关联, 在的,它们之间存在着各种关系,考察这些关系对于 即为流程模板与知识树的映射。流程模板库的建立 工作流的生成具有促进作用。 需要全体设计人员在设计过程中共同构建。需要注 定义3知识点。知识点可以表示为一个多元 意的是,流程模板可以全部由定义完全的子活动或 组:K=(ID,name,des,KWS),其中D为知识点 复合活动构成,也可以在流程中包含子柔性活动。 的唯一编号,name为知识,点的名称,des为知识点的 映射的步骤可描述为:1)根据知识点的名称, 描述,包括该知识点的定义、阐述等,来源于领域知 在流程模板库中进行搜索,得到属性相同的流程模 识;KWS为知识的关键词集,是对该知识点的高度 板集合;2)考察集合中的每个流程模板的适用条 概括。 件,得到各模板的适用性并进行排序:3)若集合只 定义4包含关系。表示知识点K,与K之间 有一个流程模板,则返回该模板,否则返回适用性最 存在整体与部分的关系,记为a(K,K),表示K包 高的流程模板。 含K,。知识点可以被分解为几个满足包含关系的 2.2约束规则 知识点,依次类推,一直到不能分解为此。 柔性工作流的细化过程,其实质为柔性活动逐步 定义5泛化关系。泛化关系可以定义为一般 细化和确定化的过程。在此过程中,需要将一些模糊 与特殊的关系,记为g(K,K),表示知识点K是K 的、抽象的需求进行具体化,将粗粒度的元素转换为 的特殊情况,K与K满足一般与特殊的关系。例 细粒度的元素。显然,该细化过程需要遵循某些特定 如,面向对象设计、基于结构化的设计和面向过程的 的约束和规则,满足该活动定义的初始意图。例如, 设计等是软件设计的特殊情况,是软件设计在面对 在工作流的设计阶段,用Cx参数规定了柔性活动需 不同领域的具体应用。 要达成的目标和完成的功能,以及应用的条件等。那 定义6父子关系。若对任意的两个知识点x, 么在确定化该柔性活动时,需要满足所设目标或功能 y,满足a(x,y)或g(x,y)成立,则称知识点y和x 的约束要求。在细节上,需要根据选取规则从系统提 满足父子关系,x为y的子知识点,记为s(x,y)。显 供的活动库中选取合适的活动,并用时序规则约束活 然,这种关系具有单反性、传递性。 动之间的时序关系。具体讨论如下。 定义7知识树。对一个知识点A自顶向下地 1)活动选取规则 进行逐步分解,则最终可得到一棵根节点为A的树, 用于约束活动的选取。用谓词select()表示活 我们称其为知识树,记为T(A)。树中的孩子节点是 动的选取,可以用逻辑运算符进行连接,分如下情 双亲节点的子知识点,满足包含或泛化关系。当树中 况:I)select(a)表示选取活动a;2)NOT select(a) 所有的知识点都不能分解时,则分解过程结束。 表示不能选取活动a;3)select(a)AND select(b) 显然,可以用知识树表示不同的领域知识。这 AND…表示同时选取活动a,b,…;4)select(a)OR 种知识表达具有直观、易于理解和易于建立的特点, select(b)OR…表示选择活动a,b,…中的任意活的唯一标识符,D 为柔性工作流的一般描述信息,如 工作流的版本号,流程的创建日期等,D = (Version, Date, Desciption, …); A 为流程中的活动集合, A = Aatom∪Acomp∪Aflex; E 表示工作流中规则的集合,用 ECA 规则表示,用来描述活动之间的时序关系。 该模型采用柔性活动封装流程中的不确定的、 模糊的因素,采用原子活动和复合活动描述具有不 同抽象度的流程元素,可以快速建立流程模型,并随 着领域知识的后续获取和分析的逐步深入,对柔性 活动进行明确化和细化,以减低复杂领域的工作流 建模难度,提高模型的稳健性和易用性。 2 细化算法 2.1 知识树及与流程模板的影射 在领域知识表示中,可以用不同粒度大小的知 识点来表示不同的知识单元。 而知识点不是孤立存 在的,它们之间存在着各种关系,考察这些关系对于 工作流的生成具有促进作用。 定义 3 知识点。 知识点可以表示为一个多元 组: K = (ID, name, des, KWS), 其中 ID 为知识点 的唯一编号,name 为知识点的名称,des 为知识点的 描述,包括该知识点的定义、阐述等,来源于领域知 识;KWS 为知识的关键词集,是对该知识点的高度 概括。 定义 4 包含关系。 表示知识点 Kj与 Ki之间 存在整体与部分的关系,记为 a(Ki, Kj),表示 Kj包 含 Ki。 知识点可以被分解为几个满足包含关系的 知识点,依次类推,一直到不能分解为此。 定义 5 泛化关系。 泛化关系可以定义为一般 与特殊的关系,记为 g(Ki, Kj), 表示知识点 Ki是 Kj 的特殊情况, Kj 与 Ki 满足一般与特殊的关系。 例 如,面向对象设计、基于结构化的设计和面向过程的 设计等是软件设计的特殊情况,是软件设计在面对 不同领域的具体应用。 定义 6 父子关系。 若对任意的两个知识点 x, y,满足 a(x, y)或 g( x,y)成立,则称知识点 y 和 x 满足父子关系,x 为 y 的子知识点,记为 s(x, y)。 显 然,这种关系具有单反性、传递性。 定义 7 知识树。 对一个知识点 A 自顶向下地 进行逐步分解,则最终可得到一棵根节点为 A 的树, 我们称其为知识树,记为 T(A)。 树中的孩子节点是 双亲节点的子知识点,满足包含或泛化关系。 当树中 所有的知识点都不能分解时,则分解过程结束。 显然,可以用知识树表示不同的领域知识。 这 种知识表达具有直观、易于理解和易于建立的特点, 可以由领域专家进行构建,而不需要建模和开发的 专业知识。 图 1 为一棵关于软件开发过程的知识 树,其中包含了包含关系和泛化关系。 图 1 软件开发的知识树 Fig.1 Knowledge tree for software development 针对某一个领域的知识树数目比较多,则构成 了一个知识树森林。 那么在建立了领域知识的知识 树之后,为了用于指导流程建模和柔性工作流细化, 需要将流程模板与知识树的知识点之间进行关联, 即为流程模板与知识树的映射。 流程模板库的建立 需要全体设计人员在设计过程中共同构建。 需要注 意的是,流程模板可以全部由定义完全的子活动或 复合活动构成,也可以在流程中包含子柔性活动。 映射的步骤可描述为:1) 根据知识点的名称, 在流程模板库中进行搜索,得到属性相同的流程模 板集合;2) 考察集合中的每个流程模板的适用条 件,得到各模板的适用性并进行排序;3) 若集合只 有一个流程模板,则返回该模板,否则返回适用性最 高的流程模板。 2.2 约束规则 柔性工作流的细化过程,其实质为柔性活动逐步 细化和确定化的过程。 在此过程中,需要将一些模糊 的、抽象的需求进行具体化,将粗粒度的元素转换为 细粒度的元素。 显然,该细化过程需要遵循某些特定 的约束和规则,满足该活动定义的初始意图。 例如, 在工作流的设计阶段,用 Ctx 参数规定了柔性活动需 要达成的目标和完成的功能,以及应用的条件等。 那 么在确定化该柔性活动时,需要满足所设目标或功能 的约束要求。 在细节上,需要根据选取规则从系统提 供的活动库中选取合适的活动,并用时序规则约束活 动之间的时序关系。 具体讨论如下。 1) 活动选取规则 用于约束活动的选取。 用谓词 select( )表示活 动的选取, 可以用逻辑运算符进行连接,分如下情 况: 1)select(a)表示选取活动 a; 2)NOT select(a) 表示不能选取活动 a; 3) select( a) AND select( b) AND…表示同时选取活动 a,b,…; 4) select(a) OR select(b) OR…表示选择活动 a,b,…中的任意活 ·160· 智 能 系 统 学 报 第 12 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有