Un nombre de objeto UML válido empieza con una letra minúscula de la "a" a la "z", una letra mayúscula de la "A" a la "Z" o un subrayado (_). El carácter posterior de un nombre válido puede ser una letra minúscula de la "a" a la "z", una letra mayúscula de la "A" a la "Z" o un número del 0 al 9. También pueden utilizarse los dos puntos (:) en el nombre de una operación para especificar nombres propios para funciones de amigo.
La transformación coloca un subrayado (_) como prefijo en todos los nombres que empiecen por un número y sustituye todos los caracteres no válidos por este símbolo.
La transformación comprueba la exclusividad de los nombres en un espacio de nombres determinado. Los espacios de nombres pueden ser implícitos (por ejemplo, una clase para los atributos de la clase) o explícitos (definidos por el estereotipo espacio_nombres_cpp).
Si la transformación detecta un conflicto de nombres, el nombre duplicado recibe el sufijo "_<número>".
Aparece el aviso siguiente si la transformación encuentra un nombre no válido:
El nombre del elemento "..." se ha cambiado a "..."
Aunque la transformación genera código correcto para estos elementos, es necesario cambiar en el modelo UML los nombres no válidos que la transformación detecte para mejorar la lectura del código y reducir las diferencias entre el modelo UML y el código generado.