Преобразование диаграммы классов UML, созданной с помощью Papyrus, в файл .ecore - PullRequest
3 голосов
/ 21 мая 2011

Вот что я делаю, используя eclipse:

  1. Создать новый проект Papyrus
  2. Создание диаграммы классов в папирусе
  3. Создание нового пустого проекта EMF
  4. Используйте модель генератора EMF для преобразования моего файла .uml (созданного с помощью Papyrus) в файл .ecore

Теперь я хотел бы сделать это на Java. Я нашел пост здесь, где кто-то делает это из XSD . Я хотел бы сделать то же самое, но из UML. User565300 использует что-то под названием Xsd2Ecore, но я не смог найти Uml2Ecore. Ребята, вы знаете, что использует eclipse для преобразования UML-файла?

Ответы [ 2 ]

1 голос
/ 04 августа 2013

Я столкнулся с этой проблемой совсем недавно и нашел простое решение, поэтому подумал, что поделюсь.

В дополнение к Papyrus, у меня установлен плагин Obeo UML Designer 6.1.

1) UML Designer добавляет концепцию «Моделирование проекта».Создайте его из подменю File-> New.

2) Найдите модель Papyrus, которую вы хотите преобразовать в ECore.Под его корневым узлом вы обычно видите двух дочерних элементов, обозначенных как «нотация» и «uml»Узел с меткой «uml» соответствует файлу с именем «model.uml».Щелкните по нему и скопируйте путь к файлу в буфер обмена.

3) Вернитесь в проект моделирования.Вставьте в него свой буфер обмена, и вы должны увидеть «model .uml».Откройте его.

4) Откройте «корневой ресурсный узел» и выберите его единственный дочерний элемент, который в дальнейшем будет называться «корневым узлом модели».- Это должен быть объект модели UML, представляющий корень модели, которую вы переносите.- Если вы видите что-то еще, проверьте, не удалось ли перезаписать ранее существующий файл или скопировал неверный источник модели.

5) Убедитесь, что вы находитесь в перспективе Моделирование и видите меню «Редактор UML»,С выделенным корневым узлом модели перейдите к «Преобразовать в» -> «Модель Ecore ...»

6) Завершите работу мастера.Исправьте все ошибки и повторите при необходимости.

Obeo Designer - это проект с открытым исходным кодом, доступный на GitHub, поэтому я считаю возможным выделить файл Manifest для определения вклада в меню для «To Ecore ...»а затем найдите фактический исходный код через GitHub.

0 голосов
/ 22 мая 2011

Папирус - это редактор UML, для которого требуются другие плагины.Вам нужно использовать другой плагин, такой как Accelero, для генерации кода, но, честно говоря, кажется, что с Eclipse 3.5 этот плагин не работает с последними выпусками.Лучше всего было бы перейти на Topcased, который моделирует среду разработки, включая генерацию кода.Единственная проблема заключается в том, что Topcased был заброшен для объединения в Papurus MDT, поэтому лучше не вкладывать средства в этот инструмент сегодня и придерживаться Papyrus MDT.

Создание модели ecore из папируса невозможно, потому что это работаетс моделью GMF, а не напрямую от модели Ecore.GMF также заброшен с Eclipse 3.5, я не знаю, что сказать ... Удачи,

...