PDM系统中工作流时间管理分析与设计

发布时间:18-06-07

PDM系统中工作流时间管理分析与设计

    工作流模型运行的时间可以通过计算工作流流程开始到整个流程执行完毕时所用时间总和来获得。比如,一个产品设计的工作流时间就是从该产品从立项到一个符合要求的样件被制作出来期间所有时间。通过对每个工作流业务流程执行的统计分析可以得到工作流运行周期,一般来说,每个工作流程的执行时间由操作业务时间和等待时间构成:
    1)操作时间:指业务员处理流程任务所花费的时间;
    2)等待时间:指业务流程己开始执行,即到了开始执行时间,但是由于缺少某个或某些执行条件业务员无法进行正常业务处理,不能正常执行而引起等待。引起业务流程等待执行的原因可以总结为二类,其层次关系如图3.1。

3.1.jpg

    1.条件等待时间:指由于业务流程执行所必须的条件不具备引起的等待。例如流程A必须在流程B执行完成后才能开始执行,在没B没执行完成前,A的执行条件不成立故而等待。
 
    2.空闲时间:指处于整个工作流运行周期内,但又不在所有业务流程的运行行时间内的时间资源,即没有工作按排的时间。例如周末及国家法定放假时间,或者因为其他特殊原因引起的空闲时间,例如建筑施工过程中混凝土必须要有一定的凝固时间。
 
    在产品数据管理系统中时间管理是不可缺少功能之一,本文所提及的工作流时间管理就是对上文所描述的工作流周期时间内业务流程执行时间进行管理,压缩流程操作时间,减少流程的等待时间,合理地分配流程所需的资源,尽量提高工作流程执行的效率。
 
    PDM系统工作流时间管理机制应为流程定义必要的时间属性和时间约束集,这些必须能体现工作流时间管理模型与用户真实时间管理相吻合,主要体现为:
    1.在工作流程模型定义期,当确定工作流业务流程和各个流程的活动顺序后,接着必须为工作流及其每个业务流程设计时间属性和构建检测时间正确性的办法;
    2.在工作流运行期,即当工作流开始执行后,具有相应权限的工作流管理者可以按照项目进度,工作流执行状况以及企业实际需要修正工作流设置,并且确保修正结果的正确性;
 
    3.在工作流启动后,应该实时的监控工作流执行状态,根据执行状态进行时间验证,提醒业务人员或者工作流管理者采取措施确保工作的正常执行。一旦发生工作流不能正常执行的现象,可以及时触发工作流时间异常处理机制,从而保证工作流可以恢复正常执行;
 
    4.针对意外事件或者有规律的延迟,通过时间仿真的方法尽量寻找可替换的流程,以将对工作流的影响减到最小;
 
    5.根据企业业务实际情况,建立业务流程紧急程度评估方法,评估每个业务人员被分配到任务的紧急程度,以便业务人员更好准时的完成工作;
 
    6.工作流初始化中的时间信息属于计划性的,所以系统应该提供工作流完成时各个业务流程实际执行的时间信息,以方便企业持续改进流程,为下次工作流设置提供科学的参考;
    7.最后,根据需要提供整个工作流运行相关的统计时间信息。
PDM系统工作流时间管理如图3.2所示:

3.2.jpg

1.1工作流时间管理建模分析
    工作流建模是指将业务流程抽象化的过程,将业务流程计算机化的过程。通常,对于软件系统抽象化建模是现实软件系统的第一步,也是最重要的一步。因为工作流建模需要抽象实际业务流程,所以对工作流的描述准确性将严重影响工作流建模的效果。为了准确的将工作流程抽象化,工作流管理联盟设计出一个通用结构模型。在这个结构模型中指出了构建工作流的最小元素,并指定了工作流最基本组成部分。
 
1.3为结构模型图。

3.3.jpg

    流程是构成工作流的最小元素,流程状态控制逻辑是工作流执行的内在动力。我们可以通过流程的执行情况、启动时机和终止时机进行流程控制。依据流程执行阶段的可以把流程分为若干状态,如表3.1。

表3.1.jpg

流程的不同状态间的转换过程,如图3.4所示:

