Разработка средств моделирования систем
Понятие, основные задачи и функции общей теории систем как науки. Формулирование требований к системе, разработка концептуальной модели системы на примере системы массового обслуживания (СМО). Проектирование имитационной модели, ее реализация и испытание.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.12.2010 |
Размер файла | 131,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования Республики Беларусь
Учреждение образования
«Брестский государственный технический университет»
Кафедра «Интеллектуальные информационные технологии»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту по дисциплине:
«Общая теория систем»
на тему:
«Разработка средств моделирования систем»
КП.ИИ5.08876-02 81 00
Разработала:
студентка ФЭИС группы ИИ5
Шумко Т.В.
Руководитель: Муравьев Г.Л.
Н.контроль: Муравьев Г.Л.
Брест 2010
Содержание
ВВЕДЕНИЕ
1 Анализ задания
1.1 Формулирование требований к системе
1.2 Разработка концептуальной модели системы
2 Разработка имитационной модели
3 Проектирование системы
4 Реализация системы
5 Испытание и тестирование системы
Заключение
Список литературы
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ В
Введение
Общая теория систем (ОТС) - это научное направление, которое занимается разработкой философских, методологических, научно-теоретических и практических проблем, связанных с анализом и синтезом систем. Это междисциплинарная наука, которая предназначена для целостного познания окружающего мира.
Развитие ОТС предопределяется опытом всего человечества, начиная от античных времен. Причины ее возникновения связаны с многокачественностью, многомерностью, разнопорядковостью реальной действительности, а также с укрупнением и усложнением исследуемых объектов, потребностью перехода от простого аналитического подхода в исследовании к системному.
Общая теория систем - специально-научная и логико-методологическая концепция исследования объектов, представляющих собой системы. ОТС тесно связана с системным подходом и является конкретизацией и логикометодологическим выражением его принципов и методов.
Основными задачами ОТС являются изучение, типология, классификация систем, изучение системообразующих и системоразрушающих факторов, выявление общих законов и закономерностей структуры и функций систем.
Одной из самых распространенных систем моделирования является система общецелевого назначения GPSS. В этой системе подход к описанию моделей функциональный, способ продвижения модельного времени - событийный, метод реализации квазипаралельностей - транзактный.
GPSS - GeneralPurposeSimulationSystem, то есть общецелевая система моделирования. Это средство предоставляет пользователю возможность создавать и «испытывать» имитационные модели различных по своему физическому устройству и назначению систем. Необходимо только, чтобы решаемая с помощью моделирования задача могла быть описана средствами теории систем массового обслуживания (СМО). Строго говоря, под это определение подпадают объекты, процесс функционирования которых можно представить в виде состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области.
Система массового обслуживания - система, которая производит обслуживание какого-либо поступающего в неё потока заявок.
В теории систем массового обслуживания, обслуживаемый объект называют требованием. В общем случае под требованием обычно понимают запрос на удовлетворение некоторой потребности, например, разговор с абонентом, посадка самолета, покупка билета, получение материалов на складе.
Средства, обслуживающие требования, называются обслуживающими устройствами или каналами обслуживания.
В СМО рассматриваются такие случаи, когда поступление требований происходит через случайные промежутки времени, а продолжительность обслуживания требований не является постоянной, т.е. носит случайный характер. В силу этих причин одним из основных методов математического описания СМО является аппарат теории случайных процессов.
Основной задачей теории СМО является изучение режима функционирования обслуживающей системы и исследование явлений, возникающих в процессе обслуживания. Так, одной из характеристик обслуживающей системы является время пребывания требования в очереди. Очевидно, что это время можно сократить за счет увеличения количества обслуживающих устройств. Однако каждое дополнительное устройство требует определенных материальных затрат, при этом увеличивается время бездействия обслуживающего устройства из-за отсутствия требований на обслуживание, что также является негативным явлением. Следовательно, в теории СМО возникают задачи оптимизации: каким образом достичь определенного уровня обслуживания (максимального сокращения очереди или потерь требований) при минимальных затратах, связанных с простоем обслуживающих устройств.
1 Анализ задания
1.1 Формулирование требований к системе
Задача анализа рассматривается как задача проверки того, обладает ли построенная система заранее указанными свойствами.
Комплекс заранее указанных свойств, которыми должна обладать проектируемая система, подразделяется на два подытоживающих свойства, называемых работоспособностью и эффективностью.
Работоспособность системы состоит в правильном выполнении заданных функций, т.е. в правильной реализации заданного множества алгоритмов обработки информации.
Эффективность системы заключается в ограниченности или минимальности разного рода затрат, связанных с изготовлением и применением.
Моделирование - один из наиболее распространенных методов исследования процессов функционирования сложных систем. Известно достаточно большое количество методов построения математических моделей и средств реализации моделирующих алгоритмов.
Основная задача моделирования заключается в том, чтобы на момент запуска моделируемой системы и в течение всего времени ее эксплуатации можно было обеспечить:
- требуемую функциональность системы и степень адаптации к изменяющимся условиям ее функционирования;
- требуемую пропускную способность системы;
- требуемое время реакции системы на запрос;
- безотказную работу системы в требуемом режиме, иными словами - готовность и доступность системы для обработки запросов пользователей;
- простоту эксплуатации и поддержки системы;
- необходимую безопасность.
Программный продукт GPSS является одним из наиболее популярных языков для имитационного моделирования, в котором можно получить любые свойства моделируемого объекта, однако, чтобы описать с помощью него модель, необходимо затратить немалые усилия. Для того чтобы упростить пользователю описание однотипной системы, можно написать программу, которая выполняет построение этой системы в виде текста на GPSS.
По условию задания, к системе должны предъявляться следующие требования:
- описания систем в терминах сетей массового обслуживания;
В терминах систем массового обслуживания описываются многие реальные системы: вычислительные системы, узлы сетей связи, магазины, производственные участки - любые системы, где возможны очереди и отказы в обслуживании.
В вычислительной системе роль обслуживающего прибора играет ЭВМ, роль заявок - решаемые задачи. Источником заявок служат терминалы пользователей. Моментом выдачи заявки является момент нажатия клавиши для подачи директивы о запуске задачи на решение. Операционная системы ЭВМ исполняет роль диспетчера: определяет очередность решения задач. В роли ячеек буфера выступают ячейки памяти ЭВМ, хранящие сведения о задачах, требующих решения.
СМО представляет собой совокупность конечного числа обслуживающих узлов, в которой циркулируют заявки, переходящие в соответствии с маршрутной матрицей из одного узла в другой. Узел всегда является разомкнутой СМО. При этом отдельные СМО отображают функционально самостоятельные части реальной системы, связи между СМО - структуру системы, а требования, циркулирующие по СМО, - составляющие материальных потоков (сообщения (пакеты) в коммуникационной сети, задания в мультипроцессорных системах, контейнеры грузопотоков и т.п.).
Теория массового обслуживания связана с разработкой и анализом математических, т.е. абстрактных, моделей, которые описывают процесс обслуживания некоторых объектов, поступающих на вход обслуживающего прибора в виде некоторого потока, и образующего в общем случае очередь на входе обслуживающего прибора.
- рассматриваются сети замкнутые и разомкнутые;
Разомкнутая сеть - это такая отрытая сеть, в которую заявки поступают из внешней среды и уходят после обслуживания из сети во внешнюю среду. Другими словами, особенностью разомкнутой СМО является наличие одного или нескольких независимых внешних источников, которые генерируют заявки, поступающие в сеть, независимо от того, сколько заявок уже находится в сети. В любой момент времени в разомкнутой СМО может находиться произвольное число заявок (от 0 до Ґ).
В замкнутой СМО циркулирует фиксированное число заявок, а внешний независимый источник отсутствует. Исходя из физических соображений, в замкнутой СМО выбирается внешняя дуга, на которой отмечается псевдонулевая точка, относительно которой могут измеряться временные характеристики.
- система должна обеспечивать ввод и анализ корректности параметров систем;
При вводе параметров, необходимых для реализации системы, проверяется их корректность и если параметр введён неверно, то пользователя просят повторить ввод но уже нового параметра.
- система должна обеспечивать генерацию отчётов.
В системе моделирования GPSSW предусмотрен стандартный отчет, в котором выводятся результаты моделирования.
Стандартный отчет включает в себя результаты моделирования системы, например такие, как:
- коэффициент использования канала обслуживания;
- средняя длина очереди;
- среднее время пребывания требования в очереди и ряд других.
1.2 Разработка концептуальной модели системы
Разработка концептуальной модели подразумевает в себе определение структуры моделируемой системы, свойства ее элементов и причинно-следственные связи, присущие этой системе.
На этапе построения концептуальной модели проводится разбиение системы на элементы, допускающиу удобное математическое или алгоритмическое описание, определяются связи между элементами.
В данном курсовом проекте рассматриваются различные вариации систем массового обслуживания (СМО). СМО являются подклассом стохастических сетевых моделей (ССМ).
СМО состоит:
- из обслуживающих узлов(используются только устройства);
- из маршрутных узлов(используются только вероятностные или вообще не используются).
СМО подразделяются на линейные и нелинейные. Сеть массового обслуживания является линейной, если выполняется условие:интенсивность заявок на входе в любую СМО определяется линеной суперпозицией потоков других СМО. Другими словами, не должно быть дулирования или удаления элементов потоков.
Линейные сети масового обслуживания в свою очередь подразделяются на разомкнутые и замкнутые. Вразомкнутой СМО есть только одиночные генераторы. Взамкнутой СМО могут быть только одиночные генераторы.
Рисунок 1.2.1 Модель замкнутой СМО
В замкнутых СМО (рисунок1.2.1) обслуженные заявки в общем случае после некоторой временной задержки , снова поступают на вход СМО.
Разомкнутые и замкнутые СМО могут быть как однородными, так и неоднородными. В однородных сетях может быть только один тип заявок. В неоднородных сетях соответственно может быть несколько типов заявок.
СМО подразделяются так же на экспоненциальные и неэкспоненциальные.В экспоненциальных сетях входные потоки Пуасоновские, законы распределения длительности обслуживания в каждом устройстве экспоненциальные. В неэкспоненциальных сетях массового обслуживания входной закон или длительности обслуживания в каждом устройстве, или и то и другое распределены не по экспоненциальным законам.
В рамках выполнения курсовой работы ограничимся рассмотрением линейных замкнутых и разомкнутых СМО. В них используются следующие узлы:
- генератор;
- вероятностный узел;
- приёмник.
Вероятностный узел определяет маршрут прохождения заявки, в зависимости от вероятности перехода, заданной в матрице переходов.
Режимы перехода рассматриваются следующие:
- режим безусловной передачи;
- режим статистической передачи;
- режим BOTH;
- режим ALL;
Сеть считается заданной, если задана структура сети и потоки заявок.
Структура сети определяется через задание количества узлов и матрицу вероятностей перехода между узлами.
Для источников (генераторов) заявок указываемзакон поступления заявок (входной поток):
- бета (Beta);
- биномиальное (Binomial);
- Вейбулла (Weibull);
- дискретно-равномерное (DiscreteUniform);
- гамма (Gamma);
- геометрическое (Geometric);
- Лапласа (Laplace);
- логистическое (Logistic);
- логлапласово (LogLaplace);
- логлогистическое (LogLogistic);
- логнормальное (LogNormal);
- нормальное (Normal);
- обратное Вейбулла (InverseWeibull);
- обратное Гаусса (InverseGaussian);
- отрицательное биномиальное (NegativeBinomial);
- Парето (Pareto);
- Пирсонатипа V (Pearson Type V);
- Пирсонатипа VI (Pearson Type VI);
- Пуассона (Poisson);
- равномерное (Uniform);
- треугольное (Triangular);
- экспоненциальное (Exponential);
- экстремального значения A (ExtremeValue A);
- экстремального значения В (ExtremeValue В).
Приемник уничтожает заявки по одной.
Структура соединения узлов задается с помощью матрицы переходов, размером N*N, где N - количество узлов в сети. Элемент матрицы показывает, с какой вероятностью заявка после обслуживания в одном устройстве перейдет к обслуживанию в другом устройстве.
Так же необходимо указать количество заявок, которые полностью пройдут через сеть.
Для упрощения реализации задания сперва смоделируем различные вариации СМО на GPSS WORLD и затем на основе полученного результата помтроим программу на MicrosoftVisualStudio C++.
Рассмотрим следующие виды СМО:
- одноканальная замкнутая смо с одним устройством;
- одноканальная замкнутаясмо с несколькими устройствами;
- одноканальная замкнутая смо с несколькими устройствами;
- одноканальная разомкнутая смо с одним устройством;
- одноканальная разомкнутая смо с несколькими устройствами;
- одноканальная разомкнутая смо с обратной связью;
- одноканальная разомкнутая смо с обратными связями и несколькими устройствами;
- одноканальная разомкнутая смо с вероятностным узлом;
- одноканальная разомкнутая смо с двумя входными потоками;
- многоканальная замкнутая смо;
- многоканальная разомкнутая смо;
- многоканальная разомкнутая смо с несколькими устройствами.
2 Разработка имитационной модели
При имитационном моделировании необходимо заменить исходный объект новым, в котором воспроизведены все черты исходного объекта: состав объекта, информационные потоки, управление.
Имитационное моделирование - это способ получения с помощью ЭВМ статистических данных о процессах, происходящих в моделируемом объекте.
Реализуемая система должна должна генерировать входной язык (GPSS) для системы моделирования GPSSWorld.
Входной язык GPSS будет включать операторы (блоки), которые служат для описания модели, управляют редактором и режимом моделирования.
Текст нашей программы будит состоять только из управляющих операторов, которые описывают блоки модели. Они приводят к определенному действию и влияют на процесс моделирования.
Рассмотрим управляющие операторы, которые будем использовать для описания системы.
2.1 Операторы управления модельным временем
В разрабатываемой модели будем использовать только оператор START.
Формат оператора:START A, где А - значение счетчика завершения (количество заявок, которое должно пройти через сеть до завершения моделирования).
2.2 Датчики или генераторы транзактов
Формат оператора:GENERATE A, B, C, D, E,где А - определяет время, через которое появляется новый транзакт,В - модификатор времени, через которое появляется новый транзакт.
Если В не вызов функции, то В задает разбежку генерируемых по равномерному закону значений.
С - время задержки первого транзакта.
D - предельное количество генерируемых заявок (по умолчанию бесконечность).
Е - приоритет всех генерируемых транзактов.
Вместо параметра А так же могут задаваться специальные встроенные функции GPSS.
2.3 Для имитации обслуживания в устройстве используем оператор ADVANCE.
Формат оператора:ADVANCE A, В, гдеА - среднее время обслуживания заявки на устройстве, В - разбежка среднего времени обслуживания при равномерном обслуживании в устройстве (если отсутствует, то используется дискретный закон) .
2.4 Операторы управления маршрутными узлами
В программе оператор TRANSFER:TRANSFER А, В, где В - метка,А - вероятность перехода по метке В.
2.5 Операторы управления объектами сбора статистики
QUEUE A - войти в очередь А.
DEPART A - выйти из очереди А.
При прохождении транзакты не задерживаются. Эти операторы не влияют на логику работы модели. Любой транзакт может войти во сколько угодно очередей без ограничений.
2.6 TERMINATE (Уничтожить, терминировать)
Служит для удаления транзактов из модели по завершении их обработки. Производит подсчет выведенных из модели транзактов, уменьшая величину специального счетчика - счетчика завершений.
Формат: <TERMINATE [A]>, где: А - величина, на которую будет уменьшен счетчик завершений.
2.7 SEIZE (завладеть), RELEASE (освободить)
Оператор SEIZE, является парным с оператором RELEASE, использование их по одиночке не допустимо. Имена, записываемые в операнде А пары должны быть идентичны. Оператор служит приглашением ко входу в одно из устройств модели. Транзакт, подойдя к блоку SEIZE, пытается занять устройство, названное в операторе. Если устройство занято, транзакт ожидает освобождения устройства перед этим оператором. Перед оператором SEIZE может находиться любое количество транзактов. При попадании первого транзакта на обслуживание в устройство, происходит переключение, осуществляемое программой, запрещающее вход в устройство до окончания обслуживания.
Формат:< SEIZE А>,где А - имя (или номер) устройства.
Функция оператора RELEASE - моделировать освобождение устройства. Пройдя обслуживание в операторе ADVANCE, и исполнив, оператор RELEASE, транзакт переключает поименованное в операторе устройство из положения «занято» в положение «свободно» и разрешает вход в ADVANCE, первому из транзактов, ожидающих перед оператором SEIZE .
Формат: <RELEASE А>,где А - имя (или номер) устройства.
2.8 ENTER ( войти), LEAVE (отпустить)
Эта пара операторов выполняет те же функции, что и SEIZE и RELEASE, но не для устройств, а для STORAGE - «хранилищ», то есть для ресурсов, к которым может обращаться более одного транзакта. Такие объекты могут быть полезны при моделировании, например, распараллеленного процесса: обработки потока деталей на нескольких одинаковых станках, выхода публики из театра через несколько дверей и т.д. Эти «хранилища», или устройства параллельной обработки, должны быть предварительно описаны в программе при помощи оператора описания STORAGE (см. ниже). По логике своей работы связки операторов SEIZE - ADVANCE - RELEASE; ENTER- ADVANCE- LEAVE; абсолютно одинаковы, но употребляются для разных объектов.
2.9 FUNCTION ( функционировать )
Используется для определения характера функции, связывающей независимую переменную с рядом зависимых величин. Эта связь может иметь непрерывный или дискретный вид. Кроме того функция может быть представлена в символьном виде, когда значение функции вычисляется из выражения, приводимого в списке. Формат FUNCTION имеет вид:
<label FUNCTION A,B,[C] основной формат
X1,Y1/X2,Y2/,…/Xn,Yn> точки функции
Label - ярлык употребляется в обязательном порядке и служит для идентификации функции .
А - не имеет значения по умолчанию, определяет независимую переменную функции (аргумент), например, если используется равномерное распределение и БСВ берётся с 3-го генератора, то запись будет иметь вид RN3 (randomnumber). Операнд может кодироваться дополнительным выражением. Единственным ограничением является то, что аргумент не может прямо или косвенно ссылаться на функцию для которой он является независимой переменной. Значения функции могут задаваться числом с плавающей точкой.
B - не имеет значения по умолчанию, состоит из двух символов ( без пробела), первый из которых представляет собой обозначение типа функции, вида: C- непрерывная числовая, D - дискретная числовая, L - список числовых значений, E - дискретная символьная, M - список дискретных символов, S- селектор объектов; второй символ представляет собой целое число связанных пар значений функции, которые представляют собой точки функции и приводятся во второй строке описания формата. Если используется символ S, то он уточняется операндом С, используемым только в этом случае .
С - по умолчанию равен 0, применяется для перечисления типов объектов, если используются объекты разных типов, то приводятся их символы, разделяемые запятой без пробелов.
Рассмотрим пример записи функции :
SERVTIME FUNCTION RN7,D5
2,4/.55,7.5/.7,10.5/.8,13.5/1,16.5
2.10 STORAGE (Запомнить )
Используется для определения ёмкости одной или нескольких памятей. Исполнение STORAGE (впрочем, как и всех рассмотренных ) происходит только после успешного завершения процесса компиляции, при этом вводится в действие оговорённое число ресурсовSTORAGE . STORAGE в силу своей специфики должен располагаться в модуле описания, до того как началось движение транзактов, так как после компиляции программа последовательно исполняет все, стоящие до первого START. Формат STORAGE может быть представлен двумя способами :
<label STORAGE A >,
Label - не имеет значения по умолчанию, отсутствие ярлыка приводит к ошибке компиляции. Ярлык является идентификатором памяти, ёмкость которой определяется. При этом формате можно определить только одну память.
А - не имеет значения по умолчанию, отсутствие приводит к ошибке компиляции. Операнд определяет ёмкость памяти, т.е. число моделируемых устройств обслуживания. Необходимо иметь в виду, что в этом формате можно использовать одну единицу ёмкости в заданный момент времени.
Приведём примеры записи:
1. SAM STORAGE 10,
2. 3 STORAGE 5.
В первом примере памяти SAM определяется ёмкость 10 , во втором примере памяти за номером 3 определяется ёмкость 5.
Используя многоканальное обслуживание можно не определять STORAGE, в этом случае ёмкость по умолчанию практически равна бесконечности ( а именно , 2147483647 ).
При записи во втором формате - <STORAGESname1,A/Sname2, B/Sname3,C … > - можно определять несколько памятей сразу. Определитель памяти представляет пары обозначений, разделённых запятой, между собой пары отделяются слешем. Вначале пишется символ памяти, а затем её имя - первый член пары, после запятой пишется операнд А,В, характеризующий ёмкость памяти второй член пары. Символ S может быть отделён от имени памяти символом $ или имя может быть включено в круглые скобки, памяти одинаковой ёмкости могут записываться через тире.
Рассмотрим пример GPSS-ной модели и текст программы на языке GPSS, соответствующий этой модели.
1 Представим модель графически (рисунок 2.1)
B1 B2 B3
- генератор
-накопитель
- устройство
Рисунок 2.1
Опишем сеть аналитически.
Количество узлов - 5.
1 узел - для источника (генератора) заявок.Закон поступления заявок -равномерный;
2 узел - обслуживающее устройство. Закон обслуживания - экспоненциальный;
3 узел - обслуживающее устройство. Закон обслуживания - экспоненциальный;
4 узел - обслуживающее устройство. Закон обслуживания - экспоненциальный;
5 узел - приемник. Поглощает по 1 заявке.
Матрица переходов для примера сети представлена на рисунке 2.2
- |
1 |
2 |
3 |
4 |
5 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
2 |
0 |
0 |
1 |
0 |
0 |
|
3 |
0 |
0,9 |
0 |
0,1 |
0 |
|
4 |
0,9 |
0 |
0 |
0 |
0,1 |
|
5 |
0 |
0 |
0 |
0 |
1 |
Рисунок 2.2 Матрица переходов для примера сети.
Модель на языке GPSSдолжна выглядеть так:
GENERATE 10
L3 QUEUE 1
SEIZE B1
DEPART 1
ADVANCE (EXPONENTIAL(1,0,2.1))
RELEASE B1
L1 QUEUE 1
SEIZE B2
DEPART 1
ADVANCE (EXPONENTIAL(1,0,6))
RELEASE B2
TRANSFER 0.9,L2,L1
L2 QUEUE 1
SEIZE B3
DEPART 1
ADVANCE (EXPONENTIAL(1,0,10))
RELEASE B3
TRANSFER 0.9,L4,L3
L4 TERMINATE 1
START 1000
Занесём данный текст в программу GPSS WORLD и получим стандартный отчёт.
В отчете собираются следующие статистические данные:
- START TIME - начальное значение времени моделирования;
- END TIME - конечное значение времени моделирование;
- BLOCKS - число блоков, использованных при моделировании;
- FACILITIES - число устройств, использованных при моделировании;
- STORAGE - число многоканальных устройств, использованных при моделировании.
Информация об устройствах содержит следующие колонки:
- FACILITY - имя устройства;
- ENTRIES - количество транзактов, входивших в устройство;
- UTIL. - коэффициент загрузки устройства;
- AVE.TIME - среднее время пребывания транзакта в устройстве;
- AVAILABLE - состояние устройства в момент окончания моделирования (1 - устройство доступно, 0 - недоступно);
- OWNER - номер последнего транзакта, вошедшего в устройство;
- PEND - количество транзактов, ожидающих выхода устройства из режима прерывания;
- INTER - количество транзактов, пребывание которых в устройстве было прервано;
- RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного устройства;
- DELAY - количество транзактов, ожидающих возможности входа в устройство (обычно это транзакты, находящиеся в очереди);
Информация об очередях содержит следующие колонки:
- QUEUE - имя очереди;
- MAX - максимальная длина очереди (т.е. количество транзактов в ней) за время моделирования;
- CONT.- длина очереди в момент окончания моделирования;
- ENTRIES - количество транзактов, входивших в очередь;
- ENTRIES(0) - количество транзактов, которым не потребовалось ждать в данной очереди (нулевые входы);
- AVE.CONT.- средняя длина очереди;
- AVE.TIME - среднее время пребывания транзактов в очереди;
- AVE.(-0) - среднее время пребывания транзактов в очереди без учета нулевых входов (т.е. без учета транзактов с нулевым временем пребывания в очереди);
- RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данной очереди.
3 Проектирование системы
В окончательном виде любая программа представляет собой набор инструкций процессора. Всё, что написано на любом языке программирования, - более удобная, упрощённая запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записывается одни и те же действия.
С ростом объёма программы становится невозможным удерживать в памяти все детали, и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы.
Первым шагом к повышению абстракции является использование функции. Следующий шаг - описание собственных типов данных, позволяющих структурировать и группировать информацию.
Объединение в модули описаний типов данных и функций, предназначенных для работы с ними, со скрытием от пользователя модуля несущественных деталей, является дальнейшим развитием структуризации программы.
Введение понятия класса является естественным развитием идей модульности. В классе структуры данных и функции их обработки объединяются. Класс используется только через его интерфейс - детали реализации для пользователя класса несущественны.
Класс является типом данных, определяемым пользователем. В классе задаются свойства и поведение какого-либо предмета или процесса в виде полей данных (аналогично структуре) и функции для работы с ними. Создаваемый тип данных обладает практически теми же свойствами, что и стандартные типы. В нашей программе мы использовали три класса:
- Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.
В зависимости от выбранной пользователем функции вызывается соответствующий ей метод класса FuncStandart. Вызванный метод отправляет на консоль запрос пользователю на ввод параметров выбранной функции. В зависимости от введенныхпараметров, метод генерирует строку, содержащуюописание стандартной функции с уже заданными параметрами на языке имитационного моделирования GPSS.
- Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.В зависимости от матрицы, сгенерированной в методе Matrixкласса GPSSText, вызываются соответствующие методы класса GPSSOperatori. Все методы класса возвращают строковое значение, содержащее описание требуемых операторов языка имитационного моделирования GPSS. Причем стандартные функции, которые используются в операторах как параметры, генерируются в классе FuncStandart.
- Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS. Во-первых, метод класса Matrix, выводит на консоль запрос об операторах узлов, содержащихся в имитационной модели и о движении транзакта по соответствующим узлам. В зависимости от полученных данных генерируется матрица переходов. Во-вторых, в методе Programma, по матрице переходов совершается соответствующий вызов метода классаGPSSOperatori. В конечном итоге, результат работы программы записывается в файл GPSStext.txt. Этот файл содержит окончательно сгенерированный текст программы на языке имитациооного моделирования GPSS.
Идея классов является основой объектно-ориентированного программирования.
Основными свойствами ООП является инкапсуляция, наследование и полиморфизм.
Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации называется инкапсуляцией.
Наследование - это возможность создания иерархии классов, когда потоки наследуют все свойства своих предков, могут их изменять и добавлять новые.
Полиморфизм - возможность использования в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.
В нашей программе используется первые два свойства ООП.
Проектирование объектно-ориентированной программы представляет собой весьма сложную задачу, поскольку в процесс добавляется ещё один важный этап - разработка иерархий классов.
Представим иерархию классовнашей программы (рисунок 3.1)
Рисунок 3.1
4 РЕАЛИЗАЦИЯ СИСТЕМЫ
Как ранее уже описывалось, программа состоит из трёх классов:
- Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.
- Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.
- Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS.
4.1 Класс FuncStandart
-
- Метод stringfBETA() задает параметры функцииBETA(Stream,Min,Max,Shape1,Shape2) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfBINOMIAL()задает параметры функции BINOMIAL(Stream,TrialCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfDUNIFORM()задает параметры функции DUNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringf_1() задает параметры функций EXPONENTIAL(Stream,Locate,Scale), EXTVALA(Stream,Locate,Scale), EXTVALB(Stream,Locate,Scale), LAPLACE(Stream,Locate,Scale), LOGISTIC(Stream,Locate,Scale)и возвращает строку содержащую описание этих параметров с уже заданными пользователем значениями.
- Методstring f_2() задаетпараметрыфункцийGAMMA(Stream,Locate,Scale,Shape), INVGAUSS(Stream,Locate,Scale,Shape), INVWEIBULL(Stream,Locate,Scale,Shape), OGLAPLACE(Stream,Locate,Scale,Shape), LOGLOGIS(Stream,Locate,Scale,Shape),LOGNORMAL(Stream,Locate,Scale,Shape),PEARSON5(Stream,Locate,Scale,Shape),WEIBULL(Stream,Locate,Scale,Shape)ивозвращаетстрокусодержащуюописаниеэтихпараметровсужезаданнымипользователемзначениями.
- Метод stringfGEOMETRIC()задает параметры функции GEOMETRIC(Stream,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfNEGBINOM()задает параметры функции NEGBINOM(Stream,SuccessCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfNORMAL()задает параметры функции NORMAL(Stream,Mean,StdDev) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfPARETO()задает параметры функции PARETO(Stream,Locate,Scale) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод string fPEARSON6()задает параметры функции PEARSON6(Stream,Locate,Scale,Shape1,Shape2) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfPOISSON()задает параметры функции POISSON(Stream,Mean) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfTRIANGULAR()задает параметры функции
- TRIANGULAR(Stream,Min,Max,Mode) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
- Метод stringfUNIFORM() задает параметры функции UNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
4.2 Класс GPSSOperatori
- Описываются переменные целого типа nF, nST, nFas, nQ, ответственные за номер используемой функции, номер многоканального устройства, номер одноканального устройства, номер очереди соответственно.
- МетодGENERATE задаёт параметры оператора GENERATE и возвращает строковое значение этого оператора с заданными пользователем значениями параметров.
На первом этапе определяется промежуток времени между появлениями транзактов. Он может быть: постоянным, случайным, заданным функцией, зависящим от функции, а также не задан.
При промежутке времени между появлениями транзактов заданном функцией или зависящем от функции, определяется, какой будет функция: стандартной или пользовательской, в зависимости от этого вызываются функцииFStandи FUNCTIONсоответственно.
На втором этапе определяется время задержки появления первого транзакта. Оно может быть: задано или не задано.
На третьем этапе определяется предельное число транзактов.Оно так же может быть: задано или не задано.
На четвёртом этапе определяется приоритет транзактов. Он может быть: задан или не задан.
- Метод ADVANCE задаёт параметры оператора ADVANCE и возвращает строковое значение этого оператора с заданными пользователем значениями параметров.
В методе определяется время задержки транзакта. Оно может быть: постоянным, случайным, заданным функцией, зависящим от функции.
При времени задержки транзакта заданном функцией или зависящем от функции, определяется, какой будет функция: стандартной или пользовательской, в зависимости от этого вызываются функцииFStandи FUNCTIONсоответственно.
- Метод ENTER возвращает строку содержащую операторы языка имитационного моделирования GPSS, описывающие многоканальное устройство.
На первом этапе в файл GPSStext.txt (файл для записи сгенерированного текста программы на языке имитационного моделирования GPSS) записывается описание многоканального устройства, то есть его имя и количество каналов.
На втором этапе определяется, на каком шаге программы пользователь желает получить статистику: нахождение транзакта в очереди перед ОУ, нахождение транзакта в ОУ, общее время обработки транзакта, а также возможен вариант без сбора статистики.
На третьем этапе записывается оператор захвата многоканального устройства с названием этого устройства и количеством захвачиваемых каналов.
На четвёртом этапе происходит переход на генерацию текста оператора ADVANCE .
На пятом этапе записывается оператор освобождения многоканального устройства с названием этого устройства и количеством освобождаемых каналов.
- Метод SIZE возвращает строку содержащую операторы языка имитационного моделирования GPSS, описывающие одноканальное устройство.
На первом этапе определяется, на каком шаге программы пользователь желает получить статистику: нахождение транзакта в очереди перед ОУ, нахождение транзакта в ОУ, общее время обработки транзакта, а также возможен вариант без сбора статистики.
На втором этапе записывается оператор захвата одноканального устройства с названием этого устройства.
На третьем этапе происходит переход на генерацию текста оператора ADVANCE .
На четвертом этапе записывается оператор освобождения одноканального устройства с названием этого устройства.
- Метод FUNCTION задаёт параметры оператора FUNCTION и возвращает строковое значение этого оператора с заданными пользователем значениями параметров.
В файл GPSStext.txtна первом этапе записывается номер генератора случайного числа; на втором этапе тип функции; на третьем число точек и их координаты.
- Метод Fstandartопределяет, какая стандартная функция будут вызываться, то есть обращается в класс FuncStandart, и возвращает строку, содержащую описание этой функции.
4.3 Класс GPSSText
- Переменные oper, ukazat, matrix типа vectorнаходящиеся в области private,определяют операторы принадлежащие узлам, указатели на узлы, матрицу переходов от одного узла к другому соответственно.
- Метод Matrix генерирует матрицу переходов от одного узла к другому, а также определяет, какие операторы принадлежат узлам.
На первом этапе определяется оператор на соответствующем узле.
На втором этапе в соответствии с номером узла, определяется, какая строка будет генерироваться в матрице.
Если узел содержит генератор, одноканальное либо многоканальное устройство, то в столбец с номером узла, в который переходит дальше транзакт, записывается 1, в остальные столбцы записывается 0.
Если узел вероятностный, то в столбцы с номерами узлов, на которые совершается переход, записывается соответствующая вероятность, в остальные столбцы записываются нули.
Если узел является терминатором, то в соответствующую строку записываются все нули.
Причем, при каждом описании узла, в вектор operзаписывается оператор, соответствующий узлу.
- Метод Programma окончательно генерирует текст программы, написанной на языке имитационного моделирования GPSS.
На первом этапе вызывается метод Matrix, который заполняет матрицу переходов и вектор операторов.
На втором этапе определяются узлы, на которых будут стоять указатели.
На третьем генерируется программа в соответствии с матрицей, операторами и указателями.
В конце программы выводится текст, подтверждающий корректное ее завершение, а также название файла, хранящего текст программы, написанной на языке имитационного моделирования GPSS.
5 ИСПЫТАНИЕ И ТЕСТИРОВАНИЕ СИСТЕМЫ
Для испытания и тестирования системы мы рассмотрели четыре контрольных модели.
С помощью программы, написанной на MicrosoftVisualStudioC++, мы получили GPSSтекст и сохранили его в файлGPSStext.txt.
Запустив сгенерированную программув GPSSWorld мы получили отчёт.
Рассмотрим тестовые четыре модели.
Модель 1(рисунок 5.1)
2
1
Рисунок 5.1
Система включает в себя два узла:
1 узел - генератор с постоянным законом поступления заявок и с заданной задержкой первой заявки (транзакта).
2 узел - одноканальное обслуживающее устройство с постоянным законом распределения времени обслуживания заявок.
Задана обратная связь на ОУ. Сбор статистики осуществляется перед ОУ.
Работа программы для данной модели выглядит следующим образом:
Количество узлов: 2
Введите оператор 1 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 1
На какой узел идет: 2
Введите оператор 2 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 2
На какой узел идет: 2
Промежуток времени между появлениями транзактов:
1 - Постоянный;
2 - Случайный;
3 - Задан функцией;
4 - Зависит от функции;
5 - Не задан;
Ваш выбор:1
Время между появлениями транзактов: 23
Время задержки появления первого транзакта:
1 - задано;
2 - не задано;
Ваш выбор: 1
Время: 2
Предельное число таранзактов:
1 - задано;
2 - не задано;
Ваш выбор: 2
Приоритет транзактов:
1 - задан;
2 - не задан;
Ваш выбор: 2
Узел 2
Время задержки транзакта:
1 - Постоянное;
2 - Случайное;
3 - Задано функцией;
4 - Зависит от функции;
Ваш выбор:1
Время задержки: 24
Сбор статистики:
1 - нахождение в очереди перед ОУ;
2 - нахождение в ОУ;
3 - общее время обработки транзакта (1+2);
4 - не требуется;
Ваш выбор: 1
Сбор статистики:
1 - нахождение в очереди перед ОУ;
2 - нахождение в ОУ;
3 - общее время обработки транзакта (1+2);
4 - не требуется;
Ваш выбор: 4
#####################################################
## Работа программы закончена! ##
## Tекст программы находится в файле GPSStext.txt! ##
#####################################################
Содержимоефайла “GPSStext.txt”:
GENERATE 23,,2
U_2 QUEUEQ_1
SEIZE Fas_1
DEPART Q_1
ADVANCE 24
RELEASE Fas_1
TRANSFER ,U_2
Отчет:
GPSS World Simulation Report - Untitled Model 1.1.1
Monday, December 20, 2010 00:46:21
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 480000.000 9 1 0
NAME VALUE
F_1 10001.000
Q_1 10000.000
U_2 2.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 20870 0 0
U_2 2 QUEUE 40869 20869 0
3 SEIZE 20000 0 0
4 DEPART 20000 0 0
5 ADVANCE 20000 1 0
6 RELEASE 19999 0 0
7 TRANSFER 19999 0 0
8 GENERATE 1000 0 0
9 TERMINATE 1000 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
F_1 20000 1.000 24.000 1 2564 0 0 0 20869
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
Q_1 20869 20869 40869 1 10434.196 122547.993 122550.991 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
2564 0 480002.000 2564 5 6
21871 0 480012.000 21871 0 1
21872 0 480480.000 21872 0 8
Модель 2 (рисунок 5.2)
1 2 3
Рисунок 5.2
Система включает в себя два узла:
1 узел - генератор со случайным законом поступления заявок.
2 узел - одноканальное обслуживающее устройство сослучайным законом распределения времени обслуживания заявок. После, обслуживание заканчивается.
3 узел - терминатор.
Сбор статистики осуществляется в ОУ.
Работа программы для данной модели выглядит следующим образом:
Количество узлов: 3
Введите оператор 1 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 1
На какой узел идет: 2
Введите оператор 2 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 2
На какой узел идет: 3
Введите оператор 3 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 5
Промежуток времени между появлениями транзактов:
1 - Постоянный;
2 - Случайный;
3 - Задан функцией;
4 - Зависит от функции;
5 - Не задан;
Ваш выбор:2
Среднее время между появлениями транзактов: 23
+/-: 3
Время задержки появления первого транзакта:
1 - задано;
2 - не задано;
Ваш выбор: 3
Введено неверно!!!
Ваш выбор: 2
Предельное число таранзактов:
1 - задано;
2 - не задано;
Ваш выбор: 2
Приоритет транзактов:
1 - задан;
2 - не задан;
Ваш выбор: 2
Узел 2
Время задержки транзакта:
1 - Постоянное;
2 - Случайное;
3 - Задано функцией;
4 - Зависит от функции;
Ваш выбор:2
Среднее время задержки: 34
+/-: 4
Сбор статистики:
1 - нахождение в очереди перед ОУ;
2 - нахождение в ОУ;
3 - общее время обработки транзакта (1+2);
4 - не требуется;
Ваш выбор: 2
Сбор статистики:
1 - нахождение в очереди перед ОУ;
2 - нахождение в ОУ;
3 - общее время обработки транзакта (1+2);
4 - не требуется;
Ваш выбор: 4
Узел 3
Сколько транзактов извлечь: 1
#####################################################
## Работа программы закончена! ##
## Tекст программы находится в файле GPSStext.txt! ##
#####################################################
Содержимоефайла “GPSStext.txt”:
GENERATE 23,3
SEIZE Fas_1
QUEUE Q_1
ADVANCE 34,4
DEPART Q_1
RELEASE Fas_1
TERMINATE 1
Отчет:
GPSS World Simulation Report - Untitled Model 1.2.1
Monday, December 20, 2010 01:04:42
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 34037.787 7 1 0
NAME VALUE
F_1 10000.000
Q_1 10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 1482 481 0
2 SEIZE 1001 1 0
3 QUEUE 1000 0 0
4 ADVANCE 1000 0 0
5 DEPART 1000 0 0
6 RELEASE 1000 0 0
7 TERMINATE 1000 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
F_1 1001 0.999 33.979 1 1001 0 0 0 481
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
Q_1 1 0 1000 0 0.999 34.013 34.013 0
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
1001 0 22969.240 1001 2 3
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
1483 0 34058.351 1483 0 1
Модель 3(рисунок 5.3)
12 3 4
Рисунок 5.3
Система включает в себя два узла:
1 узел - генератор с экспоненциальным законом поступления заявок.
2 узел - одноканальное обслуживающее устройство с пуассоновским законом распределения времени обслуживания заявок.
3 узел - вероятностный, с вероятностью 0.2 транзакт идет на ОУ, иначе обслуживание завершается.
4 узел - терминатор (приемник).
Сбор статистики осуществляется перед ОУ и в ОУ.
Работа программы для данной модели выглядит следующим образом:
Количество узлов: 4
Введите оператор 1 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 1
На какой узел идет: 2
Введите оператор 2 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 2
На какой узел идет: 3
Введите оператор 3 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 4
На какой узел идет (по возрастанию): 2
Вероятность: 0.2
Второй узел: 4
Введите оператор 4 узла:
1 - генератор;
2 - одноканальное устройство;
3 - многоканальное устройство;
4 - вероятностный узел;
5 - терминатор;
Ваш выбор: 5
Промежуток времени между появлениями транзактов:
1 - Постоянный;
2 - Случайный;
3 - Задан функцией;
4 - Зависит от функции;
5 - Не задан;
Ваш выбор:3
1 - Стандартная функция;
2 - Пользовательская функция;
Ваш выбор: 1
1 - BETA(Stream,Min,Max,Shape1,Shape2);
2 - BINOMIAL(Stream,TrialCount,Probability);
3 - DUNIFORM(Stream,Min,Max);
4 - EXPONENTIAL(Stream,Locate,Scale);
5 - EXTVALA(Stream,Locate,Scale);
6 - EXTVALB(Stream,Locate,Scale);
7 - GAMMA(Stream,Locate,Scale,Shape);
8 - GEOMETRIC(Stream,Probability);
9 - INVGAUSS(Stream,Locate,Scale,Shape);
10 - INVWEIBULL(Stream,Locate,Scale,Shape);
11 - LAPLACE(Stream,Locate,Scale);
12 - LOGISTIC(Stream,Locate,Scale);
13 - LOGLAPLACE(Stream,Locate,Scale,Shape);
14 - LOGLOGIS(Stream,Locate,Scale,Shape);
15 - LOGNORMAL(Stream,Locate,Scale,Shape);
16 - NEGBINOM(Stream,SuccessCount,Probability);
17 - NORMAL(Stream,Mean,StdDev);
18 - PARETO(Stream,Locate,Scale );
19 - PEARSON5(Stream,Locate,Scale,Shape);
20 - PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );
21 - POISSON(Stream,Mean);
22 - TRIANGULAR(Stream,Min,Max,Mode);
23 - UNIFORM(Stream,Min,Max );
24 - WEIBULL(Stream,Locate,Scale,Shape );
Ваш выбор: 4
Stream (целое, больше либо равно 1): 1
Locate (вещественное): 0
Scale (положительное вещественное): 10
Время задержки появления первого транзакта:
1 - задано;
2 - не задано;
Ваш выбор: 2
Предельное число таранзактов:
1 - задано;
2 - не задано;
Ваш выбор: 2
Приоритет транзактов:
1 - задан;
2 - не задан;
Ваш выбор: 2
Узел 2
Время задержки транзакта:
1 - Постоянное;
2 - Случайное;
3 - Задано функцией;
4 - Зависит от функции;
Ваш выбор:3
1 - Стандартная функция;
2 - Пользовательская функция;
Вашвыбор: 1
1 - BETA(Stream,Min,Max,Shape1,Shape2);
2 - BINOMIAL(Stream,TrialCount,Probability);
3 - DUNIFORM(Stream,Min,Max);
4 - EXPONENTIAL(Stream,Locate,Scale);
5 - EXTVALA(Stream,Locate,Scale);
6 - EXTVALB(Stream,Locate,Scale);
7 - GAMMA(Stream,Locate,Scale,Shape);
8 - GEOMETRIC(Stream,Probability);
9 - INVGAUSS(Stream,Locate,Scale,Shape);
10 - INVWEIBULL(Stream,Locate,Scale,Shape);
11 - LAPLACE(Stream,Locate,Scale);
12 - LOGISTIC(Stream,Locate,Scale);
13 - LOGLAPLACE(Stream,Locate,Scale,Shape);
14 - LOGLOGIS(Stream,Locate,Scale,Shape);
15 - LOGNORMAL(Stream,Locate,Scale,Shape);
16 - NEGBINOM(Stream,SuccessCount,Probability);
17 - NORMAL(Stream,Mean,StdDev);
18 - PARETO(Stream,Locate,Scale );
19 - PEARSON5(Stream,Locate,Scale,Shape);
20 - PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );
21 - POISSON(Stream,Mean);
22 - TRIANGULAR(Stream,Min,Max,Mode);
23 - UNIFORM(Stream,Min,Max );
24 - WEIBULL(Stream,Locate,Scale,Shape );
Ваш выбор: 21
Stream (целое, больше либо равно 1): 2
Mean (положительное вещественное): 0.9
Сбор статистики:
1 - нахождение в очереди перед ОУ;
2 - нахождение в ОУ;
3 - общее время обработки транзакта (1+2);
Подобные документы
Определение основных параметров грузоперевозок, их организационная структура. Виды и функции имитационного моделирования. Разработка концептуальной модели перевозки грузов, ее представление в виде системы массового обслуживания и программная реализация.
курсовая работа [761,6 K], добавлен 22.01.2012Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.
контрольная работа [279,5 K], добавлен 16.03.2014Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.
курсовая работа [487,4 K], добавлен 18.12.2014Разработка решения задачи имитационного моделирования системы массового обслуживания (СМО), на примере склада продукции. Построение концептуальной модели системы. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [75,5 K], добавлен 26.06.2011Моделирование как основная функция вычислительных систем. Разработка концептуальной модели для системы массового обслуживания и ее формализация. Аналитический расчет и алгоритмизация модели, построение блок-диаграмм. Разработка и кодирование программы.
курсовая работа [164,8 K], добавлен 18.12.2011Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма".
курсовая работа [2,0 M], добавлен 20.01.2010Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.
реферат [1,2 M], добавлен 02.05.2012Практические навыки системного исследования реальной динамической сложной системы на основе построения ее имитационной модели. Автоматизация работы по расчету эффективности системы массового обслуживания с понятным интерфейсом. Выбор алгоритма решения.
курсовая работа [1,0 M], добавлен 18.08.2009Разработка концептуальной модели системы обработки информации для узла коммутации сообщений. Построение структурной и функциональной блок-схем системы. Программирование модели на языке GPSS/PC. Анализ экономической эффективности результатов моделирования.
курсовая работа [802,8 K], добавлен 04.03.2015Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы.
курсовая работа [499,6 K], добавлен 25.12.2013