MSE Project User Manual



MSE Project User Manual

CIS985

Kansas State University, Fall 2005

UML Sequence Diagram Generator

User Manual

Author Major Advisor

Samer Alisaleh Bill Hankley

Table OF Contents

Introduction 2

1. Software Installation & Plug-in Setup 3

1.1 Software Requirements 3

1.2 Integrating the plug-in into the VP-SDE tool 9

2. Using the Plug-in 11

2.1 Generating sequence diagram without the analyzer tool 11

2.2 Generating sequence diagram using the analyzer tool 19

2.3 Editing the generated sequence diagram: 21

3. Plug-in Limitation 23

Introduction

This document will guide the user into how to install the tool and how to use it. Some images will be added to clarify the description and to give the user some feeling about how to use the tool in coincide with the Visual Paradigm Smart Development Environment (SDE) Tool.

The document will be divided into two sections; the first section will explain the installation process with mentioning the software requirement needed to run the plug-in. The second section will describe how the tool itself works, and the user can take advantage of its features to generate reliable sequence diagram that is consistent with the class model.

Please Note that because the plug-in is built over a community edition of the VP-SDE, some limitations will be involved, such as; the tool will only handle one class and one sequence diagram, and doesn’t support multiple of sequence diagrams generations using multiple class diagrams. It should be mentioned that the community edition only support one diagram creation of each diagram type. More limitation will be found at the end of this document.

Software Installation & Plug-in Setup

This section will cover the software installation and the steps to setup the plug-in as part of the VP-SDE tool.

1 Software Requirements

In order to use this plug-in, the user has to have to following software installed:

1- VP-SDE: Visual Paradigm Smart Development Environment.

This software can be downloaded from the following link:



Please note that SDE is not free software. However you can download a free community edition that doesn’t provide all the features and the capabilities included in the commercial one, besides user can download a time limited version for the commercial that will expires after one month. Note also when installing the SDE software the installation wizard will prompt the user to select the IDE software that the SDE will be part of , since SDE tool can be integrated with different IDEs. For example if you want to integrate the SDE will Eclipse IDE, you check the option that has eclipse IDE, if you don’t want to integrate just check the box for Visual Paradigm for UML, as in the following image:

[pic]

Figure 1

After that, the wizard will prompt the user to select the version. If you decided to go with the free version, then select the community edition, as in the following image:

[pic]

Figure 2

Note that if the user has selected to integrate the SDE as part of an IDE, then the wizard will prompt the user to enter the valid path for the given IDE. Also you have to have valid license key for integrating the tool with each IDE, besides the license key for the SDE tool itself, this can be obtained from the same website.

The last step before starting the installation is to prompt the user to provide the license key file. Initially the user won’t have any license key, and so you can proceed without providing any file path, as in the following image:

[pic]

Figure 3

After installing the SDE tool, the user can find the installed tool under the program files. The first time the user will run the SDE tool, it will prompt the user for the license key as in the following image:

[pic]

Figure 4

To download a valid license key, the user must click on the “Request Key” button at the top left corner of the frame at noted in the figure 4. After that the tool will open a web page under the visual paradigm link, where the user will be requested to provide an email that the license key file will be sent to.

An email will be sent to you with valid license key attached. Download the license key, and re open the SDE tool. When the license key popup again click on the “Import License Key” tool bar icon located beside the “Request Key” button. After that you have to specify the location for the license key file and confirm. See figure 5. At this point you will have valid license to use the SDE tool, and you can use the tool after closing the license frame:

[pic]

Figure 5

After installing the VP-SDE tool successfully, running the tool from the program file should look like the following image:

[pic]

Figure 6

The tool is straight forward easy to use for drawing different UML diagrams, for more information about how to use the tool it self and how to take advantage of the different features please review the help menu. Documenting how to use the VP-SDE tool will be out of the scope for this user manual. To learn more about the tool itself, you can view the user manual under the following link:



2- Java 1.4.2 or later version ():

The Java virtual machine may be needed to run the plug-in in the VP-SDE tool, since plug-in classes will be stored in the SDE directory - as the user manual will explain ahead – and JVM will be needed in this case to run the classes from the SDE tool.

