Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Описание программного средства STATEFLOW




Программное средство STATEFLOW является расширением системы SUIMULINK, которое представляет собой среду для построения и моделирования событийно-управляемых систем.

STATEFLOW представляет собой инструмент графического конструирования сценариев поведения различных систем с дискретным состоянием и дискретным или непрерывным временем перехода из состояния в состояние. Используя предоставляемые интерактивные средства, разработчик может описывать поведение исследуемой системы как цепочку правил «если-то». Теоретической основой построения и исследования моделей в среде STATEFLOW является теория конечных автоматов.

Модели, разрабатываемые в STATEFLOW, могут использоваться как самостоятельно, так и в интеграции с другими компонентами MATLAB, в первую
очередь – как особые подсистемы в блок-диаграммах SIMULINK. На основе STATEFLOW-моделей (SF-моделей) может быть сгенерирован исполняемый программный код.

STATEFLOW содержит следующие основные компоненты:

· графический редактор диаграмм SF-моделей;

· средства анализа и настройки SF-моделей (STATEFLOW Explorer);

· навигатор (STATEFLOW Finder), обеспечивающий поиск в SF-моделей требуемых объектов (событий, состояний, данных и т.д.);

· генератор кода, который преобразует SF-модель в промежуточный код, используемый для работы с Real-Time Workshop (Мастерская реального времени обеспечивает создание на основе блок-диаграмм SIMULINK программного обеспечения, предназначенного для управления реальными аппаратными средствами в реальном масштабе времени);

· отладчик SF-моделей.

Технология совместного использования SIMULINK и STATEFLOW может быть весьма гибкой и определяется в первую очередь спецификой решаемой задачи.

В некоторых случаях удобнее сначала разработать SF-модель и затем на ее основе построить блок-диаграмму; иногда, наоборот, сначала создается блок-диаграмма, и только после этого один или несколько ее блоков заменяются соответствующими SF-моделями.

Вторая технология обеспечивает разработку модели по принципу нисходящего проектирования: сначала определяется общая структура модели, а затем отдельные ее компоненты уточняются и детализируются.

Модели системы SIMULINK могут включать подсистемы, способом представления которых является конечный автомат – система с дискретным временем и определенным в ней множеством состояний (с учетом начального состояния), входным и выходным алфавитом и правилами формирования переходов и выходных сообщений. Состояние может быть представлено как вектор, состоящий из конечного числа элементов. Для представления множества состояний и доступных переходов при наступлении заданных событий можно использовать диаграммы переходов состояний.

Диаграмма переходов состояний – структура, включающая изображения состояний, соединяемых ветвями, показывающими события для перехода в новое состояние (допустимые переходы). Диаграмма переходов состояний содержит: изображения состояний, которые представляются в виде прямоугольных блоков, дуги, соединяющие состояния (допустимые переходы) и обозначения, нанесенные рядом с дугой, которые описывают события, наступление которых вызывает переход.

Диаграмма STATEFLOW является усовершенствованной диаграммой переходов состояний. Для удобства описания вводится иерархия диаграмм и параллельное выполнение нескольких состояний. Программное средство STATEFLOW обеспечивает графическое изображение состояний (каждое состояние может быть также представлено в виде диаграммы STATEFLOW) с учетом начального значения и событий, описываемых предикатами над множеством дискретных и (или) непрерывных переменных. Если предикат принимает истинное значение, то условие смены состояния выполняется. Диаграммы STATEFLOW также обеспечивают возможность ветвления с использованием составных переходов, которые могут включать последовательные события и точки принятия решения.

Обозначение перехода (метка) на диаграмме STATEFLOW имеет четыре части, каждая из которых не является обязательной:

событие [условие] {действие условия} / действие перехода

Здесь событие имеет такое же значение, как и на диаграмме переходов состояний, условие – это предикат – функция, переменные которой принимают значения из некоторого множества, а сама она принимает два значения «истина» и «ложь». Действие условия – любое действие, которое должно произойти, если предикат принимает значение ”истина», независимо от того, произошел ли переход или нет, действие перехода – любое действие, которое должно произойти как результат перехода. Если событие не представлено в обозначении перехода, но условие присутствует, переход происходит, когда условие принимает значение «истина».

В случае простого конечного автомата диаграмма STATEFLOW изображается подобно диаграмме переходов состояний.

Механизм иерархии позволяет использовать рекурсивный способ описания диаграммы STATEFLOW и считать, что каждое состояние может быть представлено в виде соответствующей диаграммы. Такое состояние называется суперсостоянием.

Механизм параллельного функционирования нескольких состояний позволяет одновременно находиться в нескольких состояниях.

Переход по умолчанию служит для определения начального состояния системы.

Переход в последнее активное состояние является полезным элементом диаграммы STATEFLOW и обозначается в виде круга, содержащего символа H. Если суперсостояние содержит переход в последнее активное состояние, то состояние, которое было активным, когда система находилась в данном суперсостоянии, будет состоянием по умолчанию, когда система вновь окажется в данном суперсостоянии. В первый раз, при нахождении системы в данном суперсостоянии, будет выполнен переход по умолчанию, но после этого будет происходить переход в последнее активное состояние.

Механизм составных переходов позволяет упрощать диаграммы STATEFLOW. Составные переходы включают в себя соединительные переходы, которые позволяют моделировать принятие решения и осуществлять ветвление. Соединительный переход отображается на диаграмме STATEFLOW маленьким кружком. Два основных типа составных переходов – «ветвление» и «объединение». Ветвление – соединительный переход, который разделяет переходы на две или большее количество ветвей. Объединение – соединительный переход, который объединяет две или более ветви перехода.

