Диаграммы потоков данных dfd.

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

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

Основными компонентами DFD-нотаций являются:

внешние сущности, выступающие в виде источника или приемника информации и изображаемые в виде прямоугольника с тенью;

процессы или подсистемы, изображаемые как функциональные блоки, реализующие определенные действия и имеющие вид прямоугольников со скругленными краями и с внутренними полями;

потоки данных, изображаемые в виде стрелок;

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

диаграммы потоков данных dfd. - student2.ru

Графические изображения компонентов нотаций DFD

диаграммы потоков данных dfd. - student2.ru

Пример простой DFD-диаграммы

В отличие от IDEF0, рассматривающую систему как множество непересекающихся действий, в названиях объектов DFD чаще встречаются имена существительные.

Контекстная DFD-диаграмма состоит из одного функционального блока и нескольких внешних сущностей.

Стрелки в DFD (в отличие от IDEF0, которые иллюстрируют отношения) показывают как объекты, в том числе и данные, реально перемещаются от одного действия к другому.

Построение DFD-диаграмм изначально ассоциировалось с разработкой программного обеспечения. Имеются различные разновидности нотаций DFD (метод Гейна-Сарсона, метод Йордана-Де Марко).

Технология ERD.

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

объектов, а также совокупность взаимосвязей между ними, имеющих существенное значение для разрабатываемой информационной системы. Наибольшее использование модели ERD получили при проектировании реляционных баз данных. Нотация ERD была впервые введена П. Ченом (Chen) и получила дальнейшее развитие в работах Баркера. Основными понятиями данной нотации являются понятия сущности и связи.

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

диаграммы потоков данных dfd. - student2.ru

Стандартные графические изображения сущностей

Связь (relationship) –отношение или некоторая ассоциация между отдельными сущностями.

Разделяют связи, реализующие отношения принадлежности или подчиненности типа «отец – сын», «начальник – подчиненный», и связи, реализующие отношения обладания некоторыми свойствами.

диаграммы потоков данных dfd. - student2.ru

Стандартные графические изображения связей

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

диаграммы потоков данных dfd. - student2.ru

Диаграмма «сущность - связь» для общего примера компании

21.Принципы моделирования системной динамики в Stateflow (1,2,6)

Работа выполняется в среде MATLAB и оформляется в виде m-файла управляющей программы, содержащей обращение к mdl-файлу S-модели с вложенной SF-моделью (SF-диаграммой, SF-машиной) одной из возможных конфигураций СМО. Задания на выполнение работы предполагают проведение исследований различных типов и структур СМО с использованием разнородных показателей для оценки эффективности в зависимости от основных факторов влияния.

Роль УП, как и ранее, состоит в задании варьируемых и неварьируемых факторов, проведении стратегического и тактического планирования модельного эксперимента, реализации процедур статистической обработки результатов моделирования. Роль S-модели заключается в обеспечении динамики процесса функционирования SF-модели и регистрации его результатов на основе использования стандартных элементов подсистемы Simulink. Наконец, роль SF-модели (Stateflow-модели) состоит, собственно, в воспроизведении визуальной модели СМО с использованием формализма гибридных автоматов (карт состояний Харела).

Первоначально при выполнении работы проводится ознакомление с особенностями и возможностями встроенного в подсистему Simulink пакета Stateflow на примере простейших событийно управляемых систем. Далее осуществляется полномасштабная разработка SF-модели в соответствующей оболочке S-модели, в совокупности реализующих моделирование СМО заданного типа. В заключительной части работы осуществляется формирование УП в виде m-файла, реализующего, если это предусматривается заданием, план модельного эксперимента имногократный прогон S-модели с регистрацией результатов для последующей оценки эффективности.При формировании этой программы осуществляется сопряжение с S-моделью и окончательная настройка ее блоков и модулей с учетом выбранных условий моделирования. Однако на начальном этапе удобно разработать упрощенный вариант УП, обеспечивающий предварительное тестирование S-модели с запуском из MATLAB.

Перед началом выполнения работы в соответствующем разделе создается рабочая папка. После запуска MATLAB данная папка устанавливается в окне «CurrentDirectory» путем выбора из списка рабочих папок файловой системы.

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

Далее создается S-модель с вложенной SF-моделью. Для этого осуществляется запуск Simulink и создается пустое окно нового mdl-файла Untitled (впоследствии сохраняемого в различных модификациях под именем testo**.mdl). Осуществляется, как и ранее, установка общих параметров модели ConfigurationParameters, однако теперь в поле Solver группы Solveroptions целесообразно установить метод «discrete», так как будет проводиться моделирование системы с набором дискретных основных состояний.

Следующим шагом является открытие раздела Stateflow в браузере библиотек Simulink. В результате в основном окне просмотра библиотеки появится единственный блок Chart (диаграмма), который с помощью мыши может быть перемещен в рабочее окно блок-диаграммы mdl-файла Simulink. Здесь также можно открыть собственную библиотеку Stateflow, щелкнув по наименованию раздела правой кнопкой мыши. В результате появится надпись OpentheStateflowlibrary, щелкнув по которой левой кнопкой, получим дополнительно к блоку Chart подраздел Examples, содержащий примеры разработанных с помощью данного инструментария моделей систем.

