Danh mục từ viết tắtBDD : Binary Decision Diagram Sơ đồ biểu diễn nhịphân CTL : Computational Tree Logic Lôgic cây tính toán DC : Duration Calculus Lôgic khoảng FTA : Finitary Timed Auto
Trang 1Phạm Hồng Thái
một số phương pháp kiểm chứng tính đúng đắn của hệ thời gian thực
bằng thuật toán
luận án tiến sĩ toán học
Hà Nội - 2005
Trang 2đại học quốc gia hà nội trường đại học công nghệ
luận án tiến sĩ toán học
người hướng dẫn khoa học
1 : TS Đặng Văn Hưng
2 : PGS TS Đinh Mạnh Tuờng
Hà Nội - 2005
Trang 3Lời cam đoan iv
2.1 Mô hình thời gian 14
2.1.1 Thể hiện đồng hồ và ràng buộc thời gian 14
vi
Trang 42.1.2 Kỹ thuật phân vùng đồng hồ 15
2.2 Ôtômat thời gian 17
2.2.1 Cú pháp và ngữ nghĩa 17
2.2.2 Đường chạy và dáng điệu của ôtômat thời gian 19
2.2.3 Hợp song song của các ôtômat thời gian 20
2.3 Lôgic khoảng 21
2.3.1 Mô hình trong Lôgic khoảng 22
2.3.2 Công thức khoảng và bài toán kiểm chứng mô hình 25
3 Kiểm chứng mô hình với kỹ thuật qui hoạch tuyến tính 27 3.1 Biểu thức chính quy thời gian và bài toán qui hoạch tuyến tính 29 3.1.1 Biểu thức chính quy thời gian - TRE 29
3.1.2 Biểu thức TRE hữu hạn 34
3.1.3 Xây dựng bài toán qui hoạch tuyến tính 36
3.2 Chuyển TRE về hợp của các TRE hữu hạn 38
3.2.1 Cận thời gian của biểu thức TRE 39
3.2.2 Khử phép toán ∗ trong biểu thức TRE 41
3.2.3 Kiểm chứng tính an toàn của hệ chắn tàu 43
3.2.4 Kiểm tra tính rỗng và khử ∗ xuất hiện dưới ⊗ 45
3.3 Các công trình liên quan và nhận xét về phương pháp 46
3.3.1 Các công trình liên quan 46
3.3.2 Vài nhận xét về phương pháp 47
4 Kỹ thuật rời rạc hoá và duyệt đồ thị đạt được 50 4.1 Tính rời rạc hoá được và đồ thịvùng nguyên 52
4.1.1 Tập mô hình DC của ôtômat thời gian 53
Trang 54.1.4 Đồ thị vùng đạt được nguyên 61
4.2 Kiểm chứng công thức LDP 66
4.2.1 Tính tương đương của M(A) và M uv (A) đối với LDP 66
4.2.2 Đồ thịtrọng số G phục vụ kiểm chứng LDP 68
4.2.3 Thuật toán kiểm chứng LDP 70
4.3 Kiểm chứng công thức LDI 72
4.3.1 Quan hệ giữa lớp mô hình M uv (A) và đồ thịđạt được
RG hướng tới LDI 73
4.3.2 Đồ thịtrọng số G phục vụ kiểm chứng LDI 76
4.3.3 Thuật toán kiểm chứng LDI 81
4.3.4 Kiểm chứng tính an toàn của hệ chắn tàu bằng rời rạc hoá 84
Trang 6Danh mục từ viết tắt
BDD : Binary Decision Diagram (Sơ đồ biểu diễn nhịphân)
CTL : Computational Tree Logic (Lôgic cây tính toán)
DC : Duration Calculus (Lôgic khoảng)
FTA : Finitary Timed Automaton (Ôtômat thời gian hữu hạn)
LDI : Linear Duration Invariant (Bất biến khoảng tuyến tính)
LDP : Linear Duration Property (Tính chất khoảng tuyến tính)
MC : Model Checking (Kiểm chứng mô hình)
PLTL : Propositional Linear Temporal Logic
RTA : Real-Time Automaton (Ôtômat thời gian thực)
RTS : Real-time System (Hệ thời gian thực)
SMV : Symbolic Model Verifier (Bộ kiểm chứng mô hình kí hiệu)
TA : Timed Automaton (Ôtômat thời gian)
TCTL : Timed Computational Tree Logic (Lôgic cây tính toán thời gian)TDP : Temporal Duration Property (Tính chất khoảng thời gian tuần tự)
TL : Temporal Logic (Lôgic thời gian tuần tự)
TRE : Timed Regular Expression (Biểu thức chính quy thời gian)
ix
Trang 74.1 Thuật toán xây dựng đồ thịđạt được nguyên 65
4.2 Thuật toán kiểm chứng tính thoả của G đối với LDP 71
4.3 Thuật toán kiểm chứng LDI với đỉnh xuất phát cố định 83
4.4 Thuật toán kiểm chứng LDI tổng quát 83
A.1 Đồ thị vùng đạt được nguyên của DATA1 104
A.2 Đồ thịtrọng số phục vụ kiểm chứng LDP với DATA1 104
A.3 Bảng kết quả kiểm chứng LDP với DATA1 105
A.4 Đồ thịtrọng số phục vụ kiểm chứng LDI với DATA1 106
A.5 Bảng kết quả kiểm chứng LDI với DATA1 107
A.6 Đồ thịvùng đạt được nguyên của hệ chắn tàu với a = b = c = 1 108 A.7 Đồ thịtrọng số phục vụ kiểm chứng hệ chắn tàu với a = b = c = 1109 A.8 Bảng kết quả kiểm chứng hệ chắn tàu 110
x
Trang 8Danh mục hình vẽ
1.1 Sơ đồ bộ kiểm chứng mô hình 4
2.1 Các vùng với cận đồng hồ c x = 2, c y = 1 17
2.2 Ôtômat thời gian 19
2.3 Một mô hình của DC 23
3.1 Hệ chắn tàu 30
3.2 Một dáng điệu của hệ chắn tàu 32
4.1 Mô hình DC của ôtômat thời gian 54
4.2 Các lớp mô hình của ôtômat thời gian A . 55
4.3 Một trường hợp nguyên hoá mô hình σ với b = b và e = e 60 4.4 Đồ thịvùng đạt được nguyên RG . 66
4.5 Đồ thịtrọng số G phục vụ kiểm chứng LDP 69
4.6 Đồ thịtrọng số G từ đồ thịvùng đạt được RG . 78
4.7 Đường đi trong đồ thịtrọng số G 79
4.8 Ôtômat đạt được của hệ chắn tàu 84
xi
Trang 9Với những thành công của đặc tả hình thức, kiểm chứng mô hình thời gianthực đã đóng góp nhiều phương pháp, thuật toán, cấu trúc dữ liệu và trên cơ
sở đó cung cấp nhiều bộ công cụ kiểm chứng mô hình cho phép kiểm tra tựđộng tính đúng đắn của hệ thống Tuy nhiên cho đến hiện nay, các thuật toánphục vụ kiểm chứng tính chất thời khoảng vẫn còn rời rạc và hạn chế, chủ yếuchỉ đối với các lớp con của ôtômat thời gian và các công thức khoảng được xétvới ngữ nghĩa thu hẹp
Từ đó, luận án này đặt vấn đề quan sát và thiết kế các thuật toán kiểmchứng với hệ thống mở rộng hơn và các tính chất thời khoảng trong ngữ nghĩatổng quát của nó Đó là lớp hệ thống biểu diễn được bởi ôtômat thời gian vàcác tính chất khoảng được biểu diễn bởi các công thức trong lôgic khoảng nhưcông thức khoảng tuyến tính (LDP), bất biến khoảng tuyến tính (LDI).Sau phần tóm tắt quá trình phát triển và các thành tựu của lĩnh vực kiểmchứng mô hình, luận án trình bày về phương pháp sử dụng qui hoạch tuyếntính để phục vụ kiểm chứng, trong đó hệ thống được biểu diễn bởi biểu thứcchính quy theo thời gian (một dạng thể hiện khác của ôtômat thời gian) vàđưa ra thuật toán kiểm chứng dựa trên lớp các biểu thức chính quy mở rộng.Luận án cũng chỉ ra các ưu điểm và mặt hạn chế của phương pháp qui hoạchtuyến tính, từ đó đề nghịsử dụng phương pháp duyệt đồ thịvùng đạt được,bằng cách khôi phục lại khoảng cách thời gian (cực tiểu và cực đại) của cácphép chuyển Trên cơ sở đồ thịđạt được, và tính rời rạc hoá được của các côngthức, các đồ thịtrọng số sẽ được xây dựng và thuật toán duyệt được tiến hànhtrên các đồ thịnày Phương pháp này tỏ ra hữu hiệu khi tiến hành kiểm chứngLDP, và cung cấp câu trả lời về tính quyết định được của tính chất LDI
xii
Trang 10là hết sức khó khăn, đặc biệt là đối với các hệ thống thời gian thực mà việckiểm tra chúng (một cách chặt chẽ) chỉ mới được phát triển trong khoảng hơn
10 năm trở lại đây Phần lớn các khó khăn trong kiểm tra đến từ việc chưa
có một phương pháp nhất quán để mô tả hệ thống, dẫn tới cách hiểu về hệthống một cách chung chung, mơ hồ, không tạo được nền tảng để xây dựngnhững kỹ thuật kiểm tra thống nhất và từ đó dẫn tới cách thức kiểm tra khônghữu hiệu, thiếu tính thuyết phục Do vậy gần đây, các phương pháp hình thức
đã ra đời và được phát triển ngày càng mạnh mẽ, đạt được nhiều thành tựu.Trên nền tảng đó các ngôn ngữ đặc tả hệ thống cũng như các phương pháp,
1Ví dụ nguyên nhân vụ nổ tên lửa Arian 5 vào ngày 4 tháng 6 năm 1996 đã được xác
định do một lỗi nhỏ của phần mềm tính toán chuyển động của tên lửa ([24]).
1
Trang 11kỹ thuật kiểm tra đã được xây dựng và ngày càng chứng minh tính hiệu quảcủa chúng Đặc biệt, một trong các phương pháp kiểm tra như vậy được gọi
là kiểm chứng mô hình đã sản sinh ra các bộ kiểm chứng cho phép tiến hànhkiểm tra hệ thống một cách hoàn toàn tự động Từ đó, các bộ kiểm chứngngày càng đóng vai trò quan trọng, được sử dụng rộng rãi và phục vụ đắc lựccho công việc kiểm tra, vốn nhiều khó khăn, đòi hỏi nhiều thời gian trở nênngày càng dễ dàng, nhanh, chính xác và hiệu quả hơn
Trong chương này - thay cho lời nói đầu - chúng tôi tóm tắt một cách ngắngọn các kết quả, phương pháp đã có cũng như một số hạn chế còn tồn tạitrong lĩnh vực kiểm chứng mô hình của các hệ thời gian thực, từ đó đưa đếncái nhìn ban đầu về mục đích và những lý giải về tính cần thiết của đề tài.Phần cuối cùng của chương chúng tôi trình bày về nội dung chính của luận
án, và các kết quả luận án đã đạt được trong việc giải quyết mục tiêu đề ra
1.1 Đặc tả và kiểm tra hệ thống
Để kiểm tra tính đúng đắn của hệ thống, trước hết hệ thống phải được đặc tảmột cách rõ ràng và nhất quán Đặc tả là quá trình mô tả hệ thống và các tínhchất mong muốn của nó bằng một ngôn ngữ cụ thể Tính chất của hệ thống
có thể bao gồm nhiều loại như: dáng điệu chức năng, dáng điệu thời gian, đặctrưng hoạt động, hoặc cấu trúc nội tại Một ngôn ngữ đặc tả cần đủ khả năng
để mô tả được hệ thống và các loại tính chất của nó Thông thường, đặc tảhình thức dùng một ngôn ngữ với cú pháp và ngữ nghĩa xác định nên mangtính ổn định và nhất quán cao Ví dụ một vài ngôn ngữ đặc tả như Z, VDM,RAISE sử dụng các cấu trúc toán học như tập hợp, quan hệ, hàm và hiệnnay vẫn đang được sử dụng khá thành công trong nhiều lĩnh vực ([60, 31]).Các hệ thống cũng có thể được trừu tượng hoá bằng một số công cụ biểu diễnkhác như ôtômat, biểu thức chính quy, lưới Petri, đại số tiến trình hay bằngcác hệ lôgic Trên nền tảng này nhiều công cụ mạnh, phụ thuộc chặt chẽ vào
ngôn ngữ đặc tả và kỹ thuật kiểm tra đã ra đời như hệ chứng minh định lý
Trang 12(theorem prover) hay các bộ kiểm chứng mô hình (model checker).
Theo truyền thống, kiểm tra là chứng minh về mặt toán học chương trìnhhay hệ thống thoả mãn yêu cầu đặt ra, nói cách khác hệ thống phải làm việcđúng như phân tích và thiết kế trong phần đặc tả Trong thập kỷ 70 đã cónhiều công trình trình bày các kỹ thuật chứng minh được đưa ra bởi Dijkstra,Floyd, Gries, Hoare, Owicki, Manna, Plueni và nhiều tác giả khác ([23]) Đâythường là một công việc nặng nhọc, đòi hỏi bộ phận kiểm tra phải nắm vữngkiến thức toán học, phải tiến hành các thao tác suy luận, chứng minh - mộtcông việc đôi khi còn vất vả hơn cả viết chương trình Do vậy, đến thập kỷ 80một hướng tiếp cận khác đã được đề nghịđó là kiểm chứng mô hình, nó chophép các kỹ sư thiết kế, các nhóm lập trình có thể sử dụng máy tính và cácphần mềm được lập trình sẵn để kiểm tra tự động sản phẩm thiết kế của mìnhtrước khi sản xuất Nó không yêu cầu chứng minh tính đúng đắn cho một lớpbài toán tổng quát mà chỉ cần kiểm chứng trên bài toán cụ thể, xem với mọidáng điệu, mọi trường hợp có thể có của hệ thống liệu có thoả mãn với yêucầu đã đề ra Từ đó, một đặc trưng dễ thấy của kiểm chứng mô hình các hệthống hữu hạn trạng thái chính là duyệt yêu cầu trên không gian trạng tháicủa hệ thống và về mặt nguyên tắc bài toán coi như đã được giải quyết
Có thể phân biệt 2 hướng tiếp cận nêu trên bằng ví dụ nhỏ là bài toán
SAT, tức kiểm tra tính thoả của một công thức f trong lôgic mệnh đề Bằng
phương pháp chứng minh định lý từ hệ tiên đề của lôgic mệnh đề và các luậtdẫn ta có thể dẫn được về ¬f hoặc không để kết luận tính thoả của f Cách
giải quyết thứ hai là dùng kiểm chứng mô hình liệt kê từng bộ giá trịcủa các
biến mệnh đề sơ cấp có trong f, qua mỗi bộ giá trịđược liệt kê này tính đúng, sai của f sẽ được kiểm chứng để quyết định tính thoả của công thức.
Qua ví dụ nêu trên có thể thấy được ưu điểm của phương pháp kiểm chứng
mô hình so với phương pháp chứng minh định lý Thứ nhất, một phương phápkiểm chứng như vậy có thể được thể hiện thành các bộ kiểm chứng mô hình
với các đầu vào là hệ thống S, tính chất P và đầu ra là câu trả lời "đúng"
Trang 13hoặc "sai" (hình 1.1), từ đó việc kiểm tra được tự động hoá hoàn toàn Thứhai, một bộ kiểm chứng mô hình là có khả năng chỉ ra bộ giá trịthoả mãn
công thức f, điều này ở một mặt khác cũng đồng nghĩa kiểm chứng mô hình
có thể chỉ ra nơi xảy ra lỗi của hệ thống Vì vậy, ngoài câu trả lời đúng/sai
mà bộ kiểm chứng mô hình cung cấp, chúng ta cũng thường dùng chúng nhưcông cụ phát hiện, phục vụ cho gỡ lỗi trong quá trình thiết kế
Hình 1.1: Sơ đồ bộ kiểm chứng mô hình
Thách thức về mặt kỹ thuật trong kiểm chứng mô hình chính là thuật toán
và cấu trúc dữ liệu để giải quyết bài toán bùng nổ không gian trạng thái, tức
số lượng trạng thái thường tăng theo hàm mũ đối với số thành phần hợp thànhcủa hệ thống Để khắc phục, một số kỹ thuật đã ra đời như on-the-fly2, cùngvới cấu trúc dữ liệu hợp lý, đã tỏ ra rất hiệu quả đối với các hệ hữu hạn trạngthái và hiện nay nhiều bộ kiểm chứng đã cho phép chúng ta điều khiển đượccác hệ thống với không gian trạng thái rất lớn
Tóm lại, trong khoảng hơn hai thập kỷ trở lại đây các phương pháp hìnhthức đã đưa lại nhiều thành tựu trong đặc tả và kiểm tra Nó làm tăng mạnh
mẽ kiến thức của chúng ta về hệ thống, và quan trọng hơn, làm bộc lộ tínhnhập nhằng, mâu thuẫn, không nhất quán trong các đặc tả dài dòng bằngngôn ngữ tự nhiên Nó cho phép chúng ta đặc tả và kiểm tra các hệ thốngphần cứng và phần mềm phức tạp mà mới chỉ hơn mười năm về trước thôngthường để hiểu và kiểm tra được những hệ thống như vậy thường phải dựatrên kinh nghiệm cá nhân của các chuyên gia
2kỹ thuật cho phép tiết kiệm thời gian và bộ nhớ bằng cách tiến hành kiểm chứng đồng
thời với quá trình sinh trạng thái.
Trang 141.2 Kiểm chứng mô hình
Vài nét đặc trưng về kiểm chứng mô hình
Năm 1981, E.M Clarke và E.A Emerson [22] lần đầu tiên đưa ra thuật ngữ
Kiểm chứng mô hình (Model Checking), và định nghĩa như sau:
"Kiểm chứng mô hình là một kỹ thuật tự động mà cho trước một mô hình
trạng thái hữu hạn và một tính chất logic, kỹ thuật sẽ cho phép kiểm tra một
cách hệ thống một trạng thái (hoặc mô hình) liệu có thoả mãn tính chất đó".Bài toán kiểm chứng tổng quát có thể được viết dưới dạng:
S |= P ?
trong đó S là mô hình hệ thống, P là một tính chất và |= kí hiệu cho vịtừ
"thoả được" Câu hỏi đặt ra là "Liệu hệ thống S có thoả mãn tính chất P ?"
Thông thường hệ thống được thể hiện bởi ôtômat thời gian và tính chấtđược biểu diễn bởi các công thức trong lôgic thời gian tuần tự (temporal logic).3
Có vài hướng tiếp cận để giải bài toán Hướng tiếp cận thứ nhất đượcnghiên cứu bởi Clarke và Emerson ([22]), và cũng bởi Queille và Sifakis ([50])một cách độc lập Theo hướng tiếp cận này, một thủ tục tìm kiếm trên khônggian trạng thái của hệ thống sẽ được sử dụng để kiểm tra liệu bất kỳ dãychuyển trạng thái nào của hệ cũng thoả mãn tính chất Theo hướng này nhiềucông trình khác đã được thực hiện trên các lôgic mở rộng của lôgic thời giantuần tự như Computational Tree Logic (CTL), Propositional Linear TemporalLogic (PLTL) ([24])
Hướng tiếp cận thứ hai là dựa vào bài toán kiểm tra tính rỗng của ngôn
ngữ ([7, 46]) Theo hướng tiếp cận này, tính chất P cũng được thể hiện bởi
một ôtômat Nếu ngôn ngữ L(S) được sinh bởi S là chứa trong ngôn ngữ L(P)
3chúng tôi tạm dịch từ "temporal" là "thời gian tuần tự", cũng như "real-time" là "thời
gian thực", vì khái niệm "temporal" chỉ cung cấp ý nghĩa thứ tự (về mặt thời gian) xảy ra của các trạng thái thay vì thời điểm chính xác xảy ra các trạng thái đó như trong khái niệm
"real-time".
Trang 15được sinh bởi P thì S thoả P Mặt khác, do L(S) ⊆ L(P) ⇔ L(S × ¬P) = ∅
nên có thể chuyển bài toán trên về bài toán kiểm tra tính rỗng của ngôn ngữ
và nó đã được giải quyết trong [42] đối với ôtômat không thời gian
Một kỹ thuật quan trọng trong kiểm chứng mô hình là kỹ thuật biểu diễn
bằng kí hiệu (symbolic model checking), với đặc trưng chính là biểu diễn mọi
thành phần của bài toán (trạng thái, phép chuyển, tính chất) thông qua các
kí hiệu đại diện Kỹ thuật này cho phép sử dụng các sơ đồ biểu diễn nhịphân
(Binary Decision Diagram - BDD) với dữ liệu được cài đặt tốn rất ít bộ nhớ
và các phép toán trên nó được thực hiện một cách rất hữu hiệu Trên cơ sởnày năm 1992 Clarke và McMillan đã xây dựng bộ kiểm chứng mô hình SMV
(Symbolic Model Verifier) cho phép kiểm chứng các hệ thống với số lượng trạng
thái lên đến 1020 trạng thái ([48]).
Một số bộ kiểm chứng mô hình ra đời trong giai đoạn đầu điển hình nhưSMV, SPIN ([48, 34]) với các tính chất được đặc tả bởi lôgic thời gian tuần tựđược chúng tôi tạm gọi là kiểm chứng mô hình cổ điển để phân biệt với hướngkiểm chứng mô hình thời gian thực sau này
Kiểm chứng mô hình với hệ thời gian thực
Hệ thời gian thực là các hệ thống mà tính đúng đắn của nó liên quan chặt chẽđến các ràng buộc về mặt thời gian như thời gian thực hiện, thời gian hưởngứng, chu kỳ tác vụ, thời gian trễ trong tương tác, truyền thông v v Kiểmchứng mô hình theo truyền thống cổ điển thường không mô tả thời gian mộtcách hiển trong hệ thống nên nó không thích hợp để phân tích các hệ thờigian thực mà tính đúng đắn phụ thuộc vào độ lớn của các thời gian trễ khácnhau Từ đó, đầu thập kỷ 90 một số công cụ biểu diễn các hệ thời gian thựclần lượt ra đời mà nền móng cơ bản nhất là công cụ ôtômat thời gian [7], vàcác temporal logic cũng được mở rộng thành các lôgic thời gian thực như lôgiccây tính toán theo thời gian (Timed Computational Tree Logic - TCTL) [5],lôgic khoảng (Duration Calculus - DC) [18]
Trang 16Do thời gian được lấy trên tập hợp trù mật R+ nên bài toán kiểm chứng
mô hình thời gian thực vấp phải tình trạng bùng nổ không gian trạng thái mới
đó là tham số thời gian Một trạng thái của hệ thời gian thực không chỉ là cáctrạng thái "vật lý" của hệ thống mà còn gắn với các giá trịthời gian, tức mỗitrạng thái vật lý sẽ tạo ra một lực lượng không đếm được các trạng thái khigắn liền với thời điểm xảy ra trạng thái vật lý đó Mặt khác, các tính chất cầnkiểm chứng cũng trở nên phức tạp hơn, ví dụ để kiểm chứng tính chất "trạng
thái q phải luôn luôn xảy ra kề ngay sau trạng thái p" là dễ dàng hơn kiểm chứng tính chất thời gian thực như "trạng thái q phải luôn luôn xảy ra sau trạng thái p trong vòng không quá 5 đơn vịthời gian", hoặc "tổng thời gian xảy ra của trạng thái p không được lớn hơn tổng thời gian xảy ra của trạng thái q" Từ đó, việc nghiên cứu về kiểm chứng mô hình các hệ thời gian thực
khó hơn rất nhiều và có độ phức tạp rất cao so với kiểm chứng các hệ hữu hạntrạng thái Thậm chí như đã chỉ ra trong [7], bài toán kiểm chứng mô hìnhtính chất thời gian thực tổng quát là không quyết định được đối với ôtômatthời gian Tuy vậy, hiện nay nhiều bộ kiểm chứng mô hình thời gian thực cũng
đã ra đời mà tiêu biểu là HyTech, KRONOS, UPPAAL ([38, 16, 13]), hoặc ápdụng các bộ kiểm chứng không thời gian (như SPIN) để phục vụ kiểm chứngtính chất thời gian thực ([21]) cũng đang được nghiên cứu
Tư tưởng phổ biến của các bộ kiểm chứng thời gian thực về cơ bản là duyệttrên đồ thịvùng (region graph) để kiểm tra tính đạt được của các trạng tháinào đó của ôtômat thời gian ([7, 8]) Vì số lượng các vùng là rất lớn nên một
số biện pháp thu gọn đã được đề nghị Ví dụ, có thể kết hợp nhiều vùng tạothành miền (zones) dựa trên các kỹ thuật mô phỏng (simulation), trừu tượnghoá (abstract) [55, 61], hoặc phương pháp thứ tự bộ phận (partial orders) [49]lược bỏ bớt các phép chuyển đan xen thừa trong hợp các thành phần, kếthợp song song với tối ưu hoá cấu trúc dữ liệu [47] Các kỹ thuật symbolic vàon-the-fly cũng được áp dụng ([14, 40]), từ đó các bộ kiểm chứng thời gianthực thường xuyên được cải tiến và ngày càng hữu hiệu hơn
Trang 17Kiểm chứng mô hình với các tính chất khoảng
Các tính chất thời gian của một hệ thống có thể xuất hiện dưới nhiều dạng
khác nhau, trong đó các tính chất thời điểm là những tính chất chỉ quan tâm đến sự xuất hiện của các trạng thái còn các tính chất thời khoảng là những
tính chất quan tâm không những đến việc xuất hiện mà còn cả khoảng thờigian xuất hiện của những trạng thái này Ví dụ tính đạt được của một trạng
thái p hay các tính chất được biểu diễn trong lôgic TCTL là các tính chất thời điểm còn các tính chất như "tổng thời gian xảy ra của trạng thái p không được lớn hơn tổng thời gian xảy ra của trạng thái q" như đã được nhắc đến ở
trên, là một trong những tính chất khoảng như vậy
Để dễ hình dung, chúng ta nhắc lại một ví dụ kinh điển đã được nghiêncứu vào đầu thập kỷ trước, đó là hệ bếp ga Một thiết kế bếp ga được gọi là
an toàn nếu khoảng thời gian rò ga của nó là không quá dài Mô hình đơn giảncủa bếp được xét với 2 trạng thái rò ga và không rò ga và yêu cầu về tính antoàn của hệ thống được phát biểu: "tỉ lệ thời gian rò ga không quá một phầnhai mươi của đoạn thời gian quan sát bất kỳ không ngắn hơn 1 phút"
Trên đây là một phát biểu tuy không hình thức về yêu cầu an toàn củabếp ga, nhưng cũng đủ để chúng ta nhận thấy khoảng thời gian xuất hiện củacác trạng thái trong hệ thống là quan trọng Cần có công cụ để đặc tả nhữngtính chất như "thời gian rò ga", "đoạn thời gian quan sát" và các yêu cầu như
"tỉ lệ thời gian rò ga không quá một phần hai mươi của đoạn thời gian quansát bất kỳ không ngắn hơn 1 phút" Chắc chắn rằng các phương pháp để kiểmchứng một hệ thống được thiết kế như vậy và để trả lời câu hỏi về tính thoảcủa hệ thống đối với tính chất như vậy là khó khăn hơn so với kiểm chứng hệthống và tính chất không liên quan đến thời khoảng
Một trong những ý tưởng đầu tiên liên quan đến các tính chất thời khoảngxuất hiện trong [6] Trong báo cáo này các tác giả đã xét bài toán "đạt đượctrong khoảng thời gian bịchặn", câu hỏi đặt ra là liệu một trạng thái này cóthể đạt được từ một trạng thái kia (ví dụ từ trạng thái ban đầu chẳng hạn)
Trang 18trong một khoảng thời gian cho phép Bài toán này đã được giải quyết bởithuật toán được đề nghịbởi các tác giả, tuy nhiên bản thân của tính chất cònnhiều hạn chế cũng như thuật toán có độ phức tạp rất cao Các thuật toán
về sau, trên nền tảng của một hệ lôgic mới, đã bắt đầu xét đến các lớp tínhchất phức tạp hơn như trong [19, 45, 28, 56] Hệ lôgic mới này là một trongnhững nội dung nghiên cứu chính của dự án ProCoS (ESPRIT BRA 3104)4,
được gọi là hệ Lôgic khoảng (Duration Calculus - DC) và là lôgic đầu tiên có
khả năng đặc tả bài toán bếp ga ở trên Nhiều báo cáo của dự án và các cơ
sở nghiên cứu khác như Viện Công nghệ phần mềm thuộc Đại học Liên hợpquốc (UNU/IIST, Macau) khẳng định thêm khả năng đặc tả của lôgic khoảng([1, 43]) và chứng minh tính quyết định được của một số lớp công thức tronglôgic khoảng, ví dụ trong [53, 54, 51]
Tương tự tính chất thời điểm, bài toán kiểm chứng mô hình cũng đượcđặt ra với các công thức khoảng được viết trong DC Tuy nhiên, ở đây đã gặpmột khó khăn lớn đó là tính quyết định được của lớp các công thức khoảng làrất thấp Như đã chỉ ra trong [35], nhiều lớp công thức đơn giản trong lôgic
là không quyết định được, từ đó thậm chí việc tìm ra các lớp công thức quyếtđịnh được là có ý nghĩa Ví dụ các tác giả trong [51] đã chỉ ra tính quyết địnhđược của một lớp công thức mở rộng trong DC với mô hình thời gian rời rạc.Một yếu tố dẫn đến tính quyết định được thấp của các công thức trong
DC, cũng như tính bùng nổ không gian trạng thái trong kiểm chứng tính chấtkhoảng đó là các quan sát hệ thống phải được tiến hành trong những khoảngthời gian bất kỳ Nói cách khác, bản chất của các tính chất thời điểm trongkhi có thể được quyết định bởi toàn bộ đường chạy xuất phát từ thời điểm banđầu (0) và kết thúc tại một thời điểm chuyển trạng thái nào đó thì tính chấtkhoảng lại được quyết định bởi vô hạn khoảng quan sát bất kỳ trên đườngchạy này Đặc trưng này góp phần làm tăng cao độ phức tạp của hệ thống vàgây nhiều khó khăn trong việc thiết kế thuật toán kiểm chứng chúng
4ProCoS: Provably Correct Systems Dự án thuộc chương trình ESPRIT được tài trợ bởi
Cộng đồng Châu Âu (CEC), nghiên cứu về đặc tả hình thức các hệ thời gian thực.
Trang 19Với những khó khăn nêu trên, cho đến hiện nay kết quả về kiểm chứngtính chất thời khoảng là vẫn còn hạn chế Hầu hết các kết quả trong thập kỷvừa qua kể từ lần đầu tiên Zhou Chaochen (1991) giới thiệu về DC ([18]) chođến nay đều tập trung trên các hạn chế của lớp các ràng buộc tuyến tính.Đây là lớp tính chất quan trọng hay gặp trong thực tế và được nhiều tác giảquan tâm Ví dụ trong [45] các tác giả đã chứng minh bài toán kiểm chứng cáctính chất này là quyết định được đối với ôtômat thời gian hữu hạn (FinitaryTimed Automata - FTA) bằng việc đưa bài toán kiểm chứng về việc giải mộttập các bài toán qui hoạch nguyên Tuy nhiên, trong bài báo này các tác giả
đã phải hạn chế chỉ xét lớp công thức với các hệ số ràng buộc lấy giá trịtrêntập số nguyên (Z) Trong [19], các tác giả đã xét công thức dưới dạng tổng
quát hơn với các hệ số thực gọi là lớp công thức bất biến khoảng tuyến tính
nhưng lại hạn chế hệ thống được biểu diễn bởi các ôtômat thời gian thực (làlớp các ôtômat thời gian đơn giản với một đồng hồ và được đặt lại về 0 saumỗi phép chuyển) Phương pháp chính của các tác giả trong bài báo này làthiết lập tập bài toán qui hoạch tuyến tính tương ứng với các biểu thức chínhquy biểu diễn dáng điệu của ôtômat và sau đó đưa về giải tập các bài toán quihoạch này Phát triển phương pháp này các tác giả trong [28, 29, 56] đã đềnghịcác thuật toán kiểm chứng bất biến khoảng tuyến tính đối với một số lớpcon của ôtômat thời gian, ôtômat lai (hybrid automata) và lưới ôtômat thờigian thực dựa trên biểu diễn hệ thống bởi các biểu thức chính quy theo thờigian Phương pháp này có nhược điểm là sinh ra một số rất lớn các bài toánqui hoạch tuyến tính mà nó phụ thuộc vào độ lớn của cận đồng hồ và cận trêncủa độ dài quan sát trong công thức khoảng Từ đó một phương pháp khác
đã được đề xuất trong [44] Tư tưởng chính của phương pháp dựa trên tínhrời rạc hoá được, là tính chất đặc thù của một số công thức mà nó cho phépviệc kiểm chứng chúng trên tập thời gian nguyên là cho cùng kết quả như trêntập thời gian thực Như vậy có thể kiểm chứng các tính chất rời rạc hoá đượcbằng kỹ thuật duyệt đồ thịđạt được nguyên mà nó có kích thước bé hơn rấtnhiều so với đồ thịđạt được tổng quát Trên cơ sở này, các tác giả trong [44]
Trang 20đã đề nghịthuật toán kiểm chứng tính chất khoảng tuyến tính với độ phức tạp
tương đương với các thuật toán kiểm chứng hiện nay đối với các công thứcthời điểm Ngoài ra, kết hợp với phương pháp giải bằng qui hoạch tuyến tínhcác tác giả trong [63] cũng đã đề nghịthuật toán giải một lớp công thức khác
được gọi là các tính chất khoảng thời gian tuần tự, và tác giả luận án đã mở
rộng các thuật toán trên cho lưới ôtômat thời gian trong [2, 57] Đặc điểm củatất cả các kết quả này ngoài một số hạn chế như đã nhắc đến, còn một nhượcđiểm chung là chúng chỉ xét với các quan sát bắt đầu từ thời điểm ban đầu (0)của hệ thống, tức với một ngữ nghĩa khá hạn chế của các tính chất khoảng.Việc khắc phục nhược điểm này là một trong những kết quả chính của luậnán
Hầu hết các kết quả được nhắc đến ở trên đều được thực hiện từ dự ánDeTfoRS 5 được hỗ trợ bởi Viện Công nghệ phần mềm quốc tế của trường Đạihọc Liên hợp quốc tại Macau (UNU/IIST) và luận án này được hoàn thànhtrên cơ sở các phương pháp được nghiên cứu tại UNU/IIST dưới sự hướng dẫntận tình của TS Đặng Văn Hưng - một thành viên của dự án - cũng như sựgiúp đỡ nhiệt tình của các thành viên khác Ngoài ra luận án còn nhận được
sự hổ trợ của đề tài trọng điểm cấp quốc gia "Các phương pháp đặc tả và kiểmchứng trong công nghệ phần mềm" dưới sự chủ trì của PGS TS Hồ Sĩ Đàm,Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
1.3 Mục đích và kết quả của luận án
Mục đích của luận án
Với tình hình kiểm chứng mô hình như đã được trình bày tóm tắt ở trên, mộtvấn đề hiện nay vẫn còn đang được tiếp tục giải quyết đó là xây dựng các bộkiểm chứng cho các tính chất thời khoảng của các hệ thời gian thực Như đãbiết hầu hết các công thức khoảng là không quyết định được nên sẽ không
5DeTfoRS: Design Techniques for Real-Time Systems.
http://www.iist.unu.edu/home/Unuiist/newrh/II/3/1/1/page.html
Trang 21thể xây dựng được một bộ kiểm chứng mô hình cho toàn bộ mà chỉ có thểxây dựng các bộ kiểm chứng mô hình bộ phận cho một số lớp công thức đặctrưng của hệ lôgic Các lớp công thức như vậy đã được kể đến như các bất biếnkhoảng tuyến tính, tính chất khoảng tuyến tính và một vài lớp con khác Tuynhiên, chúng tôi cũng nhận thức được rằng việc xây dựng một bộ kiểm chứnghoàn chỉnh (hữu hiệu, độ phức tạp thấp) đòi hỏi nhiều thời gian và là côngsức của cả một tập thể nghiên cứu mạnh Vì vậy luận án cũng chỉ đặt vấn đềnghiên cứu và đề xuất các thuật toán kiểm chứng cho lớp các công thức này.Trên cơ sở đó chúng tôi xin tóm tắt vài kết quả chính mà chúng tôi đã đạtđược trong quá trình thực hiện mục đích của luận án.
Một số kết quả chính
• Đề xuất biểu diễn dáng điệu lưới ôtômat thời gian thực bởi biểu thứcchính qui theo thời gian, trên cơ sở đó giải bài toán kiểm chứng các tínhchất khoảng tuyến tính (LDP) và bất biến khoảng tuyến tính (LDI) bằngqui hoạch tuyến tính
• Chứng minh tính rời rạc hoá được (với ngữ nghĩa tổng quát) của lớp cáccông thức LDP, LDI
• Xây dựng đồ thịđạt được có trọng số hướng đến LDP, trên cơ sở đó đềnghịmột thuật toán kiểm chứng lớp công thức LDP bằng cách áp dụngthuật toán tìm đường đi ngắn nhất của Warshall-Floyd
• Đề xuất đồ thị"rời rạc hoá" của đồ thịđạt được Chứng minh tính quyếtđịnh được của lớp công thức LDI bằng một thuật toán duyệt đồ thị này
Các kết quả này đã được báo cáo tại các xemine của bộ môn Khoa họcmáy tính, hội nghịkhoa học Khoa Công nghệ Đại học Quốc gia Hà Nội, hộithảo quốc gia về Công nghệ thông tin, xemine của UNU/IIST và các hội nghịquốc tế (Nhật bản-1998, Việt Nam-2002, Trung Quốc-2004) và đã được công
bố chính trong các công trình [56], [57], [58], [59]
Trang 22Cấu trúc của luận án
Phần chính của luận án gồm 4 chương Trong chương này chúng tôi đã trìnhbày tóm tắt về một số đặc trưng của kiểm chứng mô hình, cũng như nhữngkết quả và hạn chế trong lĩnh vực kiểm chứng các tính chất thời khoảng chođến thời điểm hiện nay Các kiến thức cơ bản để phục vụ luận án như ôtômatthời gian và lôgic khoảng được trình bày trong chương 2
Kết quả chính của luận án được trình bày trong hai chương 3 và 4 Trong
đó, ở chương 3 chúng tôi trình bày về cách biểu diễn lưới ôtômat thời gian thựcbởi biểu thức chính quy thời gian và thiết lập bài toán qui hoạch tuyến tính đểkiểm chứng các lớp công thức LDP, LDI Đặc trưng của biểu thức chính quy
ở đây là phép toán đồng bộ hoá quá trình chuyển trạng thái, một phép toán
cơ bản để biểu diễn ôtômat thời gian bằng các biểu thức chính quy thời gian([10]) Trong chương 4 chúng tôi chứng minh tính rời rạc hoá được của LDP,LDI và xây dựng các đồ thịđạt được có trọng số trên cơ sở các đồ thịvùng từ
đó đưa ra thuật toán hữu hiệu kiểm chứng công thức LDP Cũng trong chươngnày thuật toán duyệt trên đồ thịvùng đã "rời rạc hoá" được xây dựng để kếtluận tính quyết định được của LDI theo ngữ nghĩa tổng quát của nó
Cuối cùng trong phần kết luận chúng tôi tóm tắt về luận án, nhận xét các
ưu khuyết điểm của các phương pháp đã được sử dụng, chỉ ra triển vọng củacác phương pháp và đề nghịmột vài cải tiến để hoàn chỉnh các thuật toáncũng như đề xuất một vài hướng nghiên cứu tiếp tục
Để minh hoạ các thuật toán đã trình bày trong chương 4, chúng tôi cũngcài đặt một bộ chương trình kiểm chứng mô hình ở mức độ đơn giản Một sốnét đặc trưng và kết quả áp dụng của bộ kiểm chứng mô hình này được mô tảtrong phần phụ lục
Chúng tôi hy vọng luận án là những kết quả bước đầu đặt nền tảng cho cácnghiên cứu tiếp của chúng tôi về một lĩnh vực đã đạt nhiều thành tựu nhưngcũng còn nhiều khó khăn như trong lĩnh vực kiểm chứng mô hình này
Trang 23Đặc tả hệ thống và tính chất
Để đặc tả hệ thống luận án sẽ sử dụng ôtômat thời gian là mô hình được dùngrộng rãi hiện nay, còn tính chất thời khoảng sẽ được đặc tả bởi các công thứctrong lôgic khoảng Việc sử dụng hai công cụ hình thức này được gặp hầu hếttrong các tài liệu tham khảo và được trình bày chi tiết trong [7, 8, 18, 35]
2.1 Mô hình thời gian
Để đánh dấu và đo lượng thời gian chúng ta sử dụng một tập X các biến thời
gian x (mà có thể gọi ngắn gọn và hình ảnh hơn là các đồng hồ) Về mặt tổng
quát giá trịcủa các đồng hồ có thể thay đổi với các vận tốc khác nhau, tuynhiên luận án này chỉ xét hệ thống với giá trịcủa các đồng hồ tăng đều và theo
cùng một vận tốc giống nhau Tại một thời điểm cụ thể mỗi đồng hồ trong X
sẽ nhận một giá trịsố trong tập hợp TIME nào đấy biểu thịlượng thời gian
đã trôi qua Thông thường TIME là tập các số tự nhiên N hoặc tập các số
thực R+ tuỳ theo theo ngữ cảnh thời gian được sử dụng và được mặc định lấy
trên tập số thực R+ Mỗi đồng hồ đóng vai trò đếm lượng thời gian trôi của
một hay nhiều tác vụ của hệ thống, có thể được đặt lại giá trịban đầu (0) sau
mỗi tác vụ Một bộ ν bất kỳ các giá trịđồng hồ được gọi là thể hiện đồng hồ
14
Trang 24(clock interpretations), tức ν là một ánh xạ từ X tới TIME Giá trịcủa một
đồng hồ x trong thể hiện ν được kí hiệu bởi ν(x) Thông thường, một thể hiện đồng hồ có thể được gọi một cách ngắn gọn là thể hiện.
Cho δ là một số thực không âm và λ ⊆ X là một tập đồng hồ Khi đó
ν = ν +δ kí hiệu cho thể hiện mà nó ánh xạ mỗi đồng hồ x tới giá trị ν(x)+δ, tức ν (x) = ν(x) + δ, ∀x ∈ X ν = ν[λ:=0] là thể hiện nhận được từ ν và gán
0 tới mỗi x ∈ λ, tức ν (x) = 0 nếu x ∈ λ và ν (x) = ν(x) nếu x ∈ λ.
Một hệ thời gian thực khi hoạt động phải tuân theo một qui luật thời gian
nào đó thông qua các ràng buộc thời gian trên tập đồng hồ X Một ràng buộc thời gian như vậy là một công thức ϕ được cho theo cú pháp sau đây:
ϕ := x ≤ c | c ≤ x | x − y ≤ c | c ≤ x − y | ϕ ∧ ϕ
ở đây x, y ∈ X và c ∈ N Để viết gọn ϕ ta cũng sử dụng các phép toán ¬, ∨
theo nghĩa thông thường trong lôgic mệnh đề Thực tế c có thể được xét như
các hằng hữu tỷ, tuy nhiên bằng cách nhân tất cả các hằng với bội chung nhỏ
nhất của các mẫu số của c trong tập hữu hạn các ràng buộc của hệ thống,
chúng ta có thể đưa chúng về lại là các hằng nguyên
Một thể hiện ν được gọi là thoả ràng buộc ϕ nếu thay mọi biến x trong ϕ bởi ν(x) ta nhận được một công thức đúng, và kí hiệu ν |= ϕ, ngược lại ta kí hiệu ν |= ϕ Tập các ràng buộc thời gian ϕ trên X được kí hiệu bởi Φ(X).
Từ đây trở đi ta qui ước sử dụng kí hiệu a |= α và a |= α để chỉ quan
hệ a thoả α và a không thoả α Ngữ nghĩa của quan hệ "thoả" (và từ đó kéo
theo cũng "không thoả") sẽ được định nghĩa trong từng trường hợp cụ thể
Cho tập đồng hồ X lấy giá trịtrên tập số thực không âm R+ và một tập hữu
hạn các ràng buộc đồng hồ φ ⊆ Φ(X) Việc duyệt tất cả các thể hiện thoả hay không thoả các công thức trong φ là không thể vì số lượng các thể hiện ν là
vô hạn Do vậy trong [7], Alur và Dill đề xuất một kỹ thuật phân hoạch tập
Trang 25các thể hiện đồng hồ thành các vùng đồng hồ (clock regions) bởi một quan hệ tương đương chỉ số hữu hạn hướng đến tập ràng buộc đồng hồ φ như sau Xét đồng hồ x, gọi c x là số nguyên lớn nhất xuất hiện trong các ràng buộc
đồng hồ của x trong tập các công thức φ Với số thực t ta kí hiệu t và f r(t) lần lượt là phần nguyên và phần lẻ của t Hai thể hiện ν và ν được gọi là
tương đương (hướng đến tập các ràng buộc φ) và được kí hiệu ν ∼ = ν nếu:
1 ∀x ∈ X, hoặc ν(x) = ν (x) hoặc cả hai cùng lớn hơn c x
2 ∀x, y ∈ X và ν(x) ≤ c x , ν(y) ≤ c y thì fr(ν(x)) ≤ fr(ν(y)) khi và chỉ khi
fr(ν (x)) ≤ fr(ν (y))
3 ∀x ∈ X và ν(x) ≤ c x thì fr(ν(x)) = 0 khi và chỉ khi fr(ν (x)) = 0 Gọi k là số đồng hồ trong X Quan hệ ∼= có các tính chất sau
Tính chất 1. ∼ = là một quan hệ tương đương trên tập các thể hiện đồng hồ.
Kí hiệu [ν] là lớp tương đương của ν xác định bởi quan hệ ∼= và được gọi
là vùng đồng hồ (chứa ν) Rõ ràng mọi thể hiện trong cùng một vùng sẽ cùng thoả hoặc không thoả một ràng buộc đồng hồ trong φ Từ đó ta có tính chất:
Tính chất 2. Mỗi vùng đồng hồ được đặc trưng bởi một ràng buộc đồng hồ.
Ví dụ 2.1. Xét φ là lớp các ràng buộc trên tập đồng hồ {x, y} trong đó c x = 2
và c y = 1 Khi đó tập gồm 28 vùng đồng hồ hướng tới φ được cho trong hình
2.1 Trong đó lớp các vùng thoả ràng buộc x ≤ 2 ∧ y ≤ 1 là tất cả trừ 4 vùng không bị chặn, tức trừ các vùng có chứa ít nhất một ràng buộc x > 2 hoặc y > 1 Tương tự thoả ràng buộc x ≥ 2 ∧ y ≥ 1 có hai vùng [(2, 1)] và
[x > 2 ∧ y > 1]
Trang 26Hình 2.1: Các vùng với cận đồng hồ c x = 2, c y = 1
2.2 Ôtômat thời gian
Ôtômat thời gian là một công cụ hữu hiệu để mô hình và kiểm chứng các chứcnăng đúng đắn của các hệ thời gian thực được Alur và Dill đề xuất trong [7].Các thành tựu nội tại của lý thuyết ôtômat thời gian đã được công bố trongrất nhiều công trình Có thể liệt kê một cách ngắn gọn về các thành tựu nàynhư khả năng biểu diễn của ôtômat thời gian trong [9, 39], hay khả năng biểudiễn đối với các ôtômat thời gian mở rộng trong [30, 41, 20, 12], hoặc các rútgọn không gian trạng thái của ôtômat thời gian như trong [27, 61] Trên cơ sởcủa các thành tựu lý thuyết này, ôtômat thời gian đã được sử dụng như công
cụ chính để mô hình hoá các hệ thời gian thực trong các bộ kiểm chứng môhình như HyTech ([38]), KRONOS ([26]), UPPAAL ([13]) Hầu hết các kếtquả này đều được tổng kết một cách ngắn gọn trong [8]
Trang 27• I là một ánh xạ gán mỗi vị trí s ∈ S với một ràng buộc đồng hồ trong
Φ(X), còn gọi là bất biến của s,
• E ⊆ S × Φ(X) × Σ × 2 X × S là tập hữu hạn các phép chuyển vị trí.
Một phép chuyển vịtrí e = s, ϕ, a, λ, s biểu diễn một hoạt động cơ bản
của ôtômat bằng cách chuyển vịtrí từ s tới s với nhãn a nếu điều kiện ϕ được thoả mãn Tập λ ⊆ X qui định đồng hồ nào được khởi tạo lại giá trị về 0 ngay
sau khi phép chuyển này thực hiện xong
Như thông thường, chúng ta có thể sử dụng đồ thịđể biểu diễn ôtômat
thời gian Các đỉnh của đồ thịđược gọi là các vị trí (location) và được gán một ràng buộc đồng hồ I(s) ∈ φ(X) thể hiện việc hệ thống được phép hoặc
bắt buộc nằm tại vịtrí đó trong bao lâu
Trạng thái và phép chuyển trạng thái
Một trạng thái của ôtômat thời gian A là cặp (s, ν) trong đó s là một vịtrí
của A và ν |= I(s) Trạng thái (s0, ν0) với s0 là vịtrí ban đầu và ν0(x) = 0 với mọi x được gọi là trạng thái ban đầu.
Các trạng thái của ôtômat là thay đổi nếu 1 trong 2 thành phần của nóthay đổi, điều này dẫn đến 2 loại phép chuyển trạng thái sau:
• Phép chuyển liên tục: Ta nói hệ chuyển trạng thái từ q = (s, ν) đến
q = (s, ν + δ) bằng một phép chuyển liên tục và được kí hiệu q → q δ ,
nếu ν + δ |= I(s), ∀δ : 0 ≤ δ ≤ δ, tức thời gian được thác triển liên tục
từ ν đến ν + δ trong khi hệ vẫn nằm cố định tại vị trí s.
• Phép chuyển rời rạc: Ta nói hệ chuyển trạng thái từ q = (s, ν) đến
q = (s , ν[λ := 0]) bằng một phép chuyển rời rạc và được kí hiệu q → q a ,
nếu tồn tại phép chuyển e = s, ϕ, a, λ, s sao cho ν |= ϕ và ν[λ := 0] |= I(s ) Tức hệ thống chuyển từ vịtrí s đến vịtrí s và đặt đồng hồ về 0.
Các phép chuyển liên tục có tính cộng tính, tức nếu q → q δ và q δ → q
Trang 28thì q δ+δ → q và phép chuyển rời rạc là tức thời Trường hợp hai phép chuyển
này xảy ra liên tiếp, ta cũng có thể kí hiệu: q → δ → q a hoặc q → q δ,a , tức
(s, ν) → (s δ,a , ν ) Kí hiệu này minh hoạ hệ thống nằm tại vịtrí s với thể hiện
ν, thời gian trôi một khoảng từ 0 đến δ, đến thời điểm này nếu thể hiện ν + δ
thoả ràng buộc của phép chuyển vịtrí thì hệ chuyển đến trạng thái mới s và
một số đồng hồ trong ν + δ được đặt về 0, ν + δ chuyển thành ν
Hình 2.2: Ôtômat thời gian
Ví dụ 2.2. Ôtômat thời gian A trong hình 2.2 có hai đồng hồ x và y Tập hợp các vị trí là {s1, s2}, cùng với các bất biến gồm I(s1) = (y ≤ 5) và
I(s2) = (x ≤ 8 ∧ y ≤ 10) A có hai phép chuyển vị trí {s1, y ≥ 3, a, {y}, s2,
s2, x ≥ 6 ∧ y ≥ 4, b, {x}, s1} Đồng hồ y được đặt về 0 mỗi khi hệ chuyển từ
s1 đến s2 và ngược lại khi chuyển từ vị trí s2 về s1 đồng hồ x sẽ được đặt về 0.
Trang 29Tính chất 4. Với đường chạy r và dáng điệu ρ tương ứng, ta có:
• dãy thời điểm trong ρ là không giảm, tức t i ≤ t i+1 đối với mọi i ≥ 0,
• t i là thời điểm hệ chuyển vị trí từ s i−1 tới s i , với mọi i ≥ 1 Tức hệ thống nằm tại vị trí s i−1 trong δ i = t i − t i−1 đơn vị thời gian và chuyển đến vị trí s i bởi một phép chuyển vị trí s i−1 , ϕ, a, λ, s i nào đó.
Dựa trên kỹ thuật phân vùng đồng hồ, Alur và Dill xây dựng đồ thịvùngđạt đượcRG của ôtômat thời gian A mà nó bảo toàn tính đạt được của ôtômat.
Điều này có nghĩa nếu tồn tại một đường chạy trong A từ vịtrí s1 đến s2 thì
cũng tồn tại một đường đi nào đó trong RG từ đỉnh v1 đến v2 và ngược lại
(v1, v2 là các đỉnh đặc trưng của s1, s2) Từ đó bài toán kiểm chứng tính đạt
được và cả các tính chất thời điểm nói chung có thể đưa về kiểm chứng tínhđạt được của các đỉnh trong đồ thị RG Tuy nhiên RG là không thích hợp cho
kiểm chứng tính chất thời khoảng vì nó không lưu lại thời gian của các phépchuyển Điều này có thể được khắc phục bởi đồ thịđạt được nguyên (thời gianlấy trên N) như trong chương 4 chúng tôi mô tả cách xây dựng và sử dụng
chúng để kiểm chứng các công thức khoảng LDP, LDI
Đối với nhiều hệ thống phức hợp được tạo thành từ các hệ thống đơn, chúng ta
có thể sử dụng tích đồng bộ của các ôtômat thời gian để biểu diễn chúng Lấy
A i = S i , s 0i , Σ i , X i , I i , E i (i = 1, 2) là hai ôtômat thời gian Tích của A1, A2
(còn được gọi là hợp song song của A1, A2 và được ký hiệu bởi A1 A2) được
định nghĩa như sau
Định nghĩa 2.3 (Hợp song song của ôtômat thời gian). Hợp song song của các ôtômat thời gian A1, A2 là ôtômat A = S, s0, Σ, X, I, E, ở đây:
S = S1× S2, s0 = (s01, s02), Σ = Σ1∪ Σ2, X = X1∪ X2, I = I1∪ I2 Tập phép
chuyển E được xây dựng như sau : lấy e i = s i , ϕ i , a i , λ i , s i ∈ E i (i = 1, 2) Khi đó nếu a1 = a2 thì (s1, s2), ϕ1∧ ϕ2, a, λ1∪ λ2, (s 1, s 2) ∈ E, trong đó
Trang 30a = a1 = a2 Nếu a1 ∈ Σ1 \ Σ2 thì (s1, s2), ϕ1, a1, λ1, (s 1, s2) ∈ E, và nếu
a2 ∈ Σ1\ Σ2 thì (s1, s2), ϕ2, a2, λ2, (s1, s 2) ∈ E.
Các ôtômat A1 và A2 là hoạt động đồng bộ thông qua tập nhãn chung của
Σ1 và Σ2 Điều này có nghĩa một phép chuyển với nhãn a ∈ Σ1 ∩ Σ2 xảy ra
trong A1 khi và chỉ khi nó cũng xảy ra đồng thời trong A2 Ta gọi các phép
chuyển này là đồng bộ, các phép chuyển còn lại được gọi là đan xen Đối vớicác hệ thống là hợp song song bởi nhiều hơn hai thành phần, định nghĩa cũngđược mở rộng một cách tương tự
Trước khi kết thúc phần này, chúng tôi có một lưu ý nhỏ về từ trạng thái
trong luận án Đối với hệ thống nói chung (hệ chuyển trạng thái, ôtômat không
thời gian) đỉnh s trong các đồ thịbiểu diễn hệ thống được gọi là trạng thái và tập S chứa các đỉnh này được gọi là tập trạng thái Tuy nhiên, đối với ôtômat thời gian, các đỉnh s này sẽ được gọi là vịtrí, khi đó trạng thái của hệ thống
sẽ là cặp (s, ν) (ν là một thể hiện đồng hồ) và được kí hiệu bởi q, q , q1,
Do định nghĩa tổng quát của ôtômat thời gian cho phép có thể có vô hạntrạng thái xảy ra trong một khoảng thời gian hữu hạn, nên để phù hợp với
thực tế, luận án này chỉ xét đến lớp các ôtômat nonZeno ([7, 8]), tức trong
một khoảng thời gian hữu hạn bất kỳ chỉ có một số hữu hạn phép chuyển đượcphép xảy ra Qui ước này được sử dụng hầu hết trong các công trình liên quanđến hệ thống thực tế, trừ phi trong một số công trình nghiên cứu về khả năng(lý thuyết) nội tại của ôtômat thời gian
Để thuận tiện cho trình bày, kí hiệu∞ cũng được xem như một số thực và
là số lớn nhất trong tập hợp các số thực Trên cơ sở đó các phép toán số họccộng, nhân và các quan hệ cũng được mở rộng đến giá trịsố này
2.3 Lôgic khoảng
Để mô tả hệ thống thời gian thực ngoài các công cụ đã trình bày như hệ chuyểntrạng thái, ôtômat thời gian, ta cũng có thể sử dụng các lôgic thời gian như
Trang 31lôgic khoảng (Duration Calculus - DC) Tuy nhiên, trong luận án này lôgickhoảng chỉ được sử dụng để đặc tả các tính chất khoảng của hệ thống, do vậychúng tôi sẽ không trình bày sâu vào cú pháp mà chỉ trình bày ngắn gọn ngữnghĩa và một ví dụ kinh điển về bếp ga, đủ để hiểu được các công thức đượcđưa ra sau này của luận án.
Lôgic khoảng là hệ lôgic được xây dựng và phát triển bởi Zhou Chaochen vàcác đồng sự ([18]) như một lôgic để lý giải và tính toán về thời gian xuất hiệncủa các trạng thái trong các hệ thời gian thực Từ "khoảng" trong tên gọi của
hệ lôgic này muốn nói lên đặc điểm cần quan tâm đó là khoảng thời gian xuấthiện của các trạng thái, nó được xem như một độ đo trên tập các trạng tháivới giá trịthuộc tập TIME, nói chung là một số thực không âm trong R+.
Trong DC, mỗi trạng thái của hệ thống được xem như một hàm bool theo
thời gian Khi đó trạng thái s của hệ thống là hàm s : TIME → {0, 1},
s(t) (t ∈ TIME) nhận giá trị1 nếu tại thời điểm t hệ thống nằm tại trạng
thái s và nhận giá trị0 trong trường hợp ngược lại Lấy S = {s, u, v, }
là tập các trạng thái của hệ thống Khi đó một tập bất kỳ các hàm bool
I = {s : TIME → {0, 1} | s ∈ S} được gọi là một thể hiện của hệ thống, tức
thể hiện I của hệ thống là ánh xạ I : S → {TIME → {0, 1}}.
Một mô hình DC σ = (I, [b, e]) biểu diễn một quan sát dáng điệu của hệ
thống Nó bao gồm một thể hiện I của các trạng thái trong S và một đoạn
thời gian quan sát [b, e] (b, e ∈ R+, 0 ≤ b ≤ e < ∞) Từ đó có thể định
nghĩa khoảng thời gian (time duration) của trạng thái s trên đoạn [b, e] như
Trang 32v Các đường gạch ngang in đậm biểu thịđoạn thời gian các trạng thái tương
ứng hiện diện trong hệ thống (có giá trị1) Một quan sát bắt đầu tại thời điểm
b và kết thúc tại thời điểm e (tức giá trịcủa các hàm trạng thái s(t), u(t), v(t)
chỉ xét trên đoạn [b, e]) tạo thành một mô hình σ của DC.
Hình 2.3: Một mô hình của DC
Một hệ thời gian thựcS có thể được xem như một tập bất kỳ các mô hình
DC nào đó và được kí hiệu bởi M(S) Một tính chất f của hệ thống cũng xác
định một tập các mô hình DC (là các mô hình mà trên nó tính chất f đúng),
kí hiệu bởi M(f) Khi đó ta gọi hệ thống là thoả tính chất f nếu và chỉ nếu M(S) ⊆ M(f), và được kí hiệu bởi M(S) |= f hoặc S |= f.
Từ đây trở đi ta qui ước khi nói đến hệ thời gian thựcS cũng có nghĩa nói
đến tập mô hình DC nào đó thể hiện S và được kí hiệu bởi M(S).
Ví dụ minh hoạ
Để minh hoạ việc sử dụng lôgic khoảng, ta nhắc lại yêu cầu an toàn của hệbếp ga: "Hệ thống được gọi là an toàn nếu tỉ lệ thời gian rò ga không quá mộtphần hai mươi của đoạn thời gian quan sát bất kỳ không ngắn hơn 1 phút".Giả sử để bảo đảm yêu cầu này, hệ thống được thiết kế với 2 quyết định sau:
• Quyết định 1: việc rò ga được phát hiện và dừng trong vòng 1 giây.
• Quyết định 2: khoảng cách thời gian giữa 2 lần rò ga liên tiếp không
được bé hơn 30 giây
Trang 33Một chương trình máy tính có thể được thiết kế phù hợp với các quyếtđịnh trên và cài vào trong bếp ga Nó tương tác với bộ cảm biến ngọn lửa đểphát hiện khi nào lửa tắt và điều khiển việc đóng, mở van ga đúng theo cácquyết định thiết kế này Vấn đề được đặt ra là cần kiểm chứng "nếu hệ thốngđược thiết kế theo 2 quyết định trên thì yêu cầu về an toàn được đảm bảo".
Để giải quyết bài toán này như đã nhắc đến trong chương 1, có 2 cách:
1 Đặc tả tất cả các quyết định thiết kế và yêu cầu cần kiểm tra bằng cáccông thức của DC, ví dụ bởi các công thức Des1, Des2 và Req Sau đó
sử dụng hệ thống chứng minh (các tiên đề và luật dẫn) của DC để chứngminh Des1 ∧ Des2 ⇒ Req.
2 Mô tả hệ thống và các quyết định thiết kế bởi một ôtômat thời gian
A, xác định tập các mô hình M(A) biểu diễn ôtômat thời gian này.
Yêu cầu cần kiểm tra được đặc tả bởi một công thức Req của DC Sau
đó thiết kế thuật toán để kiểm tra tự động σ |= Req với mọi mô hình
σ = (I, [b, e]) ∈ M(A) của hệ thống.
Giả thiết bếp ga là một hệ đơn giản chỉ gồm 2 trạng thái Leak (rò ga) và
Nonleak (không rò ga) Trong DC, các quyết định thiết kế và yêu cầu được
đặc tả bởi các công thức sau Với một mô hình (I, [b, e]) bất kỳ ta có:
• Quyết định 1 - Des1: ∀ b , e : b ≤ b ≤ e ≤ e,
(∀ t ∈ [b , e ] Leak(t) = 1) ⇒ (e − b ) ≤ 1.
• Quyết định 2 - Des2: ∀ b , e : b ≤ b ≤ e ≤ e,
Leak(b ) ∧ (∀ t b < t < e ∧ NonLeak(t)) ∧ Leak(e ) ⇒ (e − b ) > 30.
Và yêu cầu an toàn của bếp ga được đặc tả bởi công thức:
yêu cầu này cần được thoả mãn khi
• Yêu cầu - Req: 60 ≤ e − b ⇒ Leak ≤ 201(e − b).
Trang 34Một chứng minh hình thức đã được đưa ra trong [18, 35] bằng cách sửdụng các tiên đề và luật dẫn của lôgic khoảng, tức kiểm tra tính an toàn theohướng thứ nhất Và tương tự, theo hướng thứ hai (tức kiểm chứng mô hình)trong [19] các tác giả đã đưa ra thuật toán kiểm chứng lớp công thức bất biến
khoảng tuyến tính (một dạng tổng quát của Req) đối với ôtômat thời gian
thực (có thể dùng để biểu diễn hệ thống bếp ga)
Một công thức viết trong DC được gọi là công thức khoảng, nó đặc tả các tínhchất liên quan đến khoảng thời gian xuất hiện của các trạng thái trong một
hệ thống Cho đến hiện nay số lượng các lớp công thức quyết định được đãbiết trong DC là còn rất hạn chế ([18, 35, 51]) Dưới đây là hai lớp công thứckhoảng cơ bản được quan tâm trong luận án, trong đó tính quyết định đượccủa bất biến khoảng tuyến tính (LDI) cho đến hiện nay là vẫn chưa được biết.Cho A = S, s0, Σ, X, E, I là một ôtômat thời gian Một tính chất khoảng tuyến tính (linear duration properties - LDP) là một công thức DC có dạng:
ở đây s i ∈ S, c i = 0, M là các hằng số thực, s i kí hiệu cho khoảng thời gian
xuất hiện của vịtrí s i
Một bất biến khoảng tuyến tính (linear duration invariant - LDI) trên S là
một công thức mở rộng của LDP, trong đó độ dài của đoạn quan sát bịhạn
chế bởi các cận A, B cho trước Cụ thể một công thức LDI được định nghĩa:
khoảng thời gian quan sát và A, B là các hằng số thực A ≤ B (B có thể ∞).
Các công thức trên mô tả các lớp tính chất thời khoảng hay gặp trong thực
tế Ví dụ tính an toàn của hệ thống dưới dạng phát biểu "một trạng thái không
Trang 35an toàn s nào đó sẽ không bao giờ xảy ra trong hệ thống" có thể được biểu
s ≤ 0 Hoặc tính cân bằng tương
đối (relative fairness) của 2 tiến trình p1 và p2 cũng được mô tả bởi 2 công
s i được tính từ I trên đoạn [b, e].
Định nghĩa 2.4. Cho S là hệ thời gian thực được xác định bởi tập mô hình M(S) và cho D là một công thức LDP (LDI).
• Mô hình σ = (I, [b, e]) ∈ M(S) được gọi là thoả công thức D nếu và chỉ nếu θ(σ) ≤ M với D là công thức LDP hoặc A ≤ l(σ) ≤ B ⇒ θ(σ) ≤ M với D là công thức LDI Mô hình σ thoả D được kí hiệu bởi σ |= D,
• Hệ thời gian thực S được gọi là thoả công thức D và được kí hiệu bởi
S |= D nếu và chỉnếu σ |= D, với mọi σ ∈ M(S).
Bài toán kiểm chứng mô hình trong luận án được phát biểu như sau: Chomột ôtômat thời gian A = S, s0, Σ, X, E, I được xác định bởi tập mô hình M(A), cho công thức LDP (LDI) D trên tập vịtrí S Hãy tìm một thủ tục để
quyết định liệu A |= D, tức là liệu σ |= D với mọi σ ∈ M(A).
Để giải quyết bài toán này, trong chương 3 chúng tôi trình bày một thuậttoán kiểm chứng dựa trên kỹ thuật sử dụng qui hoạch tuyến tính, trong đó
hệ thống được hạn chế đối với lớp các ôtômat thời gian thực chạy song song
Và trong chương 4, các thuật toán kiểm chứng LDP, LDI được đề xuất với hệthống là ôtômat thời gian tổng quát dựa trên kỹ thuật tìm đường đi dài nhất
và duyệt đồ thịtrọng số được xây dựng từ đồ thịđạt được nguyên
Trang 36Chương 3
Kiểm chứng mô hình với kỹ
thuật qui hoạch tuyến tính
Nội dung chính của chương này là trình bày về phương pháp đưa bài toán kiểmchứng về một họ các bài toán qui hoạch tuyến tính mà việc giải tìm nghiệmcủa họ bài toán này cho phép chúng ta kết luận về tính thoả của hệ thống đốivới các yêu cầu
Để dễ hình dung về phương pháp, chúng ta quay lại với định nghĩa 2.2 của
ôtômat thời gian, trong đó mỗi dáng điệu ρ xét trên đoạn thời gian [0, T ] xác
định một dãy các cặp vị trí -thời gian (s0, t0)(s1, t1) (s k , t k ), với s0 là vịtrí
ban đầu của hệ thống, t0 = 0, t k = T và d i = t i+1 − t i biểu thịcho độ dài
khoảng thời gian mà hệ thống nằm tại s i trước khi chuyển đến s i+1, với mọi
i = 0 k−1 Việc kiểm tra một dáng điệu cụ thể như trên của hệ thống có thoả
công thức LDI: A ≤ l(σ) ≤ B ⇒ θ(σ) ≤ M hay không là đơn giản vì chúng ta
Từ đó có thể xét bài toán kiểm chứng dưới dạng tổng quát hơn, gọi
(s1, [a1, b1])(s2, [a2, b2]) (s k , [a k , b k]) là một dáng điệu tượng trưng mà nó biểudiễn tập các dáng điệu cụ thể (s1, d1)(s2, d2) (s k , d k ), trong đó a i ≤ d i ≤ b i.Một dáng điệu tượng trưng được gọi là thoả công thức LDI nếu mọi dángđiệu cụ thể của nó thoả công thức Để kiểm tra tính thoả của một dáng điệutượng trưng như vậy đối với LDI ta có thể giải bài toán qui hoạch tuyến tính
27
Trang 37sau: "Tìm giá trịlớn nhất của hàm mục tiêu m
i=1 c i
s i với các ràng buộc
i ≤ x i ≤ b i , i = 1 k và so sánh kết quả với M để đạt được câu
trả lời cho bài toán kiểm chứng"
Với một hệ thống thời gian thực, nói chung số các biểu diễn dáng điệutượng trưng của chúng là vô hạn, nói cách khác số bài toán qui hoạch tuyếntính cần giải (nếu thiết lập được) là vô hạn Do vậy tư tưởng chính của phươngpháp là tìm cách chỉ kiểm chứng một số hữu hạn dáng điệu tượng trưng là
đủ thay vì phải kiểm tra hết tất cả các dáng điệu của hệ thống Để tiến hànhcông việc kiểm chứng đó, tương tự như định lý Kleene biểu diễn ôtômat, ởđây chúng ta cũng sẽ biểu diễn hệ thời gian thực bởi biểu thức chính quy thờigian, từ đó sẽ thiết lập một họ hữu hạn các bài toán qui hoạch tuyến tính vàgiải chúng
Tóm lại, có thể tóm tắt nội dung của phương pháp giải bởi các nét chínhsau
1 Biểu diễn hệ thống bằng biểu thức chính quy thời gian,
2 Đưa biểu thức chính quy thời gian bất kỳ về hợp của một số biểu thức
chính quy thời gian hữu hạn,
3 Đưa biểu thức chính quy thời gian hữu hạn về hợp của một số biểu thức
chính quy thời gian đơn giản,
4 Thiết lập tương ứng mỗi biểu thức chính quy thời gian đơn giản với một
bài toán qui hoạch tuyến tính.
5 Dựa trên nghiệm của hệ các bài toán qui hoạch tuyến tính đưa ra câutrả lời cho kết quả của bài toán kiểm chứng
Trong các đặc trưng trên, điểm 2 là khó khăn nhất khi đưa một biểu diễnbất kỳ về hợp của các biểu thức hữu hạn Trong chương này của luận án chúngtôi sẽ trình bày cách giải bài toán với một hệ thời gian thực được biểu diễnbởi một biểu thức chính quy là hình ảnh của một hệ gồm nhiều ôtômat thời
Trang 38gian thực chạy song song Các kết quả của chương này đã được công bố trong[56] và một phần trong [57]
3.1 Biểu thức chính quy thời gian và bài toán
qui hoạch tuyến tính
3.1.1 Biểu thức chính quy thời gian - TRE
Tương tự biểu thức chính quy dùng để biểu diễn các hệ thống phi thời gian,đối với hệ thời gian thực chúng ta cũng sử dụng các biểu thức được gọi là biểuthức chính quy thời gian (Timed Regular Expression - TRE) Mỗi biểu thức
chính quy thời gian R và tập trạng thái state(R) của nó được định nghĩa đệ
qui như sau
Định nghĩa 3.1 ( TRE).
1 là một TRE và state() = ∅,
2 đối với s ∈ S, với các số thực a, b bất kỳ, 0 ≤ a ≤ b (b có thể ∞),
(s, [a, b]) là một TRE và state((s, [a, b])) = {s},
3 nếu R1, R2 là các TRE, thì R ∗
1, R1 R2, R1⊕R2 là các TRE, và state(R ∗
1) =
state(R1); state(R1 R2) = state(R1⊕ R2) = state(R1) ∪ state(R2),
4 nếu R1, R2 là các TRE, và state(R1) ∩ state(R2) = ∅, thì R1⊗ R2 là một
TRE và state(R1⊗ R2) = state(R1) ∪ state(R2).
Một TRE có dạng (s, [a, b]) được gọi là một nguyên thuỷ, ý nghĩa trực giác
của một nguyên thuỷ (s, [a, b]) là độ dài khoảng thời gian xuất hiện của trạng thái s sẽ lớn hơn hoặc bằng a và không vượt quá b Để đơn giản, một nguyên
thuỷ dạng (s, [0, ∞)) sẽ được viết là s.
Như thông thường, toán tửthể hiện phép nối (hay hợp), khi đó biểu thức
(s1, [a1, b1]) (s2, [a2, b2]) biểu thịhệ thống nằm tại s1 một khoảng thời gian bị
chặn bởi [a1, b1] (tức nếu gọi d1 là độ dài khoảng thời gian hệ nằm lại tại s1
Trang 39thì a1 ≤ d1 ≤ b1), sau đó hệ chuyển vịtrí đến s2, tại đây hệ thống có thể nằm
lại một khoảng thời gian bịchặn bởi [a2, b2] Toán tử ⊕ thể hiện phép hoặc,
tức biểu thức (s1, [a1, b1]) ((s2, [a2, b2] ⊕ (s3, [a3, b3])) biểu thịhệ thống có thể
chuyển từ s1 đến s2 hoặc s3 Toán tử ∗ thể hiện phép lặp, có nghĩa biểu thức
(s1, [a1, b1])∗ cho phép hệ thống chuyển vịtrí về lại s1 một số lần bất kỳ Đặc
biệt đối với hệ hoạt động song song toán tử ⊗ thể hiện phép hợp song song
(hay còn gọi là phép nhân), tức biểu thức (s1, [a1, b1]) ⊗ (s2, [a2, b2]) biểu thị
thành phần thứ nhất của hệ thống chuyển vịtrí đến s1 đồng thời (cùng một
thời điểm) với thành phần thứ hai chuyển vịtrí đến s2.
Hình 3.1: Hệ chắn tàu
Trước khi đưa ra một ngữ nghĩa chính xác hơn về TRE (định nghĩa 3.2)chúng ta hãy xét một ví dụ về hệ thống dùng để điều khiển các thanh chắnchỗ giao nhau giữa đường tàu và đường bộ, được nghiên cứu trong [65] (hình3.1) và được gọi ngắn gọn là hệ chắn tàu Hệ thống gồm một bộ giám sát vàmột bộ điều khiển với các điều kiện sau:
1 Bộ giám sát có 4 trạng thái thể hiện 4 vịtrí của đoàn tàu: trạng thái Athể hiện tàu còn nằm trong vùng an toàn (ví dụ còn cách cổng chắn 1km), trạng thái B thể hiện đoàn tàu đang tiến dần đến cổng chắn (còncách cổng chắn dưới 1 km), trạng thái C thể hiện đoàn tàu đang băng
Trang 40đoàn tàu nên nó mất ít nhất a đơn vịthời gian để vượt qua chỗ giao nhau sau
khi vào trạng thái B và khi tàu đã vượt qua, một đoàn tàu mới sẽ đến sau ít
nhất b đơn vịthời gian Điều này có nghĩa bộ giám sát phải nằm ở trạng thái
B ít nhất a đơn vịthời gian mỗi lần và tại P ít nhất b đơn vịthời gian mỗi lần Mặt khác, giả thiết rằng cần không quá c đơn vịthời gian để hạ cổng hay
bộ điều khiển nằm tại trạng thái MD không quá c đơn vịthời gian, từ đó hệ thống là an toàn khi và chỉ khi c ≤ a Hình 3.1 gồm 2 ôtômat với 2 đồng hồ
{x, y} hoạt động song song biểu diễn mô hình của hệ chắn tàu Phép chuyển
trạng thái từ A đến B đồng bộ hoá với phép chuyển từ U tới MD hoặc từ MDtới MU; phép chuyển từ C tới P sẽ đồng bộ hoá với phép chuyển từ Dn tới
MU Ràng buộc thời gian trên phép chuyển từ B đến C là {(a ≤ x)}, từ P đến
... λ.Một hệ thời gian thực hoạt động phải tuân theo qui luật thời gian
nào thông qua ràng buộc thời gian tập đồng hồ X Một ràng buộc thời gian công thức ϕ cho theo cú pháp sau đây:...
2.2 Ơtơmat thời gian< /b>
Ơtơmat thời gian cơng cụ hữu hiệu để mơ hình kiểm chứng chứcnăng đắn hệ thời gian thực Alur Dill đề xuất [7].Các thành tựu nội lý thuyết ôtômat thời gian cơng... s2) Từ tốn kiểm chứng tính đạt
được tính chất thời điểm nói chung đưa kiểm chứng tính? ?ạt đỉnh đồ thị RG Tuy nhiên RG khơng thích hợp cho
kiểm chứng tính chất thời khoảng