Внутренние переходы служат для обеспечения наглядности диаграмм STATEFLOW. Внутренний переход является переходом из суперсостояния в соединительный переход, или из подсостояния в то же самое суперсостояние.

Диаграмма STATEFLOW состоит из состояний, переходов, переходов по умолчанию, переходов в последнее активное состояние и соединительных переходов. На панели инструментов состояния, переходы по умолчанию, переходы в последнее активное состояние, соединительные переходы представлены соответствующими пиктограммами.

Блоки состояний (состояния и суперсостояния) отображаются в виде прямоугольников со скругленными углами с использованием соответствующих пиктограмм на панели инструментов.

Программное средство STATEFLOW обеспечивает широкий набор возможностей по заданию меток состояний и переходов.

Основной формат метки состояния имеет вид:

имя состояния/

вход: действие на входе в состояние;

во время: действие, пока состояние активно;

выход: действие на выходе из состояния;

где имя состояния – это необязательное название состояния. Имена состояний на диаграмме должны быть уникальны. Условия выполнения действий – вход в состояние (entry), состояние активно (during), выход из состояния (exit), каждое из которых является необязательным и в случае использования может быть связано с одним или большим числом других действий. За формулировкой условия следует двоеточие (:), которое служит разделителем между условием и действием. Действием может являться событие или оператор присваивания. С каждым условием может быть связано более чем одно действие. Если требуется указать два или более действия, то каждое из них размещается на отдельной строке или разделяются «;».

Метки переходов могут иметь до четырех частей. Общий формат задания метки перехода имеет вид:

событие [условие] {действие условия}/ действие перехода,

где событие – определяет событие, которое вызывает переход. Если никакое событие не указано, переход определяется истинным значением булевского выражения. Если переход происходит (полный переход в случае составного перехода), то осуществляется действие перехода.

Действие условия – действие, которое происходит, если возникает событие, и условие является истинным, независимо от того, происходит ли переход. Действие условия полезно в случае составных переходов, в которых оно является необходимым для осуществления какого-либо действия в результате события, даже в том случае, когда никакого перехода не происходит.

События в программном средстве STATEFLOW могут задаваться, чтобы сформировать вход из системы SIMULINK, и данные определяться так, чтобы использовать их в качестве выходных для передачи в систему SIMULINK. Кроме того, STATEFLOW обеспечивает множество других параметров для организации взаимодействия между моделями SIMULINK и диаграммами STATEFLOW.

Имеются два основных типа входов из системы SIMULINK в диаграммы STATEFLOW. Первый тип входа – событие. Входное событие из системы SIMULINK может быть или событием типа «пересечение сигналом нулевого значения» или «вызов функции».

Событие типа «вызов функции» возникает в одной диаграмме STATEFLOW и передается в другую диаграмму в той же самой модели системы SIMULINK посредством линии связи системы SIMULINK.

Все входные события диаграммы STATEFLOW проходят через один единственный входной порт. Если имеется более одного события, они должны быть объединены в векторный сигнал. Порядок следования элементов векторного входного сигнала должен соответствовать порядку следования событий, заданных в программном средстве STATEFLOW, где обеспечивается возможность редактирования порядка входных событий с использованием окна STATEFLOW Explorer путем изменения индекса события в соответствующем диалоговом окне.

С целью получения входных данных из модели системы SIMULINK для каждой входной переменной в программном средстве STATEFLOW создается отдельный входной порт. Данные могут передаваться в виде вектора или скаляра.

Диаграммы STATEFLOW могут содержать в себе два типа выходов: данные и события. Выходные данные могут быть представлены в виде векторов или скаляров. Каждая выходная переменная связана с отдельным выходом, имя которого соответствует имени переменной.

Диаграммы STATEFLOW обеспечивают возможность формирования выходных событий.

Событие типа «вызов функции» заставляет диаграмму STATEFLOW, которой адресовано данное событие, работать как подпрограмма по отношению к диаграмме STATEFLOW, в которой данное событие происходит. Когда происходит событие типа «вызов функции», диаграмма STATEFLOW передает данное событие и управление диаграмме STATEFLOW, которая получает данное событие. Когда диаграмма STATEFLOW, которая получает событие типа «вызов функции» завершает свою работу, управление возвращается диаграмме STATEFLOW, в которой возникло данное событие.

Программное средство STATEFLOW обеспечивает возможность представления логики функционирования системы с использованием диаграмм потоков, реализованных посредством составных переходов. Данная возможность обеспечивает необходимые средства для моделирования стандартных диаграмм потоков, включая этап принятия решения и выполнение цикла.

Диаграмма потоков может быть включена в любую диаграмму STATEFLOW. Однако удобнее реализовать диаграмму потоков как автономную подпрограмму.

Графические функции обеспечивают возможность создания блоков состояния в программном средстве STATEFLOW и предназначены для той же цели, что и функции системы MATLAB или S-функции системы SIMULINK. Графическую функцию можно рассматривать как внутреннюю подпрограмму или функцию на диаграмме STATEFLOW. Графические функции могут использовать входные данные и возвращать значения. Графические функции могут использоваться в любой диаграмме STATEFLOW, но они являются полезным средством в диаграммах потоков.

Входные и выходные параметры в графической функции являются формальными. Поэтому их имена не обязательно должны совпадать с именами переменных, используемых при вызове функции.

Важно отметить, что представляемые Stateflow возможности формирования действий состояний, переходов и условий, позволяют создавать модели стохастических систем с дискретным состоянием и дискретным и непрерывным временем перехода из состояния в состояние, т. е. реализовать такие математические схемы как вероятностные автоматы, системы теории массового обслуживания, а в комбинации Siulink-Stateflow – агрегативные системы.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 1169; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.026 сек.