Deployment Diagrams (Overview)

A deployment diagram shows nodes and connections. Each model contains a single deployment diagram which shows the connections between its nodes and the allocation of its processes to nodes.

Node Specifications and Connection Specifications enable you to display and modify the respective properties. The information in a specification is presented textually; some of this information can also be displayed inside the icons.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The deployment diagram specifications are automatically updated.


Node

Definition

A node is a hardware component capable of executing programs.

Naming

Each node must have a name. There are no constraints on the node name because nodes denote hardware rather than software entities.

Graphical Depiction

The icon for a node is an unfilled:

See Also

Connection

Deployment Diagram

Process Specification

Node Specification


Connection

Definition

A connection represents some type of hardware coupling between two entities. An entity is a node. The hardware coupling can be direct, such as an RS232 cable, or indirect, such as satellite-to-ground communication. Connections are usually bi-directional.

Naming

You can optionally label the connection with its name.

Graphical Depiction

The icon for a connection is a straight line:

See Also

Connection Specification

Deployment Diagram

Node


Specifications (Overview)

A specification enables you to display and modify the properties and relationships of a model element, such as a class, a relationship, or a method. The information in this specification is presented textually; some of this information can also be displayed inside icons representing the model element in diagrams.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specification are automatically updated.

To display a specification, select the icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu.

•	Select Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

The specifications are displayed as tab pages and you can easily navigate through them.

See Also

Association Relationship Specification	Component Specification
Property Specification	Method Specification
Class Specification	Package Specification
Node Specification	Process Specification
Connection Specification
Generalization Relationship Specification	Dependency Relationship Specification
Component Package Specification


Logical Package Specification

A Logical Package Specification enables you to display and modify the properties and relationships of a logical package in the current model. The information in this specification is presented textually; some of this information can also be displayed inside icons representing logical packages in the class diagrams.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Logical Package Specification, select the icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

For information about moving a class from one package to another, see Moving a Class Between Logical Packages.

Specification Contents

The Package Specification consists of the following tab(s):

General, and Detail.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Component Diagram


Class Specification

A Class Specification enables you to display and modify the properties and relationships of a Class in the current model. The information in this specification is presented textually; some of this information can also be displayed inside icons representing classes in the class diagrams.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Class Specification, select the icon in either the diagram or the browser and use one of the following methods

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

For information about moving a class from one logical package to another, see Moving a Class Between Logical Packages.

Specification Contents

The Class Specification consists of the following tab(s): General, Methods, Properties, Relations, and Components.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Access Adornments

Association Relationship Specification

Class Compartment

Generalization Relationship Specification

Component Diagram

Method Specification

Dependency Relationship Specification


Method Specification

You should complete one method specification for each method that is a member of a class and for all free subprograms.

The information in the Method Specification is presented textually. Some of the information can also be displayed inside icons representing classes in the class diagrams.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Method Specification select a class icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Select the Method tab and double-click on a method to open the Method Specification for the selected method.

To define a new operation, while on the Method tab of the Class Specification, move the cursor to the body of the specification and right-click to display the shortcut menu.  Click Insert, an entry item is added.  Double-click on the entry to display the Method Specification.

Specification Contents

The Method Specification consists of the following tab(s): General, and Argument.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Class

Class Diagram

Class Specification


Association Relationship Specification

An association relationship represents a bi-directional semantic relationship between two classes.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display an Association Relationship Specification, select an association icon in the diagram and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

•	Double-click on the name of the association relationship in the Relations tab of the Class Specification.

Specification Contents

The Association Specification consists of the following tab(s):  General, Role A & Role B General.

Language tab(s) for code generation will be shown for all languages you have loaded.


Dependency Specification

The dependency relationship indicates that the client class depends on the supplier class to provide certain services. One class may use another class in a variety of ways. Typically, a dependency relationship indicates that the methods of the client invoke methods of the supplier.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Dependency Specification, select a dependency icon in the diagram and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

•	Double-click on the name of the dependency relationship in the Relation tab of the source Class Specification.

Specification Contents

The Dependency Relationship specification consists of following tab(s): General.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Access Adornments

Cardinality Adornment

Class

Class Specification

Friend Adornment

Dependency Relationship


Dependency Specification General Tab

Click on any field or button for more information.


Generalize Specification

A generalize relationship between classes shows that one class shares the structure or behavior defined in one or more other classes.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Generalize Specification, select a generalize icon in the diagram and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

•	Double-click on the name of the generalize relationship (which is preceded by specialize in the list box) in the Relation tab of the source Class Specification.

Specification Contents

The Generalize Specification consists of the following tab(s): General.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Access Adornments

Class

Class Diagram

Class Specification

Friend Adornment

Generalize Relationship

Virtual Adornment


Generalize Specification General Tab

Click on any field or button for more information.


Class Property Specification

Overview

A Class Property Specification enables you to display and modify the properties of a class property in the current model. The information in this specification is presented textually; some of this information can also be displayed inside icons representing classes in the class diagrams.

You can change a class property's properties by editing its specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Property Specification, select a class icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Select the Property tab and double-click on a property to open the Property Specification.

To define a new property, while on the Property tab of the Class Specification, move the cursor to the body of the specification and right-click to display the shortcut menu.  Click Insert, an entry item is added.  Double-click on the entry to display the Property Specification.

Specification Contents

The Class Property Specification consists of the following tab(s): General.

Language tab(s) for code generation will be shown for all languages you have loaded.

See Also

Class Specification


Class Property Specification General Tab

Click on any field or button for more information.


Global

The global adornment indicates that all public classes in the logical package can be used by any other logical package.

When a check mark is displayed in the Global indicator, the word "global" is displayed in the lower left corner of the logical package icon.

You can change the global adornment only through the specification.


Class Specification General Tab

Click on any field or button for more information.


Class Specification Methods Tab

Click on any field or button for more information.


Class Specification Properties Tab

Click on any field or button for more information.


Name

Displays the name of the property.


Class

Identifies where the property is defined.


Type

This can be a class or a traditional type, such as int.


Initial

Displays the initial value of an object.


Class Specification Relations Tab

Click on any field or button for more information.


Name

Displays the name of the relationship.


Class

Displays the client name.


End Class

Displays the supplier name.


Class Specification Components Tab

Click on any field or button for more information.


Package Name

Package that component belongs to.


Filename

Displays the name of the document.


Path

This is the Uniform Resource Locator (URL) related to the element.


Type

Your choices here include: Class and Class Utility.


Components

The component list identifies the components to which this class is assigned (with a check mark). A class can be assigned to none, one, or several components with the same implementation language assigned.

You can assign the class to a component via Assign on the shortcut menu in this list, or by dragging a component from the browser and dropping it in this list.


Methods

Methods denote services provided by the class. Methods can be methods for accessing and modifying class fields or methods that implement characteristic behaviors of a class.

The Methods field lists the methods that are members of this class. This information is stored in the Method Specification. You can access Method Specifications only through the Class Specification.

To enter a method in the Class Specification, use Insert from the shortcut menu.

The method name is added to the Methods list.

The following fields can be edited:  Access Control, (left most, unlabeled field), Signature, and Return type.

The Methods field is active for all class types. In the class diagram, you can display method names in the class compartment.


Properties

Properties are data values held by objects in a class. In accordance with that definition, the type of property is a data type, i.e. string or integer. Thus, the Properties field lists:

•	Properties you have defined for the class via the Class Property Specification.

You can add a property relationship via Insert on the shortcut menu.  An Untitled entry is added.

The Class Property Specification is displayed. Properties and relationships created using this technique are added to the model, but do not automatically appear in any diagrams.

This field is active for all class types.


Relations

Classes collaborate with other classes in a variety of ways. The Relations tab page identifies the relationships in which this class is the client (class) and the corresponding supplier (end) class. If you labeled the relationship, its name is displayed after the kind of relationship.

If the relationship is:	The specification lists:

Inherits	The classes from which this class inherits
Dependency	The classes that are used by this class
Association	The classes with which this class has semantic connections
This list is automatically updated when you draw relationships between classes.

This is a read-only tab page.


Show Unassigned Modules
Show All Components

Select this option if you want to get a list of all components in the model. If this option is not selected, you will see only the components to which this class is assigned.


Method Specification General Tab

Click on any field or button for more information.


Method Specification Argument Tab

Click on any field or button for more information.


Return Class
Show Classes

For methods that are functions, set this field to identify the class or type of the function's result. If Show Classes is set, the list box displays all the classes in the package. If Show Classes is not set, only the predefined set of return class types is displayed.

If you enter a class name and it does not exist in your model, the application does not create one for you.


Arguments

This field contains a list of the arguments of the method. You can express these arguments in your selected implementation language, if desired.

The argument list can be sorted with the click and drag technique. Select an argument from the list, drag it to the desired location, and release. The list will reflect the new sort order.

To specify the passing mechanism for an argument, add the passing mechanism in front of the argument name.

If you enter:	The parameter is declared as:

ByVal argname	Passed by value

ByRef argname	Passed by reference

Optional argname	Optional parameter

ParamArray argname	Indefinite number of parameters


Virtual Inheritance
Show Inherited

Show Inherited ensures that only one copy of the base class will be inherited by descendants of the subclasses.

You can set this field in the Generalization Relationship Specification.


Type-Class Attribute
Type-Class Property

Property types can either be classes or language specific types. When the property is a data value, the type is defined as a language specific type. You can enter the type in the Type field in the  Property Specification. The type is displayed beside the property name in the class icon and the model information is updated.


Initial Value

You may assign an initial value to your class property through this field. Click in the Initial Value field and enter the value.


Association Relationship Specification General Tab

Select any field or button for more information.


Association Relationship Specification Role A & Role B General Tab

Select any field or button for more information.


Package Specification General Tab

Click on any field or button for more information.


Class Category Specification Detail Tab
Package Specification Detail Tab

Click on any field or button for more information.


Stereotype

A stereotype represents the subclassification of a model element. It represents a class within the UML metamodel itself (i.e., a type of modeling element).  Some stereotypes are already predefined, but you can also define your own to add new kinds of modeling types.


Role

Use this field to label the role with a name that denotes the purpose or capacity wherein one class associates with another.

To enter a role name, click in the Role field and enter the text.


Show Inherited

Click on this option if you want to see the methods inherited from other classes. If there is no check mark in this field, you will see only methods associated with the selected class.


Select Help Topic

Select the appropriate help topic:

Class Property Specification: General Tab Page


Show Classes

Click on this field to list all classes defined in the model as well as any fundamental types that reside in the model.

If you disable this option, the selection lists include only the fundamental types that reside in the model.


Signature

Displays the name of the method.


Class

Identifies in which class the method is defined.


Return Type

Identifies the type of value returned from the method.


Stereotype

Displays the name of the stereotype.


Stereotype

Displays the name of the stereotype of the specified element.


Class

The class the element belongs to is displayed here.


Element

Describes the two elements which this association associates.  This field cannot be edited.


Name

Indicates that the class definition lies within another class.  A class may contain instances of, inherit from, or use a nested class.


Component Package Specification

A Package Specification enables you to display and modify the properties and relationships of a component package in the current model. The information in this specification is presented textually; some of this information can also be displayed inside icons representing component packages in the component diagram.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Component Package Specification, select a component package icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Specification:

The Package Specification for component packages contains the following tab(s): General, and Detail.

See Also

Component Specification


Component Specification

A Component Specification enables you to display and modify the properties and relationships of each component in the current model. The same specification form is used for all component stereotypes.

The information in a Component Specification is presented textually; some of this information can also be displayed inside icons representing components in the component diagram.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Component Specification, select a component icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Specification Contents

The Component Specification contains the following tab(s): General and Realizes.

See Also

Component Diagram

Component

Component Stereotypes


Node Specification

A Node Specification enables you to display and modify the properties and relationships of a node in the current model. The information in this specification is presented textually; some of this information can also be displayed inside icons representing the node in a model's deployment diagram.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Node Specification, select a node icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Specification Contents

The Node Specification contains the following tab(s):  General, and Detail.

See Also

Connection

Process Specification


Process Specification

Processes are threads of control that execute on a node. One Process Specification documents one thread of control.

You access the Process Specification through the Processes field of a Node Specification. None of the information contained in the Process Specification is displayed in a diagram; thus, process properties can only be viewed and modified via the specification.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

To display a Process Specification, select a node icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-Click on the icon (if you have not executed the Double-Click to Diagram command).

Select the Details tab and double-click on a process in the Processes field to open the specification.

To define a new process, while on the Details tab of the Processor Specification, move the cursor to the Processes field and right-click to display the shortcut menu.  Click Insert and an entry item is added.  Double-click on the entry to display the Process Specification.

Specification Contents

The Process Specification consists of the following tab(s): General.

See Also

Deployment Diagram

Node

Node Specification


Process Specification General Tab

Click on any field or button for more information.


Connection Specification

A connection indicates a communication path between two nodes. A connection usually represents a direct hardware coupling, such as an RS232 cable; it can also represent an indirect coupling.

To access a Connection Specification, select a connection icon on the diagram and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

Specification Contents

The Connection Specification contains the following tab(s): General, and Detail.

See Also

Connection

Deployment Diagram

Node


Processes

Use this field to identify the processes for this node. Processes denote the root of a main program from a component diagram.

To create a process, position your mouse in the Processes area and click Insert using the shortcut menu. An Untitled name and Unknown priority entry is created. To change the name or priority, select the entity and type in the changes.

You can display a list of the processes for the node icon by click Show Processes from the shortcut menu.


Priority

This field contains the relative priority of this process, if there is one. You can use this information with the scheduling type identified in the Node Specification to show the order in which processes are scheduled.

To set a priority, enter a value that corresponds to the priority of this process.


Name

This field contains the name of the process. You can enter a name of a physical file without its suffix, where the component type corresponds to the file type. Or you can make a selection from the combo box.

The combo box list contains the names of all main program specification components in the model. Selecting an entry from the list sets the name of the process to be the same as the name of the main program. This creates an implied link between the task and the main program by matching the name.


Component Diagram

This field lists the component diagrams contained in the package. You can create a new component diagram in the package via Insert on the shortcut menu. You can also click Component Diagram from the Browse menu to create a component diagram in the package, as well as to rename or to delete existing component diagrams.

To display a specific component diagram listed in this field, double-click on its entry.


Stereotype (Component)

A component stereotype represents the subclassification of a UML component. The most common types of components are already predefined as stereotypes, including Main Program, Package Body, Package Specification, Subprogram Body, Subprogram Specification, Task Body, and Task Specification. You can also define your own to add new kinds of components.


Language

This field identifies the implementation language that is assigned to this component.

Note that when changing the implementation language of a component, the data types that are used in the specification of methods and properties of the assigned classes, are not automatically converted to data types in the new implementation language. Also, if you change the implementation language for a component with classes that are assigned to other components, a dialog box is displayed where you have to decide how to handle those classes.


Show All Classes

Select this option if you want to get a list of all classes in the model. If this option is not selected, you will see only the classes that are assigned to this component.


Classes

This list identifies the classes and interfaces that are assigned to this component (indicated with check marks). The Logical Package column shows to which package a class belongs, and the Language column shows the programming language that is assigned to a specific class.

You assign a class or interface to a component via Assign on the shortcut menu in this list, or by dragging a class or interface from the browser and dropping it in this list. Note that you can only assign classes that are unassigned, or classes that are assigned to components with the same implementation language as this component.


Select Help Topic

Select the appropriate help topic:

Connection Specification: General Tab Page

Component Specification: General Tab Page

Node Specification: General Tab Page


Component Specification - General Tab

Click on any field or button for more information.


Component Specification - Realizes Tab

Click on any field or button for more information.


Component Package Specification - General Tab

Click on any field or button for more information.


Component Package Specification - Detail Tab

Click on any field or button for more information.


Node Specification - General Tab

Click on any field or button for more information.


Node Specification - Detail Tab

Click on any field or button for more information.


Connection Specification - General Tab

Click on any field or button for more information.


Connection Specification - Detail Tab

Click on any field or button for more information.


Processor

The owner of the process is shown here.


Attaching and Editing Model Properties and Model Property Sets

•	Displaying or modifying the values of model properties

•	Removing an overriding item level model property

•	Making a model property item-specific

•	Reinstating the state and value of the last committed change

•	Attaching a model property set to a single element or a collection of elements

•	Displaying or editing a specific model property set

•	Creating a new model property set

•	Deleting a model property set


Displaying or Modifying Model Property Values

1.	Display a diagram that contains an icon representing the model element.

2.	Select the model element in the diagram.

3.	Open the model element's specification.  To do so, double-click on an element in a diagram, select a diagram element and execute the Specification command in the Browse menu, or select the Specification from the shortcut menu.

4.	Select the Code Generation tab.  The model property set attached to the element is displayed in the Set field.  The model properties related to the model element are displayed in the Model Properties List.

5.	To edit a model property value, select it and click on it a second time. This places the model property in edit mode.

6.	Select your choice from the drop down menu.  If no drop down menu is available, you may type in your changes.

7.	To complete the edit, click outside the edit box.

8.	Click OK or Apply to commit the changes to the item.

Model properties that are specified explicitly by the item, and hence override the attached model property set value, are drawn in normal text. Model properties that have been changed since the last apply are indicated by an asterisk in the left column.


Removing an Overriding Item Level Model Property

Editing a model property automatically makes it an overriding item-level model property.  To remove the overriding value from the item and once again inherit from the attached model property set:

1.	Select one or more model properties and click Inherit.

2.	Click OK or Apply to commit the changes to the item.


Making a Model Property Item Specific

1.	Select the model property(s) and click Override.

2.	Click OK or Apply to commit the changes to the item.


Reinstating the State and Value of the Last Committed Change

1.	Select the model property(s) and click Revert.


Attaching a Model Property Set to a Single Element or a Collection of Elements

1.	Display a diagram that contains an icon representing a model element.

2.	Select the model element in the diagram.

3.	Open the model element's specification.  To do so, double-click on an item in a diagram, select a diagram item and execute the Specification command in the Browse menu, or select the specification from the shortcut menu.

4.	Select the Code Generation tab.  The model property set attached to the item is displayed in the Set field.  The model properties related to the model item are displayed in the Model Properties List.

5.	Select a different model property set from the Set combo box.

6.	Commits are made as you move from page to page.  Also, as you move from set to set or type to type within the set-level model property page, any changes you have made to the currently displayed set are committed.


Displaying or Editing a Specific Model Property Set

1.	Select the element from the diagram.  If you are selecting a collection of elements, ensure that all the elements are of the same type. Selecting different model elements will result in a warning.

2.	From the Tools menu, point to Model Properties and click Edit Model Properties or press the F4 key. The code generator displays the Code Generation tab of the Options dialog box.  The kind of model item chosen is displayed in the Type field.

3.	Select the model property set name in the Set combo box.  All the model properties and values will be displayed.

4.	Modify model property set values by following instructions to edit a specific model property set, as listed above.

5.	Click Apply or OK to accept your changes.

Note:  Changes made to a model property are accepted whenever you activate ANY control in the editor.  For example, after editing a model property, you may select another model property to both accept the changes to the original model property and begin editing the newly selected model property.


Creating a New Model Property Set

1.	Select a model property set from the Set combo box to base your new model property set off of.

2.	Click Clone.

3.	Enter the new model property set name in the dialog box and click OK.  A new model property set is created as a copy of the current model property set.

4.	Modify model property set values by following instructions to edit a specific model property set, as listed above.


Deleting a Model Property Set

1.	Select a model property set from the Set combo box.

2.	Click Remove.  The model property set will be deleted from the model. An attempt will be made to find all the elements in the model that reference that set and change those elements to reference the default model property set.


CG_KC2_EDIT_PROPS_SET_NAME
Set Name

By default, this field identifies the model property sets currently attached to the model element.  The combo box contains the names of all currently-defined model property sets for the selected element kind.  If a collection of elements was selected and a variety of model property sets are related to those elements, this field will remain blank.  If a collection of elements was selected and each element is attached to the same model property set, the name of that model property set is displayed in the Set field.  This field may be disabled if model property sets don't exist for the selected element type.

When the selected model property set differs from the one attached in the last apply, an asterisk appears to the left of the "Set" label.


CG_KC2_EDIT_PROPS_CLONE_SET
Clone

This button is used to create a new model property set from the selected set.  Selecting it triggers a dialog box asking for the name of the new set.  Clone does not attach a new set.  It simply creates a new set with the model properties and values from the selected set, including all the uncommitted changes.  Clone is disabled when the model or property unit is write protected.


CG_KC2_EDIT_PROPS_REMOVE_TOOL
Remove

Removes the currently selected model property set from the model.  An attempt will be made to find all the elements in the model that reference that set and change those elements to reference the default model property set.


CG_KC2_EDIT_PROPS_PROPERTY
Model Properties List

This list holds the name of the model properties and their values.  Those model properties that inherit their value from the attached model property set are shown in disabled text.  Those model properties that are specified explicitly by the item, and hence override the attached model property set value, are drawn in normal text.  Changing the attached set affects only the inherited values displayed in the list.

The model property list may be sorted on any of the four columns labeled " * ", Name, Value, and Source.  Clicking the " * " header sorts changed items ahead of unchanged items.  Clicking the Source header sorts overridden model properties ahead of inherited model properties.  Clicking the Value header sorts model properties alphabetically by the value image.  Each time a column header is clicked, that column becomes the primary sort key, the previously selected column becomes the secondary sort key, and the one selected before that the tertiary key.

There are two sort orders for model property names. Initially, the model properties are sorted as entered by the model property set designer.  Alternatively, the model properties can be sorted alphabetically by name.  Each time the Name header is clicked, the sort order changes between these two.

Sorting is manual. After changing the values in a column, one of the header buttons must be clicked to sort the list.


CG_KC2_EDIT_PROPS_APPLY
Apply

This button applies your changes and returns you to the Edit Model Properties dialog box for further changes.


CG_KC2_EDIT_PROPS_REVERT
Revert

This button restores the state of the model properties to the last committed change.


CG_KC2_EDIT_PROPS_OK
OK

This button accepts your changes and closes the Edit Model Properties dialog box.

Selecting <Enter> from your keyboard has the same affect as selecting OK.


Type

The type displays the kind of model item whose model property sets you wish to view or edit.  The combo box provides a list of all the possible model element types.


Override

This button forces a model property to be element specific.


Default

This button sets the value of a model element to the value in the default model property set.


Edit Set

The Edit Set dialog box allows you to:

•	Display and modify the selected element's model properties.

•	Display and modify model property values in a model property set.

•	Create a new model property set.

•	Delete unwanted model property sets.

Step-by-step procedures for attaching, displaying, and modifying model properties and model property sets is provided in Attaching and Editing Model Properties and Model Property Sets.

Specification Contents

Select any field or button for more information:


Code Generation Specification

A code generation specification enables you to display or modify model properties, or to display, modify, or attach model property sets.

The Code Generation tab allows you to:

•	Determine which model property set is currently attached to the selected model element.

•	Display and modify the selected element's model properties.

•	Display and modify model property values in a model property set.

•	Create a new model property set.

•	Delete unwanted model property sets.

Step-by-step procedures for attaching, displaying, and modifying model properties and model property sets is provided in Attaching and Editing Model Properties and Model Property Sets.

Specification Contents

Select any field or button for more information:


Controlled Iterative Development (Overview)

In the controlled iterative process, development is carried out through a sequence of iterations. Each iteration begins with an assessment of the current analysis, design, and implementation to identify critical, unresolved risks; the most critical unresolved risks are used to drive the iteration. Scenarios illustrating the risks are identified, and the current analysis and design are extended to address the risks.

To provide objective proof that the risks have been mitigated, the current implementation is extended -- as minimally as possible -- and tests organized around the risk scenarios are constructed. It is common for the design to evolve during extension of the implementation. For example, new methods may be added, or several classes may be relocated from one package to another to strengthen an abstraction.

When the extended implementation successfully executes all tests, the implementation is reviewed and, if acceptable, the analysis and design model is updated to reflect the design changes instituted in the implementation. When this update is complete, the next iteration proceeds.


Analysis and Design (Overview)

The application’s method recommends the use of static and dynamic views of a logical model and a physical model to capture the in-process products of object-oriented analysis and design.  Using the notation, the application enables you to create and refine these views within an overall model representing your problem domain and software system.

This overall model contains classes,  logical packages,  methods, component packages, components, processors,  and the relationships between them. Each of these model elements possesses model properties that identify and characterize them. The notation provides graphical icons to represent each kind of model element and relationship.

A model also contains diagrams and specifications, which provide a means of visualizing and manipulating the model’s elements and their model properties. Since diagrams are used to illustrate multiple views of a model, icons representing a model element can appear in none, one, or several of a model’s diagrams. The application therefore enables you to control which element, relationship, and property icons appear on each diagram, using facilities provided by its application window. Within its application window, it displays each diagram in a diagram window, and each specification in a specification window.


Three-Tiered Architectural Approach (Overview)

The three-tiered architectural approach supports the object paradigm for the large client/server community. The application development model, often referred to as the Microsoft Three-Tiered Model, supports the creation of large, complex client/server applications.

The three-tiered model addresses the historic lack of concern for basing an application’s construction upon a layered software architecture that isolates the user interface and database from the domain of the problem being modeled. With the three-tiered model it is now feasible to create a family of applications based on a common set of components that is distributable, extensible, and maintainable.

The intent of three-tiered modeling is to support a more powerful form of object-oriented modeling, design, and programming than historically has characterized modeling application architectures. This approach is known as an architecture-driven, iterative development process. The cornerstone of this approach is a three-tiered architectural approach, which means the creation of a layered software architecture in which there is complete separation of the Data Services and the Business Services (domain model), from the User Services (user interface). In such an architecture, business rules map into classes and methods within business objects.

