Transforms in C++-to-UML transformations

To extend the C++-to-UML transformation, you must understand the transforms that it contains.
When you understand the structure of each transform, you can insert rules, extractors, or other transforms in the appropriate locations. The following tables provide more details about the transforms in the C++-to-UML transformation:
  • The identifier is used in ExtendTransform elements to specify the instance of the transform that rules are added to
  • The source, target container, and target provide important information for rules:
    • The source is the C++ object that the rule creates a new target for
    • The target container is the target that a parent transform generates
    • The target is the object that the transform rules generates

CPPProject transform

Transforms C++ projects
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform
Source com.ibm.xtools.cpp.model.CPPProject
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPFolder transform

Transforms C++ folders
Identifier com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform

Source com.ibm.xtools.cpp.model.CPPFolder
Target org.eclipse.uml2.uml.Package
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPSource transform

Transforms C++ source files
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform

Source com.ibm.xtools.cpp.model.CPPSource
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPClassStructUnion transform

Transforms C++ classes, interfaces, unions, and structures
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPClassStructShellTransform

Source com.ibm.xtools.cpp.model.CPPCompositeType

com.ibm.xtools.cpp.model.CPPClassifier/
com.ibm.xtools.cpp.model.CPPUnion/
com.ibm.xtools.cpp.model.CPPTypedef/
com.ibm.xtools.cpp.model.CPPStruct/

Target org.eclipse.uml2.uml.Class

org.eclipse.uml2.uml.Interface

Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPEnum transform

Transforms C++ enumerations
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPEnumTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform.CPPEnumTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPEnumTransform

Source com.ibm.xtools.cpp.model.CPPEnum
Target org.eclipse.uml2.uml.Enumeration
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPMemberVariable transform

Transforms C++ class attributes and interface attributes
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberVariableTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberVariableTransform

Source com.ibm.xtools.cpp.model.CPPOwnedAttribute
Target org.eclipse.uml2.uml.Property
Target container org.eclipse.uml2.uml.Class

org.eclipse.uml2.uml.Interface

CPPMemberFunction transform

Transforms C++ class operations and interface operations
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberFunctionTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPClassStructMemberTransform.CPPMemberFunctionTransform

Source com.ibm.xtools.cpp.model.CPPOwnedMethod
Target org.eclipse.uml2.uml.Operation
Target container org.eclipse.uml2.uml.Class

org.eclipse.uml2.uml.Interface

CPPMemberFunctionParameter transform

Transforms C++ operation parameters
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPNamespaceMemberTransform.CPPClassStructUnionMemberTransform.CPPMemberFunctionTransform.CPPMemberFunctionParameterTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPGlobalVariableTransform

Source com.ibm.xtools.cpp.model.CPPParameter
Target org.eclipse.uml2.uml.Parameter
Target container org.eclipse.uml2.uml.Operation

CPPGlobalVariable transform

Transforms C++ global attributes
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalVariableTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPGlobalVariableTransform

Source com.ibm.xtools.cpp.model.CPPGlobalVariable
Target org.eclipse.uml2.uml.Property

org.eclipse.uml2.uml.Class

Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPGlobalFunction transform

Transforms C++ global operations
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalFunctionTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectMemberTransform.CPPSourceMemberTransform.CPPGlobalFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderMemberTransform.CPPSourceMemberTransform.CPPGlobalFunctionTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceMemberTransform.CPPGlobalFunctionTransform

Source com.ibm.xtools.cpp.model.CPPGlobalFunction
Target org.eclipse.uml2.uml.Operation

org.eclipse.uml2.uml.Class

Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPNamespace transform

Transforms C++ namespaces
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPNamespaceShellTransform

Source com.ibm.xtools.cpp.model.CPPNamespace
Target org.eclipse.uml2.uml.Package
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPTypedef transform

Transforms C++ typedefs
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTypedefTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTypedefTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPTypedefTransform

Source com.ibm.xtools.cpp.model.CPPTypedef
Target org.eclipse.uml2.uml.Class
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package

CPPTemplate transform

Transforms C++ template classes
Identifier com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPTemplateShellTransform

com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPFolderShellTransform.CPPSourceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPProjectShellTransform.CPPSourceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPClassStructShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPFolderShellTransform.CPPSourceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPClassStructUnionShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPNamespaceShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPClassStructShellTransform.CPPTemplateShellTransform
com.ibm.xtools.transform.cpp.uml2.CPPSourceShellTransform.CPPTemplateShellTransform

Source com.ibm.xtools.cpp.model.CPPTemplateClass
Target org.eclipse.uml2.uml.Class
Target container org.eclipse.uml2.uml.Model

org.eclipse.uml2.uml.Package


Feedback