TAVI 1.0 - User's Guide



May 6th ,2002 

1 Introduction

2 Installation

3 Running TAVI

3.1 Starting and Quitting TAVI

3.2 Menu Bar

3.2.1 File Menu

3.2.2 Settings Menu

3.2.3 Transactions Menu

3.3 Toolbar

3.4 Drawing Area

3.4.1 Transaction Handling

3.4.2 Constructing the Graph

3.4.3 The Right Mouse Button (RMB)

3.4.4 Changing Object Properties

3.4.5 Removing Objects

1 Introduction

TAVI is a graphical analyzer tool for planning transaction based systems and their capacity. TAVI is based on queue analysis, and with TAVI you can draw servers with their incoming and outgoing transaction flows. Transaction flows are symbolized with edges between servers (Figure 1).

 

Figure 1: An example of transaction flows between servers

 

This program is a product of a Software Engineering Project at the University of Helsinki, the Department of Computer Science. TAVI is not yet a complete analyzer tool. At the moment it is only possible to construct a model: a graph with servers, multiple transactions - each with their specific transaction flows and variables. It is intended, that a future Software Engineering Project will continue this work and develop TAVI to a real analyzer tool. 

2 Installation

TAVI can be downloaded from the following address: http://www.cs.helsinki.fi/group/ohtu1k02/private_html/tavi.zip

 

In order to run this software you must have the Java 2 Runtime Environment (JRE) (or Java Development Kit JDK) installed on your computer. This sw is available for free dowload from the JavaSoft Homepage - http://java.sun.com/j2se/1.3/download.html. The JRE installation is guided by an installation wizard.  Notice: version 1.3.0 (or higher) is recommended for best performance. Minimum recommended system requirements for running java 2 applications on all platforms are 32Mb of  RAM with 48Mb recommended  (the more the better).

 

TAVI is distributed as a single zip file, tavi.zip, which contains all the necessary files to run the program. You can unpack TAVI as follows:

·        In CSLinux copy the tavi.zip file to the directory where you want to install TAVI. Then enter the command unzip tavi.

·        In CSWindows2000 open Windows Explorer and go to directory containing tavi.zip and double-click on the icon of the tavi.zip. Follow the instructions of the packing program.

 

You will now have a directory called tavi containing all the files of TAVI.

3 Running TAVI

TAVI consists of a single window with a menu bar, a toolbar and a drawing area. Occasionally, in response to your actions there is a pop-up window displaying information and/or questions. All these will be explained in detail in this chapter.

3.1 Starting and quitting TAVI

You can start TAVI from a shell by first going to the directory tavi and then entering the command tavi. Once TAVI has been loaded, you can close TAVI by selecting Exit from the File menu. 

3.2 Menu bar

The menu bar is located on the upper edge of the window. It contains the following menus: File, Settings and Transactions.

3.2.1 File menu

File menu items are described below:

·        Clear - clears the drawing area and removes all the transactions. Please, be careful with this, because there is no undo.

·        Load - loads previously saved TAVI graphs. Notice, that there might be problems, if you transfer TAVI graphs between different operation systems or different Java versions.

·        Save -saves your TAVI graph into a file.

·        Exit - quits TAVI.

3.2.2 Settings menu

Settings menu items are described below:

·        Background color - allows you to select background color.

·        Size - allows you to change the size of the drawing area. You can select from four fixed settings or set the size manually.

·        Preferences - allows you to make the following changes (Figure 2):

o       You can change the maximum amount of recursive transaction flows in one direction, values between 0 and 10 are allowed.

o       You can change the size of the servers by changing the radius, values between 20 and 50 pixels are allowed. 

o       You can change the visibility of the selection areas of the transaction flows.

o       You can change the message timeout, values between 1 and 10 seconds are allowed.

 

Figure 2: Settings menu: preferences

3.2.3 Transactions menu

Transactions are service requests between servers. Transactions are described in section 3.4.1. Transactions menu items are described below:

·        New - allows you to create new transactions

·        Modify - allows you to view the list of transactions, delete transactions and edit their properties.

·        Global - submenu contains following items:

o       add global variable - allows you to add new global variables and give names for them.

o       view global variables - allows you to view the list of global variables, delete global variables and edit their values.

·        Current - submenu contains following items:

o       With change you can select active transaction from the list of transactions.

o       With add variable you can add new variables and give values for them

o       With view variables you can modify variable values. You can also delete variables.

3.3 Toolbar

On the upper left side of TAVI's window you can find the toolbar, which contains the icons of the objects, that can be added to the drawing area. Selected icons are white on black, unselected icons are black on white. On the bottom of the toolbar you can see the id of the active transaction.

 

 

 

 

Vector symbolizes a transaction flow between two servers. A transaction flow can be recursive, which means that the flow has the same server as source and destination.

 

 

 

Qserver symbolizes a server with a transaction flow queue.

 

 

 

Server symbolizes a queueless server.

 

 

 

B (begin) symbolizes the begin state.

 

 

 

 

E (end) symbolizes the end state. 

 

3.4 Drawing area

The drawing area is a virtual whiteboard for drawing graphs of transaction based queue models with servers as vertices and transaction flows as edges. If you want to add objects on the drawing area, you have to choose an object icon from the toolbar: either begin state, end state, server, qserver or transaction flow.

 

