《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 供应链环境中流程协同的CP模型

供应链环境中流程协同的CP模型

2009-06-15
作者:杨浩雄1,2

    摘 要:介绍了协同点CP(Coordination Point)模型,该模型分为业务流程层、公共层、协同层,通过定义契约提供各层次活动之间的交互和并行,以保证全部协同流程的正确执行。
    关键词:跨组织流程;流程协同;流程建模;协同点模型

 

    供应链作为一个组织,允许成员企业为了某个特定的目标而建立相互联系,为了完成该目标,伙伴企业必须共享能力、资源和流程并协同工作。供应链强调特定的业务伙伴必须以更加动态和松散的耦合,通过定义和实施跨越多个组织的流程来完成它的目标[1],同时,成员企业并行活动的强相互依赖性要求中间结果交换和对流程的管理,保护活动的私有性。
    Ellis指出,当前一些协同方法不适合供应链中的流程协同,因为这些方法趋向于实现强制性的、非柔性的流程,而企业之间的交互通常包含了柔性、机会主义的行为、社会认知和妥协[2]。考虑到业务流程的协同是非完全自动的,企业的反应不确定,因此,供应链中跨组织流程的建模需要具有动态的流程定义和变化的能力。
    当成员企业进行流程协同时,一方面必须向伙伴企业发布相关的产品和服务等信息。另一方面,企业也需要流程的反馈,以控制自己的工作进展。但是业务流程往往是企业战略核心的一部分,它们描述了组织实际知识和大量私有的信息,因此伙伴企业不能直接访问这些信息。本文提出了协同点CP(Coordination Point)模型,实现企业内和企业间的流程的无缝协同工作,且能维护成员企业信息的私有性和参与者的自治性。
1 协同点模型的基本概念
1.1 协同点模型体系结构

    CP模型是一种层次模型 ,如图1所示,可分为:
    (1)业务流程层:企业内部的流程,企业管理自己的流程(私有流程),并发布私有流程的部分信息。
    (2)公共层:企业可以公开流程的公共的抽象,可以把公共部分从企业的私有流程中分离出来,从而满足企业私有性的需求;即不直接访问内部流程,不限制私有流程的实现。
    (3)协同层:位于协同层的CP是协同的跨组织活动,CP协同伙伴企业的工作并在公共流程之间进行交互,协同流程成为协同活动CPs的集合。

 


    CP的目标是协同流程之间的数据流、控制流和事务流。通过管理跨组织的交换,定义控制契约的条款(期限、成果保证,…),从而实现供应链成员企业的公共目标。

1.2 协同点的概念
    CP是协同活动和协同流程的管理者。对于协同活动,CP必须管理参与协同的企业中各种对象的共享、通讯和协同;作为动态协同流程的管理者,CP必须管理流程控制、活动决策和流程的再计划。
1.2.1 活动的协同
    CP管理对象共享、通讯和协同。
    (1) 对象共享。为协同活动提供支持的基本服务,包括文件版本管理和工作空间管理时,保证成员活动的私有性,对于在供应链环境中保护和确信参与者的私有性和自治性非常重要,因此必须使对象之间的相互可见性与协同的需要一致。
    (2) 通讯。成员企业进行流程协同时,需要通过聊天、email、视频会议、白板等方式交互,讨论、共享结果。CP也必须支持不同的通讯策略,如请求/响应、单向响应、通知等。
    (3)协同。本文通过集成任务协同方法(明确的协同)和组认知方法(隐含协同)来处理供应链中成员企业活动的协同。任务协同基于一个假设:参与者就流程达成一致并能共同执行流程。利用Deming循环中的3个活动:检查、行动和计划从高层次描述流程。组认知(了解成员企业的工作情况)是一种触发参与者自动协同之间的通讯,以完成业务目标的方法。为了实现活动的协同,CP通知参与者关于共享的数据和活动的所有事件。
