- •Б. Б. Желваков
- •Моделирование систем
- •Учебное пособие
- •Санкт-Петербург
- •Составитель
- •Подготовлено на кафедре
- •230201 – Информационные системы и технологии
- •1. Основные понятия теории моделирования систем 6
- •2. Классификация моделей и методов моделирования 21
- •3. Математические методы моделирования 35
- •4. Имитационное моделирование. 62
- •5. Моделирование организационных систем 116
- •6. Методика и стандарты функционального моделирования 140
- •7. Объектно-ориентированное моделирование 166
- •8. Моделирование бизнес-процессов 221
- •9. Моделирование систем с soa-архитектурой 226
- •10. Модели систем с «облачной» архитектурой 237
- •Введение
- •1. Основные понятия теории моделирования систем
- •1.1. Системный подход и понятие «система»
- •1.2. Системный анализ
- •1.3. Понятия «модель» и «моделирование»
- •1.4. Моделирование систем как процесс формирования знаний.
- •1.5. Моделирование больших и сложных систем.
- •2. Классификация моделей и методов моделирования
- •2.1. Основные типы системных моделей
- •2.2. Классификация методов моделирования сложных систем
- •3. Математические методы моделирования
- •3.1. Принципы и подходы к построению математических моделей
- •3.2. Этапы построения математической модели
- •3.3. Примеры математических моделей
- •3.3.1. Модель целенаправленной системы
- •3.3.2. Модель абстрактной системы с неопределённой структурой
- •3.3.3. Модель целенаправленной системы с управлением.
- •3.3.4. Модель оптимального планирования доставки товаров потребителям
- •3.3.5. Модель в контуре управления экономической системы
- •4. Имитационное моделирование.
- •4.1. Понятие имитационного моделирования
- •4.2. Автоматизация имитационного моделирования
- •4.3. Дискретно-событийное моделирование
- •4.3.1. Системы массового обслуживания
- •4.3.2. Механизмы продвижения времени
- •4.3.3. Обозначения смо-систем
- •4.3.4. Параметры систем массового обслуживания
- •4.3.5. Критерии оценки работы систем массового обслуживания
- •4.3.6. Компоненты дискретно-событийной имитационной модели и их программная организация
- •4.4 Этапы исследования системы с помощью имитационного моделирования
- •4.5. Преимущества, недостатки и ошибки имитационного моделирования
- •4.6. Моделирование по методу Монте-Карло
- •4.7. Программное обеспечение имитационного моделирования
- •4.7.1. Классификация программных средств имитационного моделирования
- •4.7.2. Общие элементы моделирования
- •4.7.3. Универсальные пакеты имитационного моделирования
- •4.7.4. Предметно-ориентированные пакеты имитационного моделирования
- •5. Моделирование организационных систем
- •5.1. Концепции и стандарты организационного моделирования
- •5.2. Метамоделирование
- •5.3. Метамодель общих хранилищ данных (cwm)
- •5.4. Моделирование организационных систем
- •6. Методика и стандарты функционального моделирования
- •6.1. Методика функционального моделирования sadt
- •6.2. Диаграммы «сущность-связь»
- •6.3.Стандарты idef
- •6.3. Система моделирования бизнес-процессов AllFusion Process Modeler
- •7. Объектно-ориентированное моделирование
- •7.1. Принципы и методология объектно-ориентированного подхода.
- •7.2. Унифицированный язык моделирования uml
- •7.2.1. Архитектура uml
- •7.2.2. Диаграммы uml
- •7.2.3. Использование uml при моделировании систем реального времени
- •7.2.4. Преимущества uml
- •7.2.5. Унифицированный Процесс разработки по компании Rational
- •7.3. Архитектура, управляемая моделями
- •7.4. Разработка, управляемая моделями (mdd)
- •7.5. Объектно-ориентированное программирование
- •7.6 Инструментальные средства поддержки оо‑технологий
- •8. Моделирование бизнес-процессов
- •9. Моделирование систем с soa-архитектурой
- •9.1. Композитная структура программ
- •9.2. Концепция soa
- •9.3. Сервис-ориентированное моделирование
- •10. Модели систем с «облачной» архитектурой
- •Заключение
- •Литература
7.2.3. Использование uml при моделировании систем реального времени
Встраиваемые системы реального времени, встречающиеся в таких прикладных областях, как телекоммуникации, аэрокосми-ческие и оборонные приложения, обычно имеют тенденцию быть большими и сложными. Решающим для таких систем является то, что они должны быть разработаны в соответствии с разумной архитектурой. Хорошая архитектура не только упрощает создание первоначальной системы, но и, что более важно, обеспечивает адаптивность системы к изменениям, вызываемым постоянным появлением новых требований. Конструкции, полученные из подтвержденных практикой концепций, изначально описанные в языке моделирования RT UML (Real-Time UML), включены в спецификации языка UML, начиная с версии 2.0.
Предметная область распределённых приложений реального времени. Одним из наиболее общих свойств программных систем реального времени является детерминизм, т.е. требование корректного отклика системы в рамках приемлемого временного интервала. Однако, это как будто простое свойство характеризует широкий спектр очень разных систем ‑ от систем работающих исключительно по временному расписанию и до систем, работающих исключительно под управлением происходящих событий. С течением времени, для каждой из этих категорий систем были разработаны собственные идиомы, шаблоны проектирования и стили моделирования, которые объединили коллективный опыт многих проектов.
Сконцентрируем внимание на основной категории систем реального времени (СРВ), которые можно охарактеризовать как сложные системы, работающие под управлением событиями и использующие (в потенциале) распределенную обработку. Такие системы наиболее часто встречаются в телекоммуникациях, аэрокосмических и оборонных приложениях и в системах автоматизированного управления. Размеры и сложность этих систем требуют значительных первоначальных затрат на проектирование, обычно с привлечением больших коллективов разработчиков, за которыми следует длительный период эволюционного роста. Со временем обнаруживаются новые требования, и система частично модифицируется для их удовлетворения.
Хорошим примером объектно-ориентированной методики архитектурного проектирования и моделирования распределенных систем и систем реального времени является метод COMET (Concurrent Object Modeling and Architectural Design Method), базирующийся на языке UML и его расширении для моделирования систем реального времени ‑ Real-Time UML, [16]. В основе COMET лежит унифицированный процесс разработки объектно-ориентированного ПО компании Rational (RUP) и концепция прецедентов (вариантов) использования (Use-Case) языка UML.
Краткое описание методики COMET. На этапе моделирования требований (Requirements Modeling) система рассматривается как черный ящик. Формируется модель прецедентов, где определяются функциональные требования к системе в терминах исполнителей (Actors) и прецедентов (Use-Case).
На этапе аналитического моделирования (Analysis Modeling) строятся статическая и динамическая модели системы. Статическая модель описывает структурные отношения между классами предметной области. Для выявления объектов, рассматриваемых в аналитической модели, применяется критерий разбиения на объекты. После этого разрабатывается динамическая модель, и уточняются описанные в модели требований прецеденты с целью представить объекты, участвующие в каждом прецеденте, и взаимодействия между ними. В динамической модели с помощью диаграмм состояний определяются объекты, зависящие от состояния.
На этапе проектного моделирования (Design Modeling) продумывается архитектура системы:
Аналитическая модель, в которой основное внимание уделялось предметной области, соотносится со средой, где будет эксплуатироваться программа, и с проектной моделью, где акцент ставится на область решения.
Формулируются критерии разбиения системы на подсистемы.
В случае распределенной системы наиболее важным является разделение ответственности между клиентами и серверами, в том числе с точки зрения централизации и распределения данных и управления.
Проектируются интерфейсы для обмена сообщениями, рассматриваются синхронные, асинхронные, групповые коммуникации и брокерские сервисы.
Затем наступает очередь проектирования отдельных подсистем. Проектирование параллельных приложений, в том числе и систем реального времени, сводится в основном к выделению параллельно выполняемых объектно-ориентированных задач.
И, наконец, создаются интерфейсы для обмена данными между задачами и синхронизации.