ISSN 2305-5626. Вестник МГТУ им. Н.Э. Баумана: электронное издание. 2013
4
Для контроля полученных результатов рассмотрим аналитиче-
ское решение этой задачи [8]. Основные соотношения имеют следу-
ющий вид:
p
0
=
1
–
ρ
—
вероятность того, что в системе нет заявок;
2
очер
1
Q
ρ
=
− ρ
— средняя длина очереди;
2
очер
(1 )
T
ρ
=
λ − ρ
— среднее время ожидания в очереди;
K
загр
= 1
– p
0
=
ρ
—
коэффициент загрузки канала обслуживания
.
Подставив заданные значения, получаем результаты:
очер
Q
= 3,2;
очер
T
= 32 с;
K
загр
= 0,8.
Реализация имитационной модели этой системы выполнена в ви-
де Java-апплета, запускаемого через Web-браузер на стороне клиента.
Исходный код модели — класс, производный от класса
Syst
, и исход-
ный код апплета — класс, производный от класса
JApplet
, — пред-
ставлены в распечатках 1 и 2. Результаты моделирования выводятся в
рабочую область апплета — объект класса
Container
(контейнер).
Для создания апплета был использован пакет javax.swing. Результаты
работы апплета в браузере представлены на рисунке. Полученные
результаты с определенной погрешностью соответствуют расчетам
на аналитической модели. В распечатке 3 представлены результаты,
полученные в среде GPSS World.
Распечатка 1. Исходный код реализации модели
import
java.awt.Container;
import
SimJava.*;
public
class
Model
extends
Syst
implements
Runnable {
Facility pF; // Ссылка на канал обслуживания
Queue pQ; // Ссылка на очередь
public
Model(
int
tg1, Container con) // Конструктор класса
{
super
(tg1, // Значение счетчика завершения
null
, // Ссылка на файл с результатами
con); // Ссылка на контейнер для вывода данных
th=
new
Thread(
this
); // Создание потока запуска модели
// Создание модельной среды
pQ=
new
Queue(
this
, "Очередь"); // Создаем очередь
pF=
new
Facility(
this
, "Канал"); // Создаем канал обслуживания
}
public
void
run() // Метод, определяющий функциональность потока
// (алгоритм модели)
{
initGenerate(1, 0); // Транзакт заявка направляется к первому
// событию
while
(tg1!=0) // Конец моделирования, когда TG1
// (счетчик завершения равен 0)
{