Pull to refresh

Comments 7

В чём такую красивую диаграмму нарисовали?
Она рисуется автоматически с помощью PlantUML (вас интересует первая ссылка на jar файл, в нем указываете путь до папки с файлом с расширением pu и он тут же генерирует png файл рядом с файлом pu). В этом и основное преимущество. Все наглядно и самому не нужно ничего отрисовывать.
UFO just landed and posted this here
Спасибо за советы. За подробностями проследую в личную беседу, если вы не против.
Для описания конечного автомата есть стандарт SCXML. Для того, чтобы перегнать конечный автомат из этого формата в C++ код есть scxmlcc.

Также, в упомянутом вами Qt появился модуль Qt SCXML, который:
1) имеет компилятор qscxmlc;
2) позволят работать с SCXML прям в коде (грузить, сохранять, etc);
3) модуль для Qt Creator, который позволяет с помощью GUI рисовать свои конечные автоматы.

Чем эти решения хуже/лучше вашего?
Не знал о существовании данного решения. Спасибо за ссылки. Бегло изучил материал. Правда интересно. Однако стоит заметить, что речь все же о XML -> C++. У меня же используется PlanUML. Полноценная оценка плюсов и минусов — отдельная задача. С ходу могу сказать только что изучение PlanUML происходит многократно быстрее чем XML. Но опять же, кому как. Думаю, тут дело вкуса. В будущем подробнее изучу представленный вами материал.
Мое решение позволят просто в кратчайшие сроки решить задачу не потеряв в качестве.
Тут нужно правильно поставить приоритеты, что от чего идет. Если у нас уже есть UML схема, в которой, помимо прочего, есть конечные автоматы — да, проще и быстрее сгенерировать ее из того, что есть. Такое бывает, если система сначала проектируется, а потом создается (то есть в мире единорогов :) ).

Если же мы создаем какую-то систему, и нам нужен конечный автомат, то решение с SCXML будет более правильным. Лучше поддержка, есть множество готовых инструментов (как компиляторов, так и GUI-софтин). Ну и XML в наше время стандарт для многих систем, поддерживается всюду и везде.
Sign up to leave a comment.

Articles