соответствует факт
transition
(
bi
,
f
(
udp,192,168,11, accept
),
bj
), а пе-
реходу
(
b
i
,
?
nota.
!
e, b
j
)
— факт
transition
(
bi
,
f
(
udp,192,168,11, e
),
bj
).
Правила остаются такими же, как и в схеме программы, приведен-
ной выше. Таким образом, для примера запишем следующий раздел
clauses
:
clauses
transition
(
b
1
, f
(
udp,192,168,1,1, accept
)
, b
2 )
.
transition
(
b
2
, f
(
tcp,10,1,1,0, accept
)
, b
3)
.
transition
(
b
3
, f
(
udp,192,168,1,1,drop
)
, b
4)
.
transition
(
b
4
, f
(
tcp,10,1,1,26, accept
)
, b
5)
.
transition
(
b
5
, f
(
tcp,10,1,1,64, drop all
)
, b
6)
.
transition
(
b
1
, f
(
udp,192,168,1,1,e
)
, b
2)
.
transition
(
b
2
, f
(
tcp,10,1,1,0,e
)
,b
3)
.
transition
(
b
3
, f
(
udp,192,168,1,1,e
)
,b
4)
.
transition
(
b
4
, f
(
tcp,10,1,1,26,e
)
,b
5)
.
transition
(
b
5
, f
(
tcp,10,1,1,64, e
)
,b
6)
.
accessible
(
B
1
,
[
X
]
, B
2)
:- transition
(
B
1
, X, B
2)
.
accessible
(
B
1
,
[
X|Rest
]
, B
2)
:- transition
(
B
1
, X, B
3)
, accessible
(
B
3
,
Rest, B
2)
.
В разделе
goal
формулируются такие цели, как задача нахождения
путей. Для рассматриваемого примера на языке VISUAL PROLOG
одну из целей можно выразить, например, в следующем виде:
goal
accessible
(
b
1
,
[
f
(
A,B,C,D,E,accept
)]
,B
1)
,accessible
(
b
1
,
[
f
(
_,_,_,_,_,_
),
f
(
_,_,_,_,_,_
)
,f
(
A,B,C,D,E,drop
)]
,B
2)
.
Здесь необходимо узнать, сколько существует пар путей длиной 1 и 3,
ведущих из состояния
b
1 в состояния
B
1 и
B
2 и каковы эти состояния,
при переходе в которые одинаковые пакеты
p
1
= udp 192.168.1.1
и
p
3
= udp 192.168.1.1
в первом случае принимаются, а во втором —
запрещаются.
В результате выполнения описанной логической программы на
языке VISUAL PROLOG получаем четыре решения:
A=udp, B=192, C=168, D=1, E=1, B
1
=b
2
, B
2
=b
4
A=udp, B=192, C=168, D=1, E=1, B
1
=b
2
, B
2
=b
4
A=udp, B=192, C=168, D=1, E=1, B
1
=b
2
, B
2
=b
4
A=udp, B=192, C=168, D=1, E=1, B
1
=b
2
, B
2
=b
4
4 Solutions
Каждое решение означает наличие своей, отличной от других, пары
путей, ведущих в состояния
b
2 и
b
4, приводящих к затенению.
Заключение.
В настоящей статье подробно изложена методика пе-
рехода от конфигурирования сетевых экранов процессными моделя-
ми и условий их некорректности к логической программе на языке
108 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2015. № 1