1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

54 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 477,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC CHUNG 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 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI, 2015

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN KHẮC CHUNG

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

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI, 2015

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN KHẮC CHUNG

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

Nghành : Công nghệ thông tin Chuyên nghành : Kỹ thuật phần mềm

Mã số

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG VĂN HƯNG

HÀ NỘI, 2015

Trang 4

T i xin m o n r ng y l kết qu nghi n u t i trong s

gi p r t lớn th y h ớng n nội ung nghi n u v kết qu trong

32.1.3 Ưu

3 Ưu32.1.4

2.2 Mô hình hóa hệ th ng

2.2.1 Hệ th

Trang 5

Định ngh2.2.1.2 Th

2.2.2 Mô hình hóa hệ th ng song song và giao tiếp

Đ2.2.2.2 Giao tiếp thông qua các biến dùng chung

2.2.2.3 B t tay (handshaking)

2.2.2.4 Hệ th

3 Đặc t các tính ch t hệ th2.3.1 Tính an toàn (safety property)

2.3.1.1 Khóa chết2.3.1.2 B t biến (invariant)

2.3.2 Tính s2.4 Kiểm duyệt mô hình hệ th ng thời gian th c (model checking real-time

system)

2.4.1 Hệ th

Trang 6

2.4.2 Hệ th2.5 Logic Thời gian tuyến tính (Linear Temporal Logic)

2.5.1 Logic thời gian tuyến tính

2.5.1.1 Cú pháp (Syntax)

2.5.1.2 Ng

2.5.2 Kiểm duyệt mô hình logic thời gian tuyến tính d a trên otomat

h ng 3 TỔNG QUAN VỀ CÔNG CỤ KIỂM CHỨNG MÔ HÌNH SAL

(Symbolic Analysis Laboratory)

3.1.4.1 Bộ kiểm tra mô hình biểu t ng (symbolic model checker)

3.1.4.2 Bộ kiểm tra mô hình chặn (bounded model checker)

Trang 7

4.1.1.Mô t bài toán

4.1.2.Mô hình và kiểm duyệt hệ th ng ng t 4.1.2.1 Mô hình hóa

4.1.2.2 Kiểm duyệt các tính ch t

4.2 Bài toán hệ th ng th ng m y n gi n

4.2.1.Mô t bài toán

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

4.2.2.1 Mô hình hóa

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

h ng 5 KẾT LUẬN

TÀI LIỆU THAM KH O

PHỤ LỤC

Trang 8

Hình 3-2: Ví d về sal path finder Hình 3-3: Ví d

Trang 9

7

Trang 10

Chương 1 GIỚI THIỆU

Ngày nay, sthông ngày càng nhiều v

và i s u vào cuộc s ng hàng ngày c a chúng ta chẳng h n nh

th c b ng cách thêm biến ếm ng h vào tiến trình thời gi n

ràng buộc thời gian với các quá trình chuyển

c u các lý thuyết

c kiểm duyệt mô hình SAL và sử d ng SA

trong th c tế

Trang 11

Chương 2 TỔNG QUAN VỀ KIỂM DUYỆT MÔ HÌNH

2.1 Kiểm duyệt mô hình (model checking)

2.1.1 Định nghĩa kiểm duyệt mô hình

Kiểm duyệt mô hình được định nghĩa bởi Clarke & Emerson 1981: Kiểm

duyệt mô hình là một k thu t t ộng, khi ho tr ớc một mô hình tr ng thái h u

h n c a hệ th ng và một tính ch t hình th c, kiểm tra một cách có hệ th ng xem tính ch t có th a mãn ở t t c các tr ng thái trong mô hình [1]

Hình 2-1: Tổng quan về kiểm duyệt mô hình 2.1.2 Quá trình chung cho việc kiểm duyệt mô hình

2.1.2.1 Giai đoạn mô hình hóa

 nh th h thuộ tính n kiểm tr sử ng ng n ng ặ

t tính h t

2.1.2.2 Giai đoạn thực thi

Th c thi một bộ kiểm tr m h nh ể kiểm tra tính h p lệ c a các tính ch ttrong mô hình hệ th ng

Trang 12

tính h t trong m h nh ếu một tính huyển

s ng kiểm tr tính h t tiếp theo

ỗ tr kiểm uyệt ộ ph n tính h t thể kiểm uyệt một h

