1) Tối đa là có n vai của R đồng thời ở trạng thái kích hoạt trong một phiên (các phiên) của cùng một ngời dùng thuộc U trong khoảng thời gian (I, P). Biểu thức ACT1-num = ( , I P, ACT1-n , , U R) vớiACT1-n ::= Π2list(active u, r, t)( ) ≤ n. Đặc biệt khi n = 1, ta có ràng buộc SoD: Không có hai vai nào của R có thể đồng thời ở trạng thái kích hoạt trong một phiên (các phiên) của một ngời dùng thuộc U
trong khoảng thời gian (I, P). Biểu thức: ACT1-SoD = (I P, , ACT1 , , U R). Trong đó ACT1 ::= Π2list(active u, r, t)( ) ≤ 1.
ACT1-SoD ngăn chặn hai vai mâu thuẫn đồng thời bị một ngời dùng kích hoạt
trong một phiên (các phiên) của ngời dùng này.
2) Tối đa là có ngời dùng thuộc n U đồng thời có cùng một vai của R ở trạng thái kích hoạt trong khoảng thời gian (I, P).
Biểu thức: ACT2-num = ( , I P, ACT2-n , , U R). Trong đó ACT2-n ::= Π1list(active u, r, t)( ) ≤ n.
Đặc biệt khi n = 1, ta có ràng buộc SoD: Không có hai ngời dùng nào thuộc U
đồng thời kích hoạt đợc cùng một vai của R trong khoảng thời gian (I, P). Biểu thức: ACT2-SoD = (I P, , ACT2 , , U R).
Trong đó ACT2 ::= Π1list(active u, r, t)( ) ≤ 1.
ACT2-SoD ngăn chặn các ngời dùng mâu thuẫn đồng thời kích hoạt đợc cùng một vai.
Một số ràng buộc SoD khác:
1) Những ngời dùng khác nhau thuộc không thể đồng thời U kích hoạt đợc các i khác nhau của trong khoảng thời gian va R (I, P).
Biểu thức: ACT3-SoD = (I P, , ACT3 , , U R). Trong đó:
ACT3 ::= (( Π1list(active u, r, t)( ) ≥1)∧( Π2list(active u, r, t)( ) = 1))
∨ (( Π2list(active u, r, t)( ) ≥1)∧( Π1list(active u, r, t)( ) = 1))
2) Các vai khác nhau của Rcó thể đồng thời ở trạng thái kích hoạt trong một phiên (các phiên) chỉ của một ngời dùng thuộc U trong khoảng thời gian (I, P). Biểu thức: ACT4-SoD = (I P, , ACT4 , , U R).
Trong đó ACT4 ::= ( Π2list(active u, r, t)( ) ≥1)∧( Π1list(active u r, t)( , ) = 1) 3) Những ngời dùng thuộc U chỉ có thể đồng thời kích hoạt đợc một vai của R trong khoảng thời gian (I, P). Biểu thức: ACT5-SoD = (I P, , ACT5 , , U R). Trong đó ACT5 ::= ( Π1list(active u, r, t)( ) ≥1)∧( Π2list(active u, r, t)( ) = 1)
4) Một vai của R chỉ có thể ở trạng thái kích hoạt trong một phiên (các phiên) của một ngời dùng thuộc và ngợc lại một ngời dùng thuộc U U chỉ có thể kích hoạt đợc một vai của R trong một phiên (các phiên) của mình tại một thời điểm trong khoảng thời gian (I, P). Biểu thức ACT6-SoD = ( , , ACTI P 6 , , U R).
Trong đó ACT6 ::= ( Π2list(active u, r, t)( ) ≤1)∧( Π1list(active u, r, t)( ) ≤1). 5) Một ngời dùng thuộc U có thể có một vai của R ở trạng thái kích hoạt chỉ trong một phiên của mình tại một thời điểm trong khoảng thời gian (I, P).
Trong đó ACT7 ::= Π3list(s_active u, r, s, t)( ) ≤ 1.
6) Hai vai của không thể đồng thời ở trạng thái kích hoạt trong một phiên R
của một ngời dùng thuộc U trong khoảng thời gian (I, P). Biểu thức: ACT8-SoD = (I P, , ACT8 , , ,U R S).
Trong đó ACT8 ::= Π2list(s_active u, r, s, t)( ) ≤ 1
7) Không có hai phiên nào của một ngời dùng thuộc U có thể có hai vai của
R đồng thời ở trạng thái kích hoạt trong khoảng thời gian (I, P). Biểu thức: ACT9-SoD = (I P, , ACT9 , , ,U R S). Trong đó:
ACT9 ::= (( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1))
∨ (( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1))
8) Một ngời dùng thuộc U chỉ có thể có một vai của R ở trạng thái kích hoạt trong các phiên của mình tại một thời điểm trong khoảng thời gian (I, P).
Biểu thức: ACT10-SoD = (I P, , ACT10 , , ,U R S). Trong đó:
ACT10 ::= ( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1) 9) Các vai của R chỉ có thể đồng thời ở trạng thái kích hoạt trong một phiên của một ngời dùng thuộc U trong khoảng thời gian (I, P).
Biểu thức: ACT11-SoD = (I P, , ACT11 , , ,U R S). Trong đó:
ACT11 ::= ( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1) 10) Các vai của Rcó thể đồng thời ở trạng thái kích hoạt trong một phiên chỉ của một ngời dùng thuộc U trong khoảng thời gian (I, P).
Biểu thức: ACT12-SoD= (I P, , ACT12 , , ,U R S). Trong đó:
ACT12 ::= ( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π1list(s_active u, r, s, t)( ) = 1).
Một số ràng buộc số l ợng khác:
1) Tối đa là có n vai của R đồng thời ở trạng thái kích hoạt trong một phiên của một ngời dùng thuộc U trong khoảng thời gian (I, P).
Biểu thức: ACT13-num = ( , I P, ACT13-n , , U R)
Đặc biệt khi n = 1, ta có ràng buộc SoD: Hai vai của R không thể đồng thời ở trạng thái kích hoạt trong một phiên của một ngời dùng thuộc U trong khoảng thời gian
(I, P). Biểu thức: ACT13-SoD= (I P, , ACT13 , , U R, S). Trong đó ACT13 ::= Π2list(s_active u, r, s, t)( ) ≤ 1.
ACT13-SoD ngăn chặn hai vai mâu thuẫn đồng thời bị một ngời dùng kích hoạt trong một phiên của ngời dùng này.
2) Tối đa là có kích hoạt đồng thời của các ngời dùng thuộc n U vào cùng một vai của trong khoảng thời gian R (I, P).
Biểu thức: ACT14-num = ( , I P, ACT14-n , , U R).
Trong đó ACT14-n ::= Π1,3list(s_active u, r, s, t)( ) ≤ n.
ACT14-num hạn chế số lợng kích hoạt của các ngời dùng đồng thời vào cùng một vai để quản lý tài nguyên hệ thống.
3) Tối đa là có n kích hoạt đồng thời của một ngời dùng thuộc Uvào cùng một vai của trong khoảng thời gian R (I, P).
Biểu thức: ACT15-num = ( , I P, ACT15-n , , U R). Trong đó ACT15-n ::= Π3list(s_active u, r, s, t)( ) ≤ n .
ACT15-num hạn chế số lợng kích hoạt đồng thời của một ngời dùng vào cùng một vai để quản lý tài nguyên hệ thống.
4) Tổng số kích hoạt của những ngời dùng thuộc vào cùng một vai của U R
trong khoảng thời gian (I, P) thì không thể vợt quá n. Biểu thức: ACT16-num = ( , I P, ACT16-n , , U R).
Trong đó ACT16-n ::= π1,3(Π1,3,4list(s_active u, r, s, t)( )) ≤ n .
ACT16-num hạn chế tổng số kích hoạt của các ngời dùng vào cùng một vai để quản lý tài nguyên hệ thống.
5) Tổng số kích hoạt của một ngời dùng thuộc U vào cùng một vai của R
trong khoảng thời gian (I, P) thì không thể vợt quá n. Biểu thức: ACT17-num = ( , I P, ACT17-n , , U R).
ACT17-num hạn chế tổng số kích hoạt của một ngời dùng vào cùng một vai để
quản lý tài nguyên hệ thống.
Định lý 2.11:
Các ràng buộc SoD thời gian trong việc kích hoạt vai sau là t ơng đ ơng: 1) ACT4-SoD ⇔ACT2-SoD ∧ACT3-SoD
2) ACT5-SoD ⇔ACT1-SoD ∧ACT3-SoD 3) ACT6-SoD ⇔ACT1-SoD ∧ACT2-SoD 4) ACT10-SoD ⇔ACT8-SoD ∧ACT9-SoD 5) ACT11-SoD ⇔ACT7-SoD ∧ACT9-SoD Chứng minh :
1) Trớc hết ta chứng minh rằng: ACT4 ⇔ACT2 ∧ACT3 Thật vậy ta có: ACT2 ∧ACT3
(⇔ Π1list(active(u, r, t)) ≤1) ∧
((( Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1)) ∨
(( Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1))) ((⇔ Π1list(active(u, r, t)) ≤1)∧
( Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1)) ∨
(( Π1list(active(u, r, t)) ≤1)∧
( Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1)) ((⇔ Π2list(active(u, r, t)) = 1)∧( Π1list(active(u, r, t)) = 1)) ∨
(( Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1))
(⇔ Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1) ⇔ ACT4 Suy ra: ( , , I P ACT4, , U R) ( , , ⇔ I P ACT2∧ACT3, , U R)
( , , ⇔ I P ACT2, , U R)∧( , , I P ACT3, , U R)
Vậy ta đợc: ACT4-SoD ⇔ACT2-SoD ∧ACT3-SoD.
2) Tơng tự phần 1), để chứng minh: ACT5-SoD ⇔ACT1-SoD ∧ACT3-SoD chỉ cần chứng tỏ rằng: ACT5 ⇔ACT1 ∧ACT3.
Ta có: ACT1 ∧ACT3 ⇔
(⇔ Π2list(active(u, r, t)) ≤ 1)∧
((( Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1)) ∨
(( Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1))) ((⇔ Π2list(active(u, r, t)) ≤1)∧
( Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1)) ∨
(( Π2list(active(u, r, t)) ≤1)∧
( Π2list(active(u, r, t)) ≥1)∧( Π1list(active(u, r, t)) = 1)) ((⇔ Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1)) ∨
(( Π1list(active(u, r, t)) = 1)∧( Π2list(active(u, r, t)) = 1))
(⇔ Π1list(active(u, r, t)) ≥1)∧( Π2list(active(u, r, t)) = 1) ⇔ ACT5
Vậy ta đợc: ACT5 ⇔ACT1 ∧ACT3.
3) Tơng tự phần 1), để chứng minh: ACT6-SoD ⇔ACT1-SoD ∧ACT2-SoD
ta chỉ cần chứng tỏ rằng: ACT6 ⇔ACT1 ∧ACT2. Nhng điều này là hiển nhiên vì: ACT1∧ACT2 (⇔ Π2list(active(u, r, t)) ≤1)∧( Π1list(active(u, r, t)) ≤1) ⇔ACT6
4) Tơng tự phần 1), để chứng minh: ACT10-SoD ⇔ACT8-SoD ∧ACT9-SoD chỉ cần chứng tỏ rằng: ACT10 ⇔ACT8 ∧ACT9. Ta có: ACT8 ∧ACT9 ⇔
(⇔ Π2list(s_active u, r, s, t)( ) ≤1) ∧
((( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)) ∨
(( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1))) ((⇔ Π2list(s_active u, r, s, t)( ) ≤1)∧
( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)) ∨
(( Π2list(s_active u, r, s, t)( ) ≤1)∧
( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1)) ((⇔ Π3list(s_active u, r, s, t)( ) = 1)∧( Π2list(s_active u, r, s, t)( ) = 1)) ∨
⇔ ( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1)
⇔ ACT10
Vậy ta đợc: ACT10 ⇔ACT 8 ∧ACT9.
5) Tơng tự phần 1), để chứng minh: ACT11-SoD ⇔ACT7-SoD ∧ACT9-SoD chỉ cần chứng tỏ rằng: ACT11 ⇔ACT7 ∧ACT9.
Ta có: ACT7 ∧ACT9
(⇔ Π3list(s_active u, r, s, t)( ) ≤1) ∧
((( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)) ∨
(( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1))) ((⇔ Π3list(s_active u, r, s, t)( ) ≤1)∧
( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)) ∨
(( Π3list(s_active u, r, s, t)( ) ≤1)∧
( Π3list(s_active u, r, s, t)( ) ≥1)∧( Π2list(s_active u, r, s, t)( ) = 1)) ⇔ (( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)) ∨
(( Π2list(s_active u, r, s, t)( ) = 1)∧( Π3list(s_active u, r, s, t)( ) = 1))
⇔ ( Π2list(s_active u, r, s, t)( ) ≥1)∧( Π3list(s_active u, r, s, t)( ) = 1)
⇔ ACT11
Vậy ta đợc: ACT11 ⇔ACT 7 ∧ACT9.