Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Виды программного обеспечения. Основные требования, предъявляемые к программному обеспечению.

Содержание:

ВВЕДЕНИЕ

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

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

Из всех видов моделирования имитационное моделирование является едва ли не самым популярным средством, используемым на практике. Основная его ценность состоит в применении методологии системного анализа. Имитационное моделирование разрешает осуществить исследование анализируемой или проектируемой системы по схеме операционного исследования, которое содержит взаимосвязанные этапы:

– содержательная постановка задачи;

– разработка концептуальной модели;

– разработка и программная реализация имитационной модели; проверка правильности,

– достоверности модели и оценка точности результатов модели­рование;

– планирование и проведение экспериментов;

– принятие решений.

Это позволяет использовать имитационное моделирование как универсальный подход для принятия решений в условиях неопределенности c учетом в моделях трудно формализуемых факторов, А также применять основные принципы системного подхода для решения практических задач.

1 ОБЗОР ПОДХОДОВ

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

Известны три общих направления в научных исследованиях:

- экспериментальное исследование,

- теоретическое исследование,

- математическое моделирование.

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

Теоретические исследования. Теория имеет дело не с реальным объектом исследования, а с его идеализированным представлением (огрубленным), допускающим применение адекватного математического аппарата для форсированного описания объекта. Здесь исходной основой является некая совокупность фактов, полученная в результате наблюдений или натурного эксперимента. В результате теоретического осмысления фактов у исследователей возникает ряд гипотез, объясняющих поведение и свойства объекта. При последующей экспериментальной проверке одна из гипотез может принять форму научного закона. Однако этот традиционный путь формирования теоретического знания в случае сложных систем оказывается неприменим, и роль законов выполняют математические методы. Разрабатывается математический аппарат теории, который обеспечивает возможность проведения исследования объекта аналитическими методами. Но и эти методы в реальных ситуациях часто оказываются неприменимыми. Причины: недостаточная разработанность математического аппарата; чрезмерно большая размерность решаемой задачи; наличие большого числа случайных факторов. Возникает необходимость использования ЭВМ.

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

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

2 ОБОСНОВАНИЕ ВЫБОРА

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

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

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

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

Имитационным моделированием иногда называют получение частных численных решений сформулированной задачи на основе аналитических решений или с помощью численных методов.

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

К имитационному моделированию прибегают, когда:

- дорого или невозможно экспериментировать на реальном объекте;

- невозможно построить аналитическую модель: в системе есть время, причинные связи, последствие, нелинейности, стохастические (случайные) переменные;

- необходимо сымитировать поведение системы во времени.

Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между её элементами или другими словами - разработке симулятора (англ. simulation modeling) исследуемой предметной области для проведения различных экспериментов.

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

В качестве наиболее яркого их представителя выбран язык моделирования GPSS. Этот язык нашел широкое распространение при исследовании систем массового обслуживания и включен во многие учебные курсы различных высших учебных заведений как в нашей стране, так и за рубежом.

Система GPSS World, разработанная компанией Minuteman Software (США), – это мощная среда компьютерного моделирования общего назначения, разработанная для профессионалов в области моделирования. Это комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования, обладающий высочайшим уровнем интерактивности и визуального представления информации.

Использование GPSS World дает возможность оценить эффект конструкторских решений в чрезвычайно сложных системах реального мира.

GPSS World основан на оригинальном языке компьютерного моделирования GPSS, что означает General Purpose Simulation System – общецелевая система моделирования. В основном этот язык был разработан Джефри Гордоном приблизительно в 1960 году в IBM и привнес множество важных концепций в каждую из коммерческих реализаций языков компьютерного моделирования дискретных событий, разработанных с тех пор. GPSS World – это прямое развитие языка моделирования GPSS/РС, одной из первых реализаций GPSS для персональных компьютеров. После своего появления в 1984 году GPSS/РС и его последующие версии сохранили тысячам пользователей миллионы долларов. В настоящее время версия GPSS World для ОС Windows имеет расширенные возможности, включая пользовательскую среду с интегрированными функциями работы с Интернет.

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

Прозрачность для пользователя ценна по трем причинам. Во-первых, опасно полагаться на непрозрачное моделирование типа “черный ящик”, внутренние механизмы функционирования которого скрыты от пользователя. Мало того, что в этом случае нельзя быть уверенным, подходит ли оно для какого-либо конкретного случая, но и невозможно гарантировать, что оно работает, как задумано. Во-вторых, удачные имитационные модели являются очень ценными и пригодны в течение длительного периода времени. Возможно, потребуется, чтобы новые сотрудники ознакомились с внутренними процессами модели, а это почти невозможная задача, если модель не имеет высокого уровня прозрачности. В-третьих, одним из наиболее эффективных, но наименее известных преимуществ компьютерного имитационного моделирования является возможность проникновения в самую суть поведения системы, когда опытный профессионал в области моделирования может видеть внутреннюю динамику в наиболее важные моменты времени процесса моделирования.

GPSS World был разработан с целью решить все эти проблемы. GPSS World является объектно-ориентированным языком. Его возможности визуального представления информации позволяют наблюдать и фиксировать внутренние механизмы функционирования моделей. Его интерактивность позволяет одновременно исследовать и управлять процессами моделирования. С помощью встроенных средств анализа данных можно легко вычислить доверительные интервалы и провести дисперсионный анализ. Кроме того, теперь есть возможность автоматически создавать и выполнять сложные отсеивающие и оптимизирующие эксперименты.

3 ИМИТАЦИОННАЯ МОДЕЛЬ

3.1 Анализ исходных данных. Предварительный прогноз результатов.

Все данные, необходимые для постройки модели, присутствуют в постановке задачи.

Имеются следующие данные:

1. Интервал между прибытием танкеров: 16 ± 12 ч.

2. Время, затрачиваемое на погрузку танкера: 12 ± 6.

3. Количество танкеров, которые могут одновременно загружаться: два танкера.

4. Время, затрачиваемое на буксировку танкера для причаливания: 1. час.

5. Время, затрачиваемое на буксировку танкера для отчаливания: 1. час.

6. Количество буксиров: один.

7. Приоритетность предоставления буксира: у операции отчаливания приоритет выше.

Обслуживающими устройствами в моделируемой системе являются танкеры.

Опишем параметры и переменные модели.

Входными переменными являются следующие:

- переменные, которые описывают интенсивность входного потока;

- переменные, которые описывают интенсивность обслуживания в порту;

- переменные, которые описывают интенсивность обслуживания при буксировке,

- переменные, которые описывают количество одновременно обслуживаемых танкеров.

Выходными переменными будут следующие:

- коэффициент загрузки порта,

- коэффициент загрузки буксира,

- количество загруженных танкеров,

- среднее время погрузки,

- средняя длина очереди к буксиру для причаливания,

- средняя длина очереди на погрузку,

- средняя длина очереди к буксиру для отчаливания,

- - среднее время ожидания в очереди к буксиру для причаливания,

- среднее время ожидания в очереди на погрузку,

- среднее время ожидания в очереди к буксиру для отчаливания.

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

Например, коэффициент загрузки должен быть в пределах от 0 до 1.

Среднее время погрузки будет находиться в пределах от 6 до 18 часов.

Также можно задать некоторые зависимости между входными и выходными переменными. К примеру, чем больше среднее время обслуживания превышает среднее время поступления заявок, тем больше будет образовываться очередь.

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

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

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

3.2 Построение схемы

Очевидно, что данная система массового обслуживания относится к классу СМО без отказов.

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

Данный процесс можно отобразить следующей Q-схемой (рисунок 3.1):

Буксир

Порт

Буксир

Рисунок 3.1 - Q-схема модели

3.3 Создание имитационной модели.

Проведем создание имитационной модели.

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

Модель будет состоять из одного сегмента.

В модели будут присутствовать 2 обслуживающих устройства:

1. Буксир – одноканальное устройство. Назовем его buksir.

2. Порт – двухканальное устройство. Назовем его port.

Кроме обслуживающих устройств, в модели будут присутствовать 3 очереди:

1. Очередь к буксиру для причаливания. Назовем ее ochBuksir1.

