Действия - процедуры (Action) в в SF-моделях

Действия или процедуры (Action) - определяют любые операции, связанные с преобразованием данных, работой SF-модели и управлением процессом ее функционирования.
Для описания процедур служит специальный язык Action Language, построенный на основе синтаксиса языка C и содержащий:

  • арифметические и логические операторы,
  • функции, определяемые пользователем,
  • а также некоторые специальные функции.

Основные процедуры

Следует отметить следующие процедуры, часто используемые при построении SF-моделей:

  1. chg (data_name) – процедура генерации локального события в случае изменения значений переменной data_name;
  2. in (state_name) – логическая функция, имеющая значение true, когда состояние state_name активно;
  3. send (event_name, state_name) – процедура пересылки спецификации события event_name состоянию state_name (прямая передача событий);
  4. ml (?function_name (a, b,…)?) – процедура, вызывающая функцию, сформированную в MATLAB и выполняющую вычисления для значений перечисленных аргументов;
  5. ml.datam_name – процедура, предоставляющая доступ к переменной datam_name рабочей области MATLAB.

Процедуры используются для описания SF-диаграммы в рамках двух моделей конечных автоматов:

  1. модели Мура, связывающей процедуры с состояниями;
  2. модели Мили, связывающей процедуры с переходами.