Генерация кода для конечных автоматов
Engee поддерживает генерацию кода для блока Chart. Блок Chart позволяет описывать диаграммы состояний, графы переходов и их комбинации. Библиотека конечных автоматов Engee является эффективным инструментом разработки таких пользовательских алгоритмов для целевых устройств, где необходимо использовать сложные конструкции условий, циклов и переключателей.
В состояниях, действиях и условиях блока Chart генератором кода Engee поддерживаются следующие конструкции языка Julia:
-
Арифметические операторы
-
Логические операторы
-
Операторы сравнения
Поддерживаемые генератором кода Engee возможности блока Chart:
-
Безусловные и условные переходы
-
Входные, локальные, выходные переменные
-
Несколько несвязанных диаграмм состояний, графов переходов
-
Несколько инструкций, записанных в одну строку в теле действий условных переходов и в состояниях
-
Многострочные инструкции в состояниях
-
Сокращенные наименования операторов Chart (en, du, ex)
-
Комментирование в состояниях, теле условий и действий переходов
Для успешной и корректной генерации кода моделей с блоками Chart необходимо учитывать следующие особенности:
-
В многострочных комментариях не допускаются строки, начинающиеся с ключевых слов действий: “en”, “entry”, “du”, “during”, “ex” и “exit”. Пример:
Корректно
Некорректно
#= Hello, world! #=
#= en #=