ĐẠ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
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ố : 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
Trang 3Ờ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
Trang 4ỜI C Đ N
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
ề t i n y ho n to n trung th
Trong lu n v n t i th m kh o ến một s t i liệu một s t gi liệt k t i ph n t i liệu th m kh o ở u i lu n v n
Hà nội, tháng 11 n m 5
ọ vi n th hiện
Nguyễn Kh c Chung
Trang 5MỤ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
2.1.3 Ưu iểm nh iểm c a kiểm duyệt mô hình 10
3 Ưu iểm 10
3 h iểm 10
2.1.4 ớ ể 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
Trang 62.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 ờng (path finder) 26
3.1.4 g n ng ặ t tính h t (Property Spe ifi tion ngu ge) SA 26
3.1.4.1 Bộ kiểm tra mô hình biểu t 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 t (Expression Language) 28
3.2.1 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 un (The o ule ngu ge) 33
3 3 3 un 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 un 34
3 3 3 4 Kh i o m un 34
3.4 Đặ tr ng hính a SAL 35
h ng 4 ỨNG DỤNG 36
4.1 Bài toán hệ th ng công t n 36
Trang 74.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
Trang 8DANH 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
Trang 9Automaton
Trang 10Chươ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
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ế
Trang 11Chươ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 h sử ng ng n ng m t m h nh
ộ kiểm tr m h nh
Kiểm tr v nh gi nh nh h ng m h nh ng việ th hiện m ph ng
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 t trong mô hình hệ th ng
Trang 122.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
ỗ 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 p th ng tin lỗi khi ph t hiện một tính h t kh ng tho m n m
h nh
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ế
Trang 13(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ử ể
t m r lỗi
h kiểm tr tính h t y u u kh ng m o s ho n h nh kiểm tr y tính h t Tính h p lệ tính h t kh ng kiểm tr th sẽ kh ng nh gi
2.1.4 Các bước để kiểm duyệt mô hì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
Trang 14tr 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 :
TS c gọi là h u h n nếu S, Act, và AP là h u h n [ ]
Tiền nhiệm tr tiếp v thừ kế tr tiếp (Dire t Pre e essors n
Trang 15Khô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]
Trang 16 Th thi ph n o n n u v th thi ph n o n i ( xim l
n niti l xe ution Fr gment):
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 thi
ph n o n n u lớn nh t
tr ng th i thể t (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 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)
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
Trang 17Xé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)
red
green
green TrLight 2
TrLight 1 ||| TrLight 2
red red
red green green red
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
𝑥 𝑥
𝑐𝑡 𝛼
||| 𝑥 𝑥
𝑐𝑡
Trang 18Trong gi sử khởi t o biến x = 3 Hệ th ng chuyển ổi TS(PG 1 ) ||| TS(PG 2 ) mô t ở hình 2-4 n ới:
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
Trang 19g m: không có khóa chết (deadlock), không có các tr ng th i ộ u ti n
gi ng nhau mà có thể g y r ổ v hệ th ng
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 ờng trong TS nếu
( ) , với t t c các tr ng thái s thuộc một ờng c a TS nếu ( ) với
t t c các tr ng thá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 ũng ng ở các tr ng thái 𝛼
í h s‟
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
Trang 20minh 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
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 n lu n lu n
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 việ
Trang 21Có 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 i h i t 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
Trong nhiều n m qu nhiều ng n ng ặ t r ể m h nh
h hệ th ng thời gi n 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 u t ) gi trị thời gi n m h nh h nh l việ p nh t iến ng
Trang 22h th thi m h nh thể r ng uộ ng iểu th o vệ liên quan
ến ng h
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
( ) ( )
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ó:
Trang 23⋃
… atomic prop α
… next step ○α
… until α U b
… 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ờ ng thời truy xu t
v o vùng g ng c miêu t bởi công th c:
( 𝑐 𝑡 𝑐 𝑡 )
Trang 24Cô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
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 qu n hệ th a mãn ⊆ ( 𝐴 ) là quan hệ nh nh t với thuộc tính
Ví dụ: Ngữ nghĩa của logic thời gian tuyến tính
Hình 2-6: Ví dụ về logic thời gian tuyến tính