Seeker: A Case Tool Based on OO Sequence Diagrams

Brief Description

Seeker is a small CASE tool that uses sequence diagrams based on UML to support learning about OO design.  The tool is
language independent, and is designed to be highly usable and  responsive.  Although initially designed for use in team design
situations, it is also directly useful in teaching about OO design, as a device for interactive presentation. Moreover, when used
interactively, the tool seems to offer some of the same advantages of walkthroughs themselves, suggesting that such lightweight tools
could have a role in the design process itself.

Status

This software is a research prototype only. The actual code is a messy twist of ideas, and  shows the nature of the software as a vehicle for exploration. I am happy for other people to try it out for research and educational purposes only. For information about further development for commercial use , please contact me.


Using Seeker

Probably the best introduction to Seeker is the paper describing the motivation behind it: "A Case Tool for Learning OO Design".
This paper is available HTML, suitable for perusing on the web, or in pdf or postscript, more suitable for printing. There is also a set of MS Powerpoint slides for a poster presentation about Seeker: The basic idea of Seeker is to support creating object oriented sequence diagrams. If you are not familiar with these, the paper
above provides a brief introduction, and books such as Martin Fowler's UML Distilled, published by Addison-Wesley, provide a more complete introduction. (Richard Botting tells me sequence diagrams were originally invented by Charles Babbage; if anyone knows a reference to verify this, I would appreciate an email message!)

The best approach to exploring Seeker is to quickly read the notes below, and then start the program and start creating pictures.
Note especially the descriptions of the toolbar and the keyboard shortcuts, which are what make it so easy to rapidly create the sequence diagrams.

Basic Concepts

Seeker is a simple tool, and really only involves creating diagrams. However, the idea is that the diagrams and extremely easy
to create, and this makes it easier to think about the design under consideration. To make the diagrams easy, Seeker involves the following basic concepts: Seeker allows a set of sequences to be saved and opened as a unit; this is especially useful for working with a set of diagrams relating to a particular system. All open sequences are represented by a tab at the bottom of the screen, and selecting a tab will display that sequence as a diagram.

The menus of Seeker offer straightforward functionality for these basic concepts:

Note that at any time there is a current sequence, a current object, and a current step, and by default any action requested will involve the current sequence, current object, and current step. The current object and step are highlighted in yellow.

The interface shows text entry boxes for sequence, sequence tab, object, and step. Clicking in these boxes will allow the text to be modified,
and hitting "enter" will change the text on the diagram accordingly.

As well as the menus, there is a toolbar for common actions. The toolbar buttons will display hints as to their purpose when the cursor
hovers over them. The menus are useful because they can be reminders as to the functionality available. The toolbar buttons are useful because they require single mouse clicks, and thus allow easy diagram manipulation using the mouse alone.

In addition to the menus and toolbar, there are also a number of keyboard shortcuts. Some offer  familiar to menu commands,
such as control-s to save to file, and control-o to open, and so on. More important keyboard shortcuts allow the diagrams elements
to be created or manipulated with single keystrokes, as follows:

As well as displaying the titles, objects, and their steps in a sequence diagram, Seeker also shows some additional graphical elements.

Printing

It is possible to print out the sequence diagrams created in Seeker: there is an item on the File menu, and also a toolbar button. This allows the user to create a file with the diagram stored in postscript format. To actually print this out will require some way to print postscript files. Such facilities are common in the Unix , Linux, or Macintosh  environments. In the MSWindows environment, I recommend using the free tools "Ghostscript" and "GSview". These are available free from their web home page.


Installation Guide

Base Technology

Seeker is written in the scripting language TCL. It uses several common TCL extension packages, including the Tk user interface tool kit, the iTCL and iTk extensions for object orientation, and the iWidgets package of extended user interface components.

The first step to using Seeker is make sure you have TCL and the extension packages installed. Many Unix and Linux systems typically have all this installed already. If you do not already have TCL, etc., you will have to install it before you can use Seeker. All the necessary systems are available free and may be downloaded from web pages, such as the Scriptics TCL developer site. At this site, go to the "software" page.

For MSWindows (95/98/ME/NT/2K) there is a single file with a binary self installer, so you can just download this file and execute it to install the complete system, including all the necessary extensions. I suggest using the version "itc82.exe" from the web page at the Sensus TCL site.

Installing Seeker Itself

The actual code for Seeker itself is simply a small set of script files. You may download these in the form
of a zipped directory of these files.

The first step is to unzip the directory and install it somewhere. To run Seeker will depend on how TCL was installed on your system. On some systems, such as MSWindows with the binary TCL install, you may simply be able to open the SeerkerDir directory, and double-click on the file Seeker.tcl.

On a more crude system, you may have to run the TCL command. On Unix systems, this is probably itkwish, perhaps with
some suffix denoting the version. On MSWindows systems, use the Start menu, Programs, TCL, and choose wish.
Wish is the "window shell", and will bring up a text window and a graphics window.

In the text window, change to the directory of the seeker files, with a command such as:
cd C:/SeekerDir
then start Seeker with the command:
source Seeker.tcl

All this is crude but will work.


Envoi

If you have any comments about Seeker, I look forward to hearing from you!
Robert.Biddle@mcs.vuw.ac.nz