Автор: Пользователь скрыл имя, 01 Мая 2012 в 21:21, курсовая работа
В данной курсовой работе моделируется работы библиографической системы в течение 8 ч. Для определения эффективности смоделированной системы необходимо определить длину очереди, коэффициенты загрузки ЭВМ, вероятность отказа обслуживания. При необходимости представить рекомендации к улучшению работы системы.
Введение ………………………………………………………………..……………….5
1. Постановка задачи………………………………………………………..………5
2. Выявление основных особенностей системы…………………………..……6
2.1 Структурная схема системы………………………….……....….…6
2.2 Q-схема системы ……………………….……………………………..…6
2.3 Состояния системы …………………….……………………….…...…7
2.4 Характер функционирования системы……………………..….…....7
2.5 Потоки поступления заявок в систему….……………………..….….7
2.6 Число требований, поступающих в один момент…………….……..7
2.7 Характер взаимодействия смежных требований в потоке….…...7
2.8 Характер поведения требований в системе…………………...……..7
2.9 Дисциплина обслуживания…………………….………….……….……..7
2.10 Время обслуживания требований…………………………..…...…..7
2.11 Число каналов обслуживания…………………………….........……...8
2.12 Число фаз обслуживания…………………….……………...........…...8
2.13 Однородность требований, поступающих на обслуживание....8
2.14 Связь выходных и входных потоков…………………….……….…...8
2.15 Время моделирования…………………….………………………….…...8
2.16 Выходной поток…………………….…………………….………….…....8
3. Алгоритм имитационной модели…………………………………………..…..….9
4. Программа на языке высокого уровня PHP…………………………….…….…10
5. Среда имитационного моделирования GPSS World…………………….…..….31
6. Планирование эксперимента…………………………………………………..…...33
6.1 Полный факторный эксперимент……………………………………....33
6.2 Обработка математической модели………………………….…………34
Заключение…………………………………………………………………..38
Список литературы………………………………………………………….39
</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=$
Информация о работе Моделирование работы библиографической системы