Если вы прочитаете некоторую вводную информацию по MOF , вы увидите, что в семействе UML экземпляр метакласса в одном слое является классификатором в следующем.
В вашем случае класс в генераторе кода, описывающий класс в его выходных данных, будет метаклассом (CDataGenerator), а классы в выходных данных представлены экземплярами метакласса.
В простом UML нет способа, чтобы ассоциации, отличные от 'X, имеют тип Y', пересекались между слоями.
Возможно, вы сможете смоделировать такие отношения, используя MOV QVT (запрос, просмотр, преобразование - то есть язык для отображения одной модели на другую), но я не знаю текущего состояния поддержки инструмента для этого, и если вы Если у вас есть инструмент QVT, вам, вероятно, не понадобится писать генератор кода.