- •220400 «Программное обеспечение вычислительных комплексов и автоматизированных систем»
- •Глава 1. Понятие и сущность моделирования. Место компьютерного моделирования в задачах изучения процессов и явлений
- •§ 1. Понятие модели. Функции моделей и их классификация
- •1.1. Понятие и функции моделей
- •1.2. Классификация моделей
- •§ 2. Структура моделей
- •2.1. Структура модели и ее основные составляющие
- •2.2. Анализ и синтез
- •§ 3. Виды моделирования. Понятие и сущность компьютерного моделирования
- •3.1. Виды моделирования
- •2.3. Требования к модели
- •3.2. Понятие и сущность компьютерного моделирования
- •3.3. Искусство моделирования. Действия, выполняемые в процессе моделирования
- •§ 4. Моделирование как искусство. Этапы процесса моделирования
- •4.1. Этапы процесса моделирования
- •4.2. Постановка задачи и определение типа модели
- •4.3. Формулирование модели
- •4.4. Проверка модели
- •4.5. Стратегическое и тактическое планирование
- •4.6. Экспериментирование и анализ чувствительности
- •4.7. Реализация замысла и документирование
- •Глава 2. Объектно-ориентированная технология как современная парадигма компьютерного моделирования. Основные сведения о языке uml
- •§ 5. Объектно-ориентированная технология как современная парадигма компьютерного моделирования
- •5.1. Обстоятельства и причины появления объектно-ориентированной технологии. Основные термины
- •В общем случае объекты обладают двумя качествами:
- •5.2. Принципы объектно-ориентированной технологии
- •§ 6. Назначение и цели унифицированного языка моделирования. Основные концепции uml
- •6.1. Назначение и цели uml
- •6.2. Основные концепции uml
- •§ 7. Статическое представление модели
- •7.1. Классификаторы
- •Типы классификаторов
- •7.2. Отношения
- •7.3. Ограничения
- •§ 8. Структурные представления модели
- •8.1. Представление вариантов использования
- •Виды отношений вариантов использования
- •8.2. Представления программной реализации и развертывания
- •§ 9. Представление в виде конечного автомата как один из видов динамического представления модели
- •9.1. Понятие конечного автомата. Определение события и состояния
- •9.2. Понятие и структура перехода. Типы переходов
- •§ 10. Представления деятельности и взаимодействия как виды динамического представления модели
- •10.1. Представление деятельности
- •10.2. Представление взаимодействия
- •§ 11. Представление управления моделью и дополнительные возможности языка uml
- •11.1. Представление управления моделью
- •11.2. Расширение возможностей языка uml
- •Глава 3. Понятие и виды имитационного моделирования. Инструментарий имитационного моделирования: назначение и краткий обзор
- •§ 12. Понятие и виды имитационного моделирования. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •12.1. Понятие и виды имитационного моделирования
- •12.2. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •§ 13. Классификация и краткая характеристика языков имитационного моделирования. Среда и функциональная структура языка моделирования gpss
- •13.1. Классификация языков имитационного моделирования
- •13.2. Принципы организации системы gpss
- •Глава 4. Общие понятия о графическом моделировании и геоинформационных системах
- •§ 14. Способы представления и принципы обработки графических данных на персональных эвм
- •14.1. Представление в компьютере графической информации. Растровая и векторная графика
- •14.2. Модели представления цвета в графических изображениях
- •14.3. Форматы графических файлов
- •14.4. Принципы обработки графических данных на персональных компьютерах
- •§ 15. Геоинформационные системы и особенности моделирования земной поверхности
- •15.1. Основные понятия и организация гис
- •15.2. Проблемы качества векторных цифровых карт для гис
- •§ 16. Классификация программного обеспечения гис и реализация гис-проектов
- •16.1. Классификация и краткая характеристика программного обеспечения гис
- •16.2. Порядок создания гис-проектов
- •Компьютерные модели в информационных технологиях на железнодорожном транспорте
- •127994, Москва, ул.Образцова, 15
§ 13. Классификация и краткая характеристика языков имитационного моделирования. Среда и функциональная структура языка моделирования gpss
13.1. Классификация языков имитационного моделирования
Специализированные языки имитационного моделирования делятся на языки схемных символов и операторные языки. Соответственно двум видам имитации они также классифицируются на:
языки моделирования непрерывных процессов;
языки моделирования дискретных процессов.
Языки моделирования непрерывных процессов обеспечивают блочное построение моделей и при этом обладают мощью и удобством алгебраической и логической алгоритмизации.
Языки моделирования дискретных процессов делятся на 4 категории:
языки, ориентированные на события,
языки, ориентированные на действия,
языки, ориентированные на процессы,
языки, ориентированные на потоки сообщений (транзактов). В ряде случаев данная категория не выделяется отдельно, а рассматривается как подмножество языков процессов.
В языке, ориентированном на события, каждое событие представляется в виде мгновенного события в модельном времени с таким регламентом, который обеспечивает наступление события именно в тот момент времени, когда динамическое состояние показывает, что сложились условия для его появления. Для того, чтобы появление событий в модельном времени подчинялось установленному регламенту, исполнительная программа автоматически определяет их очередности. В число языков, ориентированных на события, входят Симскрипт, Симком и Симпак.
В языках, ориентированных на зависящие от времени действия, эти действия представляются в модельном времени как мгновенные. Программируя на этих языках, пользователь не регламентирует действия программы, а лишь указывает на условия, при которых они могут произойти. В подобных языках программа составляется из двух частей: обеспечивающей проверку и обеспечивающей действие. Исполнительные программы, просматривают набор всех условий перед сдвигом времени на очередной интервал, что позволяет определить, могут ли произойти какие-либо события. Перед очередным сдвигом модельного времени происходит сканирование всех программ по действиям для определения, какая из них включена в работу. Исполнение команд изменения состояния и сдвига времени в той части программы, которая обеспечивает действие, разрешается тогда, когда выполняются все контролируемые условия. Если хоть одно из них осталось невыполненным, команды действия пропускаются. Циклическое сканирование всех программ имитации действий дает возможность учитывать вероятности включения каждой из них и все возможные взаимодействия. Языки, ориентированные на действия: CSL, ESP, Форсим IV, GSP и Милитран.
Создание языков, ориентированных на процессы, представляет собой попытку объединить краткость языков, ориентированных на действия, с эффективностью языков, ориентированных на события. Процессы могут быть гибкими и регламентированными, их можно прерывать или дополнять подчиненными подпроцессами, можно программировать задержки в них самих или в других процессах до появления необходимых условий и т.д. Наиболее важное свойство языков, ориентированных на процессы, заключается в том, что написанная на подобном языке программа работает так же, как несколько программ, управляемых независимо одна от другой либо посредством просмотра действий, либо посредством регламентирования событий. Особенностью программирования, позволяющей реализовать это свойство, является использование некоторой точки повторной активизации (точки реактивации); это, в сущности, указатель, сообщающий программе обработки данных, с какого места должно продолжаться ее выполнение после исполнения тех или иных команд, задерживающих этот процесс. Исполнительная программа в этих языках реализует еще более важную функцию, чем в языках, ориентированных на действия или события. В эту категорию входят такие языки, как Симула, OPS и SOL.
Блок-схемы алгоритмов, являясь важным инструментом описания логики поведения и взаимодействия элементов системы, моделируемой на одном из языков для дискретных систем, как в программировании, так и в теории конструирования моделей подобных систем играют небольшую роль. Применяя эти языки, пользователь строит имитационную модель на основе операторов, которые описывают условия, необходимые для выполнения действий, результаты этих действий, а также определяют временные взаимосвязи между элементами системы и действиями, в которых эти элементы участвуют. В языках, ориентированных на процессы, моделирование системы проводится путем движения транзактов (сообщений) через стилизованные блоки действий. По мере прохода транзактов через блоки происходит сдвиг системного времени; решения принимаются в результате воспроизведения логики функционирования моделируемой системы. Языки, попадающие в эту категорию, называют транзактными. Программисту, знакомому с идеей, положенной в основу блок-схем алгоритмов, на этих языках программировать нетрудно. В этом случае специализированные блоки соединяются в структуры, отображающие логику действий и различные потоки моделируемой системы. Сама система представляется в виде блоков; моделирующая программа создает транзакты, передвигает их по определенным блокам и производит действия, связанные с каждым блоком. Поскольку эти специальные блоки модели являются одновременно и основными программными операторами, составление модели на языке блок-схем равносильно написанию программы. Однако легкость освоения этих языков покупается ценой потери гибкости.
К языкам этой категории принадлежат GPSS и BOSS. Язык моделирования дискретных систем GPSS (General Purpose System Simulator) является одним из самых распространенных в мире языков имитационного моделирования. Данный язык был разработан фирмой IBM в начале 70-х годов XX в., а в настоящее время система моделирования GPSS/PC (различных версий) является торговой маркой фирмы MINUTEMAN Software.
