Сохранение модели UML в качестве неоднозначности XMI - PullRequest
0 голосов
/ 03 мая 2018

Я нашел это предложение в статье о 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 позволяет вам указать, как сериализуйте их, если хотите.

Мне кажется, это источник проблемы.

Мои вопросы:

  1. Существует ли официальное руководство, в котором строго описано, как сохранить модель UML с использованием XMI? Я не имею в виду синтаксис UML meatamodel (который можно загрузить с веб-сайта OMG).

  2. Если ответ на первый вопрос «нет» - означает ли это, что разные инструменты моделирования могут выполнять сериализацию одной и той же модели UML по-разному, даже если они используют одну и ту же версию XMI?

1 Ответ

0 голосов
/ 03 мая 2018
  1. ссылка на этот текущий документ OMG
  2. Хотя есть «стандарт», люди, которые его определили, принадлежат к разным вендорам под предлогом OMG. Конечно, каждый продавец старается держать своих овец сухими и теплыми (и, вероятно, если возможно, оставляйте тех овец под дождем - хорошо). Это просто приводит к стандарту, который открыт для всех. В то время как OMG («пытаясь удержать руку над такими стандартами») позволила добавить отдельные расширения вендора, каждый вендор воспользовался этим преимуществом и использовал это дополнение в свою пользу. И это то, что мы видим на разных форумах: почему я не могу импортировать свою модель (полностью / вообще) из инструмента поставщика А в инструмент продавца Б. Это крест.

Примечание: относительно 1: Нет. Вы не можете взять этот документ и создать XMI из модели. Так не написано. Я создал простую модель, экспортировал ее (из моего любимого инструмента) и посмотрел, что было создано. Затем я попытался импортировать это в другой инструмент (найти, где он не работает). Или даже экспортируйте и импортируйте в одном инструменте, чтобы потом найти то, чего не хватало.

...