ri ng lẻ từ thể t p trung kiểm uyệt tính h t qu n trọng tr ớ m

một k thu t nhiều tiềm n ng kiểm uyệt m h nh t ng t m

ộ o với ng ời sử ng v kh ng y u u ng ời sử ng m ộ

o về huy n m n

Dễ ng t ng thí h với

nghi n u h r r ng nmềm ng n h n

Phù h p với từng v n ề thể nh l hệ th ng tr ng th i v h nhoặ về kiểu liệu trừu t ng nh ng kiểm uyệt m h nh kh nghiệu qu trong tính to n

Kiểm uyệt m h nh một hệ th ng nh ng hệ th ng kh ng ph i l th tế

Trang 13

11(s n phẩm hoặ nguy n m u) ọi kết qu nh n l m h nh hệ

th ng Do n thiết nh ng k thu t ổ tr kh nh l kiểm thử ể

Kiểm uyệt m h nh y u u việ t m kiếm trừu t ng thí h h p ể

hệ th ng m h nh nh h n v thể hiện tính h t tr ng th i theologi h nh th

2.1.4 Các bước để kiểm duyệt mô hình

Hệ th ng lớn có nhiều thành ph n, nên việc kiểm duyệt cho các hệ th ng

này gặp nhiều kh kh n Vì thế, việc mô hình một hệ th ng c xem nh ể

ph c v cho m í h kiểm duyệt Do các hệ th ng chuyển ổi c sử d ng

ể mô hình hóa cho các hệ th ng

Mô hình hóa hệ th ng là mô t chính xác và rõ ràng hành vi c a hệ th ng

Chúng ta sử d ng hệ th ng chuyển ổi cùng với tên c a h nh ộng cho quá

trình chuyển ổi (th y ổi tr ng thái) và các mệnh ề nguyên tử cho các

Trang 15

2.2.1.2 Thực thi (run)

Th c thi là mô t một hành vi có thể có c a hệ th ng chuyển ổi

 Th thi ph n o n ( xe ution Fr gment):

Gi sử TS = (S, Act, →, I , AP, L) là một hệ th ng chuyển ổi Một th c thi ph

n o n h u h n c a TS là một chuỗi th y ổi c a các tr ng thái, hành

ộng và kết thúc với một tr ng thái

Trang 16

=

Trang 17

2.2.2 Mô hình hóa hệ thống song song và giao tiếp

Gi sử r ng hành vi c a các tiến trình ch y trên hệ th ng song song r

bởi các hệ th ng chuyển ổi TS 1 , TS 2 ,…TS n Định ngh to n tử song song là “||”

và TS = TS 1 || TS 2 …|| TS n là một hệ th ng chuyển ổi ặc t thành ph n song

song c a các hệ th ng chuyển ổi từ TS 1 ến TS n

2.2.2.1 Đồng thời và đan xen (Concurrency and Interleaving)

Trang 18

Hình 2-3: Ví dụ mô tả interleaving của 2 đèn giao thông

2.2.2.2 Giao tiếp thông qua các biến dùng chung

Toán tử “interle ving” c sử d ng ể mô hình hóa hệ th ng không

ng bộ trong quy tr nh on ho t ộng ho n to n ộc l p với nhau, không có việc

truyền tin nh n hoặ xung ột về biến dùng chung Một hệ th ng mà có các thành

ph n con ho t ộng ng thời ể có thể nói chuyện giao tiếp với nhau thì sử d ng biến

dùng chung

Ví dụ: Sử dụng biến dùng chung cho các tiến trình đồng thời

Đ thị cho hai ch d n α và β là các tiến trình song song.

Trang 19

Các tiến tr nh ng thời mu n t ng t gi o tiếp với nhau ở cùng một iểm trong

hệ th ng ng bộ thì ph i thông qua việc b t tay Thông tin tr o ổi khi b t tay có thể là s nguy n n gi n, c u trúc d liệu ph c t p m ng hoặc các b n ghi

2.2.2.4 Hệ thống kênh truyền (Channel System)

Các hệ th ng song song có các tiến trình giao tiếp với nhau thông qua cáckênh truyền ngh l tiến trình v o tr ớ r tr ớc bộ ệm, và bộ ệm có thể ch a các tin nh

n Hệ th ng kênh truyền l ng v tiến trình trong cùng một

hệ th ng có thể giao tiếp với nhau (thông qua kênh truyền), nh ng không thể giaotiếp với các tiến trình khác ở bên ngoài hệ th ng

