Model Parts, Diagrams, Dictionary Items, and Properties > Dictionary items > Type definition (dictionary item)
  
Type definition (dictionary item)
For automation interface information about a Type Definition (TypeDef through the automation interface), see Typedef (automation interface).
A Type Definition supports the representation of constructed data types, that is, a data type that is more complex than a data type that is intrinsic to a system, such as integer and char. Type Definitions allow the detailed specification of a data type. This detailed specification covers the form of construction of the typedef, either an alias, array, enumeration or sequence.
Create a Type Definition through a Modeler explorer pane or a Class Diagram:
In a Modeler pane, right-click the Package, point to New, point to UML, point to Structure, point to Type Definition, and then click the command for the Type Definition type you want to create.
On a Class Diagram, click the Type Definition toolbar button, and then click in free space. Modeler creates a Type Definition of Enumeration construction.
In addition, you can also create a Type Definition by copying an existing Type Definition. Modeler copies the Type Definition's links. For more information, see Copying items.
When used on a Class Diagram, a Type Definition's notation is as follows:
For information about the View Options available for this symbol, see Type definition view options — class diagram
* 
If you select the UML\Type Definitions folder in the Dictionary pane, the Contents pane displays the following information about each Type Definition in the model: Name, Type, Package, Visibility, Changed By and Changed On.
In the Modeler panes, a short-cut symbol on the Type Definition's icon indicates that the item is a stub.
The following sections provide information about how a Type Definition is used in the model. For more information about a property, item, model part or diagram, click it.
Properties
In addition to the standard properties, a Type Definition has these properties:
Construction — Enumeration, Alias, Sequence or Array
Data Type
Enumeration Literal Order — Enumeration construction only (not accessible through the automation interface).
Lower Bound — (Lower Array Bound through the automation interface) - Array construction only.
Maximum Size — (Max Size through the automation interface) - Sequence construction only.
Minimum Size — (Min Size through the automation interface) - Sequence construction only.
Pointer — (Is Pointer through the automation interface)
Upper Bound — (Upper Array Bound through the automation interface) - Array construction only.
Visibility
Owned by
Class
Model
Interface
Package
Signal
Owns
Activity
Comment
Constraint
Dependency — The Dependency is owned jointly by the Type Definition and the other associated item. The access permissions you have to a Dependency are determined by the access permissions of the dependent item.
Enumeration Literal — Enumeration construction only.
IO Flow — The IO Flow is owned jointly by the Event (only when the Event is the IO Flow's IO Item) and the IO Flow's source and target items.
Defined in these parts of the model
Class Model
Shown on these diagrams
Class Diagram
Variant Diagram
Can be linked to these dictionary items
In addition to the owning Package or Model, a Type Definition can be linked to the following items.
Stereotype
* 
Like most other items in a Model, a Type Definition can be linked to an Activity Partition, Comment, Frame Box, General Node, General Flow, General Flow Diagram Node, Constraint (applied), General Flow Diagram Flow or Swimlane.
Can be used as a data type for these items
In addition to the owning Package or Model, a Type Definition can be linked to the following items.
Attribute
Operation
Parameter
Type Definition
* 
When used as a data type, Modeler creates a special link between the Type Definition and the referencing item. You cannot navigate this link through the Links Editor.
Can use these items as a data type
Basic Type
Class
Data Type
Exception
Interface
Signal
Type Definition
* 
When a Type Definition uses an item as a data type, Modeler creates a special link between the Type Definition and the referenced item. You cannot navigate this link through the Links Editor.