ВУЗ:
Составители:
Рубрика:
38 Д. С. КУЛЯБОВ
в том случае, если все условия, означающие присутствие указанных прав
доступа в ячейках матрицы M, являются истинными).
2.2.5.3. ЭЛЕМЕНТАРНЫЕ ОПЕРАЦИИ
В классической модели допустимы только следующие элементарные
операции:
enter r into M[s, o] (добавление субъекту s права r для объекта o)
delete r from M[s, o] (удаление у субъекта s права r для объекта o)
create subject s (создание нового субъекта s)
create object o (создание нового объекта o)
destroy subject s (удаление существующего субъекта s)
destroy object o (удаление существующего объекта o)
Применение любой элементарной операции op в системе, находящейся
в состоянии Q = (S,O, M), влечет за собой переход в другое состоя-
ние Q
0
= (S
0
,O
0
, M
0
), которое отличается от предыдущего состояния Q по
крайней мере одним компонентом. Выполнение базовых операций приво-
дит к следующим изменениям в состоянии системы:
enter r into M[s, o] (где s ∈ S, o ∈ O)
O
0
= O
S
0
= S
M
0
[x
s
, x
o
] = M[x
s
, x
o
], если (x
s
, x
o
) 6= (s, o)
M
0
[s, o] = M[s, o] ∪ {r}
Данная операция вводит право r в существующую ячейку матри-
цы доступа. Содержимое ячейки рассматривается как множество,
т.е. если это право уже имеется, то ячейка не изменяется. Опера-
ция enter называется монотонной, т.к. она только добавляет права в
матрицу и ничего не удаляет. Предусловие выполнения операции —
существование ячейки (существование соответствующих субъекта и
объекта).
delete r from M[s, o] (где s ∈ S, o ∈ O)
O
0
= O
S
0
= S
M
0
[x
s
, x
o
] = M[x
s
, x
o
], если (x
s
, x
o
) 6= (s, o)
M
0
[s, o] = M[s, o]\{r}
Данная операция удаляет право r из ячейки матрицы доступа, ес-
ли оно там присутствует. Содержимое ячейки рассматривается как
множество, т.е. если удаляемое право отсутствует в данной ячейке,
то данная операция ничего не делает. Операция delete называется
немонотонной, т.к. она удаляет информацию из матрицы. Предусло-
вие выполнения операции — существование ячейки (существование
соответствующих субъекта и объекта).
create subject s (где s /∈ S)
O
0
= O ∪ {s}
S
0
= S ∪ {s}
M
0
[x
s
, x
o
] = M[x
s
, x
o
] для всех (x
s
, x
o
) ∈ S × O
M
0
[s, x
o
] = ∅ для всех x
o
∈ O
0
M
0
[s, x
s
] = ∅ для всех x
s
∈ S
0
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »