This example is OperationClass class that has operation named OperationClass() which is constructor and operation named myOperation. The Model that is being shown in the figure below is a translation. There are Inline modifier and Virtual modifier in Operation Language Properties that need to be translated and apply the «C++Operation» stereotype. There are Initialization list and Explicit modifier in Operation Language Properties that need to be translated and apply the «C++Constructor» stereotype.

Initialization list and Explicit modifier will be translated when it was set in Constructor. The Constructor is an operation that has the same name as its owner or applies the «constructor» stereotype in UML Standard Profile.


Operation - Initialization List 

Old ValueTranslation

<empty> 

no change
myAttribute(n)

Apply the «C++Constructor» stereotype and set initialization list tag value to myAttribute(n)



Operation - Inline Modifier 

Old ValueTranslation
not inline

Apply the «C++Operation» stereotype and set inline tag value to false

inline

Apply the «C++Operation» stereotype and set inline tag value to true




Operation - Virtual Modifier 

Old ValueTranslation
not virtual 

Apply the «C++Operation» stereotype and set virtual tag value to false

virtual

Apply the «C++Operation» stereotype and set virtual tag value to true


Operation - Explicit Modifier 

Old ValueTranslation
not explicit 

Apply the «C++Constructor» stereotype and set explicit tag value to false

explicit 

Apply the «C++Constructor» stereotype and set explicit tag value to true

Operation - Return value changeability

This Example is ReturnValueChangeabilityClass class that has three operations and all operations have set return value changeability in Language Properties to const as below.

Figure 68 -- Return value changeability Example in Class Diagram

The Model that is being shown in the figure below is a translation.

Figure 69 -- Translated Return value changeability in Class Diagram

The Return value changeability Language Properties is being shown in the figure below. 

Old value

Translation

none 

no change.

const, operation doesn’t has parameter.

Create one return type parameter and set Type Modifier to const $.

const, operation has parameter but 
does not have return type parameter.
Create one return type parameter and set Type Modifier to const $
const, operation has return type parameter.
Set Type Modifier in return type parameter to const $.

Attribute

This example is AttributeClass class that has attribute named myAttribute, return type is int and type modifier is [15].

Figure 71 -- Attribute Example in Class Diagram

The Model that is being shown in the figure below is translation. 

Figure 72 -- Translated Attribute in Class Diagram

There are Mutable, Bit field, Abbreviated Initializer and Container in Attribute Language Properties that need to be translated and apply the «C++Attribute» stereotype. A Volatile in Attribute Language Properties will move to Type Modifier.

Figure 73 -- Attribute Language Properties

Figure 74 -- Attribute Mutable


Attribute - Mutable

Old value

Translation

false 

Apply the «C++Attribute» stereotype and set mutable tag value to false.

true 

Apply the «C++Attribute» stereotype and set mutable tag value to true.




Figure 75 -- Attribute Volatile

Attribute - Volatile

Old value

Translation

false 

no change.

true 

Set Type Modifier to volatile $.



Figure 76 -- Attribute Bit field

Attribute - Bit field

Old value

Translation

<empty> 

no change.

4 

Apply the «C++Attribute» stereotype and set bit field tag value to 4.



Figure 77 -- Attribute Abbreviated Initializer

Attribute - Abbreviated initializer

Old value

Translation

false 

Apply the «C++Attribute» stereotype and set abbreviated initialization tag value to false.

true 

Apply the «C++Attribute» stereotype and set abbreviated initialization tag value to true.



Figure 78 -- Attribute Pointer to function

Attribute - Pointer to function

Old value

Translation

false 

no change.

true 

no change.



Figure 79 -- Attribute Container

Attribute - Container

Old value

Translation

<empty> 

no change.

vector<T> 

Apply the «C++Attribute» stereotype and set container tag value to vector<T>.

list<T> 

Apply the «C++Attribute» stereotype and set container tag value to list<T>.

map<Key, T, Compare> 

Apply the «C++Attribute» stereotype and set container tag value to map<Key, T, Compare>.

stack<T> 

Apply the «C++Attribute» stereotype and set container tag value to stack<T>.

multimap<Key, T, Compare> 

Apply the «C++Attribute» stereotype and set container tag value to multimap<Key, T, Com- pare>.

set<Key, Compare> 

Apply the «C++Attribute» stereotype and set container tag value to set<Key, Compare>.