码迷,mamicode.com
首页 > 其他好文 > 详细

YAWL设计实例

时间:2015-09-13 02:06:22      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

要求设计一个定票的流程图,大致题目如下:

技术分享

利用YAWL主要设计control-flow,data type, resource,同时还有路径定义。

设计的control-flow如下:

技术分享

这里主要注意的是利用了cancel region,也就是当有hotel,flight,car 这三个task返回了false进入cancel这个task时,就会取消掉剩下的hotel,fligth,car的task;如何设置可以查看YAWL的使用手册:http://www.yawlfoundation.org/manuals/YAWLUserManual3.0.pdf

data type在YAWL中是用XSD来设计的,可以通过YAWL中的左边栏中的Properties->Specification->Data Defintions中进行编写和设置各种数据类型,这个类型主要是用于net variables和task variables的变量设定,与在egine启动后进行reource 分配后进入网站的task表单格式有关,比如有如下type的task:

技术分享

在egine启动后,进入网站后当轮到有如此type(而且只有一个type)的type进行start任务后就会有如下的表单:

技术分享

相关的语法可以参考:http://www.cnblogs.com/newsouls/archive/2011/10/28/2227765.html

在YAWL进行模型建立时,免不了会有multiple choice的情况,这时就要根据相关的数据的值进行分支条件的判断。那么如何定义这个分支条件呢?在YAWL中是在Propertites->Task->Split Predication这里,设置的相关截图如下:

技术分享

路径的设定在YAWL中是用xPath语言进行设定的。上述语句中进入pay task的情况是,net 中的bookHotel 这个type中的canBook选择了true(后面的text是将true转化为‘true’),这个bookHotel,是在hotel task(内部有一个task variables是Book类型的,而与之对应也有一个net varibles变量是Book,两者要进行Data Bind(这里的hotel task的Book变量是output类型也就是将task中的变量内空复制到了net中)。相关的截图如下:

技术分享

 

YAWL设计实例

标签:

原文地址:http://www.cnblogs.com/kinthon/p/4803961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!