1.2.2 流程的协同
    为了协同跨组织的流程,CP提供3种主要的功能:
    (1) 检查。为了协同流程,CP需要关于流程执行的信息。由于企业流程的私有性,必须保证内部流程信息的最小化,通过契约,CP使用只与公共流程相关的信息。根据预先定义的指标,CP监视和评估活动,依靠检查的结果,使用行动和计划,实现对流程协同的控制。
    (2)行动。依靠检查的结果,由参与者决定行动,以使流程执行有效,或者响应和解决初始预测流程和实际执行之间的差异。该决策与事件(why)、行动(what)、协同流程的参与者(who)和时间安排(when)相关。事件可以是普通流程或异常执行的结果、行动涉及到一个或多个组织、决策使用行动规则描述。
    (3)计划。计划可以处理流程的动态变化。允许修订CP实例和调整跨组织流程(通过为实例增加新的CP)。跨组织流程的调整必须由参与者达成一致。
1.3 契约模型
    契约是具有特定内容的协议,定义业务流程中任务的集合,约定成员企业之间的权利义务关系,对成员企业的行为具有一定的约束作用,是供应链流程协同成功的保障[3]。在流程协同中,契约的作用有:
    (1)有助于动态地构建企业间协同信息基础框架
    各成员企业在组成供应链时,应尽可能地建立统一或相互兼容的信息基础框架。在契约中可以对不同角色的合作伙伴规定所要求建立的信息基础、建立时间以及企业计算应用资源(包括服务、应用程序)等,从而帮助伙伴企业迅速加入到供应链体系中。
    (2)加强企业间流程协同
    成员企业间的伙伴关系是以契约为基础的,契约描述了企业业务流程的一些情况,并规定了一些必须的检查点和控制点以及其他一些约定,这些检查点和控制点是供应链业务流程的关键组成部分。随着供应链的发展,成员企业对契约的要求也更为迫切,契约对企业间流程协同的作用主要表现为:
    ①先设定供应链业务流程,再根据业务流程形成契约;
    ②基于契约对业务流程的定义和执行进行校验。
    契约的结构如图2所示,该模型包含两个概念:关系和满足函数。关系x rel y,表示对象x和y之间的契约。对象是实体,是可以共享的流程、角色或资源。关系通过1个(或多个)满足函数(称为Sat函数)验证。Sat函数将对象或事件作为输入,其结果为布尔型,它决定对象x和y之间是否拥有关系。契约模型由4个主要部分构成:
    (1) Who部分定义了相关的参与者。参与者作为一个合法的实体,可以是人或组织。组织涉及到契约中定义的角色。
    (2)What部分包括了关于契约主体的信息,定义了需要满足的关系。关系包括结构化关系、动态关系和非功能关系。在协商阶段(本文中不研究该阶段),参与者之间讨论和协商关系。使用契约的定义创建的CPs的目标是满足这些关系的集合。模型中使用关系和Sat函数来定义、部署和执行协同活动。
    (3)How部分描述了契约的执行步骤。作为What部分中描述的关系的补充,定义了公共流程的对象和Sat函数之间的关系。关系和Sat函数用于产生与协同活动相关的CP处理、执行规则、数据转移、期限和终止条件(通常,多个Sat函数与一个关系相关)。
    (4)契约的最后一个部分是Legal,包含用于处理与书面契约相关的协议和条件的条款。
    每种关系都绑定到契约的条款,并定义一个处理的步骤。关系属于以下三类之一:结构化关系、动态关系和非功能关系,且与公共流程的对象相关。Sat函数属于一个CP,与关系相关,由条件限制,可以进行某个处理。当事件被CP和Sat函数接收到时分析活动的状态。

 

 

2  协同点模型的具体描述
2.1 一般的定义
    本文用大写的字符表示公共流程,如P、Q等;O(P)表示流程P管理的对象集合,且x∈O(p),流程管理的对象可以是文件、数据或子流程/活动。用x rel y表示对象x和y之间的关系,若:
   
则称公共流程P、Q为协同的流程。
    每个关系至少有一个相应的Sat函数,表示为Sat(x rel y),以检查关系是否满足。如果函数不满足,则存在使关系得到满足的处理。
   
    因为对象也可以是流程,故有:
   
    给定公共流程P、Q,其管理的对象分别为O(P)和O(Q),P、Q之间的CP是特定的流程,记为p∞Q,有:

   
    若关联了2个流程的2个对象,则其相应的Sat函数驻留在流程的CP中,CP包含的Sat函数决定了对象或流程本身的关系。已有的CP和公共流程对象中已有的关系之间存在一对一的关系,即:
    (1)对象之间没有关系就没有CP。
    (2)所有的Sat函数决定了给定流程P和Q中对象之间的关系,且函数位于协同点p∞Q中。
    CP也可以用于管理一个组织中的流程。若组织中的单个流程P管理的对象之间具有关系,则协同点p∞P为:
   
    协同活动包含于CP中,用于解析某个Sat函数,记为,其中Sat(x rel y)决定了两个对象x∈O(P)和y∈O(Q)的关系。CP包含多个并行执行的协同活动,因此,协同点p∞Q的对象集合O(p∞Q)是流程P和Q的所有共享的对象:
   
    当协同活动失败(检查失败,如,不能满足某个关系的Sat函数),可以采用人工决策,并通知协同的参与者对象之间存在背离,此外也可以开始对流程的重新规划。