3.4.jpg

    流程执行方式一般可以分为四种:顺序、分支、并行和循环。顺序执行是指流程按先后顺序执行;分支表某一活动在不同条件下执行实体不一样,根据条件选择执行路径;并行是只两个或者多个流程可以同时执行;循环表示流程可以重复执行。一般来说除了某工作流实例化时起支撑的活动外,工作流也会包含一些可动态调整的活动,该类流程是对工作流的补充和完善,这类流程执行与否要根据工作流实例执行情况来确定。
 
    随着企业对产品数据管理水平和工作流效率要求的提高,工作流时间管理在各类管理系统应用十分广泛,但是工作流相关技术的研究则发展较慢,至今尚未产生完善和成熟的方法体系。
 
    时间模型的建立,一般是先建立工作流逻辑模型,在此基础上考虑流程的内容,控制约束和相互联系等,最后再将时间属性加入其中,考虑活动之间的时间约束问题,对工作流本身以及所有流程定义时间属性和时间约束。最后用时间约束集验证工作流设置的正确性,同时为可能潜在的出现违反时间约束现象预留异常处理接口。
 
    工作流配置时,即为结点配置合理的时间属性。也就是说为每个任务结点加入时间属性,将工作流模型中的活动拓展到时间方面上,同时在约束集方面加上时间约束。
 
    工作流的时间约束是对于一个工作流生命周期的时间约束机制。时间约束主要有时间约束和时序约束两个方面的内容。时序约束表示从时间层面上活动执行的先后约束,不看单个的活动执行方式,从业务工作的一般过程来看整个工作流可以看成是一个顺序执行的过程,即时间先后。执行逻辑规定了工作流各结点的运行顺序,假设活动A完成后1天才能开始任务B的运行。时间条件较注重结点或流程自己的运行在时间资源的要求,表示该活动执行应该分配多少时间资源。
 
1.2工作流运行期间的时间管理分析
    在工作流实例运行期间,系统应当实时监测业务流程的执行情况,根据监测结果和相应流程的时间资源分配状况,进行合法验证,尽可能早地预测可能存在的时间约束异常的流程。因此,在工作流运行阶段,状态监测、实时校验以及异常处理是工作流运行期间主要的工作。
 
    工作流对于时间校验主要包括:
    1.对于即将运行的流程进行时间约束校验。当运行某个流程时,需要根据当前的执行状态、当前系统时间和时间资源分配情况判断该流程是否可能存在时间约束违反的情况。如一个活有多个子活动组成,则要递归对其所有子活动的时间约束满足情况进行校验,只有校验通过才能进行正常活动执行。
 
    2.每一个流程执行完毕时,都要根据当前执行情况对其后面流程的时间约束满足性进行再次校验。根据当前流程实际开始执行时间和完成时间,重新分配其后续流程时间属性值,然后对结果进行校验。在工作流运行期间进行的实时校验属于动态校验。它是根据工作流的当前运行情况、控制逻辑与流程对时间资源的要求,对可能存在调整或者修改的结果进行时间约束的校验。
 
    因为工作流实例在执行时可能存在不止一次的修正,所以动态校验也可能不止一次。假如有一次判断觉得可能出现时间违背,则尽量在工作流控制逻辑和时间约束范围内适当调整活动执行时间,确保剩余的时间资源能满足后续活动对时间资源需要,从而使工作流实例最终顺利执行,如果情况比较严重则应触发工作流执行异常处理。
 
    在监测过程中,可以按照每次校验结果对整个工作流执行状态进行标记,并为每种标记结果提供相应解决办法。假设我们把工作流标记设成红、黄、绿3色。绿代表正常状态,表示工作流只需要按来预定的资源分配和流程控制逻辑执行就可以保证工作流实例顺利完成;黄代表中间状态,表示目前工作执行己经偏离了原来的资源分配和执行逻辑,需要调整才可以安全的执行下去,否则可能出现潜在的约束违反;红代表危险状态,表示目前工作流己不满足预定的正常执行条件,在当前约束内无法通过调整来使之回到正常状态,将引发严重的后果,在这种状态下必须引发工作流执行异常,通过修改工作流活动执行逻辑或者时间约束才能保证工作流实例正常执行。
 
    依据不同的标记采用对应的方案。运行中的工作流实例假若不满足时间条件,则或者在己经预备好的异常处理集中选择适当的方法使工作流恢复正常执行状态,或者提供异常处理接口由工作流管理员调整工作流运行状态。工作流时间管理应该在建模时己经为时间违反的流程定义相应的异常处理集合,该集合预先了若干时间违反异常的处理办法,这些办法通常以尽量弥补时间损失,减小造成的影响为目的,包括对当前流程和对其后流程的时间要求的修改等。
 
    通常突发情况出现时,只要依据异常处理集合定义的方法处理便可;如果时间违反情况不在预先定义的异常处理集合中,可以通过工作流异常处理接口让工作流管理员提出解决方案。或者改变其活动时间要求或者运行路径,使工作流运行恢复正常;或越过当前异常流程,启动下一个可以运行的流程;处于最坏情况时,舍弃当前工作流。
 
