Modeling with Class Diagram

The following elements are available in the class diagram.

Subsystem

Semantics

Whereas a package is a generic mechanism for organizing model elements, a subsystem represents a behavioral unit in the physical system, and hence in the model.

Procedure for creating subsystem

In order to create subsystem,

  1. Click [Toolbox] -> [Class] -> [Subsystem] button.
  2. And click at the location or boundary where subsystem will be placed in the [main window].
  3. Then a subsystem is created on the class diagram and subsystem quick dialog is opened. At the quick dialog, enter the subsystem name.
  4. And press [Enter] key to have done this procedure.

Procedure for creating providing interface of subsystem.

In order to providing inteface of subsystem,

  1. Create interface and susbystem.
  2. Click [Toolbox] -> [Realization] button.
  3. Drag from subsystem and drop to interface.
  4. Between interface and subsystem, providing interface relationship is created finally.

In order to create interface and realization at once,

  1. Double-click subsystem and subsystem quick dialog is opened.
  2. Enter text in the quick dialog as following
  3. Press [Enter] key and interface provided by subsystem is created .

Procedure for creating requiring interface

In order to create requiring interface, use shortcut creation syntax.

  1. Double-click subsystem. At the quick dialog, enter text as follows.
  2. Then subsystem connects to interface as requiring relationship.

Procedure for adding operation to subsystem

Subsystem can have operation. In order to add operation to subsystem,

  1. Select [Collection Editor...] popup menu.
  2. At the [collection editor], add operation on the [operations] tab.
  3. Or click button at the quick dialog of subsystem.
  4. Then a new operation is created.

Class

Semantics

A class is the descriptor for a set of objects with similar structure, behavior, and relationships.

Procedure for creating class

In order to create class,

  1. Click [Toolbox] -> [Class] -> [Class] button.
  2. And click at the position where class will be placed in the [main window].
  3. A new class is created on the diagram and class quick dialog is opened.
  4. At the quick dialog, enter the class name and press [Enter] key.

Proceudre for adding attribute

There are three method to add attribute to class.

In the case of using quick dialog,

  1. Double-click class.
  2. Press [Add Attribute] button at the quick dialog, and you can add attribute.

In the case of using model,

  1. Select class in the [main window] or in the [model explorer].
  2. Right-click the selected class, select [Add] -> [Attribute] popup menu, and you can do.

In the last case,

  1. Select [Collection Editor...] popup menu.
  2. Or click button in [attributes] property on properties window.
  3. At [attribute] tab of the [collection editor], you can add attribute by using button.

Proceudre for adding operation

There are three method to add attribute to class.

In the case of using quick dialog,

  1. Double-click class and class quick dialog is shown.
  2. Press [Add Operation] button at the quick dialog, and you can add operation.

In the case of using model, select class in the [main window] or in the [model explorer], right-click the selected class, select [Add] -> [Operation] popup menu, and you can do.

In the last case,

  1. Select [Collection Editor...] popup menu.
  2. At [operations] tab of the [collection editor], you can add operation by using button.

Procedure for adding parameter to operationn

In order to add parameter to operation,

  1. Select operation in the [model explorer], select [Add] -> [Parameter] popup menu, and new parameter will be added.
  2. Or select operation in the [model explorer], select [Collection Editor...] popup menu.
  3. Or click button in [Parameters] property on properties window.
  4. At the [Parameters] tab of the [collection editor], you can add parameter by using button.

Procedure for adding exception to operation:

Before this procedure, there must exist a exception or more. To do this, see "Procedure for creating signal" or "Procedure for creating expception".

  1. Click button in [RaisedSignals] property on properties window.
  2. At [Raised Signals] tab of the [collection editor], you can add exception to the operation by using button.
  3. At [Select a Signal] dialog, select signal or exception raised by operation and click [OK] button.
  4. The result is as follows.

Procedure for moving attribute/operation into other classss

In order to move attribute or operation into the other class,

  1. Click a attribute(or operation).
  2. Drag it.
  3. Drop it into another class.

Procedure for adding template parameter to classss

There are two way to add template parameter to class

Select class in the [main window] or the [model explorer], right-click, and select [Add] -> [TemplateParameter] popup menu. Then you can add template to class.

Select [Collection Editor...] popup menu or click button in [TemplateParameter] property on properties window. At the [TemplateParameters] tab of the [collection editor], you can add template parameter to class by using button.

A new template parameter is added to class. The result is as follows.

Procedure for creating port

In order to create port,

  1. Click [Toolbox] -> [Class] -> [Port] button.
  2. And click the class where the port will be contained in the [main window].

Procedure for creating view by draging port

