畅享博客 > 协同软件 > [分享]工作流仿真综述
2010/9/26 14:13:46

[分享]工作流仿真综述

1 仿真产生背景
   通常工作流模型的部署由以下几个步骤组成:建模人员首先根据客户业务抽象成工作流模型,然后使用流程设计工具画出工作流模型。项目实施和部署人员在工作流模型的基础上进行二次开发,从而开发出符合客户业务需求的软件系统。然而,项目实施和部署人员开发的系统有时很难满足客户业务逻辑,甚至出现工作流模型不能正常流转的情况。于是建模人员要重新设计或修改工作流模型。为了减少经济上的损失和时间上的浪费,人们提出了工作流仿真技术。工作流仿真是对工作流模型进行仿真,模拟业务的运行,并根据仿真结果来判断、评估或评价真实流程的性能。
2 仿真的定义及其优点
   工作流仿真是对工作流模型执行情况的一种模拟,它是利用离散事件驱动的方式驱动流程向下流转,自动推进工作流实例的运行。有两种仿真方式可以选择。

一种是由仿真系统自动进行多次仿真另一种是由仿真人员和仿真系统交互进行仿真。最后根据仿真方式不同给仿真人员提供不同的报表。仿真人员在这些仿真统计数据的基础上进一步分析和评价工作流模型的各项性能。工作流仿真的主要目的就是对过程定义进行分析和评价。它通过动态模拟运行、综合评价指标体系,

分析仿真数据,从而发现问题、改进或优化流程。
   仿真具有以下几个优点:
   (1)运行时间短,效率高。通常一个流程要运行几天或者几个月才能完成,而仿真过程可能只需要几个小时甚至几分钟;
   (2)安全可靠,风险小。工作流仿真是通过设置仿真环境变量、初始化相关数据、修改相关数据来模拟业务过程的变化,它不会对实际业务过程的运行产生任何的影响,避免了改变实际业务过程而可能带来的不可挽回的影响;
   (3)经济。由于仿真是在工作流模型部署之前进行的实际业务的模拟。它通过一些简单的设置就可以完成以上目的,从而避免了因为反复修改模型带来的经济损失,因此,仿真运行成本低,非常经济。
3 仿真的现状
   应该说,缺乏仿真方法和仿真工具支持的工作流系统是不完善的。因为人们难以预料所部署的流程将有可能出现怎样的结果,它有哪些不合理的地方,业务逻辑是否符合用户的需求,而这要等到实际运行以后才能确定。显然,这不是一种合理的方式。
   目前,通过研究者和技术人员的长期努力,工作流过程的建模已经有了一定的理论方法,并且也逐渐出现了一些过程建模工具。与工作流模型分析相关的技术有模型的静态验证和动态仿真。其中工作流模型验证在图论和Petri网理论的基础上已经进行了相当深入的研究,并开发出了相对成熟的产品。而工作流仿真却还是一个比较薄弱的环节,尚处于以研究为主的状态,离商品化的距离还比较远。随着工作流在办公自动化领域的大量应用,因此面向信息流处理的工作流产品越来越受到市场的青睐。而目前国内外的已有的仿真工具大多是采用的有关柔性制造业中的流程仿真技术。因此如何对信息流进行仿真需要进一步的研究。同时,就目前仿真工具的发展现状看,很难做到通用性,即通过仿真工具仿真多个工作流厂商的工作流模型。通常仿真工具都是为某个特定的工作流厂商服务的。因此工作流厂商的产品的应用情况直接决定仿真工具的开发模式。仿真工具要以工作流的具体应用为导向。最后,仿真工具的可信度分析也是非常重要。它直接决定了仿真工具是否可信,用户对仿真的结果是否满意。国内外的一些仿真系统的可信度的研究主要是在兵器领域。工作流仿真领域的可信度的研究不多。
4 仿真的实现方式及基本步骤
   目前工作流仿真的实现方式主要有以下四种:
   (1)建模工具集成仿真功能是将仿真系统直接嵌入到工作流管理系统的建模工具中,然后进行抽象的工作流建模,模型建立后就直接进行仿真。
   (2)建立模型映射是结合己有的系统仿真工具和已有的工作流建模工具,然后通过模型的映射,将工作流模型映射到系统仿真工具上。
   (3).自定义模型和仿真工具。是建立一个完全自主的工作流仿真系统,包括自己的仿真模型、仿真引擎以及仿真分析工具。
   (4)将已有的工作流模型改造成仿真模型,以工作流引擎为基础,封装成仿真引擎。通常这种实现方式的仿真工具是为特定的工作流产品服务的。
   所谓工作流仿真就是利用离散事件驱动的仿真引擎执行工作流模型中的各项活动,自动推进工作流实例。经过一次或多次仿真,可以得到一系列仿真数据,从而可以在这些仿真统计数据的基础上进一步分析和评价工作流模型。
   通常的仿真由以下几个步骤组成:
   选定要仿真的工作流模型
   设置仿真环境
   初始化随机数产生器
   开始仿真并动画显示仿真过程
   收集并展现仿真数据  
  

5 协同产品Simulation
   西安协同时光软件有限公司开发流程仿真工具Simulation采用的是离散事件驱动流程流转的方式。它是在已有的工作流系统SynchroFlow平台上开发出的仿真工具。该仿真工具将工作项抽象成离散事件,通过对工作项设置全局变量值并且完成工作项来驱动流程实例的流转。全局变量值是由随机数产生器在用户给出的变量值集合中随机产生的。仿真结束后,给出仿真经过的路径信息、活动执行次数信息、仿真出错信息等。
   由于协同的SynchroFlow是面向信息流的工作流产品,因此如何对信息流进行仿真是面临的主要的问题。最终研发人员通过借鉴程序测试的思想最终提出了交互式仿真和非交互式仿真。目前已经开发的版本是非交互式的仿真工具。在后续的版本中会加入交互式仿真。这两种仿真分别侧重不同的目的。在接下来的文章中会详细介绍这两种方式的仿真。
   在实现方式上,协同Simulation采用的是B/S架构。这样即符合当前瘦客户端的趋势又同时为将来的SaaS模式提供很好的基础。在面向服务的计算的背景下,测试会变得无处不在,而仿真作为测试重要的方法之一会受到人们越来越多的关注。
 

 



评论

方正飞鸿智能信息平台实现业务导向和驱动的软件开发,从根本上解决管理软件开发中的诸多难题,使企业信息系统真正实现“用户主控、随需而变、全局规划、整体集成”的信息化战略。渗透管理软件的设计、开发、调试、部署,到运行、维护、管控、治理的全生命周期。

方正飞鸿:www.founderfix.com
电话咨询:400-688-9820

发布者 xss528
2011/9/21 15:29:00


您还未登录,不能对文章发表评论!请先登录