Первоначально блок Chart, размещенный в рабочем окне mdl-файла, является пустым, то есть служит заготовкой для создания модели. Если активизировать мышью пустой блок Chart, то появится окно редактора SF-диаграммы, в котором можно начать сборку модели. Редактор имеет обычный для окон системы MATLAB вид.

Основные средства построения модели сосредоточены в пунктах меню File, Add, Tools, а также расположенной слева и сбоку панели инструментов, содержащей 8 кнопок (для версии MATLAB 7.0).

Все объекты SF-модели делятся на графические и неграфические. Для создания основных графических объектов используются кнопки боковой панели. Наиболее употребляемыми являются верхние четыре кнопки. Нажав каждую из кнопок, можно мышью перетащить в любое место окна соответствующий графический элемент модели.

В SF-диаграмме используются переходы (Transition); они не имеют своей кнопки и отображаются в виде стрелок, идущих от одного объекта к другому. Переходы формируются с помощью мыши путем ее перемещения из любой точки границы одного графического объекта к любой точке границы другого. Для графических обьектов – состояний допускается введение внутренних переходов. Эти переходы начинаются или заканчиваются на внутренних границах состояния-источника.

К числу основных неграфических объектов SF-диаграммы относятся события, данные и действия.

События(Event) управляют работой SF-диаграммы и должны быть определены пользователем. События имеют различные области видимости (Scope):

локальные (видимые только в пределах SF-диаграммы или ее состояний);

входные (передаваемые в SF-диаграмму из Simulink);

выходные (передаваемые в Simulink из SF-диаграммы);

экспортируемые (передаваемые во внешнюю УП);

импортируемые (передаваемые из внешней УП).

События создаются путем выбора пункта меню Add – Event и далее последовательности Event – Local, Event – InputfromSimulink и т.д. В результате появляется диалоговое окно Event, где определяется конкретное имя события и его характеристики, в перечне которых важнейшей является установка вида события в поле Trigger. В большинстве случаев события могут рассматриваться как скачкообразные изменения (переключения) состояний, сопровождающиеся резкими изменениями уровня соответствующих сигналов; при этом могут быть события следующего вида: Rising – с повышением уровня сигнала; Falling – с понижением уровня; Either – с любым направлением изменения уровня. События могут также создаваться и модифицироваться в диалоговом окне обозревателя StateflowExplorer, выбираемом в рамках пункта основного меню Tools – Explorer.

Другими основными неграфическими объектами SF-модели являются данные(Date). Они представляют числовые значения переменных, используемых в модели. Данные имеют свойства (классические типы), а также область видимости (Scope). Как и события, данные могут быть локальными, входными, выходными, импортируемыми и экспортируемыми. Кроме того, данные могут определяться как константы и временные (промежуточные) переменные. Для создания и модификации данных следует воспользоваться пунктом меню Add – Date, а также обозревателем StateflowExplorer, выбираемом в рамках пункта меню Tools – Explorer.

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

chg (data_name) – процедура генерации локального события в случае изменения значений переменной data_name;

in (state_name) – логическая функция, имеющая значение true, когда состояние state_name активно;

send (event_name, state_name) – процедура пересылки спецификации события event_name состоянию state_name (прямая передача событий);

ml (′function_name (a, b,…)′) – процедура, вызывающая функцию, сформированную в MATLAB и выполняющую вычисления для значений перечисленных аргументов;

ml.datam_name – процедура, предоставляющая доступ к переменной datam_name рабочей области MATLAB.

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

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

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

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

Stateflow поддерживает создание как взаимоисключающих (OR), так и параллельных (AND) состояний. Для определения параллельных состояний, предварительно помещенных в окне SF-диаграммы, необходимо, щелкнув левой кнопкой мыши в поле внешнего состояния-родителя, выбрать в раскрывающемся меню пункт Decomposition – Parallel (AND). В результате границы параллельных состояний отображаются пунктирной линией, а в правых верхних углах блоков автоматически устанавливаются их номера.

При подготовке SF-модели к работе требуется установить параметры модели с помощью диалогового окна, вызываемого при выборе команды ChartProperties, входящей в пункт меню File графического редактора. Окно содержит элементы, определяющие: имя SF-диаграммы; имя S-модели и/или SF-диаграммы более высокого уровня, в которых размещается данная модель; раскрывающийся список Updatemethod, определяющий используемый метод управления динамикой работой SF-диаграммой из Simulink; поле параметра дискретизации по времени Sampletime; вспомогательные флажки, устанавливающие возможности использования данных Simulink, варианты инициализации и задания точек остановки модели, возможности модификации модели и т.п.

Весьма существенным является выбор установки Updatemethod. Она имеет три основных варианта:

Inherited – метод, реализующий управление SF-диаграммы внешними событиями, что приводит к активизации модели каждый раз, когда на триггерный порт диаграммы поступает управляющий сигнал;

Discrete – метод, при котором периодичность активизации SF-диаграммы задается параметром Sampletime, при этом Simulink автоматически генерирует управляющие события с соответствующей периодичностью;

Continuous – непрерывный метод активизации SF-диаграммы на каждом шаге моделирования, установленном для Simulink.

Помимо рассмотренных компонентов разработки и управления SF-моделей, следует также выделить встроенный отладчик, вызываемый в пункте меню Tools – Debug, синтаксический анализатор ошибок (Tools – Parse), а также средства поиска объектов заданного типа (Tools – Find).

Наши рекомендации