2013-09-05 3 views
2

Каждый разработчик Python знает такие инструменты, как Sphinx. Вы пишете текст на языке разметки, напишите make в оболочке и пусть некоторые компиляторы выполняют свою работу. В итоге вы получите красивый HTML или PDF.Скомпилировать конечный автомат в UML (-подобной) диаграмме

Я ищу что-то подобное, только для конечных машин, например. Я помещал SCXML в файл (с графическим интерфейсом или вручную с VIM, как я желаю) запустил компилятор, и на выходе появился формат файла изображения, который я могу использовать, но, пожалуйста, и это выглядит хорошо, даже если я не знаю, что делаю , Пример:

$ vim my-fsm.scxml 
$ scxml2svg my-fsm.scxml 
writing file... 
finished writing my-fsm.svg 
$ 

Ближайший я получил до сих пор используют различные Eclipse, плагин (года назад, не любят огромные Иды), draw.io или то, что я использую сейчас: Umlet. Однако Умле есть проблемы. Например, он не поддерживает рабочий процесс, к которому я привык (писать текстовые файлы, запускать компилятор, видеть красивый результат). Результаты часто также субоптимальны, потому что двигатель на самом деле довольно прост. Но везде я ищу более полезную альтернативу (python wiki, other SO questions, tools) Я до сих пор не нашел простой компилятор.

Теперь я был бы очень рад, если бы кто-нибудь знал такой компилятор. Если это невозможно, редакторы GUI FOSS с экспортом PNG/SVG также будут в порядке.

+0

как Рагеля (http://www.complang.org/ragel/), но с использованием SCXML в качестве входных данных? – lucasg

+0

Другие входные данные также прекрасны. важна компиляция fsm-source-to-image. Рагель выглядит неплохо. Вы знаете больше? Также не стесняйтесь добавлять это как полный ответ и редактировать вопрос в соответствии! – erikbwork

ответ

1

GraphViz имеет file format, который можно записать вручную и скомпилировать в разные форматы изображений.

1

Я написал несколько инструментов, чтобы сделать это: http://goo.gl/V97ft

+0

да, большой! Для моей диссертации я настроен на plantuml в настоящее время, но ваш инструментарий имеет больше смысла в долгосрочной перспективе. Может быть, вы можете предложить поддержку оболочки в некотором роде? – erikbwork

+1

Должно быть возможно с помощью PhantomJS. Я посмотрю. – jbeard4

+1

Я добавил возможность генерации PDF командной строки для scxml-viz. Попробуйте и дайте мне знать, если у вас есть проблемы с этим: https://github.com/jbeard4/scxml-viz – jbeard4

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