ется
голова
(
В
)
. Ячейка памяти
В
(
x
3
)
буфера
В
называется хвостом и
обозначается
хвост
(
В
)
.
Агент
A
1
при желании поместить кадр в буфер ведет себя следую-
щим образом. Сначала он пытается занять семафорную переменную
x
2
. Если ему это удается и значение семафорной переменной
x
2
не
равно 0, то это означает, что агент
A
1
может поместить кадр
c
в бу-
фер, поскольку там есть свободное место. Для того чтобы это сделать,
он должен занять семафорную переменную
x
1
. Если ему удается ее
занять, то сначала содержимое каждой ячейки
В
(
j
)
,
j
= 1
, . . . , x
3
,
перемещается в ячейку
В
(
j
+ 1)
, затем агент
A
1
помещает кадр в
освободившуюся ячейку
голова
(
В
)
, семафорная переменная
x
1
осво-
бождается, значение переменной
x
2
уменьшается на 1, а значение пе-
ременной
x
3
увеличивается на 1. Такую комплексную операцию будем
обозначать
голова
(
В
) +
В
. Каждый из агентов
A
p
,
p
= 2
, . . . , k
, при
желании взять кадр из буфера ведет себя следующим образом. Он
пытается занять семафорную переменную
x
3
. Если ему удается это
сделать (переменная не равна 0), то это означает, что буфер не пуст
и из него можно взять кадр. Тогда агент
A
p
переходит к попытке за-
нять семафорную переменную
x
1
. Если ему и это удастся сделать,
то он забирает содержимое ячейки
хвост
(
В
)
. Такую операцию будем
обозначать
В
—
хвост
(
В
)_. Затем агент освобождает сначала пере-
менную
x
1
, а затем переменную
x
2
. После этого он производит ряд
вычислений, для того, чтобы получить значение
ω
p
времени передачи
извлеченного из буфера кадра (сек) передатчиком
A
p
.
Таким образом, поведение агентов
A
1
и
A
p
может быть представ-
лено следующей программой.
Программа “Отправитель–передатчики”
x
1
= 1
,
∗
семафорная переменная доступа к буферу
∗
x
2
=
N
,
∗
семафорная переменная числа пустых ячеек буфера
∗
x
3
=0,
∗
семафорная переменная числа заполненных ячеек буфера
∗
v
=
C
,
∗
переменная пропускной способности канала передачи кадров
(бит/с)
∗
τ
=
T
,
∗
переменная максимально допустимого времени передачи
кадра (с)
∗
β
= 0
,
∗
переменная числа бит в кадре
∗
ε
= 0
,
∗
переменная времени записи кадра в буфер (с)
∗
δ
= 0
,
∗
переменная времени извлечения кадра из буфера (с)
∗
ω
p
= 0
,
∗
переменная времени передачи извлеченного из буфера кадра
(с) передатчиком
A
p
∗
Отправитель A
1
b
1
1
:
Вычислить
y
1
=
ϕ
[
b
(
t
)]
;
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2005. № 4 75