Tải bản đầy đủ (.pdf) (48 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 48 trang )

ĐẠ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


ĐẠ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ố

: 60 48 01 03

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


1
ỜI CẢ

N

Tr ớ ti n t i xin y t l ng iết n s u s tới TS Đặng V n
ng
gi ng vi n ộ môn Công nghệ ph n mềm - Khoa Công nghệ th ng tin - Tr ờng
Đ i họ
ng nghệ - Đ Q
Trong thời gi n họ v l m lu n v n t t nghiệp
th y
nh nhiều thời gi n qu
u v t n t nh h
o h ớng n t i trong
việ nghi n u th hiện lu n v n
T i xin
m n
S TS
gi ng y t i trong qu tr nh họ t p
và làm lu n v n
th y
gi p t i hiểu th u o h n l nh v m m nh
nghi n u ể thể v n ng nh ng kiến th

v o trong ng t
m nh
in m n n
ng nghiệp trong ng ty
t o mọi iều kiện t t
nh t ho t i trong su t qu tr nh họ t p v nghi n u ể ho n th nh t t n
lu n v n t t nghiệp này.
Hà nội, tháng 11 n m
ọ vi n th

hiện

Nguyễn Kh c Chung

5


2
ỜI C

Đ

N

T i xin m o n r ng
y l kết qu nghi n u
gi p
r t lớn
th y h ớng n
nội ung nghi n

ề t i n y ho n to n trung th

t i trong
s
u v kết qu trong

Trong lu n v n t i th m kh o ến một s t i liệu
liệt k t i ph n t i liệu th m kh o ở u i lu n v n

một s t

Hà nội, tháng 11 n m
ọ vi n th

hiện

Nguyễn Kh c Chung

gi

5


3
MỤC LỤC
....................................................................................................... 1


h


ng

ỚI THIỆU ....................................................................................... 8

h

ng

TỔNG QUAN VỀ KIỂM DUYỆT MÔ HÌNH .................................. 9

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

Định ngh kiểm duyệt mô hình ...................................................... 9

2.1.2.

Quá trình chung cho việc kiểm duyệt mô hình ............................... 9
i i o n mô hình hóa ................................................................... 9
i i o n th c thi ........................................................................... 9
3 i i o n phân tích ...................................................................... 10
Ưu iểm nh

2.1.3.
3
3
2.1.4.

iểm c a kiểm duyệt mô hình ............................ 10


Ưu iểm........................................................................................ 10
h

iểm .................................................................................. 10


ể kiểm duyệt mô hình ................................................. 11

2.2. Mô hình hóa hệ th ng ............................................................................... 11
2.2.1.

Hệ th ng chuyển ổi ..................................................................... 11
Định ngh hệ th ng chuyển ổi (transition system) ................... 12

2.2.1.2 Th c thi (run) ............................................................................... 13
2.2.2.

Mô hình hóa hệ th ng song song và giao tiếp .............................. 14
Đ ng thời v

n xen ( on urren y n

nterle ving) ............... 14

2.2.2.2 Giao tiếp thông qua các biến dùng chung .................................... 15
2.2.2.3 B t tay (handshaking) .................................................................. 16
2.2.2.4 Hệ th ng kênh truyền (Channel System) ..................................... 16
3 Đặc t các tính ch t hệ th ng.................................................................... 16
2.3.1.


Tính an toàn (safety property) ....................................................... 16

2.3.1.1 Khóa chết ..................................................................................... 17
2.3.1.2 B t biến (invariant) ...................................................................... 17
2.3.2.

Tính s ng (liveness property) ....................................................... 18

2.4. Kiểm duyệt mô hình hệ th ng thời gian th c (model checking real-time
system) ............................................................................................................. 18
2.4.1.

Hệ th ng thời gian rời r c (Discrete-time System) ....................... 19


4
2.4.2.

Hệ th ng thời gi n

y ặc (Dense-time system) ......................... 19

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

Logic thời gian tuyến tính ............................................................. 20

2.5.1.1 Cú pháp (Syntax) ......................................................................... 20
2.5.1.2 Ng ngh (Sem nti ) .................................................................. 22
2.5.2.


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

h ng 3 TỔNG QUAN VỀ CÔNG CỤ KIỂM CHỨNG MÔ HÌNH SAL
(Symbolic Analysis Laboratory) ......................................................................... 25
3.1. Giới thiệu .................................................................................................. 25
3.1.1.

i tr ờng SAL ............................................................................ 25

3.1.2.

Bộ mô ph ng (Simulator) ............................................................. 25

