欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Willow XPDL
第10行: | 第10行: | ||
(B)转移条件判定 | (B)转移条件判定 | ||
− | + | 数据值域定义在Willow体系中被称为WorkflowParameter。 | |
(2)形式参数定义(FormalParameter) | (2)形式参数定义(FormalParameter) |
2006年9月21日 (四) 10:50的版本
Huihoo流程定义语言是Wfmc流程定于语言的强化子集,同时针对huihoo工作流引擎项目(Willow)的体系构架增加了部分属性值含义,这些属性值的含义只有在Willow引擎中才具有特殊含义,为了保持与WFMC的最大兼容性,采用属性方式定义这些Willow引擎需要使用的特殊属性。
Huihoo流程定义语言是WFMC流程定义语言的强化子集,所以对元素之间的包含关系进行了更加严格的限制,使得元素之间的层次关系更加明细,使得流程定义被描述的更加简洁。
(1)数据值域定义(DataField) 引擎与外部应有程序交互的接口数据,同时也可以代表流程过程运行期环境的一部分。可能用在两个方面:
(A)外部应用程序调用
(B)转移条件判定
数据值域定义在Willow体系中被称为WorkflowParameter。
(2)形式参数定义(FormalParameter) 只是说明外部应用程序调用时参数的传递规则,参数类型,参数顺序等相关信息。从写程序本身而言,这个数据应该是引擎不关心的才是的,因为这个类似于传统写程序中的函数原型声明。但重要的是我们还是需要和外部应用程序交互的,所以我们需要知道这些信息,以便我们引擎作运行期的一些检查。
此类型重要之处就在于告诉我们把流程过程运行期参数传递我们采用如何的传递语意,这个是至关重要的,尤其在转移条件判定时候,因为多个转移可能共有一个前置判定参数的。当然类型检查也是很重要的一个性质。
(3)调用时参数定义(ActualParameter) 对应于(2)的运行期实际参数。我们引擎需要对此作类型检查和输入输出类型检查。
对于数据类型使用总结如下:
类型定义不再需要。直接使用java “fully qualified package class name” 及“反射”机制进行实现。请参阅DataField定义的附加说明
数据类型FormalParameter只能出现在Application的参数说明中
数据类型DataField只能出现在工作流过程定义Package级别中定义
数据类型ActualParameter只能出现在Application实际调用中(出现在Task节点中)。实际上其只不过是 DataField的一个引用而已。需要注意的是我们默认采用文件定义中出现的次序对对实际参数进行初始化。
更多细节: WILLOW-Huihoo与WMFC流程定义对比 http://www.huihoo.org/willow/documentation.html