The following example is a representative architecture for a suite of applications centered around modeling a given business process area. This architectural approach promotes the distribution, and thereby reuse, of the business objects and libraries (logical packages) across applications, as well as supporting teams in managing an iterative, development process.


Adornment Menu - Definition
Shortcut Menu

A shortcut menu appears when you right-click a selection, an icon, or a specific screen region.  The shortcut menu lists only those commands specific to the selection or screen region.


Superclass - Definition
Superclass

The class from which another class inherits.


Subclass - Definition
Subclass

A class that inherits from one or more classes.


Class - Definition
Class

A set of objects that share a common structure and a common behavior.


Classes - Definition
Classes

A collection of one or more kinds of classes:

•	Class (plain)

•	Class utility


Classes - Definition
Classes

More than one of the same class kind.


Enclosing - Definition
Enclosing

Enclosing refers to:

•	The logical package to which a class or another logical package belongs

•	The component package to which a component or another component package belongs


Elide - Definition
Elide

Manually replace part of an item's name with "...", ensuring that the new name is unique.


Property - Definition
Properties

An object's properties are its attributes and relationships with other objects.


Attribute - Definition
Attribute  (or Property)

A part of an aggregate object.


Clients and Suppliers - Definition
Clients and Suppliers

Clients and suppliers are general names for classes that participate in a directed relationship. In such a relationship, the client class is the "subject" and the supplier class is the "direct object." A client knows something about its supplier, although the reverse is not necessarily true. In the following example:

•	Class A is a client of classes b, c, and d.

•	Classes b, c, and d are all suppliers of class A.


Relationship Levels - Definition
Relationship Levels

Relationship levels are a means of describing how closely (or distantly) two classes are related. The number of levels refers to the number of relationship arcs separating the two classes. In the following example:

•	Class A is directly related to class B because they are exactly one arc apart.

•	Class A is related to class C by two levels of indirection.

Note that the relationships must be "going in the same direction" -- that is, A would not be related to C if the has relationship between B and C were reversed.


Dependency- Definition
Dependency

A dependency indicates a client and supplier relationship. The client depends on the supplier to provide certain services. Use this relationship to indicate that the methods of the client invoke methods of the supplier.


Generalization Relationship- Definition
Generalization Relationship

A generalize relationship between classes shows that one class shares the structure or behavior defined in one or more other classes.


Public Access - Definition
Public Access

Export control indicating accessibility to all clients. Public methods (in compartments) and relationships have no hash mark adornments.


Protected Access - Definition
Protected Access

Export control indicating accessibility only to subclasses, friends, or to the class itself. Protected methods (in compartments) and relationships are adorned by one hash mark.


Private Access - Definition
Private Access

Export control indicating accessibility only to the class itself or to its friends. Private methods (in compartments) and relationships are adorned by two hash marks.


Implementation Access - Definition
Implementation Access

Export control indicating accessibility only to the class itself. Implementation methods (in compartments) and relationships are adorned by three hash marks.


Process - Definition
Process

A process transforms data values. Lowest-level processes are pure functions without side effects.


Event - Definition
Event

An event is an occurrence that may cause the state of a system to change; it has no duration and can precede or follow another event. An event can convey either information or data values from one object to another.


Component - Definition
Component

A component is a unit of code that serves as a building block for the physical structure of the system. A component contains declarations that form the physical realization of some or all of the classes and objects in the logical design of the system. A component typically has two parts: its interface and its implementation.


Free Subprogram - Definition
Free Subprogram

A procedure or function that is not a method of an object.


Invariant - Definition
Invariant

A Boolean expression of a condition whose truth must be preserved.


Public Access Component - Definition
Public Access Component

A public component is exported from a package and is usable outside of its enclosing package.


Implementation Access Component - Definition
Implementation Access Component

A component that is part of a package's implementation that cannot be used by any other component outside of its enclosing package.


Class Structure - Definition
Class Structure

A graph whose vertices represent classes and whose arcs represent relationships among these classes. The class structure of a system is represented by a set of class diagrams.


Concrete Class - Definition
Concrete Class

A class whose implementation is complete and thus may have instances.


Instance Variable - Definition
Instance Variable

A repository for part of the state of an object. Collectively, the instance variables of an object constitute its structure. Common synonyms for this term include field, member object, and slot.


Base Class - Definition
Base Class

The base class is the most generalized class in the class structure. For example, in the following inheritance lattice, the base class is "OrganicItem."


Action

An action may denote the invocation of a method, the triggering of an event, or the starting or stopping of an activity.


Node - Definition
Node

A node is a hardware component capable of executing programs.


Logical Package - Definition
Logical Package

Logical packages are clusters of highly related classes that are themselves cohesive, but are loosely coupled relative to other such clusters. The classes in a logical package collaborate to provide a set of services.

Logical packages serve to partition the logical model of a system. Each logical package can contain classes, interfaces, and other logical packages.


Component Packages - Definition
Component Packages

Component packages represent clusters of logically related components, paralleling the role played by logical packages for classes. Component packages serve to partition the physical model of the system. Each component package can contain components and other component packages.


Operation - Definition
Method

An method is a service provided by a class.


Connection - Definition
Connection

A connection is a direct hardware coupling between a node and a node.


Interface - Definition
Interface

A declaration of a collection of methods that may be used for defining a service offered by an instance of a class.


Model File - definition
Model File

A model file describes your problem domain and system software. Model files use the file name extension .mdl.

Because they utilize ASCII to represent the information they contain, model files can be used to transfer models between different computing platforms.


Petal File -definition
Petal File

A petal file provides persistent storage for one or more model items. Because ASCII is utilized to represent their contents, petal files can be used to transfer models or model items between different computing platforms, as well as to new versions of this software.

Petal files containing a complete model utilize the file name extension .mdl.


Model - definition
Model

A model is a representation of your problem domain and software system. A model contains classes, logical packages, methods, component packages, components, nodes, and the relationships between them. Each of these model elements possess model properties which identify and characterize them.

A model also contains diagrams and specifications which provide a means of visualizing and manipulating the model's elements and their model properties. Since diagrams are used to illustrate multiple views of a model, icons representing a model element can appear in none, one, or several of a model's diagrams. This enables you to control which elements and model properties appear on each diagram.


Diagram - definition
Diagram

Diagrams provide a means of visualizing and manipulating a model's elements and their model properties using graphical icons. Since diagrams are used to illustrate multiple views of a model, icons representing a model element can appear in none, one, or several of a model's diagrams. This enables you to control which elements and model properties appear on each diagram.


Top Level - definition
Top Level

Top level describes any model element or diagram in a model that is not nested within a logical package or element package. At the top level of a model you may have:

•	Logical packages that divide the logical representation of the model at the highest level of abstraction.

•	Component packages that divide the physical representation of your model at the highest level of abstraction.

•	Class diagrams that show logical packages and classes at the top level of your model.

•	Component diagrams that show component packages and components at the top level of your model.

•	A deployment diagram that shows the important nodes and connections for the system being modeled.

You may also have:

•	Classes that are not contained in a logical package.

•	Components that are not contained in a component package.


Main Diagram - definition
Main Diagram

Because a model may contain more than one class diagram, one class diagram is designated as the main class diagram for the model. Similarly, one component diagram is designated as the main component diagram for the model.


Specification - definition
Specification

A specification is a textual representation of a model element which allows you to view and manipulate the element's model properties.


Class Diagram - definition
Class Diagram

A class diagram shows the existence of classes and their relationships in the logical design of a system. A class diagram may represent all or part of the class structure of a system.


Component Diagram

A component diagram shows the allocation of classes to components in the physical design of a system. A component diagram may represent all or part of the component architecture of a system.


Deployment Diagram

A deployment diagram shows the allocation of processes to nodes in the physical design of a system. A deployment diagram may represent all or part of the process architecture of a system.


Logical Model - definition
Logical Model

A model containing actual elements of the design, such as classes, packages and relationships.


Model Element - definition
Model Element

An element of the notation that you can place in a model; examples include classes, logical packages, components, component packages, and the relationships between them.  Most model elements have properties that can be accessed or modified via a specification.


Class - definition
Class

A class refers to a plain class or class utility.


Model Property - definition
Model Properties

Model properties are modifiable values attached to a model and its elements which enable you to specify language-specific information that is not expressed in the notation.


Model Property Set - definition
Model Property Set

A named set of values for the model properties that apply to a particular kind of model element.


Model Property File - definition
Model Property File

A specially-formatted file that contains a complete set of model property sets.  You can create new model property files using the Export Properties command on the Tools menu. The file name extension for a model property file is .pty.


User-Defined Methods - definition
User-Defined Methods

Methods of a class that are detailed in the class specification.


client role - definition
Client Role

The role traversed from.


supplier role - definition
Supplier Role

The role traversed to.


Diagram Object Properties

The commands on the Diagram Object Properties menu (located under the Edit menu), can be used to customize various software features. The characteristics you set via this menu affect only the selected icon(s). Setting the same characteristics via the Options dialog box (located under the Tools menu) affect future items created on the diagram. Your options include:

•	Setting the Font Size and Style for Existing Text

•	Setting the Font Size and Style for New Text

•	Resizing Icons Automatically

•	Showing Visibility

•	Showing Properties and Methods for Existing Icons

•	Showing Properties and Methods for New Icons

•	Suppressing Properties and Methods for Existing Icons

•	Suppressing Properties and Methods for New Icons

•	Showing An Existing Method Argument

•	Showing a New Method Argument


Font Size

Use the Font Size for changing the size of labels and floating text. Font size can be set one of two ways.

To change the font size for text already in the diagram:

•	Select the text. Choose the desired font size from the Edit menu, point to Diagram Object Properties, and click Font Size.

To set the font size for all new text:

•	Click Options from the Tools menu. Click Font from the General tab on the Options dialog box. This command brings up the Font dialog box, through which you specify font characteristics.

See Also

Font Command


Font

Use the Font command to specify characteristics for the text in labels and floating text.

To change the font size of text already in the diagram:

•	Select the text.  Choose the desired font, from the Edit menu, point to Diagram Object Properties, and click Font Size. This will bring up the Font dialog box.

To set the font size for all new text:

•	Click Options from the Tools menu. Click Font from the General tab on the Options dialog box. The Font dialog box is displayed.

You can specify:

•	Font family (Helvetica, Times, etc.)

•	Font style (bold, italic, etc.)

•	Font size

•	Special effects (underline and strike through)

•	Color

•	Script

See Also

Font Size


Automatic Resizing

Use this command to enable the automatic resizing of icons to accommodate the text in the icon.

To automatically resize an icon already on the diagram:

•	Select the icon(s). Select the automatic resizing, from the Edit menu, point to Diagram Object Properties, and click Automatic Resize. The icons will be resized to accommodate the text in the icon.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).  Note that Automatic Resize does not work on package icons.

To automatically resize all new icons created on the diagram:

•	Click Options from the Tools menu. Click  the Diagram tab on the Options dialog box.

A check mark next to Automatic Resizing indicates the feature is enabled for all new icons created on the diagram.


Show All Properties

Use this command to show all properties for a class.

To show all properties of an icon already on the diagram:

1.	Select the icon(s).

2.	From the Edit menu, point to Diagram Object Properties, and click Show All Properties or, from the shortcut menu , point to Options and then click Show All Properties.

The properties for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

To show all properties for all new icons created on the diagram:

1.	Click Options from the Tools menu.

2.	Click the Show all properties check box on the Diagram tab.

The properties for all future icons will be displayed.

A check mark next to this command means the feature is enabled for all future icons.

See Also

Inplace Editing


Show All Methods

Use this command to show all methods for a class.

To show all methods of an icon already on the diagram:

1.	Select the icon(s).

2.	From the Edit menu, point to Diagram Object Properties, and click Show All Methods. or, from the shortcut menu , point to Options and then click Show All Methods.

The methods for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected classes.

To show all methods for all new icons created on the diagram:

1.	Click Options from the Tools menu.

2.	Click the Show all methods check box on the Diagram tab. The properties for all future icons will be displayed.

A check mark next to this command means the feature is enabled for all future classes.

See Also

Inplace Editing


Suppress Properties

Use this command to suppress the display of all properties for a class.

To suppress properties for a class already on the diagram:

•	Select the icon(s).  From the Edit menu, point to Diagram Object Properties, and click Suppress Properties. The properties for the selected class(es) will not be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected class(es).

To suppress properties for all new classes created on the diagram:

•	Click Options from the Tools menu. Click the Suppress all properties check box on the Diagram tab. The properties for all future icons will be displayed.

A check mark next to this command means the feature is enabled for all future class(es).


Suppress Methods

To suppress methods for a class already on the diagram:

•	Select the icon(s). From the Edit menu, point to Diagram Object Properties, and click Suppress Methods. The methods for the selected class(es) will not be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected class(es).

To suppress methods for all new classes created on the diagram:

•	Click Options from the Tools menu. Click, the Suppress methods check box on the Diagram tab. The methods for all future icons will not be displayed.

A check mark next to this command means the feature is enabled for all future class(es).


Show Method Arguments

Use this command to show the signature of method arguments.

To show method arguments  for a class already on the diagram:

•	Select the icon(s). From the Edit menu, point to Diagram Object Properties, and click Show Method Arguments The Method Argument for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

To show method arguments for all new classes created on the diagram:

•	Click Options from the Tools menu. Click the Show Method Arguments checkbox located on the Diagram tab. The Method Argument for the future icon(s) will be displayed.

A check mark next to this command means the feature is enabled for all future icon(s).

The format for the signature is:

Name (Argument-List):Return Type

where Argument list is Name:Type


Inplace Editing

All properties and methods shown in a class diagram are subject to inplace editing.  Inplace editing of properties and methods consists of adding, editing, and deleting from the class diagram. All changes are reflected in the Properties and Methods tabs of the Class Specification.

The following values are editable inplace for properties:

1.  Visibility (public, protected, private, or implementation)

2.  Static and derived

3.  Property name

4.  Type

5.  Initial value

The following values are editable inplace for methods:

1.  Visibility (public, protected, private, or implementation)

2.  Method name

3.  Argument name

4.  Argument type

5.  Argument default value

6.  Static

7.  Return type

Editing a property or method:

•	Click on the list section. The property or method closest to the mouse cursor opens for inplace editing. The text input cursor indicates that a property or method has been selected for editing.

•	Move the input cursor within the text using the mouse, arrow buttons, and <Home> and <End> keys. Move the input cursor between property or method text strings with the mouse.

•	You can cut, copy, and paste parts of strings using the mouse or shortcuts.

•	You can delete using <Backsp> and <Delete>.

Adding new Properties or Methods

•	While editing a text string, select the <Return> key to position the input cursor directly after the current line, allowing for  a new property or method. You can also select the <Insert> key to position the input cursor directly before the current line, allowing for a new property or method. The class icon is automatically resized to accommodate the new line if the autoresize option is on. If the autoresize option is off, the compartment text is adjusted to accommodate the new lit but the class icon retains its size.

or...

•	Click Insert New Property or Insert New Method from the shortcut menu. The new property or method is positioned as the last item of its kind, at the bottom of the section. The class icon is automatically resized to accommodate the new line if the autoresize option is on. If the autoresize option is off, the compartment text is adjusted to accommodate the new lit but the class icon retains its size.

The software provides a default prototype of the property and method strings. The following is an example of the property string:

me : type = intval

where me is the property name, type is the property type, and intval is the initial value.

The following is an example of the method string:

+opname ( argname : argtype = default) : return

where + denotes the visibility characteristic, opname is the method name, argname is the argument name, argtype is the argument type, default is the argument's initial value, and return is the return type.


Class Name Completion

As you edit an overloaded class on a diagram, a pop up box listing all current class names, with their fully qualified path name is displayed. You can select one of these names by double-clicking or by hitting the ENTER or TAB key when the correct name is highlighted.

You do not need to select one of these names, you can enter any name you want.

The absence of a check mark indicates this feature is disabled.


Name

Each unique model element must have a unique name, and each relationship can be labeled with a word or phrase that denotes the semantics or purpose of the relationship. You can enter the name in the diagram or in the Name field in the specification.

•	If you enter the name in the diagram, your entry is displayed in the Name field.

•	If you enter the name in the specification, the software displays the new name in the element icon and updates the information in the model.

You can rename an element using one of the following methods:

•	Change its name in the diagram.

•	Change its name in the specification.

For more information about renaming, see Renaming a Model Element.

For more information about particular model components, see Special Case Notes.


Special Case Notes - Name

class property - each property must be unique within a class.

method - omit the function parenthesis when entering the method name. The software automatically displays the parenthesis when you display the method in the class compartment.

connection - the name field is optional.

component package - a component package name corresponds to a physical file in a development directory.

component - a component name corresponds to a physical file without its suffix.


Documentation

Use the Documentation field to describe model elements or relationships. The description can include such information as the roles, keys, constraints, purpose, and essential behavior of the element. You can enter information in this free-form text field either here or through the Documentation Window. This field is not displayed in the diagram.

To enter a description, click in the Documentation field and enter the text.

Note:  If you document a class and identify the concepts or functions represented by the entity, you can use the field to form a basis of a more traditional data dictionary. You can also list the statements of obligation to provide certain behavior with the class. You can use this entry as a place holder for the responsibilities of the class that you will determine during development.


Diagrams

This field lists the diagrams contained in the package. When you add a diagram to the package,  this list is automatically updated.

The Title field contains the title of the diagram you entered (and can be modified). The Type field is a read-only descriptive text field describing the type of diagram.

To add a new diagram, use the shortcut menu and select the appropriate insert diagram option.

The newly-created diagram is displayed.


Parent

The parent the component belongs to (its package) is displayed in this static field.


Export Control

The Export Control field specifies how a class and its elements are seen outside of the package in which they are defined.

Select:	To Indicate:

Public	The element is visible outside of the enclosing package and you can import it to other portions of your model. Methods are accessible to all clients.

Protected	The element is accessible only to nested classes, friends, or to the class itself.

Private	The element is accessible only to nested classes, friends, or to the class itself.

Implementation	The element is visible only in the package in which it is defined. A method is part of the implementation of the class.

The Export Control field can be set only in the specification. No special annotation is related to access control properties.

To change the export control type for the component, click on the appropriate option in the Export Control field. You can display the implementation export control in the component compartment, where applicable.


Cardinality / Multiplicity
Cardinality

The Cardinality field specifies the number of expected instances of the class. In the case of relationships, this field indicates the number of links between each instance of the client class and the instances of the supplier class. You can set a specific cardinality value for the client class, supplier class, or both.

Use the following syntax to express cardinality:

Value	Description

n (default)	Unlimited number of instances

1	One instance only

0..n	Zero or more instances

1..n	One or more instances

0..1	Zero or one instance

<literal>*	Exact number of instances

<literal>..n	Exact number or more instances

<literal>..<literal>	Specified range of instances

<literal>..<literal>, <literal>	The number of instances will be in the specified range or an exact number of instances

<literal>..<literal>,	The number of instances will be in one of the specified ranges

 <literal>..<literal>

* Where <literal> is any integer greater than or equal to one.

You can set or display cardinality through the specification or from the shortcut menu.


Methods

Methods denote services provided by the class. Methods can be methods for accessing and modifying class fields or methods that implement characteristic behaviors of a class.

In the Class Specification, the Methods field lists the methods that are members of the class. In the Method Specification, the Methods list box enumerates all methods accepted by the element which receives the message, including those inherited from superclasses. If the class of the destination element has not been defined, this list box will be empty.

This information is stored in a Method Specification. You can access Method Specifications only through the Class Specification.

To enter a method in the Class Specification, use Insert from the shortcut menu.

The method name is added to the Methods list.

The following fields can be edited:  Access Control, (left most, unlabeled field), Signature, and Return type.

The Methods field is active for all class types. In the class diagram, you can display method names in the class compartment.


Class

The class the element belongs to is displayed here. The default class for a newly created element is (Unspecified).

You can set this field only through the specification.


Role

Use the Role field to label the role with a name that denotes the purpose or capacity wherein one class associates with another.

To enter a role name, click in the Role field from the Association Specification and enter the text.


Friend

The friend adornment designates that the supplier class has granted rights to a client class to access its non-public parts.

You can set this field in the Relationship Specification or through the relationship's shortcut menu.


Characteristics

Use the Characteristics text field to specify a physical description of the hardware component. For example, you can describe the kind and bandwidth of a connection, the manufacturer, model, memory, and disks of a machine. You can set this field only through the specification. This information is not displayed in the deployment diagram.

To update this field, click in the Characteristics field and enter the information.


OK

Clicking OK applies the changes made to the specification and closes the dialog box, returning focus to the diagram.


Cancel

Clicking Cancel cancels all changes and closes the dialog box.


Apply

Clicking Apply applies the changes made to the specification and leaves the specification open.


Help

Clicking Help invokes the on-line help topic related to the specification.


Browse

Clicking Browse displays 4 choices:

Select in Browser which highlights the selected element in the browser

Browse Parent which opens the specification for the parent of the selected element.

Browse Selection which opens the specification for the currently selected element.

Show Usage which displays a list of all diagrams in which the currently selected element is the supplier, or in the case of a collaboration diagram, a list which shows the usage of a message.


Rename

Clicking Rename renames the currently selected project and leaves the specification open.


Delete

Clicking Delete deletes the currently selected project and leaves the specification open.


Package

The package the component belongs to is displayed in this static field.


Navigating a Model Using the Browser

The browser is an easy-to-use alternative to menus and toolbars for visualizing, navigating and manipulating items within your model. The browser provides:

•	A hierarchical view of all items in a model.

•	Drag and drop capabilities that allow you to change a model’s characteristics.

•	Automatic updating of model items to reflect changes you make in the browser.

Using the browser you can:

•	Display a diagram window by double-clicking the name or icon in the browser window.

•	Display an item’s specification by double-clicking the item in the browser or in a diagram window. (Any changes you make to the specification are automatically reflected in both the browser and the diagram.)

•	Bring focus to an item in the current diagram by selecting the item in the browser or in the diagram window.

See Also

Hiding and Viewing the Browser

Positioning the Browser

Expanding and Collapsing the Browser Tree

Navigating a Model

Creating and Editing Model Elements in the Browser

Using Drag and Drop in the Browser


Hiding and Viewing the Browser

On startup, the browser is visible by default.  It appears in docked position, to the left of the toolbox and diagram areas.

To hide the visible browser window

•	Click Browser from the View menu.

The absence of a check mark indicates the browser is not visible.

To display the hidden browser window

•	Click Browser from the View menu.

A check mark indicates the Browser is visible.

See Also

Expanding and Compressing the Browser Tree


Positioning the Browser

You can change the size and position of the browser according to your own preferences.  The browser can be:

Docked — positioned along the border with a fixed size

Floating — moved to any location with a variable size

Using a Docked Browser

The browser is in docked position by default.  To redock it at any time:

1.	Click on any border of the browser.

2.	Drag the browser to any application window border.

Using a Floating Browser

To use a floating browser:

1.	Click on any border of the browser.

2.	Drag the browser to the desired position.

3.	Resize the browser window, if necessary.

Note:  As with any resizeable window, you can resize the browser by pointing to a border and dragging the pointer to increase or decrease the window’s dimensions.


Expanding and Compressing the Browser Tree

The browser provides a visual representation of your model’s hierarchy.  The elements in this hierarchy are either:

•	Compressed — a + sign next to an icon indicates that the icon is compressed (or collapsed), that is, it contains other model components.  This is the default setting when you start your application. Click the + sign to expand the icon and view its subordinate items.

•	Expanded — a - sign next to an icon indicates that the icon is fully expanded. Click the - sign to collapse the item.


Creating and Editing Model Elements in the Browser

You can use the browser’s drag-and-drop capabilities to create and edit model elements in the following ways:

•	Drag one element in the browser to another element in the browser. Your diagram will automatically be updated to reflect the changes you make in the browser.

•	Drag elements from the browser to appropriate diagrams.

•	Drag elements from the browser to a specification.

•	Drag software modules (executables, DLLs, etc.) from Microsoft Explorer to the component view in the browser.

See Also

Browser to Browser Capabilities

Browser to Diagram Capabilities

Browser to Specification Capabilities


Using Drag and Drop in the Browser

The drag and drop feature allows moving elements within the browser and from the browser to class diagrams, component diagrams, and specification.

Specifically, you can:

•	Relocate classes, interfaces and packages between packages.

•	Move class methods and properties between classes.

•	Move class diagrams between packages.

•	Relocate components and component packages between component packages.

•	Move component diagrams between component packages.

•	Place classes, interfaces and component packages on class diagrams.

•	Place components and component packages on component diagrams.

•	Assign classes and interfaces to components.

You cannot re-order items on the browser.

See Also

Creating and Editing Model Elements in the Browser


Printing a Diagram into a Microsoft Word Document

There are two ways to print a diagram into a Microsoft Word document.

Option A:

Click on the diagram you want to put into your document and click Select All from the Edit menu.

1.	Copy the diagram to the clipboard using Copy from the Edit menu.

2.	Position the cursor in the word document where you want the diagram to be placed and click Paste from the Edit menu.

Option B:

1.	On the File menu, point to Printer Setup and then click Options.

2.	Click on Encapsulated Postscript.

3.	Enter a file name in the Name: box.

4.	Click OK from the Options and Printer Setup from the File menu.

5.	Click Print Diagram from the File menu.

6.	Open Word.