You can create port by draging port from [model explorer] to main diagram.

  1. Drag port in the [model explorer].
  2. Drop on the class in the main diagram. If it is not dropped on the class but on the other area of the diagram, Class with port will be created.
  3. The class has a port as follows.

Procedure for creating part

In order to create part,

  1. Click [Toolbox] -> [Class] -> [Part] button.
  2. And click the class where the part will be contained in the [main window].

Procedure for creating connector

In order to create connector,

  1. Click [Toolbox] -> [Class] -> [Connector] button.
  2. Drag from one part and drop to the other part in the [main window].
  3. Between two parts, new connector is created finally.

Procedure for setting active class

In order to set class to active class,

  1. Set class's [IsActive] property to true.
  2. The result class is shown as follows.

Interface

Semantics

An interface is a specifier for the externally-visible operations of a class, component, or other classifier (including subsystems) without specification of internal structure.

Procedure for creating interface

In order to create class,

  1. Click [Toolbox] -> [Class] -> [Interface] button.
  2. And click at the position where interface will be placed in the [main window]. Then interface quick dialog is opened. Enter the interface name at the quick dialog.
  3. Press [Enter] key. Then the result is as follows.

Procedure for creating providing relationship

In order to create providing relationship,

  1. Click [Toolbox] -> [Class] -> [Realization] button.
  2. Drag from one(Class, Port, Part, Package, Subsytem) and drop to interface in the [main window].
  3. Then providing interface relationship is created as follows.

Procedure for creating requiring relationship

In order to create requiring relationship,

  1. Click [Toolbox] -> [Class] -> [Dependency] button.
  2. Drag from one(Class, Port, Part, Package, Subsytem) and drop to interface in the [main window].
  3. Then requiring interface relationship is created as follows.

Enumeration

Semantics

An Enumeration is a user-defined data type whose instances are a set of user-specified named enumeration literals. The literals have a relative order but no algebra is defined on them.

Procedure for creating enumeration

In order to create enumeration,

  1. Click [Toolbox] -> [Class] -> [Enumeration] button.
  2. And click at the position where enumeration will be placed in the [main window].

Signal

Semantics

A signal is a specification of an asynchronous stimulus communicated between instances. The signal is a child to Classifier, with the parameters expressed as Attributes. A Signal is always asynchronous. A Signal is associated with the BehavioralFeatures that raise it.

Procedure for creating signal

In order to create signal,

  1. Click [Toolbox] -> [Class] -> [Signal] button.
  2. And click at the position where signal will be placed in the [main window].

Exception

Semantics

An exception is a signal raised by behavioral features typically in case of execution faults. An Exception is associated with the BehavioralFeatures that raise it.

Procedure for creating exception

In order to create exception,

  1. Click [Toolbox] -> [Class] -> [Exception] button.
  2. And click at the position where exception will be placed in the [main window].

Association

Semantics

An association is an association among exactly two classifiers (including the possibility of an association from a classifier to itself).

Procedure for creating association

In order to create association,

  1. Click [Toolbox] -> [Class] -> [Association] button.
  2. Drag from one associated and drop to another in the [main window].
  3. Between two classes, a new association is created as follows.

Procedure for adding qualifier to association

In order to add qualifier to association,

  1. Select association's [Collection Editor...] popup menu.
  2. Or click button in [End.Qualifiers] property on properties window.
  3. At [Qualifiers] tab of the [collection editor], you can add qualifier to the association by using button.
  4. The result is as follows.

Procedure for creating multiple classes related to current class at once

If you want to create Dog, Pig, Cat classes related to Me class

  1. Double-click Me class or press [Enter] key. At quick dialog, enter as following.
  2. Then three classes with association are created as following.

DirectedAssociation

Procedure for creating directed association

Procedure for creating directed association is equal to association's.

  1. Click [Toolbox] -> [Class] -> [DirectedAssociation].
  2. Drag and drop between two elements in arrow direction.
  3. The result is as follows.

Procedure for changing association to directed association

To change association to directed association, click the arrow-opposite-side association end. At the quick dialog, uncheck navigable and association becomes directed.

 

Procedure for creating element having directed association by shortcut creation syntax

In order to create element having directed association, use shortcut creation syntax,

  1. Double-click element. At the quick dialog, enter name of elements that have directed association after "->" string and separate names with ",".
  2. Press [Enter] key and multiple elements associated with selected element are created and arranged automatically.

Aggregation

Semantics

An aggregate is a more specific type of association. The aggregate is signified by a hollow diamond on the point where the association connects with the classifier (association end). Aggregate adds the concept of whole and part to the 'vanilla' association. The classifier at the hollow diamond end is the whole.

Procedure for creating aggreate

In order to create aggregation,

  1. Click [Toolbox] -> [Class] -> [Aggregation] button.
  2. Drag from one associated and drop to another in the [main window].
  3. The result is as follows.