3.1.3.

Bộ tìm kiếm

3.1.4.

g n ng

ờng (path finder) .................................................. 26

ặ t tính h t (Property Spe ifi tion

3.1.4.1 Bộ kiểm tra mô hình biểu t

ngu ge)


SA .. 26

ng (symbolic model checker) ....... 26

3.1.4.2 Bộ kiểm tra mô hình chặn (bounded model checker) .................. 27
3.2. Ngôn ng diễn
3.2.1.

t (Expression Language) .............................................. 28

Kiểu (Type) ................................................................................... 29

3.2.1.1 Kiểu d liệu c b n ...................................................................... 29
3.2.1.2 D liệu kiểu c u trúc .................................................................... 29
3.2.2.

iểu th

( xpression) .................................................................. 30

3.3. Ngôn ng chuyển ổi (The Transition Language) ................................... 31
3.3.1.

Định ngh (Definition) ................................................................. 32

3.3.2.

Câu lệnh b o vệ (Guarded Command).......................................... 33

3.3.3.


Ngôn ng m

333

un

un (The

o ule

ngu ge) ................................. 33

sở (Base Module)....................................................... 33

3.3.3.2 Thao tác biến biến tr ng thái ........................................................ 34
3.3.3.3 Thành ph n m
3 3 3 4 Kh i

om

3.4. Đặ tr ng hính
h

un...................................................................... 34
un .......................................................................... 34

a SAL ......................................................................... 35

ng 4 ỨNG DỤNG ..................................................................................... 36


4.1. Bài toán hệ th ng công t

n ................................................................ 36


5
4.1.1.

Mô t bài toán................................................................................ 36

4.1.2.

Mô hình và kiểm duyệt hệ th ng

ng t

n trong SA ........... 37

4.1.2.1 Mô hình hóa ................................................................................. 37
4.1.2.2 Kiểm duyệt các tính ch t.............................................................. 38
4.2. Bài toán hệ th ng th ng m y

n gi n ..................................................... 38

4.2.1.

Mô t bài toán................................................................................ 38

4.2.2.


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

4.2.2.1 Mô hình hóa ................................................................................. 39
4.2.2.2 Kiểm duyệt các tính ch t.............................................................. 40
h

ng 5 KẾT LUẬN ....................................................................................... 41

TÀI LIỆU THAM KH O ................................................................................... 42
PHỤ LỤC ........................................................................................................... 43


6
DANH MỤC HÌNH VẼ

Hình 2-1: Tổng quan về kiểm duyệt mô hình ....................................................... 9
Hình 2- :
y n
u ng t ộng ................................................................... 13
Hình 2-3: Ví d mô t interleaving c
n gi o th ng ................................... 15
Hình 2-4: Ví d mô t biến dùng chung.............................................................. 16
Hình 2-5: Ng ngh
ph ng th c thời gian ................................................ 21
Hình 2-6: Ví d về logic thời gian tuyến tính ..................................................... 22
Hình 2-7: Tổng quan về kiểm duyệt mô hình logic thời gian tuyến tính............ 24
Hình 3-1: Ví d SAL simulator ........................................................................... 25
Hình 3-2: Ví d về sal path finder ....................................................................... 26
Hình 3-3: Ví d về kiểm ch ng các tính ch t sử d ng sal-smc .......................... 27

Hình 3-4: Ví d sử d ng bounded model checker .............................................. 28
Hình 3-5: C u tr m un.................................................................................. 32
Hình 4-1: Mô hình hệ th ng ng t
n .......................................................... 36
Hình 4-2: Mô hình cửa thang máy ...................................................................... 38
Hình 4-3: Mô hình thang máy ............................................................................. 38


7
ẢNG C C CH
Viết tắt
TS
M
S
Act
PG
NBA
BDD
SAT
SMC
SAL
BMC
GNBA

VI T TẮT
Tên đầy đủ
Transition system
Model
State
Action

Program graph
Nondeterministic Buchi Automaton
Binary Decision Diagram
Boolean satisfiability
Symbolic model checker
Symbolic Analysis Laboratory
Bounded model checker
Generalized Nondeterministic Buchi
Automaton