1.3时间约束性验证分析
    本节所指的时间约束分析是指在工作流实例执行完毕后,根据结果对时间模型再次校验。这样做是为了优化工作流运行结构,完善工作流设计,使得时间配置更加准确和科学,从多方面多角度挖掘改善工作流管理的因素,从而在以后的工作流配置中获得高质量的工作流。要进行工作流实例执行数据挖掘,最重要的就是获取工作流实例运行的各种时间日志。该日志涵盖工作流运行时的开始以及终止时间、各流程实际运行时的操作者以及对应时间、违背约束的所有记录以及相应的处理办法等。
 
    将时间日志的所有结果实施分类研究,可得到如下分析结果:
    1.通过对某一流程执行的时间情况统计分析,可以得到其运行所需时间的上限与下限即有效的取值范围、平均的时间资源需求、及发生条件违背的可能性等等。如果发现某个或某些流程时间违反概率过高,流程管理员要试着从企业人力、设备和时间等多方面分析造成这样现象的原因,从而到得出本次时间分配及时间约束是否合理,以为再次实例化工作流做参考,为了提高企业工作效率,时间约束分析可以发现流程中的空闲时间,例如某流程的执行时间总小于其计时执行时间,则可以考虑在下次配置相似工作流时减少该流程的时间资源;
 
    2.经过对工作流执行日志里的时间信息的提取和挖掘,不难总结出流程间可能存在的的时间上的制约和控制逻辑对时间的影响,将分析结果用于完善这些流程的执行逻辑设置和时间设置,从而起到时间管理能够优化流程结构的作用;
 
    3.经过对工作流执行情况挖掘,统计全部流程的执行时间结果,总结出影响工作流性能的流程,进而尝试分析造成这种影响的原因。一般来某活动的平均时间资源需求过多,是因为人力不够,机器设备缺少或者时间限制不合理等等;
 
    4.对执行时间情况的分析往往还会有别的作用。例如同一个业务流程,因为执行业务的员工不能造成了,流程实际执行时间不能,这也很能从一个方面反映出企业人力资源的业务能力。
 
1.4  PDM工作流系统中时间管理的设计
1.4.1  PDM系统工作流节点时间设置设计
    工作流流程时间设置就是为工作流节点配置时间属性,属于工作流配置的范畴。用于描述流程时间属性一般有两种方法:时间点描述和时间区间描述。时间点描述法是指用精确的时间点去记录活动的启动时间点和终止时间点,它描述了流程状态改变两个时间点;与此不同,时间区间描述法则是指用一段时间区间表示一个活动执行过程时间,它描述一个工作流程状态改变时间轴上的一个时间段。通常,工作流中所与时间相关的属性都可以用这两种间表示方法进行很好地描述。
 
    本文从企业实际需求出发,采用时间点的表示方法,将工作流业务流程中每个节点的时间属性通过开始时间和截止时间两个时间来表示,这样好处是方便易处理。
 
    在登陆PDM后,项目工作系统管理员在设置完工作流节点后,进入单个节点属性设置,包括工作流节点负责人设置、访问权限设置和工作流节点开始截止时间设置等,完成之后项目工作流实例进入等待启动运行阶段,此时该项目对应的工作流被实例化完毕。
 