You can also change properties of the objects on the drawing area. These functions are described in section 4.3.4. 

3.4.1 Transaction handling

When you start creating a new graph, there is a default transaction with identified value Tr0. If you don not add any new transactions, all the objects are connected to this default transaction. New transactions can be added from Transactions menu/New.

 

When you add a new transaction, it will automatically be active on the drawing area: active transaction is shown on the bottom of toolbar and there are no transaction flows between servers. The servers are common to all transactions, but every transaction flow belongs only to one and only one transaction.

 

With Transactions menu/Modify you can change transactions names and delete transactions (Figure 3). You cannot delete all the transactions: at least one transaction will be left.

 

Figure 3: View Transactions

With Transactions menu/Current/change you can select active transaction from the list of transactions. New variables can be added from Transactions menu/Current/add variable (Figure 4).  Notice, that variable names are unique. You can also give a numeric value for the variable. Variable values can be modified and variables can be deleted from Transactions menu/Current/view variables. Global variables can be added from Transactions menu /global/add global variable and variables can be modified from Transactions menu/ global/ view global variables (Figure 5).

 

Figure 4: Add New Variables


 

 

Figure 5: Modify Variables

3.4.2 Constructing a graph

Select the object you want to add from the toolbar. The icon of the selected object turns black. You can now draw the object on the drawing area by clicking on the location you want to add it to.

·        Adding servers/qservers: click on the drawing area and the server is drawn. Servers cannot be added on top of other servers or on top of straight or circular transaction flows. If you try this, a message window is displayed indicating that you cannot do it.

 

·        Adding transaction flows: A transaction flow can only exist between two servers or it can be recursive. Thus you cannot add transaction flows, that have no source or destination. With the transaction flow icon selected you add the flow by first clicking the server that you want to be the source. The selected source server turns red indicating that it is selected (If you accidentally select the wrong source, you can cancel the selection by clicking the right mouse button). Next you have three options:

o       Adding a recursive flow by clicking again on the same server you selected as the source. You can add 0...10 (see Settings menu/preferences) to each of the main compass directions: north, south, east and west. To add a transaction flow to north, for example, click to the northern sector of the circle representing the server. If you try to too many recursive flows, a message window is displayed indicating that you cannot do it.

o       Adding a straight transaction flow between two servers: click on the destination server. A straight transaction flow can only be added, if there are no servers between these two servers blocking the way. If you try this, a message will be displayed asking you to route the flow manually. There can be five straight transaction flows between two servers. The first transaction flow is drawn as a straight line and the four other flows are drawn as arcs. 

o       Routing a transaction flow between two servers: If you click on an empty spot on the drawing area, the flow will be routed through this point. You can keep adding new legs by clicking on empty spots on the drawing area. When you click on a server, the transaction flow will be completed. At any time between the first leg and the last leg, you can remove the whole transaction flow with the right mouse button click.
 

Notice, that the begin state server cannot be selected as a transaction flow destination and the end state server cannot be selected as a transaction flow source. If you try to do this, a message window is displayed indicating that you can't do it. 
 

Every transaction flow is connected to a transaction. About transactions see section 3.4.1. 

 

·        Adding the begin states and end states: select the corresponding icon from the toolbar. You can add only one each of these states on the drawing area. If you try to add more of these states, a message window is displayed indicating that you can't do it.

3.4.3 The right mouse button (RMB)

The right mouse button acts as a general cancel selection button. If you have any icon except Vector (transaction flow) selected, RMB cancels the selection. If you have a vector selected, but not yet its source, RMB cancels the vector selection. If you have a vector and it's source selected, RMB cancels the source selection.

If you are routing a transaction flow manually, the right mouse button click removes the whole flow, but the selected source server remains active.

3.4.4 Changing object properties

You can select an object on the drawing area to be active by double-clicking the left mouse button. Some of the properties of the active object can be changed.

 

The servers and qservers have two data columns: name and queue length, which can be modified (Figure 6). When you add a qserver to the drawing area, the queue length is set to 1. If you change the queue length to 0, the qserver icon of the selected server is changed to a server icon. Equally, when you set the server queue length to be greater than zero, the server icon is changed to qserver icon. By changing server coordinates it is possible to move the server position on the drawing area (Figure 6).  If coordinates you have entered would overlap another server, the background color of coordinate fields will turn into red.

 

 

Figure 6: Server Properties

 

The transaction flows have names, schemes and identifiers for the source server and the destination server. Names and schemes can be modified, and the transaction flow direction can be changed. When you change the transaction flow direction, the direction is automatically changed on the drawing area. If the destination server is the end state, or if the source server is the begin state, you cannot change the transaction flow direction.

3.4.5 Removing objects

You can remove an object from the drawing area by selecting an object and then pressing delete key.

·        If you want to remove a transaction flow, click once on the blue selection area of the flow and press delete. 

·        If you want to delete a server, click  once on the server and press delete. All the flows related to the deleted server will be removed.

 

If you want to remove a whole transaction, select Transactions menu/View then select the transaction you want to delete and then press delete button. File menu/Clear will delete everything: transactions, servers and transaction flows. Please, be careful with all remove operations, because there is no undo in TAVI.