8
Chương 1. GIỚI THIỆU
Ngày nay, s phát triển c a các hệ th ng kỹ thu t thông tin và truyền
thông ngày càng nhiều v
ng. Các hệ th ng này ngày càng trở nên ph c t p
và i s u vào cuộc s ng hàng ngày c a chúng ta chẳng h n nh máy tính xách
tay iện tho i i ộng, các lo i tivi cao c p v
dùng h ng ng y nh máy
giặt, lò vi sóng. Vì thế, s ph thuộc c a chúng ta ng y ng t ng v hặt chẽ
h n vào các hệ th ng th ng tin l m ho ộ tin c y c a các hệ th ng ngày càng
yêu c u cao.
Để xây d ng ph n mềm có ch t l ng cao c n tuân th việ
m b o ch t
l ng ph n mềm Trong
việ
m b o tính ng n c a thiết kế ở gi i o n
sớm ng v i trò m u ch t cho việ
m b o ch t l ng trong quá trình phát
triển ph n mềm. K thu t kiểm duyệt hệ th ng ng

c áp d ng ể kiểm duyệt
thiết kế hệ th ng nh m t ng ộ tin c y c a hệ th ng.
Trong nhiều n m qu việc nghiên c u
ph ng ph p h nh th c
n
ến s phát triển c a một s kỹ thu t kiểm duyệt và t o thu n l i cho việc phát
hiện lỗi sớm.
k thu t kiểm duyệt n y
i ặt thành các công c có thể
c sử d ng một cách t ộng ở các gi i o n khác nhau c a việc phát triển
ph n mềm.
Hiện nay có r t nhiều công c kiểm duyệt mô hình ph n mềm nh SA
SPIN, NuSMV, PAT, UPPAAL... SAL có thể kiểm duyệt hệ th ng thời gian
th c b ng cách thêm biến ếm ng h vào tiến trình thời gi n ể ặc t các
ràng buộc thời gian với các quá trình chuyển ổi. Nội dung c
ề tài là nghiên
c u các lý thuyết
n về kiểm duyệt mô hình, các kinh nghiệm sử d ng công
c kiểm duyệt mô hình SAL và sử d ng SA ể kiểm duyệt mô hình hệ th ng
trong th c tế.


9
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


h nh hệ th ng ng
ộ kiểm tr m h nh

h sử

ng

 Kiểm tr v
nh gi nh nh h ng
hiện m ph ng


nh th h
t tính h t

thuộ tính

ng n ng m t m h nh
m h nh

n kiểm tr sử

ng việ th


ng ng n ng



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 t
trong mô hình hệ th ng.


10
2.1.2.3 Giai đoạn phân tích
 Kiểm tr tính th m n
tính h t trong m h nh ếu một tính
h t th m n m h nh th huyển s ng kiểm tr tính h t tiếp theo
 Tính h t n o vi ph mm h nh th th
 Ph n tí h t o r ph n ví

ng

hiện:
h m ph ng

 Điều h nh l i m h nh thiết kế hoặ tính h t


ặp l i to n ộ th t

 Tr n ộ nhớ th th

hiện gi m m h nh v th


thi l i

2.1.3. Ưu điểm, nhược điểm của kiểm duyệt mô hình
2.1.3.1 Ưu điểm
 Đ y l một ph ng ph p tiếp
nhiều hệ th ng

nx

minh tổng qu t

p

ng ho



ỗ 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
kh ng n một ặ t ho n h nh
hệ th ng



ung

h nh



p th ng tin lỗi khi ph t hiện một tính h t kh ng tho m n 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
hu tr nh ph t triển ph n mềm hiện n y
nghi n u h r r ng n
thể m ng l i thời gi n ph t triền ph n
mềm ng n h n

2.1.3.2 Nhược điểm
 Kiểm uyệt m h nh h yếu phù h p với
ng ng huy n s u
kiểm so t ít phù h p với
ng ng huy n s u
liệu nh l
liệu tr n kho ng v h n
 Phù h p với từng v n ề
thể nh l

hệ th ng tr ng th i v h n
hoặ về
kiểu
liệu trừu t ng nh ng kiểm uyệt m h nh kh ng
hiệ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ế


11
(s n phẩm hoặ nguy n m u) ọi kết qu nh n
th ng Do
n thiết nh ng k thu t ổ tr kh
t m r lỗi

l
m h nh hệ
nh l kiểm thử ể



h kiểm tr
tính h t
y u u kh ng
kiểm tr
y
tính h t Tính h p lệ
kiểm tr th sẽ kh ng nh gi




v n ề về s ùng nổ tr ng th i t l s l ng tr ng th i n thiết
ể m h nh ho hệ th ng hính x v t qu kh ng gi n ộ nhớ
m y tính

m o s ho n h nh
tính h t kh ng

 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 theo
logi h nh th
2.1.4. Các bước để kiểm duyệt mô hình



h nh h
nh th

