Я ищу визуальный редактор диаграмм состояний для моего клиента. Я создаю для него серверное приложение, и ему нужен инструмент для создания карт состояния и загрузки их на серверы. Конечно, инструмент должен иметь возможность экспорта в какой-либо читаемый формат (например, SCXML
), чтобы я мог создать для него программу чтения.
Я видел некоторые инструменты, такие как fsm-editor
. Но они не могут быть хороши для меня, потому что я хочу ограничить своего клиента набором определенного набора параметризованных условий, параметризованных событий и параметризованных действий.
Например, я определю:
conditions: coIsDoorOpen, coIsThereNAppelsOnTheTree(n as uint[0..200]), ...
events: evLightOn, evLightOff, evTimeout(ms as uint[1..10,000]), ...
actions: acSetAlarmOn, acCloseWindowN(n as uint[1..10]), ...
и мой клиент мог построить несколько десятков диаграмм состояний с этими явными предопределенными атрибутами (условиями, событиями и действиями) и загрузить их экспорт в соответствующие места.
Нет необходимости быть строгим к одному стандарту диаграммы состояний или к другому. Но мне нужна поддержка в этом:
- параметризованные условия/события/действия
- перед входом/выходом из состояния действий
нет необходимости поддерживать внутренние переменные; Я могу использовать действия и условия для этого.
Есть ли какой-нибудь инструмент для этого (желательно бесплатный)?
Если нет - существует ли какая-либо реализация редактора OpenSource (C#/JS), которая поддерживает все abpve без ограничения условий/событий/действий, которую я мог бы легко взломать и добавить запрошенный строгий режим ?