对“带条件选择的并行汇聚路由问题”的再思考

2008年上半年,我在设计并开发基于”JWFD流程系统“的商业化改进型引擎的时候,由于采用了新的嵌入式公式模块而导致出现“带条件选择的并行汇聚路由问题”(请参考2009-02-27博文),当时对这个问题的解决办法是采用基于拓扑结构的处理思想,对汇聚点的实际前驱分支节点通过算法预测出来,然后进行处理,简单的说就是找到造成这个汇聚模型的分支起点,对这个起始分支节点实际走的路径数进行计算,然后把这个实际运行的路径数作为汇聚点路由控制的关键参数。。。。

   经过简单的测试,这种算法的确可以解决的一类汇聚和分支点在拓扑结构上面完全对称的工作流程图的引擎问题,但是对于不对称的图就失去作用了,当然作为一个开源工作流系统的商业化产品完全可以对用户绘制流程图进行种种限制,使用户绘制的流程图达到引擎所能够处理的那种规范程度,但是这种限制措施却不能够真正使用户满意,所以当我现在重新开始对这个问题进行思考的时候,我发现这个问题的实质其实是概率数学问题,表明上看起来有点像条件概率,但是又仿佛是随机变量的马尔科夫链问题,我查遍了手头的数学手册和计算机方面的算法导论中关于图论的相关算法均未发现有相似的问题的描述和解决办法,虽然无法立即通过现成的数学工具和算法来处理这个问题。

   但是我相信只有通过对流程图拓扑结构与节点选择路由进行一次合并的结构建模来生成一个拓扑结构相关的动态方程并辅助以概率计算才能够真正解决此类问题。。这个问题已经不是单独的的软件架构设计的问题,而是一个在工作流系统设计方面出现的特殊而又带有普遍意义的算法问题,而类似问题在工作流系统设计领域还将不断出现,对于此类问题我的原则是充分利用各种数学语言和工具,大量借鉴自动控制领域,电路设计领域和TCP/IP网络设计和协议的相关知识和模型,不被某种流程软件规定的文档结构模型(比如说JPDl,BPM)所限制,要跳出流程设计的小圈子,占在一个更高的层次来看到流程系统设计的种种技术问题,在更高的战略层面进行规划和设计,使国内开源工作流系统的核心技术水平不断的提高,并借鉴国外开源组织的先进的设计思想和方法,不断的进步,实现软件设计领域的发展和超越。。。。。

  虽然国内做工作流的厂家和人的绝对数量不少,但是在工作流技术的某些领域进行联合设计和创新的厂家和个人却相对很少,而对于类似工作流设计的这种具有很大的变化性的技术领域(jbpm3-jbpm4的设计变化)保守于某个固有的产品和技术是绝对会被很快淘汰的,所以我建议国内做流程系统开发和设计的厂家,组织和个人联合起来,多进行沟通和讨论,多交换思想,这样才不至于出现在短期内盈小利,而长期却大落后的这种情况。。。。。。。。。


你可能感兴趣的:(算法,工作,软件测试,嵌入式,领域模型)