Курсовая 3. Курсовой проект Смоленск 2008 Содержание Введение 4
Скачать 59.57 Kb.
|
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ системы распределенного банка данных Курсовой проект Смоленск 2008 Содержание Введение 4 GPSS World - комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования, обладающий высочайшим уровнем интерактивности и визуального представления информации. Данная система обладает сильной стороной такой как прозрачность для пользователя. 4 Прозрачность для пользователя ценна по трем причинам. Во-первых, опасно полагаться на непрозрачное моделирование типа «черный ящик», внутренние механизмы функционирования которого скрыты от пользователя. Мало того, что в этом случае нельзя быть уверенным, подходит ли оно для какого-либо конкретного случая, но и невозможно гарантировать, что оно работает, как задумано. Во-вторых, удачные имитационные модели являются очень ценными и пригодны в течение длительного периода времени. В-третьих, одним из наиболее эффективных, но наименее известных преимуществ компьютерного имитационного моделирования является возможность проникновения в самую суть поведения системы, когда опытный профессионал в области моделирования может видеть внутреннюю динамику в наиболее важные моменты времени процесса моделирования. 4 Так же система является объектно-ориентированным языком. 4 GPSS World сочетает в себе функции дискретного и непрерывного моделирования. Возможность перехода из дискретной фазы моделирования в непрерывную фазу и обратно обеспечивает тесную связь с непрерывным моделированием. В непрерывной фазе могут быть установлены пороговые значения, управляющие созданием транзактов в дискретной фазе. 4 Данная версия включает в себя массу нововведений, позволяющих проводить более эффективные исследования и сделать работу с системой максимально простой и удобной для пользователя. 4 Транслятор 5 Архитектура 5 Многозадачность 5 Виртуальная память 5 Интерактивность 6 Анимация 6 Язык моделирования 6 Нововведения 7 Полиморфные типы данных 8 Многомерные матрицы 9 Введение 6 Глава 1. 12 1.1 Техническое задание. 12 1.2 Анализ технического задания. 13 1.3. Формализация концептуальной модели… ………………………………14 1.4. Формализация Q-схемы. 15 1.5. Вывод. 16 Глава 2. 17 2.1. Блок-схема. 17 2.2. Эксперименты 18 2.3. Спецификация блоков моделирования. 27 1.5. Вывод. 29 Глава 3. 30 3.1. Анализ результатову модели. 30 3.2. Заключение 32 Литература. 33 ВведениеGPSS World - комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования, обладающий высочайшим уровнем интерактивности и визуального представления информации. Данная система обладает сильной стороной такой как прозрачность для пользователя. Прозрачность для пользователя ценна по трем причинам. Во-первых, опасно полагаться на непрозрачное моделирование типа «черный ящик», внутренние механизмы функционирования которого скрыты от пользователя. Мало того, что в этом случае нельзя быть уверенным, подходит ли оно для какого-либо конкретного случая, но и невозможно гарантировать, что оно работает, как задумано. Во-вторых, удачные имитационные модели являются очень ценными и пригодны в течение длительного периода времени. В-третьих, одним из наиболее эффективных, но наименее известных преимуществ компьютерного имитационного моделирования является возможность проникновения в самую суть поведения системы, когда опытный профессионал в области моделирования может видеть внутреннюю динамику в наиболее важные моменты времени процесса моделирования.Так же система является объектно-ориентированным языком.GPSS World сочетает в себе функции дискретного и непрерывного моделирования. Возможность перехода из дискретной фазы моделирования в непрерывную фазу и обратно обеспечивает тесную связь с непрерывным моделированием. В непрерывной фазе могут быть установлены пороговые значения, управляющие созданием транзактов в дискретной фазе.Данная версия включает в себя массу нововведений, позволяющих проводить более эффективные исследования и сделать работу с системой максимально простой и удобной для пользователя.ТрансляторВысокоэффективный транслятор является частью программы GPSS World, которая создает объекты «Процесс моделирования». Перед включением в объект «Процесс моделирования» все операторы модели проходят трансляцию. Точно так же интерактивные операторы транслируются в глобальной области видимости прежде, чем они будут переданы существующему объекту «Процесс моделирования». АрхитектураНа уровне интерфейса GPSS World представляет собой реализацию архитектуры «документ-вид», общей для всех приложений операционной системы Windows. Объекты могут быть открыты в нескольких окнах, изменены и сохранены на постоянных носителях информации. Привычное меню главного окна и блокировка недоступных команд меню, не отвлекая внимания, направляет пользователя к конечной цели. GPSS World был разработан с целью достичь тесной интерактивности даже в многозадачной среде с использованием виртуальной памяти. МногозадачностьМногопоточная архитектура GPSS World позволяет совместно запускать несколько процессов моделирования и экспериментов. Одновременно выполняются не только обновление окон, пользовательский ввод, дисковый ввод-вывод, печать и процесс моделирования, но также в одно и то же время может быть запущено любое количество процессов моделирования. Виртуальная памятьПроцессы моделирования непосредственно не ограничиваются размером физической памяти с произвольным доступом (ОЗУ), в которой выполняется объект «Процесс моделирования». Используя механизм виртуальной памяти, модели могут достигать размера до гигабайта. Количество объектов также ограничивается только обеспечиваемым размером файла подкачки. Для достижения оптимальной производительности необходимо использовать значительный объем реальной памяти. Выделение и управление памятью для объектов происходит невидимо для пользователя. Объекты автоматически создаются до тех пор, пока не потребуется дополнительная информация. ИнтерактивностьGPSS World поддерживает высокий уровень интерактивности даже во время процесса моделирования. Используя команду главного меню окна модели Command (Команда), ускоряющие клавиши или настройки модели, закрепляя за функциональными клавишами собственные команды, вы можете передавать существующему объекту «Процесс моделирования» любой оператор. Вы можете использовать диалоговое окно «Simulation Command» («Команда») для ввода операторов, отсутствующих в выпадающем меню, а с помощью команды INCLUDE вы можете посылать процессу моделирования интерактивные операторы любой сложности. АнимацияВ GPSS World существует ряд анимационных возможностей. Уровень их реализма изменяется от абстрактной визуализации, не требующей никаких усилий, до высоко реалистических динамических изображений, включающих в себя сложные элементы, созданные пользователем. Язык моделированияGPSS World является, общецелевой системой моделирования, со встроенным языком программирования PLUS – языком программирования низкого уровня моделирования. GPSS включает в себя 53 типа блоков и 25 команд, а также более чем 35 системных числовых атрибутов, которые обеспечивают текущие переменные состояния, доступные в любом месте модели. PLUS – это небольшой, но эффективный процедурный язык программирования, созданный из 12 типов операторов. Его эффективность во многом обеспечивается большой библиотекой процедур, содержащей математические функции и функции манипуляции со строками, и большого набора вероятностных распределений. В GPSS World модель определяется как последовательность операторов. Это операторы GPSS, операторы PLUS-процедур или операторы PLUS-экспериментов. За исключением списков данных функции, все операторы GPSS должны состоять из одной текстовой строки длиной до 250 символов. Любой оператор GPSS может входить в модель и сохраняться в файле модели или может быть передан процессу моделирования в интерактивном режиме. НововведенияК студенческой и коммерческой версии GPSS World были добавлены новые возможности, которые не имелись в GPSS PC: - Автоматический генератор отсеивающего эксперимента; - Автоматический генератор оптимизирующего эксперимента; - Теперь в студенческой версии доступны кадры состояния; - Библиотечная процедура дисперсионного анализа (ANOVA); - Переменное количество аргументов в процедуре PolyCatenate(); - Библиотечные процедуры динамического вызова внешних функций; - Возможность трассировки PLUS; - Пакетный режим работы; - Команда EXIT с различными режимами сохранения файлов; - Диалоговые окна создания блоков; - Настраиваемые интервалы табуляции; - PLUS-процедуры для операций с потоками данных. Новые СЧАНовый системный числовой атрибут А1 возвращает семейство активного транзакта. Его удобно использовать совместно с новым блоком ADOPT, который позволяет изменять семейство активного транзакта. Полиморфные типы данныхПеременные могут принимать значения одного из четырех типов. Переменные, управляемые пользователем, такие, как ячейки, элементы матриц, параметры транзактов и переменные пользователя, могут принимать целочисленное, вещественное, строковое и неопределенное значение. Значения времени могут быть целыми или вещественными двойной точности. Преобразования типов происходит автоматически. Процедуры, которые требуют в качестве аргумента значение определенного типа данных, принудительно преобразуют аргумент к соответствующему типу. Например, если вы передаёте строку процедуре, которая требует числовое значение, будет использован числовой эквивалент этой строки. Точно так же, если вы пытаетесь записать (WRITE) числовое значение, оно будет автоматически преобразовано в текстовую строку. Строковые величины имеют много вариантов использования. Они могут использоваться в потоках данных для создания отчетов и файлов с результатами, а также для прямого доступа к внутренним данным. Строковые константы обозначаются заключением строки между парой двойных кавычек. Для представления двойных кавычек внутри строки используется пара двойных кавычек. Например, для представления одной строки внутри другой строки необходимо использовать 6 символов кавычек. Внутренняя строка (подстрока) заключается между двумя парами двойных кавычек, а итоговая строка будет заключаться между еще одной парой двойных кавычек. Библиотека процедур содержит много строковых процедур, которые могут использоваться для создания и манипулирования строковыми данными. Теперь ячейкам и матрицам может быть присвоено значение UNSPECIFIED (неопределенный тип данных). Команда INITIAL позволяет присваивать это значение ячейкам, элементам матрицы и даже целым матрицам. Если элемент данных UNSPECIFIED был использован в операции, которая требует некоторого значения, произойдет останов по ошибке. Библиотечная процедура дисперсионного анализа (ANOVA) теперь распознает элементы UNSPECIFIED в матрице результатов как недоступные результаты прогонов эксперимента. Многомерные матрицыМатрицы могут иметь до 6 измерений. Динамические окна «Matrix» («Матрица») позволяют просматривать любые поперечные сечения матрицы, одновременно можно открыть любое количество таких окон. Для использования во время исполнения процедуры могут быть созданы временные матрицы. Для инициализации матрицы с тремя и более измерениями используются присваивающие PLUS-операторы 1.1 Техническое задание. Распределенный банк данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50 % необходимая информация обнаруживается на месте. В противном случае необходима посылка запроса во вторую ЭВМ. Запросы в систему поступают, через 10±3 сек. Первичная обработка запроса занимает время, равное 2 сек. Выдача ответа требует времени, 18±2 сек. Передача по каналу связи занимает время, равное 3 сек. Временные характеристики второй ЭВМ аналогичны первой. Смоделировать прохождение 400 запросов. Определить необходимую емкость накопителей перед ЭВМ, обеспечивающую безотказную работу системы, и функцию распределения времени обслуживания заявки. Самостоятельно выбрать критерии оценки и показатели расчета экономической эффективности работы системы. 1.2 Анализ технического задания Рассмотрев поставленную задачу, мы должны смоделировать работу базы данных на двух ЭВМ. При поступлении запроса на поиск определенной информации запрос отправляется на первый ЭВМ. При этом есть вероятность 50% что запрос не выполнится и тогда он адресуется на второй ЭВМ где подлежит обработке. Мы должны определить оптимальную емкость накопителей перед ЭВМ для того, чтобы не возникало очереди. Соответственно мы должны будем провести несколько экспериментов. Хочется обратить внимание на некоторые моменты задачи Во-первых, у нас дуплексный канал т.е. канал осуществляющий одновременно передачу сигналов в двух направлениях. Этот канал используется обычно когда требуется высокая пропускная способность. Во вторых надо разобраться в том как у нас будет двигаться запрос. Вначале мы проводим первичную обработку на 1 ЭВМ если запрос найден происходит выдача информации, в противном случае мы отправляем запрос на 2 ЭВМ затратив на это 3 секунды на передачу по каналу, далее происходит обработка и выдача информации которую мы отправляем обратно на 1 ЭВМ . В третьих для того чтобы получить информацию по оптимальной емкости накопителей, необходимо просчитать очереди возникающие перед ЭВМ. 1.3 Формализация концептуальной модели Концептуальную модель целесообразно представить в виде схемы, так как сущность модели, в принципе, уже ясна из постановки задачи. Таким образом, мы имеем следующую схему: Для моделирования задачи на GPSS необходимо определить: условия работы моделируемой системы; какие элементы GPSS надо использовать для удовлетворения условий модели. В данном случае есть три вида временных ограничивающих условий. Время первичной обработки. Время передачи по каналу связи и время выдачи ответа. 1.4 Формализация Q -схемы 1.5 Вывод В результате написания первой главы, более подробно была разобрано техническое задание определены этапы разработки программы, с помощью концептуальной модели, дающей общее представление о том что представляет из себя рассматриваемая модель и Q-схема, на которой ясно видна картина работы программы, отмечены ее основные этапы, и стало понятно как будет работать данная программа, и как будет выглядеть блок – схема модели. 2.1 Блок - схема Эксперименты Эксперимент 1 Листинг CPU_1 storage 1 ;объем накопителя 1 CPU_2 storage 1 ;объем накопителя 2 GENERATE 10,3 ;время поступления запроса в систему ADVANCE 2 ;предварительная обработка запроса TRANSFER 0.5,BLK1,BLK2 ;вероятностный переход BLK1 QUEUE o4 ;очередь ENTER CPU_1 ;устройство обработки 1 DEPART o4 ;вывод из очереди ADVANCE 18,2 ;задержка обработки LEAVE CPU_1 ;закрытие устройства SAVEVALUE bl1+,1 ;счетчик количества транзактов в 1 ЭВМ TERMINATE 1 BLK2 SEIZE 1 ADVANCE 3 ;задержка передачи по каналу связи RELEASE 1 ADVANCE 2 QUEUE o42 ENTER CPU_2 ;устройство обработки 2 DEPART o42 ADVANCE 18,2 ;задержка обработки LEAVE CPU_2 ;закрытие устройства 2 SEIZE 2 ADVANCE 3 RELEASE 2 SAVEVALUE bl2+,1 TERMINATE 1 start 400 Отчет 1 GPSS World Simulation Report - Untitled Model 1.3.1 Friday, June 13, 2008 11:58:12 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 4002.259 24 2 2 NAME VALUE BL1 10005.000 BL2 10004.000 BLK1 4.000 BLK2 11.000 CPU_1 10000.000 CPU_2 10001.000 O4 10003.000 O42 10002.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 403 0 0 2 ADVANCE 403 0 0 3 TRANSFER 403 0 0 BLK1 4 QUEUE 216 0 0 5 ENTER 216 0 0 6 DEPART 216 0 0 7 ADVANCE 216 0 0 8 LEAVE 216 0 0 9 SAVEVALUE 216 0 0 10 TERMINATE 216 0 0 BLK2 11 SEIZE 187 0 0 12 ADVANCE 187 0 0 13 RELEASE 187 0 0 14 ADVANCE 187 1 0 15 QUEUE 186 1 0 16 ENTER 185 0 0 17 DEPART 185 0 0 18 ADVANCE 185 1 0 19 LEAVE 184 0 0 20 SEIZE 184 0 0 21 ADVANCE 184 0 0 22 RELEASE 184 0 0 23 SAVEVALUE 184 0 0 24 TERMINATE 184 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 187 0.140 3.000 1 0 0 0 0 0 2 184 0.138 3.000 1 0 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY O42 4 1 186 51 0.660 14.203 19.569 0 O4 7 0 216 10 2.987 55.352 58.039 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY CPU_1 1 1 0 1 216 1 0.973 0.973 0 0 CPU_2 1 0 0 1 185 1 0.825 0.825 0 1 SAVEVALUE RETRY VALUE BL2 0 184.000 BL1 0 216.000 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 403 0 4003.124 403 14 15 401 0 4003.585 401 18 19 404 0 4006.922 404 0 1 Эксперимент 2 Листинг CPU_1 storage 1 ;объем накопителя 1 CPU_2 storage 2 ;объем накопителя 2 GENERATE 10,3 ;время поступления запроса в систему ADVANCE 2 ;предварительная обработка запроса TRANSFER 0.5,BLK1,BLK2 ;вероятностный переход BLK1 QUEUE o4 ;очередь ENTER CPU_1 ;устройство обработки 1 DEPART o4 ;вывод из очереди ADVANCE 18,2 ;задержка обработки LEAVE CPU_1 ;закрытие устройства SAVEVALUE bl1+,1 ;счетчик количества транзактов в 1 ЭВМ TERMINATE 1 BLK2 SEIZE 1 ADVANCE 3 ;задержка передачи по каналу связи RELEASE 1 ADVANCE 2 QUEUE o42 ENTER CPU_2 ;устройство обработки 2 DEPART o42 ADVANCE 18,2 ;задержка обработки LEAVE CPU_2 ;закрытие устройства 2 SEIZE 2 ADVANCE 3 RELEASE 2 SAVEVALUE bl2+,1 TERMINATE 1 start 400 Отчет 2 GPSS World Simulation Report - Untitled Model 1.4.1 Friday, June 13, 2008 11:59:11 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 4022.816 24 2 2 NAME VALUE BL1 10005.000 BL2 10004.000 BLK1 4.000 BLK2 11.000 CPU_1 10000.000 CPU_2 10001.000 O4 10003.000 O42 10002.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 403 0 0 2 ADVANCE 403 0 0 3 TRANSFER 403 0 0 BLK1 4 QUEUE 204 1 0 5 ENTER 203 0 0 6 DEPART 203 0 0 7 ADVANCE 203 1 0 8 LEAVE 202 0 0 9 SAVEVALUE 202 0 0 10 TERMINATE 202 0 0 BLK2 11 SEIZE 199 0 0 12 ADVANCE 199 0 0 13 RELEASE 199 0 0 14 ADVANCE 199 1 0 15 QUEUE 198 0 0 16 ENTER 198 0 0 17 DEPART 198 0 0 18 ADVANCE 198 0 0 19 LEAVE 198 0 0 20 SEIZE 198 0 0 21 ADVANCE 198 0 0 22 RELEASE 198 0 0 23 SAVEVALUE 198 0 0 24 TERMINATE 198 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 199 0.148 3.000 1 0 0 0 0 0 2 198 0.148 3.000 1 0 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY O42 1 0 198 189 0.003 0.054 1.179 0 O4 7 1 204 31 1.498 29.545 34.839 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY CPU_1 1 0 0 1 203 1 0.906 0.906 0 1 CPU_2 2 2 0 2 198 1 0.889 0.444 0 0 SAVEVALUE RETRY VALUE BL2 0 198.000 BL1 0 202.000 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 403 0 4023.125 403 14 15 404 0 4026.717 404 0 1 400 0 4029.845 400 7 8 Эксперимент 3 Листинг CPU_1 storage 2 ;объем накопителя 1 CPU_2 storage 2 ;объем накопителя 2 GENERATE 10,3 ;время поступления запроса в систему ADVANCE 2 ;предварительная обработка запроса TRANSFER 0.5,BLK1,BLK2 ;вероятностный переход BLK1 QUEUE o4 ;очередь ENTER CPU_1 ;устройство обработки 1 DEPART o4 ;вывод из очереди ADVANCE 18,2 ;задержка обработки LEAVE CPU_1 ;закрытие устройства SAVEVALUE bl1+,1 ;счетчик количества транзактов в 1 ЭВМ TERMINATE 1 BLK2 SEIZE 1 ADVANCE 3 ;задержка передачи по каналу связи RELEASE 1 ADVANCE 2 QUEUE o42 ENTER CPU_2 ;устройство обработки 2 DEPART o42 ADVANCE 18,2 ;задержка обработки LEAVE CPU_2 ;закрытие устройства 2 SEIZE 2 ADVANCE 3 RELEASE 2 SAVEVALUE bl2+,1 TERMINATE 1 start 400 Отчет 3 GPSS World Simulation Report - Untitled Model 1.5.1 Friday, June 13, 2008 12:00:43 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 4069.841 24 2 2 NAME VALUE BL1 10005.000 BL2 10004.000 BLK1 4.000 BLK2 11.000 CPU_1 10000.000 CPU_2 10001.000 O4 10003.000 O42 10002.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 402 0 0 2 ADVANCE 402 0 0 3 TRANSFER 402 0 0 BLK1 4 QUEUE 209 0 0 5 ENTER 209 0 0 6 DEPART 209 0 0 7 ADVANCE 209 0 0 8 LEAVE 209 0 0 9 SAVEVALUE 209 0 0 10 TERMINATE 209 0 0 BLK2 11 SEIZE 193 0 0 12 ADVANCE 193 0 0 13 RELEASE 193 0 0 14 ADVANCE 193 1 0 15 QUEUE 192 0 0 16 ENTER 192 0 0 17 DEPART 192 0 0 18 ADVANCE 192 1 0 19 LEAVE 191 0 0 20 SEIZE 191 0 0 21 ADVANCE 191 0 0 22 RELEASE 191 0 0 23 SAVEVALUE 191 0 0 24 TERMINATE 191 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 193 0.142 3.000 1 0 0 0 0 0 2 191 0.141 3.000 1 0 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY O42 1 0 192 180 0.003 0.070 1.115 0 O4 1 0 209 193 0.008 0.151 1.974 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY CPU_1 2 2 0 2 209 1 0.928 0.464 0 0 CPU_2 2 1 0 2 192 1 0.846 0.423 0 0 SAVEVALUE RETRY VALUE BL2 0 191.000 BL1 0 209.000 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 402 0 4070.059 402 14 15 403 0 4070.904 403 0 1 401 0 4075.848 401 18 19 2.3 Спецификация блоков модели Для создания транзактов, входящих в модель, служит блок GENERATE (генерировать), имеющий следующий формат: имя GENERATE A,B,C,D,E В поле A задается среднее значение интервала времени между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде модификатора-интервала или модификатора-функции. Модификатор-интервал используется, когда интервал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей. В этом случае в поле B может быть задан любой СЧА, кроме ссылки на функцию, а диапазон изменения интервала поступления имеет границы A-B, A+B. ADVANCEA,B – блок задерживает продвижение транзакта на заданный интервал времени. Его операнды: А – средний интервал времени. В – половина временного интервала или модификатор-функция. Блок TRANSFER (передать) служит для передачи входящих в него транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы, из которых рассмотрим здесь лишь три наиболее часто используемых. В этих трех режимах блок имеет следующий формат: имя TRANSFER A,B,C Смысл операндов в полях A, B и C зависит от режима работы блока. В режиме безусловной передачи поля A и C пусты, а в поле B указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Объекты типа очередь создаются в модели путем использования блоков - регистраторов очередей: QUEUE (стать в очередь) и DEPART (уйти из очереди), имеющих следующий формат: имя 0QUEUE A,B имя DEPART A,B В поле A указывается номер или имя очереди, а в поле B – число единиц, на которое текущая длина очереди увеличивается при входе транзакта в блок QUEUE или уменьшается при входе транзакта в блок DEPART. Обычно поле B пусто, и в этом случае его значение по умолчанию принимается равным 1. Для занятия и освобождения каналов обслуживания МКУ используется пара блоков ENTER (войти) и LEAVE (покинуть), имеющих следующий формат: имя ENTER A,B имя LEAVE A,B В поле A указывается номер или имя МКУ, в поле B число каналов МКУ, занимаемых при входе в блок ENTER или освобождаемых при входе в блок LEAVE. Обычно поле B пусто, и в этом случае по умолчанию занимается или освобождается один канал. При входе транзакта в блок ENTER текущее содержимое МКУ увеличивается на число единиц, указанное в поле B . Если свободная емкость МКУ меньше значения поля B, то транзакт не может войти в блок ENTER и остается в предыдущем блоке, образуя очередь в списке текущих событий. При входе транзакта в блок LEAVE текущее содержимое МКУ уменьшается на число единиц, указанное в поле B. Не обязательно освобождается такое же число каналов МКУ, какое занималось при входе данного транзакта в блок ENTER, однако текущее содержимое МКУ не должно становиться отрицательным. Для изменения сохраняемых величин в процессе моделирования служит блок SAVEVALUE (сохранить величину), имеющий следующий формат: имя SAVEVALUE A,B В поле A указывается номер или имя сохраняемой величины, в которую записывается значение операнда B. Если в поле A после имени (номера) сохраняемой величины стоит знак + или -, то значение операнда B добавляется или вычитается из текущего содержимого сохраняемой величины. 2.4 Вывод В результате работы со второй главой мной были рассмотрены и изучены следующие вопросы Построение блок-схемы на которой непосредственно видно как работает модель, какие в ней участвуют блоки и как наш транзакт их проходит В этой главе была построена модель. Так же во второй главе мы провели 3 эксперимента работы модели, на которых мы отчетливо видим, какого объема должны быть накопители перед ЭВМ для того чтобы перед ними не было очереди. И были более подробно рассмотрены используемые в модели блоки. 3.1 Анализ результатов моделирования Из отчета по первому эксперименту мы видим что в очереди перед первым ЭВМ у нас находиться 7 транзактов, а перед вторым 4, соответственно объем накопителей по единице не является оптимальным. Проводим 2 эксперимент, увеличивая емкость второго накопителя до двух. Из отчета второго эксперимента мы видим что перед вторым ЭВМ у нас нет очереди, а перед первым ЭВМ в очереди находиться 7 транзактов соответственно емкость первого накопителя не оптимальна. Проведем третий эксперимент увеличив емкость первого накопителя до двух. В отчете третьего эксперимента мы наблюдаем отсутствие очередей соответственно емкость накопителей по 2 является оптимальной, эти показатели и есть искомые в нашем техническом задание. Для более подробного анализа и выявление критериев оценки, смоделируем жизненную ситуацию. Допустим у нас существует предприятие, на котором дуплексным каналом связи соединены 2 компьютера. Компьютер директора фирмы и главного бухгалтера. От директора поступает запрос на его компьютер по поиску финансового отчета за май, с 50 процентной вероятностью данная информация находится на его компьютере, иначе запрос отправляется на компьютер главного бухгалтера. Естественно показателями эффективности будут: Время обработки запроса Время выдачи ответа Время передачи информации по каналу связи. Чем меньше будут данные показатели тем эффективнее работа. Рассмотрим на данном примере экономическую составляющую задачи. Естественно чем быстрее будет проходить информация по каналу, и чем быстрее будет происходить обработка, тем больше мы получим прибыли, но мы должны и учитывать затраты, которые будут потрачены на увеличение эффективности работы. Что ж проанализируем эти показатели с цифрами. Допустим установка новых процессоров на ЭВМ для увеличения скорости обработки стоит 3000 рублей для каждого ЭВМ соответственно, улучшение данного показателя экономит 10 секунд времени необходимого для выдачи информации, и соответственно первичная обработка уменьшается на 1 секунду. Для уменьшения времени прохождения по дуплексному каналу, мы устанавливаем более скоростной канал, это обходиться организации в 1500 рублей, и уменьшает время передачи до 1 секунды. Итого мы наши затраты 7500 рублей, при увеличении скорости: в случае когда запрос находит информацию на первом ЭВМ – на 11 секунд, когда запрос находит информацию на 2 ЭВМ – 15 секунд. Допустим что 1 секунда времени простоя обходиться организации в 5 рублей, т.е при поступлении 400 запросов, с вероятностью нахождения информации на первом ЭВМ 50 %, т.е. по результатам эксперимента 209 запросов выполняются на первом, и 191 на втором. Мы получаем экономию в размере 25820 рублей. Естественно мы видим что выгода не соизмерима. И в жизни иногда секунды решают судьбу крупных сделок, и потери будут колоссальны. 3.2 Заключение В результате исследования, было выяснено что с помощью языка программирования GPSS можно составить искомую модель и проанализировать результаты ее работы и экономическую эффективность модели. Она позволяет с помощью экспериментов оптимизировать затраты, и выбрать наиболее эффективную модель, для конкретных условий. Естественно в ходе работы был более подробно разобран данный язык программирования, я научился составлять Q-схемы и блок-схемы, которые упрощают работу с программой и позволяют еще без кодирования увидеть картину как у нас будет работать модель. Подводя итог данной работы можно сказать: что данный программный пакет должен обязательно быть у фирм занимающихся логистикой, бизнес – планированием и анализом бизнеса. И первоначальное мое знакомство с ней я думаю на этом не закончиться, и в будущем я буду использовать ее в сочетание с другими пакетами в своей работе. Список литературы Ю. И. Рыжиков «Имитационное моделирование» 2004г. В.Д. Боев «Моделирование систем. Инструментальные средства GPSS World» 2004г. www.gpss.ru www.minutemansofware.com http://gpss.nm.ru http://simulation.org.ua http://books.dore.ru/bs/f1bid1475.html http://www.sharebook.ru/tomash.htm |