2. Очередь в порту на погрузку. Назовем ее ochPort.

3. Очередь к буксиру для отчаливания. Назовем ее ochBuksir2.

В рабочем сегменте должны присутствовать следующие объекты:

- источник заявок,

- буксир,

- порт,

- очередь к буксиру для причаливания,

- очередь в порту на погрузку,

- очередь к буксиру для отчаливания.

Разберем данные объекты.

1. Источник заявок.

Объявляется при помощи команды generate. Так как надо генерировать заявки с интервалом 16 ± 12 ч, то необходимо задать первые два параметра данной команды – средний интервал и отклонение:

10 generate 16,12

2. Очередь к буксиру для причаливания.

Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. В нашем случае при занятости буксира, танкер вынужден ожидать его освобождения. При поступлении транзактов на вход задерживающих блоков образуются очереди. Для сбора статистики об очередях в местах задержки ставят блоки queue. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок queue текущая длина очереди получает приращение. Уход из очереди отображается блоком depart.

Параметрами данных команд являются названия очередей, в которые попадает/выходит транзакт и количество занимаемых/освобождаемых мест в очереди.

Соответственно обработка очереди к буксиру для причаливания моделируется следующими командами:

25 queue ochBuksir1

40 depart ochBuksir1

3. Очередь к буксиру для отчаливания.

Обработка очереди к буксиру для отчаливания моделируется следующими командами:

130 queue ochBuksir2

150 depart ochBuksir2

4. Буксир

Буксир является обслуживающим устройством.

Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность одноканальных устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком.

Захват и освобождение устройства моделируются соответственно блоками seize и release.

Кроме захвата и освобождения устройства необходимо провести задержку транзакта в устройстве. Для этого используется блок advance, который моделирует временною задержку транзакта в течение определенного интервала. Время буксировки равно одному часу.

Соответственно обработка обслуживания буксиром танкеров на погрузку:

30 seize buksir

50 advance 1

60 release buksir

и танкеров на выход из порта:

140 seize buksir

160 advance 1

170 release buksir

5. Очередь в порту для погрузки.

Обработка очереди в порту для погрузки моделируется следующими командами:

70 queue ochPort

90 depart ochPort

6. Порт

Порт является обслуживающим устройством, которое имеет 2 канала обслуживания.

Соответственно, данное устройство, в отличие от одноканального, требует явного объявления.

Для этого используется оператор storage, в котором задается имя устройства и количество каналов:

5 port storage 2

Захват и освобождение многоканального устройства моделируются соответственно блоками enter и leave.

Соответственно обработка погрузки танкеров:

80 enter port

100 advance 12,6

110 leave port

7. Приоритетность.

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

В модели имеется 2 очереди к буксиру, однако транзакты, находящиеся в данных очередях равноценны. Используем такой прием: при входе транзакта в модели зададим ему приоритет, равный единице, а после того, как транзакт обслужиться в порту, повысим ему приоритет.

Для задания приоритетов используется оператор priority.

Присвоение приоритета при входе в порт:

20 priority 1

Повышение приоритета после погрузки:

120 priority 2

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

Запуск модели на исполнение производится при помощи блока start с параметром, который задает общее число транзактов, которые необходимо провести через модель:

230 start 500

Полный код программы приведен ниже:

5 port storage 2

10 generate 16,12

20 priority 1

25 queue ochBuksir1

40 seize buksir

25 depart ochBuksir1

50 advance 1

60 release buksir

70 queue ochPort

80 enter port

90 depart ochPort

100 advance 12,6

110 leave port

120 priority 2

130 queue ochBuksir2

140 seize buksir

150 depart ochBuksir2

160 advance 1

170 release buksir

180 terminate 1

230 start 500

4 АНАЛИЗ РЕЗУЛЬТАТОВ

В результате прогона модели получены следующие результаты:

GPSS World Simulation Report - 1.101.1

Saturday, June 06, 2015 23:59:25

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 7991.130 19 1 1

NAME VALUE

BUKSIR 10002.000

OCHBUKSIR1 10001.000

OCHBUKSIR2 10004.000

