Trong chương nảy ta đưa ra một số thực nghiệm với công cụ EtSpm và DtSpim bao gồm: mô hình train-gate-conoller dược đặc tả trong phần lý thuyết Otomat thời gian, bải toàn máy là bái toán
Trang 1"TRƯỜNG DẠI HỌC CÔNG NGITẸ
—-=[[lwes~-~-
NGUYÊN TÀI TUẦN
KIỂM CHỨNG CÁC TÍNI CHÁT THỜI GIAN THỰC
CHO HỆ THÓNG ĐÒNG THỜI BẰNG RT - SPTN
LUẬN VĂN THẠC SĨ NGÀNH ÔNG NGHỆ THÔNG TIN
Hà Nội, 2015
Trang 2
"TRƯỜNG DẠI HỌC CÔNG NGITẸ
—-=[[lwes~-~-
NGUYÊN TÀI TUẦN
KIỂM CHỨNG CÁC TÍNH CHÁT THỜI GIAN THỰC CHO HỆ THÓNG ĐỎNG THỜI BẰNG RT - SPTN
Ngành: Công nghệ Thông tín
Chuyên ngành: Công nghệ phân mềm
Mã số: 60 48 10
LUAN VAN THAC Si NGANH CONG NGHE THONG TIN
NGƯỜI HƯỚNG DẪN KHOA HOC: TS Nguyễn Irường Thắng
Hà Nặi, 2013
Trang 3Nội dung
Lời cam đoan 0c 02221 cttrrrrrrtrrrnerrrrrioi Xu kesgtrtsensasraaoe-UD)
MỤCLỤC ico dN LS SL ER ANAT 3g53800/20146665066x6iaispsassolfD)
TDRlBiiifiikỹ BiểNOINIEĐIDSEcussoosaootdssioioaditialGL0166608ã088580060038/30g340 `
Chương 1: Mé dau
Chương 2 Cơ sở kiểm chứng mô hình
21 Kiểm chứng dựa trên mô hình
3.3.2 Bảng chuyên trạng thái với các ràng buộc thời gian "¬
3.3.3 Các ràng buộc đồng hỗ và đông hỗ biên dịch s 25252552 22
3.3.4 Các bảng chuyển trạng thái thời gian -ccccccoc 22
Trang 43.3.7 Otomat Muller théi gian
3.4 Kiém tra tinh réng
3.41 Giới han đến các hằng nguyên
4.2.1 Ngôn ngữ thời gian và Otomat Buchi thời gian
42.2 Ngữ ngứa trong Prơmels không có thoi gian và có thời gian
4.2.3 M@xéng Spin vei théi gian thye
42.4 Đinh nghĩa TRÀ dựa trên chương trình Promcba thời giam thực
5 với thời gian thực
4.3 Mở rộng Spin và Promela với thời gian rời rạo
44.1 Mô hình thời gian rời rạc
43.2 Củ pháp Spim với mô hình thời gian rời rạc
5.2 Thục nghiệm kiếm chứng giao thức hệ thống Sapi
ương Š Thục nghiệm Spim với hệ thống thời gian thực
5.1 Thực nghiệm kiểm chủng giao thức truyền và nhận thông báo song song
5.1 Thực nghiệm kiểm chứng Train-Gate-Conuoilar
Trang 5Danh mục bảng biểu
Đảng 2.1: Khả năng thực hiện của các câu lệnh trong Promela
Bang 3.1: Các loại Otorat thời gian
Tăng 3.2: Các loại olomtat cà
Danh mục hình vẽ Hình 2.1 : Vẫn để với kiểm thử
Hinh 22: Kiểm thử mô hình
Hinh 3.1 : Otomat Buchi chip nhan (a!b)‘a”
TTình 3.2 : Otomat Mnller xác định chap nhan (a+b)"a"
Hình 3.3 : Ví dụ băng chuyên trạng thái thời gian
Hình 3.4 : Bảng chuyên trạng thái thời gian voi 2 déng hé (đồng hổ)
Hinh 3.5: Olomal Buehi thời gian chấp nhậu Lụ
Tình 3.6 : Otomat thời gian mô hình hóa hành vi lặp định kỳ
Hình 3.7 : Otomat thời gian chấp nhận ngôn ngữ L.„„.ụ:
Tĩnh 3.8 : Otomat Muller thời gian
Hình 4.1 : Các thực thể của giao thức gửi và nhận song song
Tình 4.2: Mô hình hệ thông Sapi
Trang 6Danh muc ky hiéu, từ viết tắt
Từ viết tắt | Thuật ngữ Ý nghĩa
Biện địch ngôn ngữ Promela đ
SPIN Simple Promela Interpreter giản fen eh ngen ngir romela con
APL Application Programming Giao diện lập trình ứng dụng
DiSpin | Diserete Time Spin Spin tích hợp thời gian rồi rạc
Rjpm — TRealTimeSpm Spin tích hợp thời gian thực
LIL Linear time logic Logic thời gian tuyên tỉnh
TS ‘Transition system Tiệ thông chuyên tạng thái
RIS Real Time System Tệ thông thời gian thực
TBA Timed Buchi Automata Olomal Buchi thời gian
MTA Muller Timed Autontata Olomat Muller thai gian
Deterministic Tuned Muller Olomat Muller thai gian xie định DIMA
Automata
DIBA Deterministic Timed Buchi Otomat Đuchi thên gian xác định
TTS Timed transition system thời gian © chuyền trang eo
Trang 7Kiểm chứng mỗ hình là một kỹ thuật kiểm chứng tự động các hệ thống hữu hạn trạng thái Kiểm chứng mô hình xác mình tính ding din của một mỗ hình bằng
xác định xem các thuộc tính người đùng mong muốn có dược thỏa mãn bởi mô hình
đó bay không [8] Về nguyên tắc hoạt động, hệ thông cân kiểm chứng sẽ được mô
hình hóa Công cụ kiểm chứng sẽ kiểm tra mô hình có thỏa mãn các thuộc tính được cho hay không Nhờ khá năng duyệt qua tất cả các trạng thái trong mô hình mả tính đứng đẫn của kết quả kiểm chứng mỏ hinh luôn được đám bảo Tuy nhiên cho đến
nay, kiểm chứng mô hình chủ yếu lập trưng bào các hệ phí thời gian hoặc các tính chất
thời điểm của hệ thời gian thực, tính chất khoản vẫn còn íL và hầu như các thuậi toán
nay chỉ giải quyết bài toán theo ngữ nghữa đã thụ hẹp của tính chất cân kiểm chứng
Promela 14 ngén ngữ mô hình mức cao nhằm đặc tả hệ thông Thứ tự thởi gian
của các hành động trong chương trình promela dựa trên trình tụ của các lệnh trong
tiến trinh Tuy nhiên ngôn ngữ không cho phép đo lường chính xác khoảng thời gian giữa hai sự kiện [10] Thực tế rất nhiều hệ thông bao gồm các giao thức giao tiếp, các mạch không dòng bộ, các bộ diều khiến dén lay giao thông và các hệ thông thực hiện
thời gian thực cẩn được mô tả như các hệ khống thời gian thực,
Đo đó thác đây cần maổ rộng Promela cho thời gián thực trong đó thời gian liên
lục các sự kiện có thế ay ra giữa hai khoảng thời giam không bị chắn Hiện tại
cỗ hai công cụ tích hợp thời gian với Spm DtSpin và RtSpin [5][L3] Cả hai công cụ
đến dựa trên lý thuyết Otomat thời gian (timed Otomat) RtSpin cẻ thể mô hình
Ơtomat thời gian với các đồng hỏ thời gian thục nhưng khá céng kénh Tan chế của
RtSpin không tương thích với thuật toản giám số lượng không gian trạng thái của hệ thống DtSpin dựa trên Otomat thời gian lý tưởng, thời gian dược chia thành các khoảng thời gian bằng nhau và thời gian được biểu thị là các số tự nhiên DISpm tương Thích với thuật toán giâm số lượng không gian trạng thái của hệ thống Tuy
nhiên DiSpin chỉ mỡ rộng với thời gian rời rạc
Nội dung nghiên cứu: Tìm hiểu Spin, hệ thống thời gian thực, lý thuyết Otomat thời
gian và tích hợp thời gian với công cụ Spin
Phần đầu của luận văn ta nghiên cửu về Spin, hệ thông thời gian thực và lý thuyết mô hình kiểm chứng Ta cũng dưa ra những khái niềm cơ bản về kiểm chứng mô hình và
hệ thống thời gian thực là cơ sở nên tảng đẻ thực hiện tích hợp và các công cụ tích hợp
thời gian thực với Spin nhằm định lượng khoảng thời gian giữa các sự kiện và các
ràng buộc về thời gian Hai công eu này đựa trên lý thuyết Otomat thời gian Trong đó
RtSpin đựa rên mô hình thời gian liên tục, DtSpin đựa trên mô hình thời gian rời rạc
Cuối cùng ta đưa ra một số thực nghiệm với công cụ RtSpin và DtSpin bao gồm: mô
Trang 8thông, Tiếp dến ta cũng kiểm chứng giáo thức truyền nhận song song dựa trên các kênh truyền và gửi thông thông bao cé thé mat mat théng tin Cuối củng mô hình Sapi
Chương 3: Pau tin la ti hiểu Cơ sở lý thuyết cho kiểm chứng mô hình, một
công nghệ tự động trong đó mô hình với tập trạng thái hữu hạn của hệ thông và một
tinh chất logical, hệ thắng sẽ kiểm tra xem tính chất dé Spin một công cu kiếm chứng,
mô hinh Spim lả công cụ nhằm phân tích tỉnh logic của hệ thống đồng thời, các giao thức giao tiếp dữ liệu Hệ thông được mô hình hỏa bỡi ngôn ngữ Promela Tiếp đến ta cũng trình bảy các hệ thông thời gian thực
Chương 3: Atomal thời gian mô hình hóa các hành vi hệ thống thời gian thực
Cung cap các định nghĩa, đỗ thị chuyển trang thai voi rang buộc thời gian sử dùng nhiều đồng hỗ giá trị thực Olomal thời gian chấp nhận chấp nhận từ ký tự và thời gan
~ trình tự vô hạn với giá trị thời gian liên kết với ký tự vảo Chúng ta cung xem xét
các tính chất đóng với Otomat xác định và không xác định Cuỗi củng xem xét img
dụng của lý thuyết nhằm kiểm thử các yêu cầu của hệ thống với các trạng thái hữu
hạn
Chương 4: Vi Promela truyền thóng không chửa thời gian Trong chương nảy
giới thiệu mỡ rộng thời gian thực với công cụ spin và Promela, có hai thành công bao
gồm RiSpin (Real-imc Spin) và DISpin (Diaerele time Spin) nhằm ruở rộng Spi với
thời gian Trong đó RiSpm chựa trên mô hình thời gian liên tục, DI Spm đựa trên mô
hình thời gian rời rạc
Chương 5: Dụa trên cơ sở của chương 4 Trong chương nảy ta đưa ra một số thực nghiệm với công cụ EtSpm và DtSpim bao gồm: mô hình train-gate-conoller dược đặc tả trong phần lý thuyết Otomat thời gian, bải toàn máy là bái toán kinh điển
và là tiến để để kiểm chứng các hệ thông diễu khiển giao thông, Tiếp đến ta cũng kiểm chứng giáo thức truyền nhận song song đựa lrên các kênh tuyển và gửi thông thông báo có thể mất mát thông lín Cuối cùng mô hừnh Sapi là mô hình có giá Irị thực
tiễn của hệ thông tính cước của G-Mobile
Trang 9Quả trinh thiết kế mô hình của hệ thống bằng ngôn ngữ mô hinh Promela lim việc đựa trên các khải niệm về kiểm chứng mô hình Chương này sẽ lần lượt trinh bày những khái niệm cơ bản về kiểm chứng mồ hình vả hệ thống thời gian thực
3.1 Kiểm chứng dựa trên mô hình
2.11 Khái niệm
thếng phần mởm có đáp ứng được các yêu cẩn để ra,
một nhiệm vụ thách thúc là hệ thống phải dâm bảo tính đông thời (concurrenoy) Tính
Nham kiem tra xem hi
đồng thời của hệ thống nhằm đấm báo các tiến trình chạy song song va xen kẽ lẫn nhau sử dụng tài nguyên chung Các công nghệ kiểm chứng bao gẻm Dijkstra, Floyd,
Gries, Hoare, Owicki, Manna and Plueni Kiểm chứng là một mỏ bình lý thuyết vẻ dược thực hiện dựa trên khá nãng tinh toan ota may tinh [4]
Trong quá trình phát triển phan mém, cảng phát hiện ra lỗi sớm tủ việc phát
triển sẽ dễ dàng hơn Tuy nhiên, việc phát hiện lỗi nhờ kiểm chứng thường rất muộn
Môi giải pháp nhằm cải thiện, chúng ta nén thực hiện kiểm chứng để có thể phải liện
lỗi sớm hơn
Operation, And Manlenauce
Trang 10hiện bởi một đặc tả hình thức hoặc một mồ hình của hệ thống
Các mẫu thiết kế hay mỏ hình là mồ tá đơn gián của hệ thống dựa trên yêu câu
hệ thống và chức nắng xác định, giúp chúng ta có thể hiểu va dự đoán được hành vi của hệ thông,
Năm 1981 Clarke ad Bmerson đã đưa ra đmh nghữa: Kiểm chứng mô Hình là
Tĩinh 2.3: Kiểm chứng mô hình
Thông thường có hai cách tiếp cận với ứng dụng của kiểm chứng mỏ hình Cách tiếp cận verification: luôn luôn bảo dam sự đúng đắn của mô hinh chỉ tiết M của
hệ thống dưới dang tinh ding din Cach tiếp cin Debugging: luôn luôn đi tìm lỗi
trong mô hình M
Kiểm chứng mô hình là phương pháp hiệu quả nhất trong viếc tiếp cản gỡ lỗi thiết kế Mô hình không chứ tốt trong gỡ lỗi mã còn tìm 18: bugs rat sém trong vide thiết kế một hệ thông mới
Các bước thực hiện xây đưng Kiểm chứng mô hình Đầu tiên ta mô hình hỏa hệ thẳng (xảy đựng mê hình M cho hệ thống) Tiếp đến ta xây đựng yêu câu đưới dang
Trang 11hiện trong các công cụ kiểm chứng mô hình)
2.L2 Các bước thực hiện
Quá trình kiểm chứng dựa trên mô lủnh được bắt đầu bằng việc xác định yêu
câu của hệ thông tù đó xây đựng mô hình dựa vào các yêu câu và chức năng của hệ
thống Việc xây dựng mô hình còn phải đựa trên cáo yếu Lô đữ liệu đầu vào và đầu ra
Mô hình này được sử đụng để sinh ra các ca kiểm thử Chúng 1a cỏ thể biết kết quả đầu ra mong đợi từ mô hình hoặc từ quy định chuẩn (oracle) Khi chạy kịch bản và kết quả thủ được sẽ được so sánh với kết quả mong đợi Từ đó quyết định hành động tiếp
theo như sửa đổi mô hình hoặc đừng kiếm thứ,
Các bước dễ thực hiện kiểm thứ dựa trên mô hình Xây dựng mô hinh dựa trên các yêu cầu và chức năng của hệ thông, Tiếp đến tạo đầu ra dự kiến từ mô tả bài toán Sau đó ta chạy kịch bán kiểm chứng và so sảnh kết quả đầu ra thực tế với kết quá dâu
ra dụ kiến Cuối cùng †a luyết định hành động tiếp theo (Sửa đổi mô hình, tạo thêm ca kiểm chứng, dùng kiểm chứng, đánh giả chất lượng của phân miêm),
2.2 Ngôn ngữ Promela và Spin
Spm {Simple Promcla Tnterpreter) là ông cụ nhằm phân tích tính logic của hệ
thống dang thời, các giao thức giao tiếp dữ liệu Hệ thống được mô hình hóa bởi ngôn
ngữ Promela
Ngôn ngữ Promela cho phép tao cac tién trình giao tiếp với nhau trên các kênh
đồng bộ hoặc không đồng bệ Ngôn ngữ Promela nhúng ngôn ngữ lập trinh C và lá ngôn ngữ đặc tả để mô hình hóa hệ thông trạng thái hữu hạn
2.2.1 Ngôn Ngữ Promcla
Với 8pin, ngôn ngữ Promela dược sử dụng dễ xây dựng rõ hình của hệ thông va các tỉnh chất cũa nó Promela là ngôn ngữ không tất dịnh, là một trong các ngôn ngữ
có cú pháp và ngữ nghữa tương tụ ngôn ngữ C
Một chương trình Promela bao gồm khai báo định nghĩa kiến, biến, kênh, một
œ câu lệnh Các tiên trình có thé
hay nhiều tiên trình, n trình chữa một cÌu
có tham số hoặc không Các tiến trình được khai báo với từ khỏa kích hoạt sẽ được khởi tạo và gán một giá tri pid (process id) duy nhit
Một tiền trinh thực hiện đồng thời với các tiến trình khác và giao tiếp với các tiến trình khác bằng cách sử dụng biến chung phản bay giao tiếp qua các kênh Trạng, thái của tiến trình được dặc trưng bởi vị trị lệnh tiên trình dang thực hiển và nội dung
Trang 12được giao nhau tuy nhiên các lệnh khác nhau của các tiên trình không xảy ra củng lúc ngoại trừ kênh giao tiếp đồng thời Mỗi tiên trình ở mỗi diễm có thê thực hiện lựa các hành đồng khác nhau
câu lệnh là nguyên tử và khi thực
hiện không giao với các tiến trình khác Dễ kiểm chímg các tỉnh chất chắc chăn đúng,
trong chương trình thường ding Iénh assert (expr) trong mé hinh Promela Lénh nay
luôn thực hiện được và nếu biểu thức trả vẻ O thi Spin théng báo một lỗi “has been
Trang 13
skip Luiên luôn thực biện được
Presg2O1L Thue hiện dược nêu biểu thức tra về khác 0
Tuuyôn luôn thực hiện được
if Thục hiện được nêu it nhất một bảo dam
đc Thực hiện được nêu it nhất một bão đảm
Break Luôn thực hiện được (thoát câu lệnh do)
Send i Thuc luện duge néu kénh khéng dây
Trong chế độ giê lập, Spim biên địch và chạy một chương trình promola, sau đó
in rủ các trạng thải của chương trình |17|
"Một trạng thái của chương trình là một bộ các giá trị gêm của các biển, các giá trị
của biến đếm vị trí của các tiên trình Một tính toán của chương trình là chuối các
trạng thải bắt đầu bởi trạng thải khởi tạo và tiếp tục với những trạng thái xuất hiện khi
Trong vi dụ 2.1 biến n dược khỏi tạo với giả trị 0, chương trình bao gồm 2 tiến
trình: P và Q lương ứng gán biến n giá trị 1 hoặc 2 và ïn ra giá trị của n cùng lên liễn
trình
Vi du 3.1.Chương trình với 2 tiến trình
yte a Oy
tive proctype 2() { rol;
printf ("Process 4, n-@din",n};
Trang 14sử dụng tài nguyên này luôn ở trạng thải đợi mãi mãi bay còn gọi trạng thải kết thúc không hợp lệ, tính khẳng dịnh (assertions) là cách don giản dễ kiểm tra chương trình Môi assertion la mét mệnh đề được đặt trong 1 chương trình mà 1a cho rằng mệnh để
nôn đúng (ai vi tri dé Spin sé tính toán cáo aasertiơn trong quá trình tìn kiểm phân
"acceptance"
Spin sé tinh toán assertien tại một vị trí nhất định trong chương trình ma ở đó
assertion được thêm vào, do vậy assertion có hạn chế trong việc biểu diễn tính chất của mô hình
‘Ta can dung dén logic thời gian tuyến tinh (L1L), L.TL, mạnh mê hơn trong, việc biểu tiển tính chất của mô hình (hệ thống) Với I.TL, 1ä có thể điễn tà những tính chit
chúng cần duge théa man ma khéng lién quan dén md vi tri nao trong chương linh,
1.TI đặc biệt phù hợp với các hệ thống Lương lác khi tính đúng đắn của hệ thông
không chỉ thê hiện ở kết quả tính toán mà †a phải kiểm tra sự giao tiếp và thực thi các tiên trình trong hệ thông
[ ] A: hệ thống luôn luôn mang tinh chat A
A tại tất câ các thời điểm từ hiện tại cho tới khi nỏ rang tính chat B
'Trong nhiều trường hợp, hệ thống xây dựng phải thỏa mãn một tỉnh chất bất biển
nao đó Với LIL ta biểu diễn tính chất đó bởi toán tử []
Trang 15© $Safety (tính an toàn): Tĩmh am toan cha mét chuong tinh dam bảo rắng sẽ
không bao giờ xảy ra tỉnh hudng xdu trong chuong trinh (“something bad never happen”)
‘Tinh an toan có thể được biểu diễn bằng tenporal logic như sau:
G gương LTT
Trong đó è là một biểu thức logic
Ví dụ của tỉnh an toàn:
-_ Nhiệt đệ của phân ứng không bao giờ qua 106 dé C
- Bat ki hic nao chia khóa xe chua vặn tới vị trí khỏi động, xe sẽ không nỗ
(tính sống động): Tính liveness của rnột chương tình đâm bảo rằng
nó có thể thực thì được một chức năng “tốt” nào đó đã đặt ra (“something good will happen eventually”)
Thuộc tính liveness có thể được biéu dién bằng các phép kết hợp AT hoặc E
trong temporal logic:
-_ Khi chia khóa xe vận tới vị trí khối động, xe sẽ nỗ máy
- Bong dén sé chuyén sang màu xanh
© Faimess (tinh công bằng) Tính công bằng đảm bảo rằng nêu một sự kiện nào
đó ở tạng thái sẵn sảng được thực thi thi đến một lủc nào đỏ nó sẽ được thực
Trang 16Một ví dụ cho tỉnh công bằng trong một hệ thông truyền-nhận tin là khi một
gói tin được gởi đi thì đến một lúc nào đó nó sẽ đến được đích
Trong Spin ta chỉ cẩn biểu diễn tính chất của hệ thông đưới đạng một biếu thức
LTL sau 46 đưa vào Spin với lênh spin và tham số -f, Spin sẽ tự động chuyên biểu thie L'TL sang céu tric never claim cua Promela ding vào việc kiểm chứng,
là dúng vả chương trình không chửa lỗi, 8pim sẽ kết thúc sau khi sinh ra tất cả các
trang thai và thông báo không có trạng thái nào ví phạm được tìm thấy,
lại không bao giờ được xây ra hay !(a)luôn phải nhận giá trị false.
Trang 17Nhãn To init đảm bảo trong khi chương trình được chạy (và sinh ra các trạng, thai), cho đến khí nào A oòn đúng, lệnh goto thứ hai luôn luôn được chọn và Spin sẽ liên tục
Nhưng nếu clrương trình tỉnh toán dén một trạng thái ma 6 dé A sai, Spin nhay tới nhãn accepl_ aÍl và kết thúc chương trình
SPIN sử đụng thuật toán tìm kiếm theo dé su (depth first search algorithm DFS)
để tạo và thực hiên không gian trạng thái đây đủ [11]
Các trạng thái c& được lưu trone ngăn xếp
tương ứng với một đường thực hiện đây đủ
Tĩnh 2.4: Thuật toán tìm kiểm không gian trạng thải trong Spin Mỗi trạng thái được biểu diễn bởi một vector trạng thải lá thông tin nhằm xác định trạng thải hệ thống, bao gồm: Các biển toàn cục, nội dung của các kênh Trong,
đó với mỗi kênh trong hệ thông chứa Các biến cục bộ và Độ đếm tiển trình
2.3 Giới thiệu về hệ thống thời gian thực
2.3.1 Khái niệm
Trong các tải liệu cũng như trong thực tế, khái niệm thời gián thực và hệ thống thời gian thực không phải lúc nào címg được hiểu một cách thống nhất Nhiêu người
cho ring hệ thẳng thời gian thực là một hệ thống phải làm việc với yêu câu thời gian
rất nhanh Ví dụ các hệ thống điều khiển tay máy, điều khiển động cơ, Lại eỏ người cho rằng thời gian thực là thời gian tuyệt đổi, hệ thống thời gian thực là một hệ thống
có khá năng lâm việc với thời gian tuyệt dối theo giờ phút giày ngày tháng, Vậy chúng
tạ nên luểu thê nào là hệ thống thời gian thực?
Hệ thống thời gian thực (RTS - Real Time System) là một hệ thông, mà tỉnh dimy dim của nó không chỉ phụ thuộc vào các kết quả logie nó lạo ra mà còn phụ
thuộc vào các thời điểm các kết quả được lạo ra.
Trang 18Như vây, hệ thống thời gian thục là một hệ thông mà sự hoạt động tin cậy của nó
chỉ phụ thuộc vào sự chỉnh xác của kết quả mà côn phụ thuộc vào thời điểm đưa ra kết quả Hệ thống có lỗi khi yêu cảu về thời gian khỏng được thỏa mãn
Hệ thống thời gian thực dược thiết kế nhằm trã lời lại các yếu tô kích thích phát sinh từ các thiết bị phần cứng,
Trong thục tế, các yếu tổ kích thích xây ra trong thời gian rất ngắn vào khaảng vai mili giây, thời gian mà hệ thông trả lời lại yêu tế kích thích đó tốt nhật vào khoảng
đưới một giây, khoảng thời gian đã xử lý một sự kiện như vậy được gọi là dealtime,
dealtime dugc xác định bởi thời gian bắt đầu và thời gian hoàn tắt công việc
‘Trong RTS cũng cần quan tâm xem những công việc thời gian thục có tuân hoán hay không, Đôi với rcal-tune được hiểu công việc tuân hoan dealtime ấn dinh theo từng chu kì xác định, đói với công việc không tuần hoàn dealtime xác dịnh vào lúc bắt đầu công việc Các biên cổ kích hoạt công việc không tuần hoàn thường dựa trên kỹ thuật xử lý ngắt của hệ thống phân cứng
Một hệ thống realtime được hiểu là một hệ thống Jam việc với các sự kiện tức
thời (realtime), ‘uy nhiên không phái mọi hệ thống đều có thể thực hiện được những, qui định tức thời hay đáp trá lại sự kiện một cách tức thời như chủng ta mong muồn Khi bắt tay xây dựng các ứng dụng phân mềm chúng ta luôn mong rauốn thời gian trể
để đưa ra một lệnh lay một quyết dịh là nhỏ nhất, hay khi xây dựng các ứng dụng
phần cứng chúng la lại muốn thời giam đưa ra một lín hiệu đáp Irã một sự kiện là phải gân nhàr tức thời, nhưng sự thực không được như vậy vì các hệ thống đáp img sụ kiện
bao giờ cũng có một thời gian trễ nhất định Khái niệm “hệ thông thời gian thục”,ở
đây hiểu ngầm như một hệ thống đáp ứng sự kiện với một thời gian trễ chấp nhận được hay nói cách khác, hệ thời gian thục lá hệ thống có các rảng buộc về thời gian đổi với các hành động của hệ thống
2.3.2 Đặc điểm của hệ thống thời gian thực
Tỉnh bị đông: hệ thông phải phan ứng với các sụ kiện xuất hiện vào các thời
điểm thường không biết trước Ví đụ: Sự vượt ngưỡng của một giá trị đo, sự thay đổi trạng thái của một thiết bị quá trình phái đẫn đến các phan img trong bd điền khiển
Tính nhanh nhạy: IIệ thống phải xử lý thông tin một cách nhanh chóng đề có thế đưa
ra kết quả phân ứng một cách kịp thời Tuy tính nhanh nhạy là một đặc điểm tiêu biểu nhưng một hệ thẳng có tính năng thời gian thực khdng nhất thiết phải có đáp ứng thật nhanh mả quan trọng hơn là phái có phần ứng kịp thời đối với các yêu cầu, tác động
bên ngoái
Tinh đồng thời: hệ thông phải có khả năng phan ứng và xử lý đẳng thời nhiều sự
kiện diễn ra Có thể cùng một lác bộ điển khiển được yêu cầu thực hiện nhiều vòng
Trang 19điều chỉnh, giám sát ngường giá trị nhiều đâu vào, cảnh giới trạng thái làm việc của
một số động co
'Tinh tiên dịnh: Dự doán dược thời gian phản ứng tiêu biểu, thời gian phán img chậm nhất cũng như trình tự đưa ra các phản ứng, Nêu một bộ diễu khiển phải xử lý
đồng thôi nhiêu nhiệm vụ ta phải tham gia quyết định được về trình tự thực hiện các
công ảnh giá được thời gian xử lý mỗ Như vậy người sử dụng
mớt có cơ sở đề đánh giá về khả năng đáp ứng tính thời gian thực của bệ thông
2.3.3 Cấu tạo hệ thời gian thực
.RS có cầu tạo từ các thành tố chỉnh sau: Đồng hề thời gian thực nhằm cung cấp thông tín thời gian thực Bộ điều khiển ngắt nhằm quản lý các biến cố không theo clu
kỳ Bộ định biểu nhằm quân lý các quy trình thực hiện Bộ quân lý tài nguyên nhằm
cung cấp các lài nguyên may tỉnh Bộ diểu khiển thực hiện nhằm khôi động các tiến
trình
Các thành tỏ trên có thể được phân định là thành tổ cứng hay mềm tủy thuộc vào
hệ thông và ý nghĩa sử đụng Thông thường, các RTS được kêt hợp vào phân cứng có khả năng tốt hơn so với hệ thống phân mềm có khả năng tương trng và tránh được chỉ
phi quá đắt cho việc tối ưu hỏa phần mềm
Hệ thống thời gian thực là hệ thống có ràng buộc về thời gian, tuy nhiền nều thời
gian rằng bude nay bị ví phạm (thời gian trả lời vươi quá giới hạn cho phép) hệ thông,
vẫn tiếp tụa hoạt động bình thường, tác hại không đáng kế
2.3.4 Vì sau chụn hệ thửi gỉ
Có thế nói tất cả các hệ thống điêu khiển là hệ thời gian thực Ngược lại một số
lớn các hệ thống thời gian thực là các hệ thống điển khiển, không hệ thống điều khiển nao có thể hoạt động bình thường nếu như nó không, đáp ứng được các yêu cầu về thời
Trong chương này chúng tôi trình bày vẻ mô bình kiểm thử với ngôn ngữ
Prornela và công cụ Spin Kiểm chứng mô hình kháo sát tất cá các trạng thai co thé của hệ thống là kiểm tra rằng chủng chứa sự dùng dẫu đã dược đặc tả Việc sinh ra các
Trang 20trạng thải và kiểm tra có thé duoc thực hiện một cách tự động bằng phân mềm va Spin
là một trong những bộ kiếm chứng (model checker) được sử dụng rộng rãi Các bộ
kiểm chứng, không kiểm tra trực tiếp chương trình mà kiểm tra một mô hình là thế hiện mức cao của hệ thông Mỏ hình này mô tả hành vị của hệ thống Dé ap dung được các công cụ kiểm chứng mô hình, việc đầu liên lá phải xây dung mô hình của hệ
Thông Các mô hình này cùng với đặc lâ của thuộc tính cản kiếm tra là đầu vào của các
bộ
chứng
Chương này ta cũng giới thiệu về hệ thống thời gian thực Ở phần sau chúng ta
sẽ từ hiểu sầu vẻ otomat thời gian để mô hình hóa và kiểm chứng hệ thông thời gian
thực.
Trang 21Chương 3 - Otomat thời gian
3.1 Giới thiệu
Chúng ta giới thiệu otomat thời giam để mô hình hóa hành ví cúa hệ thống thời
gian thực theo thời gian Các định nghữa được cung cấp một cách dơn giãn nhường,
thú giải đỗ thị chuyển trạng thái với các rằng buộc thời gian sử dụng các đẳng hồ giá trị thưc Otomat thời gian chấp nhận các từ ký tự theo thời gian — thời gian với giá trị thực được liên kết với mỗi kí tự [1]
mạnh tr
Trong mê hình thời gian tuyển tính với giả thiết một thực hiện hoàn toàn có thể
được mô hình hóa bởi trình tự các trạng thải của các sự kiện của hệ thống hay cén gọi
là exeution trace (hoặc traoe) Liành vị của hệ thống là tập trình tự thực hiên Llơn nữa tập các trình tự là ngôn ngữ hinh thức nên dẫn đến sử dụng otomat trong việc đặc tá và kiểm chứng hệ thống Nếu hệ thông là hữu hạn trạng thải sẽ tương ứng với otoraL hữu
hạn Đặc biệt sự đa dạng với nhiều loại otomat Bũchí, otomat không xác định, otornat
Muller xác định và không xác định, biểu thức hình thức :o có cùng chức năng nhằm định nghĩa lớp cảe ngôn ngữ hình thức ø Tủ đó có rất nhiều lý thuyết kiểm chứng
dựa trên lý thuyết ngôn ngữ hình thức œ [2]
Để đơn giãn chí mö hình các thực hịi
kiên gắu liễn với thời gian, thành phần thứ ¡ của trình tụ thời gian tương ứng với thời
là trinh tự vô hạn các sự kiện Mỗi sự
gien xây ra của sự kiện thử ¡
Mô hình thời gian đơn giân nhất là mỗ hình thời gian rời rạc (đisotete-tiine) trong:
đó trình tự thời gian tăng tuyển tính với trình tự các số nguyên Mô hình này tương
ứng với mạch kỹ thuật số đồng bộ, các tín hiệu thay đổi chính xác khi có tín hiệu đồng,
hé (signal clock) Các hành vị thời gian rời rạc có thể được thực hiện sử dung, otomat
hữu bạn Tuy nhiên các sự kiện tiến trình không luôn luôn xảy ra với thời gian giá trị
nguyên trong các hệ thông vật ly
Mã hình đồng hỗ lý tưởng (fieliious-cloek) tương Lự với mô bình thời gian rời rạc ngoại trừ mô hình này chỉ yêu cầu trình tự thời giam số nguyên và không giảm Sự
biên dich của vết thực hiên thời gian trong mô hình là các sự kiện xây ra theo thứ tự
được quy đỉnh với thời gian giá trị thực, tuy nhiên thời gian thựo sự được đọc bởi
đẳng hồ số Mỏ hình nảy dé dang chuyển đổi đến ngôn ngữ hình thức Trang mồ hình
nay có thêm khải niệm tick Chẳng hạn tụ, sé tick gitta sự kiện ¡ và sự kiện it]
‘Tuy nhiên mô hình nảy khá đơn gián vả chí thực hiện với nhưng hánh vị sứ dụng
©tomat hữu hạn
Mô hình thoi gian diy dic (dense-time) trong đó thời gian là tập đây đặc vì vậy thích hợp mô hình các tiến trình vật lý theo thời gian liên tục Trong mồ hình này, thời
Trang 22gian cửa các sự kiên là các số thực, tăng đơn điệu và không có cận biên Với thời gian
đây đặc (đense-time) otomat hữu hạn không thích hợp Thay thể ta phát triển lý thuyết ngôn ngữ hình thức thời gian và otomat thời gian nhằm ứng dụng cho hệ thông như
vay
Ôtemat thời gián chấp nhận các từ thời gian (Iimed words) — trình tự võ hạn các
sự kiện, rnỗi kiện lương ứng với một ký tự và thời gian giá trị thực Olomat thời
gian là otourat với tập hữu hạn các đồng hỗ giá trị thực @eal-valusd đồng has) Pong
hả có thể được thiết lập lại O với các bước chuyển trạng thái của œtomat hay theo dõi thời gian trồi kế từ lần cuối được thiết lập Các bước chuyển của otomat bao gém ràng buộc giá trị đẳng hồ (olook values): một thực hiện có thê đạt được nếu giá trị hiện tại
của déng hé thỏa mãn các rảng buộc liên kết Vi vậy ta có thể mô hình tính chất thời gian chẳng, hạn “kênh chuyển tiếp thông báo trong 3 dên 5 dơn vị thời gian kế từ khi
nhận” Olormat thời gian mô hình hóa hệ thống thời gian thực và đuy trì các tính chất
thời gian Uưục: đặc điểm tính chải như tình sống động, tính công bằng va khong x:
định; đặc điểm số lượng như : tính tuần hoản, biên và độ trễ thời gian
Ta xem xét tính xảo định và không xác định với etemat Tiuchi và otomat Muller
Ta cũng chỉ ra otoroat thời gian không xác định đóng với phép hợp và giao nhưng Không đóng với phép bù Tính chất đóng cho lớp otomat thời gian xác định tương tự
với otomat không, chứa thời gian: otomat Miuller thời gian xác dịnh dóng với tất các
phép boolean trong khi đỏ otomat Đuchi thời gian xác dịnh dóng chỉ với cáo phép Boolean tích cực Vì vậy olomal Muller thời gian xác định khả răng điễn đạt ngôn ngữ kém hơn sơ với otomal không xác định
Cudi cúng ta áp dụng lý thuyết otomat thời gian để chứng minh tinh ding đắn của các hệ thông thời gian thực với trạng thái hữu hạn
chữ cái, ngược với hữu hạn là các từ không hữu hạn Vì vậy ngôn ngữ œ qua lập các
ký tụ hữu hạn ` tả tận hơn can của >” — tận các từ không đơn định qua các ký tự 3,
Otomat œ cung cấp trình điển hữu hạn cho các loại ngôn ngít œ như vậy Otomat o
cơ bán giống như Otomat trạng thái hữu hạn đa định và điều kiện chấp nhận xứ lý cáo
ký tự vào Có nhiều loại Otomat nhưng trong luận văn nay ching xem xét đến Bũchi
Otomat va Muller Otomat
Mot bang chuyén A là một bộ 8,50, E) với 3) là
han các trạng thái của Otomat, SOC S là tập các trạng thái bắt đầu, 1 C 5 X s X Ð là
ky tự vào, 8 là lập hữu
Trang 23tập các cung Otamat bắt đâu bing trang thai khoi tao va néu (s, 8’, a) CI thi Otomat
cé thé déi thang thai tirs dén s’ khi doc dit ligu dau vaoa
Cho một tử ø = ơl 02 bao gm cac ky ty F ta noi ring:
ol | 62 | 33
T: SỐ >sl 782 >
1à một thục hiện cla Otomat A trén ti a, voi sO C SO, va (si-l, si, oi) CE vei
> 1 Với mot thue hign tap inf(r) bao gồm cac trang thai s € $ dé s=s; cho vé han lan
izl
Cae loai Otomal © khac nhau được định nghĩa bằng cách thêm điền kiện chấp
nhận được đến định nghĩa của cáo bảng chuyển trạng thái (transitian tables) Otomat
Buchi A la mét bảng chuyển ( „8,8;, H) với tập thêm vảo FC 5 là các trạng thái chấp nhận dược Một thực hiện r của Otomat A trên từ ø € ®® là thực hiện chấp nhận
được như im) A F # Ø Mặt khác một thực hiện r đang chấp nhận nếu một số trạng thái từ tập F xuất hiện vô hạn lẫn trên thực hiện r Ngôn ngữ ï.(A) của Olornal A
bao gồm các từ ø € *" để A có mội thực hiện chập nhận được trên từ o
‘Vi du 3.1: Xem xét Otemat bao gồm 2 trạng thái của IIình 3.1 qua ký tự {a,b}
"Trạng thái sụ là trạng thải khởi tạo, sÌ là trạng thái chấp nhận Tắt cả các thực hiện của
Otomat co dang
r30 331 482 > 98043817581
với ø C {ab} choi <1 <n voin> 1 Ctomat chap nhận tất cả các từ chỉ với
số hữu hạn của ký tự b ngôn ngữ Lụ= (atb)” a®
Hình 3.1: Otomat Buchi chấp nhận (a+b) a”
Ngôn ngữ œ được gợi là ngôn ngữ hình thức œ nêu dược chấp nhận bởi it nhất mét Otomat Buchi Vị vậy ngôn ngữ Lạ của vỉ dụ 1 là ngôn ngữ hình thức œ
Tớp các ngôn ngữ hình thức œ là đóng dưới dạng phép (oan Boolean Ngôn ngữ
được thực hiện hổi xây dựng Olomal Buchr
Buchi Otomat được sử dụng để mô hình các tiến trình đồng thời hữu hạn trang thái Vân để kiểm thử suy dẫn đến vẫn đề ngón ngữ Dẻ kiểm tra liệu ngồn ngữ của Otomat được chứa trong Otomat kia, chứng ta kiểm tra có phải là tập rỗng giao của
Trang 24hai Otomat gồm Ctomat gốc và Otomat bù Kiếm tra tính rống là đơn giản, ta chỉ cân
tim kiểm một chu kỳ đạt được từ trạng thái khởi tạo và bao gdm ít nhất một trạng thái chấp nhận được Tuy nhiên bỏ sung cho Otomat Buehi là vẫn đẻ bủng nỗ tăng đột biến số trạng thải Liệu ngôn ngữ của Otomat dược chúa trong ngôn ngữ của Otomat
đa định có thể được thục hiện trên thời gian đa thức
ông chuyên ÀA — bộ (8.8, E) là đơn định nếu (1) có trạng L
cung được gán nhấn a bắt đầu lại s nhiều nhất là 1 cho
tất cả cáo trạng thái s C 5 và cho tất cả các ký tự a C 3, Vì vậy bảng chuyển xác định, trạng thái hiện tại và ký tự đầu vào kế tiếp xác định đuy nhất trạng thái kế tiếp Kết quả Otemat đơn định có nhiều nhất một thực hiện cho một từ: Không giổng như Otomat với tử hữu hạn, lớp cảc ngôn ngữ dược dược chấp nhận bởi Otomat Buchi xác
1 không có Otomat Buchi
chấp thận ngôn ngữ Lạ OiomaL Muller đánh được nhược điểm này với điển kiên chap
dịnh sẽ it hon lop các ngôn ngữ hình thức øœ 1rong vị dụ
1Hình 3.2: Otomat Muller xác định chấp nhận (atb) a^
3.3 Ofemat thời gian
Trong phân này ta định nghĩa các từ thời gian (timed word) bing cach nhém gia
trị thời gian thực với mỗi kỷ tự trong từ Khi đỏ ta định nghĩa Otomat œ để chấp nhận
Trang 25từ thời gian và sử đụng chứng đề phát triển lý thuyết ngôn ngữ hình thức thời gian đến
1ý thuyết của ngôn ngữ hình thức œ
3.3.1 Ngôn ngữ thời gian
Ta định nghĩa từ thời gian cho rnột hành vị của hệ thống thời gian thục tương, ứng với từ thời gian trên các ký lự của sự kiện Như trong trường hợp mỗ hình của
thời gian liên tục, tập các số trực đương, R, duoc chon là miễn thời gian Một từ ø
được nhóm với trình tự thời gian + được định nghữa như sau [6]
Định nghĩa 3.1: Trình tự thời gian r = T172 là một trình tự vô hạn các giá tr thời gian ri € Ñ với rí >0 và thôa mãn các ràng buộc sau:
1 Tính đơn điệu: r tăng đơn điệu nghĩa là 7; < 7;
2 Tiến trình: cho mọi t€ R thủ tổn tại ¡ > 1 để 7; > t
Một từ thời gian với các ký tự (q, r) được xem như đầu vào của Oiomat biểu điễn ơ; tại thời điểm 1; Kếu mỗi ký tự ơ; được biêu thị một sự kiện xây ra thì thành phần lương ứng 1¡ biểu diễn thời gián xây ra sự kiện øị DE ma rng thích hợp cho phép tại ruột thời điểm với một giá trì thời gian có thể nhiều sự kiện hêu tiếp, vì vậy la
có thể định nghĩa kháe một chút về từ thời gian bằng cách yêu câu trình tự thời gian
tăng đơn điện ( chẳng hạn tỉ < tỉ—1 với ¡ > 1)
'Ta xem xét vi dụ về ngôn ngữ thời gian
Vị dụ 3.3: cho ký tự {a,b} Định nghĩa ngôn ngữ thời gian L] bao gồm tắt cã các
ký tự thời gian để không có trường hợp ký tự b theo sau thời gian Š.6 Vì vậy ngôn
ngũa Lạ được cho như sau:
Li = {Cs, 1) | Ví (ft > 5.6) —+ (/=a)) G1)
Vi du khac ctia ngén ngit L, bao gồm các từ thời gian rong đỏ a và b là chuyển
dỗi liên tục và các cặp a và b, thời gian khác biệt giữa a và b luôn tăng Ngôn ngữ L
duge cho nhu sau
L2 ={((ab)*, 1) [ VE (tai - Tait) < ỆTaix2 - Taits)) 42)
Các toán tử lý thuyết ngôn ngữ chẳng hạn phép giao, hợp, bù được định nghĩa
cho ngôn ngữ thời gian áp dụng nhu ngôn ngữ không có thời gian Thêm váo đó ta
định nghĩa toản tử Untime Phép toán này lược bỏ thời gian được liên kết với các ký
tự hay phép chiêu của vết thời gian (ơ, T) trên thành phần o
Định nghĩa 3.2 Cho một ngôn ngữ thời gian L trên ©.„ Undme(L) lả ngôn ngữ ø bao gdm œ C }" sai cho (G, 1) C L theo trinh tự thời gian T
Trang 26Với ví dụ 3.2 Unlime(L1) là ngôn ngữ œ (a†b)'a” và Untime(L2) là bao gồm các
từ đơn (ab)®
3.3.2 Bảng chuyển trạng thải với các rằng buộc thời gian
Ta cần mở rộng các bằng chuyển trạng thái đến bằng cliuyễn trạng thái thời gian
để có thể dọc các từ thời gian Khi một Otomat thực hiện một bước chuyển trạng thái, lựa chọn của trạng thái phụ thuộc vào đầu vào được đọc Trong trường hợp bảng chuyến trạng thái thời gian, để lựa chọn trạng thái kê tiếp phụ thuộc vào yêu tổ thời gian của ký tự đâu vào liên quan đến thời gian của ký tự được đọc trước Đề đáp ứng yếu tổ này, một tập hữu bạn các đồng hỗ (đồng hẻ) ( với giá trị thực) được liên kết với băng chuyển trạng thái Một đồng hồ (đồng hd) có thể được thiết lập về Ö đồng thời với bước chuyên trạng thái Với mỗi bước chuyển trạng sẽ liên kết rằng buộc vẻ đồng,
hỗ (dêng hổ) và yêu cầu phép chuyển thực hiện được nêu giá trị liện tại đồng hỗ thỏa
mãn răng buộc Trước khi đt ngiữa bằng chuyển tang thai thời gian, la xem xét ví
du sau
Vi đụ 3.4 Xem xét bảng chuyển trạng thái thời gian của hình 3.3 Trạng thái
khởi tạo sọ Có một đồng hỗ (đẳng hỗ) x Một chủ thích đạng x:=O trên cũng tương,
tửng bước chuyển với việc thiết thập lại đồng hỗ hd) x khi cung được thục hiện
"Tương tự chủ thịch (x<2) trên cung, là một ràng buộc về đồng hỗ liên kết với cung,
b, (x<2)2 Hình 3.3: Vi dụ băng chuyển trạng thải thời gian Trạng Thái sạ đi chuyển đến trạng thái mị khí đọc ký lự đầu vào a Đồng hỗ x thiết lập về 0 với bước chuyển trạng thái Trong khi đó lrạng thải gì, giá trị của dang bd x
chỉ thời gian được thiết lập với sự kiện đọc ký tự cuối a Việc chuyên trạng thái từ sị
về sạ được thực hiện nêu giá trị của đồng hê nhỏ hơn 2 Toàn bộ chu kỷ được lặp lại thì Otomat chuyến ngược về trang thải sạ Vì vậy ràng buộc thời gian được trình bay
bởi bang chuyến trạng thải cộng thêm với độ trễ giữa a và thed sau là b luôn luôn nhỏ
hơn 2, ngôn ngữ hình thực như sau
Vi vậy ràng buộc độ trễ giữa hai bước chuyển trạng thái eị và e; yêu cau déng hd riêng để thiết lập lại trên e1 và liên kết với ràng buộc đồng hồ tương ứng với e2 Dễ ý
Trang 27các đẳng hỗ có thẻ được thiết lập không đồng bộ với nhau nghĩa là các đẳng hỗ khác
nhau có thể được khởi động tại các thời điểm kháo nhau và không có cận dưới cho
việc khởi tạo giữa các lân doc ký tự Nhiều dồng hỏ cho phép nhiều độ trẻ đồng thời
hỗ (x <1) dược liên kết với bước chuyên trang thải từ s2 dến s3 đảm bảo ký tự dược đọc trong thời gian 1 đơn vị trước khi đọc ký tự a Cơ chê tương tự đề thiết lập về 0
cho đồng hỏ khác y trong khi đọc ký tự b và kiếm tra giá trị của nó khi đọc ký tự đ,
dam bảo độ trễ giữa b và đ là luôn lớn hơn 2
Dé y trong ví dụ trên để ràng buộc giữa độ trễ a và œ và giữa b và đ Otomat
không đưa vào cận biên rõ ràng nào trên a tiếp theo b hay c tiếp theo d Diễm thuận lợi của nhiều dồng hỗ ta có thể dược thiết lập độc lập lẫn nhau Ngôn ngữ L3 là giao của
lai ngôn ngữ Lạ" và Lạ dược dịnh nghĩa như sau:
Ly! ={((abed)", 1) | Vj ((typ3 < Tat! 1) (3.5)
Ls” ={((abed)®, t) | Vf (ta> Tay v12) 6
Mỗi ngôn ngữ ngữ Lạ' và [a” có thể được trình điển bởi một Otomal sử dụng chỉ một đẳng hổ, tuy nhiên dễ điển tâ sự giao nhau ía cản 2 đẳng hồ,
Cân phi nhớ cáo đồng hồ của Olomat không tương ứng với đồng hỗ sục bộ gủa
các thành phân khác trong hệ thông phân tán Các đồng hỏ tăng giá trị thời gian dưới
ti lê thông nhất, đêm thời gian với khung thời gian cổ định toàn cục Ta đề cập đến đồng hỗ hư câu (fictteus clock) để trinh điễn các tính chất thời gian của hệ thông
'Thay thể chủng ta có thể xem xét Otomat được trạng bị với số hữu hạn các s†op-watch
Trang 28để có thể được bắt đâu và được kiếm tra độc lập với cáo stop-watch khác, nhưmg tất cả
stop-watch đề cập đến cùng dang hd
3.3.3 Các ràng buộc dồng hỗ và dồng hỗ biêu dịch
Để dinh nghĩa Otomat thời gian, la cẵn liệt kê các loại rằng buộc dồng hỗ được phép trên các cung chuyển trạng thải Dạng đơn giản nhất của rằng buộc là so sảnh giả trị đồng hề với một hằng thời gian Ta cho phép chỉ các phép kết nội Boolean của các
ràng buộc đơn giản như vây [7]
Dinh nghĩa 3.3: Cho tập X là các biển đồng hồ, tập ®(X) của các ràng buộc đẳng,
hỗ ö được định nghĩa quy nạp như sau:
ö: x<ele<x|=S|ð1 Að2 Trong đó x là đồng hỗ trong X và e là hồng trong Q Quan sát các ràng buộc
ching han true (x =c}, x C [2,5) 14 dinh nghia tat
Mét déng hé bién dich (interpretation clack) v cho mt tap X các đồng hỗ gán
một giá trị thực đến mỗi đẳng hề, nghĩa là ánh xạ từ X dén R Ta noi ring 1 déng hỗ
bign dich (déng hé interpretation) v cho X thoa man I rang bude déug hé 5 trên X néu
Š có giả trị dùng dựa trên các giả trị dược ảnh xạ bởi đồng hỗ biên dịch v
ChoL€GR, v LL nghĩa là ánh xạ
biên địch ty gan mai đồng hé x đến giá trị Lv(x) Cha Y GX , [Y — f] v có nghĩa
đẳng hỗ biên địch cho X: gán t đến x C Y và thỏa mãn v với các đẳng hồ còn lại
đồng hồ x đến giá trị v(x) 11 va đồng hỗ
3.3.4 Các bằng chuyển trạng thái thời gian
Định nghĩa 3.4 một bằng chuyển trạng thái thời gian là một bộ ©',S,5,C,E) với + —Ð là các ký tự hữu hạn
e© 8 là tập hữu hạn các trạng thái
+ SạC S là lập oắc trang thai khdi tao
© Cla tap htm han cdc dang hỗ
e EB CSx5x}.x2C x $(C) tập các bước chuyến trạng thái Mỗi cùng (s, s’, a
2À, B) mồ tả một bước chuyển từ trạng thái s đến s” với ký tự đầu vào a
€ C lá các dộng hỗ được thiết lập lại trong bước chuyên lrạng thái, và ö là các
rang bude trên Ở ]3]
Cho một từ thời gian (Go, t) bảng chuyến thời gian A bắt đầu bằng một trong
những trạng thái khỏi tạo tại thời điểm 0 với tắt cã các đồng hồ được khởi tao 0 Giá
trị của các đồng hỗ thay đổi bang ham thiết lập thời gian Tại thời điểm 1; Otomat A thay đổi trạng thải từ s đến s” nếu các giả trị hiện tại của đồng hỗ thöa mãn các rảng, buộc 8 Với bước chuyễn trạng thái các đồng hồ trong  được thiết lập về 0 và bắt đầu
Trang 29trếp tục đếm thời gian ảnh vi được giữ bởi định nghĩa *run" của các bảng chuyển
trạng thái thời gian Một thực hiện 'rum” ghỉ lại trạng thái với giá trị của các đẳng hỗ tại các điểm chuyên trạng thải Cho trình tự thời gian z = zÌ 12 z3 với dịnh ngÌhữa +;
Định nghia 3.5 Một thục hiện r biểu điễn (8, 7) của bãng chuyển lạng théi thời gian (Y,5,S,GT) trên từ thời gian (ø,+) là một trình tự vô hạn với dạng:
¥ Go, vo) S> Gav) S> 2, v2) S>
vois,Svav,€(C > R), cho tat chi > 0 théa man nbiing yéu cau sau:
Thới tạo: sạC Sp vave(x) Ocho tit cd x EC
Cho tat cả ¡ > 1 có một cung trong E voi dang (8:1, Sự, 0; Ai 6) sa0 cho (Wig 1
ta ) théa min § va y; bang [A; > Ol (ia ta tia)
Để ids ap inf) bao gồm cde trang thais ES dbs 5, cho vdhan lini > 0
Vi dụ 3.6: Xem xét bảng chuyên trạng thái thời gian của ví đụ 3.5
(a2) —+ (b,27))—+ (b,28)) — (b3) —
Dưới đây ta đưa ra một đoạn khởi tạo của thực hiện Một đồng hỗ biên địch được
trình diễn bói danh sach cae gia tri [xy]
(0, 1.0) $> 1 LO2D 2 > Ge 10-70) > Gxl0.8,0.11 £ Go, 13,23)
Một thực hiện r = (s, 0) trên (G r) , các giá trị của đồng hỏ tại thời điểm t giữa tị
và tụi được cho bởi biên địch (vị + tị) Khi đỏ bước chuyên trạng thải từ sị đến sị
xăy ra Ta sử dụng giả trị (vị + tại — t) để kiểm cdc rang buộc đẳng hồ, tuy nhiên tại thời điểm suy giá trị của dồng hồ nhận được và thiết lập lại vé 0
cn
Đề
trang (eit thoi gian A’ Ta chon lập các đồng hd được thiết lập rỗng và thay thể các
bảng chuyển trạng thái (È`, 8, 8a, E) có thể được xem như một bằng cÌ
cùng (s4s'.a) bởi (s,s,a ,Ø,true) Thực hiện A” rõ ràng tương ứng với các thực hiện của
A
3.3.5 Ngôn ngữ hình thức thời gian
'Ta có thể nhóm mục chấp nhận với cac bang chuyén trang thai thoi gian va sit dung bang chuyển trạng thải thời gian dễ dịnh nghĩa ngôn ngữ thửi gian
Dinh ughia 3.6: Otomat Buchi thoi gian (viết tắt TBÀ) lả một bộ Ò', 8, 5; ,C,
EF) vdi bé (5, S, Sp C JF) a bang chuyển trạng thái thời gian và F C S là tập các
trạng thái chấp nhận
Trang 30Một thực hiện r = (S, Ø) của TBA trên tử thời gian (6, +) được gọi là thực hiện
chấp hận duge néu int(r) A F # ©
Cho mt TRA A , ngôn ngữ TA) là các từ thời gian mà TRA chấp thận được
định nghĩa bằng cách thiết lập {(œ,+) A có một thực hiện chấp nhận trên (ø, +) }
Tương tự với lớp các ngôn ngữ được chấp nhận bởi Otomai Iãuchi, ta gọi lớp ngôn ngữ thời gian được chấp nhận bởi ngôn ngữ hình thức TBA
Hình 3.5: Otomat Buchi thời gian chấp nban Les
Định nghia 3.7 Ngôn ngữ thời gian L là ngôn ngữ hình thức thời gian nếu L — L(A) cho cde TBA A
Vi du 3.7: Ngôn ngữ Lạ của vi đụ 3.5 là ngôn ngữ hình thức thời gian Bãng
chuyến trạng thái thời gian của hình 3.4 được nhóm với tập chấp nhận bao gồm tất cã
các trạng thái
Cho tất cá các ngôn ngữ hình thức œ trên Ð', ngôn ngữ thời gian {(ø, 2) | oC L}
là hình thức, Ví dụ điển bình cúa ngôn ngữ thời gian không hình thức lá ngôn ngữ Lạ của ví dụ 3.3 yêu cảu sụ khác biệt thời gia giữa cóc cặp liên tiệp ø và b với trình tự tăng
Một ngôn ngữ không hình thức là {(a”, t) | Vị ứœ = 2 @2)
Otomat của ví đụ 3.7 kết hợp điều kiện chấp nhận Buchi với ràng buộc thời gian
để đặc tá tính chất:
Ví dụ 3.8: Otomat hình 3.5 chấp nhận ngôn ngữ thời gian Lự, với các kỷ tự {a,b}
Ten £((ab)”,+)|3iVj >1 Gai < t;ịi +2} 8)
Trạng thái khỏi tạo là sạ, trạng thải chấp nhận là s; và có một đồng hỗ x Otomat bắt đầu trạng thái sạ và chu kỳ giữa trạng thái sọ và sị, Sau đó đi chuyển đến trạng thai
sự thiết lập đồng hé x đến 0 Chu kỳ giữa trạng thái s; và sy, Otomat thiết lập đồng hỗ trong khí dọc ký ty a va dam báo kỷ tự b kế tiếp trong 2 dơn vị thời gian Otomat mô hình hệ thống với thời gian đáp ứng hội tụ, thoi gian dap ứng, cuối củng luôn bé hơn 2
đơn vị thời gian
Trang 31“Vi đụ kế tiếp chỉ Otomat thời gian có thể chỉ định bành vi xác định
`Vi dụ 3.9 Otomat của hình 6 chắp nhận ngôn ngữ sau với cdc ky tu fab}
3.3.6 Các tính chất của ngôn ngữ hình thức thủ gian
Các lớp ngôn ngữ hình thức thời gian được đóng đưới (hữu bạn) phép hợp và
giao
Xem xét TBA (Š, S Su ,C, LH), ¡ = 1,3, n Giá thiết không làm mắt tỉnh tổng quát tập các đồng hỗ là riêng rể Ta xây dụng TA chấp nhận các phép hợp và giao
ota L(A)
Vi TBA là không xác định, trường hợp của phép hợp là rõ rằng TBA được yêu
cầu đếm giân là phép hợp riêng rế của lát cả các Olornal
Phép giao có thé duoc thực hiện bằng cách xây đựng Iiuchi Otomat Tập các
đồng hồ cho Otomat A la Uy
val Sk Su Thanh phan thử ¡ï phân ảnh trạng thái
Các trạng thái của A có dạng (1„ , s„k) với môi sị € Bị
ủa A¿, thành phần cuối cùng là bộ
đêm véi lal cA olomal cho trang thai théa min diéu kién chap nhận dược fa Wig,
Otomat riéng ré Khéi tac bộ đếm là 1 và bộ dém tang tir k dén (k | 1) néu trang thai của Otomat thứ k là trạng thái chấp nhận
Các trạng thái khỏi tạo của A có đạng (s, , s„l) với mỗi sị là trạng thái khối tạo
của A¡ Một bước chuyển của A đạt được bởi nhóm các bước clruyền của các Otomat
ng nhân Cho {(s,s,8,i ñ‡ € Bị|[i 1, ¬ử là tập cá ễ
mỗi mội Otomat với cửng nhấn a Tương ứng với cung cher
có củ bước chuyển trang thải,
m trạng lái
Trang 32trạng thái đạng (5, , s„.k) được gán nhãn a Trạng thái mới (sị, sạ,j) với ¡ = +1)
mođn nêu sự € Tạ, và ¡ = k ngược lại Tập các đồng hồ được thiết lập với bước chuyên
Hình 3.7: Otomat thời gian chap nhan ng6n ngt Leomveage
Quan sat su kiện cho các ngôn ngữ hình thức thời gian nhiễu sự kiên tùy ý có thể
Ta tong một khoảng chủ kỳ thời gian hữu han Hơn nữ
ác ký tự có thể được từ ý
gan ky thu khác Xem xét ví thụ sau
“Vi du 3.10 Ngôn ngữ được chấp nhận bởi Otomat của hình 10 là:
Leonverge ~ {((ab)*, 1) | Vi (tia — ib A tai - tain > toe - ta} (3.10)
TẾT gác các 1ừ được chấp nhận bởi Otomat có tính chất trinh tự thời gian giữa a
và theo sau b là giảm dẫn Từ mẫu dược chấp nhận bởi Olomat
(a1) —> (b.1.5) —> (a2) —› (b, 2.25) — (a,3) — (b, 3.125) >
'Vi dụ này mô (ả mô hình sẽ thực và khảo với mmô hình thời gian rời rạo Ta yêu
cầu các giá trị thời gian tị là bội số của hằng £, ngôn ngữ chấp nhận được của Otomat
Tỉnh 10 là rỗng,
"Mặt khác Otomal thời gian không phân biệt giữa lập các số thực và lập các quan
hệ Q Đặt biệt nếu ts yêu cầu các giá trị thời gian theo thứ tự thời gian là các số tỉ lễ,
ngên ngữ không thời gian Untime[L(A)] là Otemat thời gian A không thay đổi
Cho L là ngôn ngữ bình thúc thời gian Với các từ ø, 0 C Untime (L) néu tén tại
trình tự thời gian + đễ t, € Q với ¡>1 và (6, t) EL
Xem xét tội Olernat thời gian A và từ ä Nếu tổn tại trình tự thời gian + với lất
các giá trị thời gian lỉ lệ để (s, 1) © L(A) third rang o © Untime[T.(A)]
Trang 33(6, t) € L(A) Cho € € Q dé cae hing xuất
3 A a boi s6 thidu cia e Chor) vata 0
Cho một trình tự thởi gian tử)
hiện trong các ràng buộc đồng hỗ
êu 4 = 1 !nz Mặt khác chon 1; € Q dé cho với moi 0 <j <icho tit can EON (cj -
Tj)<n£ nếu ( -t) <n£
Xét một thực hiệnr (5, ð) của A với (G, t) Bởi vì cầu trúc của r nếu một đồng,
hé x được thiết lập tại bước chuyển thir i thi gia tri cd thé tai bước chuyển trạng thái thứ j cùng với các trình tự thời gian (r - g) và (+; - r;) thôa mãn củng tập các rang buộc đồng hỗ Kết quả có khả năng xây đựng một thực hiện chap nhận được r` = (s, v") voi (a, 1°) theo sau cing tinh ty các cung r Dic biét chon vy’ = vp va néu bude
chuyển thứ ¡ trên thực hiện r theo cũng {@¿vs,4, Šg thÊv” [A > O] Wate) -
Tia) kat qua A cdp nhan (a, 1)
3.3.7 Otomat Muller thi gian
Ta cé thể định nghĩa Otomat với cáo điều kiện chấp nhận Mfuller
Định nghĩa 3.8 Otomat Muller thời gian (MA) là một bộ (5„5,50,C,E,È) với
Q,5,30.C,F) là bảng chuyển trạng thải thời gian và F € 2Š đặc tả lớp chấp nhận (aceeplamice family)
Một thục hiện r = (s, ø) oũa A với (G, +) là một thực hiện chấp nhận nều inffr) C
Chơ TMA A , ngôn ngữ L(A) của các từ thời gian má MA chấp nhận dược dịnh nghĩa là tập {(G, +) | À có một thục hiện n nhận trên (o, t)}
a, <5) a, (x<2)
00% we
Hình 3.8: Otornat Muller thời gian
Ví dụ 3.11: Xem xét OtornaL hình 11 trên các ký tự {a,b,c} Trạng thải khởi tạo
J sq Lap cdc trang thai chip nban Muller bao gém tap đem (sụ, s;) Vì vậy bài cứ thực
hiện chấp nhận được sẽ thực hiện vòng lặp giữa sạ và sị hữu hạn lần và thực hiện
chuyển trạng thái giữa sụ và s„ vô hạn lần Cac từ (Ø,7) được chấp nhận bởi Otomat
théa min : (1) 6 € (a(b+e)*(ae)®) và (2) với ¡ >1 sự khác biệt giữa (ii - s2) nh
hon 2 néu ký tự thứ 3ì là ơ, trật khác nhỏ hơn 5
Ngôn ngữ thời gian được chấp nhận bởi mội số Olomal Buoli thời gian nếu nó
được chdp nhận bởi một số Olomaat Muller thời gian
Trang 34bởi Otomat thời gian
3.41 Giới hạn đến các hằng nguyên
Xem lại định nghĩa của Otomat thởi gian cho phép các răng buộc bao gồm so sánh với các hằng Iổ để sau cho việc kiểm tra tính rỗng, ta có thẻ giới hạn đến Otomat thởi gian với các ràng buộc đồng hỗ bao gồm chỉ các hằng nguyễn Cho một
trình tự thời gian + và t € Q khi dó te để cập dến trình tự thời gian đạt dược bởi bội số
của tị bởi t
Bé để: Xét một bảng chuyến trạng thái thời gian A, một từ thời gian (ø,+), và L€:
Q (5,9) là một thực hiện của Á trên (ø,z) nếu (51.Ÿ) là một thực hiện của A, qua
(S,L2) với A, là bảng chuyển trạng thái đạt được bằng cách thay thế mỗi hằng d trong mỗi ràng buộc dòng hệ gản nhãn của À bởi td
Có một đẳng cầu giữa thực hiện của A và A, Nếu ta chọn 1 là bội số chúng nhỏ nhất của tất cả gác hằng xuất hiện trơng các rùng buộc dẳng hỗ của A thi cde ring
buộc của A; sử đụng chỉ các hằng số nguyên Trong bước chuyển nay các hằng số là bội số của các hằng gốc Ta giả thiết mã hóa nhị phân cho cáo hằng số
Hơn nữa L(A) là rồng nếu L[A,] là rồng Vì vậy để xác định tỉnh rỗng của ngôn
ngữ L(A) ta xem xét A,, Tương ty Untime[L(A)] béi Untime[L(AĐ] Trong phản còn
lại cứa phẩn nảy ta giả thiết các ràng buộc của đồng hồ chỉ sử dụng các hằng số
Dinh nghĩa 3.9: Một bang chuyển trạng thải thời gian (1,,8,89,C
rộng là cặp (s„v) với s C 8 và v là đồng hồ biên địch cho C
nd rong cds, alomat A Nhung néu 2 wang thai mmổ rộng,
với cùng trạng thải A voi cùng giá trị phần nguyên của các giá trị đồng hệ, và trật tự của các phần lẻ của các giá trị đồng hồ thỉ thực hiên bắt đầu từ hai trạng thái mỏ rộng
Trang 35tương tụ nhau Phân nguyên của cdc gid tri dang hé cin duce xác định cẻ hay không,
ràng buộc đẳng hỗ được đáp ứng, cũng như trật tự của các phân lẻ sẽ quyết định đẳng,
hỗ nảo sẽ thay dỗi phản nguyễn trước, Cho vị dụ, nêu 2 ding hỏ x và y có giá trị giữa
O va 1 trong một trạng thai mở rộng, thì một bước chuyẻ n trạng, thái với ràng buộc
ding hé (x 1) 06 thé duve theo sai bởi một bước chuyển với ràng buộc đồng hé (y
1) phụ thuộc có hay không giá Irị các đồng hỗ thôa mãn ( < y}
Các phần nguyên của các giá trị đồng hỗ có thể lớn tùy ý Nhưng nêu đồng hỗ x
khêng bao giờ được so sánh với một hằng lớn hơm e, thì giá trị thực sự của nó khi vượt
qua c, khéng anh hudng trong việc quyết định đường được phép
Ta có thể hình thức hóa luận điểm trên Với bắt cứ t C R„ actŒ) biểu thị lẻ của t,
và |£[ tiểu thị phần nguyên của L nghĩa lài — [t] + ữaetf) Ta giả thiết các đồng ho trong Ở xuất hiện trong một số rằng buộc đồng hỗ
Định nghĩa 3.10: cho A = (Y,5,5u,C.F) là một bảng chuyến mạng thái thời gian
Với mỗi x € C, cho e„ là số nguyên lớn nhất đẻ (x <e) hay (c<x) là một biêu thức son cho một số ràng buộc đồng hỗ xuất hiện trong E
Quan hệ lương đương ~ được định nghĩa trên tập các đồng hồ biên dịch cho Cv
~v' nếu các điều kiện sau thỏa mãn
1 Tất cá x©C, hoặc |Ø(x)|vá |g()| là giống nhau, hay v(x) va v(x’) lon
hơn c„
Vải x, y € Ở với vÉ) Sœ„ và v(y) Scy, ñract(v(%)) < fraoctv(y)) nêu
fract(v’(x)) < fraot{v’ (y))
3 Viix EC vdv(x) So , fracl(v(x)) Onếu ñnclv'@+)} Ô
hỗ biên địch trong [v] thỏa mân ràng buộc (0 < x < y < 1) ta sé trình diễn bởi [Q < <
y < 1| Bản chất của các lớp tương dương có thẻ được hiểu qua vỉ dụ
Trang 36Vi dụ 3.10 Xem xét một bang chuyển trạng thái thời gian với hai đồng hồ x va y với c„ =2 và œ„ = 1 Các miễn đông hỗ được chỉ trong hình 12
ô hữu hạn một số
e miễn Với một rằng buộc ð trong À tiến v ~ vì
thì v théa man 8 néuv’ (hỏa mãn Š Ta nói rằng miễn đẳng hỗ ø thỏa mãn ràng buộc ỗ niểu mợi v € ơ thôa mãn ổ Mỗi miền có thê được trình điển bằng cách chuyên biệt
(1) Cho các đồng hồ x, một ràng buộc đồng hỗ từ tập:
{x=c c=0,1,.e,}Ư {elL <x«<e|e=1, e} U {x> œ}
Œ Mỗi cập đồng hỗ x và v sao cho e -T ,x< e và d~1 < y < đ ở trong (1) với
e và d xác định, khí do fract(x) nhỏ hơn, bằng hay lớn hơn act(y) xác
định miễn dông he
3.3.3 Otomat mién
ước đâu tiên trong thủ tục quyết định đề kiếm tra tính rẵng xảy đựng một bảng, chuyển trạng thái với các đường của bảng chuyến trạng thái bắt chước các thực hiển của A theo cách nhất định Ta biểu diễn bảng chuyên trạng thái mong muốn bởi R(A)
©tomat miễn của A Mỗi trạng thải của các bản ghỉ R(A) bao gồm trạng thải của bảng, chuyên trạng thải A, và lớp tương đương của các giá trị hiện tại của đồng hồ đưới dạng (s.ú) với s © § và thuộc miễn dòng hệ Biển địch dự định là bất cử khi tảo
trạng thái mổ rộng A 1d (s,v) (hi trang thái của R(A) là (s,|v |) Otomat miền bắt dầu từ
trang thsi (s0,|vạ]) với s0 là trang thái khởi tạo của A, và đồng hồ biên dịch vạ gán giả trị 0 đến các đồng hồ Quan hệ chuyến của R(A) được định nghĩa bước giả lập cẩn tuân thủ Có một cung từ (s,ơ) đến (s,ơ') được gán nhãn a nêu A trong trạng thái S với
các giá trị đẳng hỗ v € ø có thể thực hiện một bước chuyễn trên a đến trạng thái mở
Téng (s’, v7) sao chav’ Ca’
Để thuận tiên quan hệ cung, được định nghĩa như là quan hệ tìme-succesor trên
ede micn dong ho Time-suceesors cla mot micn dong ho ơ là tái cả các miển đồng hỗ
được thăm bồi đồng hỗ biên dịch v € œ trong các tiễn trình thời gian
Dinh nghĩa 3.11: Một ruiền đẳng hỗ ø° là time-successor của miền đồng hé o néu
cho mỗi v C ø thi tồn tại số đương t C R sao cho v +t Cơ"
Vi dụ 3.11: Xem xét các miễn đồng hề được chỉ trong hình 12 Time-successor của miền œ là các miền có thể đạt được bằng cách vẽ đường thăng di chuyển thời gian
từ một số điểm trong, miễn ơ, theo hưởng chéo lên trên Vi dy miễn [(1 <x < 2), (0 < y
<x 1){ các miễn liễn kể là time-successor : [&=2), (0 <y <x— 1JỊ,[@>2), (y=ÙI
va[G2), GUL
Kế tiép xem xét d8 xdy dumg 141, ca cac lime-successor của miền đồng hỗ Từ đỉnh nghĩa miễn đồng hỗ œ được đặc tả trong phần (1) cho các đồng hổ x, một ràng