Я нашел это предложение в статье о XMI в Википедии:
На данный момент существует несколько несовместимостей между
реализации XMI поставщиком инструментов моделирования, даже между обменами
данных абстрактной модели.
Мне было интересно, как это возможно, что, несмотря на использование хорошо документированного стандарта, инструменты не совместимы. Просматривая документацию по UML и XMI и задавая вопросы других людей, я обнаружил, что не существует схемы XML или DTD для моделей UML, сохраненных как XMI.
В соответствии с лучшим ответом на этот вопрос - https://stackoverflow.com/a/36885550/9329778 - правильный подход к проверке правильности формирования XMI должен заключаться в проверке / обработке его с помощью соответствующей модели UML.
Я также нашел это в документации XMI 2.5.1 в разделе «7.3.2 Представление класса модели»:
По умолчанию XMI позволяет сериализовать функции, используя либо XML
элементы или атрибуты XML; Тем не менее, XMI позволяет вам указать, как
сериализуйте их, если хотите.
Мне кажется, это источник проблемы.
Мои вопросы:
Существует ли официальное руководство, в котором строго описано, как сохранить модель UML с использованием XMI? Я не имею в виду синтаксис UML meatamodel (который можно загрузить с веб-сайта OMG).
Если ответ на первый вопрос «нет» - означает ли это, что разные инструменты моделирования могут выполнять сериализацию одной и той же модели UML по-разному, даже если они используют одну и ту же версию XMI?