2 Integrating the plug-in into the VP-SDE tool

To integrate the sequence diagram generation plug-in into the VP-SDE too please follow the following steps:

1- Download the plug-in Zip file called SequenceDiagGenerator.zip from the following link:

cis.ksu.edu/~ssaleh/mseproject.htm , the file can be found under the Third Presentation section of the page. Check the source files.

2- Unzip the downloaded file. You will find a directory called “seqDiagramGenerator.plugin.id”, this the directory that contains the plug-in files and other directories needed by the plug-in. The following image describe the file structure inside the plug-in directory. This file structure should be followed for all plug-ins created for the VP-SDE tool. Please note that the image below shows the file structure for another plug-in called “sample.plugin”, but the sequence diagram generator plug-in follow the same structure:

[pic]

Figure 7

For more information about how to write the plug-in, and the plug-in files structure, go to the following link:



3- After Unzipping the SequenceDiagGenerator.zip file, copy the seqDiagramGenerator.plugin.id to the “[home_directory]\ VP Suite 2.1\plugins\” directory, where [home_directory] is the local directory in which the VP-SDE tool is installed. Note that if there is no plug-in directory, the user has to create one.

At this point the plug-in must be setup correctly to know, and to test that, you can re open the VP-SDE tool, and it should look almost the same, however new tool bar icons and popup menu items should be created, as in the following image:

[pic]

Figure 8

Using the Plug-in

The plug-in goal is to help the user to create a reliable sequence diagram, that is consistent with the given class model. To achieve this goal, the tool allow the user to create sequence diagram life line objects and messages through clicking on classes and operations inside the classes to determine the life line objects and the messages of the sequence diagram.

In order to start generating the sequence diagram by clicking on the start generating tool bar icon – as will be explained below – there should be a valid opened class diagram, otherwise an error message will pop up to indicate that you have to create or open a class model before generating the sequence diagram.

The message sender life line object in the sequence diagram is referred to as the caller , and the object that the invoked by a message is called the callee.

To generate the sequence diagram the user has to follow the current generation state of the plug-in to select either the caller or the callee. For example, initially the user has to select caller life line object by selecting a given class in the class model, after that the user has to select the message through selecting an operation inside a class in the same class diagram, by doing that , the message and the callee life line object will be determined, and so on.

The following steps, describe in details how to start this process and to select the different caller/callee consequently. Please note that you have to have a class model to start generation of the sequence diagrams.

2.1 Generating sequence diagram without the analyzer tool

This section will describe in steps how to generate the sequence diagram of a given class model, without enabling the analysis tool. The class model used in the steps is built for a library system.

1- Create New Sequence Diagram:

To start generating the sequence diagram, the user must click on the “Start Converting CD to SD”, where CD refers to Class Diagram and SD refers to Sequence Diagram. After clicking on this tool bar icon the user will be prompted to enter sequence diagram and actor name, as the following image shows:

[pic]

Figure 9

After providing the sequence diagram name and the actor name new sequence diagram will be created with an actor life line, as in the following image:

[pic]

Figure 10

Note that the “Convert CD to SD” tool bar icon has changed to [pic], and can be used to if the user has decided to delete the generated sequence diagram. If so, the plug-in will prompt the user to confirm the deletion, and if confirmed the sequence diagram will be deleted and plug-in state will go to the initial state.

2- Generating a caller life line object:

To generate a caller life line object in the sequence diagram, the user has to select a class in the class model that the caller life line object will be type of, after the selection, the user has to right click on the mouse to view the popup menu. The user then must select the “Generate Sequence Diagram” popup menu item to view the submenu, in which “Select Caller” sub popup menu item can be selected, as in the following image:

[pic]

Figure 11

Note that to select a caller a class should be selected first; otherwise the select caller sub popup menu item will generate an error message. In Figure 11 the class “LibraryUI” was selected.

