русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Введение


Дата добавления: 2014-11-28; просмотров: 717; Нарушение авторских прав


Наша практическая деятельность всюду связана с системными задачами, включающими проектирование, создание, эксплуатация и совершенствование объектов различного назначения и сложности. Методологической и методической основой для решения этих задач служит прикладной системный анализ, ставший научной парадигмой и инструментарием для выработки, принятия и реализации проектных, плановых и управленческих решений.

Бурное развитие вычислительной техники, методов моделирования, оптимизации и искусственного интеллекта позволило широко внедрить в практику анализа и синтеза систем методы машинного моделирования (машинной имитации) для целей описания, объяснения и предсказания поведения проектируемых или подлежащих совершенствованию систем и их компонентов, проведения структурной, алгоритмической и параметрической оптимизации.

Приведенные в данном разделе работы иллюстрируют эту возможность применительно к системам обслуживания, функционирующим в обычном и замкнутом режимах, а также в режиме разделения времени (РРВ).

Методы математического моделирования (аналитического или имитационного) нашли широкое применение в современных системных исследованиях в связи с проектированием, созданием, эксплуатацией и совершенствованием систем различного назначения и их компонентов.

В контексте решения задач системного анализа и синтеза эти методы позволяют описать и объяснить процессы и явления в интересующих нас технических и/или организационных системах, поставить полноценные машинные эксперименты, сопоставить и оценить различные плановые, проектные или управленческие решения с целью выбора наиболее предпочтительного из них.

В тех случаях, когда исследуемые объекты подвержены воздействию случайных факторов внутреннего или внешнего происхождения, неоценимую помощь оказывают методы статистического моделирования. Основная идея этих методов заключается в том, что с помощью так называемых псевдослучайных чисел (ПCЧ) моделируются случайные факторы различного происхождения (непрерывные и дискретные случайные величины, процессы, события и т.д.) с заданными вероятностными характеристиками (обычно, плотностью распределения вероятностей и функцией вероятности), затем эти же факторы используются для моделирования, синтеза и анализа систем и их компонентов.



Особенно плодотворно методы статистического (или вероятностного) моделирования применяются к классу объектов, которые характеризуются процессами обслуживания. К ним, в частности, относятся телефонные системы, сети передачи данных, ремонтные мастерские, транспортные системы, вычислительные системы коллективного пользования , другие объекты.

Характерной особенностью этих разнородных по содержанию систем является то, что на их вход поступают определенные потоки «заявок», которые нуждаются в обслуживании, и имеется ряд обслуживающих станций (приборов, каналов и т.д.), которые обслуживают эти заявки. В условиях реальной работы либо станции простаивают, либо заявки долго ждут своего обслуживания. И то, и другое состояние связаны с нежелательными потерями (издержками), поэтому важной задачей моделирования и исследования таких объектов является выбор стратегии обслуживания, которая минимизирует совокупные системные издержки, т.е. обеспечит более эффективное их функционирование в конкретных ситуациях.

В настоящее время нашли широкое применение для машинного моделирования процесса функционирования различных динамических систем, к числу которых относятся и системы массового обслуживания (СМО), такие языки имитационного моделирования (ЯИМ), как DYNAMO, MIMIC, SIMULA, SIMSCRIPT, SOL, SLENG, CSH, BOSS, GPSS, GASP.

С помощью этих моделирующих средств создается удобство программирования на ЭВМ процесса функционирования проектируемой или подлежащей совершенствованию системы, что играет весьма важную роль при проведении машинных имитационных экспериментах с моделями систем. С другой стороны, появляется концептуальная направленность языка на класс систем, необходимая на этапе построения модели системы и выборе общего направления исследования на основе планирования и проведения машинного эксперимента [1].

Все работы данного раздела выполнены в среде процедурного языка многоцелевого назначения GPSS (General Purpose Simulating System), поэтому в следующем разделе приводятся необходимые сведения об этом языке и его функциональных возможностях. Более подробную информацию о системе GPSS и возможностях программирования в ее среде дискретных динамических систем с вероятностным поведением можно найти в работах [4 - 6, 11].

 

3.1. Система GPSS и технология имитационного моделирования в ее среде

GPSS представляет собой интерпретирующую языковую систему, предназначенную для описания и обработки пространственного и временного движения объектов – транзактов (термин «транзакция» означает «то, что обрабатывается»), являющихся конкретными элементами потока (процесса). В процессе имитации транзакты создаются, проходят через машинную модель объекта, воздействуя на ее блоки, и уничтожаются. При этом, функциональный аппарат языка образуют блоки, описывающие логику модели путем сообщения транзактам, куда им двигаться и что делать дальше. Переход транзактов приписывается к определенному моменту системного времени, что вызывает изменение состояния модели в пространстве и во времени.

В концептуальном плане взаимодействие элементов GPSS как сложной системы и технология моделирования систем происходит следующим образом [2]:

а) сущности системы моделируются (описываются и обрабатываются) с помощью некоторых атрибутов языка;

