In the first step I build a simple specification in the YAWL editor 4.1 (build 727). This simple specification consists of the atomic task called "In" and the other atomic task called "check". The net data variables called "FirstName" type "string" and scope "local". For every atomic task an own decomposition was created. The decomposition variable of the first task called "In" was named "FirstName", type "string" and scope "output". The decomposition variable of the second task called "check" was named "FirstName", type "string" and scope "input". After saving the specification on the local PC with the name "test.yawl" I uploaded it with the fuction in the YAWL editor to the engine. When I run the created specification for this first time everything was fine.

The Problem begins when I wanted to expand the existing specification (test.yawl). I added a new data variable for the net called "LastName" with the same type and scope as the existing variable "FirstName". Also I added the required decompostion variables for the tasks "In" and "Check". The type and scope are the same as in the existing decomposition data variable "FirstName". Only the name of the new variable was changed. Now I save the change with the button "Save the specification". Then I upload the changed to the engine with the editor. When I perform the now changed specification in the engine only one input field for the first decomposition variable "FirstName" is available. The other expected input field is missing. Only when I load up the new specification (test.yawl) via the front end of the engine/resourceService the second input variable is available. Also when I use the "Save the specification as" button and give an other filename for the specification the two expected input fields where displayed. I think this is an bug in the upload specification functionality of the editor. The behavior could be reproduced with different setups.

I have first tried this with a standard YAWL installation on  Ubuntu Linux. The only thing that I changed was to select Postgres as the DBMS. On this installation everything worked as expected and I could not see the problem.

Then I made a fresh install of YAWL on a Windows 7 OS and upgraded engine and editor to the latest version. There I could see the problem.

It's definitely a bug. Thank you for pointing this out!

Michael Adams

Mon, 12/12/2016 - 10:35

Fixed in the latest update (b.728). Thanks for reporting.

The problem has to do with uploading a newly saved version of a specification that has the same version number as the previously uploaded version.

A newly installed editor did not have the option selected to auto-increment the version number when a specification is saved. This led to the same version number being used for subsequent uploads, which was a bit confusing for the resource service.

The latest update contains two changes: (1) selects auto-increment by default for new installs; and (ii) lets the resource service know when a specification is unloaded, so that it can do the necessary cleanups.