2.2 多流程协同
    以3个不同组织流程的协同来考虑多流程协同。首先,假设有多个CP协同多个成员企业的流程,如图3(a)所示,流程Q包含在2个协同点中,且P和R彼此间不存在关系,则保持了成员企业的自治性。因此可以将多流程的协同定义为:
   
    (7)式用递归的方法表示协同中的流程的参与,并确保CP仅共享必须协同的对象。从而可以在参与者的控制下保证共享的对象不多也不少,刚好满足协同的需要。
    若图3(a)中y1和y2之间存在关系,而且流程P和R彼此分别与Q共享这些对象,则可以将2个CPs融合为一个。图3(b)描述了流程P、R和Q协同工作。

 


    CP存在的必要条件是至少有一对对象之间存在关系。当多于2个对象,关系会更加复杂,需要的协同活动也更多。假定:

   
    如果x rel y、y rel z,且P当在运行时也必须执行R,可以采用一个全局的CP,即p∞Q∞R。另一种情况必须连续2个不同的CPs,例如执行p∞Q并将它的结果与R协同,即(p∞Q)∞R。为了执行3个流程的协同,关系x rel y和y rel z意味着P和Q可以共享信息,Q和R之间也可以共享信息,然而P和R则不能共享信息。
    对于多个关系的定义,应用以下算法:
    (1)如果P和R之间存在协同契约,且如果P、R和Q可以组成一个单独的CP,则创建CP。
    (2)如果不存在协同契约,为每个协同创建单独的CP。
    (3)如果不存在协同契约,且在协同参与者的认同下,可以定义新的协同契约减少CP的数量。
2.3 协同点的实现
    根据契约(对象之间给定的关系以及组织间的协同契约),使用以下算法创建CPs:
    (1) 阅读协同契约。
    (2) 获取公共流程的信息。
    (3) 创建CP对象。
    (4) for 每个关系以及Sat函数 do //将关系和Sat函数转换为执行规则:
    ·根据事件类型,在CP中创建事件的接受者。
    ·Sat函数转换成执行规则的中的状态条件。
    ·对于每个创建的处理过程,更新控制流(源和目标流程)。
    (5) 根据(8)式重新组织CPs
    可以在3个不同的层次上对协同进行验证:
    ·静态检查,对每个参与者分析协同契约的定义;
    ·部署检查,允许定义CPs的结构和匹配公共流程之间的数据流、控制流和事务流。
    ·运行时检查,允许监视和动态执行CP的执行规则。
    供应链中流程管理涉及多个成员企业,在实现协同的同时也必须保持流程的私有性及管理的自制性。本文提出的协同点CP是协同的跨组织活动,不仅提供了流程的交互和并行,以保证全部协同流程的正确执行。同时还提供了流程协同的柔性定义,允许动态地修订协同流程(增加、抑制或修改)。该模型有效地实现了供应链环境中跨组织流程的协同。
参考文献
[1] SCHUSTER H,GEORGAKOPOULOS D, CICHOCKI  A,et al. Modeling and composing service-based and reference process-based multi-enterprise processes[A]. Proceedings of the 12th Conference on Advanced Information Systems Engineering (CAiSE), June 2000, LNCS, 1789, Springer Verlag, Stockholm, Sweden, 2000:247-263.
[2] ELLIS C. Net models supporting human and humane behaviors, Invited talk. Conference on Business Process Management (BPM), Eindhoven, The Netherlands, 2003(6).
[3] CHIU D,CHEUNG S,TILL S. A three layer architecture for e-contract enforcement in an e-service environment[A]. Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS-36), January 2003, IEEE Computer Society, Silver Spring, MD, 2003.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。