
- •Содержаhие
- •2. Классические математические
- •3. Стохастические модели
- •4.4. Имитация случайных событий…………………..… 78
- •5. Обработка результатов
- •6. Моделирование вероятностных
- •7. Модели систем
- •8. Алгоpитмизация пpоцеccов
- •9. Унифицированный
- •Введение
- •1. Концепция моделирования
- •1.1. Понятие модели
- •1.2. Концепции определения моделей
- •2. Классические математические модели
- •2.1. Примеры моделей в виде дифференциальных уравнений
- •2.2. Классические модели в виде дифференциальных уравнений
- •2.3. Инерционные модели
- •2.4. Модели на основе передаточных функций
- •2.5. Конечные автоматы
- •3. Стохастические модели объектов
- •3.1. Математические модели случайных процессов
- •3.2. Классификация моделей случайных процессов
- •3.3. Модели марковских процессов
- •4. Имитация случайных событий
- •4.1. Понятие статистического моделирования
- •4.2. Датчики случайных чисел
- •4.3. Проверочные тесты
- •4.4. Имитация случайных событий
- •4.5. Имитация непрерывных случайных величин
- •4.6. Имитация марковского процесса
- •5. Обработка результатов моделирования на эвм
- •5.1. Выбор числа опытов
- •5.2. Значимость оценки
- •5.3. Формулы и алгоритмы для оценки результатов моделирования
- •6. Моделирование вероятностных автоматов
- •6.1. Аналитическое определение вероятностных автоматов
- •6.2. Табличное задание функций переходов и выходов
- •6.3. Имитационное моделирование вероятностных автоматов
- •7. Модели систем массового обслуживания
- •7.1. Общие сведения
- •7.2. Модель входного потока заявок и времени обслуживания
- •7.3. Модель Эрланга
- •7.4. Исследование модели пуассоновского процесса с помощью производящих функций
- •7.5. Модель для определения времени задержки в виде интегро-дифференциальных уравнений Линди-Такача-Севастьянова
- •7.6. Имитационное моделирование одноканальной смо
- •7.7. Имитационные модели многофазных смо
- •7.8. Имитационные модели многоканальных смо
- •7.9. Алгоритмизация имитационной модели смо произвольной структуры
- •8.1. Моделиpующие алгоpитмы
- •9. Унифицированный язык моделирования uml
- •9.1. Основные компоненты
- •9.2. Понятия и компоненты
- •9.3. Диаграммы вариантов использования
- •9.4. Диаграммы классов
- •Вертикальная координата : : Подвеска : : Машина
- •9.5. Типы связей между классами
- •9.6. Расширения понятия класса в uml
- •9.7. Связи между объектами
- •9.8. Диаграммы взаимодействия
- •9.9. Диаграммы состояний
- •9.10. Диаграммы деятельностей
- •10. Объектно-ориентированное моделирование
- •10.1. Определение объекта
- •10.2. Наследование
- •10.3. Полиморфизм
- •10.4. Типы данных и пакеты
- •Библиографический список
- •Аналитические и имитационные модели
9. Унифицированный язык моделирования uml
9.1. Основные компоненты
После многх попыток создания унифицированных языков для решения задач моделирования был разработан и опробован объектно-ориентированный подход. Первый язык Simula-67, основанный на данном подходе, был создан в 1967 г, а в 1983 г. появился и язык С++.
Объектно-ориентированный подход позволяет:
- описывать структуру объекта;
- описывать действия с объектами;
- использовать специальные правила наследования объектов;
- передавать сообщения между объектами.
Основной задачей этапов разработки любого программного обеспечения, предшествующих непосредственному программированию, является спецификация предметной области в терминах, удобных для дальнейшего применения в процессе разработки.
Объектно-ориентированный подход в моделировании называют объектно-ориентированным моделированием. Свое развитие он получил при переходе к компьютерному моделированию. В отличие от объектно-ориентированного программирования программные классы с их набором методов заменяются «классами-устройствами» с набором поведений, свойственных данному объекту. Если базовые классы заданы, то моделирование на вычислительной машине ничем не отличается от объектно-ориентированного моделирования. Ситуация изменяется, если разрабатывается модель системы впервые, а структура и поведение системы подлежат анализу. Объектно-ориентированный подход предлагает строгую последовательность операций, знакомую разработчикам программных приложений.
Язык Unified Modeling Language (UML) является унифицированным языком моделирования, в котором воплощены принципы объектно-ориентированного подхода. Рассмотрим назначение и основные компоненты UML [4, 21, 22].
UML относится к языкам визуального моделирования и реализует объектно-ориентированный подход к разработке сложных систем следующими средствами:
- программная система представляется в виде множества самостоятельных сущностей, взаимодействующих друг с другом, реализующих свое собственное поведение и осуществляющей хранение информации, необходимой ддя ее функционирования, причем, с каждой сущностью связано понятие класса и объекта;
- класс ‑ это группа сущностей (объектов), обладающих сходными свойствами, а именно, данными и поведением, причем, отдельного представителя некоторого класса называют объектом класса или просто объектом;
- каждый объект защищен системой правил, не позволяющих окружающим объектам произвольно менять его данные или влиять на его поведение, причем правила определяют способ взаимодействия с окружением (интерфейс) и скрывают детали реализации;
- под поведением объекта в UML понимаются любые правила взаимодействия объекта с внешним миром и с данными самого объекта;
- процесс разделения сущностей на классы и построение общей классификации осуществляются с помощью механизма наследования и полиморфизма;
- наследование ‑ это отношение, определяющее уровень иерархии конкретного класса в графе классов, и показывающее, что потомки конкретного класса являются разновидностью класса-родителя, причем, механизм наследования реализуется с помощью копирования всех атрибутов предка (наследования) и их частичного переопределения, как данных, так и поведения (методы);
- для удобства иерархического представления больших систем классы можно объединять в группы (пакеты) или использовать модульный подход при проектировании;
- полиморфизм связан с переопределением поведения объектов, для описания полиморфизма вводятся понятия операции и метода.
У каждого класса есть операции, которые определяют его поведение. Операции наследуются потомками, но каждый потомок класса может предоставить свой метод реализации любой унаследованной операции, отличный от соответствующего метода предка.
С операцией связано качественное описание поведения объекта, а с методом - его конкретная реализация. Таким образом, можно наследуя операции, придавать им нужные свойства, присущие объектам класса-потомка.