7.	Click Picture from the Insert menu, and enter the file name you entered in step 3 above.

Note:  When using Option B, make sure you print only the current diagram to the file.  Also, you are not warned if you are going to overwrite the file when you print.  And finally, you won't see the actual diagram in your Word document; only a postscript reference is displayed.

Clicking the Print icon displays the Print Diagram dialog box allowing you to print diagrams to the default printer.  To print specifications or change printer setup, select either Print Specifications or Print Setup from the File menu.


Using the Mouse to Create and Edit Diagrams

The following table tells you how to create and edit diagrams using the mouse:

To:	Do This:

Place a single item icon	Choose the item icon from the diagram toolbox and click anywhere in the diagram. The application inserts and selects the icon deselecting any other icons. The mouse returns to selection mode.

Place multiple item icons	Choose the item icon from the diagram toolbox, hold down the SHIFT key, and click once in the diagram for each icon you want to create. The application inserts and selects the icon deselecting any other icons. As long as you hold down the SHIFT key, the mouse stays in creation mode.

Place a single relationship icon	Choose the relationship icon from the diagram toolbox, point to the client item icon on the diagram, press the left mouse button, drag the pointer to the supplier item icon on the diagram, and release the mouse button. The application inserts and selects the relationship, deselecting any other icons. The mouse returns to selection mode.

Place multiple relationship icons	Choose the relationship icon from the diagram toolbox, hold down the SHIFT key, and, for each relationship you want to create, point to the client icon on the diagram, press the left mouse button, drag the pointer to the supplier item icon, and release the mouse button. The application inserts and selects the relationships, deselecting any other icons. As long as you hold down the SHIFT key, the mouse stays in creation mode.

Place floating text	Choose the ABC icon from the diagram toolbox. To create a textbox of the default size, click in the drawing area of the diagram. To create a textbox of another size, press the left mouse button, drag the mouse to create a create an outline of a new textbox, and then release the mouse button. The pointer becomes a text insertion bar in the new textbox.

Show shortcut menu	Point to an item or relationship and click the right mouse button.

Select a single icon	With the selection tool active, position the pointer on the icon and click the left mouse button. Black "handles" around the icon indicate that it's selected.

Select multiple icons	With the selection tool active, hold down the CONTROL or SHIFT key, and, for each icon you want to select, position the pointer on the icon and click the left mouse button. Black "handles" around the icons indicate that they're selected.

Alternatively, with the selection tool active, position the pointer to an open area, press the left mouse button, drag the mouse to create a dashed selection box around the group of icons you want to select, and release the mouse button.

Deselect all icons	Click in any open area of the diagram.

Deselect a single icon	While holding down the CONTROL or SHIFT key, click on the icon you want to deselect. Any other items that were selected remain selected.

Resize an icon or text box	Select the icon. Position the pointer on one of the selection "handles" around the icon, click and drag. The icon's proportions remain the same.

To change the proportions of an icon, hold down the CONTROL key while using the mouse to resize the icon.

Move icon(s)	Select the icon(s), press the left mouse button, drag the pointer to the new location, and release the mouse button.

Bend a relationship	Point to the relationship where you want a bend, press the left mouse button, drag the pointer to the new location for that section of the relationship, and release the mouse button.

Move a relationship	Point to the end of the relationship you want to move, press the left mouse button, drag the pointer to the new icon for that end of the relationship, and release the mouse button. When you release the mouse button, the software redraws the relationship between the two new item icons and updates the model.

Change type of icon	Choose the new type of item or relationship icon from the diagram toolbox. While holding down the ALT or META key, click on the item icon you want to change to the new kind of item. The software changes the kind of item in the diagram and updates the model.


Using Drag and Drop in a Model

Drag and Drop is a common procedure for moving text, icons, graphics, etc., from one part of the screen to another.

1.	Put the pointer over the item.

2.	Hold down the mouse and drag the mouse to the new location.

3.	Release the mouse button.

Drag and drop works in the browser and specifications.

You can also drag and drop text from a Microsoft Word document into your diagram. The text is then automatically placed in a note icon on the diagram.


Using Drag and Drop in a Specification

The drag and drop feature in specifications works within a single specification list, between specification editors, between the specification and the browser and between elements on the model.

Methods on the Methods tab and Properties on the Property tab may be moved:

•	Within the same list

•	To and from other open tab pages of the class specification

•	To and from classes in the browser

Moving an item to a different position in the same list places it under the drop destination. Moving an item to another class inserts it at the drop position.

You can change the owner of a method or property by dropping the item on the new owner (class).


Navigating in the Tabs

The methods used to navigate through the specifications are very similar throughout all tabs and are discussed below.

The lists typically consist of one row per related element, for example, methods in the class specification.

The rows are divided into columns, describing aspects of the rows, e.g visibility and selector for a method.

Navigating Between Rows and Columns

1.	Select the row or column with the pointer or use the arrow keys on the keyboard.

Adding Entries

1.	Click Insert from the shortcut menu or press the INSERT key.

An untitled entry is added.

Deleting Entries

1.	Select the row and choose Delete from the shortcut menu or press the DELETE key.

Editing Entries

1.	Select the item you want to edit and press F8 or double-click.

2.	Enter text into the column or select from a drop-down menu depending on the item type you selected.

3.	Accept the change by pressing the ENTER- CR or TAB key or cancel the addition by pressing the ESC key.

To open the specification for an element displayed in a list, select the row and column and select Specification from the shortcut menu or double-click on the column. For example, double-clicking on the Name column in the Relations tab of the Class Specification will open the specification for the relation, while double-clicking on the End Class column in the same list will open the specification of the related class.

Reordering Rows

1.	Select the row to be moved and drag it to the new location in the list.

It is not possible to reorder rows in every list tab.

Moving Items

1.	Select the row and drag it to the new location.

The item may be moved to another specification, the browser or an open diagram.


Using OLE

OLE is an object-oriented technology, designed for creating, managing and accessing object-based components across process and machine boundaries.

You can create a link between a diagram in your model (the source) and another application like Microsoft Word. By creating this link, any changes you make to your diagrams are automatically reflected in the document containing the link (the container).

Creating a Link

After creating and saving your model, copy the contents of a diagram, either by CTRL +C or via Copy on the Edit menu.

Inserting a Link

In an OLE container, for example a Microsoft Word document:

1.	Click Paste Special from the Edit menu.

2.	Click the Picture option and Paste Link.

3.	Click OK.

If you select just Paste you will get a meta file picture inserted into the container. This meta file is not navigable and becomes native data in the container.

Navigating

To navigate from your OLE container (e.g. your Microsoft Word document) to the application, use the steps for opening OLE linked objects, typically double-click or Open from the Edit Object menu.

Note:  Moving your linked files may break the link.  It does not, however, affect the object in the container. If the link breaks, you can manually reestablish it from most OLE containers with the “Change source” option from the Links dialog.

Editing of Diagrams

Unless the unit is read only, you can edit your linked (source) diagram. When you modify your diagram, the link is updated to reflect the new state. Depending on the application containing the diagram, you may have to do a manual update to see your changes. Refer to your application manual for details.


Navigating with the Keyboard

To Do This:	Type This:

Move between windows	CONTROL-TAB

Display the contents of a menu 	ALT or META in combination with the underlined letter in the menu's name

Activate a menu command 	Display the menu and type the underlined letter in the command's name, or type the key combination indicated next to the command's name (summarized in command accelerators)

Close an open menu	ESCAPE

Move between areas of a dialog box	TAB or SHIFT-TAB

Select an item in a dialog box	SPACE BAR

Cancel a dialog box	ESCAPE

Perform the action in a dialog box	RETURN or ENTER


Using Command Accelerators

These key combinations can be used from the same windows and dialog boxes as the menu commands they accelerate. For language specific accelerators, see the Index.

Edit Commands

Undo	CONTROL-Z

Cut	CONTROL-X

Copy	CONTROL-C

Paste	CONTROL-V

Delete	DEL

Delete from Model	CONTROL-D

Relocate	CONTROL-L

Select All	CONTROL-A

View Commands

Zoom to selection	CONTROL-M

Zoom in	CONTROL-I

Zoom out	CONTROL-U

Refresh	F2

Browse Commands

Expand	CONTROL-E

Parent	CONTROL-P

Specification	CONTROL-B

Referenced Class	CONTROL-R

Previous Diagram	F3

Help

Context sensitive help	F1


Creating Components

Components are needed to map each class in a model to the appropriate programming language and software module. Components are also used to represent software modules that are used by the system that is being developed.

To create a new component:

1.	Select the component view, or a component package to which the new component shall belong, in the browser.

2.	Right-click to display the shortcut menu. Click Component.

3.	Double-click on the new component to open its specification.

4.	On the General tab, give the new component a name in the Name field, select the type of component in the Stereotype field, and assign an implementation language to the component in the Language field.

To create a component from an existing software module:

1.	Drag the module from the Microsoft Explorer and drop it in an open class diagram, component diagram, or on a component package in the browser.  The drag and drop feature supports the following component types: executables (.exe), ActiveX (.ocx), Data Link Libraries (.dll), and Type Libraries (.tlb).

•	Components that are dragged from the Explorer into the model should be restricted to components that are external to the model, or components used by the modeled system only.  These components are not intended to be reverse engineered into the model since they rarely contain the complete source code.  They are only necessary when building your system.

2.	If the module contained all the necessary information the component is created in the following way:

•	If the drop target is a component package or one of its diagrams, the new component will belong to that package. Otherwise, the new component is added to the main component diagram.

•	A logical package with the same name as the new component is created in the logical view. The new logical package contains the interface items that are provided by the corresponding software module. The interface of the new component can now be used by the classes in the model.

•	If the drop target is a logical package or one of its diagrams, the logical package for the new component is added to that package.


Assigning Classes and Interfaces to Components

A class or interface can be assigned to a component of a specific implementation language, or to several components with the same language.

To assign a class (or interface) to one or several components:

1.	Select the class in the browser, or in a diagram, and open its specification.

2.	On the Components tab, click the Show All Components option.

3.	Right-click on the appropriate component and click Assign.

Note:  You can also drag the component from the browser and drop it on the appropriate class in a diagram or in the browser, or on the Components tab of the Class Specification.

To assign several classes (or interfaces) to a single component:

1.	Select the component in the browser, or in a component diagram, and open its specification.

2.	On the Realizes tab, click the Show All Classes option.

3.	For each class that should be assigned to this component, right-click on the class and click Assign.

Note:  You can also drag each class or interface from the browser and drop it on the appropriate component in a component diagram or in the browser, or on the Realizes tab of the Component Specification.

See Also

Reassigning A Class to A Component with A Different Language


Choosing Fundamental Types for a Class

When specifying a method, method argument, or property of a class, you are able to select a fundamental type. If you are going to generate code from the class, it is recommended that you use only the fundamental types defined by the generated implementation language. To restrict the list of available fundamental types in a class specification, to show only those types that are available in a specific language, you have to assign the class to a component of that language.

To assign a language to a class (which is the same as assigning it to a component):

1.	Open the specification of the class.

2.	On the Components tab, click the Show All Components option. In the Language field you can see which language is assigned to each component.

3.	Right-click on the appropriate component and click Assign. The class is assigned to the chosen component, and a tab for the corresponding language is added to the class specification.

To look up which language is assigned to a class:

1.	Open the specification of the class.

2.	You can see which language is assigned to the class, if any, by the existence of a separate tab with the language as the title. Also, on the Components tab, the Language field of the component(s) to which this class is assigned shows the language of the class.


Changing the Language of a Component

If you are going to generate code from a class, you cannot use fundamental types other than those defined by the assigned language.  Therefore, if you change the implementation language of a component you must also verify that the data types of the assigned classes’ methods, properties, and formal arguments comply with the new language.  These data types are not automatically changed to reflect the new language assignment.  You must perform this task manually.

If the assigned language is changed for a component that has classes assigned to it, and those classes are also assigned to other components, then a dialog box will ask you how to proceed.  You can either change the language of those other components or unassign the classes from the other components.

To Change the Language of a Component:

1. 	Select the component in the browser, or in a diagram, and open its specification.

2. 	On the General tab, assign a new implementation language to the component in the Language field.

•	The data types that are used in the specification of the assigned classes’ methods, properties, and formal arguments will remain data types of the original language.  You must manually change all data types that do not conform to the new language.

See Also

Changing Data Types


Changing Data Types

To manually change the data types:

1. 	Identify the classes assigned to the component through the Realizes tab on the Component Specification.

2. 	Open the class specification by selecting the class from the list on the Realizes tab and clicking Specification… from the shortcut menu, or by double-clicking on the class.

3. 	Open the Detail tab and verify that the data types of the Formal Arguments comply with the new language.  If not, change accordingly.

4. 	Open the Methods tab and verify that the data types of the Return Types comply with the new language.  If not, change accordingly.

5. 	Open the Properties tab and verify that the data types comply with the new language.  If not, change accordingly.


Reassigning A Class to A Component with A Different Language

A class or interface that was assigned to a component whose language is the default language can be reassigned to a component with a different implementation language.  Doing so will remove the class or interface from other components with the default language.  Classes and interfaces can only be assigned to components with the same language.

To assign a class (or interface) to a component with a different language:

1.	Select the class in the browser, or in a diagram, and open its specification.

2.	On the Components tab, click the Show All Components option.

3.	Right-click on the appropriate component with a different language (XXX) and click Assign.

Note:  You can also drag the component from the browser and drop it on the appropriate class in a diagram or in the browser, or on the Components tab of the Class Specification.

4. 	A dialog box appears with the following message:

Changing the language of the Class/Interface to XXX language means that it will be removed from the following Components: <list of components with the default language separated by commas> .

Classes/Interfaces may only be assigned to components with the same language.

5. 	Click OK and the necessary assignments/reassignments will be made.

6. 	Click Cancel and the class/interface will not be reassigned to a component with a different language.


Using Sort

Sorting in the Browser

Sorting in the browser enables you to arrange classes, properties, methods, and packages in alphabetical order.

Follow these steps to place items alphabetically in the browser:

1. 	Highlight a class or package icon.

2. 	Right-click on the icon.

3. 	Click Sort in the shortcut menu.

Note: The arranged items in the browser will not be saved when you close the application.

Sorting in the Class Specification

Sorting in class specification enables you to arrange properties and methods three ways.

Follow these steps to arrange items in class specification:

1. 	Highlight a property or method.

2. 	Right-click on any Field Identifier bar located in class specification.

3. 	Click either Ascending, Descending, or No Sort from the shortcut menu options.

•	Ascending: Lists properties and methods in case-sensitive alphabetical order

•	Descending: Lists properties and methods in reverse, case-sensitive alphabetical order

•	No Sort: Lists properties and methods in no particular order; all items appear in the order created

See Also

•	Using Drag and Drop in the Browser

•	Using Drag and Drop in a Specification


Setting the Font Size and Style for Existing Text

To change only the font size:

1.	Select the text.

2.	On the Edit menu, point to Diagram Object Properties.

3.	From the Diagram Object Properties, point to Font Size and then click on the size you want.

To change font characteristics:

1.	Select the text.

2.	On the Edit menu, point to Diagram Object Properties.

3.	From the Diagram Object Properties, point to Font.

This will bring up a standard font dialog box. From here, you can specify:

•	Font family (Helvetica, Times, etc.)

•	Font style (bold, italic, etc.)

•	Font size

•	Special effects (underline and strike through)

•	Color

•	Script

See Also

Setting the Font Size and Style for New Text


Setting the Font Size and Style for New Text

Use the font size for changing the size of labels, floating text and the documentation window.

To set the font size and style for all new text:

1.	Click Options from the Tools menu.

2.	Click the General tab if necessary.

3.	Under Default font, click Font…for floating text and labels. (To modify the documentation window font, under Documentation window font, click Font….)

This command brings up a standard font dialog box, through which you specify font characteristics.

You can specify:

•	Font family (Helvetica, Times, etc.)

•	Font style (bold, italic, etc.)

•	Font size

•	Special effects (underline and strike through)

•	Color

•	Script

See Also

Setting the Font Size and Style for Existing Text


Resizing Icons Automatically

Use this command to enable the automatic resizing of icons to accommodate the text in the icon.

To automatically resize an icon already on the diagram:

1.	Select the icon(s).

2.	On the Edit menu, point to Diagram Object Properties, and click Automatic Resize.

The icons will be resized to accommodate the text in the icon.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

Note: Automatic Resize does not work on packages.

To automatically resize all new icons created on the diagram:

1.	Click Options from the Tools menu.

2.	Click the Diagram tab on the Options dialog box.

A check mark next to Automatic Resizing indicates the feature is enabled for all new icons created on the diagram, with the exception of packages.


Showing Properties and Methods for Existing Icons

Use this command to show all properties and all methods for a class.

To show all properties and methods of an icon already on the diagram:

1.	Select the icon(s).

2.	From the Edit menu, point to Diagram Object Properties, and click Show All Properties or Show All Methods.

3.	The properties or methods for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

See Also

Using In-Place Editing


Showing Properties and Methods for New Icons

To show all properties and methods for all new icons created on the diagram:

1.	On the Tools menu, click Options.

2.	Click the Diagram tab.

3.	Click the Show all methods or Show all properties check box.

The properties or methods for all future icons will be displayed.

A check mark next to this command means the feature is enabled for all future classes.

See Also

Using In-Place Editing


Suppressing Properties and Methods for Existing Icons

Use this command to suppress the display of all properties or methods for a class.

To suppress properties or methods for a class already on the diagram:

1.	Select the icon(s).

2.	On the Edit menu, point to Diagram Object Properties, and click Suppress Properties  or Suppress Methods.

The properties or methods for the selected class(es) will not be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected class(es).

See Also

Suppressing Propertiesand Methods for New Icons


Suppressing Properties and Methods for New Icons

To suppress properties or methods for all new classes created on the diagram:

1.	On the Tools menu, click Options.

2.	Click the Diagram tab.

3.	Click the Suppress properties or Suppress methods check box.

The properties or methods for all future icons will not be displayed.

A check mark next to this command means the feature is enabled for all future class(es).

See Also

Suppressing Properties and Methods for Existing Icons


Showing an Existing Method Argument

Use this command to show the signature of method arguments.

To show method arguments for a class already on the diagram:

1.	Select the icon(s).

2.	On the Edit menu, point to Diagram Object Properties, and click Show Method Agruments. The Method Arguments for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

The format for the signature is:

Name (Argument-List):Return Type

where Argument list is Name:Type

See Also

Showing a New Method Argument


Showing a New Method Argument

To show the method arguments for all new classes created on the diagram:

1.	On the Tools menu, click Options.

2.	Click on the Diagram tab.

3.	Click the Show Method Arguments check box. The Method Arguments for the future icon(s) will be displayed.

A check mark next to this command means the feature is enabled for all future icon(s).

The format for the signature is:

Name (Argument-List):Return Type

where Argument list is Name:Type

See Also

Showing An Existing Method Argument


Showing Visibility

Class Properties and Methods

Use this command to show the access adornments (visibility) of class properties and methods within the class compartment. There are four types of access adornments: public, private, protected and implementation.

Imported Class

You can also use this command to display information about imported classes. If a class is imported, the package name from which the class was imported is displayed in parentheses beside the word 'from.’

To show the access adornments of class properties and methods for a class already on the diagram:

1.	Select the icon(s).

2.	On the Edit menu, point to Diagram Object Properties, and click Show Visibility.

The access adornments for the selected icon(s) will be displayed.

A check mark next to this command in the pull down menu means the feature is enabled for the selected icon(s).

To show method signature for all new classes created on the diagram:

•	On the Tools menu, click Options.

•	Click the Diagram tab.

•	Click on the Show Visibility checkbox.

•	The access adornments for the future icon(s) will be displayed.

•	A check mark next to this command means the feature is enabled for all future icon(s).

The Show Visibility option can also be set from the shortcut menu. A check mark beside this command indicates that the access adornments are displayed.


Using In-Place Editing

In-place editing allows you to add, edit, and delete properties and methods on the class diagram. All changes are made on the diagram are automatically reflected in the Property and Method tabs of the Class Specification.

Editing a property or method:

1.	Click on the list section.

2.	The text input cursor indicates that a property or method has been selected for editing.

3.	Move the input cursor within the text using the mouse, arrow buttons, and HOME and END keys.  Move the input cursor between property or method text strings with the mouse.

4.	You can cut, copy, and paste parts of strings using the mouse or shortcuts. You can delete using the BACKSP and DELETE keys.

Adding new Properties or Methods

•	To insert an property or method directly after the current line, select RETURN

•	To insert an property or method directly before the current line, use the INSERT key.

•	To insert an property or method as the last item, use the shortcut menu, use the INSERT key.

The class icon is automatically resized to accommodate the new line if the autoresize option is on. If the auto resize option is off, the compartment text is adjusted to accommodate the new text but the class icon retains its size.

The following values are editable in-place for properties:

•	 visibility (public, protected, private, or implementation)

•	 static and derived

•	 property name

•	 type

•	 initial value

The following is an example of the default prototype of the property string:

me : type = intval

where me is the property name, type is the property type, and intval is the initial value.

The following values are editable in-place for methods:

•	 visibility (public, protected, private, or implementation)

•	 method name

•	 argument name

•	 argument type

•	 argument default value

•	 static

•	 return type

The following is an example of the default prototype of the method string:

+opname ( argname : argtype = default) : return

where + denotes the visibility characteristic, opname is the method name, argname is the argument name, argtype is the argument type, default is the argument's initial value, and return is the return type.


Setting the Toolbox's Locking Mode

The locking mode determines how the buttons (other than the selection tool) behave after the tool is applied to the diagram.  The diagram toolbox implements one of two locking modes:

•	Single (default):  After it is selected, a tool button stays in the selected state only until the tool is applied to the diagram, the diagram loses focus, or another tool button is selected.  When the tool is applied to the diagram or the diagram loses focus, a selection of the selection tool (the arrow shaped tool) is simulated.

•	Persistent:  After it is selected, a tool button stays in the selected state until the diagram loses focus or another tool button is selected.  This allows the tool to be applied to the diagram multiple times without repeatedly returning to the diagram toolbox each time.

Note:  To invert the locking mode of the diagram toolbox, hold the SHIFT key down while applying the tool to the diagram.


Setting the Toolbox's Visibility Mode

The diagram toolbox can be set to:

•	Hidden — The diagram toolbox is never displayed.

•	Displayed — The toolbox is always displayed.  When the active window is not a diagram or the active diagram is read-only, the diagram toolbox will remain visible, but all the buttons will be dimmed.

•	Auto Show — The diagram toolbox is visible when the active diagram can be written to  and is hidden otherwise.

To Display or Hide the Diagram Toolbox

From the View menu, point to Toolbars and click Toolbox.  A check mark indicates the toolbox will be displayed.  The absence of a check mark indicates the toolbox will be not displayed.  Optionally the toolbox may be hidden by clicking Close on the toolbox’s title bar.

Note:  When the Diagram toolbox transitions from the hidden state to being visible, it will assume the same shape and position it had just before being hidden.


Modifying the Position of the Diagram Toolbox

Position the Diagram Toolbox

The diagram toolbox is originally displayed on the left-most side of the application.

To move the diagram toolbox to any location on the application:

•	Click the toolbox inside the title bar and drag it to the desired location.

The toolbox floats as the top-most window over all application windows.  The position of the toolbox remains the same as you traverse across different diagram types.

If docking is enabled, you can dock the diagram toolbox against any edge of the main window frame.  Click the toolbox within the title bar and drag it along the edge of the main window frame.  A docked diagram toolbox will always be one row or one column of buttons arrayed along the window frame. Docking a toolbox may slightly reduce the size of the application window since it affects the size of the main window frame.

To enable docking use the shortcut menu.

Note:  The diagram toolbox will not dock if you press the CTRL key while moving the toolbox over the edge of the window frame.

See Also

Modifying the Shape of the Diagram Toolbox


Modifying the Shape of the Diagram Toolbox

You can reshape the floating diagram toolbox with the mouse in any configuration having n columns of approximately the same length, where n is no more than the number of buttons on the diagram toolbox.

•	To modify, click the toolbox along any edge and drag it to the desired shape.

Each time you reshape the diagram toolbox you establish a new preferred number of columns.  When switching the floating toolbox from one set of buttons to the next, the preferred number of columns will be adjusted to accommodate all the buttons in the new set.

Note:  Changes to the diagram’s toolbox position or shape are saved from session to session.

See Also

Modifying the Position of the Diagram Toolbox


Customizing the Diagram Toolbox

You can access the Customize Toolbar by clicking Customize from the shortcut menu.

Adding Buttons to Diagram Toolbox

1.	Select the button from the Available buttons list.and click Add >.

2.	Double-click on the selected button.  This moves the button from the Available buttons list to the Toolbox buttons list.

Moving Buttons on the Diagram Toolbox

1.	Select the button from the Toolbox buttons list.

2.	Click either Move Up or Move Down and position the button as desired.

or

1.	Select the button from the Toolbox buttons list.

2.	Drag and drop the button to the desired location.

Removing Buttons from the Diagram Toolbox

1.	Select the button from the Toolbox buttons list.

2.	Double-click on the selected button or select < Remove.  This moves the button from the Toolbox buttons list to the Available buttons list.

Resetting the Diagram Toolbox Setting

1.	Click Reset on the right of the dialog box.  The Toolbox buttons list will reset to the state it was in when you entered the tool.

See Also

Customize Toolbox Dialog Box


Browse Menu (Overview)

Use commands on the Browse menu to navigate through the diagrams and specifications that represent your model. Using commands on the Browse menu, you can:

•	Display, create, rename, or delete diagrams.

•	Display the specification for the selected item(s).

•	Display a diagram showing an imported class in its defining package.

•	Display a diagram showing the component package to which a logical package is assigned.

•	Display a diagram showing the component to which a class is assigned.

•	Traverse between a class and its enclosing package, through diagrams or specifications.

•	Display the previous diagram.

•	View and change the Visual Basic source code.


Class Diagram (Browse Menu)

This command displays the Class Diagram dialog box. From here you can view or change any class diagram in your model.

You can:

•	Find out which class diagrams are contained by a logical package.

•	Create a new class diagram.

•	Display any existing class diagram.

•	Rename any existing class diagram.

•	Delete any existing class diagram, other than the model's main class diagram.

See Also

Browsing with the Mouse

Class Diagram Overview


Class Diagram Dialog Box

Use this dialog box to specify an existing class diagram that you want to display, rename, or delete. You can also use this dialog box to create a new class diagram. Click on any area for more information.

See Also

Class Diagram Command

Browsing with the Mouse

Class Diagram Overview


Package

Lists of all the logical packages in your model, including:

•	The top level logical package that contains all of the items in your model, i.e. the Logical View.

•	Logical packages nested within other logical packages.

From this list, select the name of the logical package for which you want to see a list of class diagrams.


Class Diagrams

Lists the class diagrams for the selected package, along with <New>. This list always contains an entry for the main class diagram for the selected logical package.

From this list, you can:

•	Display a class diagram by double-clicking on its name.

•	Create a new class diagram in the selected logical package by double-clicking <New>.

•	Rename a class diagram by selecting its name and clicking Rename.

•	Delete a class diagram by selecting its name and clicking Delete.

Note: Once you have clicked Rename or Delete, you cannot undo that action.


Component Diagram (Browse Menu)

This command displays the Component Diagram dialog box, through which you can view or change any component diagram in your model.

You can:

•	Find out which component diagrams are contained by a component package.

•	Create a new component diagram.

•	Display any existing component diagram.

•	Rename any existing component diagram.

•	Delete any existing component diagram, except the main component diagram.

See Also

Browsing with the Mouse

Component Diagram Overview


Component Diagram Dialog Box

Use this dialog box to specify the existing component diagram that you want to display, rename, or delete. You can also use this dialog box to create a new component diagram. Click on any area for more information.

See Also

Component Diagram Command

Component Diagram Overview

Browsing with the Mouse


Package

Lists of all the component packages in your model, including:

•	The top level logical package that contains all of the items in your model, i.e. the Logical View.

•	Logical packages nested within other logical packages.

From this list, select the name of the component package for which you want to see a list of component diagrams.


Component Diagrams

Lists the component diagrams for the selected component package, along with <New>. This list always contains an entry for the main component diagram for the component package.

From this list, you can:

•	Display a component diagram by double-clicking its name.

•	Create a new component diagram by double-clicking <New>.

•	Rename a component diagram by selecting its name and clicking Rename.

•	Delete a component diagram by selecting its name and clicking Delete.

Note: Once you have clicked Rename or Delete, you cannot undo that action.


Deployment Diagram (Browse Menu)

Use this command to display the deployment diagram for your model. A model may have one deployment diagram.

See Also

Deployment Diagram Overview


Expand (Browse Menu)

Use this command to display the main diagram for each selected logical package or component package.

See Also

Parent Command

Browsing with the Mouse


Parent (Browse Menu)

Use this command to display a diagram showing the logical package or component package which contains the diagram in the active window.

See Also

Expand Command


Specification (Browse Menu)

Use this command from a diagram to display the specification for each selected model element.

To display a specification, select the icon in either the diagram or the browser and use one of the following methods:

•	Right-click to display the shortcut menu. Click Specification.

•	Click Specification from the Browse menu.

•	Double-click on the icon (if you have not executed the Double-Click to Diagram command).

See Also

Specification Overview

Browsing with the Mouse


Previous Diagram (Browse Menu)

This command displays the previously displayed diagram.


Create Diagram Dialog Box

The Create Diagram dialog box prompts you to provide the name of the new diagram you are creating in the Diagram Title field.


Select Help Topic

Select one of the following:

Browse: Class Diagram

Browse: Component Diagram


Edit Menu (Overview)

Use the commands on the Edit menu to:

•	Cut, copy, paste, and change icons in diagrams

•	Delete components from the current model

•	Relocate a class or nested logical package to a new logical package, or relocate a component package or nested component package to a new component package

•	Find, rename, and change items

•	Change the amount of information that is displayed in a class or logical package compartment

•	Select all items in the current diagram

•	Edit specification fields


Undo (Edit Menu)

Use this command to reverse the result of the last cut, delete, move, or delete from model command.


Cut (Edit Menu)

The Cut command removes the selected item(s) from the current diagram and places them on the clipboard. From the clipboard, they can be pasted on any class diagram.

If you cut a relationship and your selection does not include the items at both ends of that relationship, you will not be able to paste that relationship. In this circumstance, a Warning dialog box will appear, allowing you to cancel or continue. You can also disable subsequent Warnings for the remainder of your session.

When you cut an item, all relationships for that item are also cut. For example, if A is a generalization of B and you cut A, the generalization also is cut.

This command works only on the graphic representation of a diagram. It does not change the current model.

See Also

Moving a Class Between Packages


Copy (Edit Menu)

Use this command to copy the currently selected item or items to the clipboard. From the clipboard, you can:

•	Paste them into other diagrams.

•	Paste them into documents you create with any standard word-processing software.

The Copy command provides a simple means of importing a class from one package to another.

If a relationship is copied and your selection does not include the items at both ends of that relationship, you will not be able to paste that relationship. In this circumstance, a Warning dialog box will appear, allowing you to cancel or continue. You can also disable subsequent Warnings for the remainder of your session.

This command works only on the graphic representation of a diagram. It does not change the current model.


Paste (Edit Menu)

Use this command to paste the item(s) from the clipboard into the current diagram.

The Paste command places previously cut or copied items into the current diagram. The pasted items are placed in the center of the current view of the diagram. (You can scroll approximately to the place that you want the items to appear.)

Note that when moving elements between models, a new model element will not be created if one with the same name already exists in the package you are pasting into.  In this instance, just a diagram element representing the existing model element will be created.  Since Paste does not warn you of this situation, the File menu's Export and Import elements are recommended when moving elements between models.

See Also

Moving a Class Between Packages


Delete (Edit Menu)

Use this command to delete the currently selected item(s) from a diagram or specification.

When used in a diagram, the Delete command removes each selected icon from the current diagram. The model is not changed unless:

•	The deleted icon is unnamed.

•	The icon appears once in the current diagram and appears in no other diagram. In this case, the model element represented by the icon is deleted from the model.

When used from a specification, the Delete command removes the selected element from the model and from all diagrams in which it appears. This cannot be undone.

When you delete an item, all relationships associated with that item are also deleted.

See Also

Delete from Model Command

Moving a Class Between Packages


Delete From Model (Edit Menu)

Use this command to delete the selected item(s) from the model.

This command can be used from diagrams to delete items from the current model. When you delete an item from the model, all icons representing that item are removed from any diagrams in which they appear. The specification for the item is also deleted.

This command cannot be used in specifications. To delete an item from the model via a specification, use the Delete command.

See Also

Delete Command

Moving a Class Between Packages


Find (Edit Menu)

Use this command to find any item in the model.

This command displays the Find dialog box so that you can enter the search string.

The edit field provides a drop-down list of previous search strings. Select an existing search string or enter the name of the item to find. The search result is displayed in a 3-column list that displays the name, type, and location.

To search for groups of items, you can use the * wildcard character:

A*	matches any name beginning with the letter A

*A	matches any name ending with the letter A

*A*	matches any name containing the letter A

This command lists only the first 250 items that match a name containing a wildcard character.

The * wildcard is especially useful for finding any classes or packages that were automatically renamed in a model that was upgraded from a previous release. For example, you can search for every model item that was renamed by entering: *#* (star pound star). Every model item that has a # in its name is found.

This command searches for the named item and displays a list of diagrams in which that item appears. You can double-click on an entry to display that diagram, or click on the browse button to display the selected diagram.


Reassign (Edit Menu)

Each icon in a diagram represents an element in the current model. Use this command to make a selected icon represent a model element other than the one it now represents.  For example, you can assign an existing class to a different diagram element.

This feature is useful if you wish to assign an element to use the same named item from a different name space.

To make an icon represent another element, select the icon and then click Reassign from the Edit menu. The dialog box lists the packages in the model on the left and a list of the valid elements to choose from on the right.  Choose the model element which the selected icon will represent. This affects only the selected icon. Other icons representing the original model element (on all diagrams) maintain their original representation.

Here’s an example:  Let’s assume you have 3 classes named car, buggy and wagon. With buggy selected, from the Edit menu click Reassign.  In the dialog box select wagon.  You are changing the underlying model of the diagram element buggy to use wagon instead of buggy.  (Buggy may still exist in the model but you are given the option of deleting it.) Additionally, if buggy had an inheritance relation drawn to car, then wagon will adopt that inheritance relation.


Edit Compartment

Use this command to show or hide information in the compartment for the currently selected class or logical package. This has been designed to address explicitly selecting properties and methods to display in class compartments as well as explicitly selecting classes for logical packages.

Edit Compartment for Classes

If the item is a class, you can display any of its properties or methods in the compartment. In a compartment, property and method names can be preceded by symbols indicating access (public, protected, private, or implementation). Property names are followed by a colon and the type and default value of the property. Method names are followed by parentheses. The parentheses are empty if no arguments accompany the method. If the method includes arguments, the parentheses hold the argument name followed by a colon and the type and default value of the argument.

Note: The class shortcut menu also provides a mechanism for displaying or suppressing all properties and methods as a whole.

Edit Compartment for Packages

If the item is a logical package, you can display the names of any of its classes in the compartment. Class names can be preceded by symbols indicating access (public or implementation).

Dialog Boxes

•	Click Select Properties and Methods from the Options menu.

The Edit Compartment dialog box is displayed. The list box on the left is titled All Items.  The entries in this box include all items available for display in the compartment. These items are either the properties and methods associated with the selected class, or the classes associated with the selected package. The list box on the right of the dialog box is titled Selected Items and it holds all the items selected to be displayed in the compartment.

Three buttons are displayed between the All Items and Selected Items list boxes. The top button is enabled whenever entries are selected in either list box, indicating that the entries are ready to be moved between list boxes. If entries are selected in the All Items list box, the button is enabled with the arrows pointing to the Selected Items list box. If entries are selected in the Selected Items list box, the button is enabled with the arrow pointing to the All Items list box. The remaining two buttons move all the items from one list box to the other.

To explicitly select items for display in the compartment:

1.	Select the items from the All Items list box that you wish to display in the compartment.

2.	Select the top button to move the items to the Selected Items list box.

3.	Click OK.

To display all items in the compartment:

1.	Select the second button to move all items into the Selected Items list box.

2.	Click OK.

Adjusting the size of the icon:

1.	Click Options from the Tools menu.

2.	Click Automatic Resizing on the Diagram tab.

See Also

Access Adornments


Change Into (Edit Menu)

In the process of refining your model, you may find it necessary to change a model element from one kind to another.

You can use the commands on the Change Into submenu to change a model element from one type to another. You can perform the following transformations:

•	A class into another type of class.

•	A relationship into a different type of relationship.

•	A component into a different type of component.

To change an element’s type:

1.	Select an element from the diagram or the browser.

2.	Choose the new element type from the Change Into submenu.

Alternatively, you can transform an element in the following manner:

1. 	Choose the icon on the diagram toolbox.

2. 	Press the ALT or META key.

3. 	Click on the element you want to change.

This command changes the model element and updates all diagrams containing this element.

When a relationship type is changed, this command removes the original relationship from all diagrams, but does not automatically add the new relationship to these diagrams. Use the Filter Relationships command to display the new relationship in specific diagrams.


Select All (Edit Menu)

Use this command to select all of the items on the current diagram.

This command is useful when you want to:

•	Generate reports on all the classes in a single diagram using commands on the Report menu.

•	Populate a class diagram with all of the information about those classes using commands on the Query menu.

•	Change the font size or characteristics for all of the text in a diagram using commands on the Options menu.

To deselect all items, simply click at a point on the diagram that is not already highlighted.


Moving a Class Between Logical Packages

To move a class from one logical package to another, retaining its properties and relationships, use the Relocate command.


Renaming a Model Element

To change the name of a model element, display its specification, modify the name field, and click OK. The software will then update each diagram in which the model element appears.

Alternatively, you can display any diagram in which the model element appears, select an icon representing the model, click on its name, and then modify the name. To indicate that you have completed your name modification, click outside the selected icon (de-selecting it). The software will then update each diagram in which the model appears.


Relocate (Edit Menu)

As the Analysis and Design of an application proceeds, it is common to refine the application's logical and/or physical architecture from one iteration to the next. Such refinements can include:

•	Relocating a class or logical package from one logical package to another.

•	Relocating a component or component package from one component package to another.

The Relocate command supports these refinements. It enables you to relocate a model element (class, component, or package) to a new partition (logical package or component package).

The command requires that you locate or create a diagram in the new partition which contains an icon representing the model component. Selecting this icon and executing the command relocates the model component to the new partition.

Since icons representing imported classes or logical packages identify their containing logical package, all class diagrams in the model are automatically updated to reflect the new location of a relocated class or logical package. Relocating a component or component package has no effect on any diagram in the model.

Relocating a Class or Logical Package

To relocate a class or logical package from one logical package to another:

1. 	Locate a diagram in the destination logical package which contains an icon representing the class.

2. 	Select the icon and execute the Relocate command from either the Edit menu or by clicking the right mouse button.

The class or logical package will now be contained by the logical package containing the current diagram. The compartments of all icons representing this class will be updated appropriately.

Relocating a Component or Component Package

To relocate a component or component package from one component package to another:

1.	Locate a diagram in the destination component package which contains an icon representing the component.

2. 	Select the icon and execute the Relocate command via the Edit menu.

The component will now be contained by the component package containing the current diagram.


Change Line Style (Edit Menu)

The Change Line Style option allows you to explicitly select rectilinear or oblique line styles, or toggle between the two styles.


Redo (Edit Menu)

Use this command to reverse the result of the last move.


New (File Menu)

Use this command to create a new, untitled model. A new model is unnamed until it is saved by a Save  or Save As command.

Any open models are closed before a new model is created. You are prompted to save changes if necessary.

See Also

Open Command

Save

Save As Command


Open (File Menu)

Use this command to load a model or model kernel from a model file. Executing this command displays the Open dialog box, which prompts you for the name of a file containing a model or model kernel.

Any open models are closed before opening another model. You are prompted to save changes if necessary.

If the selected model file's access control in the platform file system is read-only, the applicationwrite-protects  the associated model.

This command updates the Path Map.

When opening the model, there is a check if the model’s saved character set is the same as the current system default charSet. If not, a dialog box displays the following warning:

“Non system default character set in file.”

See Also

New Command


Save (File Menu)

Use this command to save the current model to its associated model file. If no associated model file has been established via previous execution of Open or SaveAs commands, this command displays a file selection dialog box to establish the association.

Use the Save As command if you want to save the current model to a specified model file.

If a destination model file's access control in the platform filesystem is read-only, an ERROR! dialog box is displayed indicating the software can't write that file.

The default character set of the system is saved with the model file.

To control temporary and backup files created during a Save procedure, refer to the Options dialog box.

If you're saving the current model, but that model is untitled, the Save command displays the Save Model To dialog box, so you can specify a file name and location for the model.

See Also

Save As Command

Options Dialog Box


Save As (File Menu)

Use this command to save the current model to a new model file.

This command displays the Save Model To dialog box. From there, specify the new file name and the location where you want to save the current model.

Use the Save command if you want to save the current model to its associated model file.

If a destination model file's access control in the platform file system is read-only, an ERROR! dialog box is displayed indicating the software can't write that file.

To control temporary and backup files created during a Save procedure, refer to the Options dialog box.


Import (File Menu)

This command displays the Read Petal dialog box so you can specify the petal file you want to import. Use this command to import the contents of a petal file into the current model. This command requires the active window to contain a class  or component diagram.

A petal file can contain elements -- classes, logical packages, or component packages -- or it can contain a complete model.

When you import a petal file that contains elements, the diagram in your active window is used to select a destination. If the active window is the top level diagram, these elements are imported into the top level of the current model. Otherwise, these elements are imported into the package that encloses the diagram in the active window.

Each imported element is compared to the corresponding element in the current model. If any of the elements in the petal file already exist in the current model, a dialog box asking you if the existing items should be replaced. If an imported package is displayed contains elements that already exist in the current model, a dialog box is displayed telling you that these elements have not been imported. All diagrams in the model are appropriately updated, including those imported from the petal file.

When you import a petal file that contains a complete model, that model is opened. If a model is already open with unsaved changes, the Save Confirmation dialog box is displayed, prompting you to save your changes before closing the current model and opening the model contained in the petal file.

See Also

Export Command


Export Model (File Menu)

This command displays the Write Petal dialog box so that you can specify the name and location of the petal file. Use this command to export selected items from the current model to a petal file. The Export command displays the name of the element type selected. If nothing is selected, Export Model is displayed. You can export:

•	The entire model

•	Classes

•	Logical Packages

•	Component Packages

Begin by displaying diagrams containing the items you want to export. Select the specific classes, logical and component packages to be exported, and pull down the File menu. The Export command indicates the number of items selected. If no items are selected, the entire model will be exported. If any item not on the above list (such as a relationship or adornment) is selected, the Export command will not be executable.

When a logical or component package is exported, all diagrams it contains are also exported.  Exporting the entire model does export all diagrams contained within it.

Exporting to a petal file is useful when you want to transfer:

•	Elements from one model to another

•	A model or its elements between different computing platforms

•	A model or its elements to a new software release

See Also

Import Command


Print Diagrams (File Menu)

This command displays the Print Diagrams dialog box, which allows you to choose the diagram to be printed to a file or to a PostScript or PCL5 printer.

You can also generate multiple-page diagrams. When Print Footers is checked, page numbers are printed on the pages, indicating the order in which the pages can be attached to create a single large diagram (see below). Adequate margins are left on each page so that the pages can be trimmed and connected.

1,1 	1,2 	1,3 	1,4	...

2,1 	2,2 	2,3 	2,4	...

3,1 	3,2 	3,3 	3,4	...

To preview where page breaks will occur, use the Page Breaks command.

Diagrams are printed separately from specifications. To print the specifications for the items in one or more diagrams, use the Print Specifications command.

See Also

Print Specifications Command

Printer Setup Command

Page Breaks Command


Print Diagrams Dialog Box

The Print Diagrams dialog box lists the options that you can choose to generate a printout of one or more diagrams. Click on any button or field for more information.

See Also

Print Diagrams Command

Page Breaks Command


Class Diagrams

Choose the diagrams you want to print:

•	Top Level—Prints only the class diagrams at the top level of the model.

•	Entire Structure—Prints all the class diagrams.

•	None—Does not print any class diagrams.


Use Case Diagram
Use-Case Diagram

Choose the diagrams you want to print:

•	Top Level—Prints only the use-case diagrams at the top level of the model.

•	Entire Structure—Prints all the use-case diagrams.

•	None—Does not print any use-case diagrams.


Component Diagrams

Choose the diagrams you want to print:

•	Top Level—Prints only the component diagrams at the top level of the model.

•	Entire Structure—Prints all component diagrams.

•	None—Does not print any component diagrams.


Deployment Diagram

Check this box to print the deployment diagram for the current model.


Current Diagram Only

Check this box to print only the current diagram. When this box is checked, all other fields are ignored.


Fit To Page

Check this box to shrink the diagrams being printed so that each one fits entirely on one page. If this option is not chosen, the diagrams will be printed on several pages with overlapping margins.


Print Footer

Check this box to print the model file name, current date, current time, diagram kind, and diagram name at the bottom of each page. Disabling the printing of this information may be appropriate if you are printing to a PostScript file that you plan to import into a document.


Print Page Numbers

Check this box to print page numbers at the bottom of each page, using the format and initial page number contained in Page Number Format and Start. If Print Footer is selected, page numbers appear to the right of the footer information. Disabling the printing of page numbers may be appropriate if you are printing to a PostScript file that you plan to import into a document.  If you do not enter a number in the Page Number Format and Start area, no numbers will be printed even if this box is selected.  This would be useful if you wanted to enter text only, for example, First Draft.


Page Number Format and Start

If Print Page Numbers is selected, the contents of this text box specify the page number format and initial page number. The software reads from right to left and increments the “page number” based on the first number it encounters.  For example, if you entered Draft 1 Page 1, your output would read Draft 1 Page 1, Draft 1 Page 2, etc.  However, if you reversed the input to read Page 1 Draft 1, your output would read Page 1 Draft 1, Page 1 Draft 2, etc., and is probably not what you intended.


Print Specifications (File Menu)

This command displays the Print Specifications dialog box, which allows you to specify one or more specifications to be printed to a printer or to a text file.

You can print specifications for specific items in the model, or for every item in the model by making appropriate selections in the Print Specifications dialog box.

See Also

Print Diagrams Command

Printer Setup Command


Print Specifications Dialog Box

The Print Specifications dialog box lists the options that you can choose to generate a printout of one or more specifications. Click on any button or field for more information.

See Also

Print Specifications Command


Class Diagram

Display the diagrams that show classes whose specifications you want to print:

•	Current—Prints the specifications for the classes in the current diagram.

•	Entire Structure—Prints the specifications for all classes.

•	None—Doesn't print any class specifications.

Note that this field controls only the printing of class specifications.


Component Diagrams

Display the diagrams that show components whose specifications you want to print:

•	Current—Prints the specifications for the components in the current diagram.

•	Entire Structure—Prints the specifications for all components.

•	None—Doesn't print any component specifications.


Selected Classes Only

This field is applicable only if you have chosen Current or Entire Structure in the Class or Use-Case Diagrams field. When you check this field, Rose prints only the specifications for those classes which are currently surrounded by selection handles in the indicated class diagrams.


Selected Associations Only

This field is applicable only if you have chosen Current or Entire Structure in the Class or Use-Case Diagrams field. When you check this field, Rose prints only the specifications for those associations which are currently surrounded by selection handles in the indicated class diagrams.


Operation Specifications
Method Specifications

This field is applicable only if you have chosen Current or Entire Structure in the Class or Use-Case Diagrams field. When you check this field, Rose prints the Method Specifications that are associated with the classes in the indicated diagrams.


Message Specifications

This field is applicable only if you have chosen a set of diagrams in the Interaction Diagrams field. When you check this field, Rose prints the message specifications for all of the messages that are defined for all objects in the selected collaboration diagrams.


Selected Components Only

This unlabeled field is applicable only if you have chosen Current or Entire Structure in the Component Diagrams field. When you check this field, only the specifications for those components which are currently surrounded by selection handles in the indicated component diagrams are printed.


Deployment Diagram

Check this box to print the node, process, device and connection specifications for the model.


Output

Choose the destination for your printout:

•	To printer—Prints specifications to the printer specified in your Printer Setup options. To change the printer, use the Printer Setup command.

•	To file—Prints the specification to the specified file as ASCII text. If no file is specified, output will be stored in a file named print.out in the current directory.


Page Breaks Between Specifications

Check this box to print each specification on its own page. If this option is not chosen, multiple specifications will be printed on each page, breaking between pages when necessary.


Print Footer

Check this box to print the model file name, current date, and current time at the bottom of each page. Disabling the printing of this information may be appropriate if you are printing to a PostScript file that you plan to import into a document.


Print Page Numbers

Check this box to print page numbers at the bottom of each page, using the format and initial page number contained in Page Number Format and Start. If Print Footer is selected, page numbers appear to the right of the footer information. Disabling the printing of page numbers may be appropriate if you are printing to a PostScript file that you plan to import into a document.


Page Number Format and Start

If Print Page Numbers is selected, the contents of this text box specify the page number format and initial page number.


Exit (File Menu)

Use this command to quit the application.

When you exit, open diagrams, specifications and the application window are closed .

If any diagram or specification has been changed since you last saved, a confirmation dialog box is displayed, prompting you to save changes before exiting.


Recent File (File Menu)

Use this command display the files most recently opened.


Context Sensitive Help

Select the appropriate dialog box for more information:

Load Model From

Import Petal File


Context Sensitive Help

Select the appropriate dialog box for more information:

•	Save Model To

Export Model


Print Setup

See Print Setup from the File menu.


Printer Setup (File Menu)

This command displays the standard Windows Printer Setup dialog boxes, which can be used to specify the printer to be used when printing diagrams or specifications. You can also use this command to change printer options such as:

•	Orientation

•	Paper size and source

•	Margins

•	Header

•	Scaling

•	Font substitution


Clear Path Map

This is your last check before permanently deleting all entries from your path map.  Selecting OK deletes all entries.  Selecting NO dismisses the dialog box without deleting any entries.


Visual Modeler Help Topics (Help Menu)

Use this command to display a list of on-line documentation subjects. The Contents list is much like the table of contents for a book; it lists the major sections of the on-line documentation (the equivalent of book chapters), but does not list every topic within those sections.

From the Contents list, you can see more detailed lists of topics by choosing the area of interest.

If the help window is already displayed, this command brings that window to the front and displays the help contents. You can use the Back button on the help window to return to previously viewed help topics, or click Help Topics to return to the Contents list.


About… (Help Menu)

Use this command to obtain product information, such as product name, release number, copyright information, owner name, company, and product serial number.

