流程感知信息系统的变更模式、支持特性及成本分析
1. 版本控制对流程实例的影响
在流程感知信息系统(PAIS)中,版本控制功能对流程的变更和实例管理起着关键作用。如果PAIS没有提供版本控制功能,那么流程设计者要么手动创建待变更流程模式的副本,要么直接覆盖该模式。
在覆盖模式的情况下,运行中的流程实例有两种处理方式:
- 从运行时环境中撤回。
- 继续与修改后的模式关联。
然而,这种缺乏版本控制的情况可能会导致不一致的状态,在最坏的情况下,还会出现死锁或其他错误。例如,当在流程模式S1中插入活动X和Y,并存在数据依赖关系时,对于尚未进入变更区域的实例I1,变更不会有问题;但对于实例I2和I3,由于实例模式和执行历史不匹配,会处于不一致的状态,甚至可能出现死锁或活动调用缺少输入数据的情况。
相反,如果PAIS提供明确的版本控制,则有两种支持特性:
- 运行中的流程实例继续与旧的模式版本关联,新实例将基于新模式版本创建,这会导致不同模式版本的流程实例共存。
- 以受控方式将选定的流程实例集合迁移到新的流程模式版本。
需要注意的是,如果实例迁移不受控制(即不限于兼容的流程实例),将会导致不一致或错误。不过,由于一些现有系统具备此功能,我们仍将其视为一种单独的设计选择。
2. 其他变更支持特性
除了版本控制,PAIS还需要支持其他变更特性,以应对各种异常情况和确保变更的正确性。
2.1 临时变更支持
为了处理异常,PAIS必须支持在流程实例级别进行变更,可通过高级别的变更模式或低级别的原语来实现。虽然两种方式都能表达变更,