Acceleo может генерировать код из любой модели , определенной с любой метамодели на основе EMF .Проект UML Eclipse Foundation определяет метамодель UML на основе EMF, чтобы пользователи могли создавать модели UML на основе EMF, и, таким образом, Acceleo может генерировать код из этих моделей.
Если вы хотите использовать другую метамодель, вы можетесделайте это, поэтому, если вы хотите создать метамодель, которая более точно соответствует вашей структуре данных, не стесняйтесь делать это.Например, вы можете увидеть здесь метамодель, которую я создал для языка Scala, и мой генератор использует модели, определенные из этой метамодели, для генерации кода.Вы можете найти пример генератора, использующего эту метамодель здесь .В этом примере вы можете видеть, что генератор Acceleo определен в моей метамодели scala "http://github.com/sbegaudeau/acceleo/scalametamodel/2011/01" (в отличие от генератора Acceleo, который будет определен в UML, который будет использовать стандартную метамодель UML" http://www.eclipse.org/uml2/3.0.0/UML"), и я могу манипулировать в Acceleoнекоторые концепции из этой метамодели прямо как черты (если вы знакомы с Scala).
Таким образом, вы можете:
- создать метамодель, соответствующую вашим концепциям
- createНебольшой конвертер в Java для создания модели EMF (экземпляр вашей метамодели, определяющей концепции вашей базы данных), а затем преобразование данных в вашей базе данных в модель EMF, которую вам просто нужно сохранить.
- используйте Acceleo сваши модели:)
С уважением,
Stephane Begaudeau
Отказ от ответственности: Я лидер Acceleo.