The lower portion of the dialog box displays add-in information, including the add-in name, version, and company name.

Clicking Contact Info… brings up the Visual Modeler Contact Information dialog box.  That dialog box displays contact information on ordering, as well as the technical support information.


Search for Help On (Help Menu)

Use this command to search for a specific help topic, or to locate specific words or phrases in help topics.

Three tabs are presented: Contents, Index, and Find.

The Contents tab is the same list as is displayed if you select contents from the Help menu.

The Index tab offers two fields.  The first field asks that you enter the first few letters of the word you are searching for in the Index.  Below that field is a list box offering all the Index entries for the Help project.  Select an entry and click Display.

The Find tab brings up the Find Setup Wizard.  It enables you to search for specific words or phrases in help topics, instead of searching for information by category.


Using Help (Help Menu)

Use this command to view the Books On Line for Using Help and Customizing Help.  This command also brings up the Index and Find tabs.


Microsoft on the Web (Help Menu)

Use this command to access information provided by Microsoft on the Web. This command shows a submenu where you can choose to, for example, access Microsoft´s home page, get product information or order products on the Web. The command requires that you have a Web browser installed and are able to access the Internet from your machine.


Log Window

The log window is used by several commands to report progress, results, and errors. Code generation commands post their progress and error messages to the log window. The Check Model command reports unresolved references to model elements and relationships.

When you first bring up the software, the log is displayed as an icon at the bottom of the window.  Double-click on the icon to open the log and display the contents.  When the log window is open, the following choices are available under the File menu:

•	AutoSave Log

•	Save Log As

•	Clear Log


Select Help Topic

Select one of the following:

Save As  for the log

Save As  for the file


Query Menu (Overview)

The Query menu provides commands which control which model elements appear in the current diagram.  class diagrams and component diagrams support the Query menu functionality.


Add Classes (Query Menu)

The Add Classes command displays the Add Classes dialog box, enabling you to specify which class or classes you want to add. Use this command to populate the current diagram with icons representing one or more classes from the model. You can use this command to populate a new (empty diagram) or to add classes to an existing diagram. In either case, you must create or display the diagram first.

If relationships exist among the classes you are adding, or if relationships exist between added classes and any classes already appearing in the diagram, icons representing these relationships and their adornments will also appear in the diagram. Use the Filter Relationships command to directly control which kinds of relationships appear in the diagram.

Use the Add Classes command to add classes by name. Use the Expand Selected Elements command to add classes based on their relationships to classes you select in the diagram.


Add Classes Dialog Box

Use this dialog box to specify the classes from the model that you want to appear in the current diagram. If relationships exist among the classes you are adding, or if relationships exist between added classes and any classes already in the diagram, these relationships and their adornments will also appear in the diagram. Click on any area for more information.

See Also

Add Classes Command


Package

Select the logical packages that contains the classes you want to appear in the current diagram.


Classes

Select the classes you want to appear in the diagram. This box lists the classes in the currently selected package.

•	To select a single class, double-click on the class.

•	To select several classes, click on each class and then click >>.

•	To select all classes, click All>>.


Selected Classes

Displays the classes that will be added to the diagram when you click OK.

•	To remove a single class from this list, double-click on the class.

•	To remove several classes from this list, click on each class and then click <<.

•	To remove all classes from this list, click <<All.


Expand Selected Elements (Query Menu)

The Expand Selected Elements command displays the Expand Selected Elements dialog box, enabling you to specify relationship level and client/supplier criteria for choosing additional elements.  All settings in the dialog box are remembered from the previous use.

Use this command to show additional model elements in the current diagram. This command enables you to add icons to the current diagram elements having a specified relationship with a selected element or set of elements. For example:

•	All classes that inherit from a selected class.

•	The classes from which a selected class inherits.

•	The classes that a selected class associates to.

•	The classes that directly use a set of selected classes.

•	All components that a component uses.

•	All packages that a component uses.

•	All interfaces that a component uses.

•	All components that a package uses.

•	All packages that a package uses.

•	All interfaces that a package uses.

•	All interfaces that a component realizes.

To add classes by name rather than by relationship, use the Add Classes command.

To add interfaces by name rather than by relationship, use the Add Interfaces command.

To add components by name rather than by relationship, use the Add Components command.

From the Expand Selected Elements dialog box, you can display the Relations dialog box for class diagrams or Relations dialog box for component diagrams to specify relationship-kind and access-kind criteria for choosing additional elements.

Note:  The level cannot be changed if you select Expand indefinitely.


Expand Selected Elements Dialog Box

Use this dialog box to provide criteria that will determine which additional classes and/or use cases will appear in the current diagram. Click on any area for more information.

See Also

Expand Selected Elements Command


Relations Button

Click on this to display the Relations dialog box, which enables you to specify relationship-kind and access-kind criteria.


Hide Selected Elements (Query Menu)

This command displays the Hide Selected Elements dialog box, enabling you to specify the elements whose icons are to be removed from the current diagram.

Use this command to remove icons representing classes from the current diagram. The elements represented by these icons are not deleted from the model.

By default, this command removes only the elements whose icons are selected. You can optionally remove icons representing elements which are clients or suppliers of the selected elements.


Hide Selected Elements Dialog Box

Use this dialog box to specify the classes whose icon's are to be removed from the current diagram. The elements themselves are not deleted from the model. Click on any area for more information.

See Also:

Hide Selected Elements Command


Filter Relationships (Query Menu)

The Filter Relationships command displays the Relations dialog box from the class diagrams, and it displays the Visibility Relations dialog box from the component diagram.  Both enable you to specify which kinds of relationships can appear.  The filter relationship dialog boxes remember the last set of filter settings used. Use this command to control which kinds of relationships appear in the current diagram.


Relations Dialog Box - Class Diagrams

Use this dialog box to specify which kinds of relationships can appear in the current diagram. Click on any area for more information.

See Also

Filter Relationships Command


Type

Select the kind(s) of relationship you want to appear in the diagram. For example, in a class diagram, selecting Generalize adds icons for all generalization relationships that exist among the classes in the diagram. Icons for relationships not selected are removed from the diagram.


Access

Select the kind(s) of access for the specified relationships. For example, selecting Public adds icons for only public relationships to the diagram. Icons for relationships not consistent with this access criterion are removed from the diagram.


Add Components (Query Menu)

The Add Components command displays the Add Components dialog box, enabling you to specify which component(s) you want to add.

Use this command to populate the current component diagram with icons representing one or more components from the model. You can use this command to populate a new (empty diagram), or to add components to an existing diagram. In either case, you must create or display the diagram first.

If relationships exist among the components you are adding, or if relationships exist between added components and any component already appearing in the diagram, icons representing these relationships and their adornments will also appear in the diagram. Use the Filter Relationships command to directly control which kinds of relationships appear in the diagram.

Use the Add Components command to add components by name. Use the Expand Selected Components command to add components based on their relationships to components you select in the diagram.


Add Components Dialog Box

Use this dialog box to specify the components from the model that you want to appear in the current diagram. If relationships exist among the components you are adding, or if relationships exist between added components and any components already in the diagram, these relationships and their adornments will also appear in the diagram. Click on any area for more information.

See Also

Add Components Command


Package

Select the package that contains the components you want to appear in the current diagram.


Components

Select the components you want to appear in the diagram. This box lists the components in the currently selected package.

•	To select a single component, double-click on the component.

•	To select several components, click on each component and then click >>.

•	To select all components, click All>>.


Selected Components

Displays the components that will be added to the diagram when you click OK.

•	To remove a single component from this list, double-click on the component.

•	To remove several components from this list, click on each component and then click <<.

•	To remove all components from this list, click <<All.


Limit

Specify relationship level criterion:

•	Click Expand to n levels to limit expansion to the number of relationship levels shown in the Levels box.

•	Click Expand indefinitely to add related components independently of relationship level.


Levels

If you have clicked Expand to n levels, type or select the maximum relationship level to allow between the selected components and components to be added to the current diagram.


Relations to Expand

Specify a client/supplier criterion:

•	Click Clients to add only the clients of each selected component.

•	Click Suppliers to add only the suppliers of each selected component.

•	Click Both to add both clients and suppliers of each selected component.


Relations Button

Click on this to display the Visibility Relations dialog box, which enables you to specify relationship-kind criteria.


Hide Selected Components (Query Menu)

This command displays the Hide Selected Elements dialog box, enabling you to specify the elements whose icons are to be removed from the current diagram.

Use this command to remove icons representing components from the current diagram. The components represented by these icons are not deleted from the model.

By default, this command removes only the components whose icons are selected. You can optionally remove icons representing components which are clients or suppliers of the selected components.


Hide Selected Elements Dialog Box

Use this dialog box to specify the components whose icon's are to be removed from the current diagram. The components themselves are not deleted from the model. Click on any area for more information.

See Also:

Hide Selected Components Command


Hide Suppliers

Click this option to remove icons for each selected component and its suppliers.


Hide Clients

Click this option to remove icons for each selected component and its clients.


Relations Dialog Box - Component Diagram

Use this dialog box to specify which kinds of relationships can appear in the current diagram. Click on any area for more information.

See Also

Filter Relationships Command


Type

Select the kind(s) of relationship you want to appear in the diagram. Icons for relationships not selected are removed from the diagram.


Add Interfaces (Query Menu)

The Add Interfaces command displays the Add Interfaces dialog box, enabling you to specify which interface or interfaces you want to add. Use this command to populate the current diagram with icons representing one or more interfaces from the model. You can use this command to populate a new (empty diagram) or to add interfaces to an existing diagram. In either case, you must create or display the diagram first.

If relationships exist among the interfaces you are adding, or if relationships exist between added interfaces and any components or packages appearing in the diagram, icons representing these relationships and their adornments will also appear in the diagram. Use the Filter Relationships command to directly control which kinds of relationships appear in the diagram.

Use the Add Interfaces command to add interfaces by name. Use the Expand Selected Elements command to add interfaces based on their relationships to components or subsystems  The Expand Selected Elements command adds elements not already in the diagram.  For example, suppose you select a relationship to expand from the Filter Relationship’s dialog box .  The component or subsystem that is on the other end of the relationship is expanded, along with any related interfaces.


Add Interfaces Dialog Box

Use this dialog box to specify the interfaces from the model that you want to appear in the current diagram. If relationships exist among the interfaces you are adding, or if relationships exist between added interfaces and any components or packages already in the diagram, these relationships and their adornments will also appear in the diagram. Click on any area for more information.

See Also

Add Interfaces Command


Package

Select the package that contains the interfaces you want to appear in the current diagram.


Interfaces

Select the interfaces you want to appear in the diagram. This box lists the interfaces in the currently selected package.

•	To select a single interface, double-click on the interface.

•	To select several interfaces, click on each interface and then click >>.

•	To select all interfaces, click All>>.


Selected Interfaces

Displays the interfaces that will be added to the diagram when you click OK.

•	To remove a single interface from this list, double-click on the interface.

•	To remove several interfaces from this list, click on each interface and then click <<.

•	To remove all interfaces from this list, click <<All.


Report Menu (Overview)

Use the commands on the Report menu to generate lists of diagrams in which the selected class is a supplier in a relationship, or in which instances of the selected class appear. These lists can be used to navigate to the diagrams they contain.


Show Usage (Report Menu)

Class Diagrams

Use this command to obtain a list of all class diagrams in which the currently selected class is the supplier in a relationship.

Dialog Box

This command displays a list of diagrams in the Show Usage dialog box. To display a diagram from the list, select it, click Browse, and close the dialog box.


Show Access Violations

Use this command to obtain a list of all access violations between packages in a class diagram.  An access violation occurs when a class in one package references a class in another package in the absence of an import relationship between the two packages. An access violation will also occur when a package references a class from another package, whose export control is set to Implementation. In this case the presence of an import relationship between the two packages has no bearing. All references to implementation classes from different packages are sited as violations.

From the class diagram with nothing selected, click Show Access Violations from the Report menu. The violations are displayed in a dialog box. You can locate the diagram holding the violation by selecting the violation from the dialog box and selecting Browse.


Component Types
Filters

These check boxes allow you to choose the kinds of participants to be displayed in the list.


Entry Information

These check boxes may be used to extend each entry in the list with additional information.  Your choices are parent and component type.


List of Participants

The list shows the participating classes and methods, as well as any components that the classes are assigned to.


Open It

This opens the specification editor for an item provided that the item has been selected in the list of participants. The button is disabled if no item has been selected.


Goto It

Select an item in the list of participants and click Goto It to locate the item in the browser and closes the dialog box. The button is disabled if no item has been selected.


Cancel

This dismisses the dialog box.


Report

This produces a plain text version of the list of participants. This text can be used for copying and pasting.


Model Properties (Tools Menu)


Language/Code Generation (Tools Menu)
Generate Code

Use this command to generate source code for one or more classes.  You specify these classes by selecting icons on a class or component diagram and then choosing this command.

If you select one or more:	Code is generated for:

Classes 	Each selected class

Logical package	The classes in each logical package

Components	The classes assigned to each component

Component package	The classes in the packages assigned to each component package

Code will also be generated for each selected class's relationships, assigned component, and assigned component package. A class is assigned to a component by the Class specification's Component field. A logical package is assigned to a component package by the Logical Packages specification's Component Package field.

Code is not generated for unlabelled classes.

Code Contents

The content of the generated code is based on:

•	The specification of each model element for which code is generated.

•	The values of the model properties that are attached to model elements. (Use the Edit Model Properties command to inspect or change the model properties of selected notation items).

Code Location

By default, the files and directories containing the generated code are rooted in the current working directory.

If the classes and logical packages in your model have been assigned to components and component packages, the code generator uses these assignments to place class definitions and declarations in the appropriate component spec header files and component body implementation files.

If the classes and logical packages in your model have not been assigned to components and component packages, the  code generator assumes an implicit physical model based on the logical model.


Edit Model Properties (Properties Submenu)
Edit Model Properties

Use this command to display or modify model properties, or to display, modify, or attach model property sets. This command displays a language tab from the Options dialog box from which you can:

•	Determine which model property set is currently attached to the selected model element.

•	Display and modify the selected element's model properties.

•	Display and modify model property values in a model property set (provided you have more than 1).

•	Create a new model property set.

•	Delete (remove) unwanted model property sets.

See Also

Attaching and Editing Model Properties and Model Property Sets


Clone Model Property Set Dialog Box

Use this box to specify the name for a new model property set, and to initialize (or clone) its model property values from an existing model property set.

Dialog Box Options

Name

Enter the name of the model property set you want to create.

The name of the existing model property set whose model property values will initialize the new model property set is displayed in brackets below the name field. The associated tool to the Code Generation facility is also displayed beside the existing model property set name.


Tools Menu (Overview)

The Tools menu enables you to access the following features:

•	Use the Layout command to redraw a diagram, optimizing the placement of icons.

•	Use the Autosize All command to grow or shrink each icon in the current diagram as necessary so that the name, compartment and any other adornment labels fit wholly within the icon.

•	Use the Create command to select notation items by name for placement on the current diagram.

•	Use the Check Model command to identify unresolved references in the current model.

•	Use the Model Properties command to display and modify model properties and model property sets, and assign them to a model and its components.

•	Use the Options command to display a dialog box which allows you to customize a number of features, like displaying properties and methods as well as creating temporary and backup files.


Layout Diagram (Tools Menu)

Use this command to reformat the current diagram.

CAUTION: This command cannot be undone.

When you choose this command, the application:

•	Analyzes the location of all icons in the current diagram.

•	Determines the optimal location for the icons.

•	Redraws the diagram.

Note that floating text created with the ABC text tool is treated as an independent icon. Floating text is not "tied" to any other icon.


Create (Tools Menu)

Use the commands on the Create menu to place the icons in the active diagram.

The Create menu offers an alternative to the diagram toolbox. It allows you to choose items by their names, rather than by their graphic icons.

When you choose an item from the Create menu, the corresponding diagram toolbox tool becomes active and the pointer changes to a cross (for a node) or an arrow (for a relationship). You can then use the mouse to position the pointer and place the new item.

The contents of the Create menu change to match the current diagram's toolbox.


Check Model (Tools Menu)

This command transverses the entire model looking for unresolved references and places the results into the log.

In a model, where one item holds a reference to another item, it is possible that a reference exists, but there isn’t an item in the model of the right kind or with the right name. In that instance, the reference is unresolved.

Check Model checks the reference:

•	To the supplier of any kind of relationship, has, uses, instantiation, metaclass, logical package import, module visibility, connection, etc.

•	From a view on a diagram to an item in the model.

•	From a logical package to its assigned component package and from a module to its assigned class.


Autosize All (Tools Menu)

This command will grow or shrink each icon in the current diagram as necessary so that the name, compartment and any other adornment labels fit wholly within the icon. Use this if you have icons in your diagram that don't have the auto resize option set and you would like to do a one-time autoresize on these icons. This command affects all the icons in a diagram, with the exception of packages, regardless of what icons are selected.


Business Services

Business services are the bridge between user and data services. They respond to requests from the user (or other business services) to execute a business task. They accomplish this by applying formal procedures and business rules to the relevant data. When the needed data resides on a database server, they secure the data services needed to accomplish the business task or apply the business rule. This protocol insulates the user from direct interaction with the database. Because business rules tend to change more frequently than the specific business tasks they support, they are ideal candidates for encapsulating in components that are physically separate from the application logic itself.


User Services

User services provide the visual interface for presenting information and gathering data. They also secure the business services needed to deliver the required business capabilities and integrate the user with the applications to perform a business process.


Data Services

Data services maintain, access, and update data. They also manage and satisfy requests to manipulate data that are initiated by business services. Separating data services allows the data structure and access mechanisms to be maintained, modified, or, if necessary, even rearchitected without affecting business or user services.


Class Wizard (Tools Menu)

Use this command to get help when creating a new class.  Follow the detailed instructions given in the different dialog boxes to document and specify information about the new class.

The wizard provides three options when creating a new class:

1.	Create a new, empty base class.

2.	Create a subclass of an existing class whereby the new subclass inherits from the existing class.

3.	Clone a new class from an existing class whereby the clone is an exact replica of the existing class.


Zoom to Selection (View Menu)

Use this command to move a specific icon in a diagram to the center of the window:

1.	Select the icon you want to center.

2.	Choose this command from the View menu.

Your view of the current diagram is shifted so that the selected icon appears in the center of the visible part of the current diagram. If multiple icons are selected, the midpoint between the selected icons is moved to the center of the diagram.

In some cases, the software may not be able to place the selected icon(s) at the exact center of the diagram. In particular:

•	If a single selected icon is close to the top or left hand edges of the canvas

•	If multiple selected icons are far apart

The diagram is magnified to its largest size.

See Also

Zoom In Command

Zoom Out Command


Zoom In (View Menu)

Use this command to magnify the current diagram, enlarging all of the icons on the diagram and decreasing the amount of the diagram visible at one time.

See Also

Zoom to Selection Command

Zoom Out Command


Zoom Out (View Menu)

Use this command to reduce the size of the current diagram, shrinking all of the icons on the diagram and increasing the amount of the diagram visible at one time.

See Also

Zoom to Selection Command

Zoom In Command


Page Breaks (View Menu)

Use this command to toggle the display of page breaks in diagrams.

When Page Breaks is checked, all open diagrams are updated to show dashed lines where page breaks will occur when the diagram is printed. The exact location of page breaks is based on the printer specified in your printer setup.

To remove the display of page breaks from all open diagrams, choose Page Breaks again. The check mark is removed.

See Also

Printer Setup Command


Refresh (View Menu)

Use this command to repaint the application window and all open diagrams and specifications.


Toolbar (View Menu)

Use this command to switch the visibility of the standard toolbar and diagram toolbox, or to customize the properties that govern the toolbars.

Clicking Configure brings you to the Toolbars tab of the Options dialog box.


Status Bar (View Menu)

Use this command to toggle the display of the status bar.

When Status Bar is checked, the status bar is displayed at the bottom of the application window.  Clicking Status Bar again removes the check mark as well as the status bar.


Fit In Window

Use this command to center and display any diagram within the limits of the window.  This command changes the zoom factor so that the entire diagram shows.

This command does not change the state of the diagram.  Changes made after clicking Fit In Window may require that you click Fit In Window again to center and resize the diagram again.


Documentation Window

Use this command to bring up a documentation window for a selected item on any diagram.  The documentation window contains the same information found on the specification.

This feature allows you to quickly and easily access the data which is used most frequently without taking up the space required of the specification.

You can use this window to edit or view the documentation associated with the item.  As is true in the specification, scroll bars are added when necessary and word wrap is employed.

Displaying the Documentation Window

By default, the documentation window is closed.  To view the window, click Documentation from the View menu.

Only one documentation window can be open at a time, but as you select different items, the window will be updated accordingly.  If you select an item that has no documentation associated with it, or you select multiple items, or you do not have an item selected, you will be notified accordingly.

When the window is first displayed, it will be docked to the lower left corner.  To move the window, click and drag on the border.  The window outline indicates the window state:  a thin, crisp line indicated the window will be docked, while a thicker, hashmark-type border indicates it will be floating.

Characteristics unique to the window state (docked or floating) are discussed below.

Docked:

•	The window can be moved within the dockable region of the model, but it remains positioned along the border.

•	The size remains fixed.

•	The title can be displayed via a tool tip (simply place your cursor anywhere in the window).

•	The window may be docked at any time.

Floating:

•	The window can be moved to any location, and is always displayed on top of the diagram.

•	Size can be changed via click and drag along the border in a vertical or horizontal direction.

•	The window title displays the type (class ) and the name of the class .


Browser

The browser is a hierarchical navigational tool allowing you to view the names of deployment and class diagrams as well as logical packages, classes, interfaces, and component packages associated with the model.

The + sign next to an icon indicates the item is collapsed, and additional information is located under the entry. Click on the + sign and the tree is expanded.  Conversely, a minus sign indicates the entry is fully expanded.

Double-clicking on the diagram name or icon displays the diagram.  Double-clicking on any other item displays the associated specification.

When a class or interface is assigned to a component, the browser displays the assigned component name in an extended name.  The extended name is a comma-separated list within parenthesis to the right of the class and interface name.  The extended list includes all the assigned components.

Displaying the Browser

When the Browser is first displayed, it will be docked along the left edge of the frame.  To move the window, click and drag on the border.  The window outline indicates the window state:  a thin, crisp line indicated the window will be docked, while a thicker, hashmark-type border indicates it will be floating.

To disable the browser, click Browser from the View menu.  The check mark will be removed along with the display of the Browser.

Characteristics unique to the browser state (docked or floating) are discussed below.

Docked:

•	The window can be moved within the dockable region of the frame, but it remains positioned along the border.

•	The size remains fixed.

•	The title can be displayed via a tool tip (simply place your cursor anywhere in the window).

•	The window may be docked on any border.

Floating:

•	The window can be moved to any location, and is always displayed on top of the diagram.

•	Size can be changed via click and drag along the border in a vertical or horizontal direction.

Refreshing the Browser

With the mouse positioned inside the browser, click Refresh from the shortcut menu.


Undo Fit In Window

Clicking the Undo Fit In Window icon undoes the actions performed on the previous Fit In Window command.


