Định nghĩa kiểm duyệt mô hình Kiểm đuyệt mô hình được định nghĩa bởi Clarke & Emerson 1981: Kiểm duyệt mô hinh là một kĩ thuật tự động, khi cho trước một mô hình trang thái hữu hạn của
Trang 1
DẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGIIÿ
NGUYEN KHAC CHUNG
KIEM CHUNG HE THONG THO! GIAN THUC BANG CONG CU
KLEM CHUNG MO HINH SAL
LUAN VAN THAC Si CONG NGHE THONG TIN
TIA NOI, 2015
Trang 2
NGUYEN KHAC CHUNG
KIEM CHUNG HE THONG THO! GIAN THUC BANG CONG CU
KIEM CHUNG MO HINH SAL
Nghành : Công nghệ thâng tin
Chuyên nghành : Kỹ thuật phần mềm
Mã số : 6U 48 01 03
LUAN VAN TIIAC Si CONG NGIIE TIIONG TIN
NGƯỜI HƯỜNG DẪN KHOA HỌC: TS ĐẶNG VĂN HƯNG
HA NOT, 2015
Trang 3LỜI CẢM ƠN
Trước tiễn tôi xin bảy tố lỏng biết ơn sâu sắc tới T8 Đặng Văn Hưng, giảng viên Bộ môn Công nghệ phần mềm - Khoa Công nghệ thông tin - Trường
Đại học Công nghề - ĐHQGHN Trong thời gian học và làm luận văn tốt nghiệp,
thầy đã dành nhiều thời gian quỷ báu và tân tỉnh chỉ bảo, hướng dẫn tôi trong
việc nghiên cứu, thực hiện luận văn
Tôi xin dược cam ơn cdc GS, TS di ging dạy tôi trong quá trinh học tập
và làm luận văn Các thầy cô đã giúp tôi hiểu thấu đáo hơn lĩnh vực ma minh nghiên cứu dé có thể vận dụng những kiến thức đó vào trong công tác của mình
Xin căm ơm bạn bẻ, đổng nghiệp trong công ty đã tạo mọi điều kiện tốt nhất cho tôi trong suốt quá trình học tip va nghién cứu để hoàn thành tốt bản luận văn tốt nghiệp này
TIả nội, tháng 11 nắm 2015
Tiọc viên thực hiện
Nguyễn khắc Chung
Trang 4LOI CAM DOAN
Tôi xin cam doan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự
giúp đỡ rất lớn của thầy hướng dẫn Các nội dung nghiên cứu và kết quả trong
đề tài này hoàn toản trung thực
"Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã được liệt kê tại phần tải liệu tham khảo ở cuếi luận văn
Hà nội, tháng TÌ năm 2015
Học viên thực hiện
Nguyễn Khắc Chung
Trang 52.1.2 Quá trinh chung cho việc kiểm duyệt mô hình uo
2.1.3 Uu điểm, nhược điểm của kiểm duyệt mô hỉnh 10
2.2.1.1 Định nghĩa hệ thống chuyển đối (transition system) 12
2.2.2 Mô hình hóa hệ thống song song và giao tiếp - 14
2.2.2.1 Đồng thời và dan xen (Coneurreney and Interleaving) 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 8ystem) 16
2.4 Kiểm duyệt mô hình hệ thống thời gian thực (model checking 1eal-time
2.41 TIệ thống thời gian rdi rac (Discrete-time System) 19
Trang 6242 TIệ thống thời gian dây đặc (Dense-từne system)
2.5 Logic Thời gian tuyến tỉnh (Linear Temporal Logic)
2.5.2 Kiếm duyệt mô hình logic thời gian tuyến tính dựa trên otomat
Chương 3 TÔNG QUAN VỀ CÔNG CỤ KIRM CHUNG MO HINH SAIL
(8§ymbolic Analysis Laboratory)
3.1 Giới thiệu ¿.oec re
3.1.1 Môitrường BAL
3.1.2 Bộ mỗ phỏng (Simulator)
3.1.3 Bộ tim kiếm đường (path finder)
3.14 Ngôn ngữ đặc tỉ tình chất (Property 3peciBcation Language) của SAL
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)
3.2 Ngén ngit di&n dat (Expression Language)
3 Ngôn ngữ chuyển đổi (Lhe Iransition L.anguage)
3.3.1 Binh nghta (Definition)
3.3.2 Câu lệnh bảo vé (Guarded Command)
3.3.3.1 Mé dun co sé (Base Module)
3.3.3.2 Thao tác biển biến trạng thải
3.3.3.3 Thanh phan mé đun
3.3.3.4 Khai báo mô đưn
Trang 7411 Mồ tả bài toán
4.1.2 Mô hinh vả kiếm duyệt hệ thống công tác đèn trong 8AL
4.1.2.1 Mô hình hóa
4.122 Kiểm duyệt các tính chất
4.2 Bài toán hệ thống thang máy đơn gin
4.2.1 Mô tả bài toán
4.2.2 Mô hình và kiểm duyệt hệ thống thang may 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
Chương 5 KET LUAN
TẢI LIÊU THAM KHẢO
PUG Luc
Trang 8
Ví dụ mô 14 interleaving của 2 2 đồng giao wo théng
Ví dụ mô tả biến dung chung bess Ngữ nghĩa cúa phương thức thời gian
Ví dụvề logic thời gian tuyển tính + "
Tổng quan về kiểm duyệt mồ hình logic thời g gian an tuyển tỉnh
Mô hình cửa thang máy
Mô hinh thang máy
Trang 97
Automaton
Trang 10
Chương 1 GIỚI TIIỆ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 va da dang Các hệ thống này ngày cảng trử nên phức Lạ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ấn và các đồ 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 càng tăng và chặt chế
hơn vào các hệ thống thông tin lắm cho độ tm cậy của các hệ thống ngày cảng
yêu cầu cao
y dựng phần mềm gó chất lượng cao cần tuân thủ việc đảm bảo chất
lượng phần mềm Trong dé việc đảm bảo tính dùng dẫn của thiết kế ở giai doan
sớm đóng vai trỏ mẫu chốt cho việc đấ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 dang dược áp dụng dễ kiểm duyệt thiết kế hệ thông nhằm ting độ tin cây của hệ thông,
Trong nhiều nim qua việc nghiên gứu các phương pháp hình thức đã dẫ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 Các kĩ thuật kiếm duyệt này được cài đặt thành các công cụ có thể
dược sử dụng một cách tự dộng ở các giai doạ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 vu kiểm duyệt mô hình phần mềm như SAL,
SPTN, NuSMV, PAT, UPPAAI SAT 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 gian để đặc tả các rang buộc thời gian với các quá trinh chuyến đối Nội dung của đề tài là nghiên
cứu các lý thuyết cơ bản về kiểm duyệt mô hình, các kinh nghiệm sử dụng công
cụ kiểm đuyệt mé hinh SAL va sit dung SAL để kiểm duyệt mô hình hệ thống
trong thực tế
Trang 119
Chuong 2 TONG QUAN VE KIEM DUYET MO HiNH 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 đuyệt mô hình được định nghĩa bởi Clarke & Emerson 1981: Kiểm
duyệt mô hinh là một kĩ thuật tự động, khi cho trước một mô hình trang 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]
BO kiểm duyét mé hinhy
2.1.2.1 Giai đoạn mô hình hóa
> Mô hình hệ thống bằng cách sử dụng các ngôn ngữ mô tả mô hình của
các bộ kiểm tra mô hình
> Kiểm tra và đánh giá nhanh chóng các mô hình bằng việc thực
hiện mô phỏng
> Hình thức hóa các thuộc tính cần kiểm tra sử dụng ngôn ngữ đặc
tả tính chất
2.1.2.2 Giai đoạn thực thi
Thực thi một bộ kiểm tra 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 tra tính thỏa mãn của các lính chất trong mô hình Nếu một tính chất thỏa mãn mô hình thì chuyển sang kiểm tra tính chất tiếp theo
> Tinh chat nao vi phạmmô hỉnh thi thực hiện:
«Phân tích tạo ra phần ví dụ bằng cách mô phéng
«_ Điều chính lại mô hình, thiết kế hoặc tính chất
> Lặp lại toàn bộ thủ tục
> Trản bệ nhớ thì thực hiện giảm mô hình va thực thị 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 cân xác minh tổng quát được áp dung cho
nhiều hệ thống,
> TIễ trợ kiểm duyệt bộ phận, các tính chất có thé kiểm duyệt một cách
riêng lẻ, Lừ đó có thể tập trung kiểm duyệt tính chất quan trọng trước ma
không cần một đặc tả hoàn chính của hệ thống
> Cung cấp thông tin lỗi khi phát hiện một tính chất khéng thoa man ma
hinh
¥ La một kĩ thuật có nhiều tiềm năng, kiểm đuyệt mô hình tương tác mức
độ cao với người sử dụng, vàkhông yêu cầu người sử dụng có mức độ
cao về chuyên môn
> Dễ dàng tương thích với các chu trình phát triển phần mềm hiện nay Các nghiên cứu chỉ ra rằng nỏ có thé mang lại thời gian phát triển phần mêm ngắn hơn
2.1.3.2 Nhược điểm
> Kiểm duyệt mô hình chủ yếu phủ hợp với các ứng dụng chuyên sâu có kiếm soát, ít phù hợp với các ứng dụng chuyê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 để cụ thể như là các hệ thống trạng thái vô hạn, hoặc về các kiểu dữ liệu trừu tượng, nhưng kiếm duyệt mô hình không
có hiệu quả trong tính toán
> Kiểm duyệt mô hình một hệ thống nhưng hệ thông không phải là thực tế
Trang 1311
(sẵn phẩm hoặc nguyên mẫu) Mọi kết quả nhận được là của mô hình hệ
thống Do đó cẩn thiết những kĩ thuật bổ trợ khác như là kiểm thử để
tìm ra lỗi
> Chỉ kiểm tra các tinh chất được yêu cầu, khêng đảm bảo sự hoàn chỉnh
kiểm tra đầy đủ các tính chất Tỉnh hợp lệ của các tỉnh chất không được kiểm tra thi sẽ không đánh giá được
> Có vấn đề về sự bùng nd Trạng thái tức là số lượng trạng thái cần thiết
để mô hình hoá hệ thông chính xác vượt quá không gian bộ nhớ của
máy tỉnh
> kiểm đuyệt mô hình yêu cầu việctm kiểm trừu tượng thích hợp để có
được hệ thông mô hình nhỏ hơn và thể hiện các tính chất, trạng thái theo
logic hình thức
2.1.4 Các bước dễ kiểm duyệt mô hình
> Mô hình hóa hệ thống (xây dựng một mô hình XI cho hệ thông)
> TTình thức hóa yêu cầu (đặc tả các tính chat 0)
> Quyét định và kiếm tra thuật toán (thực hiện ở các công cụ mô hình
hóa)
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ục đích kiểm duyệt I2o đó 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 vị của hệ thống,
Mô hình hóa chủ yêu sử dụng Otomat hữu bạ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 dỗi thường dược sử dụng trong khoa học máy tính
như là các 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 tín 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 (thay đố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ử đụng để mê tả cơ chế 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
thời gian
2.2.1.1 Định nghĩa hệ thống chuyén đỗi (transition system)
Một hệ thống chuyển đổi là một bộ 7S (Š tet, —, ï, 47; L) trong đó:
*® S14 mét tap các trạng thái
ø _.1ci là một tập các hành động
*® —=C8x4ct* 8: mỗi quan hệ chuyển đổi trạng thái
+ 1C: là tập hợp các trạng thái khởi tạo
* AP: la tap hop các mệnh đề nguyên tử
«Ă L:8— 21P là một nhãn chức năng 1% được gọi la hou han néu S, Act, vả ÁP là hữu hạn D)
> Tiển nhiệm trực tiếp và thừa kế trực tiếp (Dircet Predecessors and
Successors)
Vois € S vaa € Act, tap thira ké truc tiếp acta s được định nghĩa
là: Post(s,g) = {s E S| 555), Post(s) = Uneace Post(s, a)
> ‘Tap tién nhiém cia s duoc dinh nghia 1a
Pre(s.a) = {s' € Sls’ s}, Pre(s) = Uneacr Pre(s, a)
»> Trạng thái kết thúc: Trang thai s trong hệ thống chuyển ddi TS duoc gọi là
trạng thái kết thúc chỉ khi iÝ Pos#(s) — Ø
V† âu: Máy bán đề uắng tự động
Trang 15Hinh 2-2 mồ tá thiết kế của một máy bán đỗ uống tự động Máy có thể tự
động bin bia va soda Cav trang thái dược biểu diễn bởi các hình oval và các
chuyển dỗi là nhần của các cạnh Tên của các trạng thải dược mồ tả bên trong hình oval Trạng thái ban dầu được chỉ dịnh bằng mũi tên di vào
Không gian trạng thái S — {pay, select, soda, beer} Tap trạng thái khởi tạo là J — {pay} Cac hanh d6éng insert_coin (người mua) là chí đưa liền vào máy, trong khi hành động (của máy) get soda, get baer kí hiệu là pay soda, beer Cac chuyển đổi mà có nhãn hành động không liên quan, ví dụ ở đây hành động biểu điễ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 = finsert_coin, get_soda, get_beer,t}
âm chuyển đổi là:
insert_coin gat _bear
pay > select va beer ——— pay
Tập mệnh dé nguyén tir AP — {paid, drink} cùng với nhăn chức năng
L(pay) = ©, L{soda) — L(beer) — {paid, drink}, L(select} — {paid}
2.2.1.2 Thue thi (run)
Thực thi là mô (4 m6t hanh vi cé thé cé eiia hé théng chuyển dỗi
» Thic thi phan doan (Execution Fragment)
Gia su TS — (S, Act, >, 1, AP, 1) 1a một hệ thống chuyển dỗi Một thực
thi phan doan hitu han @ cia 7S la mat chudi thay déi cia céc tang thai, hanh
đông và kết thúc với một trạng thải
Ø = SođiS%¡8; .Syữn sao cho ¡ —> §¡+¡ với S £ S 8n > (|1
Trang 16> Thực thi phân đoạn ban đầu và thực thi phân đoạn cực đại CMiaximal
and Initial Execution Fragment):
Một thực thi phân đoạn cực đại lả một thực thi phân đoạn vô hạn hoặc là
một thực thi phân đoan hữu hạn, kết thúc ở một trang thái kết thúc.Một thực thi
được gợi là ban đầu nếu nó bắt đầu ở một trạng thải khởi tạo
Vi du: may ban dé uéng te dong 6 hinh 2-2
fy = pay — select > soda —> pay — select > soda —
+ sget coin + byet
fz = select > suda — pay — select = beer —
coin + sgeL com +
g =pay — select + soda —> pay — select ¬ soda Các thực thí phân doan p, va ọ là thực thi phân doạn ban dầu, pạ không phải là thực thả phân doạn ban dẫu o không phải là thực thì phân doạn cực dại vì
nó không kết thúc ở trạng thái kết thúc Giả sử pạ và p; là vô hạn thì chúng là thực thị phân doạn cực đại
> Thực thi: Một thực thi của một hệ thống chuyển tiếp 7 là một thực thi phân đoạn ban đầu, lớn nhất
> Cac trang thái có thể đạt được (reachable states):
Một trạng thái s E § được gọi là oó thể đạt được trong hệ thông chuyển
đổi 7€ nếu nẻ có một phần doạn thực thì bạn đầ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 vị của các tiến trình chạy trên hệ thống song song được đưa ra
bởi các hệ thông chuyên đổi 7%, 78› 75%, Định nghĩa toán tử song song là “|j”
và TẾ — TS,||T4; | T5, 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ừ 7Š; đến 7,
2.2.2.1 Dé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à đan xen
“interleaving”.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 pdm 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 gdm sáo 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 được dan xem cùng với hành dộng của thành phần khác
Vi du: Har dén giao thong độc lập
Trang 1715
Xét hệ thống chuyển đối của hai đèn giao 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 giao thông được điều khiển để người đi bộ băng qua đường Mỗi dén giao
thông được mỗ hình hóa như một hệ thống chuyển dỗ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 dèn xanh Hệ thống chuyển dai
của các thành phần song song của hai đến giao thông được mô tả ở hình 2-3 bên đưới (TrLight; ||| TrLight;)
L—.Ố (red green|
Tinh 2-3: Vi 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ử “interleaving” được sử dụng để mô hình hóa hệ thống không
ding bộ trong đó các quy trinh con hoạt động hoàn toản độc lập với nhau, không
có việc truyền tin nhắn hoặc xung đột về biến dùng chung Miệt hệ thống mà có
các thành phan con hoạt động đồng thời để có thể nói chuyện giao tiến với nhau
thi sit dung biển dùng chung
Vi du: Ste dung biến dùng chung cho các tiễn trình đồng thời
ĐỖ thị cho hai chỉ dẫn a và /? là các tiến trình song song,
#i=2*x j|zrZx+1 ESSE WEE A action & action B
Trang 18Trong đó giả sử khởi tạo biến x = 3 11é théng chuyén déi TS(PG.} ||]
TS(PG,) mé La ớ hình 2-4 bến dưới:
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ác, giao 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
được trao đổi khi bắt tay có thể là số nguyên đơn giản, cấu trúc đữ liệu phức tạp
như mảng hoặc vá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 trinh giao tiếp với nhau thông qua các
kênh truyền, nghĩa là tiến trình vào trước, ra 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ì các 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 uáo liế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
Dé kiểm duyệt, việc mô hinh 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
cơ sở được đưa ra nhằm kiểm duyệt các tinh chất một cách tự động
Việc đặ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: tinh an toan va tinh sống
2.3.1 Tinh an toan (safety property)
Một tỉnh an toàn là một tính chất dược mô tá như là “thứ pì đó xấu không bao giờ xây ra” (“something bad never hanpens”) I3o đó, yêu cầu an toàn bao
Trang 19Khó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
đó có ít nhất một thành phần không ở trạng thái kết thúc Do đó toàn bộ 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 của tính an toàn có thể được mô tả như môt
công thức của mệnh dễ nguyên tử Ví dụ¬(£sọ Acs;) là một tính an toàn cho
vấn để loại trừ lẫn nhau nghĩa là xử lý 0 và xử lý 1 không thể vào vùng găng tạt
củng một thời điểm
ĐỂ xác mình 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 trang thái Irong quá trinh 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), sau đó chúng ta tìm ra 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 (nvarianU
Một thuộc tính thời gian tuyển tính Pi_, trên một lập mệnh đề nguyên tử
ÁP là một bắt biển nếu só một biêu thức logic mệnh đề Œ trên một lập mộnh đề
nguyễn tử sao cho
Pang = {Ag Ay Ap - € (247)”|vj > 0,4 E 0®}
@® gọi là một điều kiện bắt biến hoặc điều kiện trạng thái của P;uụ
Chú ÿ:
TS E Bạy nếu tracc(m) € By với LẤt cả các đường x rong 7Š nếu
L(s) & ©, voi tất cá các trạng thái s thuộc một đường của 7S nêu L(S) E ® với tất cả các trạng thái s € Reach(TS)
Khải niện bắt biến có thể được giải thích như sau: điều kiện ® thỏa mãn
tat cA cde trạng thái ban đầ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 đưa ra Có nghĩa rằng nêu ử đẳng ở các
trạng thái s của một chuyển đổi ss #', sau đó Œ cũng đúng ở các trạng thái
Trang 20minh chi bang các trạng thái có thể đạt được Để minh họa cho điều này xem xet
ví dụ là máy rút tién ATM (automated teller machine) Một yêu dầ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 chat
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 nay đượ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 (“bad”) ‘Irong vi du trén d6 1a 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 P„„ trên mệnh đề nguyên tử AP được gọi là tính an toàn nếu tất cả càc chuỗi a E (247) D„¿ có tồn tại một tiền tố hữu
hạn ổ của o sao cho: Pre { ø' € (22”#| @ là một tiền tố hữu hạn của ø”} = Ø
Bắt kì chuỗi hữu hạn ổ gọi là tiên tổ xấu (bad prefix) của Prag
2.3.2 Tính séng (liveness property)
Khác với tính an toản, tính sống nghĩa là “thứ gì đỏ tốt đẹp”Csomething good”) cuối cùng cũng sẽ xảy ra Lĩnh an toàn bị vi phạm trong thởi gian hữu hạn, tinh sống bị vi phạm trong thời gian vô hạn 7 đự: Trong thuật toán loại trừ Tẵn nhau, ví dụ điển hình của tính sống bao gồm:
> (eventually) mỗi tiên trình cuối cùng sẽ vào vủng găng của nó;
> (ropeated cvontually) méi tién trình số vào vửng găng của nó luôn luôn
cuối cùng,
> (starvation freedom) mdi tiến trình đợi cuối củng sẽ vảo vùng găng của
nó,
ĐỂ đặc tả các tỉnh sống, phương pháp phổ biến là Logic thời gian
(lemporal Logics) Ví du như la Computation ‘ree Logic (CTL), Linear 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 được sử dụng trong các ứng dụng quan trọng mà việc dự
đoán được thời gian đáp ứng là rất cần thiết để đảm bảo cho tinh ding đắn của
hệ thống Các hệ thống nảy gọi lá các hệ thống thời gian thực Do tỉnh chất của các ứng dung như vậy, nên việc sai sót trong hệ thông thời gian thực cỏ thể cực
kỷ nguy hiểm, thậm chí gây dỗ vỡ hệ thống Đảm bão tỉnh dùng dẫn cửa một hệ
thông thời gian thực phức tạp là một nhiệm vụ quan trọng và không hề đơn
giản |2|
Trang 21đặc là truy cập thời gian có thể số hữu tỉ hoặc các số thực và tất cã các dồng hồ
do ting theo giá trị théng nhất
2.4.1 Hệ thống thời gian rời rạc (Dscrete-time System)
Khi Lhời gian là rời rạc, giá trị dồng hồ là các số nguyễn không âm, và các
sự kiện chỉ có thể xây ra Lại các giá trị thời gian là số nguyên Đây là loại mô
hình thích hợp cho các hệ théng ding hộ, nơi mả tất cả các thành phần dược đồng bộ sử dụng một đồng hỗ toàn cục duy nhất 'Thời gian giữa các đồng hd
liên tiếp được chọn là đơn vị cơ bắn để đo thời gian Mô hỉnh nảy đã được sử
dụng thành công đế kiếm duyệt về tính đúng đắn cho thiết kể đồng bộ của phần
cứng trong nhiều năm Trong các mô hình thời gian rời rạc, yêu cầu có một đồng
hỗ đuy nhất toàn cục
Các phương pháp sử dụng để phân tích lượng thời gian cho các hệ thông,
thời gian rời rac la CTL mở rộng để đặc tả ràng buộc về thời gian giữa hai hành động Các phương pháp xác minh được phát triển tương tự như kiểm duyệt mô
hinh CTL Dé cé thé ting tính mở rộng thì kĩ thuật kiếm đuyệt mô hình biểu tượng được tích hợp vào phương pháp này
2.4.2 Hệ thống thời gian dày đặc (Dense-time sys(em)
La mé hinh cho các hệ thống không đồng bộ, bởi vi nó phân tách các 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ả các sự kiện
độc lập trong hệ thông không đồng bộ Trong mô hình thời gian dày đặc, có một
lượng tử thời gian cố định để phân tách độ trễ giữa hai sự kiện bằng bội số của
lượng thời gian cế định Điều này có thể giới hạn độ chỉnh xác của hệ thống mô
hình hóa Ngoài ra việu lựa chọn lượng tứ thời gian phù hợp để mô hình hóa hệ thống không dễng bộ một cách chính xác
Trong nhiều nằm qua, có nhiều ngôn ngữ đặc tả được đưa ra để mô hình
hóa các hệ thống thời gian dày đặc Ví dụ như: ?imeđd Aufomata Từned
Process Aigebra, Timed Interval Caicuius, 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ỏa chuẩn
trong thiết kế mô hình hệ thống thời gian thực Otomat thời gian là một máy hữu
hạn trạng thái có các biến đồng hồ (có nhiều vùng gid ui khác nhau là các số
hữu tỉ) Các giả trị thời gian được mô hình hoa như là việc cập nhật biến déng
Trang 22đến cáo đồng hà
2.5 Logic Thai gian tuyén tinh (Lincar Temporal Logic)
Phần nay sẽ mồ tả củ pháp và ngữ nghĩa của logic thời gian tuyển tính
Tiếp theo ld xem xét thuật tốn kiểm duyệt mơ hinh dựa trên otomat Buchi cho
logic thời gian tuyến tính Các thuật tốn này được sử dụng để trả lời cho câu
hỏi: cho trước một hệ thống chuyển đổi T8 và một cơng thức thời gian tuyến
tính cụ, làm thể nảo dỄ kiểm tra œ dú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 Logie 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 bước khĩa
Thanh phần cơ bả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 a € AP), cdc két néi Boolean như là phép nối A, phủ định ¬ vả hai phương thức thời gian cơ bản lả “tiếp theo” Ư và “cho dến
khi? U
& “eventually” (eventually in the future)
a “always” (now and forever in the future)
2.5.1 Logic thời gian tuyén tinh
2.5.1.1 Ca phap (Syntax)
Cơng thức logic thời gian tuyến tỉnh trên một tập mệnh dễ tuyển tính AP
dược tạo từ văn phạm sau
me = true | g lợi Aøz| ¬ứ | Ø ø | g.U gz
trong dỏ # € AP
Sử dụng các tốn tử phép nối A, phủ định ¬, kéo theo —, tương đương ©, chăn lẻ @ cĩ các cơng thức sau:
OV G2 # —(Tứy A ¬@;) 0ị + 0y # Tựn Vệ;
OF G2 = (1 > G2) A(G2 > 1)
WD o2 # (01A nợ; )V(02A ¬ứu )
Sử dụng kết hợp các phương thức thời gian (“eventually”, sometines in the future) va (“always”, from now on forever) cé:
Trang 23Xem xét vân đề loại trừ lẫn nhau của hai xử lý đồng thời P; và P; Xử lý
P, dược mô hình hóa bằng ba vị trí: (1) không ở vùng găng, (2) dang ở giai doạn
đợi khi một xử lý dự định vào vủng găng, (3) ở trong vùng găng Giả sử mệnh
đề wait, và crữt, biểu thị xử lý P, lần lượt là ở giai đoạn đợi va trong ving
ging
Các tính an loan chỉ ra rằng P, va P, không bao giờ đồng thời truy xuất
vào vùng gắng dược miêu lá bởi công thức:
O(nerity V acrit,)
Trang 24Công thức này chỉ ra rằng luôn luôn có it 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ý P, là vô hạn trong vủng găng được mô tả bằng công thức
(0 0 crit,) A (0 6 crit,)
Công thức mô tả xử lý đợi vả cuối cùng vào vùng găng:
(await, > n$crii) A (19 wait; > n § crữa)
Cách giải quyết cho bài toán loại trừ lẫn nhau sử dung một mô tả nhị phân
cb cong thie
Oty = 0) > crit, Vv crita)
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 logie thời gian Luyến tính biểu diễn cho các Linh chất của các
đường Điều này có nghĩa là một đường có thể đáp ứng hoặc không đáp ứng
một công thức thời gian tuyển tính Ngữ nghĩa của công thức logic thời gian
tuyến tính @ được định nghĩa như một chuỗi Wørds() bao gồm (al od cae tir
vô hạn trên tập kí hiệu 24” 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
rử @ là một công thức logie thời gian tuyển tính I.IL, trên tập mệnh
dé nguyên tứ AP Thuệc tính thời pian tuyển tính dưa ra bởi ø lả