1.4.2 PDM系统工作流节点时间验证设计
    根据以上分析再结合企业实际,我们为PDM系统设计了带时间属性的工作流模型。
    工作流系统从前台流程配置、到引擎驱动可分为下面四个结构:
    1.过程配置功能:过程配置功能是将公司生产流程计算机化,但是必须满足一定约束,形成一个流程的实例。过程配置工具能采用过程定义语言、对象关系模型等多种方法实现;
    2.工作流过程状态集:主要涵盖三个方面:1、流程状态类型(顺序、分支、并行、循环等);2、任务结点状态类型(执行、等待、终止等);3、任务结点的操作类型(编制、审核、批准等);
    3.过程配置条件集:过程配置条件集为工作流配置时必须遵循的环境组合,以及驱动工作流运行的其他重要数据属性。如分支流中各分支不能同时包含必须执行结点等条件约束;
    4.工作流引擎:主要是根据上述各种集合及用户的操作来驱动工作在各部门间执行。用户操作完成后,通过改变任务结点的属性来重新初始化工作流;
    5.过程状态集是工作流建模时结点的流程类型及状态类型包括哪些的说明。
 
1.4.3 PDM系统工作流运行期间节点时间管理设计
    由上文3.2节分析可以知在工作流运行期间,状态监控、动态验证以及异常处理是工作流系统的三个主要内容,下面我们将从这个三个方面对PDM系统工作流时间管理进行设计。
    首先,我们将工作流状态定义三种颜色:绿,黄和红。绿表示工作流实例可按计划正常执行,无需任何调整;黄表示虽然工作流在按计划执行,但是当前节点离计划截止时间己经很近,很有可能发生时间约束违反;红代表工作流实例己经发生时间约束违反,需要工作流管理人员确认异常处理集的处理结果或者人为启动异常处理接口对工作流实例进行修正。
 
    1.状态监控:在工作流实例初始化完成后,工作流进入启动阶段,在因为在启动前有时间约束的静态验证,所以在进入启动段后我们默认当然的执行状态满足所有约束,工作流系统将根据初始化结果寻找第一个等执行的流程节点,将该节点对应该的任务要求通过系统内部通信方式发送到该流程操作人的任务列表中,至此流程处于开始执行状态,此时的时间点为流程实际开始执行时间;等到该业流程完成时将改变当前流程状态为完成,记录此时间点为实际完成时间,然后工作流系统再寻找下一个待执行节点,然后重复以上步骤,直到整个工作流执行完毕,这是正常情况下工作流节点状态变化和实际执行时间属性值的获取。
 
    如果有特殊原因引起时间约束违反,则或者系统根据异常处理集调整或者通过异常处理接口由工作流管理员进行调整,根据调整结果判定是继续执行还是放弃该工作流实例。工作流状态为黄时,系统将再次提醒负责当前工作流节点的业务人员,当工作流状态为红色时会提醒工作流管理员处理该工作流实例;
 
    2.动态验证:动态验证是在静态验证基础上进行的,先统计当前工作流实例剩余时间资源能否满足工作流程后续节点对时间资源要求总和,如果满足再判断当前时间点是否超过当前待执行节点开始时间,如果没超过则无需重新验证,反之说明实际开始执行违反约束,系统要调用时间约束违反处理,如果剩余时间资源不满足后续工作流节点对时间资源的要求刚才锁定该工作流,通知相关责任人并启动异常违反接口,由工作流管理员人为修改工作流或者放弃该工作流实例;
 
    3.异常处理:在工作流状态为红的情况下,如果工作流实例剩余时间满足后续所有时间节点对时间资源的需求,我们会根据节点资源对时间需求对剩余时间进行再次默认分配,由工作流管理员确认分配是否合理,如果不合理则由工作流管理重新配置后续工作流节点时间,如果剩余时间不满足后续节点对时间资源的需求,则启动工作流结构修改界面,由工作流管理员调整后续节点结构后再重新分配时间,或者放弃该工作流实例。
针对每一个工作流节点状态转换图如下:

3.5.jpg

1.5本章小节
    本章从研究工作流时间管理一般顺序出发,先介绍工作流管理建模,然后介绍了时间约束的验证,再介绍了工作流实例运行期的时间管理,最后详细说明了PDM系统中工作流时间管理的设计思路。
 

本文为御云清软英泰PLM软件原创文章,如想转载,请注明原文网址
http://www.plmsoft.com.cn/news/gsxw/195.html;否则,禁止转载;谢谢配合!