OCHPORT 10003.000

PORT 10000.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 501 0 0

2 PRIORITY 501 0 0

3 QUEUE 501 0 0

4 SEIZE 501 0 0

5 DEPART 501 0 0

6 ADVANCE 501 0 0

7 RELEASE 501 0 0

8 QUEUE 501 0 0

9 ENTER 501 0 0

10 DEPART 501 0 0

11 ADVANCE 501 1 0

12 LEAVE 500 0 0

13 PRIORITY 500 0 0

14 QUEUE 500 0 0

15 SEIZE 500 0 0

16 DEPART 500 0 0

17 ADVANCE 500 0 0

18 RELEASE 500 0 0

19 TERMINATE 500 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

BUKSIR 1001 0.125 1.000 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCHBUKSIR1 1 0 501 487 0.001 0.014 0.511 0

OCHPORT 1 0 501 489 0.003 0.041 1.702 0

OCHBUKSIR2 1 0 500 460 0.003 0.041 0.510 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

PORT 2 1 0 2 501 1 0.748 0.374 0 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

501 1 7996.133 501 11 12

502 0 8004.852 502 0 1

Проанализируем полученные результаты.

Коэффициент загрузки буксира – 12.5% – большую часть времени он простаивает. Это логично – танкеры подходят в среднем каждые 16 часов, а буксиру на танкер необходимо потратить 2 часа (час на причаливание и час на отчаливание). Соответственно отношение двух часов к шестнадцати составляет 2 / 16 = 1 / 8 = 0.125, что и составляет 12.5%.

Максимальная длина очереди к буксиру на причаливание составляла один танкер.

Максимальная длина очереди к буксиру на отчаливание также составляла один танкер.

Коэффициент загрузки порта - 37.4% – большую часть времени он простаивает. Среднее число грузящихся танкеров – 0.748.

Средняя длинна очереди к буксиру на причаливание – 0.001 танкера.

Средняя длинна очереди на погрузку – 0.003 танкера.

Средняя длинна очереди к буксиру на отчаливание – 0.003 танкера.

Среднее время простоя танкера в очереди к буксиру на причаливание – 0.014 часа.

Среднее время простоя танкера в очереди на погрузку – 0.041 часа.

Среднее время простоя танкера в очереди к буксиру на отчаливание – 0.041 часа.

Среднее время нахождения танкеров в порту состоит из времен ожидания в очередях и среднего времени погрузки:

0.014 часа + 0.041 + 0.041 + 12 часов = 12.096 часов.

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсового проекта было проведено имитационное моделирование системы массового обслуживания, которая представляет собой морской порт.

Была поставлены следующие задачи:

– смоделировать работу порта в течение одного года (500 танкеров),

– определить среднее время нахождения танкеров в порту,

– определить среднюю длину очереди на погрузку.

По результатам работы получились следующие данные:

–среднее время нахождения танкеров в порту: 12.096 часов,

–средняя длина очереди на погрузку: 0.003 танкера.

СПИСОК ЛИТЕРАТУРЫ

1. Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем / Е. М. Кудрявцев. – М.: ДМК Пресс, 2004. – 320 с.

2. Томашевский В.М. / Имитационное моделирование в среде GPSS / В.М. Томашевский, E.Г. Жданова. – М.: Бестселлер, 2003. – 416 с.

3. Алиев Т.И. Основы моделирования дискретных систем / Т.И. Алиев. – СПб: СПбГУ ИТМО, 2009. – 363 с.

4. Томашевский B.H. Решение практических задач методами компьютерного моделирования: Учеб. Пособие / B.H. Томашевский,
Е.Г. Жданова, А.А. Жолдаков. – K.: Изд-во "НАУ", 2001. – 268 c.

5. Шрайбер Т.Дж. Моделирование на GPSS / Т.Дж. Шрайбер. –
M.: Машиностроение, 1980. – 593 c.

6. Томашевский B.H. Имитационное моделирование систем и процессов: Учеб. пособие. / B.H. Томашевский. – К.: 1СДО, "ВIПОЛ", 1994. – 124 c. (язык украинский).