Đ I H C CÔNG NGH - Đ I H C QU C GIA HÀ N I
KHOA CÔNG NGH THÔNG TIN
BÁO CÁO
Đ tài:
TÌM HI U
ERIGONE MODEL CHECKER
Gi ng viên h ng d n : TS. Đ ng Đ c H nh ướ
TS. Vũ Di u H ng ươ
Sinh viên th c hi n : L u Hoàng Tùng ư
Nguy n Công Đ c
Hà n i - 2012
M C L C
L I NÓI Đ U ............................................................................ 1
Ch ng 1. ERIGONE TRÊN CÔNG C EUIươ ........................... 2
I/ Gi i thi u t ng quan .................................................................................................................. 2
1.Gi i thi u Erigone model checker .......................................................................................... 2
2.Công c phát tri n ................................................................................................................. 3
2.1. Command line ............................................................................................................. 3
2.2. EUI (Erigone User Interface) ......................................................................................... 7
3.Mô ph ng xác minh trong Erigone .................................................................................... 9
4.Ch ng trình Traceươ ................................................................................................................ 9
II/ Ví d demo ............................................................................................................................. 10
1.Gi i quy t hai ti n trình lo i tr l n nhau ế ế ............................................................................ 10
2.Lo i tr l n nhau v i m t semaphore .................................................................................. 12
3.Xác minh m t ch ng trình Promela v i câu l nh assert ươ .................................................... 14
4.c minh m t thu c tính an toàn s d ng LTL ................................................................... 16
5.Ch ng minh khái ni m v s ng b ng v i câu l nh LTL ................................................. 18
Ch ng 2: ERIGONE B NG CÂU L NHươ .............................. 22
I/ Tìm hi u v Erigone b ng dòng l nh: ..................................................................................... 22
1.Erigone: ................................................................................................................................ 22
1.1. Th c thi theo ph ng th c: ươ ......................................................................................... 23
1.2. Hi n th l a ch n v i các đ i s : ................................................................................ 24
1.3. Biên d ch ch y tng đi p: ........................................................................................... 24
1.4. Chuy n ti p(transitions): ế .............................................................................................. 24
1.5. Chuy n đ i LTL: .......................................................................................................... 25
1.6. Ki m tra l i(debug arguments) .................................................................................... 25
Tìm hi u v Erigone model checker Trang 1
2. List: ...................................................................................................................................... 26
3. Trace: .................................................................................................................................. 26
4. VMC .................................................................................................................................... 27
II/ Mô ph ng m t s ch ng trình Promela b ng công c Erigone ươ ........................................... 28
1. Mô ph ng v i quá trình truy n thông đi p(chanel) ............................................................. 28
2. Mô ph ng ch ng trình t ng tranh ươ ươ ................................................................................... 34
3. Ki m ch ng đ tin c y khi s d ng LTL ............................................................................ 36
III/ Ch ng trình Listươ ................................................................................................................... 37
IV/ Ch ng trình Traceươ ............................................................................................................... 37
V/ Ch ng trình VMCươ ................................................................................................................. 40
TÀI LI U THAM KH O ......................................................... 44
Tìm hi u v Erigone model checker Trang 2
L I NÓI Đ U
Erigone hình tri n khai l i c a hình ki m ch ng Spin đ c phát ượ
tri n v i m c đích ki m ch ng đ c d dàng tr c quan, uy n chuy n nh m ượ
thu n l i cho vi c nghiên c u ph ng hình h th ng, erigone th
đ c th c hi n b ng công c trên giao di n đ h a EUI ho c thao tác b ng câuượ
l nh d i d ng command line v i nhi u tùy bi n l a ch n cho phép ki m ướ ế
ch ng ho t đ ng c a h th ng.
Tìm hi u Erigone model checker nh m m c đích tìm hi u h n v ơ
hình ki m ch ng erigone thông qua m t s d , đ c th c hi n b ng công c ượ
đ h a EUI b ng câu l nh command line, v i nh ng nhìn nh, phân tích
ch ng trình m t cách tr c quan.ươ
đây l n đ u ti p xúc, tìm hi u v 1 khía c nh m i nên s không ế
tránh kh i nh ng khó khăn d n đ n nh ng thi u sót trong báo cáo, chúng em ế ế
mong th y (cô) b qua.
Chúng em xin chân thành c m n th y đã ch b o h ng d n chúng em đ ơ ướ
chúng em có th hoàn thành báo cáo này.
Tìm hi u v Erigone model checker Trang 1
Ch ng 1. ERIGONE TRÊN CÔNG C EUIươ
I/ Gi i thi u t ng quan
1. Gi i thi u Erigone model checker
Erigone m t ph n tri n khai l i c a hình ki m ch ng Spin. Erigone
tri n khai m t t p con c a Promela, nóđ đ ch ng minh các khái ni m
c b n c a hình ki m ch ng cho vi c xác minh (verification) c a cácơ
ch ng trình đ ng th i. Không m t ngôn ng c u trúc nào đ c thêm vàoươ ượ
sao cho ch ng trình cho Erigone th đ c s d ng v i Spin đ ươ ượ
nhi u tính uy n chuy n và hi u su t t t h n mong mu n. ơ
Erigone đ c vi t b ng ADA năm 2005 cho đ tin c y, b o trì tính linhượ ế
ho t. Nó đ c s d ng nh m t chu n ki n trúc. ượ ư ế
Đ c tính c a Erigone:
Erigone đ n nh t, khép kín, t p tin th c thi đ cài đ t s d ngơ
là d dàng.
Erigone s n sinh m t v t (trace) chi ti t trong nh ng thu t toán ế ế
hình ki m ch ng. N i dung các v t th tùy ch nh m t đ nh ế
d ng th ng nh t d a trên t khóa đ c s d ng đ th đ c đ c ượ ượ
tr c ti p ho c đ c s d ng b i các công c khác. ế ượ
Mô-đun hóa m r ng đ c s d ng trong vi c thi t k c a ch ng ượ ế ế ươ
trình Erigone t o đi u ki n cho hi u bi t v ngu n. Đi u này ế
cũng s cho phép các nhà nghiên c u d dàng s a đ i m r ng
ch ng trình.ươ
Ngoài vi c ki m ch ng hình Erigone còn ch a các ch ng trình ươ
b xung riêng bi t:
– COMPILER: Ch y ch ng trình biên d ch c a chính nó. ươ
– LST: Đ nh d ng đ u ra c a trình biên d ch
Tìm hi u v Erigone model checker Trang 2