hệ th ng (x y
h

y u

u( ặ t

ng một m h nh

ho hệ th ng)


tính h t Φ)

 Quyết ịnh v kiểm tr thu t to n (th
h )

hiện ở

ng

m h nh

2.2. Mô hình hóa hệ thống
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.
Mô hình hóa ch yếu sử d ng Otomat h u h n tr ng thái, bao g m một t p h p
các tr ng thái h u h n và t p h p các chuyển ổi.
2.2.1. Hệ thống chuyển đổi
Các hệ th ng chuyển ổi th ờng
c sử d ng trong khoa học máy tính
nh l
m h nh ể mô t các hành vi c a các hệ th ng. Các hệ th ng chuyển
ổi l

thị có h ớng, các nút là các tr ng thái, các c nh là quá trình chuyển ổi
mô hình, chuyển tr ng thái. Một tr ng thái mô t một s thông tin t i một thời
iểm nh t ịnh c a hành vi.
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


12
tr ng thái. Tên c a các h nh ộng sử d ng ể mô t
hế giao tiếp gi a các
tiến trình. Các mệnh ề nguyên tử
c sử d ng ể h p th c hóa các tính ch t
thời gian.
2.2.1.1 Định nghĩa hệ thống chuyển đổi (transition system)
ột hệ th ng chuyển ổi l một ộ TS (S, Act, →, I , AP, L) trong
 S l một t p

:

tr ng th i

 Act l một t p

h nh ộng

 →⊆ S × Act × S: m i quan hệ chuyển ổi tr ng thái
 I⊆S: là t p h p các tr ng thái khởi t o
 AP: là t p h p các mệnh ề nguyên tử
 L : S → 2AP là một nhãn ch
TS


n ng

c gọi là h u h n nếu S, Act, và AP là h u h n. [ ]

 Tiền nhiệm tr
Su essors):

tiếp v

thừ kế tr

tiếp (Dire t Pre e essors

Với 𝑠 ∈ 𝑆 v 𝛼 ∈ 𝐴𝑐𝑡 t p thừ kế tr
𝛼

l : 𝑃𝑜𝑠𝑡(𝑠, 𝛼) = *𝑠 ′ ∈ 𝑆| 𝑠 → 𝑠 ′ +
 T p tiền nhiệm

s

tiếp 𝛼

s

n

ịnh ngh


𝑃𝑜𝑠𝑡(𝑠) = ⋃𝛼∈𝐴𝑐𝑡 𝑃𝑜𝑠𝑡(𝑠, 𝛼)

ịnh ngh l :
𝛼

𝑃 (𝑠, 𝛼) = *𝑠 ∈ 𝑆|𝑠 → 𝑠+, 𝑃 (𝑠) = ⋃𝛼∈𝐴𝑐𝑡 𝑃 (𝑠, 𝛼)
 Tr ng th i kết th : Tr ng th i s trong hệ th ng huyển ổi TS
tr ng th i kết th
h khi if Post(s) = ∅.
Ví dụ: Máy bán đồ uống tự động

gọi l


13

pay

get_beer

get_soda
insert_coin

soda

τ

select

τ


Hình 2-2:

beer

áy bán đồ uống tự động

nh - m t thiết kế
một m y n
u ng t ộng
y
thể t
ộng n i v so
tr ng th i
iểu iễn ởi
h nh ov l v
huyển ổi là nhãn c a các c nh. Tên c a các tr ng th i
c mô t bên trong
hình oval. Tr ng th i n u
c ch ịnh b ng mũi t n i vào.
Không gian tr ng thái S = {pay, select, soda, beer}. T p tr ng thái khởi
t o là I = {pay}
h nh ộng insert_coin (ng ời mua) là ch
tiền vào
m y trong khi h nh ộng (c a máy) get_soda, get_beer kí hiệu là pay soda,
beer. Các chuyển ổi mà có nh n h nh ộng không liên quan, ví d ở y h nh
ộng biểu diễn một v i h nh ộng c a máy bán hàng t ộng, kí hiệu là .
Chúng ta có:
Act = {insert_coin, get_soda, get_beer, }
Hàm chuyển ổi là:

𝑦→

𝑡 𝑐

𝑠

𝑐𝑡 và



𝑡

𝑦

T p mệnh ề nguyên tử AP = {paid, drink} cùng với nhãn ch
(

n ng:

𝑦) = ∅, L(soda) = L(beer) = {paid, drink}, L(select) = {paid}

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.

= 𝑠 𝛼 𝑠 𝛼

𝛼

𝑠 𝛼 sao cho 𝑠 →

𝑠

với

,

.[1]


14
 Th thi ph n o n n u v th
n niti l xe ution Fr gment):

