Текстовое представление для диаграмм классов UML - DSL для UML - PullRequest
6 голосов
/ 10 ноября 2010

Диаграммы классов UML представляют собой стандартные графические обозначения для описания классов и их взаимосвязей.

Существует ли стандартная текстовая запись (DSL) для описания того же самого? Не говорите XMI или EMF; -)

Я думаю, что вы могли бы сделать это с Corba IDL и использовать интерфейсы для классов, но это как-то слишком много на стороне Corba. Вы можете использовать Java-интерфейсы, но это слишком Java.

История моего вопроса - написание генераторов. Я думаю, что проще написать генератор на основе синтаксического дерева DSL, чем анализировать графическую запись. Графическая нотация сначала должна быть переведена в синтаксическое дерево (это будет то же самое, что вы получите из соответствующего DSL). Я думаю, что перевод графической нотации в синтаксическое дерево сложнее, чем перевод DSL (где вы можете использовать ANTLR).

Ответы [ 4 ]

9 голосов
/ 11 ноября 2010

У вас уже есть ответ, но я хотел бы уточнить.Существует стандартная запись, она называется HUTN , и никто не использует ее.

8 голосов
/ 10 ноября 2010

Отметьте этот полный список текстовых обозначений для описания моделей UML . Кстати, причины создания одного из этих инструментов (в частности TextUML) можно найти здесь .

2 голосов
/ 12 ноября 2010

Не случайно UML разделяет абстрактный и конкретный синтаксис.

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

TextUML - это конкретный синтаксис, разработанный для разработчиков моделей. XMI - намного лучшая нотация для инструментов, а объектная модель UML2 делает ее очень простой в обращении.

Рафаэль

http://abstratt.com/blog

0 голосов
/ 10 ноября 2010

Никаких стандартных обозначений, насколько мне известно, но хорошее резюме вариантов здесь .

hth.

...