SaaS的工作流仿真系统中的交叉仿真法

时间:2020-08-30 20:42:28 论文提纲 我要投稿

关于SaaS的工作流仿真系统中的交叉仿真法

以下是一篇关于关于SaaS的工作流仿真系统中的交叉仿真法的毕业论文提纲,欢迎浏览!

 

0 引言

  

  工作流仿真是在工作流程建模之后、系统具体投入使用之前,利用仿真引擎模拟工作流中各个活动的执行过程,通过多次仿真运行,得到一系列关于工作流模型运行的统计数据,如过程时间,过程成本和资源利用率等。

 

  (1)流程仿真是为了发现流程中存在的问题,以便于为流程的改进提供指导。

  (2)验证流程的正确性:检验流程是否存在死锁情况,流程能否在任何情况下都能够到达终止状态,找出流程没有流经的节点;

  (3)测试流程的性能:在流程正确的前提下,通过各种时间数据的分析,找到时间花销最大的任务模块,从而便于工作流优化[1]

  (4)从仿真中找出组织结构中各部门的参与情况,从工作量分析,有利于人力资源的合理分配,甚至于企业组织结构的调整。(属于资源利用率中的人力资源的利用)。

  

  1 介绍

  

  借鉴计算机领域对服务的相关定义,仿真服务的定义为“使用标准接口描述和发布,并且能够被发现和调用的仿真组件”,一个仿真服务可以是任何可用的仿真资源,如仿真模型、仿真算法,计算模型,以及仿真数据等。基于SaaS 的仿真模型框架不同于传统的基于闭环境的离散型仿真框架。SaaS 的出现为工作流仿真带来了新的提议,它的最大的优势是“可重复使用”,允许用户使用已有的方针资源进行仿真而不需重新获取复杂庞大的仿真数据。

 

  展示了基于SaaS 的工作流仿真框架,仿真信息配置、仿真执行和仿真可视化展示服务通过web service 提供给用户。

  

  2 交叉仿真法

  

  交叉仿真,就是指对给定工作流管理平台输出的流程定义同时采用用户模拟仿真和流程实例模拟仿真两种方法,对流程定义进行混合多线程仿真。

  

  2.1 两种仿真方法介绍

 

  方法一:用户模拟仿真用于模拟大规模用户执行情况。企业中一个工作流实际运用起来会有很多成员参与执行,需要测试流程在接近真实用户数量参与的时候能否高效执行。此时模拟的是同一个工作流程实例,多用户参与执行不同任务的情况。用户在登陆后,获取自己的任务列表然后开始执行任务。

 

  (1)模拟环境配置:

 

  1.配置虚拟用户数目作为线程的并发数

 

  2.对人工任务节点进行信息配置

 

  (2)仿真结果:

 

  仿真结果可视化界面将展示整个流程实例完成时间作为仿真总体时间,并计算平均任务等待时间。

 

  方法二:流程实例模拟仿真

 

  可以模拟多个工作流程的执行情况。一个企业中往往存在很多业务流程,需要不同人员不同组织部门的交互参与。此时模拟的是同一个流程定义的不同流程实例,流程在执行过程中,遇到人工任务节点或是自动结点(需要资源充足),可能会使得流程停滞不前,需要外部触发或是等待,获得空闲后方可继续执行流程。(例如:同时有多个资金申请流程启动,检查审批流程的效率),可以通过仿真结果得出流程设计的正确性(不可达问题)

 

  (1)模拟环境配置:

 

  1.配置流程实例数目作为线程并发数目

  2.配置decision 信息,使得并发的线程尽可能遍布流程定义的每一条分支

  3.配置任务节点信息

 

  (2)仿真的结果:

 

  1.统计没有流经的节点,从而提醒流程设计者检查该节点是否为不可达。

  2.统计资源利用率(物质资源、人力资源),资源的利用率。

  3.统计各节点的时延信息,主要是人工任务或自动任务因为资源不足而导致的时延信息。(与1 不同的是,1 统计的是人工任务由于人为因素导致的延迟)。

  

  2.2 两种仿真方法的结合

 

  大多数的测试工具,不限于工作流领域,都采用的是模拟多用户的方式,这样仅仅能够从多人执行单流程实例的角度模拟流程,无法获得多流程实例并发的状况。这样的仿真需要在数据库中添加大量的仿真信息,具有一定的不便性。

 

  大多数已成型的仿真工具选择2 模拟多流程实例的方式,忽略了实际推进流程执行的外界因素是用户本身,导致仿真的结果中对现实中用户并发的因素分析几乎为零。

 

  于是选择将两种流程仿真模式合并,在本仿真系统中,对同一个流程定义,根据用户服务需求两种方法基础上的层叠仿真,把不同视角的仿真流程执行情况融合在一起。全面分析流程定义,获取最接近真实世界的.仿真结果数据。

 

  该算法描述两套线程交互场景:用户线程发生器根据模拟信息生成用户实例,所有的用户线程要做的就是获取各自的用户列表。流程实例发生器产生流程实例线程,从相同的情况下,它的定义是模拟过程中,所有进程线程需要做的是确定资源的可用性和触发用户执行。

 

  这种新方法是基于离散事件[2]的仿真。从技术角度来看,工作流仿真有两种方式,系统分析(连续与离散数学模拟模型和数值方法计算)和离散事件仿真(德)上的事件处理方法的基础。系统的分析为基础的模拟大多与学术研究相关,而DES 被认为是在业务流程中所产生的事件驱动,因此它被广泛使用的工具于工作流仿真。

 

  因此,通过使用相同的模拟在上述两种方法所描述的信息这种方法更多的信息。

 

  (1)模拟环境配置:

 

  包括以上两种仿真方法的所有仿真信息。

 

  (2)仿真的结果:

 

  1.任务的平均等待时间:我们能够统计工作的延迟,延迟的因素不仅是由于客观的资源可用性,而且是由于主管的任务资源的延迟,这种延迟叫做懒惰模式延迟。

  2. 平均任务执行时间。

  3. 对流程实例的平均执行时间。

  4. 完成率:该进程的情况下可成功结束的百分比。

  5. 人力资源利用率.

  

  3 工作流仿真数据模型

  

  工作流管理联盟提出了特定的定义模型用来描述工作流,即BPDM(工作流定义模型).流程定义模型(BPDM)可以非常好的表示实际的系统,但仍然缺少必要的仿真模拟信息,比如资源信息,执行时间的信息,这些信息构成了仿真执行的必要条件。因此,需要根据BPDM 建立业务过程仿真模型(BPSM)。

 

  在模拟器,依据用户处理人工任务的不同行为来建模。仿真器提供了以下四种方式来描述用户处理人工任务时表现的四种行为方式。

 

  (1)服从他的个人代理人模式(顺从)。

  (2)一旦有任务就尽早完成模式(仓促)。

  (3)尽可能拖延到截止日期才完成任务模式(懒惰)。

  (4)与其他任务并行完成任务模式(并行)[3]

  (5)要添加下列模拟元素,我们可以很容易适应这些人的行为类型。

  (6)延迟:确定了该进程的延迟时间/任务。

  (7)费用:确定该进程的成本/任务。

  (8)收入:确定该进程的收入/任务。

  (9)时间:定义为过程的持续时间/任务。

  (10)比率:定义选择一个过渡的机会[4]

  

  4 仿真引擎设计

  

  基于 SaaS 的流程仿真平台基于web 工作,分为前台编辑展示部分和后台执行部分两个模块。流程仿真工具依赖于成型的工作流管理平台。从工作流管理平台获取流程定义后转变为仿真模型,进而自动在工作流引擎中执行。这里的流程定义模型主要依托于外接的工作流管理平台。

  工作流仿真平台是面向多工作流管理平台的服务系统,能够适配于不同支持人工事件的流程定义语言的流程定义模型。工作流仿真模块依赖于已有的业务流程管理。显示了工作流程管理和工作流仿真平台的互动:从流程定义工具中获取工作流仿真文件,将该仿真文件读取并转换为仿真模型,自动运行模拟引擎。人工任务仿真引擎依托于现有的工作流仿真引擎实现。工作流仿真是面向多业务流程管理平台,它可以适应不同的流程定义模型,支持人工任务。

  

  4.1 仿真信息配置工具

 

  该工具是一个基于Web 的图形化建模工具。该环境提供模拟环境的定义属性和行为的配置,抽样例程,属性表和视觉控制。通过配置,我们获得一个模拟信息脚本。此脚本可以用来模拟初始运行,设置属性,如任务的处理时间,成本,收入,资源分配,并为决策节点设置一个复杂的决策规则[5]

  

  4.2 仿真引擎

 

  (1)模型解析器模型解析器就是用于对仿真模型XML 文件进行解析,获取仿真信息,通过接口将仿真信息传递给工作流引擎运转。解析出来的信息大部分由以下相对应的模块提取出来,再向流程引擎发出相应执行指令。

  (2)事件生成器根据仿真配置的信息,(事件信息)触发流程引擎产生一个流程实例。

  有三种事件发生模式可供仿真信息配置:间隔型事务模型、完成型事务模型、需求型事务模型。

  (3)状态控制器控制检查流程的执行情况:对于人工节点,在保证资源充足的情况下依据仿真虚拟执行信息进行触发和终止;对于虚结点中的路由选择也依照虚拟仿真信息执行。

  同时状态管理器负责实时监控流程实例,为图形展示界面提供流程实例的状态信息。

  (4)过程控制器负责向流程引擎提供路由信息。该模块替代了实际工作流程运转中的人工事件触发,取而代之的是为各分支指定概率。(也可以考虑引入规则引擎)仿真支持部件中各个部件的功能:

  

  5 仿真实验

  

  显示了仿真信息的配置过程。当点击一个工作流程元素时,将在右边显示节点需要填写的仿真信息。正如所示,依据填写的信息XML 文件将立即进行更新。显示了模拟结果的界面,它为我们提供了仿真结果的信息,我们以表格和饼图的形式展现数据。

  

  6 总结

  

  本文针对仿真引擎,提出了两种仿真方法:模拟用户实例和模拟流程实例。并提出一种将两种仿真方法叠加使用的二次仿真法,这种仿真方式从横向和纵向两种视角对一个工作流程的执行进行接近于现实的仿真,使得仿真结果更加真实可信,并依据此方法提出一套完整的从工作流定义模型衍化而来的工作流仿真模型.

 

  有许多商业已有很多用于业务流程建模和仿真(COTS)的工具,然而,尽管这些产品的功能性日益增强,但在使用中仍然存在一些障碍。常见的问题是可用性和灵活性之间冲突[4]。目前提供的仿真服务只适合使用jPDL XPDL 两种流程定义语言,在将来要使得仿真更加灵活,支持更多的业务流程定义语言,例如WS - BPEL [6]。如何使得动态生成的模拟数据更加符合客观实际,是一个值得探讨的问题,这需要进一步改善事件发生器。

 

  [参考文献] (References)

 

  [1] R.Bhaskar, Ho Soo Lee, Anthon Levas, Raja Petrakian, FloraTsai, BillTulskie: ANALYZING ANDRE-ENGINEERING BUSINESS PROCESS USING SIMULATION. 26th conference on Winter simulation,Orlando, Florida, United States, 1994.

  [2] Vlatka Hlupic, Stewart Robinson: BUSINESS PROCESS MODELLING AND ANAILYSIS USINGDISCRETE-EVENT SIMULATION. 30th conference on Winter simulation, Washington, D.C., United States,1998

  [3] Hiroyuki Tarumi Tetsuya atsuyama, Yahiko Kambayashi: Evolution of Business Processes and a ProcessSimulation Tool. Sixth Asia Pacific Software Engineering Conference, Takamatsu, Japan, 1999.

  [4] Changrui Ren, Wei Wang, Jin Dong, Hongwei Ding, Bing Shao, and Qinhua Wang. TOWARDS AFLEXIBLE BUSINESS PROCESS MODELING AND SIMULATION ENVIRONMENT.IBM ChinaResearch Laboratory. Winter Simulation Conference, Miami, Florida, USA, 2008.

  [5] Lianjun An, Jun-Jang Jeng. ON DEVELOPING SYSTEM DYNAMICS MODEL FOR BUSINESSPROCESS SIMULATION. Winter Simulation Conference, Orlando, FL, USA, 2005.

  [6] Web Services Business Process Execution Language (WSBPEL)

【关于SaaS的工作流仿真系统中的交叉仿真法】相关文章:

1.下一代网络中的PSTN/ISDN仿真系统

2.高校虚拟仿真实训系统的设计研究

3.WCDMA系统级仿真分层小区结构的研究

4.关于ModelSim仿真流程

5.探析仿真模拟系统在口腔医学实验教学中的应用

6.2017年企法顾问考试仿真题

7.2017年企法顾问考试仿真试题

8.冶金仿真系统数据通信论文

9.数控仿真软件在实习教学中的作用