b
j
, называется последовательность переходов, ведущих из состояния
b
i
в состояние
b
j
. Если из состояния
b
i
существует какой-либо путь
в состояние
b
j
, то будем утверждать, что состояние
b
j
достижимо из
состояния
b
i
этим путем. Путь, ведущий из состояния
b
i
в состояние
b
j
через состояния, среди которых не встречается ни одной пары оди-
наковых, называется простым. В противном случае путь называется
сложным. Простой путь, ведущий из состояния
b
i
в то же самое со-
стояние
b
i
, называется циклом. Сложный путь, ведущий из состояния
b
i
в то же самое состояние
b
i
, называется контуром. Состояние
b
i
,
из которого ведет некоторый путь, называется начальным состоянием
этого пути, а состояние
b
j
, в который этот путь ведет, — конечным
состоянием данного пути.
Анализ корректности описания поведения сетевых экранов с по-
мощью логических программ на языке логического программирова-
ния VISUAL PROLOG сводится к поиску свойств процессных графов
переходов, наличие которых недопустимо с позиции корректности се-
тевых экранов. Например, это может быть наличие пар путей, которые
ведут в состояния, вызывающие определенного рода противоречия.
В синтаксисе языка VISUAL PROLOG каждое состояние
b
i
пред-
ставляется константой
bi
. Переменные, областью значений которых
являются состояния, обозначаются прописными символами
B
и индек-
сируются, если это необходимо, например, как
Bi
. Условия перехода
?
a
.!
a
или ?not
a
.!
e
представляются функторами, структура которых мо-
жет быть достаточно сложной. Пока соответствующие функторы обо-
значим как
f
(?
a
.!
a
) или
f
(?not
a
.!
e
). С учетом принятых обозначений
для введения структуры применяемых логических программ на языке
VISUAL PROLOG запишем следующие предикаты и правила:
•
initial
(
Bi
) — одноместный предикат, истинный, когда автомат на-
ходится в начальном состоянии
Bi
;
•
final
(
Bj
) — одноместный предикат, истинный, когда автомат на-
ходится в конечном состоянии
Bj
;
•
transition
(
Bi,f
(?
a
.!
a
)
, Bj
),
transition
(
Bi, f
(?not
a
.!
e
)
, Bj
) — трехмест-
ные предикаты, называемые переходами, истинные, если на про-
цессном графе переходов имеются переходы из состояния
Bi
в
состояние
Bj
, условиями перехода которых являются ?
a
.!
a
или
?not
a
.!
e
;
•
accessible
(
Bi
, [
X
]
, Bj
)) — двуместный предикат, истинный, если
состояние
Bj
достижимо из состояния
Bi
в результате после-
довательного выполнения условий перехода из представленных
в этом списке слева направо (наличие на процессном графе пе-
реходов пути, ведущем из состояния
Bi
в состояние
Bj
, дуги
которого помечены условиями перехода списка [
X
]);
•
accessible
(
Bi
,
X, Bj
):-
transition
(
Bi
,
X, Bj
) — нерекурсивное прави-
ло достижимости состояния
Bj
из состояния
Bi
;
102 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2015. № 1