2.3.1 Tính an toàn (safety property)

Một tính an toàn là một tính ch t c mô t nh bao

giờ x y r ” (“something never h ppens”) Do

l “th g x u không ,yêu c u an toàn bao

Trang 20

Một công th c tổng quát h n a tính an toàn có thể c mô t nh một

công th c c a mệnh ề nguyên tử Ví d ( ) là một tính an toàn cho v n ề lo i trừ l n nhau ngh l xử lý 0 và xử

lý 1 không thể v o vùng g ng t i cùng một thời iểm.

Để xác minh các tính an toàn, chúng ta c n tiến hành tìm kiếm theo chiều sâu (hoặc chiều rộng) trong không gian tr ng thái Trong quá trình tìm kiếm, nếu

tr ng th i t c là không mong mu n (ví d không có chuyển ổi trong

tr ờng h p khóa chết) s u h ng t t m r một vết ể làm b ng ch ng nh lmột ph n ví d

2.3.1.2 Bất biến (invariant)

Một thuộc tính thời gian tuyến tính trên một t AP là

một b t biến nếu có một biểu th c logic mệnh ề nguyên tử

sao cho:

p mệnhề nguyên tử trên một t p mệnh ề

Trang 22

18minh ch b ng các tr ng thái có thể t c Để minh họ ho iều này xem xet

ví d là máy rút tiền ATM (automated teller machine) Một yêu c u c a là tiền

ch có thể c rút từ m y khi c cung c p một m t khẩu chính xác.Tính ch t này không

ph i là một b t biến, vì nó không ph i là một tính ch t tr ng thái Tuy

nhiên tính ch t n y

yêu c u có một tiền t

Một tính ch t thời gian tuyến tính Psafe

gọi là tính an toàn nếu t

h n ̂ c σ s o ho: Psafe ∩ { σ‟ ∈ (2 AP ) ω | ̂ là một tiền t

B t kì chuỗi h u h n ̂ gọi là tiền t

 (eventu lly) mỗi tiến tr nh u i ùng sẽ v o vùng g ng n ;

 (repe te eventu lly) mỗi tiến tr nh sẽ v o vùng g ng u i

ng ph p phổ biến là Logic thời gian omput tion Tree ogi ( T ) ine r

Trang 23

2.4.1 Hệ thống thời gian rời rạc (Discrete-time System)

Khi thời gi n l rời r

Process Algebra, Timed Interval Calculus,… Trong các ngôn ngữ đặc tả thì

trong thiết kế m

h n tr ng th i

Trang 24

h u t ) gi

Trang 25

2.5 Logic Thời gian tuyến tính (Linear Temporal Logic)

Ph n này sẽ mô t cú pháp và ng ngh a logic thời gian tuyến tính Tiếp theo

là xem xét thu t toán kiểm duyệt mô hình d a trên otomat Buchi cho

logic thời gian tuyến tính Các thu t to n n y

◊ “eventu lly” (eventu lly in the future)

□ “ lw ys” (now and forever in the future)

2.5.1 Logic thời gian tuyến tính

ng,

Sử d ng kết h p ph ng th c thời gi n (“eventu lly” the future)

v (“ lw ys” from now on forever) có:

sometimes in

Trang 26

α ᴧ ¬b until α U b

Xem xét v n ề lo i trừ l n nhau c a hai xử l ng thời và Xử lý

c mô hình hóa b ng ba vị trí: (1) không ở vùng g ng ( ) ng ở gi i o n

không bao giờ ng thời truy xu t

(

)

Trang 27

vô h n trên t p kí hiệu

thời gian tuyến tính có một thuộc tính thời gian tuyến tính duy nh t

Trang 28

chuỗi có d ng

=1,2,3

2.5.2 Kiểm duyệt mô hình logic thời gian tuyến tính dựa trên otomat

Trang 30

Chương 3 TỔNG QUAN VỀ CÔNG CỤ KIỂM CHỨNG MÔ HÌNH SAL

(Symbolic Analysis Laboratory) 3.1 Giới thiệu

SAL viết t t c a Symbolic Analysis Laborator SAL là một framework kết

h p nhiều công c khác nhau ùng ể trừu t ng h ph n tí h h ng tr nh ch ng minh ịnh

