Моделирование работы библиографической системы
Оглавление
Введение
………………………………………………………………..…………
1.
Постановка задачи…………………………………
2.
Выявление основных
особенностей системы…………………………
2.1 Структурная схема системы………………………….……....….…6
2.2 Q-схема системы ……………………….……………………………..…6
2.3 Состояния системы …………………….……………………….…...…7
2.4 Характер функционирования системы……………………..….…....7
2.5
Потоки поступления
заявок в систему….……………………..….
2.6 Число требований, поступающих в один момент…………….……..7
2.7 Характер взаимодействия смежных требований в потоке….…...7
2.8
Характер поведения
требований в системе…………………...
2.9
Дисциплина обслуживания…………………
2.10 Время обслуживания требований…………………………..…...…..7
2.11
Число каналов
обслуживания…………………………….......
2.12
Число фаз обслуживания……………………
2.13 Однородность требований, поступающих на обслуживание....8
2.14
Связь выходных
и входных потоков…………………….……….
2.15
Время моделирования…………………….……
2.16
Выходной поток…………………….…………………
3. Алгоритм имитационной модели…………………………………………..…..….9
4. Программа на языке высокого уровня PHP…………………………….…….…10
5. Среда имитационного моделирования GPSS World…………………….…..….31
6.
Планирование эксперимента……………
6.1
Полный факторный
эксперимент……………………………………....
- Обработка математической модели………………………….…………34
Заключение……………………………………………………
Список
литературы……………………………………………………
Введение
В данной курсовой работе моделируется работы библиографической системы в течение 8 ч. Для определения эффективности смоделированной системы необходимо определить длину очереди, коэффициенты загрузки ЭВМ, вероятность отказа обслуживания. При необходимости представить рекомендации к улучшению работы системы.
Задача
решается с помощью языка моделирования
GPSS. На персональных компьютерах (ПК) типа
IBM/PC язык GPSS реализован в рамках пакета
прикладных программ GPSS/PC. В процессе прогона
имитационной модели обеспечивается возможность
постоянного наблюдения в шести интерактивных
графических окнах (машинная мультипликация,
работа одноканальных и многоканальных
устройств, функционирование блоков, отображение
таблиц и матриц). Система выдает отчет
о результатах моделирования, содержащий
широкий спектр параметров блоков, устройств,
очередей, таблиц, пользовательских списков.
Данные особенности GPSS позволяют эффективно
решить рассматриваемую задачу.
- Постановка задачи.
Информационно-поисковая
библиографическая
система построена
на базе двух ПК и
имеет один терминал
для ввода и
вывода информации.
Первая ПК обеспечивает
поиск литературы
по научно-техническим
проблемам (вероятность
обращения к ней - 0,7),
а вторая - по медицинским (вероятность
обращения к ней - 0,3).
Пользователи обращаются
к услугам системы
каждые 5±2 мин. Если
в очереди к
терминалу ожидают 10
пользователей, то вновь
прибывшие пользователи
получают отказ в
обслуживании. Поиск
информации на первой
ПК продолжается 6±4
мин, а на второй 3±1
мин. Для установки
связи с нужной
ПК и передачи текста
запроса пользователи
тратят 2±1 мин. Вывод
результатов поиска
происходит за 1 мин.
Смоделировать процесс
работы системы за 8
ч. Определить среднюю
длину очереди к терминалу,
а так же коэффициенты
загрузки технических
средств системы. Как
изменятся параметры
очереди к терминалу,
если будет установлен
еще один терминал?
- Выявление основных особенностей системы.
- Структурная схема системы.
- Q-схема системы.
Для
формализации задачи используем символику
Q-схем. В соответствии с построенной концептуальной
моделью и символикой Q-схем структурную
схему данной СМО можно представить в
виде, показанном на рисунке/
- Состояния системы.
S0 – Система свободна;
S1 – Система обратилась к ПК1;
S2 – Система обратилась к ПК2;
S3 – Система с потерями.
- Характер функционирования системы.
По характеру
функционирования система является
непрерывной.
- Потоки поступления заявок в систему.
Потоки поступления
заявок в систему регулярные.
- Число требований, поступающих в один момент.
По количеству
требований поток является одинарным.
- Характер взаимодействия смежных требований в потоке.
По характеру
взаимодействия требований в потоке
система без последействия.
- Характер поведения требований в системе.
По характеру
поведения требований система является
неограниченной.
- Дисциплина обслуживания.
По типу обслуживания
система носит случайный
- Время обслуживания требований.
По времени
обслуживания требований система является
непрерывной.
- Число каналов обслуживания.
По количеству
каналов обслуживания система является
многоканальной.
- Число фаз обслуживания.
По числу фаз
обслуживания система является многофазовой.
- Однородность требований, поступающих на обслуживание.
Требования, поступающие
на обслуживание, являются однородными.
- Связь выходных и входных потоков.
Связи между
входными и выходными потоками нет,
система разомкнута.
- Время моделирования.
Время моделирования
в системе используется машинное.
- Выходной поток.
В качестве выходной
величины было принято время моделирования
системы.
- Алгоритм имитационной модели.
Алгоритм функционирования системы можно представить в виде следующей блок-схемы:
- Программа на языке высокого уровня PHP.
Kursovoi.php – файл:
<?php set_time_limit(2); ?>
<script
src="http://ajax.googleapis.
<div><span><I>
курсовая работа <br />
по моделированию <br />
Выполнил студент гр. АИ-4-022 <br />
Костылев Александр <br /></I>
<div id="logo1">
<img src="2397.png" />
</div>
</span>
</div>
<div id="asd">
<table style="display:block" cellpading="0" cellspacing="0">
<td
colspan=2><a href="javascript:void(0);" onclick="$('#zadanie').toggle(
<td
colspan=2><a href="javascript:void(0);" onclick="$('#logo2').toggle('
</table>
<div id="logo2">
<img src="shema.png" />
</div>
<table id="zadanie"><tr>
<td class="Button1"><I>
Информационно-поисковая библиографическая система построена на базе двух ПК и имеет один терминал для ввода и вывода информации. Первая ПК обеспечивает поиск литературы по научно-техническим проблемам (вероятность обращения к ней - 0,7), а вторая - по медицинским (вероятность обращения к ней - 0,3). Пользователи обращаются к услугам системы каждые 5±2 мин. Если в очереди к терминалу ожидают 10 пользователей, то вновь прибывшие пользователи получают отказ в обслуживании. Поиск информации на первой ПК продолжается 6±4 мин, а на второй 3±1 мин. Для установки связи с нужной ПК и передачи текста запроса пользователи тратят 2±1 мин. Вывод результатов поиска происходит за 1 мин.<br />
Смоделировать процесс работы системы за 8 ч. Определить среднюю длину очереди к терминалу, а так же коэффициенты загрузки технических средств системы. Как изменятся параметры очереди к терминалу, если будет установлен еще один терминал?
</I></td>
</tr>
</table>
</div>
<link rel="stylesheet" type="text/css" href="style.css">
<body width="100%">
<form id="form" method="get">
<table id="uslovie">
<div id="rtable"><tr>
<td>
<label for="obk">Обращение к терминалу</label>
<td><div class="input-container">
<input name="obk" id="obk" type="text" value="<? if (isset($_GET['obk'])) echo $_GET['obk']; else echo "5"; ?>" />
</div></td>
<td>
<label for="obk0">+/-<label>
</td>
<td><div class="input-container">
<input name="obk0" id="obk0" type="text" value="<? if (isset($_GET['obk0'])) echo $_GET['obk0']; else echo "2"; ?>" />
</div></td>
</tr>
<tr>
<td>
<label for="opk">Обращение к поиску информации на первом пк</label>
<td><div class="input-container">
</div></td>
<td>
<label for="opk0">+/-<label>
</td>
<td><div class="input-container">
</div></td>
</tr>
<tr>
<td>
<label for="opk1">Обращение к поиску информации на втором пк</label>
<td><div class="input-container">
</div></td>
<td>
<label for="opk10">+/-<label>
</td>
<td><div class="input-container">
</div></td>
</tr>
<tr>
<td> </td>
<td colspan="3"><input type="submit" class="greenButton" value="Начать" />
</td>
</div>
</table>
</form>
<table cellpading="0" cellspacing="0">
<tr style="font-weight:bold; background-color:yellow;">
<td>
<td>1</td>
<td> 2</td>
<td> 3</td>
<td> 4</td>
<td> 5</td>
<td> 6</td>
<td> 7</td>
<td> 8</td>
<td> 9</td>
<td> 10</td>
<td>Всего времени</td>
<td>Ушло</td>
</tr>
<?php
if (isset($_GET['obk'])) $obk=$_GET['obk']; else $obk=5;
if (isset($_GET['obk0']))
$obk0=$_GET['obk0']; else $obk0=2;
if (isset($_GET['opk'])) $opk=$_GET['opk']; else $opk=6;
if (isset($_GET['opk0']))
$opk0=$_GET['opk0']; else $opk0=4;
if (isset($_GET['opk1'])) $opk1=$_GET['opk1']; else $opk1=3;
if (isset($_GET['opk10']))
$opk10=$_GET['opk10']; else $opk10=1;
function interval($osn,$dop) {
$int[0]=$osn-$dop;
$int[1]=$osn+$dop;
return $int;
}
$terminal=interval($obk,$obk0)
$pk1=interval($opk,$opk0);
$pk2=interval($opk1,$opk10);
$end_model_time=0;
$ushel=0;
$prishell=0;
$prishell2=0;
while ($end_model_time<=480) {
$arr=rand($terminal[0], $terminal[1]); // периоды времени между людьми
$end_model_time=$end_model_
if ($end_model_time<=480)
{
echo "<tr><td class='main'>".$arr."</td>";
$c=0; //!!! счетчик людей в очереди
$time1=rand($pk1[
$time2=rand($pk2[
$ver=rand(1,10); // вероятность обращения к 1 или 2 ЭВМ
if ($ver<8) // обращение к 1-му ЭВМ
{
$ochered[]=$
$komp[1]=$
$prishell++;
} // добавить новый элемент массива
else //вторая ЭВМ
{
$ochered[]=$
$komp[2]=$
$prishell2++
} //
добавить новый
элемент массива
while(($arr>
{
$arr=$
$
if ($arr>=0)
}
for ($i=0;$i<10;$i++)
{
if (isset($ochered[$i]))
else
}
// Считаем среднее число в очереди
$cc=count($
if ($cc==11) $cc=10;
$sr_ochered[
while($c>0)
{
}
if ($arr<0)
{
$
}
if (count($ochered)>10) //проверка сколько людей в очереди
{
$terminal2[]
$ushel++;
}
echo "<td>$end_model_time</td><td>$
}
}
$sr_dlina=array_sum($sr_
$sr_koef_okrugl=round($
$sr_koef=$srednee/$end_model_
$koef_pk1=$komp[1]/$end_model_
$koef_pk2=$komp[2]/$end_model_
rsort($sr_ochered);
$max_element=$sr_ochered[0]; // Максимальное число людей в очереди
$max_prishell=$prishell+$
?>
</table>
<div id="ltable">
<table>
<tr>
<td>
Средняя длина очереди</td><td><?=round($sr_
</tr>
<tr>
<td>
Максимальная длина
очереди</td><td><?=$max_
</tr>
<tr>
<td>
Коэфицент загрузки
ПК1</td><td><?=round($koef_
</tr>
<tr>
<td>
Коэфицент загрузки
ПК2</td><td><?=round($koef_
</tr>
<tr>
<td>
Людей пришло к пк1</td><td><?=round($
</tr>
<tr>
<td>
Людей пришло к терминалу</td><td><?=round($
</tr>
<tr>
<td
colspan=2><a href="javascript:void(0);" onclick="$('#table_show').
</tr>
</table>
<table id="table_show" style="display:none" cellpading="0" cellspacing="0" width="35%">
<tr style="font-weight:bold; background-color:yellow;">
<td>
<td>1</td>
<td> 2</td>
<td> 3</td>
<td> 4</td>
<td> 5</td>
<td> 6</td>
<td> 7</td>
<td> 8</td>
<td> 9</td>
<td> 10</td>
<td>Всего времени</td>
<td>Снова ушли</td>
</tr>
<?
if (isset($terminal2))
{
$ushel2=0;
$end_model_time2=0;
$num=-1;
$kol=count($terminal2);
while
(($end_model_time2<=480)and($
$arr2=rand($terminal[0], $terminal[1]); // периоды времени между людьми
$end_model_time2=$end_model_
$num++;
if (($end_model_time2<=480)and($
{
//echo $terminal2[$num].", ";
echo "<tr><td class='main'>".$arr2."</td>";
$c=0; //!!!
счетчик людей в очереди
if ($num<count($terminal2))
{
$time1=$
$time2=$

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