论文部分内容阅读
【摘 要】计算机支持下的协同设计(CSCD)是由多个设计主体,通过一定的信息交换和相互协调机制,分别承担不同的设计子任务,协同完成某一设计目标。协同设计是现代企业开发不可或缺的部分,工作流是业务过程的计算机实现,对工作流的建模和分析,可以帮助企业标准化开发流程,优化业务模型,提高工作效率。协同设计还可广泛应用于协同设计等工程领域。
【关键词】协同工作;协同设计;CSCD;Petri网;工作流
0.引言
信息技术革命,使制造业进入了一个全新的发展阶段,信息与通信技术将企业异地设计合作提供了强大的技术支持,通过计算机网络即可实现全球范围内的产品设计、制造和销售。计算机支持下的协同设计应运而生,它是指由多个设计主体,通过一定的信息交换和相互协调机制,分别承担不同的设计子任务,协同完成某一设计目标。大规模电路设计、大型机械设计、航空航天,这些复杂的、工作量巨大的项目,没有多个主体的协作,是无法完成的。
协同设计的过程是复杂的,其中涉及到很多技术。协同设计的根本出发点是提高设计效率,所以对设计过程的优化至关重要。时序分析从工期的角度对协同设计进行分析,找出设计任务分解后影响总进度的关键任务,即是对若干工作流中最关键的工作流的时序分析,petri网正是这一方面的理想工具。研究利用Petri网进行协同设计过程的时序分析,并将分析的结果应用于设计过程中的任务分配机制上。
1.工作流技术与petri网技术
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。1968年Fritz Nordsieck就已经清楚地表达了利用信息技术实现工作流程自动化的想法,这个是最早的工作流思想。1970年代工作流的相关研究工作就开始了,其中包括:宾夕法尼亚大学沃顿学院的Michael D. Zisman开发的原型系统SCOOP,施乐帕洛阿尔托研究中心的Clarence A. Ellis和Gary J. Nutt等人开发的OfficeTalk系列试验系统,还有Anatol Holt和Paul Cashman开发的ARPANET上的“监控软件故障报告”程序等。最早的工作流技术主要是利用计算机科学技术,并结合企业具体产品开发过程与经营管理进行信息化软件系统的应用开发,达到企业经营和生产过程全自动或半自动化的执行和管理。工作流技术为实现企业经营过程重组、经营过程自动化和过程优化和管理提供了方法和软件支持。工作流技术不仅仅是一门计算机应用技术,它还要与管理科学等其它学科紧密结合起来,是一个涉及多学科交叉的研究领域。
工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。工作流技术主要包括工作流建模技术、工作流实现技术,以及工作流执行和管理.工作流是个过程行为,对工作流进行过程建模是工作流管理系统的基础,也是难点.工作流过程建模是把一个具体、复杂、完整的业务过程用抽象模型表示出来,并通过计算机实现操作。
由于工作流过程的复杂性,对于过程描述,建立可读性强,又可以被计算机接受的模型变得尤为重要。工作流过程模型描述方法有通过可视化较强的图形符号来描述业务流程。Petri网模型是一个基于图形的形式化描述工具,具有严密的数学基础和易理解的图形表示特征,适合分析离散的并发系统,基于Petri网的过程建模和性能分析是实现CSCD工作流建模和性能分析的一种有效方法。目前国内外对基于Petri网工作流技术已经取得了初步研究成果。英国Newcastle大学Maciej等提出了一种利用Petri网建模和仿真方法,实现了模型死锁和时间可达性的定量分析,但该方法是针对线性应用系统设计的,不适用具有动态和不确定性特点的CSCD应用;Ling等基于时间Petri网提出了时间工作流网方法;Li和Jin利用Petri网建立了协同设计过程模型,但由于受Petri网本身特点的局限性,模型不能描述复杂的协同设计过程;黄洪钟等提出了利用CPN建立协同设计过程模型的思路和方法,并分析了实时并行过程的时间特性。上述工作主要研究协同设计过程建模技术,没有实现CSCD动态性能的定量分析,对系统仿真技术的研究还处于探讨阶段。
Petri网是一种多系统的图形化、数学化建模工具,为描述和研究具有并行、异步、分布式和随机等特征的复杂系统提供了强有力的手段。作为一种图形化工具,可以把Petri网看作是与数据流图和网络相似的通讯辅助方法;作为一种数学化方法,它可以用来建立状态方程、代數方程和其它描述系统行为的数学模型 。
由于Petri网能够表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。库所用于描述系统局部状态(条件或状况);变迁用于描述修改系统状态的事件;弧使用两种方法规定局部状态和事件之间的关系。在Petri网模型中令牌(Token)包含在库所中,它们在库所中的动态变化表示了系统的不同状态。
一般系统模型均由两类元素组成,表示状态的元素和表示变化的元素。表示状态的元素成为库所,表示变化的元素成为变迁。一个变迁有一定数量的输入和输出库所,分别代表事件的前置条件和后置条件。Petri网作为一种形式化描述工具,主要用来对系统进行设计、分析和模拟。2.一个协同设计CSCD的Petri网模型及仿真
假定某一建筑协同设计工作流程如下:总图设计之后,进入单体设计流程;一旦建筑单体设计开始后一段时间,就可以开始结构设计;当建筑单体设计和结构设计都完成并经过汇总活动之后,由总工程师进行2次确认和修改,然后分发图纸到水暖、电、消防等部门进行各自的独立设计;最后进行情况汇总,即反馈意见,完成设计的一个基本流程。经过按多次反馈意见修改之后,才进入施工图设计阶段。 下面将该协作流程转化为基于模糊Petri网的模型,如图1所示。其中省略资源库所。
由上面计算可知,P获得token的可能时间分布为=[146,182,218]。现在假设需要在197个工时之内完成第一次反馈意见,才能保证任务的整体时间规划按照进程完成。则在=197时刻完成任务时间可达性的可能性判断为Ωξ=Π(OFE≤tD)=70%。
工作流仿真主要目的就是对工作流模型进行动态执行,发现模型中存在的问题,改进和优化工作流程。
本文采用面向对象方法描述网模型元素的数据结构。图3和图4描述了Petri网变迁和库所元素。
库所的方法主要有:库所的初始化;令牌的插入和删除;令牌的获取。库所的这些方法大多是对令牌的操作,因此,令牌的描述关系着这些方法的实现。令牌的属性主要有编号、令牌元素集,以及计时时刻和等待时间,这两个属性是时间Petri网所具有的,只有系统时刻大于令牌的记时时刻和等待时间以及可激发变迁相应的使能时间之和,该变迁才能激发,每一个变迁的激发代表一个事件的发生。
第一步:初始化。即网模型中库所和变迁对象的初始化,包括令牌对象的初始化,同时置系统仿真时钟为零。即:=0;t=0。
第二步:检查变迁。首先,运用Petri网中每一个变迁的“检查变迁”方法检查该变迁是否能激发,能否激发的依据是变迁激发条件以及调度决策策略。对于没有冲突的变迁,如果能够激发,运用对应变迁的方法向可激发变迁集中加入可激发变迁,即T=T+{}。至此,检查变迁结束。
第三步:激发变迁。扫描可激发变迁集中的每一个元素,如果该变迁己经激发,不做任何操作。如果该变迁未激发,就运用该变迁的“激发变迁”方法来激发它,修改变迁的激发状态,并且计算变迁激发结束时间。
第四步:计算和跟踪变迁执行。对于变迁Ti,其仿真执行时间自动取系统模糊时延中的一个随机时间。即Ti=radom(,)。至此,激发变迁结束。
第五步:令牌转移。扫描可激发变迁集中每个元素,如果该变迁的激发时间等于系统仿真时间,就结束该变迁的激发,将相应的令牌对象从变迁的激发令牌对象队列移出。同时,该变迁的所有输出库所运用“添加令牌”方法添加相应令牌对象。最后,从可激发变迁集合删除该变迁。相应令牌从变迁的输入库所中移出,并经历Ti延迟时间,在输出库所中产生相应令牌。即:。
第六步:推进仿真时钟。在系统仿真时间加一固定的时间单位,推进仿真时钟,即t=t+Ti。
第七步:判断单步仿真是否结束。若可激发变迁集非空或当前仿真时钟小于仿真结束时间,转到第二步,若为空或当前仿真时钟超过仿真结束时间,则转到第九步。
第八步:仿真重演。仿真重演通过模型的动态执行,在仿真执行时记录有關信息,保证再次仿真与上次仿真执行等价,从而消除执行不确定性的影响,使用户发现模型运行时存在的问题。
本文运用面向对象思想,采用Visual C#+SQL Server集成开发环境实现了上述仿真算法。系统主要由图形编辑器、模型管理器和模型仿真器三个模块组成。支撑数据库系统由语法规则库、资源库、模型库和仿真库组成。其中语法规则库主要存储Petri网的基本定义、运行规则以及各种分析方法和算法规则。仿真数据库主要用于存储仿真信息。
通过系统仿真,可以统计过程执行时间、活动/事务的平均执行时间、平均等待时间以及其它资源统计报告,从而使管理者了解设计任务完成所需时间和各单体设计的统计时间等。表2是对协同设计时间可达性的两次仿真结果:P获得token的仿真可达时间tD分别为197和202,在该时刻完成任务时间的可能性判断Ωξ=Π(OFE≤tD)分别为70%和78%。仿真结果与前面分析相吻合。
通过系统仿真,可以评价业务过程模型中可能存在的瓶颈问题。例如如果项目需要在120个工时日内完成,才能保证任务的整体时间规划按照进程完成。通过系统分析任务完成时间的可能性判断Ωξ=Π(OFE≤tD)为20%,单体设计和结构设计人员的利用率和平均工作时间是最高的,成为工作流程的“资源瓶颈”。这样我们可以通过资源配置方案(如中提设计部门人员由3人增加至6人),来减轻相关部门人员的工作负荷和缩短整个工作流程的时间,而且也提高了后续部门人员的利用率,实现流程中“资源平衡”。
因此,仿真分析可以为业务重组提供有效的效验和分析手段。管理者可以根据各设计资源的设计能力进行调整,优化协同模型,提高并行性,重构或重组关键活动来提高协同设计的工作效率。
3.总结
本文介绍了计算机支持的协同设计(CSCD)涉及到的工作流技术以及基于Petri网的建模和仿真技术,并举例进行了过程建模和仿真。通过实例分析得到,CSCD协同设计过程模建既可以表达整个设计流程,也可以描述某设计阶段的细节。通过进行仿真研究,实现了协同设计活动过程的时序分析。
参考文献:
[1]田锋,李人厚.模糊定时高级Petri网的协同设计活动建模和分析[J].计算机辅助设计与图形学学报,2004, 16(5):267-274.
[2] Kleijn J, Koutny M. Processes of Petri Nets with Range Testing[J]. Fundamenta Informaticae,2007, 80(1):199-219.
[3] Ling Sea, SChmidth. Time Petri netsforworkflow modeling and analysis [C]. In:Proceedings of IEEE International Corference on System, Man and Cybernetics,Nashville,Tennessee,2000.3039-3034.
[4] Li Zhao,Jin, Yan. Modeling Collaborative Engineering Design .process Using Petri-net[C]. Proceedings of DETC’00, ASME Conference, September 2000.
[5] Zhou Yi, Tadao Murata. Petri net model with fuzzy-timing and fuzzy-metric[J].International Journal of Intelligent Systems,2003,14(8):719-746.
基金项目:
本文系秦皇岛市科技支撑计划项目(201101A077)
【关键词】协同工作;协同设计;CSCD;Petri网;工作流
0.引言
信息技术革命,使制造业进入了一个全新的发展阶段,信息与通信技术将企业异地设计合作提供了强大的技术支持,通过计算机网络即可实现全球范围内的产品设计、制造和销售。计算机支持下的协同设计应运而生,它是指由多个设计主体,通过一定的信息交换和相互协调机制,分别承担不同的设计子任务,协同完成某一设计目标。大规模电路设计、大型机械设计、航空航天,这些复杂的、工作量巨大的项目,没有多个主体的协作,是无法完成的。
协同设计的过程是复杂的,其中涉及到很多技术。协同设计的根本出发点是提高设计效率,所以对设计过程的优化至关重要。时序分析从工期的角度对协同设计进行分析,找出设计任务分解后影响总进度的关键任务,即是对若干工作流中最关键的工作流的时序分析,petri网正是这一方面的理想工具。研究利用Petri网进行协同设计过程的时序分析,并将分析的结果应用于设计过程中的任务分配机制上。
1.工作流技术与petri网技术
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。1968年Fritz Nordsieck就已经清楚地表达了利用信息技术实现工作流程自动化的想法,这个是最早的工作流思想。1970年代工作流的相关研究工作就开始了,其中包括:宾夕法尼亚大学沃顿学院的Michael D. Zisman开发的原型系统SCOOP,施乐帕洛阿尔托研究中心的Clarence A. Ellis和Gary J. Nutt等人开发的OfficeTalk系列试验系统,还有Anatol Holt和Paul Cashman开发的ARPANET上的“监控软件故障报告”程序等。最早的工作流技术主要是利用计算机科学技术,并结合企业具体产品开发过程与经营管理进行信息化软件系统的应用开发,达到企业经营和生产过程全自动或半自动化的执行和管理。工作流技术为实现企业经营过程重组、经营过程自动化和过程优化和管理提供了方法和软件支持。工作流技术不仅仅是一门计算机应用技术,它还要与管理科学等其它学科紧密结合起来,是一个涉及多学科交叉的研究领域。
工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。工作流技术主要包括工作流建模技术、工作流实现技术,以及工作流执行和管理.工作流是个过程行为,对工作流进行过程建模是工作流管理系统的基础,也是难点.工作流过程建模是把一个具体、复杂、完整的业务过程用抽象模型表示出来,并通过计算机实现操作。
由于工作流过程的复杂性,对于过程描述,建立可读性强,又可以被计算机接受的模型变得尤为重要。工作流过程模型描述方法有通过可视化较强的图形符号来描述业务流程。Petri网模型是一个基于图形的形式化描述工具,具有严密的数学基础和易理解的图形表示特征,适合分析离散的并发系统,基于Petri网的过程建模和性能分析是实现CSCD工作流建模和性能分析的一种有效方法。目前国内外对基于Petri网工作流技术已经取得了初步研究成果。英国Newcastle大学Maciej等提出了一种利用Petri网建模和仿真方法,实现了模型死锁和时间可达性的定量分析,但该方法是针对线性应用系统设计的,不适用具有动态和不确定性特点的CSCD应用;Ling等基于时间Petri网提出了时间工作流网方法;Li和Jin利用Petri网建立了协同设计过程模型,但由于受Petri网本身特点的局限性,模型不能描述复杂的协同设计过程;黄洪钟等提出了利用CPN建立协同设计过程模型的思路和方法,并分析了实时并行过程的时间特性。上述工作主要研究协同设计过程建模技术,没有实现CSCD动态性能的定量分析,对系统仿真技术的研究还处于探讨阶段。
Petri网是一种多系统的图形化、数学化建模工具,为描述和研究具有并行、异步、分布式和随机等特征的复杂系统提供了强有力的手段。作为一种图形化工具,可以把Petri网看作是与数据流图和网络相似的通讯辅助方法;作为一种数学化方法,它可以用来建立状态方程、代數方程和其它描述系统行为的数学模型 。
由于Petri网能够表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。库所用于描述系统局部状态(条件或状况);变迁用于描述修改系统状态的事件;弧使用两种方法规定局部状态和事件之间的关系。在Petri网模型中令牌(Token)包含在库所中,它们在库所中的动态变化表示了系统的不同状态。
一般系统模型均由两类元素组成,表示状态的元素和表示变化的元素。表示状态的元素成为库所,表示变化的元素成为变迁。一个变迁有一定数量的输入和输出库所,分别代表事件的前置条件和后置条件。Petri网作为一种形式化描述工具,主要用来对系统进行设计、分析和模拟。2.一个协同设计CSCD的Petri网模型及仿真
假定某一建筑协同设计工作流程如下:总图设计之后,进入单体设计流程;一旦建筑单体设计开始后一段时间,就可以开始结构设计;当建筑单体设计和结构设计都完成并经过汇总活动之后,由总工程师进行2次确认和修改,然后分发图纸到水暖、电、消防等部门进行各自的独立设计;最后进行情况汇总,即反馈意见,完成设计的一个基本流程。经过按多次反馈意见修改之后,才进入施工图设计阶段。 下面将该协作流程转化为基于模糊Petri网的模型,如图1所示。其中省略资源库所。
由上面计算可知,P获得token的可能时间分布为=[146,182,218]。现在假设需要在197个工时之内完成第一次反馈意见,才能保证任务的整体时间规划按照进程完成。则在=197时刻完成任务时间可达性的可能性判断为Ωξ=Π(OFE≤tD)=70%。
工作流仿真主要目的就是对工作流模型进行动态执行,发现模型中存在的问题,改进和优化工作流程。
本文采用面向对象方法描述网模型元素的数据结构。图3和图4描述了Petri网变迁和库所元素。
库所的方法主要有:库所的初始化;令牌的插入和删除;令牌的获取。库所的这些方法大多是对令牌的操作,因此,令牌的描述关系着这些方法的实现。令牌的属性主要有编号、令牌元素集,以及计时时刻和等待时间,这两个属性是时间Petri网所具有的,只有系统时刻大于令牌的记时时刻和等待时间以及可激发变迁相应的使能时间之和,该变迁才能激发,每一个变迁的激发代表一个事件的发生。
第一步:初始化。即网模型中库所和变迁对象的初始化,包括令牌对象的初始化,同时置系统仿真时钟为零。即:=0;t=0。
第二步:检查变迁。首先,运用Petri网中每一个变迁的“检查变迁”方法检查该变迁是否能激发,能否激发的依据是变迁激发条件以及调度决策策略。对于没有冲突的变迁,如果能够激发,运用对应变迁的方法向可激发变迁集中加入可激发变迁,即T=T+{}。至此,检查变迁结束。
第三步:激发变迁。扫描可激发变迁集中的每一个元素,如果该变迁己经激发,不做任何操作。如果该变迁未激发,就运用该变迁的“激发变迁”方法来激发它,修改变迁的激发状态,并且计算变迁激发结束时间。
第四步:计算和跟踪变迁执行。对于变迁Ti,其仿真执行时间自动取系统模糊时延中的一个随机时间。即Ti=radom(,)。至此,激发变迁结束。
第五步:令牌转移。扫描可激发变迁集中每个元素,如果该变迁的激发时间等于系统仿真时间,就结束该变迁的激发,将相应的令牌对象从变迁的激发令牌对象队列移出。同时,该变迁的所有输出库所运用“添加令牌”方法添加相应令牌对象。最后,从可激发变迁集合删除该变迁。相应令牌从变迁的输入库所中移出,并经历Ti延迟时间,在输出库所中产生相应令牌。即:。
第六步:推进仿真时钟。在系统仿真时间加一固定的时间单位,推进仿真时钟,即t=t+Ti。
第七步:判断单步仿真是否结束。若可激发变迁集非空或当前仿真时钟小于仿真结束时间,转到第二步,若为空或当前仿真时钟超过仿真结束时间,则转到第九步。
第八步:仿真重演。仿真重演通过模型的动态执行,在仿真执行时记录有關信息,保证再次仿真与上次仿真执行等价,从而消除执行不确定性的影响,使用户发现模型运行时存在的问题。
本文运用面向对象思想,采用Visual C#+SQL Server集成开发环境实现了上述仿真算法。系统主要由图形编辑器、模型管理器和模型仿真器三个模块组成。支撑数据库系统由语法规则库、资源库、模型库和仿真库组成。其中语法规则库主要存储Petri网的基本定义、运行规则以及各种分析方法和算法规则。仿真数据库主要用于存储仿真信息。
通过系统仿真,可以统计过程执行时间、活动/事务的平均执行时间、平均等待时间以及其它资源统计报告,从而使管理者了解设计任务完成所需时间和各单体设计的统计时间等。表2是对协同设计时间可达性的两次仿真结果:P获得token的仿真可达时间tD分别为197和202,在该时刻完成任务时间的可能性判断Ωξ=Π(OFE≤tD)分别为70%和78%。仿真结果与前面分析相吻合。
通过系统仿真,可以评价业务过程模型中可能存在的瓶颈问题。例如如果项目需要在120个工时日内完成,才能保证任务的整体时间规划按照进程完成。通过系统分析任务完成时间的可能性判断Ωξ=Π(OFE≤tD)为20%,单体设计和结构设计人员的利用率和平均工作时间是最高的,成为工作流程的“资源瓶颈”。这样我们可以通过资源配置方案(如中提设计部门人员由3人增加至6人),来减轻相关部门人员的工作负荷和缩短整个工作流程的时间,而且也提高了后续部门人员的利用率,实现流程中“资源平衡”。
因此,仿真分析可以为业务重组提供有效的效验和分析手段。管理者可以根据各设计资源的设计能力进行调整,优化协同模型,提高并行性,重构或重组关键活动来提高协同设计的工作效率。
3.总结
本文介绍了计算机支持的协同设计(CSCD)涉及到的工作流技术以及基于Petri网的建模和仿真技术,并举例进行了过程建模和仿真。通过实例分析得到,CSCD协同设计过程模建既可以表达整个设计流程,也可以描述某设计阶段的细节。通过进行仿真研究,实现了协同设计活动过程的时序分析。
参考文献:
[1]田锋,李人厚.模糊定时高级Petri网的协同设计活动建模和分析[J].计算机辅助设计与图形学学报,2004, 16(5):267-274.
[2] Kleijn J, Koutny M. Processes of Petri Nets with Range Testing[J]. Fundamenta Informaticae,2007, 80(1):199-219.
[3] Ling Sea, SChmidth. Time Petri netsforworkflow modeling and analysis [C]. In:Proceedings of IEEE International Corference on System, Man and Cybernetics,Nashville,Tennessee,2000.3039-3034.
[4] Li Zhao,Jin, Yan. Modeling Collaborative Engineering Design .process Using Petri-net[C]. Proceedings of DETC’00, ASME Conference, September 2000.
[5] Zhou Yi, Tadao Murata. Petri net model with fuzzy-timing and fuzzy-metric[J].International Journal of Intelligent Systems,2003,14(8):719-746.
基金项目:
本文系秦皇岛市科技支撑计划项目(201101A077)