thi ph n o n

i(

xim l

Một th thi ph n o n c
i là một th thi ph n o n vô h n hoặc là
một th thi ph n o n h u h n, kết thúc ở một tr ng thái kết thúc.Một th c thi
c gọi là n u nếu nó b t u ở một tr ng thái khởi t o.
Ví dụ: máy bán đồ uống tự động ở hình 2-2

𝑐

=

=

𝑦 →

𝑠

=𝑠

𝑐𝑡 → 𝑠𝑜
𝑐

𝑦 →

𝑐𝑡 → 𝑠𝑜

𝑠




𝑡

𝑐𝑡 → 𝑠𝑜

𝑡


𝑐

𝑦 →
𝑐

𝑦 →


𝑡

𝑠

𝑠

𝑐𝑡 → 𝑠𝑜

𝑐𝑡 →
𝑐

𝑦 →

𝑠





𝑡

𝑡


𝑐𝑡 → 𝑠𝑜

Các th thi ph n o n và là th thi ph n o n n u, không
ph i là th thi ph n o n n u. không ph i là th c thi ph n o n c
i vì
nó không kết thúc ở tr ng thái kết thúc. Gi sử và là vô h n thì chúng là
th c thi ph n o n c
i.
 Th thi: ột th thi
một hệ th ng huyển tiếp TS l một th
ph n o n n u lớn nh t


tr ng th i

thể

t

thi

(re h le st tes):

Một tr ng thái 𝑠 ∈ 𝑆
c gọi là có thể t
c trong hệ th ng chuyển
ổi TS nếu nó có một ph n o n th c thi ban u, h u h n.
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 TS1, TS2,…TSn Định ngh to n tử song song là “||”
và TS = TS1|| TS2…|| TSn 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ừ TS1 ến TSn.
2.2.2.1 Đồng thời và đan xen (Concurrency and Interleaving)
Một mô hình ng d ng rộng rãi cho các hệ th ng song song gọi là n xen
“interle ving” Trong m h nh n y một trừu t ng
c t o ra từ một hệ th ng
th c bao g m t p h p các thành ph n ộc l p. Do
tr ng thái hệ th ng toàn
c c bao g m các tr ng thái hiện t i riêng lẻ c a các thành ph n. Các h nh ộng
c a một thành ph n
n xem ùng với h nh ộng c a thành ph n khác.
Ví dụ: Hai đèn giao thông độc lập


15
Xét hệ th ng chuyển ổi c h i n gi o th ng tr n ờng không giao
nhau (ví d nh
ờng song song).Ho t ộng c a mỗi n l ộc l p. Ví d các
n gi o th ng
iều khiển ể ng ời i ộ ng qu
ờng. Mỗi n gi o
th ng
m h nh h nh một hệ th ng chuyển ổi n gi n có hai tr ng
thái, một tr ng thái mô t
n , một tr ng th i n x nh Hệ th ng chuyển ổi
c a các thành ph n song song c h i n gi o th ng
c mô t ở hình 2-3 bên
ới (TrLight1 ||| TrLight2).


TrLight1

red

TrLight2

green

red

green

TrLight1 ||| TrLight2
red red

green red

red green

green green

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.
𝑥


𝑥 ||| ⏟
𝑥
𝑐𝑡

𝛼

𝑥
𝑐𝑡


16
Trong
gi sử khởi t o biến x = 3. Hệ th ng chuyển ổi TS(PG1) |||
TS(PG2) mô t ở hình 2-4 n ới:

α

x=6

α

x=3

x=3

|||

β

x=3, x=3
β

= x=6, x=3

x=4

β

x=3, x=4
x=6, x=4

α

Hình 2-4: Ví dụ mô tả biến dùng chung
2.2.2.3 Bắt tay (handshaking)
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
thời 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
nh 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ác
kê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ể
giao tiếp với các tiến trình khác ở bên ngoài hệ th ng.
2.3. Đặc tả các tính chất hệ thống
Để kiểm duyệt, việc mô hình hóa hệ th ng b ng hệ th ng c n ph i i k m
với việc ặc t các tính ch t. Các tính ch t và các thu t toán kiểm duyệt mô hình
sở
r nh m kiểm duyệt các tính ch t một cách t ộng.
Việ ặc t các tính ch t ph i th a mãn yêu c u thiết kế. Các tính ch t
c chia làm hai lo i: tính an toàn và tính s 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 l “th g
x u không
bao giờ x y r ” (“something
never h ppens”). Do , yêu c u an toàn bao


17
g m: không có khóa chết (deadlock), không có các tr ng th i
gi ng nhau mà có thể g y r ổ v hệ th ng.

ộ u ti n

2.3.1.1 Khóa chết
Khóa chết x y ra nếu một hệ th ng ở trong một tr ng thái kết thúc, trong
ít nh t một thành ph n không ở tr ng thái kết th Do to n ộ hệ th ng
có thể bị treo, trong khi ít nh t một thành ph n có kh n ng tiếp t c ho t ộng.
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 l
mộ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 p mệnh ề nguyên tử
AP là một b t biến nếu có một biểu th c logic mệnh ề trên một t p mệnh ề
nguyên tử sao cho:
𝑃

= *𝐴 𝐴 𝐴

∈(

𝐴

) |

gọi là một iều kiện b t biến hoặ

,𝐴

+


iều kiện tr ng thái c a 𝑃

.

Chú ý:
nếu
( )∈
với t t c
( )
, với t t c các tr ng thái s thuộc một
t t c các tr ng thái ∈
( ).

ờng trong TS nếu
ờng c a TS nếu ( )

với

Khái niệm b t biến có thể
c gi i thí h nh s u: iều kiện th a mãn
t t c các tr ng th i n u và th a mãn t t c các chuyển ổi trong phân m nh
có thể t
c c a hệ th ng chuyển ổi
r
ngh r ng nếu
ng ở các
𝛼

tr ng thái s c a một chuyển ổi 𝑠 → 𝑠 s u
í h s‟


ũng

ng ở các tr ng thái

B t biến có thể
c xem là tính ch t tr ng thái và có thể
c kiểm tra
b ng việc xem xét các tr ng thái có thể t
c.Tuy nhiên, một s tính an toàn
có thể ặt ra các yêu c u trên phân m nh ờng h u h n nh ng kh ng thể xác


18
minh 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
c coi là tính an toàn vì b t kỳ th c thi vô h n vi ph m
yêu c u có một tiền t h u h n
l x u (“ ”). Trong ví d tr n
l tiền
c rút ra mà không c p m t khẩu tr ớc.
Một tính ch t thời gian tuyến tính Psafe trên mệnh ề nguyên tử AP
c
AP ω

gọi là tính an toàn nếu t t c các chuỗi σ ∈ (2 ) \ Psafe có t n t i một tiền t h u
h n ̂ c σ s o ho: Psafe ∩ { σ‟ ∈ (2AP)ω| ̂ là một tiền t h u h n c σ‟} = ∅.
B t kì chuỗi h u h n ̂ gọi là tiền t x u (bad prefix) c a Psafe.
2.3.2. Tính sống (liveness property)
Khác với tính an toàn, tính s ng ngh l “th g
t t ẹp”(“something
goo ”) cu i ùng ũng sẽ x y ra. Tính an toàn bị vi ph m trong thời gian h u
h n, tính s ng bị vi ph m trong thời gian vô h n. Ví dụ: Trong thu t toán lo i trừ
l n nhau, ví d iển hình c a tính s ng bao g m:
 (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;

n lu n lu n

 (st rv tion free om) mỗi tiến tr nh
n

i u i ùng sẽ v o vùng g ng

Để ặc t các tính s ng ph ng ph p phổ biến là Logic thời gian
(Temporal Logics). Ví d nh l
omput tion Tree ogi ( T ) ine r
Temporal Logic (LTL),..
2.4. Kiểm duyệt mô hình hệ thống thời gian thực (model checking real-time
system)
Máy tính th ờng

sử ng trong
ng ng qu n trọng m
o n
thời gi n p ng l r t n thiết ể m o ho tính ng
hệ th ng
hệ th ng n y gọi l
hệ th ng thời gi n th
Do tính
ng ng nh v y n n việ sai sót trong hệ th ng thời gi n th
kỳ nguy hiểm, th m hí g y ổ v hệ th ng. Đ m o tính ng n
th ng thời gi n th ph t p l một nhiệm v qu n trọng v kh ng
gi n. [2]

việ
n
h t
thể
một hệ
hề n


19
Có hai ng ngh thời gi n trong ịnh ngh
hệ th ng thời gi n
th : ng ngh thời gi n rời r v ng ngh thời gi n y ặ . g ngh thời
gi n rời r
ih it t
các thời iểm truy p l
s nguy n v t t
ng h t ng truy p

chúng ùng một thời iểm. g ngh thời gi n dày
ặ là truy p thời gi n
thể s h u t hoặ
s th v t t
ng h
o t ng theo giá trị th ng nh t.
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 gi trị ng h l
s nguy n kh ng m v
s kiện h
thể x y r t i
gi trị thời gi n là s nguy n Đ y l lo i m
h nh thí h h p ho
hệ th ng ng ộ n i m t t
th nh ph n
ng ộ sử ng một ng h toàn
uy nh t Thời gi n gi các ng h
li n tiếp
họn l
n vị
n ể o thời gi n
h nh n y
sử
ng th nh ng ể kiểm uyệt về tính ng n cho thiết kế ng ộ
ph n
ng trong nhiều n m Trong
m h nh thời gi n rời r y u u một ng
h uy nh t to n
ph ng ph p sử ng ể ph n tí h l ng thời gi n ho
hệ th ng

thời gi n rời r l T mở rộng ể ặ t r ng uộ về thời gi n gi h i h nh
ộng
ph ng ph p x minh
ph t triển t ng t nh kiểm uyệt m
h nh T Để
thể t ng tính mở rộng th k thu t kiểm uyệt m h nh iểu
t ng
tí h h p v o ph ng ph p n y
2.4.2. Hệ thống thời gian dày đặc (Dense-time system)
m h nh ho
hệ th ng kh ng ng ộ ởi v n ph n t h
s
kiện nh tùy Kh n ng phân tách t o iều khiện thu n l i ể m t
s kiện
ộ l p trong hệ th ng kh ng ng ộ Trong m h nh thời gi n y ặ
một
l ng tử thời gi n
ịnh ể ph n t h ộ trễ gi h i s kiện ng ội s
l ng thời gi n
ịnh Điều n y thể giới h n ộ hính x
hệ th ng m
hình hóa. go i r việ l
họn l ng tử thời gi n phù h p ể m h nh h hệ
th ng kh ng ng ộ một
h hính x
h

Trong nhiều n m qu
hệ th ng thời gi n


nhiều ng n ng ặ t
r ể m h nh
y ặ Ví
nh : Timed Automata, Timed

Process Algebra, Timed Interval Calculus,… Trong các ngôn ngữ đặc tả thì
otomat thời gian (Timed Automat)
trở th nh k thu t m h nh h
huẩn
trong thiết kế m h nh hệ th ng thời gi n th
Otom t thời gi n l một m y h u
h n tr ng th i
iến ng h ( nhiều vùng gi trị kh nh u là các s
h ut)
gi trị thời gi n
m h nh h nh l việ
p nh t iến ng


20
h

th
ến

thi m h nh
ng h

thể


r ng uộ

ng

iểu th

o vệ liên quan

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
c sử d ng ể tr lời cho câu
h i: ho tr ớc một hệ th ng chuyển ổi TS và một công th c thời gian tuyến
tính φ l m thế n o ể kiểm tr φ ng trong TS
Logic thời gian tuyến tính phù h p ặc t các tính ch t thời gian tuyến
tính. Logic thời gian có thể
c sử d ng ể thể hiện thời gian cho các lớp c a
các hệ th ng ng bộ mà có các thành ph n
c xử lý trong các ớc khóa.
Thành ph n
n c a công th c logic thời gian tuyến tính là các mệnh
ề tuyến tính (nhãn tr ng thái 𝛼 ∈ 𝐴𝑃), các kết n i oole n nh l phép n i ,
ph ịnh v h i ph ng th c thời gi n
n l “tiếp theo” v “ ho ến
khi” .
◊ “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

2.5.1.1 Cú pháp (Syntax)
Công th c logic thời gian tuyến tính trên một t p mệnh ề tuyến tính AP
c t o từ v n ph m sau:
=
trong

|

|

|

|

|



.

𝛼 ∈ 𝐴𝑃.

Sử d ng các toán tử phép n i , ph
chẵn lẻ có các công th c sau:

ịnh , kéo theo → t

(

ng


ng

,

)


(
(



)

(

) (



)
)

Sử d ng kết h p
ph ng th c thời gi n (“eventu lly” sometimes in
the future) v (“ lw ys” from now on forever) có:


21



α

arbitary

arbitary

arbitary

arbitary

atomic prop .α

….

arbitary

α

arbitary

arbitary

arbitary

next step ○α

….


α ᴧ ¬b

α ᴧ ¬b

α ᴧ ¬b

b

arbitary

until α U b

….

¬α

¬α

¬α

α

arbitary

eventually ◊α

….

α


α

α

α

α

always □α

….

Hình 2-5: Ngữ nghĩa của phương thức thời gian
Ví dụ: Vấn đề loại trừ lẫn nhau
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
i khi một xử lý d ịnh v o vùng g ng (3) ở trong vùng g ng i sử mệnh
ề 𝑤 𝑡 và 𝑐 𝑡 biểu thị xử lý 𝑃 l n l t là ở gi i o n i và trong vùng
g ng
Các tính an toàn ch ra r ng 𝑃 và 𝑃 không bao giờ
v o vùng g ng
c miêu t bởi công th c:
( 𝑐 𝑡

𝑐 𝑡 )

ng thời truy xu t



22
Công th c này ch ra r ng luôn luôn có ít nh t một trong hai xử lý không
ở trong vùng g ng
Yêu c u s ng ch ra r ng xử lý 𝑃 là vô h n trong vùng g ng
b ng công th c:
(
Công th c mô t xử l
(

𝑐 𝑡 )

(

c mô t

𝑐 𝑡 )

i và cu i ùng v o vùng g ng:

𝑤 𝑡 →

𝑐 𝑡 )

(

𝑤 𝑡 →

𝑐 𝑡 )


Cách gi i quyết cho bài toán lo i trừ l n nhau sử d ng một mô t nhị phân
có công th c:
((𝑦 = ) → 𝑐 𝑡

𝑐 𝑡 )

b t kì khi nào y có giá trị là 0, một trong nh ng xử lý sẽ v o vùng g ng.
2.5.1.2 Ngữ nghĩa (Semantic)
Công th c logic thời gian tuyến tính biểu diễn cho các tính ch t c a các
ờng Điều này có ngh a là một ờng có thể p ng hoặ kh ng p ng
một công th c thời gian tuyến tính. Ng ngh
a công th c logic thời gian
tuyến tính
ịnh ngh nh một chuỗi 𝑜 𝑠( ) bao g m t t c các từ
vô h n trên t p kí hiệu 𝐴 mà th a mãn . Do
ể mỗi công th c logic
thời gian tuyến tính có một thuộc tính thời gian tuyến tính duy nh t
c liên
kết.
Gi sử là một công th c logic thời gian tuyến tính LTL trên t p mệnh
ề nguyên tử AP. Thuộc tính thời gian tuyến tính
r ởi là:
𝑜
Trong
thuộc tính.

𝑠( ) = * ∈ (

𝐴


𝐴

)

qu n hệ th a mãn

⊆(

) |

+
là quan hệ nh nh t với

Ví dụ: Ngữ nghĩa của logic thời gian tuyến tính

S1

S2

S3

{a, b}

{a, b}

{a}

Hình 2-6: Ví dụ về logic thời gian tuyến tính



23
Xét một hệ th ng chuyển ổi TS nh h nh tr n với một t p mệnh ề
nguyên tử AP = {a, b}. Ở ví d này chúng ta có 𝑆
bởi vì t t c các tr ng
th i
g n nh n v o
t t c các vết c a hệ th ng chuyển ổi TS là các
chuỗi có d ng 𝐴 𝐴 𝐴
𝑣
∈ 𝐴 với t t c
Do
𝑠
với i
=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
Gi sử TS là h u h n và không có tr ng thái kết thúc. Thu t toán kiểm
duyệt mô h nh
c mô t
ới y l
a trên cách tiếp c n d a trên otomat
r ởi Vardi and Wolper (1986). Cách tiếp c n này d a trên một th c
tế r ng mỗi công th c logic thời gian tuyến tính có thể
c mô t b ng một
otomat Buchi không n ịnh (NBA)
sở c
t ởng là c g ng ph n bác
𝑆
b ng tìm kiếm một ờng trong TS mà
. Nếu có một ờng
i

c tìm th y, một tiền t c a tr về một vết lỗi. Nếu kh ng
ờng di
c tìm th y thì kết lu n 𝑆
.
Thuật toán:
Input: Hệ th ng chuyển ổi TS và công th c logic thời gian tuyến tính
và trên một t p mệnh ề nguyên tử AP)
Output: “yes” nếu
(counterexample)

𝑆

Xây d ng một NBA

ng
sao cho:

c l i tr

)=

(

Xây d ng một tích hệ th ng chuyển ổi 𝑆
Nếu t n t i một
s u :

ờng

trong 𝑆


Tr về “no” v một tiền t diễn
g

c l i:
Tr về “Yes”

về “no” v

th
tc a

𝑜

𝑠(

(c TS

t ng ph n ví d
).

.
m n iều kiện ch p nh n c a


×