After selecting a class and clicking on the “Select Caller” in the popup menu, new dialog bow will appear to prompt the user to provide some information for the generated life line object. Through this dialog the user can either select to create new life line object by giving it new name, or selecting an existing one if there exist any of the same class type that has been created before. Figure 12 shows snap shot of this dialog with notes added to explain every item in the dialog.

[pic]

Figure 12

The message activation option is used to indicate that this message is independent of the previous messages or calls. By default the activation line will be extended from the previous message to mean that both messages belong to the same functionality, except for the first message, where new activation line must be created, and for few cases such as when there is a return message before the new generated message, and that is to prevent the asynchronous behavior in the sequence diagram, which means that the same function can’t be still running even after returning a value from the previous message, by sending or receiving new message. The tool is smart enough to figure out these cases.

After selecting the new caller from the dialog box in figure 12, new life line object will be created – in this case – as in the following image:

[pic]

Figure 13

3- Generating Callee Message:

After selecting the new caller, its time to select the callee message by selecting an operation inside a given class in the class model, and then mouse right clock on the selected operation to generate the pop menu item, and do the same step as in selecting the caller, as Figure 11 shows. Notice that the “Select Caller” popup menu item is disabled this time, because the caller is already selected, and only the “Select Callee “ is enabled, as in Figure 14:

[pic]

Figure 14

After clicking on the “Select Callee Message” , the same dialog box in Figure 12 will show to prompt the user to either create new callee life line object by providing the new name, or re selecting pre created life line object of the same class type to invoke the message. The only difference this time is that, the “Generate Direct Return Message “check box will be enabled.

The following image show the new created callee life line object – in this case – in the sequence diagram:

[pic]

Figure 15

Note that if the “Generate Direct Return Message “box is checked, a return message will be created following the created message, only if the chosen operation has a return type and not set as void, because if its set as void , the return message won’t be created even if the “Generate Direct Return Message “ option box is checked.

4- Generate Message from the Actor Life Line:

This step can be done parallel to selecting the caller as appear in figure 11. The user has the option to select new caller, or generate a message from the actor life line, since the caller in this case is the actor, then the user has to select the operation to be the message sent from the actor. The same thing applies in this case as in the case of selecting the callee. The user has to select an operation in class, where the operation is the message and the class is the callee life line. After selection this option, the same dialog that appears in figure 12, will be displayed to create the new callee by providing the new name, or by selecting pre existing life line object of the same class type. The new generated message will look like the following image:

[pic]

Figure 16

Usually this step is done in the beginning of generating the sequence diagram, since each sequence must be invoked by an external user or system, before starting the sequence of the internal messages. The tool is also dynamic to allow this kind of message to be done even in the middle of a sequence to allow more flexibility for the user and for the generated sequence diagram.

This will conclude this section for using the tool without enabling the analyzer feature. The following section will describe the benefits of using the same steps mentioned in this section to generate the sequence diagram, but with enabling the analyzer feature.

2.2 Generating sequence diagram using the analyzer tool

The purpose of the analyzer in this plug-in is to analyze the available class model based on classes associations to determine for a selected caller class, which classes can be invoked from the caller. There are two main rules for deciding if a class can be invoked from a caller or not. The first rule suggests that to invoke a class, the caller class must have direct or indirect association to the invoked class. The second rule comes after passing the first rule where an indirect association is found, in this case the analyzer will check if the caller class has a reference to the invoked class or not. For more information about the analysis rules, refer to Appendix A in the Software Requirement Specification document.

To enable the analyzer feature, the user must click on the analyzer tool bar icon labeled as [pic], that comes beside the “Start Converting CD to SD” tool bar icon [pic], as it appears in Figure 8.

Enabling the analyzer won’t make any difference in selecting the caller and the callee message that is covered in section 2.1. The only difference is that when selecting the new sequence diagram caller class in the class model, the analyzer will check all the remaining classes and decides based on the rules mentioned above if each class can be invoked from the caller or not. The classes that can’t be invoked then will be grayed – gray color – and the classes that can be invoked will remain blue. The following image show for an example what happen when selecting the “LibraryUI” class as caller while the analyzer is enable. See figure 17.

[pic]

Figure 17

