2016-08-27 3 views
1

Я начинаю изучать сплав и очень люблю то, что я видел.Взаимосвязь между сплавом и UML?

Прежде чем поощрять моих коллег присоединиться ко мне в обучении и использовании сплавов, мне нужно понять отношения между сплавом и UML.

  1. Является ли Сплав заменой UML? Если используется сплав, то нет необходимости использовать UML?
  2. Является ли Сплав дополнительным к UML? Рекомендуется ли использовать как Сплав и UML?
  3. Сплав ортогонален UML? Сплав и UML имеют совершенно разные цели?
  4. С точки зрения функциональности, является ли Alloy надмножеством UML? Из моего чтения я узнал, что с языком Alloy можно выразить множество ограничений, а затем инструмент SAT в Alloy может проверить ограничения на модель (созданную с использованием сплава). Я думаю, что инструменты UML, такие как MagicDraw, do , а не, имеют эквивалентную возможность для выражения ограничений и оценки модели UML с ограничениями - это правильно?

В целом, все, что вы можете мне рассказать о взаимоотношениях (или отсутствии отношений) между сплавом и UML, будет с благодарностью оценено.

спасибо.

ответ

4

Сплав сопоставим с диаграммами классов UML, дополненными OCL, языком ограничений UML. Он не заменяет другие диаграммы UML.

Я бы рекомендовал использовать сплав для моделирования данных и для моделирования поведения на высоком уровне. Например, см. Alloy website. Вы всегда можете перевести модели Alloy в диаграммы UML.

сплав разработан, чтобы предложить - точные, емкие модели данных богатых конструкций - полностью автоматический анализ

UML диаграммы не являются достаточно выразительным для детального моделирования. Язык UML-ограничений OCL охватывает те же самые детали, что и Alloy, но не имеет автоматической поддержки в той же степени.

Ограничения в сплаве не предназначены для проверки структуры диаграммы, а для фактического моделирования системы и выражения ее свойств (а затем вы можете проверить, что система удовлетворяет свойствам). Сплав несравнимо с OCL в выразительности: OCL более выразителен в своем рассмотрении арифметики, но, к примеру, он не имеет транзитивного закрытия.

Я не очень разбираюсь в исследованиях UML/OCL, поэтому, возможно, кто-то в этой области может перезвонить, но я могу порекомендовать для получения дополнительной информации о том, что вы начинаете с работы группы Мартина Гоголлы, такой как Марк Рихтерс тезис о семантике OCL.

Если вы ищете «Сплав и UML», вы найдете кучу бумаг об автоматических переводах с UML на сплав и документы сравнения, такие как this one. Мы также написали paper путь назад к OCL и сплаву, который, вероятно, критикует OCL за то, что было исправлено в работе Richters et al.

Смежные вопросы