YAWL使用方法
http://www.yawlfoundation.org/yawlbook/downloads.html(PPT)
1)首先需要理解YAWL里面的Data pattern的使用方式,在Data设置时,有net variables和task variables(decompositin variables),Data可以在task和net之间传递,如果要进行task和task之间的传递的话需要通过task--->net--->task的方式,同时需要注意在YAWL中的数据传送是通过Binding的方式来input和output的,也就是说net的数据要通过input的binding到task中的数据,task中的数据(如果需要的话)也要通过output的binding到net中的数据,相关的设置方式如下图:
在YAWL中设计完control-flow后,我们还需要对control-flow中的xor-split和or-split进行分支判断,如果是deffer pattern的话,就直接用一个条件样例(也就是显示的在control-flow中把place与其task分开,在YAWL中是一个小圆形的样例)如果是explit pattern的话,就需要在control-flow进行设定,使用的语言是xPath,如下:
以上表示,task "accept"执行后,如果net Variable中的"sureorCANCEL"是true的话,那么就执行assign_payment,否则的话就执行curstomer_check.
在YAWL中有一系列的自定义数据类型可以供我们使用,但有时根据我们自己的需要我们在这些类型的基础上进行一些自定义数据类型的定义,在YAWL中是用XSD语言进行设定的,可以参考:XSD,设定的位置在
2)在YAWL中,editor主要负责了control-flow和data,而resource则由Engine负责,Engine中会有一系列的resource,我们只需要在Engine start 后,在YAWL中进行task的resource分配就可以了;
3)Engine如何发动,在安装包中有一个controlpanel下面有一个.jar文件,只需要 java -jar YawContro-Panel-3.0.1.jar即可,在点击start后,可以进行Logon(user为admin,password为YAWL),如果成功的话可以到达如下界面
其中的resource的添加主要是在Users界面下(用于创建human,需要输入用户名和密码,自己设置)和Org Data(用于创建Role等,用于Users)
界面如下:
3)如何使用egine进行YAWL workflow的模拟呢?
a)需要在本地设置好一系列的resource后,将其upload到engine中(在菜单栏中)
b)可以在网页中看到的Admin Queues中看到有一个worklist,中有自己当前的task;
c)选择与当前task的user进行处理这个任务,操作是通过网页中的Logout,退出当前的admin,登录需要的user的账户(user和password就是在4)中进行设置的,user是ID。进入后就可以进行Accept offer和start等操作了。
可以参考:http://www.yawlfoundation.org/manuals/YAWLUserManual3.0.pdf