Software Lifecycle with YAWL – User Manual

Software Development, YAWL, Programming · notes

Voir tous les documents en programmation

Software lifecycle with YAWL –

user manual

Teddy Bouziat

Chihab Hanachi

M.F. Juan Otero Pérez and

MTI Ivica Kalichanin Balich

Introduction

To illustrate the use of YAWL, we are going to develop a simple software lifecycle process.

Installation instructions and files can be found at:

http://www.yawlfoundation.org/

Upon starting YAWL editor you are going to see the SCREEN01:

SCREEN01:

1. Starting New Project

To create a new process, means to create new specification in YAWL.

From the menu select: Specification → New Specification

This will produce a new working file to design a process as is shown on the SCREEN02

Immediately you should save your work by choosing menu

Specification → Save Specification As …

Remember the name of the file and its path, so that later you can find it!

To write a tab-name in place of “New Net 1”, for your specification, use menu

Net → Update Net Detail …

SCREEN02:

2. Creating Project Tasks.

On the working space click the right button and a pop-up menu will appear. Choose option “Atomic

Task” by clicking left button on its icon.

By clicking the left button on your working space, a new atomic task will be created.

You can drag the atomic task to rearrange its position.

Click right button while over the atomic task and a menu will appear where you can manipulate the

task. For now choose the “Set Label …” option and name your atomic task as “Problem Definition”.

You can see the result on the SCREEN03.

Repeat the procedure and create the following atomic tasks:

Requirements Definition

Design and Specification

Implementation With Design

Implementation Without Design

Test.

Try to make it as shown on the SCREEN04.

SCREEN03:

SCREEN04:

At this point save your work again. Notice that the version number changes to 0.2 in the dialog

window.

3 Creating Connections Among Tasks

Connections between two tasks (first and second) are made by drawing a vector between them. To do

this, go to the first task icon and move cursor above its edge so that a small gray square appears. Click

left button on that gray square and drag the vector to the second task icon until a gray square appears

and release the button.

Make your project look as the one on the SCREEN05, so far.

SCREEN05:

The “Requirements Definition” task will have a special output connections to allow only one of the

following two tasks to be executed, by using “exclusive or” connection.

If you click on the “Requirements Definition” task square, a new graphical menu will appear on the left

side of the screen that has tabs “Join” and “Split”. Select the “Split” tab and the XOR symbol from the

Publicité

Split tab. The “Split XOR” symbol will appear at the task square.

Connect vectors from the split XOR to the tasks that follow.

Now click on the “Testing” task square. Select the “Join” tab this time and chose XOR. The “Join

XOR” symbol will appear at the task square. Draw vectors from the previous two tasks to the “Testing”

task.

After all this, you should achieve the situation as shown on the SCREEN06.

SCREEN06:

4. Create Specification Variables

The next step is creation of all input and output variables of the tasks in the process.

Prepare your list of variables of all tasks. In this project we are going to use the next variables:

ProblemDescription, Deadline, Requirements, Specification, ProgramCode, Difficulty.

To create these variables go to menu Net → Update Net Detail … → Create …

SCREEN07:

In the dialog window that appears, see the SCREEN07, we must write the variable name, its type and

usage. Repeat the Create … for each variable that you must enter into the project.

Name:

Type:

ProblemDescription, string,

string,

Deadline

string,

Requirements

string,

Specification

string,

ProgramCode

boolean,

Difficulty

Usage:

Local

Local

Local

Local

Local

Local

The result of this procedure should be as shown on the SCREEN08.

SCREEN08:

Click the button “Done” to close the window.

Save your work using menu Specification → Save Specification.

5. Assigning Variables to Each Task

To assign variables select a task and make a right click. From the pop-up window select menu

“Decompose to Direct Data Transfer … “

On the dialog window that appears mark the input and output variables for the task.

The variables will be assigned as:

Task:

Input Variables:

Output Variables:

Problem Definition

NONE

ProblemDescription

Deadline

Requirements Definition

Publicité

ProblemDescription

Deadline

Design and Specification

Implementation With Design

Implementation Without Design

Requirements

Deadline

Difficulty

Specifications

Deadline

Requirements

Deadline

Requirements

Deadline

Difficulty

Specification

Deadline

ProgramCode

ProgramCode

Testing

ProgramCode

ProgramCode

See the SCREEN09 as example of setting variables for the task “Requirements Definition”.

Save your work again.

6. Validation and Verification of Specification

Now close the YAWL editor.

From the YAWL applications suite activate “Start Engine” menu.

Now start the “YAWL Editor” again and open your project from menu Specification → Open Recent.

On your YAWL editor screen you should see two green buttons at the lower left corner of the window.

See the SCREEN10.

To validate your project, click on menu Specification → Validate Specification.

To verify your project, click on menu Specification → Analyze Specification

SCREEN09:

SCREEN10:

7. Specify Roles and Actors

From the YAWL application suite, start the engine and activate the “Control Center”.

Type user “admin” and the password “YAWL”.