Notation Differences(Class and Use-Case Diagram
Notation Differences—Class and Use-Case Diagram


Notation Differences(Collaboration Diagrams
Notation Differences—Collaboration Diagrams


Notation Differences-Component Diagram
Notation Differences—Component Diagram


Notation Differences-Deployment Diagram
Notation Differences—Deployment Diagram


Notation Differences-Sequence Diagrams
Notation Differences—Sequence Diagrams


Notation Differences-State Diagram
Notation Differences—State Diagram


Window Menu (Overview)

Use commands from the Window menu to control the automatic placement of multiple diagram and specification windows within the application window. You can also use commands on the Window menu to redisplay windows that have been covered by other windows or iconified.


Cascade (Window Menu)

Use this command to arrange open diagram windows within the application window so that:

•	All diagram windows are the same size.

•	The title bar of each window is visible.

•	The main area of each window is hidden by the window layered above it.

•	The least-recently visited window is placed in the upper left corner, beneath all other windows.

•	More recently-visited windows are placed on top of and slightly below and to the right of the previously-viewed windows.

•	The most recently-viewed window is completely visible.

See Also

Tile Command


Tile (Window Menu)

Use this command to arrange open diagram windows within the application window so that:

•	The application window is divided into equal-size areas, with one diagram or specification window in each area.

•	All diagram windows are the same size.

•	The most recently visited window is placed in the upper left corner, above all other windows.

•	Less recently-visited windows are placed below or to the right of more recently-visited windows.

See Also

Cascade Command


Arrange Icons (Window Menu)

Use this command to arrange the icons for minimized diagram windows. The icons are arranged in a row at the bottom left corner of the application window. Each kind of diagram has a different icon, and each is labeled with the name of the diagram it represents.


0..
0..9 (Window Menu)

At the bottom of the Window menu, open diagram and specification windows are listed. A check mark appears in front of the name of the active window.

From this list, you click on the name of a window to display that window. The window is moved to the top of your display and becomes the active window.

Only the nine most-recently visited open windows are listed. If more than nine windows are open, the last menu item is More Windows. When you choose More Windows, the Select Window dialog box is displayed, which lists all open windows.


Log (Window Menu)

The log icon at the lower left side of the application window stores the contents of the error log.  Clicking Log from the Windows menu restores the log window. Error messages are posted to the log window whether or not it is displayed.

When the log window is displayed, the right mouse button will display a menu of options related to the log:

•	Cut

•	Copy

•	Save As...

•	Auto Save...

•	Clear

•	Time Stamp


Main

Help file’s entry point.


Mouse Operations (Overview)

You can use the mouse to:

Create diagrams

Complete specifications and dialog boxes

Browse between different diagrams and specifications


Creating Diagrams with the Mouse

When you are working in a diagram, the behavior of the mouse is determined by the active tool in the diagram toolbox. To activate a diagram toolbox tool, point to it and click the left mouse button. The current diagram -- the diagram contained in the active window -- places an appropriate set of tools on the toolbox.

The diagram toolbox contains two kinds of tools:

•	Selection tool. The arrow-shaped tool at the top of the diagram toolbox is the selection tool. When this tool is active, you can use the mouse to select the icon(s).

•	Creation tools. Tools that resemble notation items are creation tools. When a creation tool is active, you can use the mouse to place items in the current diagram. There are three kinds of creation tools:

−	Floating Text, indicated by the letters ABC.

−	Item icons, such as class.

−	Relationship icons, such as uses.


Completing Specifications and Dialog Boxes with the Mouse

You can use the mouse to enter information in specifications and dialog boxes just as you use it in most other applications. For example, click on:

•	A text field to make it the focus for keyboard input.

•	An option button or check box to toggle its setting.

•	An item in a list to choose it.

•	Cancel to dismiss the specification or dialog without making any changes.

•	OK to save the specification or continue executing the command that displayed the dialog.


Browsing with the Mouse

In addition to using commands on the Browse menu, you can use the mouse to move among diagrams and specifications. In particular, you can double-click on any item in a diagram or specification to display available details about that item.

When you double-click on most items, you get the item's specification. For example, double-click on:

•	A class icon to display the specification for that class.

•	A relationship icon to display the specification for that relationship.

•	The name of a method in the Methods field of a class specification to display the method's specification.

You can control the behavior when you double-click on a package. The initial state of double-click to diagram mode  is enabled — double-clicking on a package displays the main diagram. Executing the Double-Click to Diagram command disables double-click to diagram mode, so that double-clicking on a package displays the specification. Executing the command again re-enables the double-click to diagram mode.


Compartment

Definition

You can display additional information for a class, or package by editing its compartment. A compartment is a type of adornment that is displayed inside the class or package icon. Compartment information is dependent upon the icon type:

•	You can use a class compartment to display some of the significant properties and methods of the class.  A class icon has three compartments.

•	You can use a package compartment to display the names of any of its classes.  A package icon has two compartments.

Compartment Display

There are two mechanisms that control the display of information in a compartment:

•	The first mechanism is the Show All… commands on the Diagram Object Properties menu (located under the Edit menu). Those commands display all compartment information for a selected model element. Also, setting the same characteristics via the Diagram tab on the Options dialog box (located under the Tools menu) affect future items created on the diagram.

•	The other mechanism displays selective information in a compartment. To do that, select the class, interface or package and click the right mouse button. On the displayed menu, click Options and then click Select Properties and Methods. A Compartment Items dialog box, from which you can select the items you want displayed in the compartment, is displayed.

Compartment items are displayed below the icon name.  Each property and method is preceded by a symbol that indicates the item's access (public, protected, private, or implementation).  If the compartment display is too large for the icon, you can resize the icon by selecting it and dragging one of the selection handles.

You can edit the compartments by making changes to the related specification sheet.  You can verify these changes by displaying the element icon.

Class and Interface Compartments

The class (or interface) compartment is displayed as a 3-part box, with class name in the top part, a list of properties (with optional types and values) in the middle part, and a list of methods (with optional argument lists and return types) in the bottom part.

Package Compartments

The package compartment is displayed as a 2-part box: the top part contains the package name, the bottom part contains a list of the classes

.


Friend Adornment

Definition

Use the friend adornment to designate that the supplier class has granted rights to a client class to access its non-public parts.

Valid Application

You can apply the friend adornment to the supplier of generalize and dependency relationships:

Relationship	From	To
Generalize	Class	Another class
	Parameterized class	Class, another parameterized class
	Instantiated class utility	Class
Dependency	Any class	Class, parameterized class, instantiated class utility, parameterized class utility
You select the Friendship Required field in the Generalize or Dependency Relationship specification.

See Also

Generalize Relationship

Generalize Relationship Specification

Dependency Relationship

Dependency Relationship Specification


Note

Definition

A note captures the assumptions and decisions applied during analysis and design.  Notes may contain any information, including plain text, fragments of code, or references to other documents.  A note holds an unlimited amount of text and can be sized accordingly.

Notes behave like labels.   They are available on all diagram toolboxes.  Notes only show up where they have been placed on diagrams.  They are not considered part of the model.  Notes may be deleted like any other item on a diagram.

Graphical Depiction

The basic shape of a note is a note-shaped icon:

Relationships

A note may be unconnected, meaning that it applies to the diagram as a whole.  You can also draw the following relationships:

Draw	From a Note to:

Note Anchor	Any item that can be selected in a diagram

Note Anchor	Multiple items

Note: Anchors cannot be attached to other note anchors.


Note Anchor

Definition

A note anchor connects a note to the element that it affects.

To draw a note anchor, place a note on the diagram and connect the note to an element with the note anchor icon.

Graphical Depiction

The basic shape of a note anchor icon is a dashed line:

Relationships

You can draw the following relationships:

Draw	From a Note to:

Note Anchor	Any item that can be selected in a diagram

Note Anchor	Multiple items

Note: Anchors cannot be attached to other note anchors.


Virtual Adornment

Definition

Use the virtual adornment to designate a shared base class in a multiple inheritance situation. Applying the virtual adornment to the generalization relationship for a subclass ensures that only one copy of the base class will be inherited by descendants of the subclasses.

Valid Application

You can apply the virtual adornment only to the following generalization relationships:

From:	To:

Class	Class

You select the Virtual Inheritance field in the Inherits Relationship specification.

See Also

Generalize/Inherits Relationship


Aggregate Relationship

Definition

Use the aggregate relationship to show a whole and part relationship between two classes.

The class at the client end of the aggregate relationship is sometimes called the aggregate class. An instance of the aggregate class is an aggregate object. The class at the supplier end of the aggregate relationship is the part whose instances are contained or owned by the aggregate object.

Use the aggregate relationship to show that the aggregate object is physically constructed from other objects or that it logically contains another object. The aggregate object has ownership of its parts.

Graphical Depiction

An aggregate relationship is a solid line with a diamond at one end:

The diamond end designates the client class.

Naming

Use the relationship name to identify the type or purpose of the relationship.

Valid Classes

You can draw an aggregate relationship between the following classes:

From:	To:

Class	Another class, instantiated class

Class Utility	Class, instantiated class

Access

For each aggregate relationship, you can specify the type of access allowed for the relationship: public, private, protected, or implementation.

See Also

Access Adornments

Class


Options Dialog Box (Overview)

The commands on the Option dialog box (located under the Tools menu) can be used to customize various features. The features are divided into categories, represented by tabs on the dialog box. They are:  General, Diagram, Browser,

Language tab(s) for code generation will be shown for all languages you have loaded.


Options Dialog Box General Tab

Click on any button or field for more information.


Options Dialog Box Diagram Tab

Click on any button or field for more information.


Options Dialog Box Browser Tab

Click on any button or field for more information.


Double Click to Diagram
Double-Click to Diagram

Use this command to specify what action will occur when you double-click on an icon representing a logical package or component package.

When you double-click on a logical or component package, one of the two actions can occur:

•	The specification for that package is displayed.

•	The main diagram for that package is displayed.

On the Tools menu, click Options, and then click the Diagram tab. Click the Double-click to diagram checkbox.

A check mark inside the checkbox means the main diagram will be displayed on double-click. The initial state of double-click to diagram mode  is enabled—double-clicking on a logical or component package displays the main diagram for that element.

If there is no check mark in the checkbox, double-clicking on a logical or component package displays the specification.


Snap To Grid

Use this command to enable or disable snap to grid.

On the Tools menu, click Options, and then click the Diagram tab. Click the Snap to Grid checkbox.

A check mark in the checkbox indicates that new or moved icons will align with a grid whose pitch is specified by the Grid Size.


Grid Size

Use this command to specify the grid pitch in pixels.

On the Tools menu, click Options, and then click the Diagram tab. In the Grid size box, type in a new number.

Use the Snap To Grid to enable or disable grid alignment.


Unresolved Adornments

Use this feature to enable or disable adornment of icons representing components not currently loaded in the model. The unresolved view adornment is a small octagon containing the letter "M" with a slash through it.

On the Tools menu, click Options, and then click the Diagram tab. Click the Unresolved adornments checkbox.

A check mark in the checkbox indicates that unresolved views will be adorned.


Save Settings on Exit

Use this command to save the arrangement of diagram and specification windows and icons when you exit.

On the Tools menu, click Options, and then click the General tab. Click the Save settings on exit checkbox.

A check mark beside this command means that settings will be saved. The next time you open the model, the arrangement that was last saved is displayed.


Save

This command writes Petal files to a user-specified file. This file is referred to as the destination file. These commands are grouped together on the General tab of the Options dialog box:

•	Use Temporary Files

•	Create Backup Files

•	Keep Two Backup Files

•	Update By Copy

See Also

Examples of Save Scenarios


Use Temporary File

Enable this option to write to a temporary file whose name is derived from the destination file.  Once the temporary file has been completely written, the temporary file is copied or renamed to the destination file.

See Also

Names of Temporary & Backup Files


Create Backup File

Enable this option to create a backup file.

If Create Backup Files is true and Use Temporary Files is false, and the destination file already exists, the destination file is copied or renamed to the backup file before the Petal file is written to the destination file.

If Create Backup Files and Use Temporary Files are both true, then once the temporary file has been written successfully, the original destination file, if it exists, is copied or renamed to the backup file. The temporary file is then copied or renamed to the destination file.

See Also

Names of Temporary & Backup Files


Keep Two Backup File

Enable this option to maintain two backup files: the most recent and the baseline copy.

If Create Backup Files is true when writing a backup file, the most-recent generated name for the backup file will be deleted. The newly created backup file is assigned the most-recent generated name for backup files. The oldest copy of the file is saved forever and remains untouched. The oldest version of the file is retained as a baseline copy.

If a backup file doesn't already exist, a backup file is created and assigned the most-recent generated name.

See Also

Names of Temporary & Backup Files


Names of Temporary & Backup Files

Temporary and backup file names are derived from the name of the destination file name.  Special characters are appended to the extension. A character may be deleted from the end of the original extension to conform to the three character limit.

Destination File:  file.mdl

Temporary File:  file.md#

Backup File (most recent or only):  file.md~

Alternate Backup File (least recent):  file.md%


Examples of Save Scenarios

Assume the software has been asked to write the Petal file sample.cat in each of the scenarios below:

Scenario One:  Use Temporary Files and Create Backup Files are not selected.

Scenario Two:  Use Temporary Files is selected.

Scenario Three:  Use Temporary Files is not selected.


Save Scenario One

If neither Use Temporary Files and Create Backup Files are selected, then the Petal file is written directly to sample.cat.  Keep Two Backup Files and Update By Copying have no effect in this case.


Save Scenario Two

If Use Temporary Files is selected, then

If you do not have write permission to sample.cat, an error is reported and nothing else happens.

sample.ca# is deleted if it exists, and deletion is possible. However, the inability to delete it is not an error. If the file exists, cannot be deleted, and is write protected, the step is prohibited.

sample.cat is opened with default permissions and the Petal file is written to it.

If Create Backup Files is selected, then

If Update By Copying is false, sample.ca~ is deleted and sample.cat is renamed to sample.ca~. If the delete or rename fails, an error dialog is raised asking whether to proceed without creating a backup or to cancel the write. If you proceed, the original sample.cat is deleted.

If Update By Copying is selected, sample.cat is copied to sample.ca~. If the copy fails, an error dialog is raised asking whether to proceed without creating a backup or to cancel the write. Note that files are not deleted before copying is done.

If Create Backup Files is not selected, then

If Update By Copying is true, sample.cat is deleted and sample.ca# is renamed to sample.cat

If Update By Copying is not selected, sample.ca# is copied to sample.cat.

Note that when Update By Copying is not selected:

Protection against errors is high, because deletes and renames are almost atomic.

The overhead is low, since deletes and renames are relatively cheap.

The owner of the destination file is changed to the writer, the group is set according to the rules of the directory permission and the writer.

When Update By Copying is selected:

Protection against errors is only partial, since copying can fail. The most likely problem is running out of disk space during the copy.

The overhead is substantial, since copying files is relatively expensive.

The owner, group and access permissions of the destination and backup files are preserved, since the destination file is not deleted before a copy is made.


Save Scenario Three

If Use Temporary Files is not selected, then the backup files must be created before the Petal file is written. Therefore the backup file is created:

If Update By Copying is not selected, sample.ca~ is deleted and sample.cat is renamed to sample.ca~. As in Scenario Two, if this fails, a dialog box is raised asking whether to proceed or fail.

If Update By Copying is selected, sample.cat is copied to sample.ca~.

In the above two bullets, if Keep Two Backups is true, sample.ca% is used in place of sample.ca~ if it doesn't already exist.

The Petal file is written directly to sample.mdl.


Update By Copy

Enable this option to manipulate files by copying. The temporary file is copied to the destination and the destination is copied to the backup. If this option is false, manipulation of the files is done by renaming.


Picklists

The Show Classes option works in conjunction with selection lists to provide a defined set of types to choose from. These selection lists, also known as pick lists, are used to define such things as return types and argument types.

If you click Show Classes, the selection lists include all classes defined in the model as well as any fundamental types that reside in the model.

If you disable this option, the selection lists include only the fundamental types that reside in the model.


Show Stereotypes (Diagram Tab)

Use this option to enable or disable viewing stereotype names of the methods of new classes in the class compartments. The selection is applied to new classes that are added to diagrams.


Show stereotype names (Browser Tab)

Use this option to enable or disable viewing of stereotype names of model elements in the browser.

To display only stereotype icons (if any), select also the Hide Stereotype name if there is an icon for it option.

To display both stereotype icons (if any) and stereotype names, clear the Hide Stereotype name if there is an icon for it option.


Hide stereotype name if there is an icon for it (Browser Tab)

Select this option to display stereotype icons, but not stereotype names, of model elements in the browser. This option is only relevant for stereotypes that have an icon.


Line Color


3-Tiered Diagrams

Use this setting to enable or disable 3-Tiered Diagrams.  A check mark beside this setting enables 3-Tiered Diagrams.

Changing the setting of the 3-Tiered Diagrams option prompts a message box to be displayed informing you that “The change in the 3-Tier Diagram option will not take effect until you restart the application.”


Diagram Toolbox

When you are working in a diagram, the behavior of the mouse is determined by the active tool in the diagram toolbox. The current diagram—the diagram contained in the active window—determines the set of tools displayed on the diagram toolbox.  You may customize the set of tools available through the Customize Toolbar dialog box.

To activate a diagram toolbox tool, point to it and click the left mouse button.

The diagram toolbox is originally displayed on the left-most side of the application.  You can position and shape the diagram toolbox in any way that you desire.

The diagram toolbox contains four kinds of buttons:

•	Selection tool. The arrow-shaped button at the top of the diagram toolbox activates the selection tool. When this tool is active, use the mouse to select the icon(s).

•	Creation tools. Buttons that resemble notation items activate the creation tools. When a creation tool is active, you can use the mouse to place items in the current diagram. There are three kinds of creation tools:

−	Floating text, indicated by the letters ABC.

−	Item icons, such as class.

−	Relationship icons.

•	Separator tool.  The empty button that serves as a separator in the organization of the tools on the diagram toolbox.

•	Locking tool.  The button that resembles a pad lock that sets the locking mode.

See Also

Using the Mouse to Create and Edit Diagrams


Customize Toolbox Dialog Box

The Customize Toolbox dialog box allows you to customize the tools on the diagram toolbox for a specific diagram type.

The Available buttons list contains a fixed list of all the available buttons, or tools, that apply to the current diagram type, but are not currently displayed on the toolbox.  You can select buttons from this set to be placed on the diagram toolbox and specify the order that they appear.

The Toolbox buttons list contains the ordered list of all the buttons that will appear on the diagram toolbox.  Once buttons are moved onto this list they can be moved to any position.

The Select icon(s) tool is dimmed in the toolbox buttons list because every diagram toolbox must have the selection tool.  Since it is dimmed, it cannot be moved or removed.  Other buttons may be placed ahead of it, however, so its position in the toolbox is not fixed.

With the exception of the Separator button, only one instance of any tool may be placed on the toolbox.  Since multiple instances of the Separator button are allowed on the toolbox, this button is always available regardless of the number of times it is added to the Toolbox buttons list.


Button Size

You can modify the size of the buttons via the toolbox shortcut menu .


Windows and Their Contents

The graphical user interface allows you to view, create, modify, and manipulate the elements in a model. This interface includes three kinds of windows:

•	Application

•	Diagram

•	Specification

The application window contains a menu bar, a diagram toolbox, a standard toolbar, and a zoom bar. Each diagram or specification that you open is displayed in a window within the application window.

If the active window displays a diagram, that diagram is referred to as the current diagram; if the active window displays a specification, that specification is referred to as the current specification.


The Application Window

The application window usually contains a menu bar, a diagram toolbox, and a log icon.

Each diagram or specification that you open is displayed in a window within the application window. These diagram and specification windows can be iconified.

If the active window displays a diagram, that diagram is referred to as the current diagram. If the active window displays a specification, that specification is referred to as the current specification.

The menu bar lists commands available in any diagram or specification window. Depending on the kind of diagram or specification displayed in the active window, some menu commands may not apply. These commands are dimmed.

The diagram toolbox along the left side of the application window displays tools represented by icons that can be placed in the current diagram. If the current diagram is write-protected, the diagram toolbox will not be displayed. The diagram toolbox is also only available when a diagram is displayed. Each kind of diagram places an appropriate set of tools in the diagram toolbox:

•	Class Diagram

•	Component Diagram

•	Deployment Diagram

The log icon at the lower left side of the application window stores the contents of the error log.  Double-clicking the log icon restores the log window. Error messages are posted to the log window whether or not it is displayed.

When the log window is displayed, the right mouse button will display a menu of options related to the log:

•	Cut

•	Copy

•	Save As...

•	Auto Save...

•	Clear

•	Time Stamp


Log Icon - Time Stamp

Use the time stamp option to stamp each log file entry with the date and time.  This option is found under the View menu if the log window is open. A check mark beside the time stamp option turns the time stamp mechanism on.  Selecting the time stamp option a second time clears the check mark, thereby disabling the time stamp mechanism.


Log Icon - Clear
Clear Log

Use the Clear Log option, located under the File menu, to clear the log window, discarding all of the error messages currently in it. This option is only available when the log window is open.


Log Icon - Auto Save
Auto Save Log

Use the Auto Save Log option to continually save the contents of the log file to a file of your choice. This is especially useful when you do not want to lose any log information.

The log file is circular, so after "X" number of entries, information is lost. The default value of “X” is 100, but can be set to any number using the “LogSize” setting in the rose.ini file.

The log file will be saved until it reaches the LogSize setting, or until the disk is full, which ever comes first.

The Auto Save command brings up the Auto Save dialog box, in which you can select the location and file name of the desired file.


Log Icon - Save As
Save Log As

Use the Save Log As option, located under the File menu, to save the log file to a file of your choice. The Save Log As command brings up the Save Log dialog box. This option is only available when the log window is open.


Log Icon - Copy

Use the Copy option, located under the Edit menu, to copy entries from the log file into the clipboard. Select the entries that you want copied and click Copy. This option is only available when the log window is open.


Log Icon - Cut

Use the Cut option to cut entries from the log file. Select the entries that you want removed and click Cut. This option is only available when the log window is open.


Log Icon - Find

Use the Find option, located under the Edit menu, to search the log for a particular character string. A pop-up dialog box is displayed. Enter the string you wish to search for and click Find.  This option is only available when the log window is open.


Log Icon - Find Next

Use the Find Next option, located under the Edit menu, to search the log for the next occurrence of the Find string entered through the Find command. This command is only available when the log window is open.


Diagram Windows

Diagram windows allow you to create and modify graphical views of the current model. Each icon on a diagram represents an element in the model. Since diagrams are used to illustrate multiple views of a model, each model element can appear in none, one, or several of a model's diagrams. This means you can control which components and properties appear on each diagram.

Adding Icons to a Diagram

To create or add icons to a diagram, you can either:

•	use tools on the Diagram Toolbox, or

•	use the drag and drop capabilities of the browser.

Invoke commands from the Query menu, which add icons representing specific model elements. You can cut, copy, and paste, icons between different diagram windows using commands on the Edit menu.  The Edit menu also provides commands that enable you to select, find, and rename icons. The Browse menu provides commands to navigate among diagrams, as well as create, rename, and delete them. Commands on the Report menu provide additional diagram navigation capabilities. You can print diagrams using the Print Diagrams command.

Opening Specifications

Clicking the Specification command from the Browse menu, displays the specification for the model component represented by the selected icon. Double-clicking on an icon representing a model component other than a component package or logical package will display that component's specification. The Double-Click to Diagram command allows you to control the software’s behavior when you double-click on a component package or logical package.

The Shortcut Menu

Clicking the right mouse button on an icon, activates the shortcut menu which enables you to modify properties (for icons that represent relationships) or select properties to be displayed within the icon.

Scroll Bars

Diagram windows provide vertical and horizontal scroll bars to pan across diagrams larger than the window.

Diagram Types

Diagrams are contained by the model components they represent:

•	A logical package (also User Services, Business Services, and Data Services) contains an automatically created class diagram called “Package Overview,” and user created Class Diagrams,  and Three-Tiered Diagrams.

•	A component package contains Component Diagrams.

•	A model contains the diagrams for its top level components, its Three-Tiered Service Model diagram, its Deployment Diagram, and the diagrams contained by its logical packages and component packages. These top-level components can be classes, components  and nodes.


Specification Windows

Clicking the Specification command from the Browse menu, displays the specification for the selected icon. The fields in a specification enable you to inspect and modify the properties of an element. If a field contains the name of an element, double-clicking on that name will display the specification for that element. Specifications can be edited with commands in the Edit menu, and printed using the Print Specifications command under the File menu.


Diagram Toolbox

When you are working in a diagram, mouse behavior is determined by the active tool in the diagram toolbox. To activate a diagram toolbox tool, point to it and click the left mouse button. The current diagram -- the diagram contained in the active window -- places an appropriate set of tools on the diagram toolbox. The diagram toolbox is only displayed when a diagram is displayed.

The diagram toolbox is originally displayed on the left side of the application. You can move to diagram toolbox to any location on the application window.

The diagram toolbox contains two kinds of tools:

•	Selection tool. The arrow-shaped tool at the top of the diagram toolbox is the selection tool. When this tool is active, you can use the mouse to select any icon(s) on the toolbox.

•	Creation tools. Tools that resemble notation items are creation tools. When a creation tool is active, you can use the mouse to place items in the current diagram. There are three kinds of creation tools:

−	Floating Text, indicated by the letters ABC

−	Item icons, such as class

−	Relationship icons, such as dependency and associations


Navigating a Model

The browser provides a visual representation of your model’s hierarchy. As you make changes in a diagram window or in the browser window, the windows remain synchronized:

•	To display a diagram window, double-click the name or icon in the browser window.

•	To display an item’s specification, double-click the item in the browser or in a diagram window. (Any changes you make to the specification are automatically reflected in both the browser and the diagram.)

•	To bring focus to an item in the current diagram, select the item in the browser or in the diagram window.


Browser to Browser Capabilities

The following table lists the actions you can perform by dragging and dropping model elements within the browser:

Capability	Description

Add	Class and interface to class diagram

Logical package to class diagram

Component to component diagram

Component package to component diagram

Assign	Component to class and interface

Class and interface to component

Move	Class diagram to logical package

Component diagram to component package

Process to node

Move/Copy*	Method to class and interface

Class property to class item and interface

Relocate	Class and interface to logical package

Logical package to logical package

Component to component package

Component package to component package

* The default action is Move.  To Copy, hold down the CTRL key while dragging the element to its destination.


Browser to Diagram Capabilities

The following table lists the actions you can perform by dragging and dropping model elements from the browser to diagrams:

Capability	Description

Add	Class and interface to class diagram

Logical package to class diagram

Component to component diagram

Component package to component diagram

Node to deployment diagram

Assign	Component to class and interface

Class and interface to component

Move/Copy*	Method to class and interface

Class property to class and interface

Relocate	Class to logical package

Logical package to logical package

Component to component package

Component package to component package

* The default action is Move.  To Copy, hold down the CTRL key while dragging the element to its destination.


Browser to Specification Capabilities

The following table lists the actions you can perform by dragging and dropping model elements from the browser to a specification:

Capability	Description
Assign	• Class and interface to/from Component Specification Realizes tab • Component to Class Specification Components tab
Move/Copy	• Methods to/from Class Specification Methods tab • Properties to/from Class Specification Properties tab


Package Overview (Overview)

When a logical package is created, a class diagram called “Package Overview” is created and connected to the new package. The purpose of a “Package Overview” diagram is to illustrate the contents of a specific logical package in the model.

The “Package Overview” diagrams are automatically updated. That is, when classes are added/removed from a package the classes are also added/removed from its “Package Overview.”

A “Package Overview” can be edited in the same way as Class Diagrams, with the exception that you cannot use the Paste command to add model items.


Three-Tiered Diagrams (Overview)

A three-tiered diagram is a Class Diagram that is divided into three tiers. Each tier corresponds to a logical package which in turn corresponds to a service layer: User Services, Business Services, and Data Services. The service layer packages are automatically created when a new model is opened. The three-tiered diagram type encourages and enforces the construction of three-tiered logical system architectures.

Adding Icons to a Three-Tiered Diagram

You can populate the tiers by using the standard drawing tools to drop icons in the appropriate area of the diagram. When an icon is placed in the area for one of the three tiers, the corresponding model item will be created in the appropriate tier package.

You can create relationships among the classes and logical packages in the tiers using the standard means of drawing directly between icons. The icons at the ends of the relationship may both be in the same service layer or the relationship may cross service layer boundaries.

The “Three-Tiered Service Model” Diagram

By default, a three-tiered diagram called “Three-Tiered Service Model” is opened and displayed when you open a model.

 That specific diagram is aimed to describe the architecture of the key abstractions of the modeled system.

To start with, the “Three-Tiered Service Model” diagram may be enough to describe the overall architecture of your system. However, when the number of classes and logical packages in the model grows, you might need more than one three-tiered diagram. Then you can create new three-tiered diagrams.

See Also

Diagram Windows

Three-Tiered Architectural Approach

Moving Classes or Packages between Tiers

Creating a new three-tiered diagram


Moving Classes or Packages between Tiers

Using Drag and Drop

You can relocate one or more classes or logical packages from a source tier to a destination tier with a drag-and-drop technique as described below:

•	Select an icon for the class or package in the source tier and drag it to the destination tier. The dragged items will be relocated to the package for the destination tier area.

If a class or package that was relocated from the source tier is shown on any other three-tier diagrams as an icon on that tier, then those icons will be removed if the diagrams are not read-only. The removed icons will not be automatically shown in the new destination tier on such diagrams.

If a diagram is read only, then icons for the relocated classes or packages will not be removed.

Using the Browser or Relocate on Edit Menu

You can relocate one or more classes or packages from a source tier to a destination tier using the Browser or the Relocate command on the Edit menu as described below:

1.	Display the Browser with the hierarchy of a tier package expanded, or display a class diagram other than a three-tiered diagram showing an icon for a class or logical package from one of the tiers.

2.	Drag the class or package from one tier to another, or select the class or logical package and apply the Relocate command from the Edit menu. The class or logical package is moved to the new destination package.

The icon for the class or package is removed from any modifiable three-tiered diagrams showing the class or package. Relationships to the removed icons are also removed.

If a three-tiered diagram showing the icon is read only, then icons for the relocated classes or packages will not be removed.


Creating a New Three-Tiered Diagram

You can create a new three-tiered diagram at the model level or in a nested logical package. Follow one of the scenarios listed below:

Using a pop-up menu

1.	Click Logical View or the desired logical package in the Browser.

2.	Click the right mouse button to display the shortcut menu. Click New Three-tiered Class Diagram. A new three-tiered diagram will be created. The name may be edited in-place.

Using the Class Diagram command

1.	Click Class Diagram from the Browse menu.

2.	Click the logical package where the new diagram is to be created.

3.	Click <New> from the diagram list.

4.	Click the Three-Tiered Diagram check box.


Standard Toolbar

The standard toolbar is displayed directly below the menu bar along the top of the application window.  The visibility of the toolbar is set through the View menu.  By default, the standard toolbar is displayed.  If you wish to disable the standard toolbar from the application window, from the View menu, point to Toolbars and click Standard.  This will switch the visibility property of the toolbar.

The icons available on the standard toolbar are independent of the diagram window open.  Click on the icon for further explanation:


Create New Model

Clicking the New File icon creates a new model.


Open Existing Model

Clicking the Open Model icon from the toolbar brings up the Load Model dialog box.  You can open a model from anywhere within the design.

If you have a model open when you select either the create or open icon, you will be asked if you want to save your current model.  Clicking No discards all changes since your last save.  Clicking Yes saves your changes and opens a new model, or displays the Load Model dialog box automatically.


Save Model or Log

Clicking Save Model icon brings up the Save Model to dialog box.  Enter a new file name.  Once the model is named and saved, selecting this icon automatically saves your changes to the current model without displaying the dialog box.  This will also save the log if the log window is open.


Cut

Clicking the Cut icon allows you to remove icons or relationships from your model.  An item (or items) must be selected to activate the icon.  Cutting an element will also cut associated relationships.  You can cut multiple selected items.


Copy

Clicking the Copy icon allows you to copy an element to a new location on the same model, or to a new model, without affecting the original element.


Paste

Clicking the Paste icon allows you to paste an element that has previously been cut or copied to the clipboard onto another location.


Help Topics

Clicking the Help Topics icon activates the on-line help feature.  On-line help covers the product information, as well as definitions, menu commands, toolbar icons, and step-by-step instructions.


Context Sensitive Help
Context-Sensitive Help

Clicking the Context-Sensitive Help icon makes all topics covered in the on-line help material available.  Click on this icon, drag to the item in question and release the mouse.


Browse Class Diagram

Clicking the Browse Class Diagram icon brings up the Select Class Diagram dialog box.


Browse Module Diagram
Browse Component Diagram

Clicking the Browse Component Diagram icon brings up the Select Component Diagram dialog box.


Browse Parent

Clicking the Browse Parent icon displays the "parent" of the selected diagram or specification.  If you have a specification selected, the specification for the parent of the "named" item is displayed.


Browse Previous Diagram

Clicking the Browse Previous Diagram icon displays the last displayed diagram.


Zoom In

Clicking the Zoom In icon magnifies the current diagram allowing you to view an area in detail.


Zoom Out

Clicking the Zoom Out icon minifies the current diagram allowing you "pull back" to view more information.


View Documentation

Clicking the View Documentation icon brings up a documentation window for a selected item on any diagram.  The documentation window contains the same information found on the specification.

You can use this window to edit or view the documentation associated with the item.  As is true in the specification,  scroll bars are added when necessary and word wrap is employed.


Browse Process Diagram
Browse Deployment Diagram

Clicking the Browse Deployment Diagram icon brings up the Browse Deployment Diagram dialog box.


Fit In Window

Clicking the Fit In Window icon centers and displays any diagram within the limits of the window.  This command changes the zoom factor so that the entire diagram shows.

This command does not change the state of the diagram.  Changes made after clicking Fit In Window may require that you re-click Fit In Window to center and resize the diagram again.


Undo Fit In Window

Clicking the Undo Fit In Window icon undoes the actions performed on the previous Fit In Window command.


Select Arrow

A marker that shows where you are working in a dialog box, or shows what is selected in a diagram.


Text Box

Use this command to create a text icon in the active diagram.


Lock Selection

Use this command to lock your selection of a notation element on the diagram toolbox.  The lock enables you to place multiple copies of a notation element on a diagram with a single mouse click so long as the element is locked.  You can change the selection of the notation element while the lock is enabled.  Clicking on the Lock Selection icon a second time unlocks the notation element.


Class

Definition

A class captures the common structure and common behavior of a set of objects. A class is an abstraction of real-world items. When these items exist in the real world, they are instances of the class, and referred to as objects.

Graphical Depiction

A class icon is drawn as a 3-part box, with the class name in the top part, a list of properties (with optional types and values) in the middle part, and a list of methods (with optional argument lists and return types) in the bottom part.

The property and method sections of the class box can be suppressed to reduce detail in an overview.  Suppressing a section makes no statement about the absence of properties or methods, but drawing an empty section explicitly states that there are no elements in that part.

Relationships

You can draw the following relationships:

Draw	From a Class To:
Generalization	Another class, interface
Association Relationship	Another class, parameterized class, class utility, instantiated class utility template, interface
Adornments

You can further define a class using the Class Specification. Some class specification fields correspond to class adornment and compartment information that you can display in the class diagram.

Type	Shortcut Menu Item	Description
Properties	Select Property and Method from the Options menu	Parts of the aggregate object.
Methods	Select Property and Method from the Options menu	Services provided by the class.
Visibility	Show Visibility	Specifies how the class is seen outside of the package in which it is defined; shows import status of the class.
Components		The software modules that realizes the class.
See Also

Class Specification

Class Utility

Compartment


Interface

Definition

An interface specifies the externally-visible methods of a class and/or component, and has no implementation of its own. An interface typically specifies only a limited part of the behavior of a class or component.

Graphical Depiction

Interfaces belong to the logical view but can occur in both class and component diagrams.

In component diagrams

An interface in a component diagram is displayed as a small circle with a line to the component that realizes the interface.

In class diagrams

An interface in a class diagram is represented by a class icon with the stereotype “interface.” Thus, it is a 3-part box, with the interface name in the top part, a list of properties (usually empty) in the middle part, and a list of methods (with optional argument lists and return types) in the bottom part.

The property and method sections of the interface class box can be suppressed to reduce detail in an overview. Suppressing a section makes no statement about the absence of properties or methods, but drawing an empty section explicitly states that there are no elements in that part.

Relationships

You can draw the following relationships:

Draw:	From an Interface To:
Generalization	Another interface
Association Relationship	Not recommended by UML
Adornments

You can further define an interface using the Class Specification. Some class specification fields correspond to adornment and compartment information that you can display in the class diagram.

Type	Shortcut Menu Item	Description
Properties	Select Properties and Methods from the Options menu	Properties not recommended by UML.
Methods	Select Properties and Methods from the Options menu	Services specified by the interface.
Visibility	Show Visibility	Specifies how the interface is seen outside of the package in which it is defined; shows import status of the interface.
See Also

Class Specification

Compartment


Logical Packages

Definition

Packages serve to partition the logical model of a system. They are clusters of highly related classes that are themselves cohesive, but are loosely coupled relative to other such clusters. You can use packages to group classes, interfaces, and other packages.

You can draw logical packages only in class diagrams. While many object-oriented programming languages do not yet support this concept, using packages in a class diagram allows you to express and preserve important architectural elements of the system design. You can capture a high-level design of the system by creating a class diagram that consists only of packages.

Graphical Depiction

The logical package is a folder shaped icon:

When you name the package, the name is displayed inside the icon.

Relationships

You can draw a dependency relationship from a package to another package. This type of dependency relationship means that the classes contained in the client package can inherit from, contain instances of, use, and otherwise depend on classes that are exported from the supplier package.

Adornments

If a package contains a number of common classes that are used by most packages in the model, you can apply the global adornment to the lower-left corner of the package icon instead of placing icons representing these common classes in many top-level diagrams.

To indicate a global, click on the Global check box on the Detail tab of the Package Specification.

See Also

Class

Class Diagram

Compartment

Global Adornment

Dependency Relationship

Interface


Cardinality Adornment

Definition

Cardinality specifies how many instances of one class may be associated with a single instance of another class.

You can show cardinality for relationships to indicate the number of links allowed between one instance of a class and the instances of the another class.

Valid Values

Value	Description

1	One

0..*	Zero or more

Relationship Cardinality

The default cardinality is "unspecified." A cardinality of "n" is displayed as a "*" on the class diagram.

You can set cardinality through the shortcut menu. To set the cardinality place the cursor at the end of the relationship and right-click to display the shortcut menu. The cardinality is applied to the role closest to the clicked end.

See Also

Association Relationship Specification

Class

Class Specification

Interface

Dependency Relationship

Dependency Relationship Specification


Generalize/Inherits Relationship

Definition

A generalize relationship between classes shows that the subclass shares the structure or behavior defined in one or more superclasses. Use a generalize relationship to show a "is-a" relationship between classes.

Graphical Depiction

A generalize relationship is a solid line with an arrowhead pointing to the superclass:

Naming

Use the relationship name to identify the type or purpose of the relationship.

Valid Classes

You can draw a generalize relationship between the following classes:

From:	To:

Class	Another class, instantiated class, interface

Class utility*	Another class utility, instantiated class utility, interface

* Allowed by the tool.

Adornments

You can further define a generalize relationship by specifying its access, identifying whether the class grants rights to another class, and identifying the superclass as a base class. You can set the following items in the Generalize Relationship Specification or you can select the appropriate value from the relationship's shortcut menu.

Access

You can specify public, private, protected, or implementation.

Friendship Required

You can apply the friend adornment to designate that the supplier class has granted rights to the client class to access its non-public parts.

Virtual Inheritance

If you have a multiple inheritance situation, you can apply the virtual adornment to ensure that only one copy of the base class will be inherited by descendants of the subclasses.

Creating an Inheritance Tree

An inheritance tree is useful when a number of subclasses share the behavior and structure of a superclass.  Rather than creating a multitude of inheritance relationships pointing directly from the subclasses to the superclass, you can tie the relationships together to form one link to the superclass, thereby creating a tree structure.

To create an inheritance tree, position the subclasses below the superclass.  Create a an inheritance relationship between one of the subclasses and the superclass.  Let's call that inheritance relationship "relationshipA."  Create the remaining inheritance relationships by tying one end of the relationship to the subclass, and connecting the other end of the relationship to "relationshipA," rather than directly to the superclass.  In doing so, the software automatically redraws the inheritance relationships in a tree structure.

See Also

Access Adornment

Class

Class Utility

Friend Adornment

Generalize Relationship Specification

Interface

Virtual Adornment


Dependency Relationship

Definition

Draw a dependency relationship between two classes, or between a class and an interface, to show that the client class depends on the supplier class/interface to provide certain services, such as:

•	The client class accesses a value (constant or variable) defined in the supplier class/interface.

•	Methods of the client class invoke methods of the supplier class/interface.

•	Methods of the client class have signatures whose return class or arguments are instances of the supplier class/interface.

Graphical Depiction

A dependency relationship is a dotted line with an arrowhead at one end:

The arrowhead points to the supplier class. In this example, class A is dependent on class B.

Naming

Use the relationship name to identify the type or purpose of the relationship.

Valid Applications

You can draw a dependency relationship between logical packages.


Association Relationship

Definition

An association represents a semantic connection between two classes, or between a class and an interface. Associations are bi-directional; they are the most general of all relationships and the most semantically weak.

During analysis, you will initially identify general dependencies between classes. As your model evolves, you may add adornments to associations to make them more precise.

Graphical Depiction

An association relationship is an oblique or orthogonal line:

Naming

Use the association name to identify the type or purpose of the relationship.

Valid Classes

You can draw an association relationship between all types of classes and interfaces.

Adornments

You can assign a variety of adornments and properties to association relationships through the Association Relationship Specification.  They include: documentation, roles and access.

See Also

Association Relationship Specification


Access Adornment

Summary

Use access adornments to specify the type of access allowed between classes, as well as on properties, methods and roles.  There are four types of access adornments: public, private, protected, or implementation.

You can apply the access adornments to associations or generalizations.

You can apply an access adornment by setting the access type in the applicable Relationship Specification. You can also apply the access adornment by selecting the access type from the relationship's shortcut menu.

Access adornments are displayed on the specification beside properties, methods and types in the following manner:

•	Public (default)	- a ' [image] ' is placed beside the item's name.

•	Protected	- a ' [image] ' is placed beside the item's name.

•	Private	- a ' [image] ’ is placed beside the item's name.

•	Implemented	- a ' [image] ’ is placed beside the item's name.

Public

Public access means that the members of a class are accessible to all clients. This is the default access. You can also click on the Public button in the Access section of the Relationship Specification.

Protected

Protected access means that the members of a class are accessible only to subclasses, friends, or to the class itself.

To apply a protected access adornment to a relationship, click on the Protected button in the Access section of the applicable Relationship Specification.

Private

Private access means that the members of a class are accessible only to the class itself or to its friends.

To apply a private access adornment to a relationship, click on the Private button in the Access section of the Relationship Specification.

Implementation

Implementation access means that the class is accessible only by the implementation of the package containing the class.

To apply an implementation access adornment to a relationship, click on the Implementation button in the Access section of the Relationship Specification.


Class Diagrams (Overview)

A class diagram is a picture for describing generic descriptions of possible systems.

Class diagrams contain icons representing classes, interfaces, and their relationships. You can create one or more class diagrams to depict the classes at the top level of the current model; such class diagrams are themselves contained by the top level of the current model. You can also create one or more class diagrams to depict classes contained by each package in your model; such class diagrams are themselves contained by the package enclosing the classes they depict; the icons representing logical packages and classes in class diagrams.

You can change properties or relationships by editing the specification or modifying the icon on the diagram. The associated diagrams or specifications are automatically updated.

During:	Use-Class Diagrams To:

Analysis	Show common roles and responsibilities of the entities that provide the system's behavior.

Design	Capture the structure of the classes that form the system's architecture.

See Also

Access Adornments

Association Relationship

Class

Compartment

Dependency Relationship

Friend Adornment

Generalize Relationship

Global Adornment

Interface

Logical Package

Utility

Virtual Adornment


Utility

Definition

A utility is a set of methods that provide additional functions for classes.  Utilities are used to:

•	Denote one or more free subprograms.

•	Name a class that only provides static members and/or static member functions.

Graphical Depiction

A utility is displayed as a class icon:

Relationships

You can draw the following relationships:

Draw:	From a Class Utility To:
Generalize Relationship	Another class utility
Association Relationship	Class, class utility, interface
Dependency Relationship	Class, class utility, interface
Adornments

   Export Control

You can specify export control for a class utility in the  Class Specification. Export control corresponds to a visibility constraint that you can display in the utility compartment.

If you imported the utility from another package, the software tracks the package from which the utility was imported. You can display the package name in the utility compartment.

To display utility visibility in the class compartment, click Show Visibility from the shortcut menu.

See Also

Class

Class Diagram

Class Specification

Compartment

Visibility Adornment


Visibility Adornment

Definition

Class visibility specifies the export control and import status of the class.

Export control specifies how this class is seen outside of the package in which it is defined. You can set the following visibility types:

Select:	To Indicate:
Public	The class is visible outside of the enclosing package and can be imported into other portions of your design.
Implementation	The class is visible only in the package in which it is defined.
Import status specifies if the class is imported relative to its enclosing package. If a class is imported, the software automatically tracks the package from which the class was imported. You can change the imported status only by adding or deleting an icon for the imported class in a diagram.

Graphical Depiction

Class visibility is displayed as the first item in the class compartment:

    Export Control	       Import Status

There are two variations of the visibility adornment:

•	Export control: If you select Implementation, "(impl.)" is displayed. If you click Public, nothing is displayed.

•	Import status: If the class is imported, the word "from" and the name are displayed inside parentheses. If the class is not imported, nothing is displayed.

Valid Application

Visibility is automatically displayed when you place a class in a diagram. You can toggle class visibility by clicking Show Visibility from the class shortcut menu.

   Export Control

You can set export control for all class kinds only through the Class Specification. To change export control for the class, click on the applicable option in the Export Control field located on the General tab of the Class Specification.

An export control adornment is displayed only if you click Implementation.

   Import Status

You can import a class from another  using one of the following methods:

•	Click Add Classes from the Query menu and choose the class you want to import from the Add Classes dialog box.

•	Place a class icon in the diagram and label it with the name of the class you want to import. In either case, the visibility adornment is automatically displayed inside the class icon.

See Also

Class

Interface

Package

Compartment


Global Adornment

Definition

The global adornment identifies a package that may be used by all other packages in the system. Use this adornment when a package contains several common classes that are used by most of the packages in the system.

Graphical Depiction

The global adornment is the word "global":

Valid Application

You can apply this adornment only to packages.

When you set the Global field in the specification, the adornment is placed in the bottom left corner of the package icon.

See Also

Package Specification


Component Diagrams (Overview)

Component diagrams provide a physical view of the current model. A component diagram shows the organizations and dependencies among software components, including source code components, binary code components, and executable components. These diagrams also show the externally-visible behavior of the components by displaying the interfaces of the components. Calling dependencies among components are shown as dependency relationships between components and interfaces on other components. Note that the interfaces actually belong to the logical view, but they can occur both in class diagrams and in component diagrams.

Component diagrams contain:

•	Component packages

•	Components

•	Interfaces

•	Dependency relationships

You can create one or more component diagrams to depict the component packages and components at the top level of the component view, or to depict the contents of each component package. Such component diagrams belong to the component package that they depict.

A Component Package Specification enables you to display and modify the properties of a component package. Similarly, a Component Specification and a Class Specification enables you to display and modify the properties of a component and an interface, respectively. The information in these specifications is presented textually. Some of this information can also be displayed inside the icons representing component packages and components in component diagrams, and interfaces in class diagrams.

You can change properties of, or relationships among, component packages, components, and interfaces by editing the specification or modifying the icon on the diagram. The affected diagrams or specifications are automatically updated.


Component Package

Definition

Component packages represent clusters of logically related components, or major pieces of your system. Component packages parallel the role played by logical packages for class diagrams. They allow you to partition the physical model of the system.

Naming

Typically, a component package name is the name of a file system directory.

Relationships

A component package can have dependencies with other component packages, components, and interfaces.

Graphical Depiction

The component package is a folder shaped icon:

See Also

Component Diagram

Component Package Specification


Component

Definition

A component represents a software module (source code, binary code, executable, DLL, etc.) with a well-defined interface. The interface of a component is represented by one or several interface elements that the component provides. Components are used to show compiler and run-time dependencies, as well as interface and calling dependencies among software modules. They also show which components implement a specific class.

A system may be composed of several software modules of different kinds. Each software module is represented by a component in the model. To distinguish different kinds of components from each other, stereotypes are used.

Naming

Typically, a component name is the name of a file that the component represents. Each component is also assigned a programming language.

Relationships

You can draw a dependency relationship from a component to another component. This type of dependency relationship means that the classes contained in the client component can inherit from, contain instances of, use, and otherwise depend on classes that are exported from the supplier component.

You can draw a dependency relationship from a component to an interface of another component, which means that the client component uses the methods of the other component.

Graphical Depiction

A component icon is drawn as a large rectangle with two smaller rectangles attached to its left side. An interface circle attached to the component icon means that the component supports that particular interface. That is, there is no explicit relationship arrow between a component and its interfaces.

See Also

Component Diagram

Component Specification

Component Stereotypes


Component Stereotypes

A system may be composed of several software modules of different kinds (.exe files, .dll files, etc.). To distinguish different kinds of software modules from each other, component stereotypes are used. By default, the following stereotypes of components are available:

•	EXE

•	DLL

See Also

Component Diagram

Component Specification


DLL (Component Stereotype)

A DLL component stereotype represents a Data Link Library (a .dll file).

Icon

See Also

Component Diagram

Component Specification


EXE (Component Stereotype)

A component of the type EXE represents an executable (.exe file).

Icon

See Also

Component Diagram

Component  Specification


Dependency Relationship

The dependency relationship indicates that one entity in a component diagram uses the services or facilities of another.

Dependencies in the component diagram represent compilation dependencies. The dependency relationship may also be used to show calling dependencies among components, using dependency arrows from components to interfaces on other components.

Naming

You can label the dependency with a description of its meaning. A name is not required.

Graphical Depiction

See Also

Component Diagram

Component Package

Component Specification


Package

A package is a grouping mechanism that may be used to designate not only logical groupings and physical groupings, but it may also be used to designate node groups and distribution units. A node group is, as the name suggests, a packaging of nodes.

Graphical Depiction

A package is a folder shaped icon:

See Also

Logical Packages

Component Packages


The UML Notation

Acknowledgment

Class Diagrams	(Overview)

Access Adornments

Aggregation Relationship

Association Relationship

Cardinality Adornment

Class

Compartment

Dependency Relationship

Export Control

Generalize Relationship

Global Adornment

Interface

Logical Package

Note

Note Anchor

Package

Utility

Visibility Adornment

Component Diagrams	(Overview)

Component Package

Component

Interface

Dependency Relationship

Note

Note Anchor

Deployment Diagrams	(Overview)

Connection

Node

Note

Note Anchor

Specifications	(Overview)

Association Relationship Specification

Class Property Specification

Class Specification

Component Package Specification

Component Specification

Connection Specification

Generalization Relationship Specification

Method Specification

Node Specification

Package Specification

Process Specification


Acknowledgement
Acknowledgment

The online reference for the Rational UML notation is based on, and some subsections have been excerpted from Unified Modeling Language by James Rumbaugh, Grady Booch, and Ivar Jacobson (Rational Software Corp.).

The online reference for Booch notation is based on, and some subsections have been excerpted from Object-Oriented Modeling and Design by James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen.


Naming Model Elements

You can name your model elements with any combination of characters that are meaningful to you.  Depending on the model element and its location, you may or may not be restricted to unique names.

For example classes, components, and packages that reside in different packages do not require unique names.   When different elements have the same name, the elements are said to be “Overloaded.”

Overloading gives you the flexibility of using existing software libraries that may have the exact names you have in your code or in another software library.

Overloading also allows you to do multi-lingual component based development. For example, an application can now be modeled even if  the GUI for screen input is in VB or Java, the processing is in C++ and the database in Oracle.  In this example, each application can have their own definition of a class “Customer”  where Customer does different things.

Another useful feature of overloading is the ability to have classes in the logical view with the same name.

When naming an element, it is important to note that in some cases an overloaded element is created, while in other cases, the existing element with the same name is used (and therefore an overloaded element is not created).

Naming an Element in the Browser

1.	Create or select an element.

2.	Type in a new name.

If this name already exists in another package, a warning dialog is displayed telling you the name of the element and type already exists in another package.  For example:  “Class AA now exists in multiple name spaces.”

You can dismiss this box by either clicking Cancel which ignores the name or OK. If you do not want to see this dialog box anymore, click Don’t warn anymore this session. If you want to start seeing this warning again, you must restart the application.

Naming an Element on the Diagram

1.	Create a new element on the diagram from the toolbox.

2.	Type in a name.  As soon as you start typing, a pop-up listing all the available class names in the model is displayed.

You can select one of the highlighted names by double-clicking or by pressing the Enter or Tab key.  Alternatively you can continue typing (and click outside the edit area) to enter a new name.

•	If you do not want to see this window, you can turn this option off.  To do so, from the Tools menu click Options. Click on the Diagram tab.  Under the Miscellaneous section on the lower left, click Class Name Completion to turn the feature off.

If the name you select is an overloaded name, clicking outside the box displays a secondary window, asking you to select the name from the fully qualified path.

Creating/Naming an Overloaded Element on the Diagram

If you want to create an overloaded element name on the diagram, you must enter the name through the specification.  If you instead enter the duplicate name on the element  in the diagram, you will be using an existing element rather than creating a new one with its own characteristics.

1.	Create a new element on the diagram from the toolbox.

2.	Double-click on the element or click Specification from the Browse menu, to display the specification.

3.	Type in the name in the name field.

4.	Click OK

If this name already exists in another package, a warning dialog is displayed telling you the name of the element and type already exists in another package.  For example:  “Class AA now exists in multiple name spaces.”

You can dismiss this box by either clicking Cancel which ignores the name or OK. If you do not want to see this dialog box anymore, click Don’t warn anymore this session.  If you want to start seeing this warning again, you must restart the application.

The element is now named with a duplicate name, but has its own unique characteristics.

Placing an Overloaded Element on the Diagram from the Browser

1.	From the browser, drag the element on to the diagram.

If the element belongs to a parent different from the diagram, and show visibility is on, the element is annotated with the term ‘(from x)’ where x is the element’s location.    If show visibility is off, only the element name is displayed.

Fully Qualified Names

A fully qualified name is displayed as you place your cursor over the model element.  A fully qualified name consists of the element hierarchy (starting at the package level), where each level is separated by double colons.

Example:  Logical View::Package B::Class 1


Allows you to change the type of selected class used in your diagram.


Allows you to name your model elements using any combination of characters. Depending on the model element and its location, you may or may not be restricted to unique names.


Provides a space for you to type information about the model. The description can include roles, keys, constraints, purpose, and essential behaviors of the element.


Specifies how a class and its elements are seen outside of the package in which they are
defined.

Public - The element is visible outside of the enclosing package and you can import it to other

portions of your model. This is the default.

Implementation - The element is visible only in the package in which it is defined. A method is part of the implementation of the class.

Protected - The role is accessible only to the class itself, subclasses, or its friends.

Private - The role is accessible only to the class itself or its friends.


Displays the package to which the model element belongs.


Specifies how many instances of one class may be associated with a single instance of another class. You can indicate cardinality for classes and relationships.


A class persistence defines the lifetime of its instances.

Persistent - An object that exists after the execution of a process.

Static - The object exists during the entire execution of a process.

Transient - An object that exists only during the execution of a process.


 Indicates two or more activities may occur during the same time interval.

Sequential - The class supports only one thread of control at any one time while the process is executing.

Guarded - The class requires collaboration among client threads to achieve mutual exclusion.

Active - The class has its own thread and can initiate control.

Synchronous - The class supports multiple threads of control with mutual exclusion supplied by the class.


When selected, displays a symbol inside the class icon. An abstract class defines propertys, methods, and states that will be inherited by subclasses.


For parameterized classes or parameterized class utilities, this field lists the formal, generic parameters declared by the class or class utility.

For instantiated classes or instantiated class utilities, this field lists the actual arguments that match the generic parameters of the class being instantiated.


Specifies to list inherited propertys.


Shows the methods provided by the class. Methods can be methods for accessing and modifying class fields or methods that implement characteristic behaviors of a class.

Stereotype - Displays the name of stereotype.

Signature - Displays the name of the method.

Class - Identifies in which class the method is defined.

Return Type - Identifies the type of value returned from the method.


These consist of data values, such as string and integers, held by objects in a class.

Stereotype - Displays the name of the stereotype.

Name - Displays the name of the property.

Class - Identifies where the property is defined.

Type - This can be a class or a traditional type, such as integer.

Initial - Displays the initial value of an object.


Identifies the relationship between a supplier and a client.

Name - Displays the name of the relationship.

Class - Displays the client name.

End class - Displays the supplier name.


Stereotype - Displays the name of the stereotype of the specified class.

Name - Indicates that the class definition lies within another class. A class may contain instances of, inherit from, or use a nested class.


Identifies the type of the property. The type can be a class or a language specific data type.


Displays the initial value of an object.


Physical containment has semantics that play a role in the construction and destruction of an aggregate’s part. Physical specification is required for meaningful code generation from the model.

By value - Indicates that the actual class is used.

By reference - Indicates that the class is used via a reference or a pointer.

Unspecified - Indicates that the physical containment is not specified (default).


Specifies whether the property’s value is common to all instances of the class or specific to each instance of the class.


Indicates whether an element is computed or implemented directly. If the box is checked, then the element is computed and a "/" is placed in front of the name. If the box is not checked, then the element is implemented directly.


Lists the set of methods that a client may perform on an object and the legal orderings in which they may be invoked. The name of a method has no semantic impact.


Identifies language-specific features that allow you to qualify the method. This is especially useful in the Common Lisp Object System, in which methods can be described as before or after.


Contains the list of exceptions that can be raised by the method.


Identifies the relative or absolute amount of storage required when invoking the methods.


Identifies the relative or absolute time required to complete the methods.


Displays the necessary conditions for valid entry into a method.


Allows you to select or create a scenario (interaction) diagram that uses the appropriate elements.


Allows you to describe the action of the method.


Displays the conditions guaranteed by the method upon exit.


Displays any attributed associations linked to the association. Attributed associations apply to the association as a whole.


 Indicates where the association is defined.


Defines the direction of a role.


An expression of some semantic condition that must be preserved while the system is in a steady state. Constraints are displayed by notation, surrounded by braces below the role for which it applies.


Indicates where RoleA&B are defined.


Indicates the purpose or capacity of how one class associates with another. Role A corresponds to the class field of the class specification Relations Tab; Role B corresponds to the End class field.


Indicates the direction the role is navigating to. By default, roles are bi-directional and no navigation notation is provided.


Sets the direction to the whole/part relationship among instances of classes. Only one end of the relationship may be an aggregate.


Designates that the supplier class has granted rights to a client class to access its non-public parts.


Uniquely identifies a single target object. The attributes allow 1..n or n..n associations, which reduce the number of instances.


Checking this field ensures that only a copy of the base class is inherited by descendants of the subclass.


Displays all components in the model. If this option is not selected, only those components to which this class is assigned are displayed.


Identifies the components to which this class is assigned (indicated with a check mark).


Indicates that all public classes in the logical package can be used by any other logical package.


Describes the type of diagram. This field is read-only text.


Allows you to determine what iteration in the development cycle a use case should be implemented.


Indicates that a use case exists to capture common functionality between use cases (uses) and to describe extensions to a use case (extends).


Displays all of the diagrams owned by the use case.


Displays all of the relations associated with the selected use case. An association represents a semantic connection between use cases and actors.

Name - Displays the name of the relation.

Client - A type, class, or component that requests service from another type, class, or component.

Supplier - A type, class, or component that provides service to another type, class, or component.


Displays the list of all external documents attached to the use case.

Filename - Displays the name of the document.

Path - This is the Uniform Resource Locator (URL) related to the element.


Indicates that the object represents multiple instances of the same class.


Displays the name of the parent class.


Allows you to select any valid role(s) or association(s) tied to the classes belonging to the two objects.


Unspecified - This is the default selection.

Field - Indicates that the supplier object is part of the client.

Parameters - Indicates that the supplier object is a parameter to some method of the client.

Local - Indicates that the supplier is a locally declared object in the scope of the collaboration diagram.

Global - Indicates that the supplier object is global to the client.


Indicates structural sharing of the given object.


Sequence - This is a sequential message number, assigned by the software.

Icon - Displays the direction of the message.

Message - Displays all available methods for the class.

Receiver - Displays the object receiving the message.


The client sends a message and the supplier receives it.


Indicates that the message is sent at irregular intervals.


Displays the elements that physically reside in the component, such as class names, variables, and other language-specific features. This information is not displayed in the component diagram.


Allows you to define an extra keyword that further defines the classification of the component. The most common types of components may already be predefined as stereotypes, but typing in a new stereotype and pressing return adds it to the list box.


Identifies the language that is assigned to this component.


Displays the logical packages where the component package is contained.


When - Indicates the timing of when an "Action" is carried out.

On entry - Specifies an action to be carried out upon entering a state.

On exit - Specifies an action to be carried out upon exiting a state.

Entry until exit - Specifies that an activity starts upon entry and stops on exiting the state.

Upon Event - Triggers an action only if a specific event is received.


Upon Event - Triggers the action denoted by the "Event" heading. Note that the "Upon Event" timing parameter must be selected.

Event - In a state diagram, an event is an occurrence that can trigger a state transition.

Arguments - Consists of arguments associated with the event.

Condition - May contain a conditional Boolean expression beside the Condition heading.


Displays the name of the event.


Displays the name(s) of the argument(s).


Shows a transition to or from a substate that is hidden from view.


Allows you to specify a physical description of the component. You can describe the kind and bandwidth of a connection, the manufacturer, model, memory, the disks of a machine, or the kind and size of a device.


Denotes either the root of a main program from a component diagram or the name of an active object from a collaboration diagram.


Specifies the type of process scheduling used by the node.

Preemptive - Higher-priority processes that are ready to execute can preempt over lower-priority processes that are currently executing.

Non Preemptive - The current process continues to execute until it relinquishes control.

Cyclic - Control passes from one process to another;  each process is given a fixed amount of processing time.

Executive - An algorithm controls process scheduling.

Manual - Processes are scheduled by a user outside of the system.


Displays the relative priority of the process. You can use this information with the scheduling type identified in the node specification.


In a state action diagram, an action may invoke a method, or the starting or stopping of an activity. Send event triggers another event.


Identifies the type of value returned by the method. The value can be a class or a language specific data type.


Conditional state transitions are triggered only when the conditional expression is evaluated as true. A condition is denoted by surrounding brackets:  Event (arg) [condition] /


The semantics of the class are guaranteed only in the presence of a single thread of control


The semantics of the class are guaranteed in the presence of multiple threads of control. The class requires collaboration among client threads to achieve mutual exclusion.


The semantics of the class are guaranteed in the presence of multiple threads of control, with mutual exclusion supplied by the class.


Unspecified - This is the default selection.

Field - Indicates that the client object is part of the client.

Parameters - Indicates that the client object is a parameter to some method of the client.

Local - Indicates that the client is a locally declared object in the scope of the collaboration diagram.

Global - Indicates that the client object is global to the client.


Specifies the number of expected instances of the class. Select one of the pre-defined values or enter an integer value.


Specifies how the role is seen outside of the package in which it is defined.

Public - The role is visible outside of the enclosing package and you can import it to other portions of your model.

Protected - The role is accessible only to the class itself, subclasses, or its friends.

Private - The role is accessible only to the class itself or its friends.

Implementation - The role is visible only in the package in which it is defined.


Indicates structural sharing of the client object.


Shows what occurs on entering or exiting a state. Actions can be messages to other objects, especially if the state diagram refers to an active class (one that derives other objects). Actions are denoted by a slash preceding the action name:

Event (args) [condition] / Action ^target.someEvent (args)


An Action can be a message to another object, especially if the state diagram refers to an active class (one that derives another). An Action may be associated with a state.


Event triggers may occur whenever an action has occurred. An event can contain a symbolic name, class name, or name of a method.


An argument is denoted by surrounding parentheses:  Event (args) [condition] /Action ^target.someEvent (args)


The target is any object that receives the transition event. Targets are denoted by a dot following the target name:

Event (args) [condition] / Action ^target.someEvent (args)


Displays the amount of storage required by objects of the class during execution.


Defines the lifetime of its instances.

Persistent - An object that exists after the execution of a process.

Transient - An object that exists only during the execution of a process.


Displays the owner of the process.


Specifies how a method is viewed outside of the class in which it is defined.

Public - The method is visible outside of the enclosing class. You can import it to other portions of your model.

Implementation - The method is visible only in the class in which it is defined.

Protected - The method is accessible only to itself, subclasses, or to its friends.

Private - The method is accessible only to the class itself or to its friends.


Specifies to show the class the property belongs to.


Specifies the access rules.

Public - Inheritance is available for each superclass as defined by each member.

Implementation - Inheritance is available to the package.

Protected - Inheritance is available to members and friends.

Private - Inheritance is only available to the class itself.


Displays the name of the object's class.


Displays all classes and interfaces in the model. If the box is not checked, only those classes and interfaces assigned to the selected component are displayed.


Identifies the classes and interfaces that are assigned to this component (indicated with check marks).

Logical Package - shows to which package a class or interface belongs.

Language - Shows the language that is assigned to a specific class or interface.


Displays the package the element belongs to.


Cardinality From - Identifies the starting value, within a specified range, for either a class or relationship. The range is specified by the notation <literal>..<literal>.

Cardinality To - Identifies the ending value, within a specified range, for either a class or relationship. The range is specified by the notation <literal>..<literal>.


Allows you to define an extra keyword that further defines the classification of the model element. Typing in a new stereotype and pressing return adds it to the list box.


Displays all of the classes in the package.


Displays all of the classes in the package.


Displays the name of the class to which the component belongs.


Allows you to name your model elements using any combination of characters. Depending on the model element and its location, you may or may not be restricted to unique names.


The method proceeds only when the client sends a message to the supplier and the supplier accepts the message.


The client passes a message only if the supplier is immediately ready to accept the message; the message is abandoned if the supplier is not ready.


If a message is not acknowledged within a specified amount of time, the message is abandoned.


The client sends a message to the supplier for process.


Allows you to name your model elements using any combination of characters. Depending on the model element and its location, you may or may not be restricted to unique names.


Displays the package the element belongs to.


Displays the name of the parent class.


Allows you to name your model elements using any combination of characters. Depending on the model element and its location, you may or may not be restricted to unique names.


Shows what occurs on entering or exiting a state. Actions can be messages to other objects, especially if the state diagram refers to an active class (one that derives other objects).

Actions are denoted by a slash preceding the action name:

Event (args) [condition] /Action ^target.someEvent (args)


Provides a mechanism to return to the most recently visited state when transitioning directly to a state with substates.


Provides a history to all depths of nested states within the state level.


Invokes a method or the starting and/or stopping of an activity in a state diagram.


This is a unique model name. If you change the name, the software updates each diagram in which the model name appears.


Indicates that the message is sent at regular intervals.


Allows you to select or create a scenario (interaction) diagram that uses the appropriate elements.


Allows you to select or create a scenario (interaction) diagram that uses the appropriate elements.


This is a unique model name. If you change the name, the software updates each diagram in which the model name appears.


Prints only the use-case diagrams at the top level of the model.


Prints all of the use-case diagrams.


Does not print any use-case diagrams.


Prints only the class diagrams at the top level of the model.


Prints all of the class diagrams.


Does not print any class diagram.


Prints only the component diagrams at the top level of the model.


Prints all of the component diagrams.


Does not print any component diagram.


Prints the state diagrams associated with the classes in the diagrams being printed. This field is only active when you choose Top Level or Entire Structure in the class diagram field.


Selects all collaboration and interaction diagrams in the list.


Deselects all collaboration and interaction diagrams in the list.


Specifies to print the deployment diagram for the current model.


Specifies to print only the current diagram. When this box is checked, all other fields are ignored.


Specifies to print the page number at the bottom of every page, using the format and initial page number contained in the Page Number Format and Start field.


Specifies to print the header for interaction and three-tiered diagrams.  For interaction diagrams, the object name and attached class names will be printed on the second through the last page of the printout.


Provides a space for you to type the page number format and starting number. For example, "Page 1 of 1" or "Page 1".


Shrinks the diagrams being printed so that each one fits entirely on one page.


Prints the model file name, current date and time, diagram kind, and diagram name at the bottom of every page.


Allows you to specify an alias name for a file. A "$" is required in front of the alias name.


Specifies where the file resides within the operating system.


Provides a space for you to type information about the mapping.


Allows you to specify where you want the software to begin its search.


Writes to a temporary file whose name is derived from the destination file.


Copies or renames the original destination file to the backup file.


Maintains the most recent version and the baseline copy.


Copies the temporary file to the destination file and the destination file is copied to the backup file.


Saves the arrangement of diagram and specification windows and icons when you exit.


Allows you to control portions of data that is otherwise automatically provided. This option is ideal for parallel development.


Lists all classes defined in the model as well as any fundamental types that reside in the model.


Displays the model using Booch notation.


Displays the model using Object Modeling Techniques.


Displays the model using Unified Modeling Language.


Displays the tools that allow you to manipulate files.


Displays the tools related to the current diagram.


Displays the tools that allow you to add and delete items from a toolbox.


Allows you to dock the diagram toolbox against any edge of the main window frame.


Allows you to change the size of the toolbar buttons.


Determines how the application tool buttons behave after the tool is applied to a diagram. There are two locking modes:

Single - Allows you to apply the tool to the diagram only once.

Persistent - Allows you to apply the tool multiple times without returning to the diagram toolbox each time.


Allows you to specify text characteristics for labels and floating text.


Allows you to choose the set of model elements displayed.


Displays the model kernel, deployment diagram, and code generation properties.


Displays the name of the currently selected model.


Executes the selected configuration management command for the selected controlled unit.


Displays the name of the selected configuration management system.


Prevents modification of the selected controlled unit.


Executes the Unit Control command for the selected element.


Executes the Unit Uncontrol command for the selected controlled unit.


Executes the Unit Load command for the selected controlled unit.


Executes the Unit Unload command for the selected controlled unit.


Saves the selected controlled unit.


Saves the selected controlled unit with a different file name.


Adds subwindow entries for all elements directly contained by the selected element.


Removes subwindow entries for all elements contained by the selected element.


Removes subwindow entries for every element contained by the selected elements.


Displays the package the element belongs to.


Prints all specifications associated with the current class diagram.


Prints the specifications for all classes.


Does not print any class specification.


Prints all specifications associated with the current component diagram.


Prints the specifications for all components.


Does not print any component specification.


Prints only those components surrounded by selection handles in the indicated class diagram. This field is only applicable if in the class diagrams field, Current or Entire Structure is selected.


Prints only those classes surrounded by selection handles in the indicated class diagram. This field is only applicable if in the class diagrams field, Current or Entire Structure is selected.


Prints only those associations surrounded by selection handles in the indicated class diagram. This field is only applicable if in the class or use-case diagrams field, Current or Entire Structure is selected.


Prints the method specifications associated with the classes in the indicated diagrams. This field is only applicable if in the class or use-case diagrams field, Current or Entire Structure is selected.


Prints the state-transition specifications for all of the state diagrams associated with the classes in the indicated diagrams. This field is only applicable if in the class or use-case diagrams field, Current or Entire Structure is selected.


Prints the message specifications for all of the messages that are defined for all objects in the selected interaction diagrams. This field is only applicable if you select a set of diagrams in the interaction diagrams field.


Prints the file to the specified printer.


Prints the file to an ASCII text file. If no file is specified, the output is stored in a file named print.out in the current directory.


Prints each specification on its own page.


Selects all object and interaction diagrams in the list.


Deselects all object and interaction diagrams in the list.


Prints the processor, process, and the device and connection specifications for the model.


Displays the list of interaction diagrams.


Specifies to display the toolbox when a diagram is active; otherwise the toolbox is hidden


Allows you to select logical packages that contain the classes you want to appear in the current diagram.


Allows you to select the classes you want to appear in the diagram.


Displays the classes that will be added to the diagram.


Provides limited expansion to the number of relationship levels shown in the Levels box.


Adds related elements independently of the relationship level.


Allows you to select the maximum relationship level between the selected elements and elements to be added to the current diagram.


Adds only the "clients" of each selected element.


Adds only the "suppliers" of each selected element.


Adds both the "clients" and "suppliers" of each selected element.


Shows that the subclass shares the structure or behavior defined in one or more superclasses. Use this to show an "is a" relationship between classes.


Shows that the client class depends on the supplier class to provide a set of services.


Shows that the aggregate object is physically constructed from other objects or that it logically contains another object.


Provides methods for initializing class variables and serves as a repository to hold class variables where a single value is required by all objects of a class.


Allows you to substitute actual values for the parameters of a parameritized class utility to create a specialized version of a general item.


Represents a semantic connection between two classes.


The component is visible outside of the enclosing package and you can import it to other portions of your model.


The component is accessible only to subclasses, friends, or to the class itself.


The component is visible only to the class itself or to its friends.


The component is visible only in the package in which it is defined. A method is part of the implementation of the class.


Searches for the named item and displays a list of diagrams in which the item appears. To search for groups of items, use the * wildcard character.


Lists the search results.


Distinguishes between lowercase and uppercase characters.


Click to start searching for the named item.


Allows you to assign a different class name to an existing model element.


Allows you to assign a different package name to an existing model element.


Lists all items available for display in the compartment.


Lists all selected items to be displayed in the compartment.


Displays the name of the model properties and their values


Displays the Edit Set dialog box that allows you to modify selected element model properties, create a new model property set, and delete unwanted model property sets.


Displays the kind of model item whose model property set you want to view or edit.


Creates a new model property set from the selected set. This button is disabled when the model or property unit is write protected.


Forces a model property to be element specific.


Removes overriding values from an element and once again inherits from the model property set.


Restores the state of the model properties to the last committed change.


Identifies the model property sets currently attached to the model element.


Shows that the class recognizes the methods offered by the interface.


Allows you to select the package that contains the interfaces you want to have appear in the current diagram.


Allows you to select the interfaces you want to appear in the component diagram.


Displays the interfaces that will be added to the component diagram.


Allows you to select the kinds of relationships you want to have appear in the component diagram.


Displays the access control of a property or method as an icon in the specification.


Displays stereotype icons and/or stereotype labels on model elements in the browser.


Displays the stereotype icon, but not the stereotype label, on model elements in the browser. This option is only relevant when the Show stereotype names option is selected, and for stereotypes that have an icon assigned.


Suppresses the display of stereotype icons in diagrams. Selecting this option means that the stereotype will not be displayed for items created hereafter.


Enables the display of stereotype icons in diagrams. Selecting this option means that the stereotype icon (if there is an icon for it) will be displayed for items created hereafter.


Enables the display of stereotype labels in diagrams. Selecting this option means that the stereotype name will be displayed for items created hereafter.


Enabling this option displays all methods.


Enabling this option displays the name for all future classes created on the diagram. The format is Name:Return Type.


Enabling this option displays all properties for future classes created on the diagram.


Disabling this option (removing the check mark) indicates that methods for all future icons will not be shown.


Disabling this option (removing the check mark) indicates that properties for all future icons will not be shown.


Displays where the class is defined.


Enables automatic resizing of icons to accommodate text in the icon.


Specifies the grid pitch in pixels.


Enables or disables adornment of icons representing components not currently loaded in the model. The unresolved adornment is depicted by a small octagon containing the letter "M" with a slash through it.


Enables or disables adornment of icons representing controlled units. The unit adornment is depicted by a small octagon containing the letter "U".


Enables or disables the display of message sequence numbers on collaboration diagrams.


Enables or disables the display of message sequence numbers on sequence diagrams.


Specifies whether a symbol is displayed on a sequence diagram that shows the period of time during which an object is performing an action.


Enables or disables viewing stereotype names within a compartment. A check mark beside this command means that the stereotype names will be displayed for items created hereafter.


Enables or disables viewing of the item's stereotype. The name of the stereotype will appear inside angle brackets << >>.


Enables or disables displaying all current class names, with their fully qualified path name. The absence of a check mark indicates this feature is disabled.


Specifies what action will occur when you double-click on an icon. If there is no check mark, the specification will be displayed.


Allows you to define the color of the icon's lines. The color is applied to all future icons.


Allows you to define the icon's fill color. You must place a check mark by Use Fill Color in order to apply it.


Applies the fill color to icons created hereafter.


Selects an element in the browser and either opens the specification or displays a list of all diagram of the selected element.


Applies the changes made to the specification and leaves the specification open.


Displays the name of the stereotype of the specified element.


Describes the two elements which this association associates.


Component Name - Identifies the component to which the class is assigned.

Package Name - Identifies the package to which the class is assigned.

Language - Identifies the implementation language that is assigned to this component.


Identifies the model property sets currently attached to the model element.


Sets the value of a model element to the value in the default model property set.


Lists the component diagram contained in the package.


Allows you to display and modify the selected element’s model properties, as well as the model property values in a model property set.  It also allows you to create a new model property set and delete unwanted model property sets.


Clicking the Browse displays 4 choices:

Select in Browser which highlights the selected element in the browser.

Browser Parent which opens the specification of the selected element.

Browse Selection which opens the specification for the currently selected element.

Show Usage which displays a list of all diagrams in which the currently selected element is in the supplier, or in the case of a collaboration diagram, a list which shows the usage of a message.


Click this to display an overview of this dialog box.


Displays the list of controlled units; whether they are not loaded (n), read only ( r), writable (w), or modified (m); and, the its file name.


Moves selected item to opposite list box it appears in.


Moves all items in the left list box to the right list box.


Moves all items in the right list box to the left list box.


Selects all the types listed above.


Deselects the types listed above.


Selects all the accesses listed above


Deselects the accesses types listed above.


Displays the Relations dialog box.


Limits expansion to the number of relationship levels shown in the Levels box.


Removes icons for each selected component and its supplier.


Removes icons for each selected component and its client.


Identifies the model property sets currently attached to the model element.