б) атрибуты взаимодействуют с процессами, адекватными реально протекающим явлениям в моделируемой системе;

в) процессы требуют конкретных условий, определяющих логическую основу и последовательность взаимодействия этих процессов во времени;

г) условия влияют на события, имеющие место внутри объекта моделирования и при взаимодействии с внешней средой;

д) события изменяют состояния модели в пространстве и во времени.

Эта логика свойственна всем языкам имитационного моделирования, в том числе и GPSS.

По своим возможностям и пользовательским предпочтениям GPSS уступает лишь SIMULA и SIMSCRIPT, а по простоте даже доминирует над ними.

Модель в GPSS создается из отдельных элементов, которые называются объектами. Выделяются семь классов GPSS - объектов:

1) динамические объекты (транзакты или сообщения), которые создаются, вводятся в модель, обслуживаются, задерживаются, накапливаются, уничтожаются, и т.д.;

2) статические объекты (оборудования);

3) статистические объекты (таблицы, очереди);

4) вычислительные объекты (переменные, функции);

5) операционные блоки, выполняющие различные операции над транзактами;

6) объекты для ссылок (ячейки и матрицы ячеек);

7) списки (например, пользователей, группы).

Динамические объекты (транзакты) имитируют различные объекты реального мира, требующие обслуживание. В процессе моделирования они входят в модель в случайные моменты времени (иногда и в фиксированные моменты) в соответствии с логикой работы. Далее они перемещаются между различным блоками, задерживаются в них (ожидание в очереди, обслуживание прибором и т.д.), изменяют направление движения, выводятся из модели после обслуживания. Как и другие объекты GPSS, динамические объекты имеют числовые характеристики, называемые стандартными числовыми атрибутами.

С помощью статических объектов имитируются обслуживающие транзактов оборудования: одноканальные устройства – приборы, многоканальные устройства (накопители или памяти) и логические ключи.

Статистические объекты – очереди позволяют получить информацию о длине очереди, времени ожидания и т.д. Другая группа объектов – таблиц позволяет получить необходимое отображение результатов, например, в виде гистограммы.

Особую важность представляет моделирование времени, точнее – вывод масштаба времени в GPSS – модели. Масштаб изображения времени выбирается пользователем и сохраняется во всей модели. В GPSS – модели используются два таймера: абсолютное модельное время и относительное модельное время (АС1 и АС2 соответственно как стандартные числовые атрибуты). Они изменяются системой автоматически. Индикатор абсолютного времени содержит общее время моделирования и устанавливается в ноль с помощью оператора языка CLEAR. Второй индикатор содержит текущее значение относительного времени после начала моделирования или после последнего сброса в ноль, что осуществляется с помощью операторов RESET или CLEAR.

Все объекты GPSS имеют свои специфические изображения со стандартными числовыми атрибутами.

Приведем краткое описание управляющих операторов языка:

START [A, B, C, D] служит для запуска процесса моделирования. Операнд А задает значение счетчика завершения, определяющего момент окончания моделирования, В выводит или блокирует вывод статистики. Операнд С обычно не используется, а D определяет необходимость вывода содержимого списков текущих и будущих событий. Моделирование продолжается до обнуления счетчика завершения, содержимое которого уменьшается блоком TERMINATE;

END завершает работу модели и возвращает управление операционной системе;

INITIAL используется для задания начальных значений ячеек, элементов матриц и логических ключей;

RESET используется для сброса в ноль статистики и некоторых атрибутов системы, устанавливает в ноль значение абсолютного момента времени и счетчики блоков для обработки транзактов, изменения направления их движения;

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

RMULT задает начальные значения множителей для датчиков случайных чисел с целью получения в процессе моделирования некоррелированных друг с другом последовательностей случайных чисел;

SIMULATE ограничивает реальное время моделирования, задаваемое в минутах (реальное время моделирования), после чего работа модели останавливается;

EQU присваивает числовые значения тем символьным именам (переменным), которые использовались в модели.

В системе GPSS предусмотрен процесс активного диалога пользователя с (*), который начинается непосредственно после запуска файла GPSSPC.EXE. Диалог осуществляется с помощью таких средств системы, как

- редактор исходных текстов на языке GPSS;

- редактор выходной статистики;

- команды GPSS.PC;

- виртуальные окна;

- микроокна.

Создание и внесение изменений в тексты уже существующих программ осуществляется с помощью редактора исходных текстов в окне данных DATA WINDOW. В этом же окне отображается информация, связанная с работой ряда команд GPSS. Окно данных открывается либо командой WINDOW DATA, либо одновременным нажатием клавиш [ALT] и [D].