Select the “Org Data” button, from the row of buttons at the central upper part of the window.

You should now see the SCREEN11:

SCREEN11:

To add roles select the tab “Roles”, button “New” seen on SCREEN11, and the button “New” will

change to the button “Add”. In the text field “Name” type “SystemArchitect” and click on the button

“Add”.

Repeat this procedure for the following roles: Analyst, Designer, Coder and Tester.

At the end press the “Save” button.

The screen you suppose to see at this point is shown as SCREEN12.

SCREEN12:

So far, the roles are defined. Now we have to define actors.

From the upper row of buttons, select the button “Users”.

You should see the window shown at SCREEN13.

Click on the button “New” and it will convert to the button “Add”.

Fill the following data:

Publicité

First Name: Silvia

Last Name: Ramos

User ID will be the name of the actor but in lowercase.

Make Silvia administrator by clicking the button.

Activate all privileges for Silvia. For other actors we will activate only the first three privileges.

Set the password the same as the User ID (name in lowercase).

Select the role that Silvia may assume, “SystemArchitect”, and click on the < arrow to assign it.

Finally click the “Add” button.

SCREEN13:

In similar manner we will assign the following actors, except that none of them will be administrator:

Actor:

Sergio

Anita

Alicia

David

Denise

Carlos

Cornelio

Tomas

Tania

Role:

SystemArchitect

Analyst

Analyst

Designer

Designer

Coder

Coder

Tester

Tester

All will have the last name Ramos, or to your liking, User ID will be the name of the actor in

lowercase, the password will also be the actor's name in lowercase, and only the first three privileges

will be activated for all except Silvia. She is administrator and has all privileges activated.

Click the button “Save” after all the actors are registered. You should have a list of actors as in

SCREEN14.

SCREEN14:

8. Record Execution Parameters

Go back to the Yawl editor.

Right click on the “Problem Definition” task and from the pop-up menu choose “Manage Resourcing”.

The window with the title “Step 1: Interaction Points” will open.

For the three questions given in the window, set the answers: System, System and User.

See the SCREEN15. Press the “> Next” button.

The window with title “Step 2: System Offer” will open.

For the “Problem Definition” task set the “SystemArchitect” as the recipient of the task offer.

See the SCREEN16. Press the “> Next” button.

The window with title “Step 3: System Offer – Filter and Constraints” will open.

Just press the “> Next” button.

The window with title “Step 4: System Allocation” will open.

Set “Random Choice” as the default allocation strategy. Press the button the “> Next” button.

The window with title “Step 5: Establish Default User Runtime Privileges for this Task” will open.

Just press the button “Finish”.

SCREEN15:

Publicité

SCREEN16:

Repeat the procedure for each task in your process. Here the roles associated to each task:

Analyst :

Designer:

Coder:

Tester:

Requirements Definition

Design and Specification

Implementation with Design, Implementation Without Design

Test

Go through the process of validation and verification (point 6) again.

9. Execute Test Run

If you are not in the Control Center already,

from the YAWL application suite activate the “Control Center”.

Type user “admin” and the password “YAWL”.

Select the “Cases” button, from the row of buttons at the central upper part of the window.

You should now see the SCREEN17:

SCREEN17:

Click on the “Choose file” button, or however it is called in your language, and select the file you have

created in the YAWL Editor. Load the file by clicking on the “Upload File” button.

To start the test run you have to begin one case of execution of your process. To do that, select the

process in “Loaded Specifications” and click on the “Launch Case” button. Your case should appear in

the “Running Cases” as seen on the SCREEN18.

SCREEN18:

Now we have to see to which actor was the first task of the process assigned.

Click on the “Admin Queue” buton (the first button in the upper central row of buttons).

Now click on the “Worklisted” tab and you will see SCREEN19.

SCREEN19:

In the field “Assigned To” you can see the actor to which the first task “Problem Definition” is

assigned. In our case the name of the person is “Ramos, Sergio”.

To continue running the case, we have to log out of the Control Center by clicking on the button

“Logout”and log in again as “Ramos, Sergio” to be able to execute the assigned task and continue to

the next. Remember that we have filled user identification and password as the name of the person in

lowercase, so the User Id and the password are both “sergio”.

After entering the Control Center as Sergio, click on the tab “Allocated” and you will see the screen

similar to SCREEN20.

SCREEN20:

Click on the “Start” button and switch to the tab “Started”. You will get something like SCREEN21.

SCREEN21:

Now you have to create two documents that are to be created in this task:

Problem Description and Deadline.

To do this, click on “View/Edit” button. You will see SCREEN22.

For now simply fill “Problem description.” and some date like “2014/12/31” as deadline.

SCREEN22:

Click on the button“Save” and since our documents are completed, on the screen that appears click on

“Complete” at the lower left corner.

To continue with our case, we have to take the role of the administrator to see which actor has received

the next task of the process we are running. Then we have to log in as that person and repeat the same

process as we did for the actor “Sergio”. From there we follow the same sequence for all tasks in the

process until the process is completed.

Thus, one test run of the process is completed.