av Кучумова Светлана 10 år siden
626
Mer som dette
Примерами в этой группе являются такие системы как SIMULA, GPSS, SOL, SPL и другие.
Система имитационного моделирования GPSS
Основные сведения о блоках GPSS-моделей.
Стандартные числовые атрибуты
Атрибуты системы - это параметры, которые описывают состояние модели. Такие количественные показатели, как «текущее содержимое очереди 5», «число единиц времени, в течение которых занят прибор» являются типичными системными атрибутами. Такие атрибуты называются стандартными числовыми атрибутами (СЧА).
Имя СЧА состоит из двух частей. Первая – групповое имя. Оно указывает одновременно и тип объекта и тип информации. Вторая часть идентифицирует конкретно члена группы (числовое или символьное).
Операнды.
Операции.
8) Вспомогательные блоки WRITE, SAVE, LOAD, REPORT, UPDATE.
7) Блоки организации цепей LINK, UNLINK;
6) Специальные блоки BUFFER, PRINT, EXECUTE, COUNT, CHANGE, TRACE, UNTRACE, SELECT, HELP, JOIN, REMOVE, EXAMINE, SCAN. ALTER;
5) Блоки, обеспечивающие получение статистических результа-тов: • очереди QUEUE, DEPART; • статистические таблицы TABULATE, TABLE;
Блок TABLE Формат карты: Поле имени Поле операции Поле операндов <имя> TABLE А, В, С, D
A – имя переменной, значения которой должны учитываться в таблице. Операнд А должен быть именем стандартного числового атрибута. B – первое граничное значение. C – ширина всех промежуточных интервалов. D – общее число интервалов таблицы, включая левый и правый. Значения операндов В, С и D - целые числа. Значение В может быть отрицательным.
Определение и использование таблиц. Блок TABULATE (ТАБУЛИРОВАТЬ).
Сбор и автоматическое табулирование статистических данных о работе модели можно с помощью таблиц. Статистические таблицы используются для получения частотных распределений определенных аргументов, которыми могут быть некоторые СЧА (время задержки транзакта в модели, длина очереди, содержимое па-мяти и т.д.). В модели может быть несколько таблиц. Они сначала оп-ределяются, затем используются.
Для определения таблицы нужно указать: 1. имя таблицы; 2. имя случайной переменной, значение которой будет табули-роваться; 3. число, являющееся первым граничным значением; значения выборки, меньшие или равные этому числу, попадают в самый левый интервал (частотный класс) таблицы; 4. ширину общей для всех интервалов таблицы за исключением левого (низшего) и правого (высшего); 5. общее число интервалов таблицы, включающее нижний и высший. Вся эта информация записывается в карте определения таблицы TABLE.
Сбор статистики при ожидании. Блоки QUEUE (СТАТЬ В ОЧЕРЕДЬ) и DEPART (ПОКИНУТЬ ОЧЕРЕДЬ).
А - имя соответствующей очереди, В - число элементов, на которое должно измениться значение счетчика содержимого очереди.
DEPART A,B
QUEUE A,B
Блоками, соответствующими событиям «присоединение» и «уход», соответственно являются взаимодополняющие блоки QUEUE (СТАТЬ В ОЧЕРЕДЬ) и DEPART (ПОКИНУТЬ ОЧЕРЕДЬ). Оба блока содержат операнды А – имя соответствующей очереди и В – число элементов, на которое должно измениться значение счетчика содер-жимого очереди.
4) Блоки, сохраняющие необходимые значения для дальнейшего использования: SAVEVALUE, MSAVEVALUE;
3) Блоки, организующие использование объектов аппаратной категории: • устройства SEIZE, RELEASE, FAVAIL, PREEMPT, RETURN, FUNAVAIL; • многоканальные устройства (памяти) ENTER, LEAVE, SAVAIL. SUNAVAIL; • ключи (логические переключатели) LOGIC;
Для определения емкости многоканальных устройств служит ко-манда STORAGE, операнд А которой задает число каналов (ёмкость).
Форма записи: 1). Поле имени Поле операции Поле операндов «имя» STORAGE S
Состояние логического переключателя может измениться, если транзакт войдет в блок LOGIC (ВЛИЯТЬ НА ЛОГИЧЕСКИЙ ПЕРЕ-КЛЮЧАТЕЛЬ).
А – номер логического ключа (имя, число или СЧА), Х – вспомогательный оператор, указывающий на производимое действие с логическим переключателем.
LOGIC X A
Многоканальные устройства. Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ).
Операнд А в этих блоках используется для указания имени соответствующего устройства. В блоках ENTER и LEAVE возможно использование операнда В, который задает число каналов, занимаемых или освобождаемых од-ним сообщением. По умолчанию значение В равно 1.
LEAVE А [,В]
ENTER А [,В]
Для моделирования нескольких параллельно работающих однородных обслуживающих устройств в GPSS введено понятие многоканального устройства (памяти).
Занятие свободных приборов. Блоки SEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ).
Операнд А в блоках SEIZE и RELEASE означает соответственно имя занимаемого и освобождаемого прибора.
RELEASE А
SEIZE А
Элементами, символизирующими обслуживающие приборы могут быть либо человек (парикмахер, заправщик на бензоколонке, водопроводчик, страховой агент, плотник), либо какой-нибудь предмет (авторучка, стоянка автомобилей, театральный бинокль, подъемный кран).
2) Блоки, изменяющие последовательность передвижения тран-зактов: TRANSFER, LOOP, TEST, GATE.
Элементы, моделирующие управление. Логические переклю-чатели. Блок GATE (ВПУСТИТЬ).
А – имя логического переключателя; В – необязательный операнд; имя блока к которому переходит проверяющий транзакт, если логический переключатель находится в положении, не отвечающем условию проверки. Если операнд В пустой, блок работает в режиме условного вхож-дения, если заполнен – в режиме безусловного вхождения. Х – Вспомогательный оператор (логический ключ), указывает по-ложение переключателя, требуемое для истинности проверки, имеет СЧА
Логические операторы, связанные с устройствами NU Устройстово свободно -1, занято – 0. U Устройство занято -1, не занято – 0. NI На устройстве не произошло прерывание -1, иначе – 0. I На устройстве произошло прерывание -1, иначе – 0. FV Устройство доступно -1, иначе – 0. FNV Устройство не доступно -1, иначе – 0. Логические операторы, связанные с МКУ SE МКУ пусто -1, непусто -0 SNE МКУ не пусто -1, пусто – 0 SF МКУ заполнено -1, не заполнено – 0. SNF МКУ не заполнено -1, заполнено - 0 SV МКУ доступно -1, иначе – 0. SNV МКУ не доступно -1, иначе – 0. Логические операторы, связанные с транзактами M Наличие пары в А-блоке NM Отсутствие пары в А-блоке Логические операторы, связанные с логическими ключами LRj равно 1, если логический ключ выключен, иначе -0; LSj равно 1, если логический ключ включен, иначе -0
GATE X A, B
Проверка числовых выражений. Блок TEST (ПРОВЕРИТЬ).
С – необязательный параметр; имя блока, в который переходит проверяющий транзакт, если ответ на вопрос, подразумеваемый опе-ратором отношения, отрицательный.
А – имя первого стандартного числового атрибута; В – имя второго стандартного числового атрибута; Х – вспомогательный оператор, представляющий собой оператор отношения, используемый при проверке.
G A больше B? GE A больше или равно B? E A равно B? NE A не равно B? LE A меньше или равно B? L A меньше B?
TEST Х А, В, С
Соотношение между двумя стандартными числовыми атрибутами может быть исследовано с помощью блока TEST.
Изменение маршрута транзактов. Блок TRANSFER (ПЕРЕ-ДАТЬ).
Блок TRANSFER используется для того чтобы направить входя-щее в него сообщение к любому блоку. Передача может быть осуще-ствлена логически, статистически, условно и безусловно.
Статистический переход
Если в операнде А блока TRANSFER запи-сана десятичная дробь, то производится случайный выбор между блоками, указанными в операндах В и С. Вероятность выбора блока С задается дробью.
TRANSFER 0.25, ROB, IRA
Условный переход
Возможен выбор одного из двух блоков (BOTH) или более двух (ALL). Ограничимся рассмотрением более распространенного первого случая. Режим BOTH задается в операнде А блока TRANSFER. В блоке осуществляется выбор одного из двух блоков, указанных в операндах В и С. Порядок выбора принят следующий. Сначала транзакт пытается войти в блок, заданный в операнде В, если это невозможно, то пытается войти в блок, указанный в операнде С, причем эти попытки происходят в один момент модельного времени. Если и вторая попытка безрезультатна, то транзакт задерживается в блоке TRANSFER до следующего момента времени. Затем опрос блоков повторяется, пока выход не будет найден.
TRANSFER BOTH,NEXT,SAM
Безусловный переход.
Операнд А блока TRANSFER отсутст-вует, все транзакты, входящие в этот блок, будут передаваться в блок, имя которого указано в операнде В (наличие этого операнда обяза-тельно). TRANSFER ,NEXT означает, что транзакты всегда направ-ляются в блок с именем NEXT.
TRANSFER ,NEXT
TRANSFER А, В, С
1) Блоки, осуществляющие модификацию атрибутов транзактов: • генерирование и удаление транзактов: GENERATE, TERMINATE, SPLIT, ASSEMBLE; • временная задержка: ADVANCE; • синхронизация движения нескольких транзактов: MATCH GATHER, • изменение параметров транзактов: ASSIGN, INDEX, MARK; • изменение приоритета: PRIORITY;
Реализация задержки во времени. Блок ADVANCE (ЗАДЕРЖАТЬ).
Операнд А - среднее время задержки на обслуживание, В исполь-зуют для указания половины поля допуска интервала времени задержки.
ADVANCE А, В
Блок ADVANCE используется для реализации задержки продвижения транзакта в течение некоторого интервала времени. Обычно этот интервал задается случайной переменной.
Удаление транзактов из модели. Блок TERMINATE (ЗАВЕР-ШИТЬ). Транзакты удаляются из модели, попадая в блок TERMI-NATE. Блоки TERMINATE всегда позволяют выйти всем транзактам, которые пытаются это сделать. В модели может быть любое число блоков TERMINATE.
Операнд А является указателем уменьшения счетчика завершений.
TERMINATE А
Внесение транзактов в модель. Блок GENERATE (ГЕНЕРИ-РОВАТЬ). GENERATE – это блок, через который транзакты входят в модель.
А Средний интервал времени поступления B Половина поля допуска равномерно распределенного интервала времени прибытия C Смещение интервалов D Ограничитель E Уровень приоритета
Subtopic
GENERATE А, В, C, D, E
Местоположение.
Тип объектов:
Списки пользователя Группы
Матрицы ячеек Ячейки
Очереди Таблицы
Переменные: арифметическая, булевская Функции
Устройства(врачи) Памяти (многоканальное устройство) Ключи
Блоки
Транзакты(пациенты. учителя)
Категории:
Группирующая
Запоминающая
Статистическая
К статистическим объектам относятся очереди и таблицы, вводимые для оценки характеристик поведения системы.
Вычислительная
Объекты вычислительной категории служат для описания таких ситуаций в процессе моделирования, когда связи между компонента-ми системы наиболее просто и компактно выражаются в виде матема-тических (аналитических и логических) соотношений. Для этих целей предусмотрены арифметические и булевские переменные и функции.
Аппаратная
Объекты аппаратной категории - это абстрактные элементы (уст-ройства, памяти и логические ключи), на которые может быть разде-лено оборудование реальной системы. Воздействуя на эти объекты, транзакты могут изменять их состояние и влиять на движение других транзактов.
Операционная
Операционные объекты, т. е. блоки, задают логику функциониро-вания модели системы и определяют пути движения транзактов между объектами аппаратной категории.
Динамическая
GPSS (General Purpose Simulating System - общецелевая система моделирования) разработана специалистами фирмы IBM для модели-рования сложных дискретных систем, которые могут быть формали-зованы.
Примерами в этой группе могут служить системы FORSIM, CSL, ESP, AS, GSP и другие.
К языкам имитационного моделирования, реализующим событий-ный подход, относятся GASP, SEAL, СИМКОМ, СИМПАК, SIM-SCRIPT и другие.
динамической, позволяющей исследовать поведение в течение продол-жительных периодов времени.
статической, позволяющей исследовать поведение модели системы в определенный момент времени
Визуальное представление:
2D-анимация
3D-анимация
Временная и фазовая диаграммы
Основные операторы:
присваивания, вызова процедуры, условный оператор, оператор варианта, цикла, возврата.
Алгоритмические процедуры и функции:
функции, возвращающие значение типа, функции преобразования типов, элементарные функции, функции работы со строками, функции, реализующие законы распределения случайных величин, функции для матриц и векторов, специальные и системные функции, функционалы, специальные процедуры.
типы данных:
Регулярные типы: векторы (vector[N]) и матрицы (matrix[N,M]).
Скалярные типы: вещественный (double), целый (byte, short, integer), булевский (boolean), перечислимый, символьный (char, string).
Поведение
Поведение любого блока является гибридным (задается форма-лизмом гибридного автомата).
Блоки и связи
Устройство является основным элементом модели. Это ориенти-рованный блок, функционирующий параллельно и независимо от дру-гих блоков в непрерывном времени.
Входной язык
Входной язык имеет две формы представления:
текстовую (описание модели на внутреннем языке MVL)
графическую (используется для интерактивного редактирования описания модели модели и визуализации вычислительного эксперимента)
Оболочка пакета
Окна интегрированной среды
4) Окно редактирования системы уравнений
3) Окно редактирования добавленного по умолчанию класса (в данном случае класса «Маятник») содержит дерево составляющих описания класса
2) Окно виртуального стенда содержит структурную схему мо-делируемой системы, то есть экземпляры блоков и связи между ними
1) Окно управления проектом содержит дерево основных составляющих проекта.
К составляющим проекта относятся:
виртуальный стенд и импортируемые библиотеки классов
глобальные процедуры и функции
глобальные (т.е. видимые во всех составляющих проекта) константы
классы блоков
Оболочка пакета представляет собой многооконную среду, позволяющую редактировать проект, автоматически преобразовывать гра-фическое описание модели в текстовое и наоборот, подключать биб-лиотеки классов, создавать свои библиотеки, создавать выполняемые модели и запускать их.
Ключевыми проблемами при разработке MVS являлись:
6) обеспечение моделирования, визуализации результатов и управления вычислительным экспериментов без написания какого-либо программного кода
5) поддержка активного вычислительного эксперимента
4) обеспечение достоверности численного решения
3) удобное и адекватное описание непрерывных, дискретных и гибридных (непрерывно-дискретных) систем
2) возможность создания пользователем собственных компонен-тов
1) поддержка технологии объектно-ориентированного модели-рования (ООМ), совместимой с языком UML
MVS позволяет осуществлять интерактивное вмешательство при постановке эксперимента.
Model Vision Stadium (MVS) – интегрированная графическая обо-лочка для быстрого создания интерактивных визуальных моделей сложных динамических систем и проведения вычислительных экспе-риментов с ними.
для удобства иерархического представления больших систем классы можно объединять в группы (пакеты) или использовать мо-дульный подход при проектировании
полиморфизм – касается переопределения поведения объек-тов
наследование – это отношение, определяющее уровень иерар-хии конкретного класса в дереве классов, и говорящее о том, что по-томки конкретного класса являются разновидностью класса-родителя
процесс разделения сущностей на классы и построение общей классификации осуществляются с помощью механизма наследования и полиморфизма
под поведением объекта в UML понимаются любые правила взаимодействия объекта с внешним миром и с данными самого объекта
каждый объект защищен системой правил, не позволяющих окружающим объектам произвольно менять его данные или влиять на его поведение
класс – это группа сущностей (объектов), обладающих сход-ными свойствами, а именно, данными и поведением
программная система представляется в виде множества само-стоятельных сущностей, взаимодействующих друг с другом
Инструментальные средства
универсальные языки. В основе универсального языка имита-ционного моделирования СЛАМ лежит простая идея - объединить достоинства GPSS и DINAMO таким образом, чтобы, допуская раз-дельное применение этих языков, можно было при необходимости использовать их совместно
языки имитационного моделирования дискретных систем. Самым популярным из языков этого типа является язык GPSS (General Purpose Simulation System)
языки имитационного моделирования непрерывных динамических систем. Они предназначены для моделирования динамических объектов с непрерывным фазовым пространством и непрерывным временем
любой реальный объект или процесс
технологический процесс
информационная вычислительная сеть
промышленное предприятие
экономическая деятельность фирмы или банка
Суть компьютерного моделирования:
получение количественных и качественных результатов по имеющейся модели
отдельную программу, совокупность программ, программный комплекс, позволяющий с помощью последовательности вычислений и графического отображения их результатов воспроизводить (имитировать) процессы функционирования объекта
условный образ объекта или некоторой системы объектов (или процессов), описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм, графиков, рисунков
имитационное (программное) моделирование
математическое (логико-математическое) моделирование
структурно-функциональное моделирование
физическое моделирование
концептуальное моделирование
идеологический, связанный с уточнением модели, или отказом от нее и переходом к другой модели
технологический, связанный с ошибками, допущенными на каждом из этапов моделирования
итеративная адаптация (корректировка) компьютерных экспериментов, модели, формализованного описания, постановки задачи моделирования
анализ результатов моделирования
планирование и проведение компьютерных экспериментов с моделью объекта
проверка адекватности модели
построение и идентификация модели объекта
формализованное описание объекта
планирование и проведение экспериментов с объектом для получения информации, необходимой для его формали-зации
постановка задачи моделирования, определение цели моделирования, критериев ее достижения и ограничений
Одним из важных принципов формализации является обеспечение адекватности модели объекту.
Последний шаг структуризации объекта – построение системы отношений (взаимозависимостей) между выбранными элементами.
Следующий шаг – выбор совокупности характеристик, параметров (свойств) таким образом, чтобы они обеспечивали удобство определения искомых элементов при исследовании объектов методом моделирования и давали возможность получить достаточно простую модель.
В первую очередь необходимо решить вопрос о разбиении исследуемого объекта или явления на взаимосвязанные части (элементы).
Структуру определяют как совокупность устойчивых связей объекта, обеспечивающих его целостность и тождественность самому себе, т.е. сохранение основных свойств при различных внутренних и внешних изменениях.
Основой процесса формализации является структурирование объекта моделирования.
знаковые (информационные)
предметные (материальные)
сенсуальные (для описания чувств, эмоций, воздействия на людей)
информационные (для разработки методов управления)
гносеологические (для установления законов природы)
детерминированные модели
стохастические (вероятностные) модели
неадаптивные
адаптивные
динамические (учитывающие эти изменения)
статические (не учитывающие изменений процессов во времени)
и другие модели
физические
экономические
социологические
биологические
модель создается для получения новой информации об объекте
модель является либо представлением (реальным, воображаемым или изобразительным), либо описанием некоторых свойств объекта
любая модель строится в соответствии с некоторой целью
любая модель каким-то образом соответствует объекту
обязательное наличие объекта, для которого строится (конструируется) модель
Мы будем понимать под моделью условный образ объекта исследования, конструируемый исследователем так, чтобы отобразить характеристики объекта (свойства, взаимосвязи, параметры), существенные для исследования.
модель – это такая система (множество), элементы которой находятся в отношении подобия (гомоморфизма, изоморфизма) к элементам некоторой другой (моделируемой) системы
модель – это такая мысленно представляемая или материально реализованная система, которая отображая или воспроизводя объект исследования, способна замещать его так, что ее изучение дает нам новую информацию об этом объекте
модель – это новый объект (реальный, информационный или воображаемый), отличный от исходного, который обладает существенными для целей моделирования свойствами и в рамках этих целей полностью заменяет исходный объект
модель – это новый объект, который отражает некоторые стороны изучаемого объекта или явления, существенные с точки зрения цели моделирования
модель – это некий объект-заместитель, который в определенных условиях может заменять объект-оригинал, воспроизводя интересующие нас его свойства и характеристики, причем имеет существенные преимущества или удобства
модель – это физический или информационный аналог объекта, функционирование которого по определенным параметрам подобно функционированию реального объекта
модель – это схема, изображение или описание какого-либо явления или процесса в природе и обществе
модель – это воспроизведение предмета в уменьшенном или увеличенном виде (макет);
модель – это некоторое упрощенное подобие реального объекта