Необходимо обратить внимание на порядок введения информации с клавиатуры. Каждая командная строка разбивается на отдельные поля, и редактор текстов выдает в начале каждого поля строки специальную подсказку. Начало строки отмечается символом «>», поле метки – символом «L», а поле операции – символом «V». Поля операндов отмечаются символами ряда (A, B, C, D, E, F, G, H). Символами «X», «Z» и «O» отмечаются внутренние операнды оператора, если они имеются, поле описания функций в операторах описания функций, и поле описания логических указателей или операторов отношений соответственно. Переход к очередному полю происходит с помощью клавиши SPACE (пробел). Функциональная клавиша ENTER (ввод) позволяет перейти к следующей команде. Команда SAVE <имя программы> позволяет сохранить в памяти созданную программу, а команда EDIT <номер строки>позволяет отредактировать любую строку. Формат этих команд имеет вид, например, SAVE EXPON.GPS и EDIT 50 соответственно. Запуск любой программы на исполнение можно также в окне данных с помощью команды @<имя программы>, например, @EXPON.GPS. С помощью команды DELETE можно уничтожить любую строку программы.

Доступ к другим окнам и данным осуществляется следующим образом.

Окно блоков BLOKS WINDOW служит для графического отображения блок – схемы (логической схемы) модели, войти в которое можно одновременным нажатием клавиш [ALT] и [B]. В этом же окне можно вызвать строку трассировки (клавиши [ALT], [L]). Повторное нажатие клавиш [ALT] и [L] отменяет трассировку.

Окно устройств FACILITIES WINDOW предназначено для графического отображения состояния приборов обслуживания: отображается имя прибора, его загрузка, очередь к нему и статистика: Ut – коэффициент использования; Q – число задержанных транзактов; индикатор доступа (Avail) и занятости (Busy); Av.Time – среднее время пребывания в приборе; Owner – номер транзакта, занимающего прибор. Доступ к данному окну осуществляется с помощью клавиш [ALT] и [F].

Окно многоканальных устройств (накопителей) содержит информацию об индикаторе доступности (Available), проценте загрузки накопителя Part Used и загрузке накопителя в текущий момент Content. Окно доступно при нажатии клавиш [ALT] и [S].

Окно матриц MATRICES WINDOW содержит лишь информацию об одной матрице. Если она имеет большие размеры, можно ее листать с помощью клавиш [PgUp] и [PgDn]. Доступ в окно происходит клавишами [ALT] и [M].

Окно таблиц TABLES WINDOW служит для отображения выходных данных в виде гистограммы, которая становится доступной с помощью клавиш [ALT] и [T].

После завершения процесса моделирования формируется файл отчета и появляется сообщение «reporting-…», в момент выдачи которого недопустимо вмешательство с клавиатуры.

Редактор выходной статистики создает отчет в файле GPSSREPT.EXE, загрузка которого возможна только после выхода из выполненной GPSS – программы. Сама первая строка этого файла имеет вид <START TIME, END TIME, BLOKS FACILITIES, STORAGES FREE MEMORY>. Первые два параметра строки отображают абсолютное модельное время в момент начала моделирования и абсолютное время в момент обнуления счетчика завершений. Далее следуют: количество блоков, использованных в текущей модели к моменту завершения (BLOKS); количество используемых приборов (FACIITIES); количество используемых накопителей (STORAGES); количество свободных байтов памяти (FREE MEMORY).

Следующая страница файла содержит информацию об именах, просматриваемых системой GPSS.PC в ходе моделирования в виде <NAME, VALUE, TYPE>, где NAME – имена, содержащиеся в модели, VALUE – численные значения этих имен, TYPE – параметр, нулевое значение которого означает, что значение имен задается пользователем, значение 2 означает, что значение имени задает система, а 3 означает, что это есть имя блока.

Блоки текущей модели описываются в виде <LINE, LOC, BLOCK TIPE, ENTRY COUNT, CURRENT COUNT, RETRY>. В этой строке: LINE – имя строки в рабочей модели; LOC – имя или номер блока, BLOCK TIPE – тип блока, ENTRY COUNT – число транзактов, вошедших в данный блок, CURRENT COUNT – число транзактов, находящихся в блоке в конце моделирования, RETRY – число транзактов, ожидающих специальных условий, которые зависят от состояния данного блока. Далее следует информация о состоянии имеющихся в модели приборов, очереди, накопителей.

Информация о таблицах имеет формат <TABLE, NAME, STD.DEV., RETRY, RANGE, FREQUENCY, CUM%>. В этой строке: TABLE – имя или номер таблицы; NAME – среднее взвешенное значение табулируемого аргумента; STD.DEV.

– взвешенное среднеквадратическое отклонение; RANGE – верхний и нижний пределы частотных классов; FREQUENCY – суммарная величина, которая формируется при попадании аргумента в указанные границы; CUM% - величина частоты в процентах к общему количеству значений табулируемого аргумента. Для выхода из данного файла необходимо просмотреть его до конца, листая с помощью клавиши «ПРОБЕЛ», затем нажать на «ВВОД».



<== предыдущая лекция | следующая лекция ==>
Численная иллюстрация результатов моделирования | А) Краткое теоретическое введение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.081 сек.