Технология ERD.
Диаграммы «сущность-связь» предназначены для графического представления моделей данных разрабатываемой системы и предлагают некоторый набор стандартных обозначений для определения данных и отношений между ними. С помощью этого вида диаграмм описывают компоненты концептуальных моделей данных и объектов, а также совокупность взаимосвязей между ними, имеющих существенное значение для разрабатываемой информационной системы. Наибольшее использование модели ERD получили при проектировании реляционных баз данных. Нотация ERD была впервые введена П. Ченом (Chen) и получила дальнейшее развитие в работах Баркера. Основными понятиями данной нотации являются понятия сущности и связи. Сущность (entity) – произвольное множество реальных или абстрактных объектов, каждый из которых обладает своими свойствами и характеристиками. Каждый объект рассматривается как экземпляр одной и только одной сущности, имеет уникальное имя или идентификатор и отличается от других экземпляров данной сущности. Стандартные графические изображения сущностей
Связь (relationship) – отношение или некоторая ассоциация между отдельными сущностями. Разделяют связи, реализующие отношения принадлежности или подчиненности типа «отец – сын», «начальник – подчиненный», и связи, реализующие отношения обладания некоторыми свойствами. Стандартные графические изображения связей
Графическая модель данных строится таким образом, чтобы отражались не только семантический характер описываемого отношения, но и дополнительные аспекты обязательности связи, а также кратности участвующих в данных отношениях сущностей, которые отображаются указанием значений соответствующих переменных.
Диаграмма «сущность - связь» для общего примера компании
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 данная папка устанавливается в окне «Current Directory» путем выбора из списка рабочих папок файловой системы. Как уже отмечалось, первоначально целесообразно разработать m-файл упрощенного варианта УП, реализующий известные формы обращения к S-модели и задания ее основных параметров. Далее создается S-модель с вложенной SF-моделью. Для этого осуществляется запуск Simulink и создается пустое окно нового mdl-файла Untitled (впоследствии сохраняемого в различных модификациях под именем testo**.mdl). Осуществляется, как и ранее, установка общих параметров модели Configuration Parameters, однако теперь в поле Solver группы Solver options целесообразно установить метод «discrete», так как будет проводиться моделирование системы с набором дискретных основных состояний. Следующим шагом является открытие раздела Stateflow в браузере библиотек Simulink. В результате в основном окне просмотра библиотеки появится единственный блок Chart (диаграмма), который с помощью мыши может быть перемещен в рабочее окно блок-диаграммы mdl-файла Simulink. Здесь также можно открыть собственную библиотеку Stateflow, щелкнув по наименованию раздела правой кнопкой мыши. В результате появится надпись Open the Stateflow library, щелкнув по которой левой кнопкой, получим дополнительно к блоку 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 – Input from Simulink и т.д. В результате появляется диалоговое окно Event, где определяется конкретное имя события и его характеристики, в перечне которых важнейшей является установка вида события в поле Trigger. В большинстве случаев события могут рассматриваться как скачкообразные изменения (переключения) состояний, сопровождающиеся резкими изменениями уровня соответствующих сигналов; при этом могут быть события следующего вида: Rising – с повышением уровня сигнала; Falling – с понижением уровня; Either – с любым направлением изменения уровня. События могут также создаваться и модифицироваться в диалоговом окне обозревателя Stateflow Explorer, выбираемом в рамках пункта основного меню Tools – Explorer. Другими основными неграфическими объектами SF-модели являются данные (Date). Они представляют числовые значения переменных, используемых в модели. Данные имеют свойства (классические типы), а также область видимости (Scope). Как и события, данные могут быть локальными, входными, выходными, импортируемыми и экспортируемыми. Кроме того, данные могут определяться как константы и временные (промежуточные) переменные. Для создания и модификации данных следует воспользоваться пунктом меню Add – Date, а также обозревателем Stateflow Explorer, выбираемом в рамках пункта меню Tools – Explorer. Еще одним классом неграфических объектов SF-моделей являются действия или процедуры (Action). Они определяют любые операции, связанные с преобразованием данных, работой SF-модели и управлением процессом ее функционирования. Для описания процедур служит специальный язык Action Language, построенный на основе синтаксиса языка 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-модели к работе требуется установить параметры модели с помощью диалогового окна, вызываемого при выборе команды Chart Properties, входящей в пункт меню File графического редактора. Окно содержит элементы, определяющие: имя SF-диаграммы; имя S-модели и/или SF-диаграммы более высокого уровня, в которых размещается данная модель; раскрывающийся список Update method, определяющий используемый метод управления динамикой работой SF-диаграммой из Simulink; поле параметра дискретизации по времени Sample time; вспомогательные флажки, устанавливающие возможности использования данных Simulink, варианты инициализации и задания точек остановки модели, возможности модификации модели и т.п. Весьма существенным является выбор установки Update method. Она имеет три основных варианта: Inherited – метод, реализующий управление SF-диаграммы внешними событиями, что приводит к активизации модели каждый раз, когда на триггерный порт диаграммы поступает управляющий сигнал; Discrete – метод, при котором периодичность активизации SF-диаграммы задается параметром Sample time, при этом Simulink автоматически генерирует управляющие события с соответствующей периодичностью; Continuous – непрерывный метод активизации SF-диаграммы на каждом шаге моделирования, установленном для Simulink. Помимо рассмотренных компонентов разработки и управления SF-моделей, следует также выделить встроенный отладчик, вызываемый в пункте меню Tools – Debug, синтаксический анализатор ошибок (Tools – Parse), а также средства поиска объектов заданного типа (Tools – Find).
|