You can use the stereotypes of the profile to model specific CORBA types such as struct, valuetype, typedef, sequence, array, and exception. However, you can model the following CORBA types without using a profile: modules, interfaces with attributes, operations, parameters, inheritance between interfaces, native types, and enumerations.
The profile also contains information about the constraints that are applied to the stereotypes.
You can also use the profile to specify the UML components that are transformed into CORBA Interface Definition Language (IDL) elements by setting the generateCode property to true or false. During code generation, the transformation ignores components that have the generateCode property set to false.
| UML stereotype | Usage rule |
|---|---|
| «CORBAOperation» | Apply this stereotype to a UML operation. The context property of this stereotype specifies a set of unique string literals. These literals map to the identifiers that are an implicit part of the operation call. |
| «CORBATruncatable» | Apply this stereotype to a generalization relationship to
indicate a truncatable value type inheritance. Note: To
represent a value type in UML, apply the «CORBAValue» stereotype to
a UML class.
The transformation generates code for a truncatable value type inheritance. |
| «CORBAUnion» | Apply to a UML class to generate a CORBA union. The switchType property of the stereotype specifies the classifier type of the generated switch construct. The classifier type can be integer, character, Boolean, enum, or any other scoped name. |
| «CORBAValue» | Apply this stereotype to a UML class. The value type has these characteristics:
|
| «CORBAConstants» | A class has these characteristics:
|
| «CORBAException» | The class does not have nested classifiers. |
| «CORBAStruct» | A struct should not have these characteristics:
|
| «CORBATypedef» | Apply this stereotype to a UML class. A typedef should not have these characteristics:
The specification property in this stereotype indicates whether the type definition is an array, a sequence, or a fixed-point type (in which case a substitution relationship is not mandatory). |
| «CORBAState» | A state member attribute should have a value type class as its owner. |
| «CORBAOneway» | A one way operation has these characteristics:
|
| Enumerations | Enumerations should have enumeration literals with unique names. |
| Components | Components do not contain a nested component Packages in the component should have unique names. |
| Interfaces |
Should not contain a nested interface, package, value type, or component. |
| Models |
|
| «switch» | Apply this stereotype to the attributes of a CORBA union.
To model a CORBA union, see the «CORBAUnion» row in this table. The case property of the stereotype is a string literal that represents the case type. |