Ô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ức nă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ố trong rấ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ày như khả năng biểu diễn của ôtômat thời gian trong [9, 39], hay khả năng biểu diễn đối với các ôtômat thời gian mở rộng trong [30, 41, 20, 12], hoặc các rút gọ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ết quả này đều được tổng kết một cách ngắn gọn trong [8].
2.2.1 Cú pháp và ngữ nghĩa
Định nghĩa 2.1. Ôtômat thời gian là một bộ A =S, s0,Σ, X, I, E, ở đây:
• S là tập hữu hạn các vị trí,
• s0 ∈S là vị trí ban đầu,
• Σ là tập hữu hạn các kí hiệu,
• 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)×Σ×2X ×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ừ stới s với nhãna 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 →a q, 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
19
thì 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 →δ →a q hoặc q →δ,a q, tức (s, ν) →δ,a (s, ν). 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.
2.2.2 Đường chạy và dáng điệu của ôtômat thời gian
Định nghĩa 2.2.
1. Một đường chạy r của ôtômat thời gian A là một dãy hữu hạn hoặc vô hạn các phép chuyển trạng thái r : (s0, ν0) δ1→,a1 (s1, ν1) δ→2,a2 . . . δm→,am
(sm, νm). . . trong đó: (s0, ν0) là trạng thái ban đầu và với mỗi i ≥ 1,
(si−1, νi−1) δ→i,ai (si, νi) là một phép chuyển trạng thái, tức tồn tại phép chuyển ei =si−1, ϕi, ai, λi, si: νi−1 |=I(si−1),νi−1+δi |=I(si−1)∧ϕ và
νi = (νi−1+δi)[λ:= 0] |=I(si).
2. Một dáng điệu ρ của ôtômat thời gian A tương ứng với đường chạy r là một dãy vô hạn hoặc hữu hạn các vị trí thời gianρ: (s0, t0). . .(sm, tm). . ., trong đó s0 là vị trí ban đầu, t0 = 0 và δi= ti−ti−1, ∀i ≥1.
Tí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 ti ≤ti+1 đối với mọi i≥ 0,
• ti là thời điểm hệ chuyển vị trí từsi−1 tới si, với mọii ≥ 1. Tức hệ thống nằm tại vị trí si−1 trong δi =ti−ti−1 đơn vị thời gian và chuyển đến vị
trí si bởi một phép chuyển vị trí si−1, ϕ, a, λ, si 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 gianAmà 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ênRG 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ép chuyển. Điều này có thể được khắc phục bởi đồ thịđạt được nguyên (thời gian lấ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.
2.2.3 Hợp song song của các ôtômat thời gian
Đố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
Ai =Si, s0i,Σi, Xi, Ii, Ei (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 ei = si, ϕi, ai, λi, si ∈ Ei (i = 1,2). Khi đó nếu a1 = a2 thì (s1, s2), ϕ1∧ϕ2, a, λ1∪λ2,(s1, s2) ∈ E, trong đó
21
a = a1 = a2. Nếu a1 ∈ Σ1 \Σ2 thì (s1, s2), ϕ1, a1, λ1,(s1, s2) ∈ E, và nếu
a2 ∈ Σ1\Σ2 thì (s1, s2), ϕ2, a2, λ2,(s1, s2) ∈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ới cá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ạn trạ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 được phé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ọc cộng, nhân và các quan hệ cũng được mở rộng đến giá trịsố này.