Подтвердить что ты не робот

Как читать XMI?

Мне нужно прочитать диаграммы UML, которые сериализуются в XMI. Есть ли какая-либо библиотека, которая позволила бы мне удобно читать UML XMI - я бы хотел иметь некоторые методы для итерации по классам/пакетам/методам/атрибуту и ​​т.д. В модели.

Я попробовал EMF, но я не могу найти учебник, в котором будет показано, как импортировать XMI, содержащий UML. Я также нашел NSUML/NSMDF, но ссылка на документацию нарушена.

4b9b3361

Ответ 1

Я не думаю, что вы хотите. Все инструменты, импортирующие XMI, которые я знаю (включая мою службу преобразования XMI: http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools) работают путем анализа всего файла XMI и создания соответствующего UML файла модель в основной памяти. Затем вы можете получить доступ к элементам UML, запросив модель.

Для итерации по модели XMI вы можете легко использовать библиотеки XML для выбора фрагментов интересующего вас файла XMI.

Ответ 3

Это зависит от версии UML, которую вы пытаетесь прочитать. Пакет NSUML, который вы нашли, работает только с UML 1.3. Репозиторий MetaData NetBeans (MDR) будет читать дескриптор UML 1.4 и UML 1.5. Его можно использовать как отдельную библиотеку (то, что использует ArgoUML), поэтому вам не нужны NetBeans. Для UML 2.x я думаю, что библиотеки Eclipse EMF и UML2 - ваш единственный выбор. EMF - это зависимость, но это действительно нужный UML2. Как с MDR и NetBeans, вам не нужен Eclipse. ArgoUML использует библиотеки Eclipse для поддержки UML 2.x.

Ответ 4

ArgoUML может импортировать XMI в свою модель UML и генерировать код для Java, С++, С#, PHP4 и PHP5.

Ответ 5

Чтобы читать XMI/UML с помощью EMF, вам нужно будет найти, сгенерировать или записать модель ECore для UML. После того, как у вас есть один из них, вы можете создавать классы памяти для управления UML и использовать другую инфраструктуру EMF.

Но более простым путем может быть использование инфраструктуры UML2, разработанной Eclipse

Ответ 6

Что вы ищете, это спецификация Java для JMI ( "Интерфейс метаданных Java" ), которая реализует MOF для описания метаданных и XMI для транспортировка метаданных.

К сожалению, в настоящее время я ищу реализации JMI, а страница JMI на солнце выглядит немного устаревшей. По-видимому, реализация версии с открытым исходным кодом с помощью netbeans была удалена для версии 6.