Алгоритм генерации случайных экземпляров UML - PullRequest
2 голосов
/ 11 августа 2010

Я работаю над инструментом, который сделает модели UML менее двусмысленными (с использованием сред EF и UML2 для Eclipse). Для этого я создаю экземпляры разных частей модели. Кто-нибудь знает какие-либо эффективные алгоритмы генерации случайных экземпляров модели?

Ответы [ 2 ]

1 голос
/ 07 сентября 2010

Знаете ли вы USE Tool . Этот инструмент имеет точно такую ​​же цель (хотя он не интегрирован с EMF): генерировать экземпляры диаграммы классов UML / OCL, чтобы увидеть, не является ли модель слишком большой (или слишком маленькой) ограничительной. Существует своего рода язык сценариев, чтобы определить, какие экземпляры (и сколько) вы хотите, чтобы инструмент генерировал.

Тем не менее, я думаю, что наиболее гибкий способ достичь этого - это перевести вашу модель UML / OCL в CSP (проблема удовлетворения ограничений) или аналогичные. Затем вы можете попросить, чтобы решатель CSP сгенерировал столько экземпляров модели, сколько вы хотите, и, добавив дополнительные ограничения, вы можете легко настроить тип создаваемых экземпляров. Наш инструмент UMLtoCSP может быть использован для автоматической генерации кода CSP для вас (надеюсь, у нас скоро будут ресурсы для реструктуризации инструмента и его миграции на Eclipse / EMF, но, по крайней мере, вы можете получить представление о том, что я скажем с текущей версией инструмента). Эта идея похожа на то, что вы можете сделать с Alloy, но с лучшей поддержкой числовых ограничений и более интегрированным переводом

0 голосов
/ 06 сентября 2010

гм.Вы пытаетесь создать какой-то инструмент моделирования / верификации?

Если вы так смотрели на сплав и сопровождающий его анализатор?

Из часто задаваемых вопросов:

Что такое сплав?

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

Что такое анализатор сплавов?

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

Язык / инструмент может или можетне имеет значения - но сообщество может быть хорошим источником помощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...