基于Agent工作流系统中的异常处理

合集下载

基于多Agent的工作流引擎的研究

基于多Agent的工作流引擎的研究

件构成 , 则必须有一些软件支持[ 4 1 。多 A et gn 不仅 要具有 A et gn
的功能 , 而且更应具有独特的社会性 , 能模仿人类的通信协作 , 达成一致的能力。 12基于多 A e t - g n 的工作流引擎建模
提高资源利用率。
( 4 )活动执行 Agn: et主要负责活动实例的启动 、 挂起 、 恢 复、 中止 等操作 。与任 务分配 Agn 和资源 Agn 进行交互 。 et et ()资源 Agn: 5 et负责 资源的 管理 , 同时 与任 务分配 A et gn

4 ・ 2
Co p e a N o. 0 8 m utr Er 1 2 0 1
基于多 A t g 的工作 流 引擎 的研 究 e n
郝 帅 ’ ,侯秀 萍 ’ 云 峰 2 ,赵 (.长春 工业 大学计 算机 科 学与 工程 学 院 ,吉林 长春 10 1 : 1 30 2
2 装 甲兵技 术学 院控 制 工程 系电 气 自动化 教研 室1 .
摘 要 :将 多 Agn 技 术引入分布式工作流 引擎 中, et 构造设计 了基于 多 Agn 的工作流 引擎模 型 , et 并分别解释 了引擎模 型 中模板 解析 Agn、 et流程 管理 Agm、 e 任务 分配 A et活动执行 A et资源 A et g n、 gn、 g n 和监控管理 A et g n 的具体功 能。该模 型利 用智 能 Agn 对动 态复杂活动进行解析 、 et 选取最佳执 行路 径 , 决了工作流 引擎运行 的瓶颈 问题 , 解 改善 了工作流 引擎
A et gn 的工作流 引擎模型如图 1所示。
对活动库进行跟踪 。主要监视流程的执行超时 , , 中断 负载过

迁移工作流系统中的工作位置异常处理模型

迁移工作流系统中的工作位置异常处理模型

常处理模型 。该模型采取主动检测和异常检测混合 的检测技 术,利 用本地 异常规则库实现工作位置 异常处理 。应用结果表 明,该模型增强
了不 可预测异常、可预测异常 的处理能 力。
关键词 :迁移工作流 ;工作位置 ;异常 ;事件 一 条件一 动作规则
W or ng Po ii n c pto o e sngM o l ki sto Ex e i n Pr c s i de
[ ywod ]mirt gwok o w rigp sin e cpin E e t n io ・ t nE Ke r s gai rf w; okn o io ;x et ; vn・ dt nAci (CA) l n l t o — Co i - o u re
1 概 述
迁移工作流是近年来工作流管理的一个新 方向。文献(J 1
第3 6卷 第 6期
V .6 o1 3






21 0 0年 3月
M a c 0 0 rh 2 1
No 6 .
Co p t rEn i e r n m u e gn e i g
软件 技术 与 【 据库 ・
文章 编号:1 ’48o0 6一07 3 文 o 3 ( l0- 9—0 0 2 2 )_0 献标识码; A
中 图分类号。P9 T33
迁移工作 流 系统 中的工作 位 置 异常处理模 型
刘 畅 ,王晓院,济南 2 0 0 ) 5 11

要:针对迁移工作流异常的本地特性和工作位置 的体系结构 ,提出一种基于事件一 一 条件 动作(C ) 和案例推理(B ) E A规则 C R的工作位置异
dee t na d p si ed tcin a dlstee c pinsui heECA uea d teCBR eho ,raie ri gpoiin e c p inh n l g b tci n asv ee t ,h n e h x e to sngt o o r l n h m t d e l swok n st x e to a di y z o n

基于Agent和ECA规则构建的工作流系统

基于Agent和ECA规则构建的工作流系统

采用基于 E A规则的流程建模方法所构建的工作流模型由流程活动对象和 E A规则 对象组成 : C C 流程活动对象描述工作流程 中各个流程活动所包含 的信息, C E A规则用来表示流程活动间的流转关 系。基于活动和 E A规则组合 的工作流模型具体的形式化描述如下 : C 定义 1 工作流是一个二元组, wF=( A ti s , E A r e} , 中{A tie 是该工作流模 { cvi } { C l ) 其 it e us c vi its} 型中所包含的所有流程活动集合 ,E A r e} { C l 是一组描述流程运行的 E A规则集合。 us C
定义 2 流程 活动是 一个六 元 组 ,cit I,a eR l,tt,otA tie, plaos , 中 A ti vy=(d N m , o Sa Ps cvtsA pi tn)其 e e — i i ci
I 为活动的标识, d 在流程模型中, 每个活动的 I 是唯一的; a e d N m 为活动的名字 ;o 是该活动执行者对 Rl e 应的角色;te S t 是活动所处 的状态 ;o — cv i 是一个流程 活动 的集合 , a Ps A ti s t it e 表示该活动的后续活动集 合; plaos A pctn 表示完成该活动需要调用的应用系统集合。 ii 定义 3 角色是一个四元组 ,o = N m , , A , R l ( a e C M, ) 其中 N m 是角色名 , (aai i ) e ae C cpb i s是角色 le t
( ) 应性 差 1适
现代企业业务流程通常由大量的活动组成和人员参与 。这些活动有些可预知 , 有些则不可预知。 因此在工作流的定义阶段不可能全部描述各种活动以及相应的处理措施 , 即使是一个定义好 的流程在

异常处理基本流程七步

异常处理基本流程七步

异常处理基本流程七步
1. 异常发生:
当程序执行过程中出现异常情况时,例如数据错误、内存溢出、文件读写错误等,异常就会发生。

2. 获取异常信息:
一旦异常发生,系统会自动创建一个异常对象,其中包含异常类型和异常原因等信息。

3. 查找异常处理程序(异常捕获):
系统会从异常发生的点开始,沿着方法调用栈向上查找,看是否有对应的异常处理程序(catch块)。

4. 异常处理:
如果找到了匹配的异常处理程序,就会执行该程序块中的代码,进行异常处理。

5. 清理资源(finally块):
无论是否捕获到异常,finally块中的代码都会被执行,通常用于资源清理,如关闭文件、断开连接等。

6. 继续执行:
异常处理完毕后,程序会从异常处理程序的下一行继续执行。

7. 异常传播(未捕获时):
如果一直没有找到匹配的异常处理程序,异常就会一直向上传播,直到程序退出。

通过上述七个步骤,程序可以有效地处理各种异常情况,保证程序的正常运行和系统的稳定性。

在编写代码时,合理设置异常处理程序至关重要。

异常处理流程

异常处理流程

异常处理流程异常处理是程序设计中常见的一部分。

当程序执行过程中发生异常时,异常处理流程能够捕获并处理这些异常,使程序能够在出现异常的情况下进行恰当的处理,避免程序崩溃或产生错误的输出。

异常处理流程一般包括以下步骤:1. 抛出异常:当程序执行过程中发生异常时,可以使用关键字throw抛出一个异常对象。

异常对象可以是由系统定义的异常类,也可以是自定义的异常类,它们都需要继承自Exception类或其子类。

抛出异常后,程序会立即跳转到异常处理代码中。

2. 捕获异常:使用try-catch语句来捕获异常,并在catch代码块中处理异常。

catch代码块中可以根据不同的异常类型来执行不同的处理逻辑,也可以将异常向上层抛出,让上层环境来处理。

3. 处理异常:在catch代码块中,可以执行一些与异常相关的操作,比如打印异常信息、记录日志、回滚事务等。

根据具体情况,可以选择继续执行程序的其他部分,或者采取某种措施使程序能够正常终止。

4. finally代码块:finally代码块在异常处理流程中是可选的。

它会在try-catch代码块执行完毕后无论是否发生异常都会被执行。

finally代码块通常用来释放资源、关闭文件、断开连接等操作。

异常处理流程的设计需要考虑到程序的整体逻辑和结构。

合理地使用异常处理可以提高程序的健壮性和可维护性。

下面是一个简单的异常处理流程的示例:```javatry {// 可能抛出异常的代码// ...} catch (ExceptionType1 e1) {// 处理ExceptionType1类型的异常// ...} catch (ExceptionType2 e2) {// 处理ExceptionType2类型的异常// ...} finally {// 执行清理操作,如关闭资源// ...}```在这个示例中,try代码块中的代码可能会抛出ExceptionType1或ExceptionType2类型的异常。

基于Agent的协同设计中的工作流管理系统

基于Agent的协同设计中的工作流管理系统

的工作 流很容易被系统识别 , 且不会产生歧 义。
1 2 Ag nt . e
A et gn 是一种在异质 的协同计 算环境 中能 够持续完 成 自 治 的 、 向 目标 行 为的 软件实 体 。它具 有 独立 性 、 面 自主性 和交互性 。在 信息 流程 中 , gn 通 常充 当 一个 中 间处 理部 A et 件, 它接收操作指令 , 依据 自己的 知识 、 并 规则 的控制逻 辑制 定操作 步骤 , 成要 求 功能 …。A et 具 有很 强 的表 达能 完 gn 还 力, 这意味着 A et gn 之间可以通过公共的 A et gn 通信语言进行 通信 , 独立于所在平 台, 这解决 了资源异构问题 。在工作流管 理 中应用 A et 以实现无人管理 , 能及时的进行通信 , gn 可 并 不 仅提 高的工作 效率 , 还提高了协同的有效性 。
维普资讯
第2 6卷 第 1 0期
20 0 6年 1 月 0
文 章 编 号 : 0 —9 8 ( 0 6 1 2 8 1 1 0 1 2 0 ) 0— 4 0—0 0 3
计 算机应 用
Co u e p ia in mp t rAp lc t s o
工作流 管理提 供 了有 益的 参考 。
关 键词 : 算机 支持 的协 同工作 ; A A et工作 流 管理 ; 态图 计 C D; gn ; 状 中图分 类号 : P 1 T31 文献标 识码 : A W o k o r f w na e nti e s d c la o a i e de i n i
实现某个预期 的业务 目标 … 。人 工管理 过于 简单 , 因为通信
不及时等原 因会造成重 复设计 或错误设 计 , 不能够 提高工作 效率 。 对于工作流管理系统 , 文献 [ ] 论了 A et 2讨 gn 在工作流管 理系统 中的应用 , 没有讨论 工作流 的表示模型 ; 但 文献 [ ] 3 提 出了基 于 A et gn 的工作流 协调模 型 , 但其 模型 是基 于面 向对 象的工作流元过程模型 , 于 C D相对简单 的工作 流过于复 对 A 杂, 不利 于用户使用工作流 模型定 义工作 流。本文对 于 C AD 的工作流管理 , 根据其 C D协 同设 计 自身的 特点 , A 应用 软件 工程中的状态图方式来描述 工作 流图 , 使创建 的工作 流规范 化、 简易化 , 并且提 出了用 A e t 自主管理 协同设 计 中分布 gn 来

基于工作流可预测异常处理框架的设计与实现

fa wo k i ih he p o e o rfo r me r n wh c t r blm fwo k w e p ce e c pt n a d ig c n be a e uaey d r se va l x e t d x e i h n l a d q t l a d e s d i o n a ay i g t e p o e fe c pt n i r fo s se n he r q ie n so he f n t n lt fe c p i n n l zn h r blms o x e i n wo k w y t msa d t e u r me t ft u ci aiy o x e to o l o h n ln . Th s he i p e e t a out n f r mp e n i g a dig i t ss r s n s s l i o i lme tn mo e ei b e r c se b t a plc to o o r r l l p o e s s y he p iain f a
3 n r h sadTan i e e,C agh n Vct n l ntu cnl y C agh n10 3 ,C i ) .It nS i n rinn Cn r h n cu oai a si t o T hoo , h n cu 30 3 hn e p g t o I tef e g a
维普资讯
第4 5卷
第 6期
吉 林 大 学 学 报 (理 学 版 )
J U N LO II N V R IY ( CE C DT O O R A FJLN U I E ST S IN E E IIN)
V 14 No 6 o .5 .

异常处理的方法及常见错误

异常处理的方法及常见错误一、引言在编写程序的过程中,我们难免会遇到各种意料之外的错误情况。

例如,网络连接中断、用户提供无效的输入、文件读取失败等等。

这有时可能会导致应用程序崩溃或者产生错误结果,影响程序的执行效果和用户体验。

为此,异常处理显得尤为重要。

异常处理是一种有效的、规范的、灵活的代码结构,能够让程序在遇到错误情况时以一种清晰的方式进行处理,从而提高应用程序的可靠性和健壮性。

本文将介绍异常处理的方法及常见错误,在分析各种异常处理的方法以及常见错误之后,让读者更深入的了解异常处理的概念,为读者介绍异常处理的几种常见方法、异常处理的原则、如何确定异常类型和异常的处理方法等知识点。

二、异常处理的方法通常情况下,我们将异常分为两类:编译时异常和运行时异常。

编译时异常通常是由语言本身的规范造成的,例如,不正确的文件名、无效的数据类型等。

而运行时异常则通常由程序的运行环境和输入数据的错误造成的,例如,数组越界、除零错误等等。

基于这两种常见的异常类型,下面将介绍几种常见的异常处理方法:1. try-catch语句try-catch语句是一种非常常见的异常处理方法,在程序运行时,如果try块中出现了异常的情况,程序不会崩溃,而是自动跳转到catch块中进行异常处理。

下面来看一个简单的例子:try {//这里是可能出现异常的代码块} catch (ExceptionType e) {//异常处理代码}在这个例子中,try语句块是一段可能抛出异常的代码。

如果在执行try块时发生了错误,就会跳转到catch块中,其中ExceptionType 代表抛出的异常类型,e是一个指向异常对象的指针。

catch块中的代码则是用来具体处理异常的逻辑。

需要注意的是,在使用try-catch语句处理异常时,我们需要确定具体的异常类型,并在catch块中进行相应的处理。

同时,在使用try-catch语句块的过程中,要注意异常处理代码的构成,尽量避免让异常处理代码过于冗余或过于细节化。

基于Agent的工作流设计

烟台大学硕士学位论文基于Agent的工作流设计姓名:徐光志申请学位级别:硕士专业:计算机应用技术指导教师:范宝德20090331摘要工作流技术是实现业务过程自动化的核心技术。

工作流管理系统的主要目标是通过调度和分配有关的信息资源与人力资源来协调业务过程中的各个环节,以促使业务目标的高效实现。

然而,现有的工作流管理系统大多存在着缺乏柔性、互操作性不高、对动态情况的处理能力不足以及不支持分布式环境等方面的问题,大大限制了工作流技术的发展和应用。

Agent技术成为当前计算机应用研究的一个热门领域,它为解决复杂、动态、分布式,智能应用提供了一种新的计算手段。

Agent具有的自主性、交互性、主动性、学习性和移动性等特点,能够很好的解决目前工作流管理系统中普遍存在的问题。

Agent能以类似工作流的方式在动态的跨领域范围内管理和执行复杂的业务过程,可以用来构造结构复杂、灵活、柔性、便于扩展、具有动态处理能力的工作流管理系统。

首先介绍了工作流技术的相关概念及工作流管理系统体系结构,并分析了其功能和实施过程。

然后介绍了Agent的基本特性,讨论了基于Agent的软件设计,描述了基于Agent的工作流管理体系结构及其业务过程体系进而提出了基于Agent的工作流管理模型。

在讨论虚拟企业业务域的基础上,构建了基于Agent的虚拟企业工作流运行机制。

具有智能和移动特点的Agent 作为业务过程管理的基本单元,设计了物流虚拟企业系统中购买业务过程管理Agent。

用响应序列图描述了不同业域间的协作过程,刻画了响应客户需求的基于Agent的虚拟企业工作流的运行机制。

分析了Agent的平台JADE的基本特性,基于JADE设计了商品的购买业务过程,即通过设计各个子工作流Agent完成整个购买业务过程的实现。

引入了本体并详述了本体的设计方法,方便了业务过程的设计与实现。

分析了Agent的服务注册与使用机制,以子工作流即商品的购买和运送为重点,以协商模型为基础,描述了Agent的服务的使用机制。

activiti工作流在项目使用过程中常见的问题

activiti工作流在项目使用过程中常见的问题activiti工作流在项目使用过程中常见的问题在进行项目开发和管理过程中,工作流系统扮演着重要的角色。

工作流具有自动化和流程化的特点,可以对复杂的业务流程进行管理和监控,提高工作效率和准确性。

而在众多的工作流系统中,activiti是一款开源的、功能强大的工作流引擎,被广泛应用于各种项目开发中。

然而,在实际应用中,我们可能会遇到一些常见的问题。

本文将对activiti工作流在项目使用过程中的常见问题进行探讨和解答。

问题1. 业务流程设计不合理导致流程执行异常在进行业务流程设计时,需要对具体的业务场景进行分析和抽象,然后根据业务逻辑进行流程设计。

然而,在实际操作中,我们可能会遇到业务流程设计不合理的情况,例如环节之间的依赖关系没有考虑清楚,或者环节之间的顺序有错误。

这样会导致流程执行过程中出现异常,甚至无法完成整个流程。

解决办法:在设计业务流程时,应该充分了解业务场景,考虑环节之间的逻辑关系和依赖关系。

可以通过对业务流程的抽象和建模,使用UML图形工具进行可视化设计,以便更好地理解和排查潜在的问题。

在设计之后,需要进行严格的测试和验证,确保流程的正确性和可靠性。

问题2. 部署和更新流程定义出现问题在使用activiti进行项目开发时,我们需要将流程定义部署到工作流引擎中,以便后续的执行和管理。

然而,在部署和更新流程定义的过程中,可能会遇到一些常见的问题,例如版本冲突、依赖错误等。

解决办法:为了避免部署和更新流程定义出现问题,我们可以采取以下措施:1. 确保流程定义的唯一性:每个流程定义应该有一个唯一的标识,以避免版本冲突和混乱。

2. 注意依赖管理:在引入外部依赖时,需要仔细考虑版本兼容性和依赖关系,确保依赖的正确性和一致性。

3. 使用版本控制系统:可以在流程定义的开发过程中使用版本控制系统,例如Git,以便进行版本管理和冲突解决。

问题3. 流程执行过程中的异常情况处理在工作流的执行过程中,可能会遇到一些异常情况,例如环节执行超时、任务分配错误等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

!$N
பைடு நூலகம்
异常处理方法
失败补偿法: 这种方法的基本思想就是每一个任务有一个
响应的补偿任务对应, 这个补偿任务在语义上就是对已执行的 任务产生的影响进行消除, 当一个任务执行失败时, 就启动执 行补偿任务, 直到找到一个分支点, 使整个过程能继续向前执 行。 基于知识库法:这种方法是由 L5O 的 L3-? P@,06 等提出 的, 首先对异常进行分类, 定义其特征, 建立知识库, 每个异常 有一个“ 异常探测” 处理模板, 来捕获异常, 通过自顶向下的启 发式搜索找到异常的原因, 再采用相应的过程去处理, 事件 J条件 J动作) 规则法: *QB( *QB 规则法在 .5R* 工程
图! 三层异常模型
中得到使用, ,S,64 描述了异常出现这一事件, :>6+040>6 验证发
&%T !""#$%
计算机工程与应用
生的事件对应的条件, &’()*+ 是对异常的反应动作。如 ,-./ , 等系统采用了 01/23 ( 45)66 7898:&; -+6()(<(8 *= >8’?+*;*@A ) 对每一具体的 这种方法。/B3 方法主要适合于可预测的异常, 异常类别建立相应的规则( 也称为触发器) , 根据发生的异常事 件满足一定的条件去调用相应的动作( 活动, 子过程, 人工干预 等) 。 动 工作流的进化:这种方法是指通过 3@8+( 的学习功能, 态地修改工作流系统, 使系统能响应执行过程中出现的各种异 常, 调整系统流程, 保证系统运行。
所示。
#
高校招生网上录取系统
在笔者所在的课题组承担的全国高校招生网上录取系统
基金项目: 国家“ 九五” 科技重点攻关项目“ 全国高校招生网上录取系统” 资金资助 作者简介: 王跃, 清华大学计算机系, 硕士研究生, 研究方向: 计算机网络技术, 分布式信息系统 。
计算机工程与应用
!""#$% &%%
有碰到过的情况有可能引起未知异常, 一个基本的解决方法是 建立一个开放系统可以学习和处理这些异常情况。
&’(#)%*+$,-.$/0*$" *$ !"#$%,1.2#/ 3+4560+7
3.$" 89# :*9 3#*/+$" 3.$" ;-#$"
( I3>0)54315 (+ J(4>@53) 69:3193 01F G39E1(,(27 , G8:12E@0 K1:;3)8:57, L3:M:12 &"""AB)
&
引言
工作流( 技术是进入 ." 年 代 以 来 计 算 机 应 用 领 ’()*+,(- )
! 异常处理 !$& 什么是异常
定义异常首先就要定义正常, 正常就是理想中的一个协作 过程,它有效地利用资源并用一种最优的方法来实现任务, 异 常就是任何一种与正常的背离。 异常可能包括执行任务时出现 资源不足或者 的错误, 在 02315 之 间 交 流 结 果 时 的 通 信 错 误 , 是在任务执行时错过时机等等。在现实的情况下, 想要实现和 可以实现之间经常会有冲突, 设计一个尽可能处理好这两者之 间关系的系统是很必要的; 当异常出现时, 系统就会自动进行 处理。可以把这类工作流系统叫 3=93>5:(1?0-0)3 系统。 异常为工作流系统提供了很多改正自己, 发展自己和学习 的机会。建立一个 3=93>5:(1?0-0)3 系统之前, 需要弄清异常的 本质, 这在建立系统时可以起一个指导方针的作用。如图 & 所 示, 已知的, 可探知的和可解决的是异常知识空间的三维。 已知 的这一维通常通过异常的定义来获取。 监控是在可探知这一维 上扩大异常空间的一种方法。 而异常知识空间的可解决这一维 的组成应该是有能力的异常处理者, 他有能力解决异常。这个 异常知识空间上的任意一个位置都可以代表一个异常点。 一个
域的一个新的研究热点, 随着计算机的普及, 网络的延伸, 工作 正在 流技术及工作流管理系统( ’()*+,(- /010234315 678534) 吸引着来自研究机构及产业界越来越多的关注。所谓工作流, 就是一类能够完全或者部分自动执行的经营过程,换言之, 就 是为实现某一特定目标而必须完成的一些任务的序列及执行 及其相互间的顺序关系, 包括 过程, 它包括一组活动( 095:;:57 ) 过程及活动的启动和终止条件, 以及对每个活动的描述。工作 流管理系统指运行在一个或多个称为工作流机的软件上的用 于定义、 实现和管理工作流运行的一套软件系统, 它和工作流 执行者( 人、 应用实例) 交互, 推进工作流实例的执行, 并监控工 作流的运行状态。工作流管理系统的应用, 可以加速企业内部 商务和管理流程处理的速度, 提高处理的效率, 实现处理的自 动化或部分自动化。 尽管如此,现有的工作流系统仍然存在着适用范围窄、 灵 活性差、扩展能力不足以及对异常的情况不能及时处理等问 题, 它要求企业的业务流程有较好的结构化特性, 但实际的业 务流程很难达到比较理想的结构化, 并且它对于业务流程中动 态变化的因素不能很好地适应, 因此, 提高工作流系统的异常 处理能力, 是工作流技术发展的一个方向。由于 <2315 具有智 能性、 交互性、 主动性等智能特点, 因此将 <2315 技术结合到工 作流管理中, 将解决工作流的上述不足, 非常适合构造结构复 杂、 灵活、 智能的工作流管理系统。 论文将结合对异常的分析对 提出异常处理的可行 基于 <2315 工作流的异常处理进行探讨, 方法, 并给出异常处理应用实例。
动性可以使工作流系统更灵活、 更稳定。论文对工作流中的异常进行了介绍, 提出了基于 <2315 工作流中的异常处理方 法, 并给出了一个具体应用。 关键词 工作流 工作流管理系统 异常处理
<2315
中图分类号 GH&A
文章编号 &""!?A##&?( !""# ) "%?"&%%?"#
文献标识码 <
异常探测
异常处理中一个最重要的任务就是探测异常环境。 异常探
测的目的就是获取系统中的异常。 在工作流系统中可以通过检 测控件的外部输入和输出并与期望值相比较来实现。 用这种方 法, 超级用户首先预测一个系统的结果, 如果观测的结果和预 测的不同, 回滚结果并做一个新的合法预测。当超级用户所做 的所有的预测结果都和观测结果不相符, 就可以认为这是一个 异常。接下来将讨论几种探测方法: 非明确定义探测:非明确定义常常导致系统的不确定性, 而在规范中的非确定性是有优点的, 因为规范制定者可以避免 陈述无关的现象, 可以使软件设计人员更加自由地设计出理想 中的程序。 在工作流系统中这种探测异常的方法最大的困难就 是必须计算出在不确定环境下可能出现的所有现象。 分级探测: 由于 .KLM 是分 级 结 构 , 所以应用这类方法是 非常自然的。 这种分级方法和普通的一层方法在几个子问题上 会有不同, 例如, 跟踪目标系统的外部表现以及详细的内部表 现检查。 计时探测: 在时间敏感的软件中, 一个没有在指定的反应 时间内的正常输出也有可能成为异常。 自动探测与时间相关的 异常可以通过在请求和相应之间的时间段内跟踪工作流状态 来实现。 系统的时间特性直接来源于工作流应用实例的需求说 明书。基于工作流系统的外部表现, 计时探测允许异常的实时 探测。这个特性是很有益处的, 因为 .KLM 经常需要集成已有 的系统、 从别处购买的软件控件和第三方的任务。
!12%4.(%: GE3 539E1(,(27 (+ <2315 :8 0 >)(4:8:12 8@NM395 (+ 5E3 <O +:3,F$O1532)053F -:5E <2315, ’()*+,(- /010234315 678534 -:,, N3 4()3 +,3=:N,3 01F )(N@85 F@3 5( 5E3 :153,,:23193 01F F:85):N@5:(1 01F 0@5(1(4(@8 (+ 5E3 <2315$GE3 >0>3) :15)(F@938 5E3 3=93>5:(1 (+ -()*+,(- 01F N):128 +()-0)F 01 3=04>,3 (+ :5$ <#=7+4/2: ’()*+,(- , ’+/6 , C=93>5:(1 E01F,:12 , <2315
!$!
异常的分类
对工作流系统中异常的分类最早是在 &’’( 年由 )$*+,- 和
人 .$/0,123-4 提出,以后随着人 们 对 异 常 处 理 的 重 视 和 研 究 , 们从不同的角度对异常提出了分类, 这些不同角度的分类可以 总结如下: 按类型分类: 有两种分法, 一种可分为基本故障和应用故 障。 基本故障指工作流管理系统执行时出现的故障或执行环境 的故障, 应用故障指的是工作流调用的应用程序出现故障。另 一种可分为可预测的异常和不可预测的异常。 可预测的异常指 可以预见的工作流流程的一些偏离, 不可预测的异常指一个业 务流程的结果与它的原始定义不匹配。 按异常建模的层次可分为 三 层 : 基础结构异常( 567-384-9:; , 工作流异常( 和运行实 49-, ,<:,=40>68) .>-?7@>A ,<:,=40>68) 。如图 ! 所示。 例异常( B==@0:340>6 ,<:,=40>68)
图&
异常的三维分析
实例异常。
!$#
相关文档
最新文档