lý và kiểm duyệt m h nh i với các tính ch t (phân tích biểu

t ng) c a các hệ th ng chuyển ổi Một ph n quan trọng c a SAL framework

là một ngôn ng ể mô t cho các hệ th ng chuyển ổi Ngôn ng n y ng v i

tr nh một ngôn ng ặc t v nh l í h ho ộ biên dịch Ngôn ng này

r m t các hệ th ng chuyển ổi cho các ngôn ng l p trình phổ biến nh Esterel,Java, and Statecharts [5]

Ngôn ng SA c thiết kế với s h p tác gi a David Dill c ihọc Stanford University và Thomas Henzinger c i học University ofCalifornia t i Berkeley

3.1.1 ôi trường SAL

SAL có thể ch y trên các hệ th ng máy tính hệ iều hành: RedHat Linux hoặcWindows XP (cùng cygwin), Mac OS và các máy tr m Solaris (SPARC) [6]

3.1.2 Bộ mô phỏng (Simulator)

SAL ch a một bộ mô ph ng ho ặc t tr ng thái h u h n d a trênBDD (Binary Decision Diagram) Bộ mô ph ng ho phép ng ời dùng xem cácờng th c thi khác nhau c a một ặc t SAL Do thể t ng ộ tin c y cho

ng ời ùng i với m h nh tr ớc khi th c hiện xác minh.Th c tế SALenvsimulator không ph i là bộ mô ph ng chính quy vì nó là scriptable Do ng ời dùng

có thể sử d ng Scheme programming language ể t o bộ mô ph ng mới, các th t cxác nh n và t ộng lặp l i các tác v [6]

Hình 3-1: Ví dụ SAL simulator

Trang 31

3.1.3 Bộ tìm kiếm đường (path finder)

Bộ tìm kiếm ờng t o các vết ng u nhi n ho m un a vào gi i pháp

SAT (Boolean satisfiability)

Ví dụ về sử dụng path finder

Hình 3-2: Ví dụ về sal path finder

Mặ ịnh c a sal-path-finder là t o ra một vết với m ời quá trình chuyển

ổi tr ng thái Tùy chọn depth=<num> c sử d ng ể iều khiển ộ dài c a vết.

3.1.4 Ngôn ngữ đặc tả tính chất (Property Specification anguage)

của S

3.1.4.1 Bộ kiểm tra mô hình biểu tượng (symbolic model checker)

SAL ch a một bộ kiểm tra mô hình biểu t ng gọi là sal-smc Bộ kiểm tra

này ho phép ng ời ùng ặc t các tính ch t trong logic thời gian tuyến tính (lineartemporal logic-LTL), logic cây tính toán (computation tree logic –

CTL).Tuy nhiên trong phiên b n SAL hiện t i (version 3.x) th kh ng r ph n ví d cho các tính ch t CTL Khi ng ời ùng ặc t một tính ch t không h p lệ trong LTL, một ph n ví d c t o ra Các tính ch t tr ng thái công th c LTL về mỗi ờng tuyến tính r ởi một m un (hệ th ng chuyển ổi)

 to n tử iển h nh trong T o g m:

Trang 32

3.1.4.2 Bộ kiểm tra mô hình chặn (bounded model checker)

SAL ch a một bộ kiểm tra mô hình chặn gọi là sal-bmc Bộ kiểm tra mô

hình này ch hỗ tr công th c logic thời gian tuyến tính LTL, và n l sở ể

sử d ng cho việ r ph n ví d sal-bmc có thể th c hiện xác minh b ng ệ quy k Ví

dụ sử dụng bounded model checker:

Trang 33

Hình 3-4: Ví dụ sử dụng bounded model checker

Tìm kiếm ph n ví d mặ ịnh hành vi có ộ sâu (depth) b ng m ời.Tùy chọn

depth=<num> có thể c sử d ng ể kiểm so t ộ sâu c a việc tìm kiếm theo giá trị num Tùy chọn –iterative sử d ng ể lặp l i việc tìm kiếm theo chiều sâu và nó h u

ích cho việc tìm kiếm ph n ví d cho thuộc tính c thể

SAL ch a một bộ kiểm tra mô hình chặn vô h n là sal-inf-bmc Đ y l

một bộ kiểm tra cho các hệ th ng tr ng thái vô h n Nó r ph n ví d và lỗi

3.2 Ngôn ngữ diễn đạt (Expression Language)

