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ính chấ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ức khoảng cơ bản được quan tâm trong luận án, trong đó tính quyết định được củ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:
D1 : m i=1 ci si ≤ M. ở đây si ∈ S, ci = 0, M là các hằng số thực,
si kí hiệu cho khoảng thời gian xuất hiện của vịtrí si.
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:
D2 :A ≤ ≤B ⇒ m i=1 ci si ≤M.
ở đây si, ci, M,
si được xác định như trong công thức LDP. là độ dài củ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
an toàn s nào đó sẽ không bao giờ xảy ra trong hệ thống" có thể được biểu diễn bởi một công thức LDI dạng ≥ 0 ⇒ 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
thức LDI: ≥ 0 ⇒ p1− p2 ≤1 và ≥0 ⇒ p2− p1 ≤1. Quay lại hệ bếp ga, chú ý độ dài khoảng thời gian quan sát =e−b =Leak +NonLeak, yêu cầu an toàn của bếp ga cũng được biểu diễn bởi công thức LDI như sau:
Req: 60≤e−b <∞ ⇒ 19
Leak −
NonLeak ≤0.
Lấy σ = (I,[b, e]) là một mô hình DC bất kỳ. Kí hiệu l(σ) = e −b và
θ(σ) = m i=1ci
si, trong đó các
si đượ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: Cho mộ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ật toá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.
Chươ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ểm chứ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ệm củ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 đối vớ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). . .(sk, tk), với s0 là vịtrí
ban đầu của hệ thống, t0 = 0, tk = T và di = ti+1 −ti biểu thịcho độ dài khoảng thời gian mà hệ thống nằm tại si trước khi chuyển đến si+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 dễ dàng tính được l(σ) = k
i=1di và θ(σ) = m i=1ci
si.
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]). . .(sk,[ak, bk])là một dáng điệu tượng trưng mà nó biểu diễn tập các dáng điệu cụ thể (s1, d1)(s2, d2). . .(sk, dk), trong đó ai ≤di ≤bi. 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ệu tượ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
sau: "Tìm giá trịlớn nhất của hàm mục tiêu m
i=1ci
si với các ràng buộc
A ≤ ≤ B, ai ≤ xi ≤ bi, 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ệu tượ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ến tí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ương phá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ành cô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ời gian, 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ính sau.
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âu trả 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ễn bấ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úng tô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ễn bở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
29
gian 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ểu thứ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ếuR1, R2 là cácTRE, thì R∗1,R1R2,R1⊕R2 là cácTRE, vàstate(R∗1) =
state(R1); state(R1R2) =state(R1⊕R2) =state(R1)∪state(R2),
4. nếuR1, 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ị
thì 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ắn chỗ giao nhau giữa đường tàu và đường bộ, được nghiên cứu trong [65] (hình 3.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 A thể hiện tàu còn nằm trong vùng an toàn (ví dụ còn cách cổng chắn 1 km), trạng thái B thể hiện đoàn tàu đang tiến dần đến cổng chắn (còn cách cổng chắn dưới 1 km), trạng thái C thể hiện đoàn tàu đang băng
31
qua chỗ đường giao nhau và trạng thái P để chỉ đoàn tàu đã vượt qua vịtrí giao nhau.
2. Bộ điều khiển cổng chắn cũng gồm 4 trạng thái biểu hiện các vịtrí của cổng: trạng thái U chỉ cổng đang mở, trạng thái MD thể hiện cổng đang hạ xuống, trạng thái Dn chỉ cổng đã hạ xuống và trạng thái MU chỉ cổng chắn đang được nhấc lên.
Khi hệ thống bắt đầu hoạt động, bộ giám sát ở trạng thái A và bộ điều khiển ở trạng thái U. Tại trạng thái A, khi bộ giám sát phát hiện đoàn tàu tiến vào vùng cảnh báo (ví dụ còn cách cổng chắn dưới 1 km) nó sẽ chuyển sang trạng thái B và cùng lúc đó bộ điều khiển đang ở trạng thái U (hoặc MU) sẽ chuyển sang trạng thái MD, tức nếu cổng đang mở hoặc đang nhấc lên thì ngay lập tức cổng phải được hạ xuống. Khi đoàn tàu băng qua đoạn giao nhau, bộ giám sát chuyển sang trạng thái C và khi đoàn tàu đã vượt qua khỏi đoạn giao nhau, nó chuyển sang trạng thái P. Khi bộ giám sát thay đổi trạng thái của nó từ C sang P thì cũng đồng thời bộ điều khiển chuyển trạng thái từ Dn sang MU. Điều này có nghĩa, trong lúc cổng đang đóng nếu phát hiện thấy bộ giám sát đã chuyển trạng thái sang P (tàu qua khỏi đoạn giao nhau) thì cổng sẽ được nhấc lên. Do tốc độ và khoảng cách an toàn giữa các đ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ừ MD tớ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
A là {(b≤ x)} và từ Dn sang MU trong ôtômat thứ hai là {(0 ≤y ≤ c)}. Một cách trực giác, dáng điệu song song của hệ bây giờ có thể được mô tả bởi TRE RCM như sau:
RCM = ( A⊗U) (((B,[a,∞))C⊗(MD,[0, c])Dn) ((P,[b,∞))A⊗(MUU ⊕MU)))∗ ( ⊕ (B ⊕BC)⊗((MD,[0, c])⊕(MD,[0, c])Dn)⊕ (BC⊗(MD,[0, c])Dn) ((P ⊕PA)⊗(MU ⊕MUU)))
Hình 3.2: Một dáng điệu của hệ chắn tàu.
Biểu thức RCM cho phép biểu thịmọi khả năng quan sát về hệ thống từ lúc bắt đầu cho đến một thời điểm cho trước nào đó. Hình 3.2 biểu diễn dáng điệu của hệ thống trong đoạn [0, T]: trạng thái A xuất hiện trong khoảng thời gian từ 0 đến x1, và từ y2 đến x3; trạng thái B xuất hiện từ x1 đến y1 và từ
x3 đến T. Trạng thái P xuất hiện từ x2 đến y2, trạng thái U xuất hiện trong
khoảng[x2, z1] và [x3, T]. . . Từ đó, mỗiTRE R xác định một hệ thời gian thực (tập các mô hình DC - kí hiệu M(R)) được định nghĩa đệ qui như sau.
Định nghĩa 3.2 (Tập mô hình M(R) của TRE R).
1. Mô hình σ = (I,[0, T]) thuộc vào M() nếu và chỉnếu T = 0.
2. Mô hìnhσ = (I,[0, T])thuộc vào M((s,[a, b]))nếu và chỉnếu a≤ T ≤b
33
3. Mô hình σ = (I,[0, T]) thuộc vào M(R1R2) nếu và chỉnếu tồn tại
0 ≤ T ≤ T, σ1 = (I1,[0, T])∈ M(R1), σ2 = (I2,[0, T −T])∈ M(R2)
sao cho với mọi s ∈ state(R1) ∪ state(R2), sI1(t) = sI(t) với mọi
t ∈ [0, T) và sI2(t − T) = sI(t) với mọi t ∈ [T, T], và với mọi
s ∈ state(R1) ∪ state(R2), sI(t) = 0 với mọi t ∈ [0, T]. Khi đó, có thể xem σ =σ1σ2.
4. Mô hình σ = (I,[0, T]) thuộc vào M(R1⊗R2) nếu và chỉnếu có
σ1 = (I1,[0, T]) ∈ M(R1), σ2 = (I2,[0, T]) ∈ M(R2) sao cho với mọi
t∈[0, T], sI1(t) = sI(t) với mọi s∈ state(R1), và sI2(t) = sI(t) với mọi
s∈state(R2), và sI(t) = 0 với mọi s ∈state(R1)∪state(R2), khi đó có thể xem σ1⊗σ2 như mô hình σ.
5. Mô hình σ = (I,[0, T])∈ M(R1⊕R2) nếu và chỉnếu σ ∈ M(R1) hoặc
σ ∈ M(R2).
6. Mô hình σ = (I,[0, T]) ∈ M(R∗) nếu và chỉnếu tồn tại số nguyên
k ≥0 sao cho σ ∈ M(Rk), ở đây R0 = , và đối với k >0, Rk = RRk. Hoặc, một cách tương đương, có các mô hình σ1, . . . , σk ∈ M(R) sao cho
σ =σ1σ2. . .σk.
Ví dụ 3.1.
• Lấy R1 = (s,[1,5])(u,[1,7]). Khi đó (I1,[0,7]) thuộc M(R1) do s được minh hoạ như 1 trong đoạn [0,4) và 0 trong đoạn [4,7] còn u được minh hoạ bởi 0 trong đoạn [0,4) và 1 trong đoạn [4,7] dưới thể hiện I1.
• Lấy R = R1⊗(v,[3,10]). Khi đó (I,[0,7]) thuộc M(R) bởi vì dưới thể hiện I, s và u được minh hoạ như trong mô hình (I1,[0,7]) ở trên, còn
v được minh hoạ như hàm bool 1 trên đoạn [0,7].
Quay lại hệ chắn tàu, yêu cầu về tính an toàn của hệ có thể được đặc tả như bất biến khoảng tuyến tính : 0 ≤ <∞ ⇒ C−Dn≤ 0, điều này có nghĩa với mọi khoảng quan sát từ 0 đến T, thời gian đoàn tàu băng qua vịtrí
cắt nhau sẽ không nhiều hơn thời gian cổng chắn đóng (hạ xuống). Một cách hình thức, mô hình σ = (I,[0, T]) thoả mãn công thức bất biến khoảng tuyến tính A ≤ ≤ B ⇒ s∈Scs
s ≤ M khi và chỉ khi A ≤ T ≤ B ràng buộc Σs∈ScsT
0 sI(t)dt ≤M là đúng.
3.1.2 Biểu thức TRE hữu hạn
Trong phần này chúng tôi định nghĩa thế nào là một TRE hữu hạn và để kiểm tra tính thoả của TRE hữu hạn đối với LDI, chúng tôi xây dựng bài toán qui hoạch tuyến tính tương đương với nó theo nghĩa lời giải của bài toán qui hoạch tuyến tính cũng cung cấp lời giải của bài toán kiểm chứng mô hình.
Xét R là một TRE, σ = (I,[0, T]) là mô hình trong M(R), và D là một bất biến khoảng tuyến tính. Chúng ta sử dụng một số kí hiệu sau: ds(σ) kí hiệu cho tổng khoảng thời gian xuất hiện của trạng thái s∈ S trên đoạn [0, T] dưới thể hiện I, tức ds(σ) = T
0 sI(t)dt, l(σ) kí hiệu độ dài của đoạn [0, T], tức l(σ) = T, và θ(σ) kí hiệu cho
s∈Scsds(σ)(tức
s∈Scs
sđược ước lượng trên σ). Từ đó, σ |= D nếu và chỉ nếu A ≤l(σ) ≤ B ⇒ θ(σ) ≤M. Ví dụ, đối với mô hình σ trong hình 3.2, ta có dA(σ) = x1+x3 −y2, dDn(σ) = x2 −z1,
và l(σ) = T.
Bổ đề 3.1. Lấy σ, σ1 = (I1,[0, T1]) ∈ M(R1), σ2 = (I2,[0, T2]) ∈ M(R2) là các mô hình DC. Khi đó,
1. nếu σ =σ1σ2 thì ds(σ) = ds(σ1) +ds(σ2) đối với mọi s ∈S,
l(σ) =l(σ1) +l(σ2) và θ(σ) =θ(σ1) +θ(σ2),
2. nếu σ =σ1⊗σ2 thì ds(σ) =ds(σ1) +ds(σ2) đối với mọi s∈S,
l(σ) =l(σ1) = l(σ2), và θ(σ) = θ(σ1) +θ(σ2).
Trong các định nghĩa và kết quả sau đây, ta luôn luôn kí hiệu D là một