Home
Editor 2.0 User Manual
Contents
1. lii l zevin uob u 1 MVR mo 1 Obtaining the Latest Version of YAWL ccccccccseecceceeeeeeeeeeeeeeeseeeeeeeseeeeeeesaeeeeeeseageeeeeas 1 DP VPA Ve OUI AON Em m 1 The YAWL Architecture eeeseesssesssessseeeeeee nennen nnne nennen nnne nnn nennen sna sra nns 1 T Home TT TET 2 Lia NOW MR E n 2 Launching thie YAWL AE GIOF ge EU T MIT 4 Tne YAWL Editor Works RAGE TT UT 5 Mona TOODA Room 5 Specification Maintenance eccccceeeccccceeeeeeceeeeeceeeeeeeeeeseeeeeeesueeeeeeseaeeeeessueeeeessaeeeeesaaeeees 5 Specification Verification Analysis Exporting amp Importing cccccseeeeseeeeeeeeeeeeseeeeeseees 5 psit cinsincatiuensadosrcastnen tuntiansscouenguneuiealatnam iosvealdunrian seep EAEE 6 ELODOT eena a E EE ee eee 6 AODIment QO HONS aae E E E E E 6 e 16 az MR NER 6 RCS AO BIS sobre parue inn ox uUo sae tcad idee bin utra dues mis PUMP MEUM M MUI EEEE 6 ZOOM OPO ENTE TNT 6 Palee elc RN UU E 7 Meam fic NE ses cere awe ence yeas EU m 7 COMPO E Ess Cees meee me en enn brum quac ee ee nee eee IM MEN 7 Multiple Atomic Task ccccccccccsecccseeceeseceeeeeceuceceucessaeeeceueecsesessueessaeeeseeensueessaeessaeessaess 7 Multiple Composite Tasks cccccceeeeccceeeeceeeeeeeceeeeeeeceeeseeeeeeseeueeeessaaeeeeseaeseesseaeeeeseaaeeees 7 CONO TER E T m 7 NWAT
2. Fig 32 Updating Parameters for a Task 3 Inthe Input Parameters section click on Create An Update Task Pa rameter dialog box will appear If you have already set up a Task Variable for this task then the Exist ing Task Variable option will be activated and there will be a list of task YAWL Editor v2 0 User Manual 38 variables to choose from Choose a variable from the list and click on Done then Done again to close the task parameters dialog If you haven t set up Task Variables then click on Create and return to the previous section in the manual for Task Variable If you are familiar with XQuery syntax then you can paste in an XQuery to allow manipulation of the Input Parameters Syntactically well formed XQueries will be green and badly formed ones will be red Again red text will be accompanied by a split pane table returning the parse errors that cause the text to be badly formed For workflow designer convenience two XQuery buttons are supplied to generate XQuery expressions from available net variables The add XQuery of element s content only button will return just the content of the XML element for this variable which is useful for simple state transfer between two variables of the same XML Schema type and expected to be the typical button that users will start out with The other button add XQuery of entire element will return the entire XML element of the selected variable which is
3. In the Output Parameters section click on Create An Update Net Pa rameter dialog box will appear similar to Fig 33 If you have already set up a Task Variable for this task then the Exist ing Task Variable option will be activated and there will be a list of task variables to choose from Choose a variable from the list and click on Done then Done again to close the task parameters dialog If you haven t set up Net Variables then click on Create and return to the previous section in the manual for Adding a Net Variable If you are familiar with XQuery syntax then you can paste in an XQuery to allow manipulation of the Output Parameters Syntactically well formed XQueries will be green and badly formed ones will be red For workflow designer convenience two XQuery buttons are supplied to generate XQuery expressions from available task variables The add XQuery of element s content only button will return just the content of the XML element for this variable which is useful for simple state transfer between two variables of the same XML Schema type and expected to be the typical button that users will start out with The other button add XQuery of entire element will return the entire XML element of the selected variable which is useful for times when you want to create a complex type expression from individual variable elements Experience with XMSchema and XQuery are necessary to understand the effects this button wi
4. Editor 2 0 User Manual 2008 The YAWL Foundation Document Control pate Amer version change O 2 Sep 2004 27 Sep 2004 17 Oct 2004 26 Oct 2004 Sean Kneipp Sean Kneipp Sean Kneipp Sean Kneipp 0 0 2 0 3 0 4 Initial Draft Data Perspective Updated Editor Version Updated Engine Integration 25 Nov 2004 Lindsay Bradford 5 Sync with Editor 1 1 04 Feb 2005 Lindsay Bradford Finalised Release 25 Feb 2005 Lindsay Bradford Sync with Editor 1 1 1 17 May 2005 Lindsay Bradford Sync with Editor 1 2 27 Oct 2005 Lindsay Bradford Sync with Editor 1 3 25 Feb 2006 Lindsay Bradford Sync with Editor 1 4 19 May 2006 Lindsay Bradford Sync with Editor 1 4 1 12 July 2006 Lindsay Bradford Sync with Editor 1 4 2 10 Aug 2006 Lindsay Bradford Sync with Editor 1 4 3 07 Dec 2006 Jessica Prestedge Sync with Editor 1 4 5 01 Aug 2007 Lindsay Bradford 10 Sync with Editor 1 5 24 Jan 2008 Lindsay Bradford 2 0 beta 15 May 2008 Marcello La Rosa Sync with Editor 2 0 beta Synch with Editor 2 0 How to Use This Manual This manual guides users through the YAWL Beta 8 2 installation process After a brief introduction to YAWL two separate YAWL installation processes are described 1 automatic installation via an installer only for Windows XP 2 manual installation via a binary distribution YAWL Editor v2 0 User Manual T Content BDO UMON ONO BN T um li mie to Use fhis Manual RUE Tm i Mos M E
5. Enroll task E Update Task Decomposition Enroll Standard i Extended Attributes Task Decomposition Label Enrall Task Decomposition Variables Marne Type YAWL Registered Service Detail YAWL Service Done Cancel Fig 29 Updating variables for a task Click on the Create button An Update Task Variable dialog box will appear Enter the Name of your variable choose the Type of the variable from the list click Done then Done again to exit the task decomposition de tail dialog Type in StudentNumber for the name of the variable and choose the type string Fig 30 Create another variable for the same task called SubjectCode with the type being string and usage being Input amp Output Click Done Fig 31 The Enroll task now has two variables StudentNumber and Sub jectCode YAWL Editor v2 0 User Manual 36 Update Task Yarable StudentNumber Standard Extended Attributes Name StudentNumber Type Usage Input amp Output Initial Value Fig 30 Updating the Task Variable Update Task variable SubjectCode Ed Standard Extended Attributes Initial Value Cancel Fig 31 Updating another Task Variable Task Parameters Both Input and Output Parameters can be assigned to any tasks to allow the passing of state between nets and their tasks and between tasks and workflow engine users and web services Input Parameters use an XQuery to m
6. Allocating a work item for this task to one of the users offered the work item is to be done by 2 User System Starting an allocated work item of this task is to be done by User gt System Fig 46 Step 1 of the resource management wizard Step 1 In Step 1 we can specify the interaction strategy for work items of the selected task There are three interaction points e offer e allocation e Start If we choose that offered work items are dealt with by the User and not by the Sys tem at run time an Administrator will have to decide who to offer the work item to Otherwise in Steps 2 and 3 we can specify to whom work items have to be offered by the System If we choose that allocated work items are dealt with by the User and not by the Sys tem any participant who has been offered the work item can choose whether to commit to future execution of this work item i e to allocate the work item to them YAWL Editor v2 0 User Manual 54 selves Otherwise in Step 4 we can specify how work items have to be offered by the System Step 2 In Step 2 shown in Fig 47 we can select resources that will be offered work items of the selected task The set of resources can be determined by the combination of Participants and Roles These can be picked from the respective lists and or from variables of type string which hold the id of a participant or the name of a role B Manage Resourcing Wizard for Atomic Task Approve
7. Begin My Career i Studv B Flow detail for Atomic Task Begin My Career Target Task Predicate Attend University Cruel Study Privately The bottom most flow will be used as the default Done Fig 35 Updating the Flow Detail Multiple Instance Queries Multiple Instance Tasks need extra detail for data manipulation The Queries tab available by right clicking on a multiple instance task and selecting Set Instance De tail The Queries tab allows you to manipulate multiple instance data for the task Right click on the task and choose Ensure that you are viewing the Queries tab of the dialog as per Fig 36 YAWL Editor v2 0 User Manual 42 Multiple Atomic Task Instance Detail X Bounds Queries Multiple Instance Variable Accessor Query ooo O Splitter Query ii e a ER REET RARE TS Instance Quer oo Ol 3 UDUPPUPUPPPPUUUOEPUDUPUPPUDPUPPUPUPEPUCEUPPPCOPUPUPEDUUUPUPPUPUPUUEPPPUCPUPUPUUPUPPPPUEPEPPPEPPUPPPPECPPEPCOOPEEE Aggregate Query Result Net Variable Fig 36 Data manipulation for Multiple Instance Tasks To successfully specify multiple instance data manipulation you first need to select which of the task s decomposition variables will be used as the Multiple Instance Variable This variable needs to contain or can derive a number of unique values that will be separated with the Splitter query to pass a unique value per each in stanc
8. Bg Update Data Type Defimtions xs schema xmlns xs http www w3 orq a 0n01l7 xMLSchema xxs complexType name Geek gt ME SEQUENCE gt xs element name Mame type xs strinq amp xs element name Salary types xs idouble z XS s8mguence z xst conplexType xxs complexType name BookE Zxs sequence minlccurz z l maxOccurs 1 gt xs element name ritle type xs strinq xs element name author type xs string z X83 s8mguence z xs complexType xs complexType name BookList Zxs sequence minlccurzs z l maxOccurs 5 gt xs element name book type Booh gt lt ra Sequence gt xs conplexType gt z x8 28c0henma tat tttte tt a aN Be a RR Be ttt tutta ttt tutt te attt ts ttt tte tatuta tuta t tutta Invalid ln 19 col 43 src resolve Cannot resolve the name Boo to Done Cancel Fig 23 When the data type definition is invalid 4 Open the Data Type Definitions dialog and type in the XML text that appears in Fig 22 The above example creates a complex data type called Geek that has two separate sub components Name and Salary of type string and double respectively As depicted in Fig 24 the new data type Geek is available to choose when creating a task or net variable Variables with a usage of Local can have initial values speci fied for them as depicted in the same figure As with the data type definition dialog parse errors will be listed when the ini
9. Elements The Elements Menu allows you to align net elements within your specification modify their size or add or remove net elements from task cancellation sets Tools The Tools Menu allows you to specify a running engine that the editor should con nect to so you can tailor your workflow designs to specific modules and web services Installed in the engine Included in this menu is an option for configuring specification analysis With this release of the editor an amount of default specification analysis is offered as part of the editor If the wofyawl analysis utility is also supplied in the same directory as the editor the configuration dialog will allow specification design ers to configure and use wofwawl for additional specification analysis Also for re source allocation this menu offers a dialog to identify an organisation database from which resourcing detail can be retrieved View You can use this menu to turn off or on the Tooltips which provide useful hints when your mouse is positioned over a toolbar button or an option in a pop up dialog win dow obtained by right clicking on the canvas It also allows you to change the font size used for element labels toggle whether diagrams should be drawn anti aliased and toggle whether grids should be drawn with diagrams Finally it allows users to select one net from all available for editing Help The Help Menu provides details of the YAWL Editor copyright as well as Acknow
10. Multiple Instance Task EXample ccccccccsecesseeeeseeeeeeeeeseeeeseeeeseeeeesaeeesaeeesseeesseeesaneesaes 61 Iiiutzedg scus AM 61 KNOWN TIUS PRIOR 63 MOTOS SOO UO HM MN UU er 64 Mole ale 11 NOCO NR UT s 65 Acknowledgements sssesssssssssseesseeeee enne nnn nnn snn nnns nas n ss na annes sn sss a nnns na nnn nns 65 YAWL Editor v2 0 User Manual IV Welcome to YAWL What is YAWL Based on a rigorous analysis of existing workflow management systems and work flow languages we have developed a new workflow language called YAWL Yet An other Workflow Language To identify the differences between the various lan guages we have collected a fairly complete set of workflow patterns http www workflowpatterns com Based on these patterns we have evaluated sev eral workflow products and detected considerable differences in expressive power Languages based on Petri nets perform better when it comes to state based work flow patterns However some patterns e g involving multiple instances complex synchronizations or non local withdrawals are not easy to map onto high level Petri nets This inspired us to develop a new language by taking Petri nets as a starting point and adding mechanisms to allow for a more direct and intuitive support of the workflow patterns identified YAWL can be considered a very powerful workflow language built upon experiences with languag
11. supplied by a running engine below Choose the runtime allocation mechanism Round Robin by time Round Robin by time Random Choice Shortest Queue test Queue suauu PEES Round n by frequency Fig 49 Step 4 of the resource management wizard YAWL Editor v2 0 User Manual 56 Step 5 In Step 5 shown in Fig 50 we can specify participant task privileges For example we can specify whether certain participants are allowed to suspend the execution of work items of the selected task For each privilege it is possible it is possible to use the base distribution set by selecting the radio button Yes or to refine the distribu tion set by pressing the radio button Yes refine If No is selected no resource holds the privilege For each privilege that has been set to Yes refine a new Step will be prompted showing the base distribution set for restriction E Manage Resourcing Wizard for Atomic Task Approve Purchase Order step 5 Establish Default User Runtime Privileges Can a user suspend a started work item of this task amp No Yes C Yes refine Can a user reallocate a work item of this task to another user resetting state No Yes gt Yes refine Can a user reallocate a work item of this task to another user retaining state 2 No Yes Yes refine Can a user deallocate themselves from a work item of this task No Yes Yes refine Can a user delegate a work item of this task to s
12. Condition the sym bol and click the left mouse button once to place an Atomic Task 3 Set the decomposition of this task by right clicking on the Atomic Task and choosing Select Task Decomposition You should see a dialog as per 4 Fig 4 5 Press the Create button and in the following window Update Task Decomposition enter the decomposition s label YAWL Editor v2 0 User Manual 11 See the Select Task Decomposition section of this manual for a full explanation of its features Atomic Task T Set decomposition to Fig 4 The Select Task Decomposition dialog 6 Setthe label to Begin My Career and click the Done button 7 Note that by default a task takes on the label of the decomposition that it is tied to several tasks are allowed to share the same decomposi tion Once you ve task created your task you are free to relabel the task to whatever you like This can be done by right clicking on the task and choosing Set Label from the pop up menu This will not change the name of the decomposition to which the task is tied 8 Connect the Input Condition to your Atomic Task as shown in Fig 5 by finding the flow connectors that appear as small blue boxes as you hover your mouse over the sides of the objects Hold the left mouse button down and draw a line from the flow connector on the Input Con dition to the one on the Atomic Task The editor will only show a con nection po
13. In accordance with this editor s copyright licence the source code may be obtained from the YAWL SourceForge website http sourceforge net projects yawl Acknowledgements This documentation includes feedback from Marlon Dumas Lachlan Aldred and Ar thur ter Hofstede YAWL Editor v2 0 User Manual 66
14. attributes referring to task decompositions must be defined in a file named DecompositionProperties no extension The files are read at the next editor s restart Attributes can be of type string boolean enumeration and xouery The following is an example of property file which defines the attributes description help mode re fresh and skipSchemaValidation comments are indicated by a line starting with Decomposition Attributes Wed May 14 17 35 42 AET 2008 description xquery help string mode enumeration normal final pending refresh xquery skipSchemaValidation boolean From the editor the user can visualize and edit the list of attributes by selecting the tab Extended Attributes from one of the following dialog windows Update Task Decomposition Update Net Variable Update Task Variable Fig 52 shows the rendered list of attributes for the above property file Note that attributes can only be specified through property files and not from the above files YAWL Editor v2 0 User Manual 60 Update Task Decomposition Prepare Route Guide Standard Extended Attributes Mame Value description Fig 52 The dialog for editing the extended attributes associated to task decompositions YAWL Editor v2 0 User Manual 61 Illustrative Examples Multiple Instance Task Example The example save file below supplied with the editor source gives you an example of how to process a simple multiple instance
15. be removed as an option Right click on Attend University and choose View Cancellation Set as per Fig 20 e My Career J a e eine gt m Hl 4 Ctrl C Begin My i Delet Career uds st View Cancellation Set Priv Toggle viewing ofthis tasks cancellation set EH Task Decomposition Detail Update Parameters Fig 20 Viewing a task s cancellation set 3 Next using the Enter Marquee Selection Mode button from the Palette Bar choose a task condition or implicit condition to add to the Cancellation set Hold down the shift key to select more than one ob ject for cancellation YAWL Editor v2 0 User Manual 29 gt select the Study Privately task and the Flow Relation preceding it IE 4 Click on the Add Selected Items to Visible Cancellation Set button on the Menu Toolbar ltems will be coloured red to indicate belonging to the cancellation set see Fig 21 gj Add the Study Privately task and the preceding Flow Relation to the uu cancellation set 5 Once you have established the cancellation set you can right click on the cancellable task and tick off View Cancellation Set option E a Begin My Er p Get A Job Career Career Started study Privately cU MES I J l Fig 21 Adding elements to a Cancellation Set Notes about Cancellation Sets e A Cancellation Set that has been created will remain in the workflo
16. name by clicking on the Net Menu and choosing Update Net Detail We are going to call this new Net Study Privately 11 Return to your original Net and right click on your Multiple Composite Task and choose Unfold to Net You will then be given a drop down list with all the Nets Available choose the Net for this task to initiate and then click Done Choose Study Privately 12 You can now complete your new Study Privately Net represented by your Composite Task y Create the following Atomic Tasks in order and then link them with Flow us Relations as per Fig 12 e Head a Book e Feel Smarter Don t forget to validate your specification Conditions Conditions represent a states of the workflow and can be located in between tasks To create a Condition 1 Click on the Add a Condition button in the Palette Bar or right click in the whitespace of the Net and choose Condition Go to the Study Privately Net We are going to place a loop Condition after the Read a Book Atomic Task to determine whether we gained any knowledge from the book We will add the new Condition next Place your Condition in your Net and set the name by right clicking on the Condition and choosing Set Label YAWL Editor v2 0 User Manual 20 Call this Condition Knowledge Gained Now link to the Condition using the Flow Relations object Begin My nat GetAJob Career Career started Privately Do Subjects Pass Al
17. scenario specification YAWL Editor v2 0 User Manual 45 Connections Connecting to the YAWL Engine In order to generate specifications that can be executed by the YAWL Engine it is required to establish a connection between with the latter For this release of the editor the engine behaviour available is limited to a number of web services that the engine has been configured to interact with Further detail on specifying web services to have the workflow interact with can be found in the next section To set establish connection with the YAWL Engine 1 Click the Tools Menu and choose the Set Engine Connection item 2 From the resulting dialog Fig 39 accept the default values or enter the following engine details e YAWL Engine URI e Administrator s User Name e Administrator s Password Specify Engine Detail YAWL Engine URI http 2 r 0 1 8080 vawlila User Name admin Password eese Test Connection Successfully connected to a running engine with the above detail Done Cancel Fig 39 Specifying the YAWL Engine connection detail The YAWL Engine URI value is set by default to a locally installed Engine http localhost 8080 yawl ia The User Name and Passwords are set to the default administrator user name z admin password YAWL As a user convenience a button called Test Connection is supplied which will at tempt to connect to a running engine with the detail supplied before th
18. teeth in the meantime e f you suspect editor save file corruption run your editor from the command line and be on the lookout for exception stack traces The detail of these stack traces is needed for tracking further problems of this nature e Only the initial values defined for net Local variables will influence running engine workflows All other usage types Input Only Output Only and Input amp Output will not make use of initial values defined for them in the running en gine e The editor does not currently support XML Schema elements when defining data to pass through a workflow Hand created engine specification files that use element tags for data transfer will fail on editor import attempts Convert these into their equivalent lt name gt lt type gt tags to get editor import working as expected e Editor Import functionality does not currently import resource perspective de tail from an engine XML specification file e We need to find a way of getting the clipboard to notify listeners of updates Currently we kludge up whether the Paste action can be activated by simply turning it on when an editor user uses Cut or Copy in the same editor Edi tor elements cannot currently be cut paste across two running editors on the same machine e he menu item Print Specification freezes if not used for some time YAWL Editor v2 0 User Manual 64 Troubleshooting The YAWL Editor is not responding to my
19. to allow a workflow designer to more easily manage variations of the specifications they export e The palette bar can now be resized via a sliding bar mostly to allow a clear view into a deep icon tree However given a couple of Swing limitations the palette bar can no longer be detached from the base editor window e Via the plugin mechanism workflow designers can now specify extra attrib utes so called extended attributes to be stored on variables and decomposi tions which will be exported into the engine specification and used as required for their own custom services e Small change to the pause mechanism used at editor startup to make better usage of system CPU e Fixed a bug where the path of plugin icons was absolute stopping plugin task icons from working on machines where the plugin path is different e Fixed a bug where the view menu would occasionally show the wrong icon for a net e Fixed a bug where the paste of a copied net element would result in the copy having the same engine ID as the original disrupting correct engine ex port validation behaviour e Fixed a bug where engine validation was failing claiming that max instances was smaller than min instance on multi instance tasks when max instances was set to infinity e Some refactoring around saving closing and exiting to ensure that whenever a user cancels their desire to save close or exit they are returned to the edi tor correctly e Fixed a bug
20. where predicates and flow priorities were occasionally being reset on tasks with XOR OR splits e he behaviour to iconify nets has been removed This is mostly due to occa sional odd behaviour witnessed with Swing that is outside the control of the programmer causing undue grief e Fixed a bug where multiple instance tasks were not being initialised properly and consequently causing a number of dialogs and behaviours around multi ple instance tasks to fail e Changed the ordering of menu items on the vertex popup menu so that the Cut action no longer appears at the top of the menu e Fixed a bug where cutting a task with attached flows containing predicates then undoing the cut would result in a previously correctly validating specifica tion to stop validating YAWL Editor v2 0 User Manual 3 e Enhanced the editor so that it shows a broken icon if the icon specified cannot be found useful for transferring specs between machines with different icon sets plugged in e The editor is now closer to but not perfectly rebuilding the state of the net frames on a load as per how the workflow designer left the state on a save Fixed a bug where the editor was reacting poorly to an exception being thrown in an engine client side API call when attempting to connect to a non existent engine Launching the YAWL Editor Download the latest version from the YAWL SourceForge website http sourceforge net projects yawl Double cl
21. OUCC SCC CH ON NEN 7 Biel diio T 8 SIUS MAUI mI RETE 8 4 7 cT 8 Specification Problem Table ierit errante codon nens c y Res iaaa 8 Background task progress bar eese eene eene nnne nnn nnn nnns nnns 8 Menus NE W e om 8 DDOCIICA OL gaye E E E E E E E E A E E E UE EU 8 NO Tea E E wevestadenesnaauiustaucesediiecmes 9 EOI ae E wos ete dene oe E E 9 Bee MS E E E E TEE I T E EN ATT 9 TOONS M Y 9 ds pm 9 mime 9 Creating Your First Specification seeeeeesssessssssesseeeeee nennen nennen nnne nnn nnn 10 eM T 10 iif aeS t 10 eise Your First SOCCIIC ANON ETT 10 ATOMIC ASS aa a E E E nats 11 TaS De oO RTT Em 13 Creating Splits and JOINS cccccccceecceccseeeeeeceeeeeeeeeeeseeeeeeeeeeseeeeeesseaeeeeeseaeeeessaeeeessaeeees 13 COMPOSE TA E eaen E EE E iater issu sites eee Enea EM e 15 Multiple Atomic ASKS sisssscosbuniviauitizvinbuneserpeUen irn iU r E AEA a Ep UTER UPS 16 YAWL Editor v2 0 User Manual Ii Multiple Composite TasKS cece tossrececesectuzdnsdannsaceaeteatoauvttestulieuhedsdedenboseebienceduneinedswesd
22. Purchase Order step 2 Specify System Behaviour when Offering a Work Item The offer process involves choossing a number of users that should be informed of the existance of the work item one of whom should eventually do this work As you have asked that the system automatically do this you must now specify how the system should automatically qo about offering the work item Begin byspecifying a set of users to distribute offers of work to Users Task Input Parameters Contains Fredo Corleone fc Courier Admin Officer Tom Hagen th Supply Officer Connie Corleone Rizzi CCT Don Vito Corleone dwe Jack Woltz jw Sal Tessio st Kay Adams ka Virgil The Turk Sollozzo vs Captain McCluskey cmc Don Carmine Cuneo dcc Carlo Rizzi cr Sonny Corleone sc Supply Admin Officer Finance Officer Courier Order Fulfilffment Manager PO Manager Client Liaison Senior Finance Officer Account Manager Fig 47 Step 2 of the resource management wizard Step 3 In Step 3 shown in Fig 48 we can filter the set of participants that have been de termined in Step 2 Filtering can be done over capabilities and over organizational data which consists of organizational groups and positions Moreover from this dia log it is possible to e allow the work items of the selected task to be offered to participants who have done work items of a familiar task e do not allow the work items of the selected task to be off
23. a code selected from a reposi tory of available codelets In this case task variables of type Input Only will be used to pass values from net variables to the Java code and Output Only variables will be used to pass values from the Java code back to the net variables YAWL Editor v2 0 User Manual 53 Manual task Resource Management Once a connection with the Resource Service has been established any non composite task can be set as manual in a number of steps by right clicking on it and selecting Manage Resourcing for Manual Task This will launch the resource man ager wizard Fig 46 shows the dialog window for Step 1 of the wizard B Manage Resourcing Wizard for Atomic Task Approve Purchase Order Step 1 Choose Behaviour At Interaction Points There are three key decision points to managing the resourcing of work items spawned from a task At each of these interaction points you may choose to have the system automatically decide on resourcing or alternately allow a user to manually make this decision Each interaction point is briefly described below s Offer The point at which it is decided that a number of users coufd undertake the work item Allocation The point at which one of the users offered the work item is nominated to dothat work item s Start The point at which the user allocated a work item has begun working on it Offering a work item for this task to a number of users is to be done by 2 User System
24. assage net variable state across possible several net variables into a value that can be passed to a single selected task vari able Output parameters use an XQuery to massage task variable state across possible several task variables into a value that can be passed to a single selected net vari able YAWL Editor v2 0 User Manual 37 For example if a task is called Place an Order then an Input Parameter could be the name of the person placing the order whereas the Output Parameter could be the corresponding identification number of that person To add an Input Parameter y 1 Select the task that will require the parameter using the Enter Marquee Es Selection Mode button from the Palette Bar We will be setting up Input Parameters for the variables that we created in the Adding Updating Task Variables section previously Go to the Attend University Net and select the Enroll task 2 Right click on the task and choose Update Parameters An Update i Parameters dialog box will appear Errore L origine riferimento non stata trovata Update the Parameters for the Enroll task Update Parameters for Atomic Task Enroll Input Parameters Task Variable Net Variables Task Variables Mame Tye Usage Mame Tye Usage SUbJectCode string Local SUbjJecttCode string Input amp utput E StudentNumber Output Parameters StudentNumber string Input amp Output Met variable
25. ast racking Data Definition coicssidsssieserinconsnspneinsnsinsaumensiachslacndiusutesamelmuanuiasnueintons 42 Endo CaN e ERN o EE UT 43 ROPING CONS eos maios es eEclapte tap E MUN IUNII Ma AURI iq MM MnU E cM 45 Connecting to the YAWL Engine cccccccsseececeeeeeeeeeseeeeeeeseeeeeeseeeeeeesseeeeeeseaaeeeesaaaeeess 45 Connecting to the Resource Service eesssssssssesssssessee enne enne nnns 46 Connecting a Decomposition to a registered YAWL Service eseeessssss 46 Validating Exporting and Importing assssssususenkedvasedwwiu o astu kat du uec drd ieu aU kd v wu iR Vw Elk ow cu 48 DS CHG ALI ag zia cl E CR TT 50 AOC ATIE Cee eue entm ee eM OM quM MUI EM SMEs M eee eS 51 Manual task Resource Management ccccceeecceececeeeeeseeeeseeeeseeesseeeeseuseseuseseueeeseeessaeeens 53 s 53 p 54 wilom m 54 sio 55 O age ist ses desde T 56 Huremr J4 e m 57 Activation on enablement acacia sscnasesncbieninetgsncansacuncidunatawtievseecbeeeshsetateaduaoeeatocensbaxeleweeiesaeeie 57 Ac vaton ORE SUA ING escrase EEO E EEEE 58 EOY VAO e E E EE a E E E 58 EX CMOS GF Oe oean an E ETT 59 Hlustraive EXaMDlOS eneee OO T TR 61
26. ated LS Set Timeout Detail for Atomic Task Order Timeout Task is required to timeout Timeout dynamically via net variable C3 at the time of 12 05 2008 03 24 44 amp after a duration of P3D ote SS SS SS Timer begins upon work item enablement C upon work item starting Done Cancel Fig 51 The timeout dialog for an atomic task Activation on enablement e n case of a manual task as soon as the task is enabled the timer begins and It remains live so long as the timeout does not expire During this time frame the task will follow the normal resource assignment policy In other words it will be offered and can be allocated and started Once the timeout expires the work item will complete no matter what the current status is offered allocated started The possible danger of this behaviour is that a work item might be timed out while being edited by a user e n case of automated task the timeout works as a delay i e the automatic execution of the work item associated to an automated task is delayed by the value of the timeout Once the timeout expires the task is executed and then completed YAWL Editor v2 0 User Manual 58 Activation on starting e n case of a manual task the timeout only starts once the task has started Therefore the task will be first offered then allocated and once it is started the timeout starts Again the timeout may expire while the task is being edited by a
27. e and im port a YAWL Engine XML file into the editor for further alteration respectively Net Maintenance BE Your workflow diagrams are captured within Nets of which a specification could con tain many You can use these buttons to create a new Net or remove existing Nets within your specification Edit Options ejem This group of buttons provides the standard Undo and Redo options as well as the option to delete the currently selected objects Alignment Options T s e Rie i These buttons can be used to assist with the alignment of objects within your specifi cation when multiple objects have been selected Object Sizes EXE To increase the size of an object within your specification select the object s and then use these buttons Cancellation Sets These buttons allow you to include in and or exclude elements from the cancellation set of a task Zoom Options BRR These buttons allow you to apply zoom functionality to the currently selected net In order the buttons allow you to reset the zoom to the actual size to zoom the entire net out to zoom the entire net in and to zoom into the currently selected net ele ments YAWL Editor v2 0 User Manual 6 Palette Bar The Palette Bar contains seven selector buttons that assist with creation selection and positioning of objects within your specification This menu can be repositioned by dragging the left hand anchor bar The Palette bar is also accessible by
28. e and choose its S type as string Set the Usage to Local Fig 26 B Update Met Variable StudentNumber Extended Attributes Name StudentNumber Type usage loca v Initial Value Done Cancel Fig 26 The Net Variable Student Nmber 4 The Net Variables should now appear in the Update variables of Net Attend University dialog box Fig 27 Net Decomposition Variables Sub jJectlode string Local studenthunber Fig 27 Updated Attend University Net Variables Task Decomposition By choosing the Select Task Decomposition option when you right click on a task you have the ability to identify which decomposition this task represents Like nets tasks have decompositions where you can specify variables and a label to associate with the task or net Unlike nets which cannot share net decompositions YAWL Editor v2 0 User Manual 34 there is a 1 N relationship between task decompositions scoped to the entire specifi cation and their tasks scoped to nets Besides variables and a label task decompositions also allow the workflow designer to identify which web service the decomposition should invoke in a running workflow engine When two tasks share the same decomposition we are saying that the same activity is required in two different places in the workflow You can use the drop down list to select the task decomposition of a task or alter nately you can press the Create butto
29. e task If the Multiple Instance Variable needs manipulation overall before the unique values are split out of it use the Accessor Query to do so On the completion of an instance the Instance Query can be used to transform the XML document returned to a form suitable for the Aggregate query to finally generate an overall result The overall result will be assigned to the Result Net Variable on completion of the multiple instance task See Fig 53 for an example of this screen being filled out with valid XQuery expres sions Fast Tracking Data Definition Workflow designers have an option to directly transfer data from the net to a task s variable and then back again This can be done by right clicking on an atomic task that currently does not have a decomposition and selecting Decompose to Direct Data Transfer Ihe dialog in Fig 37 will pop up YAWL Editor v2 0 User Manual 43 Atomic Task Select a number of net variables to be used as input to this task Do the same for output The selected net variables will have type compatible task variables of the same name created for them and mappings that will enact a direct data copy between the newly created task variables and the specified selected net variables Decomposition name Get Priority Code far User Net Variables for Input Het Variables for Output Mame Type Mame Type UserName a3tring UserName string J AvailableCredit AvailahleCredit E Pr
30. e user commits to using those details for any further editor engine interactions YAWL Editor v2 0 User Manual 46 Connecting to the Resource Service In order to use the organizational model the connection between the editor and the Resource Service needs to be established To set the Resource Service connection details Click on the Tools menu and choose the Set Resource Service Connection item From the resulting dialog Fig 40 accept the default values or enter the following engine details e YAWL Engine URI e Administrator s User Name e Administrator s Password Specify Resourcing Service Resourcing Service URI lhttp localhost 080resourceServiceg ateway User Name ladmin Password eese Test Connection Successfully connected to a running resourcing service with the above detail Done Cancel Fig 40 Specifying the Resource Service connection The Resource Engine value is set by default to a locally installed Resource Service http localhost 8080 resourceService gateway The User Name and Passwords are set to the default administrator user name admin pass word YAWLY Connecting a Decomposition to a registered YAWL Service You can use task decompositions within your workflow to make a connection to cus tom YAWL services that have been registered with a running engine For example a decomposition may be set up to place an order with an external com pany Upon execution of any task using
31. ed as shown in Fig 44 LF Set Label i Cut Copy Delete View Cancellation Set Task Timeout Detail Select Task Decomposition EH Task Decomposition Detail Update Parameters H Automated Task P Fig 44 The specification of an automated task Data manipulation can be achieved by using the task s variables and the task s Input and Output Parameters Input Parameters are used to copy the content of a net vari able onto a task variable As Output Parameters it is possible to copy either from a task variable or from an XQuery expression onto a net variable Fig 45 shows an ex ample of copying from expression where the literal true Is copied onto the net vari able PO timedout YAWL Editor v2 0 User Manual 52 Update Met Parameter PO timedout Li from expression add XQuery of element s content rom element of task variable a uery of entire eleme ME l nt of task variabl S add XQ f entire el nt XQuery PO timedout Crue LE REBAR EARS ES AAAS AREER ERE HAS t REAR ARERR RR RR BIRTH BR RI AAR ARES RR PERDRE RT REESE lt PO_timedout gt populates the net variable PO_timedout r Fig 45 An output parameter set to copy from expression for an automated task Currently an automated task behaves like a tau task and supports the definition of task variables of type Input amp Output only In future it is planned to extend the auto mated task to allow the execution of predefined Jav
32. el Smarter Gained a a El Fig 18 Changing the Size of Multiple Objects Note also that whenever you have selected a number of net elements pressing one of the arrow keys will move the selected elements in the direction of the arrow key and pressing the CTRL key plus the A key will select all elements in the net with input focus Changing Font Size You can change the size of the font used to label tasks and conditions 1 Change the font size by clicking on the View Menu and choosing the Label Font Size option Change the font size to 18 Changing Task Icons You can change the icon that renders for atomic tasks 1 Select any single atomic task in your workflow The palette will expand to include a task icon tree depicted in Fig 15 where you can an icon from the tree to the task You are free to assign any icon Icons have no runtime effect on the engine and are provided simply to make speci fications more easily understood by people observing the specification in the editor Using Custom Icons Workflow designers can plug in and use their own icons for specification design Icons must be of the PNG file format and be a maximum of 24x24 pixels to render properly within editor task boundaries When the editor starts it checks the installation folder for a plugin directory Currently it looks in the directory editor installation path YAWL EditorPlugins Task Icons for user defined icons and adds them into t
33. en this release and the previous Version 1 5 of the YAWL Editor Upgraded the editor to use version 2 0 of the engine This includes a complete renaming of the source package hierarchy and breaks save file compatibility with previous versions of the editor Also included in the move to the 2 0 engine is a powerful replacement of the resource perspective The previous YAWL environment supported 9 of the 43 identified resource patterns This release supports 38 patterns We have no plans to support the remaining five patterns at this time Automated task added It is now possible to differentiate between manual task a task assigned to some human resource for its execution and an auto mated task a task which is meant to be executed by the system Currently the automated task only supports the execution of XQuery expressions In fu ture we plan to extend this task to allow the execution of predefined Java codelets Added a timeout feature for atomic single instance tasks The timeout can be activated on task s enablement or on task s starting and can be given a value in terms of absolute date or duration The timeout works as a delay for an automated task and forces the work item s completion for a manual task YAWL Editor v2 0 User Manual 2 e Changed the specification version number to be a decimal number instead of a free form string This includes the export dialog now supplying the specifica tion version as a convenience
34. ents that choose not to go to University Finally select your Get A Job task and decorate it with an Xor Join Then set the orientation of the join to the western edge of this task 3 Split and Join decorators allow you to connect several Flow Relations from and to your task respectively Create a flow relation from Begin My Career to Do Private Study then create another flow relation from Do Private Study to Get A Job as per Fig 8 4 Dont forget to check the validity of your specification YAWL Editor v2 0 User Manual 14 Hint If you are having troubles with positioning your tasks the alignment tools are a big help When Begin My Career has been completed a choice must be made on which of the two tasks Go To University or Do Private Study will be followed XOR Split Get a Job will become available after the completion of the task selected at the point of the XOR split I TO Begin My a Get A Job Career Career Started Do Private Study Fig 8 XOR Split and Join Composite Tasks Composite tasks are place holders for other YAWL Nets That is you can create another workflow in a separate Net which is represented by the composite task in other nets To create a Composite Task Click on the Composite Task button Gl in the Palette Bar or right click in the whitespace of the Net and choose Composite Task We are going to replace our existin
35. enu Enter your XML Schema Data Type Definition into the dialog box See Fig 22 Update Data Type Definitions lt x schena xmlns xs http www uw3 org z 01l xXMLSchema lt xsicomplexType name Geek x531 Sequence gt lt xs element name Mame type xs string gt lt xgielement names Salary type x3s double gt lt xS Sequence gt z xs complexType zxs complexType name Book xs semquence minOccurs 1 max ccurs 1 amp xs ielement name title types xs3s strinq lt xs element name author type xs strinq z X83 8eguence iz xst complexType lt xsicomplexType name BookList esi sequence min ccurzs z l maxlccurssz 5 lt xs element name book type Book c xB8 semiences iz xastcomplexType zx xs schema 8 i LIEBE EERE SSE SEEGER EEE EEE IMT TERE EE EEG EEE EGE GEE EGET EET ET ETE AEE TEETER EERE EEE EEE EEE EEE REET t NN T Fig 22 Adding the Geek complex data type If the definition text is green your new data type is now available for de fining Net or Task variables in your specification If the text is red there is something wrong with your data type definition and the data type will not be available YAWL Editor v2 0 User Manual 31 When the text is red the split pane will reveal a table listing parse errors that were collected when determining the validity of the text supplied An example of this is shown in Fig 23
36. ered to participants who have done work items of another task YAWL Editor v2 0 User Manual 55 Manage Resourcing Wizard for Atomic Task Approve Purchase Order Step 3 Specify Distribution Set Filter s Filters Tick those filters to be run over the specified participant set Set parameter values for the selected filter as appropriate Filter Parameter Value Filter by Capability OrgGroup Orders lv Filter by Organisational Data Position Runtime Constraints Retain user from a familiar task Modify Purchase Order 2768 Y Purchase Order 2768 DA DIENEN ed T C p 7 r 4f jurchase Order 104 _ Do not allow users who ve done workitems of the following previous task to also do this task Fig 48 Step 3 of the resource management wizard Step 4 In Step 4 shown in Fig 49 we can select the allocation mechanism that determines at run time who among the distribution set will actually be allocated the work items The available mechanisms are Round Robin by time by frequency Random Choice and Shortest Queue Manage Resourcing Wizard for Atomic Task Approve Purchase Order step 4 Specify System Behaviour when Allocating a Work Item The allocation process involves choossing a single user from those offered a work item to actually undertake that work As you have asked that the system automatically do this you must now select the mechanism for doing so Choose from one of the mechanisms
37. es supported by contemporary workflow management systems While not a commercial language itself it encompasses these languages and in addition has a formal semantics Such an approach is in contrast with e g WfMC s XPDL which takes commonalities between various languages as a starting point and does not have formal semantics Its design hopefully allows YAWL to be used for the pur poses of the study of expressiveness and interoperability issues Obtaining the Latest Version of YAWL As new versions of the YAWL Engine are released to the public they will be avail able for download from the YAWL Project website http sourceforge net projects yawl From here it is also possible to access the source code of the engine for de velopment purposes The YAWL Foundation For more information and progress on the YAWL project visit the YAWL Foundation Homepage http yawlfoundation org The YAWL Foundation is a non profit organi sation that acts as custodian of all IP related to YAWL and its support environment The YAWL Architecture The interactions among the components of the YAWL Engine are depicted in Fig 1 YAWL Editor v2 0 User Manual 1 Web Server Apache Tomcat POX over HTTP POX over HTTP lt XML lt lt Browser Mary cee YAWL Editor http localhost 8080 resourceService Fig 1 The YAWL Components Getting Started What s New Following is a list of new features and bug fixes introduced betwe
38. g 3 Flugin Use the palette toolbar to edit the selected net Fig 15 Making the Study Privately task an atomic composite YAWL Editor v2 0 User Manual 23 Changing the Starting Net At any stage you can change the starting Net of the specification To change the starting Net 1 Select Net from the Menu 2 Choose Set Starting Net Fig 16 3 From the Choose Starting Net window click on the drop down list and select a new starting Net 4 Click Done Choose Starting Net Execution of the workflow starts in net My Career v Fig 16 Changing the Starting Net Note that the starting net has an input condition symbol gt in its title frame and its minimised icon All sub nets have a composite task symbol LI in their title frames and minimised icons YAWL Editor v2 0 User Manual 24 Changing the Appearance of Your Specification Improving the Look of Flow Relations You can control and improve the look of the Flow Relations by adding in knees Select the Enter Marquee Selection Mode button from the Palette Bar Go to the Study Privately Net Right click on the position in the Flow Relation where you want to add a knee signified by a small square in the Flow Relation A popup menu will appear allowing you to add and remove knees as well as change the line style of the flow Create a knee somewhere on the Flow Relation going from Knowledge Gained Condition
39. g Go to University Atomic Task with a composite task so choose the Enter Marquee Selection Mode reed button on the Palette Bar click on the Go to University Atomic Task and press the Delete key on the keyboard We will add in the new composite task next Place your Composite Task in your Net Reconnect the Flow Relations from Begin My Career to the new Com posite Task and from new Composite Task to Get a Job Create a new Net by clicking on the Create a new Net button Bl on the Menu Toolbar or click on Net in the Menu and choose Create Net YAWL Editor v2 0 User Manual 15 Choose a name for this Net by clicking on the Net Menu and choosing Update Net Detail We are going to call this new Net Attend University Return to your original Net and right click on your Composite Task and choose Unfold to net You will then be given a drop down list with all the Nets available choose the Net this task is to represent and then click Done Choose Attend University You can now fill out the detail of your new Attend University Net Create the following Atomic Tasks in order and then link them with Flow Relations and don t forget to check for validity Enrol Do Subjects e Pass All Subjects e Get Degree The resulting nets are shown in Fig 9 Begin My Get A Job Career Career started Do Private study Enroll Do Subjects Pass All Get Degree Subiects F
40. he plugin branch of the task icon tree widget of the editor s palette Sub directories are supported and will form new YAWL Editor v2 0 User Manual 27 sub trees of the same name when the plugin sub tree is being created If an icon cannot be found that was previously used for a specification a special broken icon will render in its place as depicted in Fig 19 Fig 19 A task specifying an icon that the editor cannot locate YAWL Editor v2 0 User Manual 28 Advanced Specification Features Cancellation Sets Cancellation Sets allow you to nominate any number of tasks conditions or implicit conditions which exist on flow relations between tasks but are not drawn for cancel lation upon the execution of a specified task That is once a specified task is exe cuted in the workflow all state within that task s cancellation set is removed To create a Cancellation Set 1 First select the task that will initiate the Cancellation Set using the En ter Marquee Selection Mode button lt 4 from the Palette Bar 2 Right click on the task then choose View Cancellation Set The task will be coloured grey to indicate that this task is the cancella ble task Go to the My Career Net We are going to make the Attend Univer We sity task a cancellable task to demonstrate in the workflow that if a person executes this task then they don t have time to perform the Study Privately task therefore it should
41. hnedes 19 OPC ONS ARENREETINEDREKu 20 CHANGING the Starung Net sssssencscsetubk paie quas tkbbb AAE 23 Changing the Appearance of Your Spe cifiCatiOn cccccccecceceeeeeeeeeeeeeeeseeeeeeeseeeeeeeseaeeeeeeas 24 Improving the Look of Flow Relations sese 24 zelljgek8le em T ON 25 Changing Font SiZC cc eccccccseeccceceeeeeeceaeeeeeeeeeeeeeeseeeeceesseaeeesseeeeeeessaeeeeeseeeeeeessageeeessaeeees 26 ENING T ISR eoa UE 26 WISIN CIS CO MN IC ONS RR uu 26 Advanced Speciicauon F edlilleS i ccactsicseeccuiseanseaedanteiactenichaeastbetidenpaivendesnietadcedadsateciouseandies 28 AICS IIT Reit NRI o OT sone eraceas 28 Data Type DEINIUONS EET 30 Net Decomposition Detail Net Variables ccccccccecccceeeeeseeeeeseeeesseeesseaeeesseeeeesaaees 32 TasK DecombpoSILIOFL essc nxaxo2adi uaa Gd orba coda uda cutn npe nca n Mo bao Ru col c n a 33 Task Decomposition Detail Task Variables ccccceccccsseeeeseeeeeeeeeesaeesesseeeeesaaeeesaaes 34 Ji Yefo gre rz Wb ANIA M To p WAS RO E T 34 Ta ul CEN TN u Rm 36 A brief introduction to XQuery ccccccccesssecececceeeseceeeeeeseeeeeeeeseeeeeeeeessaeaeeeeessaeaeeeeesseaneses 40 m0 Me i T Y 40 Multiple Instance QUGNES as edbduuea toxin er eee eee ee ene eee ee a ee eee 41 F
42. ick on the YAWL Editor2 0 jar file to start the application and away you go YAWL Editor v2 0 User Manual 4 The YAWL Editor Workspace The first time you start the YAWL Editor you will be presented with a blank canvas with the instructions in the Status Bar asking you to open or create specification to begin Before you create your first specification let us take a brief tour of the Editor s work space and the elements within The workspace is shown in Fig 2 YAWLEditor Specification Tools View Help t Tear away menu toolbar a The canvas _ Palette bar l i E Notes Problems Specafication problem panel status bar showing hints and messages Background task progress bar Fig 2 The YAWL Editor Workspace Menu Toolbar The Menu Toolbar contains six groups of buttons to assist you in maintaining your YAWL specification The menu can be repositioned by dragging the left hand anchor bar Specification Maintenance PAO This group of buttons provides you the standard options to create save open and close YAWL specification files Specification Verification Analysis Exporting amp Importing BASN These four buttons allow you to validate your specification again YAWL Engine work flow requirements analyse your specification for deadlocks and other issues export YAWL Editor v2 0 User Manual 5 your workflow diagram into an XML file for uploading to the YAWL Engin
43. ig 9 Attend University Composite Task and its matching Net YAWL Editor v2 0 User Manual 16 Multiple Atomic Tasks Multiple Atomic Tasks allow you to run multiple instances of a task concurrently To create a Multiple Atomic Task 1 Click on the Add Multiple Atomic Task button l in the Palette Bar or right click in the whitespace of the Net and choose Multiple Atomic Task Go back to the My Career Net We are going to replace our existing Do Private Study Atomic Task with a Multiple Atomic task so choose the Enter Marquee Selection Mode button on the Palette Bar click on the Do Private Study Atomic Task and press the Delete key on the keyboard We will add in the new Multiple Atomic task next Place your Multiple Atomic Task in your Net and set the name of this task by right clicking on the task and choosing Select Task Decompo sition Call this task the same name as before by selecting the Do Private Study decomposition from the drop down list Reconnect the Flow Relations from Begin My Career to Do Private study and from Do Private Study to Get A Job as per Fig 10 Attend University Begin My Get A Job Career Career I Started Do Private study Fig 10 Adding a Multiple Atomic Task You will now need to set the parameters of the Multiple Atomic Task Right click on the task and choose Set Instance Detail Ensure that you are viewing the Bounds tab of the dialog as
44. ile To Validate your specification 1 Click on Validate this Specification button E on the Menu Toolbar or click Specification on the Menu and choose Validate Specification 2 A table listing problems will appear with details of any inconsistencies that would stop the specification from running in the YAWL Engine in the specification prob lem panel Fig 41 Fig 42 shows an example invalid specification YAWLEditor C QUTData YAWLEditorAncillary screenshots 2 0 Fig38_ValidSpecification 2 0 Mi E3 Specification Net Edit Elements Tools View Help DERK wy p Ew c Task Icon No Icon o Manual o c Automated o Routing y Plugin No design time engine validation problems were found in this specification Notes Specification Validation Problems Use the palette toolbar to edit the selected net Fig 41 A valid specification YAWLEditor C QUTData YAWLE ditorAncillary screenshots 2 0 Fig39_InvalidSpecification 2 Mi E3 Specification Net Edit Elements Tools View Help S S wm e ES A DRIE ci Task Icon No Icon o o Manual Vo Automated o Routing broken test y Plugin sh P Specification Validation Problems Atomic Task broken test 4 The outgoing flow number must be gt 0 tomic Task broken test 4 is not on a back
45. int if it is valid to draw a flow connection using the current ob ject Begin My Career Fig 5 An established flow relation That s it Your Atomic Task is set 9 Repeat the process for the following Atomic Tasks in order Go to Uni iia versity Get A Job Begin My Career g 10 Link the Begin My Career task to the Output Condition the symbol as per Fig 6 11 Finally check the validity of specification by clicking on the Validate this opecification button 1 in the Menu Toolbar or click on Specification in the Menu and choose Validate Specification If all things are going YAWL Editor v2 0 User Manual 12 to plan then you should receive a confirmation saying that there were no errors detected Begin My Go to Get A Job Career Career University Started Fig 6 The My Career Net Task Decoration Decorating a task is the process of adding splits or join conditions on task By putting a split on a task you are telling the task that when it has been completed its succeeding task could be one or more tasks Here are the possible splits for a task e No split no split on task e AND split e OR split e XOR split By putting a join on a task you are telling the task that it could become available through the completion of one or more preceding tasks Below are some possible joins for a task e No join no join on task e AND join e OR join e XOR join For more information on join and split ty
46. iorityCode jv PrierityCoae Fig 37 An example of the direct data tranfer dialog This dialog will automatically create a task decomposition and matching XQueries to directly transfer data from a selected net variable to a task and back again End of Scenario This is where our scenario ends The My Career Scenario was designed to explain all the functions of the YAWL Editor and to provide you with a rudimentary under standing of designing a YAWL workflow specification But the complexity of the YAWL Editor does not stop with the current scenario If you are after something more challenging try adjusting your version of the scenario to expand into more sub Nets and more complex situations The completed example described in this scenario is supplied with the editor source distribution Fig 38 YAWL Editor v2 0 User Manual 44 Q YAWLEditor COUT Data yAWLE ditorAncillary screenshots 2 0 Fig35_UserManualExample 2 0 yel Oy x Specification Met Edit Elements Tools View Help Attend m CI Task Icon University vis Ma Icon Begin My Get A Job Career o Manual LUE Started e c Automated study e B Routing jq Privately 2 Plugin Look for an Easier Book Read A Book Knowledge Feel Smarter Gained Enroll Do Subjects Pass All Get Degree Subjects e ettet RAE RES R ERR tmt tst ttt ttt tht smit itt t tht SSmi tSt Use the palette toolbar to edit the selected net Fig 38 The complete
47. item under the Specification menu allows workflow designers to analyse their specifica tions A number of potential problems with the workflow can be automatically spotted with analysis Examples include spotting potential deadlock situations unnecessary cancellations set members and unnecessary or join decorators at run time or joins require significant processing effort and should be removed if they are not actually needed A configuration dialog for the specification analysis is available under the Tools menu by the name of Configure Analysis Tool see Fig 43 Configure Specification Analysis l Reset Net Analysis l WofYAWL Analysis Use the reset net analysis algorithm Use YAWL reduction rules before analysis for optimisation Use Reset reduction rules before analysis for optimisation Check for weak soundness property using coverability Check for unnecessary cancellation regians Check for unnecessary or joins Check for soundness property using reachability results from bounded nets Show observations in analysis results These tests may overlap in identifying unreachable tasks in the specification potential deadlocks and possible unfinished work in completed workflow cases Fig 43 Specification analysis configuration If the optional YAWL specification analysis utility wofyawl exe written by Eric Ver beek is supplied in the same directory as the editor an extra tab entitled WofYAWL Analysis will be e
48. l edgements for all the dedicated YAWL contributors Included is an About the Editor dialog describing components used in the editors construction compatibility issues and a list of source code contributors YAWL Editor v2 0 User Manual 9 Creating Your First Specification Overview This next chapter will lead you through the process of creating a YAWL specification from beginning to end through a series of brief lessons following a scenario You can either follow all the instructions including the scenario provided from begin ning to end or skip straight to the section that you are interested in and follow the in structions Look for the student icon next to the instructions for specific details of the sce A nario The Scenario P The scenario that we will be following throughout this manual is the workflow 3 of a student who has just completed their secondary study and is now looking to start their career This scenario will follow the path of a student who either enrols in a University to complete their tertiary education or undertakes private study which will eventually lead them to getting a job and starting their new career Creating Your First Specification 1 Click on the Create a New Specification button l at the top left of the Menu Toolbar or click on Specification in the Menu and choose Cre ate Specification This will bring up a blank Net called New Net 1 which will be by de fault
49. l Get Degree Subjects Read A Book Feel Smarter Fig 12 Study Privately Multiple Composite Task and its Net Select the Enter Marquee Selection Mode button from the Palette Bar and click on the Flow Relation going from the Read a Book Atomic Task to the Feel Smarter Atomic Task and press the Delete button on the keyboard Create a Flow Relation from Read A Book to Knowledge Gained Create a Flow Relation from your Condition to a task Set the Flow Relation from Knowledge Gained Condition to Feel smarter Atomic Task Create another Flow Relation from your Condition to another task to signify the two possible flows from the Condition YAWL Editor v2 0 User Manual 21 Before we create our second flow relation from our Condition create g another Atomic Task and call it Look for Another Book Change the Join Decoration for Atomic Task Read a Book to an OR Join with the orientation being West by right clicking on Read a Book and choosing Decorate Click Done Finally create the Flow Relation from the Knowledge Gained Condi tion back to the OR Join of the Read A Book Atomic Task as per Fig 13 O Study Privatehy ook for an Easier Book Oe Read A Book Knowledge Feel Smarter Gained Fig 13 Condition Loop for Study Privately Net 6 Validate your specification Validation should fail and report errors as per Fig 14 The problem here is that the Study Priva
50. l now need to set the parameters of the Multiple Composite Task Right click on the task and choose Set Instance Detail 4 Set the Minimum Instances value This is the minimum number of in stances of this task that will be started when the task needs processing Set the Minimum Instances to 5 5 Set the Maximum Instances value This is the maximum number of in stances of this task that can be created Set the Maximum Instances to 100 6 Set the Continuation Threshold value The moment all instances cre ated have completed or as many instances as the Continuation Threshold specified have completed the multiple instance task itself is considered completed which triggers relevant outgoing flow relations from this task Set the Continuation Threshold to 50 7 Choose the Instance Creation If a multi instance task has static crea tion mode when the task is started the number of instances created is YAWL Editor v2 0 User Manual 19 decided then and cannot be altered during the execution of the task Conversely if a task has dynamic creation mode then new instances of the task can start once the initial minimum instance number of tasks has started but before the maximum number has been received set the Instance Creation type to Static 8 Click Done 9 Create a new Net by clicking on the Create a new Net button B on the Menu Toolbar or click on Net in the Menu and choose Create Net 10 Give the new Net a
51. ll have on runtime YAWL engine state From the list of task variables select the SubjectCode task variable and click add XQuery of element s content only From the list of net variables select the SubjectCode variable Click Done YAWL Editor v2 0 User Manual 40 Create another Task Parameter and map the task StudentNumber to the net variable of the same name using this technique Click Done and Done again These Output Parameters were set up to demonstrate a simple transfer of state from a net to a task and back to the net Perhaps the task would allow a user to change the values of one of the variables which would eventuate in the net s values changing The Update Parameters dialog box should appear as in Fig 34 A brief introduction to XQuery XQuery is a separate language that describes how to manipulate a given XML document to extract data from it For example the XQuery data myTaskVariable number 5 is saying that there is some XML Schema element in an engine XML document with an element called myTaskVari able whose content is a number and that the resultant XQuery expression is that element s value with 5 added to it Update Parameters for Atomic Task Enroll 7 x Input Parameters x ue Task variable Attend Universitwv sSubjecttode texti k SubjectCode i Attend Uniwersitw s5ubhjectitade texti t studenthumber Met Variables Task Variables Mame Tye Usage Mame Tye Usage SUbJeCtLode string L
52. mouse clicks and it is beeping every time I click the mouse Check to see if you have any YAWL Editor dialog windows open These windows don t appear in the Windows Taskbar To check if you have any open dialog win dows hold down the ALT key and press the TAB key With the ALT key held down press TAB until you reach the dialog window and let go of the ALT key Close the dialog window and you should be able use the YAWL Editor again Dialog windows appear as the Java icon blue coffee cup can t connect two elements with a flow Why If the editor does not allow you to connect one element to another it is steering you away from building an invalid net Typical examples include Trying to connect a second flow to an undecorated task Trying to point an incoming flow to a split decorator or an outgoing flow from a join decorator Se the troubleshooting entry How do find out more about elements and princi ples for more detail When validate my Net I get the following validation message The net may complete without any generated work Should all atomic tasks in the net be unlabelled This message appears if you have not labelled any of your tasks To label a task and thus ensure that the engine will get a user to handle the task at this point in the workflow right click on the task and choose Select Task Decomposition Choose Create and in the following window Update Task Decomposition and en
53. n and generate a new one that will automati cally become the task s decomposition Fig 28 My Career LI cai XL E M pee IND Begin My MI Get A Job i Career Atomic Task Get A Job X Set decomposition to Get A Job E lait Create Get A Job Career Started Do Subjects Pass All Subjects Feel Smarter Begin My Career Fig 28 Select Task Decomposition Task Decomposition Detail Task Variables You can add variables to a task to store specific information relating to that task Task variables have several uses One use is to transferring information between workflow users and the workflow engine A second use is for passing data between web services that the running workflow engine invokes and the Net the task resides In For example if your task is called Place an Order you may want to store the name or identification number of the person placing the order or maybe store the items be ing ordered Adding a Variable to a Task 1 First select the task that will require the variable using the Enter Mar quee Selection Mode button from the Palette Bar YAWL Editor v2 0 User Manual 35 We will be setting up variables for the Enroll task Go to the Attend University Net and select the Enroll task Right click on the task and choose Task Decomposition Detail An Update Task Decomposition dialog box will appear Fig 29 Retrieve the decomposition detail for the
54. n going from the Knowledge Gained con dition to the Look for an Easier Book atomic task Drag the labels about to a desired position much like what has been done in Fig 17 Note that Fig 17 shows flows using two different line styles The flow running from Look for an Easier Book has been given the spline line style in this figure while the remaining flows are all orthogonal result ing in sharp edged knees on flows such as the one running from the Knowledge Gained condition to the Look for an Easier Book task Editing Objects You can edit more than one object at a time by using the Enter Marquee Selection Mode tool See Fig 18 1 Select the Enter Marquee Selection Mode button from the Palette Bar Click on the first object that you want to edit Hold down the shift key and then click on the other objects that you want to edit Now choose the Edit option from the Menu or continue holding down the shift key and right click on the mouse button Below are the edit op tions e Cut Copy Delete e Align e Size Increase Decrease to change the appearance of the ob jects This can also be done using the CTRL key plus Up or Down arrow on your keyboard YAWL Editor v2 0 User Manual 26 O Study Privatety He at eT i fos Look for an no i Read A Book Knowledge g o gt D yes gt Ee IM i i EXE GENS ra EE t zi Fe
55. nabled in this dialog allowing more analysis options than those supplied by default The utility must be compiled for specific architectures and its data format has changed over time This version of the editor needs version 0 4 of the utility and expects it to be called wofyawl0 4 exe regardless of the platform on which it runs Choose the wofyawl implementation right for your environment from sourceforge and then rename as above it to get analysis working YAWL Editor v2 0 User Manual 51 Automated task Any non composite task in YAWL can be defined as manual or automated A manual task is a task which is intended to be executed by a human resource e g a partici pant in the organizational model An automated task is a task that is not offered to any resource as it is executed by the system This type of task can be used for rout ing purposes and or to manipulate the content of net variables from simple data as signments to complex reports generation An automated task is still handled by the resource Service as a manual task but it behaves as follows e on enablement it is automatically checked in thus having priority over manual tasks in a deferred choice and its input parameters are parsed e itis automatically checked out and its output parameters are parsed A task can be set as automated by right clicking on it and ticking the box for Auto mated Task This way the option Manage Resourcing for Manual Task will be dis abl
56. nn aC nt no nna CnC een ee otc een nn et en Cn ec ete ne nC ee Splitter Query for e in MasterList return zS mePersonz e texti SamePersanz ots ef htt hn SS htD Instance Query p rsson Aeri list s3amePersan text c SomePerson Mi DD SS E A A A T E DD ee att Aggregate Query for d in verify list return zPersanMame d text Hz PersonMame lis E SS SI SS ISTIS SITIS ISSN ISSN NSNSSSISSSSS S SNNT ISSN SISTI SISTSSSNSSNSSSSNSSSI Result Met Variable MasterList Cancel Order Timeout end Ordering Fig 55 Example of timeout on enablement for an automated task YAWL Editor v2 0 User Manual 63 Known Issues e Users cannot type double quote characters in XQuery and XPath expressions this is a deliberate restriction to stop oddities in engine export manifesting Workflow designers are to use single quote characters when manipulating String literals in XQuery XPath expressions e There are intermittent reports of editor save file corruption occurring with ver sions of the editor up to and including version 1 2 The 1 3 release of the edi tor fixes some bugs that could lead to save file corruption If you get version 1 3 or later editor save file corruption we d appreciate you supplying as much detail to us as possible on when where how it occurred to help us nail this problem once and for all Obviously working on backup copies of a work flow specification is suggested to avoid any wailing and gnashing of
57. ocal SUbJeCtLode string Input amp OUTPUT StudentNumber StudentNumber string Input amp utput Output Parameters x ue Met variable Enroll SubjectCode texte it Subjectlode Enroll Ssubjecttode text ty StudentNumber Fig 34 Established task parameters Flow Detail When dealing with tasks that have XOR and OR splits we need some way of telling a running engine which flows should be activated By updating the flow detail you can specify the default flow path and also establish predicates for each flow direction Flows whose predicates evaluate to true in a running engine will execute those flows YAWL Editor v2 0 User Manual 41 To update the flow detail of a task that has a split Right click on the task and choose Update Flow Detail The number of splits will be the number of Target Tasks The currently selected flow in the dialog will also be identified by being drawn green in the Net Fig 35 To choose the flow ordering select the Target Task that you want as the change the order of use the Up and Down arrows on the right to position the flow The bottom most flow will be used as the default if some flow needs to be followed but no predi cates evaluate to true To specify a predicate for a particular flow select the flow from the list and click on Predicate Enter a predicate as a boolean XQuery expression and choose Done F My Career C IN m Tc a Get A Job Career Started
58. ome other user No Yes Yes refine Can a user skip a work item of this task amp No Yes C Yes refine Can a user pile work items of this task No C Yes C Yes refine Fig 50 Step 5 of the resource management wizard The maximum number of steps in the wizard can be 12 if all the interaction strate gies are set to System and if all the privileges are given When workflow specifications are exported to the engine SQL queries that identify users or roles authorised for or to allocated tasks will be automatically generated from the editor and passed into the engine XML The engine can then use these que ries to shortlist and pick from valid candidates More details on engine run time user allocation and authorisation can be found in the YAWL Engine manual and in the Resource Perspective Requirement Analysis document More details on populating the organisational database of the engine can be found in the YAWL administration tool manual YAWL Editor v2 0 User Manual 57 Timeout Task Any atomic single instance task can be given a timeout behaviour by right clicking on it and selecting the Task Timeout Detail The dialog in Fig 51 will pop up From this dialog it is possible to set the activation type and the expiry value for the timeout The timeout can be activated i e it fired upon work item enablement or upon work item starting These have different meaning according to the type of task manual vs autom
59. pe to Static Click Done With the values set in the scenario the Do Private Study task is indicating that a maximum of 100 instances of this task can be executed before triggering the task s YAWL Editor v2 0 User Manual 18 outgoing flow A minimum of five instances will be created and once 50 instances have completed the outgoing flow relations to Get A Job will trigger The Queries tab of the Multiple Instance dialog will be explained later in the Setting Multiple Instance Queries section of this manual Multiple Composite Tasks Multiple Composite Tasks allow you to run multiple instances of the Net represented by a multiple composite task concurrently To create a Multiple Composite Task 1 Click on the Add Multiple Composite Task button in the Palette Bar or right click in the whitespace of the Net and choose Multiple Com posite Task g Go to the My Career Net We are going to replace our existing Do Private ee Study Multiple Instance Task with a Multiple Composite task so choose the Enter Marquee Selection Mode button on the Palette Bar click on the Do Private Study Task and press the Delete key on the keyboard We will add in the new Multiple Composite task next 2 Place your Multiple Composite Task in your Net s Reconnect the Flow Relations from Begin My Career to the new Multiple Composite Task and from the new Multiple Composite Task to Get a Job 3 You wil
60. per Fig 11 set the Minimum Instances value This is the minimum number of in stances of this task that will be started when the task needs processing Set the Minimum Instances to 5 YAWL Editor v2 0 User Manual 17 2 Set the Maximum Instances value This is the maximum number of in stances of this task that can be created Set the Maximum Instances to 100 set the Continuation Threshold value The moment all instances cre ated have completed or as many instances as the Continuation Threshold specified have completed the multiple instance task itself is considered completed which triggers relevant outgoing flow relations from this task Set the Continuation Threshold to 50 i Multiple Atomic Task Instance Detail Bounds Minimum Instances 1 Maximum Instances 2 is infinite is equal to 1 Continuation Threshold is infinite is equal to p Instance Creation amp Static 2 Dynamic Fig 11 Instance Bounds on Multiple Instance Tasks Choose the Instance Creation If a multi instance task has static crea tion mode when the task is started the number of instances created is decided then and cannot be altered during the execution of the task Conversely if a task has dynamic creation mode then new instances of the task can start once the initial minimum instance number of tasks has started but before the maximum number has been received oet the Instance Creation ty
61. pes please consult the YAWL technical pa pers on the YAWL website Creating Splits and Joins To create a split or join 1 Ensure that your palette is in Net Element Selection mode YAWL Editor v2 0 User Manual 13 2 Select a task When a single task is selected the palette menu will ex pand see Fig 7 to include two tabs that allow you to decorate a task with a split and or join You can also choose a fill colour to help visually differentiate splits from joins with the expanded palette YAWLEditor C QUTData YAWLE ditorAncillary screenshots 2 0 Fig7_UserManualExample 2 0 ywl Specification Net Edit Elements Tools View Help Beh wah E eT HE ENIRA Of 0 6 C Task Icon Begin My Go to Get A Job Career No Icon Career University Started o o Manual z y 3 o TEA 1a y Automated o Routing S y Plugin Join Split H I NONE AND B E XOR OR dat H Use the palette toolbar to edit the selected net Fig 7 Decorating a Task 1 Choose the required split or join and the orientation for the split or join to appear and then click Done 2 Select your Begin My Career task and change the split to Xor Split wu Then set the orientation to eastern edge of the task as per Fig 8 Create a new Atomic task called Do Private Study This task will rep resent those stud
62. right clicking anywhere on a net that does not contain a net element Once an element is selected it is possible to drop objects in the canvas by left clicking the mouse button Atomic Task ol Select this button to create an Atomic Task which represent a single task to be per formed by a human or external application Composite Task o Select this button to create a Composite Task which is a container for another YAWL Net with its own set of YAWL elements constrained by the same syntax Multiple Atomic Task fal Select this button to create a Multiple Atomic Task which allows you to run multiple instances of a task concurrently Multiple Composite Tasks Select this button to create a Multiple Composite Task which allows you to run multi ple instances of a composite task concurrently Condition Ol Select this button to create a Condition which is a way to represent state for the Net Marquee Selection YAWL Editor v2 0 User Manual 7 select this button to activate the Marquee Selector which will allow you to select in dividual or multiple objects by clicking and dragging your left mouse button Please note you can not create flows while using the Marquee Selector Drag Net Window Select this button to drag the visible window of a net around that net Status Bar The Status Bar provides useful hints throughout the creation of your specification and depending upon which object you are
63. task with its queries filled in Fig 53 Q YAWLEditor C QUT Data Sourceforgelmage yawleditor trunk lib exampleEditorFiles simpleMultip i OF X Specification Met Edit Elements Tools View Help Beak E B ARA o Oee isti done Verify list Show list o o Manual Create list items o o Automated o Routing y Plugin sth Y Use the palette toolbar to edit the selected net Fig 53 A simple specification showcasing multiple instance tasks Fig 54 shows the core multiple instance queries used to manipulate a XML Schema element defined for this specification The element has a complex type of Per sonList which defines a sequence of lt PersonName gt someName lt PersonName gt elements Timeout Example This example shows a timeout set on the enablement of an automated task The purpose of this task is to allow users a given time frame for the modification or con firmation of a purchase order This situation is shown in the sub net Ordering of Fig 55 where after the creation and the approval of the purchase order the process flow leads to a deferred choice among tasks Modify Purchase Order Confirm Purchase Order and Order Timeout YAWL Editor v2 0 User Manual 62 Multiple Atomic Task Verify list Instance Detail Queries Multiple Instance Variable SomePerson Y Accessor Query fList_Maker Masterlist Data C RCAC oe Bonne oC nn nn aac Bon
64. tely multiple in stance composite task needs to have more information specified for it to be valid For setting data detail of multiple instance tasks please see the Setting Multiple In stance Queries section of this manual YAWL Editor v2 0 User Manual 22 Y AWLEditor COUT Datayr AWLEditor ncillaryAscreenshotsV MFig14 UserkanualExample 2 U ywl Specification Het Edit Elements Tools View Help Task p WENN Begin My Get Job Career e Manual Started e Automated e Routing y Plugin Notes Specification Validation Problems Composite Task study Privately 69 id Study Privately 69 the xDuery fur param null cannot be equal to null The task iid ictal Frivately 69 claims to assign its output to a net vwariable named inullj Howewer the cC Use the palette toolbar to edit the selected net Fig 14 Validation with unfinished Multiple Instance Tasks 7 Remove the Study Privately multiple instance composite task and re place it with an atomic composite task using the same decomposition and re drawing flows from Begin My Career and to Get A Job tasks Your updated net should look like Fig 15 Q Y AWI Editor CXQUTDataYXY AWLE ditorAnci llaryscreenshotsV2 DAFIg 15 UserManualExample 2 U ywl Specification Het Edit Elements Tools View Help p 7 Task Icon Mo Icon Begin My Career o Manual Career Started o o Autamated e Routin
65. ter the name of your task under Decomposition Label then click Done To label a Condition right click on a task and choose Set Label then type in a name for the label and click Done My specification won t validate without any errors and don t know what to do First check the logic of your specification and exercise every branch of your workflow for correctness If you are sure of your workflow consult the YAWL website for the proper use of the YAWL elements http yawlfoundation org YAWL Editor v2 0 User Manual 65 How do find out more about the elements and principles of the YAWL work flow specifications For more information about the mechanics of the YAWL workflow elements please consult the YAWL website http yawlfoundation org Copyright Notice Copyright to this software and its source code is granted under the GNU Lesser General Public Li cence v2 1 For detail on the permissions this licence grants you please refer to http Awww gnu org copyleft lesser html This editor makes use of JGraph 5 9 2 2 This version of the JGraph library is covered under a n LGPL style licence and is available separately from http www jgraph com This editor also makes use of code from the YAWL Engine and its support libraries The engine and its support libraries are covered under their own individual copyright licences detail of which may be found at the YAWL website http www yawlfoundation org
66. the starting net of the workflow For details on selecting a starting net consult the Changing the Starting Net section in this manual 2 Alter the specification s properties as you feel appropriate Click on Specification in the Menu and choose Update Specification Proper ties A screen as per Fig 3 will appear YAWL Editor v2 0 User Manual 10 T Update Specification Properties Specification ID hnnamedswl sd Specification Name Po Specification Description No description has been given Specification Author linas Version Number 0 1 EMEN i amp always Specification valid from i2 the date of O2 08 2007 PET 0 always Specification valid until _ J the date of O2 O0e 200 Fig 3 Specification Properties Dialog 3 Rename this Net by clicking on the Net Menu and choosing Update Net Detail 4 Enter the new name of the Net in the Decomposition Label field then click the Done button Decomposition Variables will be explained later in the Net Decomposi tion Detail section of this manual Change the name of the Net in the Decomposition Label to My Ca us reer This Net will be the primary net for our scenario 5 You are now ready to start drawing your specification Atomic Tasks 1 Click on the Add an Atomic Task button O in the Palette Bar or right click in the whitespace of the Net and choose Atomic Task 2 Position your mouse just to the right of the Input
67. this decomposition data could be transmit ted via a Web Service invocation to this company To have a decomposition invoke custom YAWL service do the following 3 Right click on a task the choose Task Decomposition Detail An Update Task Decomposition dialog box will appear see the YAWL Registered Service Detail box of Fig 29 YAWL Editor v2 0 User Manual AT 4 Enter the following details regarding the Web Service YAWL Service the Service registered with the YAWL Engine 5 Click Done to finish If a valid running YAWL Engine instance can be connected to via the detail supplied in the section above the YAWL Service Dropdown Box will contain entries for all cus tom YAWL services the engine has registered Otherwise only the default manual Worklist YAWL service will be available When you select a YAWL Service the editor will query this running engine for the in put and output variables required and populate the decomposition variables of the selected task with those variables Base custom services that are supplied with the engine include one for RPC Style Web Service Invocation and one for making and receiving mobile phone SMS messages Later in this manual an example editor save file showing the usage of a custom time service is supplied YAWL Editor v2 0 User Manual 48 Validating Exporting and Importing At any stage you can validate or export your specification to a YAWL Engine execu table XML f
68. tial value text is red YAWL Editor v2 0 User Manual 32 Update Net Variable testGeek Standard Extended Attributes Name Ite stGeeak usage Local v Initial Value sane John Franks Name Salary lO000 00 lt S5alary gt Fig 24 A Geek net variable with initial value Net Decomposition Detail Net Variables You can add variables to a net to store information relating to that net that tasks within the net may need to read or update To add a variable to a Net 1 Choose Update Net Detail from the Net Menu We will be setting up Net variables in the Attend University net Go to the Attend University Net and choose Update Net Detail from the Net Menu 2 An Update Variables dialog box will appear see Fig 25 Click on Cre ate An Update Net Variable dialog box will appear Click Done Create another Net Variable with the name SubjectCode and Type of string Leave the Initial Value blank and set the Usage to Local Click Done i Update Net Decomposition Attend Univ Net Decomposition Label Attend University Net Decomposition Variables Update Darina REMOVE Fig 25 Updating Attend University Net Variables YAWL Editor v2 0 User Manual 33 3 Enter the Name of your variable choose the Type of the variable from the list then click Done then Done again to close the Net Decomposi tion dialog E Type in StudentNumber for the name of the variabl
69. to Look for an Easier Book Atomic Task Then left click on the knee created and drag it out to a more desirable location You can add as many knees to a Flow Relation as you like Hepeat the process for the Flow Relation between Look For an Easier Book and Read A Book tasks see Fig 17 You can now reconnect flow relations to other elements of a net or dif ferent points on the same element by selecting the flow and dragging one of its connecting ends from one net element to another If a con nection is possible at some other element connection points will be come visible as described earlier Release the mouse button to attach the flow to its new home Take the current flow relation and move it from the top of the task to its side as depicted in Fig 17 _ Study Privately Look for an asier Book Read A Book Knowledge Feel Smarter Gained Fig 17 Adding knees to a Flow Relation YAWL Editor v2 0 User Manual 25 when the pallet button Net Element Selection Mode is selected A small editor will appear over the flow Type your desired text and com mit the flow label by pressing the ENTER key You may then drag that flow label around as desired Take the two flow relations that have recently had knees added to them Attach the label yes to the flow relation going from the Knowl edge Gained condition to the Feel Smarter atomic task Attach the label no to the flow relatio
70. useful for times when you want to create a complex type expression from individual variable elements Experience with XMSchema and XQuery are necessary to understand the effects this button will have on runtime YAWL engine state y Select the SubjectCode variable from the list of Existing Task Vari uS ables Select the SubjectCode net variable and click add XQuery of element s content only Fig 33 Click Done Update Task Parameter SubjectCode add XQuery of elements conte pum EU A add XQuery of entire element Query lt SubjectCode gt Artend_Uni versity subjectlode stext ey lt SubjectCode gt populates the task variable amp uhjectCode Fig 33 Passing a net s SubjectCode value to a Task YAWL Editor v2 0 User Manual 39 2 Create another Task Parameter and map the net StudentNumber to the task variable of the same name using this technique Click Done and Done again To add an Output Parameter 1 First select the task that will require the parameter using Enter Mar quee Selection Mode button from the Palette Bar We will be setting up Output Parameters for the variables that we cre ated in the Adding Updating TaskVariables section Go to the Attend University Net and select the Enroll task Right click on the task and choose Update Parameters An Update Parameters dialog box will appear Fig 33 Update the Parameters for the Enroll task
71. user e This option is not available for an automated task Expiry value The expiry value of the timeout indicates for how long the timeout will live after being activated This value can either be dynamically read from a net variable of type TimerType late bound timeout or be statically specified as a fixed type via an XML Schema dateTime type or as a duration relative to the timeout activation vua an XML Schema duration type The TimerType for late bound is defined as follows lt complexType name TimerType gt lt sequence gt lt element name trigger gt lt simpleType gt lt restriction base xs string gt lt enumeration value OnEnabled gt lt enumeration value OnExecuting gt lt restriction gt lt simpleType gt lt element gt lt element name expiry type xs string gt lt sequence gt lt complexType gt YAWL Editor v2 0 User Manual 99 Extended Attributes The editor offers a mechanism for defining extended attributed to be associated to task decompositions net variables and task variables The implementation and the semantics of these attributes is left to the developer Extended attributes can be defined in property files which need to be placed in the folder lt editor_installation_path gt YAWL EditorPlugins Extended AttributeProp erties Attributes referring to net and task variables must be defined in a file named vari ableProperties no extension while
72. using in the Palette Bar Canvas The Canvas is where you will be creating and editing your workflow diagram s Specification Problem Table The Specification problem table is where you see what problems are currently out standing in the specification you are building Background task progress bar The Background task progress bar shows work in progress for certain background tasks like the saving of specification files Menus Overview This section provides a brief overview of the YAWL Menus located along the top of the YAWL Editor specification Net Edit Elements Tools View Help Specification The Specification Menu provides all the standard file options of Create Open Save Close and Exit It also contains options to validate engine syntax analyse workflow semantics export the specification to the YAWL Engine XML format import speci fications from the YAWL Engine XML format updating the specifications XML schema data type definitions setting a specification s properties and for printing the specification YAWL Editor v2 0 User Manual 8 Net The Net Menu provides options to create remove set the starting net specify de composition detail and resize the currently selected net It also provides options to export a net to a PNG image file and for directly printing out the net Edit The Edit Menu provides the standard options of Undo Redo Cut Copy Paste and Delete objects within your specification
73. w regard less of whether you have the View Cancellation Set option ticked e You can create multiple Cancellation Sets in your workflow by selecting an other task and choosing the View Cancellation Set option e All flows leading to or from conditions are not valid cancellation set members Neither are the Input and Output conditions The editor will ignore them if you select them for inclusion in a task s cancellation set To remove an element from a Cancellation Set 1 First make sure you have the View Cancellation Set option ticked If it isn t ticked select the task that is initiating the Cancellation Set us ing the Enter Marquee Selection Mode tool from the Palette Bar and right click then choose View Cancellation Set YAWL Editor v2 0 User Manual 30 select the element for removal using the Enter Marquee Selection Mode button Click on the Remove Selected Items from Visible Cancellation Set but ton on the Menu Toolbar Data Type Definitions Version 1 1 of the YAWL Editor introduced the ability for workflow designers to spec ify data that is processed by a workflow XML Schema is used to describe the valid data types that are available By default a number of simple XML Schema data types are supplied for variable definition but if you need more complex data types you can supply your own XML Schema definition to describe them 1 2 Select Update Data Type Definitions from the Specification M
74. ward directed path between the input and output condit Use the palette toolbar to edit the selected net Fig 42 An invalid specification YAWL Editor v2 0 User Manual 49 To Export your specification to an XML file 1 Click on the Export this specification to the YAWL Engine file format button E3 on the Menu Toolbar or click Specification on the Menu and choose Export to YAWL Engine File A window will appear asking you where to save the file 2 Select a location and choose Save This specification save file can now be loaded into a running YAWL Engine and executed To Export a specification from an XML file 1 Click on the Import YAWL Engine file button on the Menu Toolbar or click Specification on the Menu and choose Import from YAWL Engine File A window will appear asking you specify the engine XML file 2 Select a location and choose Open This engine XML file is then loaded into the editor As there is no layout and graphing detail on the engine XML file the editor will apply basic layout to the im ported specification YAWL Editor v2 0 User Manual 50 Specification Analysis Verification of specifications for the engine only determines whether the specification will be executed by the engine In contrast the analysis tool can be used to test for deeper issues in the specification The analysis toolbar button EJ and matching Analyse Specification menu
Download Pdf Manuals
Related Search
Related Contents
ahd series 4/8 channel Imprimante photo compacte HP Photosmart 375 LC11 Liquid Nitrogen Level Controller User Manual Bedienungsanleitung Sony ECM-CR120 Operating Instructions Copyright © All rights reserved.
Failed to retrieve file