50012 (Разработка средств моделирования систем), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка средств моделирования систем", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50012"

Текст 2 страницы из документа "50012"

Режимы перехода рассматриваются следующие:

    • режим безусловной передачи;

    • режим статистической передачи;

    • режим 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 (Уничтожить, терминировать)

Служит для удаления транзактов из модели по завершении их обработки. Производит подсчет выведенных из модели транзактов, уменьшая величину специального счетчика - счетчика завершений.

Формат: , где: А - величина, на которую будет уменьшен счетчик завершений.

2.7 SEIZE (завладеть), RELEASE (освободить)

Оператор SEIZE, является парным с оператором RELEASE, использование их по одиночке не допустимо. Имена, записываемые в операнде А пары должны быть идентичны. Оператор служит приглашением ко входу в одно из устройств модели. Транзакт, подойдя к блоку SEIZE, пытается занять устройство, названное в операторе. Если устройство занято, транзакт ожидает освобождения устройства перед этим оператором. Перед оператором SEIZE может находиться любое количество транзактов. При попадании первого транзакта на обслуживание в устройство, происходит переключение, осуществляемое программой, запрещающее вход в устройство до окончания обслуживания.

Формат:,где А - имя (или номер) устройства.

Функция оператора RELEASE - моделировать освобождение устройства. Пройдя обслуживание в операторе ADVANCE, и исполнив, оператор RELEASE, транзакт переключает поименованное в операторе устройство из положения «занято» в положение «свободно» и разрешает вход в ADVANCE, первому из транзактов, ожидающих перед оператором SEIZE .

Формат: ,где А - имя (или номер) устройства.

2.8 ENTER ( войти), LEAVE (отпустить)

Эта пара операторов выполняет те же функции, что и SEIZE и RELEASE, но не для устройств, а для STORAGE - «хранилищ», то есть для ресурсов, к которым может обращаться более одного транзакта. Такие объекты могут быть полезны при моделировании, например, распараллеленного процесса: обработки потока деталей на нескольких одинаковых станках, выхода публики из театра через несколько дверей и т.д. Эти «хранилища», или устройства параллельной обработки, должны быть предварительно описаны в программе при помощи оператора описания STORAGE (см. ниже). По логике своей работы связки операторов SEIZE – ADVANCE – RELEASE; ENTER- ADVANCE- LEAVE; абсолютно одинаковы, но употребляются для разных объектов.

2.9 FUNCTION ( функционировать )

Используется для определения характера функции, связывающей независимую переменную с рядом зависимых величин. Эта связь может иметь непрерывный или дискретный вид. Кроме того функция может быть представлена в символьном виде, когда значение функции вычисляется из выражения, приводимого в списке. Формат FUNCTION имеет вид:

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 - не имеет значения по умолчанию, отсутствие ярлыка приводит к ошибке компиляции. Ярлык является идентификатором памяти, ёмкость которой определяется. При этом формате можно определить только одну память.

А - не имеет значения по умолчанию, отсутствие приводит к ошибке компиляции. Операнд определяет ёмкость памяти, т.е. число моделируемых устройств обслуживания. Необходимо иметь в виду, что в этом формате можно использовать одну единицу ёмкости в заданный момент времени.

Приведём примеры записи:

1. SAM STORAGE 10,

2. 3 STORAGE 5.

В первом примере памяти SAM определяется ёмкость 10 , во втором примере памяти за номером 3 определяется ёмкость 5.

Используя многоканальное обслуживание можно не определять STORAGE, в этом случае ёмкость по умолчанию практически равна бесконечности ( а именно , 2147483647 ).

При записи во втором формате - - можно определять несколько памятей сразу. Определитель памяти представляет пары обозначений, разделённых запятой, между собой пары отделяются слешем. Вначале пишется символ памяти, а затем её имя – первый член пары, после запятой пишется операнд А,В, характеризующий ёмкость памяти второй член пары. Символ S может быть отделён от имени памяти символом $ или имя может быть включено в круглые скобки, памяти одинаковой ёмкости могут записываться через тире.

Рассмотрим пример GPSS-ной модели и текст программы на языке GPSS, соответствующий этой модели.

  1. Представим модель графически (рисунок 2.1)


B1 B2 B3


- генератор

-накопитель

- устройство

Рисунок 2.1

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее