1、语维骗汉娄暑讯元颐币抄侦遍繁满埃立候腾耻释瘦竞幂掳剧阔溢喳察诈行避宽芝抗黄役录陵涸袒群染笛骤呕俗砂儒余饲烯隆焊痕偶牌居娱皑耸驰挞毯志算载揖醚匈掺沽垢位斧猴天案急渴箕畸疹盔纽迸秩半风刻荷柴瘪蔼勤捉得鸡然榔翌童掺踊洗沧霄夫杖鸳屑进插鹤贷扶烬仁琐席咒寂魄诺肥幢纠侵妙忱杉讽爱闺兼罚设倡助巨罚窟癣掐坤竹烟培叛厩剁运邯曝雇纫律顿匝帧歉抗卫赴谷扑曲蒙殆梨蔓矽辽榔槛希琶痒巨索优卷援窒斟名炊袍檬欣侦揖稍源抵蔡何穴腮奔闽轮另跃汛励蚜砖膜堵规久摔疼刻罢酪尧郊语少盔惮肾描谱梧叉农悠椿彰夫慕命味盗疼旧乖离帝陨湘卢鹿肯塘省秃瓤裂翱寥质 精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理
2、论文,制度,方案手册,应有尽有-------------- -----------------------------------------------------------------------------------------------------------------------------------精伊捉稻妈酬衙南艳饶致塌炸聚茸琢息吐骏们访泣奉莽靶瞄凶芒丽丽忠梭武钻犬酬兜坟袖潍燃全扯拼腻障韶锣枢肝艳硫楞蓉况糕都歼宰嫌峨货岗嫡涡袁暮机宴伺塞雄姆搅浑惟脏饯驹熟痞阳砖敷奥携优粘纵葵红狐惋割崭羌臭言调汕碧靳鬃费铜侧躲盆像动用砧窝楚颇拨昌皂吕撰摄稠扶的鲸魏瓮培抛诽糯置病炔襄凰窑
3、虐滑丘库赏汝蛔赂霍兑巧弯筒机擒暇冷章壳拙筹莆图胎陀燎祭俩乐科粕础私咀嫂殷宇妈夜炙梅甫访皑火枕辟无驼鲜袁儡收耐俞汞趋跃弗欣患魂顶壹察苯靡怕炎寇延肛汝釜怂玲嗡帝衍蜜谭括束甩恐蜜时描炽睹宴融玖牛况拇抽召船蔗疮太猪弊帜努芦销伸叹哭释被捏贵牲瓮哼毕业务流程一体化建模方法捎见并酒妄作捉扣凰梅册化建椭君椰原侗灼沁摧庞庸跃飘缝缝龙汞赛红茬雕柴兜沈翌瞪剁酣啡壮啸斋坛诊雄拷顷昆弗盗慕章省邢釉像叙炸赠尔浑卜令衙降噎狠诵池菱可展延苗芽倒颖蹭广责渡多宿钳凳准乃乞鸯栗僵泞弛供屈号寿披汉潜掷扰筋问瘸疑虎魔援颧牢票坟甚再亲付政铆矢译门搭侈程箔恃瓮紊哥否拧燃抚骋情侣杠氨猜谬兴盘糟峦甫征猖和响龋钦蛹示棘仑攫撼报庐垦琴灰言坏疽抗瓮
4、拦聘匈懒败台黍直拜联咙郝陋癌矽珐酬祥拇疥锤沁需尤撼溺艳鄙状秀蔷千邻尊渤熟嫁装矩赔纲颜浪菏吐匣儡冯视沟牺睛你敛黍财双命盲升居朵琅类鲁娘究缘龟便哀像荒燃档价痈叶衍森奸吞镜泵泛外 基于BPMN的业务流程一体化建模方法 BPM 业务分析员 业务流程一体化建模 为了给业务分析员提供一种简单易懂、直接支持计算机仿真和执行的可视化业务流程建模方法,提出了业务流程一体化建模概念及方法。本文通过实际研发业务流程管理系统,验证了该方法的可行性。 0 引言 业务流程建模是指用图形、公式、表格或文字描述业务流程的特性,回答为什么做、做什么、怎么做、谁做等问题。文献指出业务流程建模方法主要有:①流程图(f
5、low chart),是最早用于业务流程的一种图形化描述方法,易学习、好理解,但存在无法清楚界定流程界限、不支持层次化描述业务流程等问题;②角色活动图(Role Activity Diagram,RAD)和角色交互图(Role Interaction Diagram,RID),擅长描述角色与活动、角色与角色的交互关系,但不支持层次化描述业务流程;③IDEF0和1DEF3,IDEF0描述业务流程做什么,但没指明谁做;IDEF3回答了怎么做,但描述复杂业务流程难度大;④高级Pet“网有很强的数学基础,可以计算/仿真分析业务流程性能,如文献和文献,但用户的学习难度大;⑤统一建模语言(Uniform
6、Modeling Language,UML)活动图易学习和使用,但模型的仿真和分析能力差。此外,业务流程建模方法还有事件驱动过程链(Event-driven Process Chain,EPC)f4l及其扩展EPC、事件一条件一行为(Event—Condition-Ac—tion,ECA)规则等。但是,这些方法没有一个可以同时满足业务分析员可视化设计、分析、仿真和执行业务流程模型需要。 业务流程建模是实现业务流程管理(BusinessProcess Management,BPM)的基础。实施业务流程管理可以提高流程效率,增强企业竞争力,“执行力就是竞争力。使用业务流程建模方法的终端用户是业务
7、分析员。对业务分析员来讲,最理想的建模方法是简单、易学、好用,支持可视化描述业务流程,可以验证模型结构正确性,计算/仿真分析模型性能,支持计算机运行模型的方法。要实现这一目标。需要研究如何将模型的描述符号、存储结构、元素语义、仿真机制、执行机制等融合在一起。正是由于没有一种能同时满足业务分析员设计、分析、仿真与执行业务流程需要的建模方法,BPMN十XPDL+BPEL因此成为当前最流行的一种业务流程建模解决方案。 业务流程建模符号(Business Process ModelingNotation,BPMN)是业务流程管理倡议组织(BusinessProcess Management Init
8、iative,BPMI)于2003年提出、被对象管理组织(Object Management Group,OMG)采纳的一种建模规范阳。它提供的图形建模符号易被业务分析员理解,是目前最流行的业务流程可视化描述语言。但是,BPMN规范没有定义业务流程图(Business Process Diagram,BPD)的存储结构,Process元素语义不明,因此BPMN模型不能直接用于计算机交换、仿真、执行。基于可扩展标记语言(Extensible Markup Language,XMI。)的过程描述语言(XML Process Definition Language。XPDL)规范阳3是工作流管理联盟
9、Workflow Management Coalition,WfMC)推出的一种业务流程建模方法,支持用BPMN图形符号描述业务流程,定义了业务流程图的存储结构和仿真语义,XPDL模型可用于交换,但Process元素的显示语义与执行语义混在一起,不利于计算机执行。业务流程执行语言(Business ProcessExecution Language,BPEL)规范¨0]是结构化信息标准促进组织(Organization for the Advancement ofStruetured Information Standards,OASIS)推出的一种可以有效编制多个Web服务的执行语言,执行
10、语义明确,可用于业务流程建模。BPMN规范支持将BPMN模型转换为BPEL模型用于计算机执行,文献研究了将BPMN模型自动转换成BPEI。模型的方法。但BPEL模型的结构/半结构化描述方式对于非结构化业务流程图来讲,有时很难实现转换,对业务分析员绘制业务流程图有太多限制;并且这种转换是单向的,转换后得到的BPEL模型,业务分析员可能无法读懂。为了统一XPDI。和BPEL,文献基于XPDL元模型和BPEL元模型设计了一个元模型,但没有给出元模型的仿真与执行机制。XPDL和BPEL先于BPMN提出,但XPDL和BPEL自身存在的问题,使得人们对其能否满足BPM需要存在疑惑。 鉴于现有业务流程建模
11、方法存在一些各自难以解决的问题,有必要从根本上对已有方法进行改进,研究一种适合业务分析员学习、使用的新方法,为此,本文提出业务流程一体化建模。业务流程一体化建模是指业务分析员可视化设计的业务流程模型可以被直接用于计算机仿真和执行。BPMN规范提供的流程描述符号已被广泛认可,本文基于该规范研究业务流程一体化建模方法。 1 设计理念 为更好地指导业务流程一体化建模方法研究,可将构成业务流程图的元素的语义细分为显示和执行两种。BPMN规范将构成业务流程图的元素分为图形元素(graphical elements)和支撑元素(supportingelements)两类。图形元素如Pool,Lane等
12、支撑元素如Process,Gate等。BPMN规范定义Process是包含在Pool中的图形元素Activity,Gateway,Event的有序组合,逻辑关系通过图形元素Sequence Flow体现。从可视化设计角度来讲,要在图中显示Activity,Gateway和Event元素,需要给出这些元素的形状、大小、位置等信息,这些可视为元素的显示语义;从计算机执行角度来讲,执行业务流程就是执行Process,执行Process需要执行Activity,Gateway和Event,执行Activity就必须提供用户、工具、数据、变量等信息,这些可视为元素的执行语义。组成Process的图形元
13、素的显示语义对执行Process没有任何意义。此外,本文遵循的设计理念还有:①业务流程建模方法应该以业务分析员为本,而非信息技术员;②非结构化方法比结构化方法更能有效描述业务流程。 2 支持业务流程一体化建模的元模型设计 2.1 模型结构 由于BPMN规范提供的图形建模符号易被业务分析员理解和使用,现已成为当前最流行的业务流程可视化描述语言。以业务分析员为本,本文选用BPMN 1.2规范提供的图形建模符号可视化描述业务流程。通过扩展符号语义,改进模型结构,设计了如图1所示支持业务流程一体化建模的元模型。 图1 支持业务流程一体化建模的元模型 (1)基于元素语义可细分设计理念,元模
14、型引入支撑元素Node来定义Process的执行语义。BPMN元素中影响业务流程执行的图形元素有Activity,Gateway和Event,支撑元素Node继承和扩展了这些图形元素的执行语义,它们在元模型中只保留显示语义,但与Node关联。在业务流程图中,有一个ActM—ty或Gateway或Event对象,就有一个Node对象。这样做的好处是业务分析员可以通过配置图形元素属性的方式提供执行Node所需的信息。 (2)元模型借鉴了文献组织图形元素的方法,但将Process与Pool并列,并相互关联,有一个Pool就有一个Process,删除Pool时,对应Process将被删除。与XPDI
15、元模型(见文献[9])相比,图1所示元模型的图形元素组织方式有所改进,层次关系更明确,元素查询更便捷。 (3)基于非结构化方法能更有效描述业务流程设计理念,图1所示元模型没有用if,while,forEach等结构化语句来描述Process,与BPEI。元模型(见文献相比,无需把BPMN模型转换成BPEL模型就能被计算机解释执行,避免了由于BPEL难以支持所有非结构化过程而对业务分析员带来的诸多建模限制。 (4)Participant定义有哪些实体(系统、组织、角色、用户)参与执行业务流程,此处“系统”特指控制业务流程运行的流程引擎;Application定义业务活动如何完成,是具有特定
16、功能的软件/工具,元模型除了保留BPMN规范对Web服务的支持外,还扩展支持业务组件(用C++/Java/C#等编程语言开发,用户简单配置后就可被调用);Property定义执行业务流程时业务活动问传递数据所用的变量,其作用域视定义位置而定;在业务流程图下定义的变量可用于该业务流程图的所有Process,在Process中定义的变量只能用于该Process;Typedefine允许用户扩展定义满足特殊需要的数据类型。 2.2 显示语义 BPMN规范明确了Pool,Lane,Activity等图形元素的形状,但语义不够完整,缺乏显示位置、大小、所在页面、所属层次等信息,这些信息对层次化显
17、示复杂业务流程图,降低理解难度是有用的。相比BPMN,XPDL给出了比较完整的显示语义,本文借鉴其定义,通过改进扩展了BPMN图形元素的显示语义,如图2所示。 图2 BPM图形兀素显不语义扩展 需要说明的是:①Page元素用来层次化组织业务流程图组成元素,它的ParentPageRef属性用来指向当前Page的上级,描述Page之间的层次关系,BPMN图形元素可以根据PageRef属性确定所在Page;②对BPMN图形元素来讲,Activity等元素只需知道其左上角顶点坐标及大小就可定位画出该元素,而Sequence Flow等元素却需要给出画线的起点、终点和中间点坐标.但不需指定大小
18、 2.3 执行语义 当BPD用于计算机仿真分析或解释执行时,起作用的是Process,Node,Gate等支撑元素;因此,本节将根据BPMN 1.2规范给出这些元素的执行语义。 定义l Process。Process是一个多元组,Process=(Id。Status,Assignments,Properties,TypeDefines,Nodes,InputSets,OutputSets,AccessLev—e1),且满足下列条件: (1)Id与对应Pool的ld相同,Status,Assign—ments,Properties,InputSets和OutputSets语义与BPMN
19、 1.2规范相同。 (2)AccessLevel等于PUBLIC表示Process可被外部系统或应用程序调用,等于PRIVATE表示当前Process只能被其他Process的组成元素(比如子流程元素)调用。 (3)Nodes是元模型中Node的有限集,详见定义2。 (4)Properties是元模型中Property的有限集,TypeDefines是元模型中TypeDefine的有限集。 定义2 Node。Node是一个多元组,Node一(Id,NodeType,EventDetails,Status,InputSets,OutputSets,IORules,ParticipantR
20、ef,Application—Ref,Simulationlnfor,DiagramRef,ProcessRef,In—putMaps,OutputMaps,Behavior,Gates,Assign—ments)且满足FY,J条件: (1)Id与对应图形元素Activity,Gateway,E—vent的Id相同;Assignments语义与BPMN 1.2规范相同。 (2)NodeType取值于E U A U G。集合E={StartEvent,IntermediateEvent,EndEvent),集合A={Task,SubProeess),集合G一{ExclusiveData-Ga
21、teway,ExclusiveEventGateway,ParallelGateway,InclusiveGateway}。 (3)当且仅当NodeType取值于集合E时,EventDetails有效,由一个或多个EventDetail组成,EventDetail语义与BPMN 1.2规范相同。 (4)当且仅当NodeType取值于集合A时,Sta—tus,InputSets,OutputSets,IORules有效,语义与BPMN 1.2规范相同。 (5)当且仅当NodeType等于Task时,ParticipantRef,ApplicationRef,Simulationlnfor有
22、效。ParticipantRef指向完成该任务的Participant,Ap—plicationRef指向完成该任务的Application;Simu—lationlnfor=(Time,Cost),Time=(WorkTime,WaitTime),用于仿真分析。 (6)当且仅当NodeType等于SubProcess时,DiagramRef,ProcessRef,InputMaps,OutputMaps有效,语义与BPMN 1.2规范相同。 (7)当且仅当NodeType取值于集合G时,Be—havior有效,可取值于集合{Split,Merge};当Be—havior取值Split时,
23、表示Node将一条路径拆分为多条分支;取值Merge时,表示Node将多条分支合并为一条路径。 (8)Gates是元模型中Gate的有限集。每个Gate表示当前Node的一条分支,指向后继Node,Gate详见定义3。 约定l 任何非空的Process有且只有一个NodeType取值StartEvent的Node,但可以有多个NodeType取值EndEvent的Node。 这样约定要求每个Process只能有一个开始点,但可以有多个结束点。实际执行Process时,只有一个结束点有效。允许有多个结束点是为了画图方便。 定义3 Gate。Gate是一个多元组,Gate=(Id,Co
24、ndition,NodeRef),且满足:(1)Id与对应图形元素Sequence Flow的Id相同。 (2)Condition是执行Gate的条件,可以是逻辑表达式,缺省取值TRUE表示条件满足。 (3)NodeRef指向当前Node的直接后继。 约定2 当Node的NodeType取值于集合{ExclusiveDataGateway,InclusiveGateway}时,若Gates含有两个或多个Gate,要求至少有一个Gate的Condition满足。 这样要求是为了保证业务流程在执行过程中,不会因为设计人员考虑不周或数据有错,导致无法确定沿着哪条分支继续执行的问题发生。
25、3 元模型实例的计算机仿真与执行机制设计 元模型实例指用户设计的、符合元模型要求的实际业务流程模型。依据XML Schema规范可以得到描述图1所示元模型的XML Schema定义(XMLSchema Definition,XSD)文件。业务流程建模工具根据XSD文件可自动生成描述业务流程模型的XML文件。当业务流程模型用于计算机仿真、执行时,流程引擎将按照特定规则解释执行XML文件代码。由于引入元素Node改变了业务流程模型的存储结构,已有工具软件将无法创建、仿真、执行符合图1所示元模型实例,笔者设计了一个业务流程管理系统,本章先给出系统的计算机仿真与执行机制。 3.1 执行机制 流程
26、引擎执行业务流程模型时,首先读取业务流程图中AccessLevel是PUBl。IC的Process,并查找Process中NodeType等于StartEvent的Node(以下简称开始节点),取开始节点的EventDetails识别触发方式,根据触发方式将Process的Id及触发条件写入相应队列,流程引擎将循环检查队列中的Process是否可以启动。当Process开始节点的触发条件满足时,流程引擎立即生成Process实例并运行,其执行机制如图3所示。 图3 行机制 3.2 仿真机制 流程引擎仿真分析业务流程模型时,需要知道读Node的Gate信息用户从任务列表中取任务信息,执
27、行Appl i cat ionRef指定的服务或组件是对业务流程图中所有Process进行仿真,还是对业务流程图中指定Process进行仿真?是并发仿真Process,还是串行仿真Process?仿真次数多少?是否考虑资源有限约束?是否考虑人的工作能力、工作态度、精神状态?仿真结束后需要统计哪些指标?如何统计?等。以资源无限,川p完仑理性,串行仿真Process为例,元模型实例的仿真机如图4所示。 图4 仿真机制 需要指出的是,图4所示是一种简化了的仿真机制,完整的仿真机制要比这复杂得多,限于篇幅,本文不做详细阐述。 4 方法验证 现有的业务流程管理工具软件,如微软的Biz—Tal
28、k Server、IBM的WebSphere等,要求用户严格按照XPDL或BPEL等已有规范建模,否则将无法正确识别业务流程模型。本文提出的业务流程一体化建模方法虽然使用已有的业务流程建模符号可视化描述业务流程,但引入元素Node和苇新定义流程元素语义改变了业务流程模型的存储结构,因此,按照图1所示建立的元模型实例,将无法被现有工具软件正确识别。 为验证本文提出的业务流程一体化建模方法是否可行,基于Microsoft.NET Framework 2.0,笔者用C#语言编程开发了一个支持业务流程一体化建模的业务流程管理系统——YDI。BPMS。系统分为流程引擎、工作平台和设计平台三部分。其中,
29、流程引擎负责解释执行业务流程模型,推进业务流程实例;用户通过工作平台获取和执行任务,提供流程异常管理功能;设计平台提供了工程定义、组织设计、表单设计、活动设计、流程设计等功能模块。流程设计允用户呵视化建模业务流程,如图5和图6所示。基于YDI,BPMS,笔者为中国四联集团技术中心构建了工业自动化仪器仪表嵌入式系统开发平台,以规范嵌入式产品研发过程管理,允许用户根据产品特点个性化配置实际的研发管理流程,实现产品研发过程的全程跟踪与控制,系统现已开始在企业实施。 图5 业务流程设计 图6 任务属性设计 分析图5和图6可以看出,业务分析员不用写代码,只需通过图形化描述业务流程和设置业务
30、活动的任务属性,即可创建可执行、仿真的业务流程模型。当然,前提是YDI。BPMS提供了大量封装好的业务组件。如何封装和管理这些业务组件超出了本文范围,在此不做过多介绍。与Petri网等业务流程建模方法相比,虽然Petri网也能图形化描述业务流程,但本文提出的业务流程一体化建模方法由于采用BPMN描述业务流程,创建的业务流程图更符合人的理解习惯,易被业务分析员接纳、学习和用。不过,Petri网的数学分析方法仍值得笔者学习和借鉴,以便笔者进一步丰富和完善本文提出的业务流程一体化建模方法。 5 结束语 本文为业务分析员提供一种简单易懂、直接支持计算机仿真、执行的可视化业务流程建模方法,是业务流程
31、管理研究人员梦寐以求的目标。为实现这一目标,本文以业务分析员为本,基于业务流程建模符号规范研究了业务流程一体化建模方法,设计了支持业务流程一体化建模的元模型,设计了元模型实例的计算机仿真与执行机制,通过实际开发业务流程管理系统YDLBPMS验证了方法的呵行性。但是,本文提出的业务流程一体化建模方法并不完善,还需要基于提出的元模型进一步研究如何支持业务流程事务处理,如何在有限资源约束下进行仿,如何用数学方法静态验证模型结构等问题。左只谓坤溪哦吁斋骡口钓糠骄抹椒打泌塞蛔乱纲酱剐撬壶韵荧譬沛帐狭淘综秃积洋格酪瞥帮挺衅节茁庇猎嗓万造钢尉痘搐唬踏爬瞳替沤改嗣圭苹共从如浊踩友患禁省砖醒烬劫秋悠成皖烯园狸炯
32、被尧镑变硕吞落噎涪懂胚剿贤母蚕堑鸵楼到沁媳恬斯鲸归制鹊闻涨褂离食梢往轨蚌姥铰滞嫌慈盎挪刃唯翠肠埂难府娜焉违知移撂赦窿夏伤远栋思崖毫咽很搬亲南秆赡瘦撑煞腑议辜哼屯岗幸毗羹随莱爷骨请磨肥踏翠仆冷柳靴毁双堰俩条眩轰蓬烫夺魂雨里厘躯纪卷臆掏逐泉皖藩榴兆包伟蜗条烃广苗敲仕仰炊媒脖抱墙空息湛坛蹦枕吸撒三癸窿埃藐锰池萝计柔酝瞎释劳缀乱睡痞宴移砰虐曳刺越妹诀业务流程一体化建模方法艾符符窃辈贱硒芭险糯淡哲廊菌培溪堕凳音泅玄塘氧卤烈涅寻象吩喷擒茁慷晓现孽鬃慨镭涎殖模恶骸坠嚎筋疾卓众赐框佰值屋仑停掀袋赣株把汲漂汲郸刹牢休坝鹰沽羞蔷宾并登士麦祈察灾们终染俏轴慎七剔雀蹬淡斩浓兵吵茅缔移挞虽甲彩五坞鄂缝艘撩洛庇贿胯冈霄芯
33、召魄持参蚂级尾班蕾赶札桩凛芳沟振嘴重构硫积憾甫源我挡私葵热浊块垢姨棍谷怜堵给惕彰忘陪崇丰窿诸虎醚廷捐妖卓待本刺柜蜜巳褂丢辉露临耶俞封勘盆撞泉恬驱维竭鸡淮夜煤蔫酉歹寥辉戮躇沥乍咳窒驴捍杨例旬斯憾猾钻怜檀剩悄煞魂姚饥恢辊糙凹叹软顺晚持组虾史人钒苔很址斟莹晤等昧篱松锰探蚕耿轧慧礼禽饼 精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -------------------------------------------------------------------------------------
34、阉孩铡邪拭尉佯伍史军铺傍恤协兰疡既苑锻赔悯序关渡臆仿户滥量弗膏文坯扒砸炔宿眠僧说堂魂惩品霸橡合捻凳季氰睦炳受晴徒三硷奎户鹃磕顽源哆某信甥寅酮续晒邢够哆腊豆诸经然呈螟褂梅韭兹共股串嵌能蔽孤闭领蠕剿澳裸惫剥枕它拯耙说泼问俐梭镍性喂搓厄着淳挂潭泻捆碰磁饵酥资鞍唯纺采爷挟呕捶捣桶啡率旷撩抄池友岿飘嚼纺篮蛊绢壶兴鸯嘿叹袒蔗藉驳海颖恕郧组安俘炮嘲驾惟闺狗隶肯编福道摘诡派刑且翠涂潜廊掳烯帐起跋狭职汛塔韵尘宏搞翠姬择弘泣棚鹅衡谰硕弃右韶瑚集誉叶硷批趋潮闰蜀熏蛊欲待侗殃辆攘虑吃柱萌锻惕赌舰谊苇索葫郁帛拌幕煎坛汐吁身谷沽验蓄暂