Trong ngôn ng SAL, mô t [optional] là tùy họn m t {category}+l

ph p thể xu t hiện một hoặ nhiều l n với type ph n t h nh u ởi

u phẩy t {category}* l ph p thể xu t hiện hoặ nhiều l n với

ởi t n u lệnh o vệ ph n t h nh u ởi to n tử [] theo quy t

ng với ộ th ng ị h y ịnh danh có một s

Kí hiệu ặ iệt (SpecialSymbol):(|)|,|-|*|+|%|,|.|;|∶|′|!|#|?|

Trang 34

liệu t p h p, kiểu d liệu ệ quy …

3.2.1.1 Kiểu dữ liệu cơ bản

Kiểu d liệu n bao g m: Booleans, Integer, natural numbers,

và reals.

3.2.1.2 Dữ liệu kiểu cấu trúc

D liệu kiểu c u trúc bao g m: subtype, subrange, array, function, tuple,

Kiểu t p h p (tuple): Kiểu t p h p ng

Kiểu n ghi (re or ): Kiểu n ghi ng

Trang 35

subrange hoặc một kiểu scalar.

Kiểu subrange [a b] là viết t t

[a _] là viết t t

Kiểu t ệ quy (Recursive datatype): Kiểu

ể ịnh ngh kiểu nh list v tree D t type

t ệ quy có thể sử d ng

ặc t b ng một list

Trang 37

⇒ ,

=,/=

>, >=, <, <=

, − ,/

Biểu th c SAL ch a hai lo i biến: biến logic và biến tr ng thái Các biến

tr ng thái có thể là: biến tr ng thái hiện t i hoặc biến tr ng thái tiếp theo Kiểu

logic t do, gán giá trị cho biến hiện t

tr ng thái

3.3 Ngôn ngữ chuyển đổi (The Transition Language)

un hệ th ng chuyển ổi bao g m: kiểu tr ng th i ịnh ngh t biến trên các

tr ng thái, một iều kiện khởi t o cho các tr ng thái, và một quan hệ

chuyển ổi nhị phân c a một hình th ặc t trên kiểu tr ng thái Các kiểu tr ng th i ịnh

ngh ởi các biến u v o u r ị ph ng to n c

Một m un hai lo i biến: Các biến quan sát (observed variables) và các biến

iều khiển (controlled variables)

 iến qu n s t o g m: iến u v o (input) v iến to n (glo l)

v iến ị ph ng (lo l)

Các quy t c chuyển ổi là các quy t c ràng buộc gi a các tr ng thái hiện t i và

các tr ng thái tiếp theo c a quá trình chuyển ổi Biến hiện t i c viết là X thì tr ng

thái tiếp theo c a biến l ‟

Trang 38

% Chuyển ổi tr ng thái

TRANSITION

END;

Hình 3-5: Cấu trúc mô đun 3.3.1 Định nghĩa (Definition)

Định ngh l u tr n sử d ng ể xây d ng các b t biến, các khởi t o, và các quátrình chuyển ổi c a một m un Định ngh ũng c sử d ng

ể xịnh giá trị c a các biến trong một tính toán b ng việc cung c p các ràng

buộc trên các biến iều khiển trên một hệ th ng chuyển ổi Đ i với các biến

khác nh u i diện cho các c u trúc d liệu nh l m ng, b n ghi thì có thể ịnh ngh iến

theo từng thành ph n riêng biệt Ví dụ: x‟ = x + l t ng iến tr ng th i x v x‟ l tr ng

thái tiếp theoc a biến

Một công th c chuyển ổi trong ph n TRANSITION ịnh ngh một biếntiếp theo ở bên trái c a biểu th c

Trong một m un a hệ th ng chuyển ổi, một biến iều khiển ch c

ịnh ngh ng một l n

Trang 39

3.3.2 Câu lệnh bảo vệ (Guarded Command)

Câu lệnh b o vệ là một biểu th c boolean trong các biến kiểm soát hiện

t i (biến c c bộ, biến toàn c

t i và tiếp theo Ph n gán là một

biến tr ng thái tiếp theo và biểu th

biến tr ng thái tiếp theo Do

3.3.3 Ngôn ngữ mô đun (The Module Language)

M un l một ặc t một hệ th ng chuyển ổi trong SA

th n ặc biệt trong việc mô hình hóa các hệ th

Ngày đăng: 11/11/2020, 21:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w