Notice that only “LibrarySystem” class is enabled, i.e. colored as blue, since there is a direct association between “LibraryUI” and “LibrarySystem”, however the remaining classes are in gray color, indicating that they can’t be invoked from the “LibraryUI” caller. If the user is trying to select a grayed class operation to be as the new message, the plug-in will generate an error message depending on which analysis rule failed, and since there are two analysis rule so far in the plug-in as mentioned previously, therefore there will be two kinds of error message, as shown in figure 18 and figure 19:

[pic]

Figure 18

[pic]

Figure 19

The analyzer will help the user to create reliable sequence diagram that is consistent with the given class diagram. It incorporate the associations in the sequence to decide what messages can be sent next from the selected caller. This feature in general will motivate users to think more about the software architecture and the usefulness of the class diagram structure.

2.3 Editing the generated sequence diagram:

The sequence diagram generation plug-in allows the user to edit the sequence diagram through Undo/Redo functionality. Its important to note that the plug-in does not recognize if the user has tried to edit the sequence diagram directly, by creating life line objects and messages without using the class model for that, and if that happened, it can cause an expected behavior from the plug-in if the user then try to use it for selecting the new caller/callee, such as overdrawing things, or drawing messages in the wrong location. Editing the sequence diagram directly with out using the plug-in is not allowed for the plug-in. The Undo/Redo popup menu items can be found can be found under the “Generate Sequence Diagram” pop up menu item as in Figure 8.

Due to time limitation the Redo functionality is not implemented in this version of the plug-in, so clicking the “Redo Last Selection” and “Redo Last Sequence” won’t take any action.

There are two types of Undo the user can use to edit the generated sequence diagram, as follow:

1- Undo Last Selection

Which can used when the user has already selected the caller or the callee and the message. If the previous selection was made for the caller object, then clicking on the “Undo Last Selection” will set the plug-in state for re selecting the new caller. In case of undoing the selected caller, the life line object created for the caller in the sequence diagram will be deleted, if it was newly created, however if when selecting that caller the user decided to go with pre-existing life line object, the object won’t be deleted and there will be no effect on the sequence diagram

In case of undoing pre selected callee, the plug-in state will be reset to select the new callee with the callee message. The old message will be deleted, and if the callee life line was newly created, it will be deleted too, otherwise only the message.

The user is allowed only to use this undo action only one. Once its used it will be disabled.

2- Undo Last Sequence

Can be used only when the user has generated a complete sequence that consist of caller life line object, callee life line object and the message in between, in other way this action will be enabled each time the user has generated new callee message, and will be disabled when selecting the caller.

Clicking on this option when its enabled will delete the message, the caller life line object if new created, and the callee life line object if newly created. The state of the plug-in will be set to select the new caller.

Plug-in Limitation

The developed plug-in is not complete, and doesn’t support all the features and notations of the sequence diagram. Some of the limitations are mentioned below:

- The plug-in supports generating one sequence diagram only.

- The generated sequence diagram doesn’t support self sending message.

- When using the Plug-in, the user should not edit the sequence diagram directly except for changing names of the created life line objects, but other than that may create a problem when generating the next life line objects and messages.

- Plug-in Redo functionality is not implemented.

- The generated sequence diagram only considers synchronous behavior and not asynchronous.

- The plug-in Works fine under VP-SDE version 2.1 and later, but does not work properly for earlier version

- The plug-in Architecture may change for the coming VP-SDE releases, and that may not work with the plug-in.

-----------------------

Project/Diagrams File structure.

Diagram Pane.

Messages Pane

Request License Key file.

Enable/Disable Analyzer tool bar icon

Start new sequence diagram generator

Sequence Diagram Generation tool Popup menu item.

Undo/Redo Sequence diagram generation step.

Import License Key File tool bar icon

After importing the license key, it must be added to this list.

Start Converting CD to SD tool bar icon

Option 1: Create New Caller Life Line

Option 2: Select an existing life line object if there is any.

Create New Activation Line option

Generate Return message (Disabled for the Caller)

Life Line Object class type.

New Caller Life Line Object

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download