Procedure for creating aggregated class by shortcut creation syntax

In order to create class aggregated to selected class, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of class aggregated to current class after "<>-" string  and separate names with ",".
  2. Press [Enter] key and classes aggregated to selected class are created and arranged automatically.

Composition

Semantics

A composite is a more specific type of association. The composite is signified by a filled diamond on the point where the association connects with the classifier (association end). Composite adds the concept of whole and part to the "vanilla" association and responsibility for the lifetime of the parts. The classifier at the filled diamond end is the whole.

Procedure for creating composition

In order to create composition,

  1. Click [Toolbox] -> [Class] -> [Composition] button.
  2. Drag from one class and drop to another class composed in the [main window].
  3. Between two classes, a new composition relationship is created as follows.

Procedure for creating composing class by shortcut creation syntax

In order to create class composing selected class, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of class composing selected class after "<*>-" string  and separate names with ",".
  2. Press [Enter] key and classes composing selected class are created and arranged automatically.

Generalization

Semantics

Generalization is the taxonomic relationship between a more general element (the parent) and a more specific element (the child) that is fully consistent with the first element and that adds additional information. It is used for classes, packages, usecases, and other elements.

Procedure for creating generalization

In order to create generalization,

  1. Click [Toolbox] -> [Class] -> [Generalization] button.
  2. Drag from child element and drop to parent element in the [main window].
  3. Then a new generalization is created.

Procedure for creating multiple children classes at once.

In order to create multiple children classes inheriting selected class at once, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of class inheriting selected class after "<=" string  and separate names with ",".
  2. The children classes are created below selected class and arranged automatically.

Procedure for creating multiple parent classes at once

In order to create multiple parent classes of selected class at once, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of parent classes of  selected class after "=>" string  and separate names with ",".
  2. The parent classes are created above selected class and arranged automatically.

Dependency

Semantics

A dependency indicates a semantic relationship between two model elements (or two sets of model elements). It relates the model elements themselves and does not require a set of instances for its meaning. It indicates a situation in which a change to the target element may require a change to the source element in the dependency.

Procedure for creating dependency

In order to create dependency,

  1. Click [Toolbox] -> [Class] -> [Dependency] button.
  2. Drag and drop between elements in the [main window] in depending direction.
  3. A new dependency between two classes is created.

Procedure for dependent element by shortcut creation syntax

In order to create element depending by selected element, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of dependent elements by selected element after "-->" string  and separate names with ",".
  2. Press [Enter] key and dependent elements by selected class are created and arranged automatically.

Realization

Semantics

A realization signifies that a relationship exists between a set of elements that form a specification (the client) and another set of elements that form the implementation (the supplier).

Procedure for creating realization

In order to create realization,

  1. Click [Toolbox] -> [Class] -> [Realization] button.
  2. Drag and drop between elements in the [main window] in realization direction.
  3. The result is as follows.

Procedure for creating realization target element of selected element

In order to create target interface element of selected element, use shortcut creation syntax.

  1. Double-click to popup quick dialog. At the quick dialog, enter name of interface elements of selected element after "-@" string  and separate names with ",".
  2. Press [Enter] key and interface elements of selected element are created and arranged automatically.

AssociationClass

Semantics

An association class is an association that is also a class. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not any of the classifiers.

Procedure for creating association class

In order to create association class,

  1. Click [Toolbox] -> [Class] -> [AssociationClass] button.
  2. Drag from association and drop to the class as association class in the [main window].
  3. The result is as follows.

Object

Semantics

An object represents a particular instance of a class. It has identity and attribute values. A similar notation also represents a role within a collaboration because roles have instance-like characteristics.

Procedure for creating object

In order to create object,

  1. Click [Toolbox] -> [Class] -> [Object] button.
  2. And click at the position where object will be placed in the [main window].

Procedure for adding AttributeLink to object

There are two way to add AttributeLink to Object.

In the case of using object model, select object in the [main window] or in the [model explorer], right-click the selected object, select [Add] -> [Attribute Link] popup menu, and you can add Attribute Link.

In the other case, select [Collection Editor...] popup menu of object or click button in slots property on properties window. At [Slots] tab of the [collection editor], you can add attribute link by using button.

Link

Semantics

A link is a tuple (list) of object references. Most commonly, it is a pair of object references. It is an instance of an association.

Procedure for creating link

In order to create Link,

  1. Click [Toolbox] -> [Class] -> [Link] button.
  2. Drag from one Object and drop to the other Object in the [main window].
  3. The result is as follows.

Relationship

Procedure for reconnecting to another element

In order to reconnect to another element,

  1. Drag the end of relationship.
  2. And drop it to another element.
  3. Then connection's end will be changed.