TAVI 1.0 - User's Guide
3.1
Starting and Quitting TAVI
3.4.3
The Right Mouse Button (RMB)
3.4.4
Changing Object Properties
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 can be downloaded from the
following address: http://www.cs.helsinki.fi/group/ohtu1k02/private_html/tavi.zip
·
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.
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.
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.
The menu bar is located on the
upper edge of the window. It contains the following menus: File, Settings
and Transactions.
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
·
Save -saves your TAVI graph into a file.
·
Exit - quits TAVI.
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
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.
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. |
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.
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
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.
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.
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.
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.