Mô hình thang máy

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng hệ thống thời gian thực bằng công cụ kiểm chứng mô hình SAL (Trang 40 - 48)

Đặc t hệ th ng thang máy bao g m hai m un: m un ặc t thang máy (controller) v m un ặc t tr ng thái cửa thang máy (door). Cửa thang

close open Close[i] Open[i] Close[i] Open[i] 1 2 3 up up up down down down

máy có hai tr ng thái là: open, close. Thang máy ho t ộng từ t ng một ến t ng ba, khi di chuyển ến vị trí các t ng thì cử t ng ng sẽ c mở ra.

4.2.2. Mô hình và kiểm duyệt hệ thống thang máy trong SAL 4.2.2.1Mô hình hóa

 un ặ t th ng m y (controller)

4.2.2.2Kiểm duyệt các tính chất

 Kiểm uyệt tính h t s u hệ th ng th ng m y

 ỗi ử lu n từ tr ng th i close v u i ùng l tr ng th i open.

 u n ử ở tr ng th i close

 Sử ng ộ kiểm uyệt s l-sm ể kiểm uyệt tính h t: Tính ch t th1 c ch ng minh (proved).

Tính h t th2 h ng minh (proved)

Tính h t th3 h ng minh (proved)

Chương 5. K T LUẬN

Kiểm duyệt mô hình là một k th t kiểm duyệt t ộng các hệ th ng h u h n tr ng th i ể m b o hệ th ng th m n c yêu c u ng ời dùng.

Sau một thời gi n nghi n u v t m hiểu lu n v n t kết qu nh s u: ọ vi n t m hiểu kiến th n nh t về kiểm duyệt mô hình o g m: kh i niệm n về kiểm duyệt ph n mềm tiến tr nh th hiện kiểm duyệt o g m nh ng gi i o n n o ng việ n th hiện trong qu tr nh kiểm duyệt.

Ngoài ra, lu n v n n t p trung tìm hiểu công c SAL r một s kinh nghiệm sử d ng công c SAL Từ r ặ tr ng n c SA l “Kiểm chứng các hành vi có độ dài nhỏ hơn hoặc bằng k”.

u i ùng p ng nh ng kiến th t m hiểu trong giới h n lu n v n họ vi n viết h ng tr nh th nghiệm ể thử nghiệm ph ng ph p kh o s t ở tr n ho i to n thể Bài to n “Hệ thống công tác đèn”, “Thang máy đơn giản” c mô hình và và kiểm duyệt các tính ch t thông qua công c SAL.

Trong t ng l i lu n v n sẽ tiếp t ph t triển theo h ớng kiểm uyệt m h nh tr n công c SAL ng thời thể p ng nh ng t m hiểu nghi n u v o nh ng i to n th tiễn hiện nay.

TÀI LIỆU THAM KHẢO TI NG ANH

[1] Christel Baier Joost-Pieter Katoen (2008), Principles of Model Checking, MIT Press,Printed and bound in the United States of America, pp.19-26, 35-55, 89 -99, 151-152, 159-167, 170 -180, 188-193, 229-233.

[2] iu Y ng ( 9) “ OD K O URR T A D R A - T SYST S: T PAT APPROA ” A thesis submitted for the degree of doctor of philosophy department of computer science national university of Singapore, pp.20-22.

[3] Saddek Bensalem, Vijay Ganesh, Yassine Lakhnech, Cesar Munoz, Sam Owre, Harald Rueß, John Rushby, Vlad Rusu, Hassen Saidi, N. Shankar, Eli Singerm n Ashish Tiw ri ( ) “An Overview of SA ” LFM 2000: Fifth NASA Langley Formal Methods Workshop, Williamsburg, pp.5-6.

[4] ee Pike ( 7) ” o el he king for the Pr ti l Verifi tionist”

Automated Formal Methods(AFM07), pp.1-2, 4-5.

[5] Leonardo de Moura, Sam Owre, N. Shankar (2003), The SAL Language Manual. (Rev.2), SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.5-23.

[6] Leonardo de Moura (2004), SAL: Tutorial. Computer Science Laboratory, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.3-4, 6-10.

[7] S. Owre, N. Shankar, J. M. Rushby, D. W. J. Stringer - Calvert (November 2001), PVS Language Reference, Version 2.4, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.11-17, 37-42.

PHỤ LỤC 1. Hệ thống đèn cầu thang trong SAL (Light.sal)

light: context = BEGIN

Signal: type = {off, low, high}; CState: type = [0 .. 2];

StateBtn: type = {up, down}; switch: module = BEGIN INPUT isState : BOOLEAN OUTPUT ctrLamp : StateBtn INITIALIZATION ctrLamp = down; TRANSITION [

(isState) --> ctrLamp' = up; [] else --> ctrLamp' = down; ] END; lamp : module = BEGIN INPUT tick : StateBtn OUTPUT light : Signal LOCAL

status: CState INITIALIZATION

status = 0; DEFINITION

light = if (status = 0) then off elsif (status = 1) then low else high endif;

TRANSITION [

((status = 0) AND (tick = up))--> status' = 1; [] ((status = 1) AND (tick = up)) --> status' = 2; [] ((status = 2) AND (tick = up)) --> status' = 2; [] ((status = 0) AND (tick = down)) --> status' = 0; [] ((status = 1) AND (tick = down)) --> status' = 0; [] ((status = 2) AND (tick = down)) --> status' = 1; ]

END;

system: MODULE = switch [] lamp;

th1: theorem system |- G(NOT((light = high) AND U((light /= low),(light = off))));

2. Hệ thống thang máy trong SAL (ele.sal)

ele: context = BEGIN

N: NATURAL = 3; index: TYPE = [1..N];

mType: type = {close, open}; controller: MODULE = BEGIN LOCAL onFloor: index OUTPUT openclosedoor: mType GLOBAL process : index INITIALIZATION

onFloor = 1; openclosedoor = close; TRANSITION [

onFloor /= 3 AND openclosedoor = close

--> onFloor' = onFloor + 1; openclosedoor' = open; process' = onFloor

[]onFloor /= 1 AND openclosedoor = close

--> onFloor' = onFloor - 1; openclosedoor' = open; process' = onFloor

] END;

door[i: index]: MODULE = BEGIN INPUT openclosedoor : mType, process : index LOCAL arrDoorisopen : mType INITIALIZATION arrDoorisopen = close; TRANSITION [

(openclosedoor = open) AND (i = process) AND arrDoorisopen = close --> arrDoorisopen' = open

[]else --> arrDoorisopen' = close ]

END;

system: MODULE = controller [] ([] (i: index): door[i]);

th1: THEOREM system |- G(arrDoorisopen[1] = close => F(NOT (arrDoorisopen[1] /= close)));

th2: THEOREM system |- G(arrDoorisopen[2] = close => F(NOT (arrDoorisopen[2] /= close)));

th3: THEOREM system |- G(arrDoorisopen[3] = close => F(NOT (arrDoorisopen[3] /= close)));

th4: THEOREM system |- G(forall(i, j: index): i /= j => arrDoorisopen[i] /= open or arrDoorisopen[j] /= open);

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng hệ thống thời gian thực bằng công cụ kiểm chứng mô hình SAL (Trang 40 - 48)

Tải bản đầy đủ (PDF)

(48 trang)