Kiểm chứng mô hình với công thức khoảng Ở mục này ta làm rõ yếu tố thời gian trong quá trình hoạt động của hệ thống.. Từ những năm 1991 bài nghiên cứu đầu tiên về hệ logic mới logic khoả
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ BÌNH
CẢI TIẾN THUẬT TOÁN
CHỨNG MINH TÍNH ĐÚNG ĐẮN CÔNG THỨC KHOẢNG
LUẬN VĂN THẠC SỸ
Hà nội – 2014
Trang 22ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ BÌNH
CẢI TIẾN THUẬT TOÁN
CHỨNG MINH TÍNH ĐÚNG ĐẮN CÔNG THỨC KHOẢNG
Ngành : Công nghệ thông tin
Trang 3LỜI CẢM ƠN
Trong thời gian học tập tôi được trang bị sâu và rộng hơn những kiến thức về chuyên ngành, phương pháp học tập, đồng thời trưởng thành hơn
Đầu tiên tác giả xin chân thành cảm ơn TS Phạm Hồng Thái đã hướng dẫn giúp
đỡ tạo mọi điều kiện để tác giả nghiên cứu và hoàn thành luận văn thạc sĩ
Tôi xin chân thành cảm ơn các thầy cô trong và ngoài Khoa Công nghệ thông tin– Đại học Công nghệ Hà Nội, những người đã trang bị kiến thức giúp tôi nâng cao chuyên môn
Tôi xin chân thành cám ơn Ban lãnh đạo trường Đại học Công nghệ Hà Nội đãtạo mọi điều kiện để tôi làm việc, nghiên cứu và hoàn thành luận văn
Tôi xin cảm ơn tập thể lớp cao học Kỹ thuật phần mềm khóa 16, những ngườithường xuyên động viên, đóng góp trao đổi ý kiến và kiến thức trong suốt thời gianhọc tập và hoàn thành luận văn
Hà Nội, tháng 12 năm 2014Học viên thực hiện
Nguyễn Thị Bình
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn “Cải tiến thuật toán kiểm chứng tính đúng đắn của công thức khoảng” là công trình nghiên
cứu của tôi, dưới sự hướng dẫn trực tiếp của TS Phạm Hồng Thái – trường Đại họcCông nghệ - Đại học Quốc gia Hà Nội Các thiết kế, kết quả nghiên cứu trong luận văn
là trung thực và chưa từng được công bố trong bất kì công trình nghiên cứu nào Mọithông tin trích dẫn đều được tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng các tài liệutham khảo Tôi xin chịu hoàn toàn trách nhiệm với những nội dung được viết trongluận văn này
Hà Nội, tháng 12 năm 2014Học viên thực hiện
Nguyễn Thị Bình
Trang 5DC : Duration Calculus (Lôgic khoảng)
Trang 6DANH MỤC HÌNH VẼ
Hình 1-1: Khả năng đáp ứng của hệ thống 2
Hình 1-2: Vùng đồng hồ 7
Hình 1-3: Một ví dụ về ôtômat thời gian 8
Hình 1-4: Mô hình TRAIN 9
Hình 1-5: Mô hình GATE 10
Hình 1-6: Dáng điệu của hệ chắn tàu 12
Hình 1-7: Hợp của 2 ôtômat của Train và Gate 13
Hình 1-8: Mô tả hệ đèn điện 14
Hình 2-1: Ôtômat thời gian A 18
Hình 2-2: Đồ thị phân vùng của ôtômat A 18
Hình 2-3: Đồ thị phân miền của ôtômat A 19
Hình 2-4: Đồ thị vùng đạt được nguyên RG 21
Hình 3-1: Minh hoạ 2 cung được xây dựng trong đồ thị có trọng số 27
Hình 3-2: Cải tiến đồ thị trọng số 27
Hình 3-3 Biều đồ so sánh thời gian thuật toán cải tiến và chưa cải tiến 33
Trang 7DANH MỤC BẢNG
Bảng 2-1: Thuật toán xây dựng đồ thị đạt được nguyên 20
Bảng 2-2: Thuật toán kiểm chứng LDI tại một đỉnh 26
Bảng 2-3: Thuật toán kiểm chứng LDI tổng quát 26
Bảng 3-1: Thuật toán cải tiến 29
Bảng 3-2: Kết quả so sánh giữa hai thuật toán 32
Trang 8MỤC LỤC
LỜI CẢM ƠN I LỜI CAM ĐOAN II DANH MỤC TỪ VIẾT TẮT III DANH MỤC HÌNH VẼ IV DANH MỤC BẢNG V MỤC LỤC VI
MỞ ĐẦU 1
CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 2
1.1 HỆ THỜI GIAN THỰC 2
1.2 KIỂM CHỨNG MÔ HÌNH 3
1.2.1 Giới thiệu về kiểm chứng mô hình – Model Checking 3
1.2.2 Ý nghĩa, hạn chế của kiểm chứng mô hình 4
1.2.3 Kiểm chứng mô hình với hệ thời gian thực 5
1.2.4 Kiểm chứng mô hình với công thức khoảng 5
1.3 ÔTÔMAT THỜI GIAN 6
1.3.1 Thể hiện đồng hồ và phân vùng đồng hồ 6
1.3.2 Khái niệm ôtômat thời gian 7
1.3.3 Hợp song song của các ôtômat thời gian 12
1.4 LÔGIC KHOẢNG 13
1.4.1 Mô hình trong lôgic khoảng 13
1.4.2 Công thức khoảng và bài toán kiểm chứng mô hình 15
CHƯƠNG 2: THUẬT TOÁN KIỂM CHỨNG MÔ HÌNH 17
2.1 ĐỒ THỊ VÙNG ĐẠT ĐƯỢC 17
2.1.1 Đồ thị vùng Ôtômat 17
2.1.2 Đồ thị miền 18
2.1.3 Đồ thị đạt được nguyên 19
2.2 TÍNH RỜI RẠC HOÁ 21
Trang 92.2.1 Tập mô hình con của ôtômat thời gian 21
2.2.2 Khái niệm nguyên hoá và tính rời rạc hoá của công thức LDI 22
2.3 ĐỒ THỊ TRỌNG SỐ 23
2.4 THUẬT TOÁN KIỂM CHỨNG 24
CHƯƠNG 3: THUẬT TOÁN CẢI TIẾN 27
3.1 Ý TƯỞNG 27
3.2 THUẬT TOÁN CẢI TIẾN 28
3.3 TÍNH HIỆU QUẢ 29
3.4 KẾT QUẢ THỬ NGHIỆM 31
KẾT LUẬN 34
TÀI LIỆU THAM KHẢO 35 PHỤ LỤC I
Trang 10MỞ ĐẦU
Hệ thời gian thực đang trở nên phổ biến và thu hút sự quan tâm của các nhànghiên cứu khoa học về khoa học máy tính Sự phức tạp của yếu tố thời gian dẫn đếnviệc kiểm tra tính đúng đắn của hệ thống cần được thực hiện chặt chẽ Làm sao để cóthể kiểm tra, đánh giá chất lượng hệ thống thoả mãn với yêu cầu đặt ra nhanh nhất, đỡtốn chi phi nhất? Một trong những phương pháp đang được nghiên cứu sử dụng phổbiến hiện nay đó là đặc tả hình thức và kiểm chứng mô hình
Đánh dấu sự phát triển vượt bậc của phương pháp này là sự ra đời của các thuậttoán kiểm chứng từ đó xây dựng nên các bộ công cụ kiểm chứng mô hình cho phépkiểm tra một cách tự động tính đúng đắn của hệ thống, giảm thiểu nguy cơ rủi ro Tuynhiên các thuật toán cho kiểm tra tính thời khoảng còn hạn chế, công thức khoảngđược xét trong ngữ nghĩa thu hẹp, độ phức tạp còn cao
Luận văn nghiên cứu và trình bày về hướng Cải tiến thuật toán kiểm chứng tínhđúng đắn của công thức khoảng để giảm độ phức tạp của thuật toán Thuật toán đượcđưa ra là rời rạc hoá và duyệt đồ thị đạt được Trên cơ sở của việc đặc tả hệ thống, khôiphục các cực tiểu, cực đại của các phép chuyển ta tiến hành xây dựng đồ thị vùng, đồthị trọng số, đồ thị phục vụ kiểm chứng LDI Nhưng số lượng các đỉnh của đồ thị phục
vụ kiểm chứng LDI vẫn còn rất lớn ảnh hưởng đến hiệu suất của việc kiểm chứng, nêncần thu không gian các đỉnh của đồ thị Phần cuối của luận văn trình bày phương phápcải tiến của tác giả để kiểm chứng tính chất LDI
Trang 11CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN1.1 HỆ THỜI GIAN THỰC
1.1.1 Khái niệm hệ thời gian thực
Trong những năm gần đây hệ thống điều khiển thời gian thực đang trở thành mộtlĩnh vực thu hút sự quan tâm của các nhà nghiên cứu khoa học về khoa học máy tính.Đây là hệ thống được ứng dụng rộng rãi hiện nay như: hệ điều hành thời gian thực, lậplịch, rô bôt, các hệ thống điều khiển tự động…
Hiện có một số hiểu nhầm về hệ thời gian thực là hệ mà phải xử lí tốc độ cao, xử
lý nhanh Thực chất thời gian thực có nghĩa là thời gian phải “đủ nhanh” và được đặttrong một ngữ cảnh nào đó như: Có thể là khả năng đáp ứng chính xác tại thời điểm,hay xảy ra trong khoảng thời gian xác định, hay chậm nhât là lúc nào và sớm nhất làlúc nào [2]
Ví dụ xử lý tiến trình của hệ điều hành: khi có rất nhiều các tiến trình cần xử lý,
và tại mỗi thời điểm chí có một tiến trình được thực hiện.Vì vậy cần có sự phân chiathời gian, lựa chọn tiến trình sao cho việc thực thi hiệu quả nhất
Định nghĩa [4]: Hệ thống thời gian thực là hệ thống mà tính đúng đắn của nó
không chỉ phụ thuộc chức năng mà còn phụ thuộc thời gian, hệ thống có lỗi khi yêucầu về thời gian không được thoả mãn
Như vậy việc thiết kế hệ thống thời gian thực phải đảm bảo hệ thống có thể tiếpnhận các ràng buộc và mặt thời gian trong suốt quá trình thực thi
Trang 121.1.2 Phân loại hệ thời gian thực
Các hệ thời gian thực thường được phân thành hai loại sau: hệ thời gian thựcmềm (Soft real time system) và hệ thời gian thực cứng (Hard real time system) [4]:
Trang 13Đối với hệ thời gian thực mềm, yếu tố thời gian đóng vai trò quan trọng nhưngnếu thời gian hệ thống đáp ứng không thoả mãn ràng buộc đưa ra – vi phạm ràng buộcthời gian, thời gian trả lời của hệ thống vượt quá giới hạn trễ cho phép tuy nhiên hệthống vẫn tiếp tục hoat động bình thường, tác hại trễ này thường không đáng kể Ví dụmạng rút tiền tự động ATM là hệ thống thời gian thực Khi đưa thẻ ATM vào máy, máy
sẽ phản ứng lại trong vòng 1 hay 2 giây hoặc nó lâu hơn thế, và nếu không thực hiệnđược giao dịch thì vẫn phải chấp nhận
Ngược lại với hệ thời gian thực mềm là hệ thời gian thực cứng, trường hợp này
hệ thống quan tâm khắt khe đến các hậu quả do vi phạm về giới hạn thời gian trễ chophép Thường thì hậu quả của sự vi phạm về mặt thời gian này là ảnh hưởng rất lớngây tổn hại về vật chất về kinh tế lớn Ví dụ như máy hỗ trợ nhịp tim cho bệnh nhânkhi phẫu thuật Thuật toán điều khiển phụ thuộc vào thời gian nhịp tim của ngườibệnh, nếu thời gian này bị trễ, tính mạng của người bệnh sẽ bị ảnh hưởng Hay ví dụđiển hình là hệ thống điều khiển không lưu, phân phối đường bay, thời gian cất cánh,
hạ cánh không hợp lý, không đúng lúc có thể gây ra tai nạn máy bay mà thảm họa của
nó khó mà lường trước được
1.2 KIỂM CHỨNG MÔ HÌNH
1.2.1 Giới thiệu về kiểm chứng mô hình – Model Checking
Kiểm chứng mô hình [1] là một kĩ thuật giúp kiểm tra một chương trình hoặc mộtbản thiết kế có thỏa mãn các tính chất đặt ra hay không một cách tự động
Đầu vào là một mô hình cần kiểm chứng và các thuộc tính cần thỏa mãn Đầu ra
là kết luận mô hình thỏa mãn các tính chất hoặc đưa ra một phản ví dụ nếu mô hìnhkhông thỏa mãn
Các nghiên cứu đầu tiên về Model Checking (MC) được thực hiện bởi EdmundMelson Clarke và Ernest Allen Emerson cũng như Jean-Pierre Queille và JosephSifakis Jean-Pierre Clarke, Emerson và Sifakis đã được nhận giải thưởng Turing năm
2007 cho các đóng góp của họ về MC
Có thể nói kiểm chứng mô hình là kỹ thuật phân tích hệ thống để xác định tínhhợp lệ của một hay nhiều tính chất mà người dùng quan tâm trong một mô hình chotrước Cụ thể hơn, với mô hình M và thuộc tính p cho trước, nó kiểm tra liệu thuộc tính
p có thỏa mãn trong mô hình M hay không: M |= p Về mặt thực thi, kiểm chứng môhình là kỹ thuật tĩnh, nó duyệt qua tất cả các trạng thái, các đường thực thi có thể cótrong mô hình M để xác định tính thỏa p
Trên thực tế, mô hình kiểm chứng đã chứng minh rằng nó là một phương thứchiệu quả để phát hiện nhiều lỗi trong các pha thiết kế ban đầu
Kiểm chứng mô hình bao gồm 3 bước: Mô hình hóa, đặc tả và kiểm chứng.
Trang 14Ở bước mô hình hóa: kết quả tạo ra là một mô hình mà các công cụ kiểm chứng
có thể sử dụng được Đầu vào của bước này có thể là bản thiết kế phần mềm hoặc làcác dòng mã lập trình
Bước đặc tả: các thuộc tính mà bản thiết kế cần thỏa mãn được đặc tả Các thuộctính này thường được diễn đạt bằng các biểu thức logic Kết quả của hai bước mô hìnhhóa và đặc tả chính là đầu vào của kiểm chứng mô hình
Ở bước cuối cùng: kiểm chứng, công cụ kiểm chứng sẽ tự động thực hiện và trả
về kết quả là thỏa mãn nếu mô hình thỏa mãn các thuộc tính, hoặc đưa ra một phản ví
dụ nếu mô hình không thỏa mãn Dựa vào phản ví dụ, người ta có thể tìm ra được lý
do vì sao mô hình không thỏa mãn các thuộc tính đặt ra
1.2.2 Ý nghĩa, hạn chế của kiểm chứng mô hình
Mục đích chính của kiểm chứng mô hình giúp tạo ra khả năng cho phép xây dựng
và phát triển hệ thống một cách đúng đắn Các hệ thống phần mềm đang ngày càng trởnên cần thiết và đóng vai trò quan trọng trong đời sống hàng ngày Nhiều công việc cómức độ ảnh hưởng lớn được thực hiện bởi phần mềm như điều khiển đèn giao thông,giao dịch ngân hàng, điều khiển các thiết bị y tế Những phần mềm thực hiện cáccông việc đó phải đảm bảo có độ tin cậy rất cao và không được phép xuất hiện lỗi.Thực tế cho thấy nếu có một lỗi nhỏ cũng dấn tới việc phá huỷ toàn bộ hệ thống.Như sự kiện ngày 28/6/1962: Tàu thăm dò vũ trụ Mariner I - con tàu có sứ mệnh bayđến sao Kim nhưng đã bị phá hủy 293 giây sau khi phóng do bay chệch hướng so với
dự kiến ban đầu Những cuộc điều tra sau đó đã khám phá ra rằng một công thức đượcviết trên giấy bằng bút chì đã không được chuyển đổi sang mã điện toán, khiến hệthống máy tính tính toán sai đường đi của tên lửa
Vì vậy, sự ra đời của kiểm chứng mô hình là cực kì quan trọng, kiểm chứng môhình cho phép khẳng định được phần mềm hoàn toàn không còn lỗi và thực hiện đượcđúng các chức năng đã đặt ra Ngoài ra, kiểm chứng còn có ý nghĩa quan trọng trongquy trình phát triển phần mềm Kiểm chứng mô hình cho phép tìm ra được các lỗingay từ giai đoạn thiết kế của quy trình phát triển Điều này có vai trò rất quan trọng vìcác lỗi từ giai đoạn thiết kế nếu tìm ra muộn có thể gây thiệt hại rất lớn so với các lỗicủa giai đoạn sau
Hiệu suất của việc kiểm định thường phụ thuộc vào không gian trạng thái của hệthống Các hệ thống MC gần đây có thể xử lý các không gian trạng thái lên đến từ 108đến 1010 phần tử Do vậy MC không được dùng cho các hệ thống có số trạng thái vôhạn, cũng vì lý do giới hạn của bộ nhớ và số nhân xử lý của hệ thống máy tính Chính
vì thế vấn đề lớn nhất của Model Checking vẫn là bùng nổ tổ hợp không gian trạngthái của hệ thống Không gian trạng thái phát sinh trong chương trình thường
Trang 15tăng theo hàm số mũ so với số dòng lệnh và phụ thuộc vào: biến, kích thước của biếntính theo số bit, và cấu trúc của chương trình.
1.2.3 Kiểm chứng mô hình với hệ thời gian thực
Với đặc trưng hệ thống thời gian thực là tính đúng đắn của hệ thống phụ thuộcvào thời gian Thời gian t chúng ta xét trên tập số thực R+ Mỗi trạng thái của hệ thốngkhông chỉ là trạng thái bình thường mà còn gắn kèm với đại lượng thời gian Như vậykhông gian trạng thái của hệ thời gian thực là rất rộng Vấn đề của bài toán đặt ra khikiểm chứng mô hình trên thời gian thực là sự phức tạp về thời gian và không giantrạng thái phát sinh
Kiểm chứng mô hình cần rút gọn không gian trạng thái đưa về các lớp tươngđương dựa trên kĩ thuật phân vùng, miền Trên cơ sở đó đưa ra thuật toán để kiểm tratính đúng đắn của hệ thống
1.2.4 Kiểm chứng mô hình với công thức khoảng
Ở mục này ta làm rõ yếu tố thời gian trong quá trình hoạt động của hệ thống Khi
hệ thống xuất hiện ở các trạng thái thì thời điểm xuất hiện là lúc nào, xuất hiện bao lâu,phải thoả mãn ràng buộc là gì?
Hệ thống xuất hiện ở trạng thái s tại một thời điểm thì ta gọi đây là tính chất thờiđiểm Còn tổng thời gian mà hệ thống ở các trạng thái được xem xét thì được gọi làtính chất thời khoảng Yếu tố rằng buộc thể hiện khi hệ thống xuất hiện ở các trạngthái này phải thoả mãn điều kiện hạn chế thời gian: bị chặn trong khoảng nào đó Vàbài toán đặt ra là liệu với điều kiện cho trước đó hệ thống có đảm bảo tính đúng đắnhay không
Để chứng minh được sự thoả mãn hay không của hệ thống với các yêu cầu thờigian được đặt ra đã có rất nhiều thuật toán của nhiều nhà nghiên cứu khoa học nhưng
độ phức tạp còn rất cao Từ những năm 1991 bài nghiên cứu đầu tiên về hệ logic mới logic khoảng (Duration Calculus – DC), theo đó các công trình nghiên cứu dựa trên hệlogic này ra đời đã chứng minh được hệ có thể đặc tả bài toán có tính chất thời khoảng
-và tính quyết định được một số lớp công thức trong logic khoảng
Nhưng vấn đề với các bài toán trong hệ thời gian thực vẫn là bùng nổ về khônggian trạng thái, khoảng thời gian được xét là bất kì nên tính quyết định được của lớpcông thức logic khoảng vẫn là rất thấp Các kết quả đạt được dựa trên hệ logic nàyphải kể đến Zhou ChaoChen (1991) [7] giới thiệu về DC, và hạn chế của lớp các ràngbuộc tuyến tính Và đến năm 2005 trong luận án của Phạm Hồng Thái đã xây dựng vàchứng minh phương pháp kiểm chứng tính đúng đắn của hệ thời gian thực đối với lớpcông thức bất biến khoảng tuyến tính bằng thuật toán Với tư tưởng dựa trên tính rờirạc hoá được, là tính chất đặc thù của một số công thức mà nó cho phép việc kiểmchứng chúng trên tập thời gian nguyên là cho cùng kết quả như tập thời gian thực Như
Trang 166vậy có thể kiểm chứng các công thức rời rạc hoá được bằng kĩ thuật duyệt đồ thị đạtđược nguyên mà kích thước của nó bé hơn rất nhiều so với đồ thị đạt được tổng quát.Dựa trên kết quả này, luận văn đã trình bày cách cải tiến cách xây dựng đồ thị trọng sốphục vụ kiểm chứng lớp công thức LDI sẽ được trình bày ở chương 3 của luận văn.
1.3 ÔTÔMAT THỜI GIAN
1.3.1 Thể hiện đồng hồ và phân vùng đồng hồ
Sử dụng X là tập thời gian với các đại lượng x X là các biến thời gian x Xthường được lấy trên tập thời gian thực Tại một thời điểm x nhận một giá trị cụ thểđếm lượng thời gian trôi qua của một hành động hay trạng thái trong hệ thống, và đạilượng này có thể được đặt lại giá trị 0 sau mỗi hành động hay trạng thái đó
V được gọi là một thể hiện đồng hồ v: X Time Giá trị của đồng hồ x được kíhiệu v(x)
Định nghĩa: cho tập X biến đồng hồ lấy giá trị thực tên tập R + Một bộ V bất kỳ các giá trị đồng hồ được gọi là thể hiện đồng hồ, giá trị x trong bộ v được kí hiệu bởi v(x).
Cho δ R+ là một số thực không âm và R là tập con các đồng hồ của X Khi
đó v+ kí hiệu cho thể hiện gán mỗi đồng hồ x tới giá trị v(x)+
v[ :=0] là một thể hiện nhận được từ v bằng cách gán 0 cho mỗi x
Ví dụ: V={x1, x2, x3} ={ x2, x3} v[ :=0] = (x1, 0, 0)
Một rằng buộc thời gian là một công thức được cho theo cú
: x c c x x y c c x y ở đây x, y X và c N
Một thể hiện v được gọi là thỏa ràng buộc nếu thay mọi biến x trong
v(x) ta nhận được một công thức đúng ta kí hiệu v= và ngược lại |
pháp
bởi
Kí hiệu (X) là tập các ràng buộc đồng hồ trên X thuộc tập số thực R+, Kiểm tratính thoả mãn của toàn bộ hệ thống trên các thể hiện của tập đồng hồ là rất khó vì tậpthể hiện các đồng hồ là rất lớn Vì vậy cần rút gọn các thể hiện bằng cách phân thànhcác vùng đồng hồ
Theo [1][3] Alur và Dill đề xuất kĩ thuật phân vùng thành các vùng đồng hồ bởiquan hệ tương đương trên tập các minh họa hướng tới như sau
Cho (X), gọi cx là số nguyên c lớn nhất xuất hiện trong các ràng buộc
của đồng hồ x trong Kí hiệu t và fr(t) lần lượt là phần nguyên và phần thập
phân của số thực t Hai thể hiện và ' được gọi là tương đương và được kí hiệu '
nếu:
x X, hoặc (x) = ' (x) hoặc cả hai cùng lớn hơn cx ,
Trang 17 x, y X và (x) cx, (y) cy thì fr((x)) fr((y)) khi và chỉ
khi fr('(x)) fr('(y)) ,
x X và (x) cx thì fr( (x)) = 0 khi và chỉ khi fr('(x)) = 0.
Quan hệ phân hoạch tập các minh họa đồng hồ thành các lớp tương đương
gọi là vùng đồng hồ (clock regions).
Ví dụ xét tập đồng hồ {x,y} cx= 1,cy= 2 vùng đồng hồ được biểu diễn qua hình1- 2
Các tính chất đã được chứng minh trong [3]
1.3.2 Khái niệm ôtômat thời gian
Ôtômat thời gian được rất nhiều các tác giả nghiên cứu và đề cập đến [1][10].Ôtômat được hiểu như là công cụ đặc tả hệ thống Từ sự đặc tả này kết hợp với cáctính chất của hệ thống sau đó chứng minh hệ thống có thỏa yêu cầu đặt ra hay không
Ôtômat thời gian là một bộ A = <S, s0, , X, I, E>, trong đó
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 nhãn.
X là tập hữu hạn các đồng hồ.
Trang 18 , X) cho phép ôtômat chuyển vị trí từ s tới s' với nhãn a nếu điều kiện
được thoả mãn Khi phép chuyển e được thực hiện các đồng hồ trong
khởi tạo lại giá trị về 0
Ta gọi (s, ) là một trạng thái (của ôtômat thời gian A) nếu s là một vị trí và là
một minh họa đồng hồ bất kỳ sao cho ⊨ I(s), khi đó phép chuyển trạng thái củaôtômat [10] sẽ thuộc 1 trong 2 dạng sau:
Hai phép chuyển xảy ra liên tiếp: q q'', tức (s, )
hệ thống nằm tại s với thể hiện , thời gian trôi một khoảng từ 0 đến
điểm này nếu thể hiện đồng hồ + thoả ràng buộc của phép chuyển vị trí thì hệ
chuyển đến s' và một số giá trị trong + được đặt về 0, + chuyển thành ' thỏa
I(s').
Hình 1-3: Một ví dụ về ôtômat thời gian
Ví dụ: Ôtômat thời gian A trong hình 1-3 có hai đồng hồ x và y.
Tập hợp các vị trí là {s 1 , s 2}
Bất biến 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}, s 2 >, <s 2 , x >6 y>4, b, {x},
Trang 19Mô tả cách dịch chuyển các trạng thái từng thành phần của TRAIN, GATE như sau:
Mô tả mô hình TRAIN (tàu):
C:tàu đang băng qua chỗ giao nhau
P: tàu đã vượt qua cổng chắn
Tại vị trí ban đầu tàu đang ở vùng an toàn A, với hành động để thời gian trôi quatrong lúc tàu chưa đi vào tới cổng Khi tàu đi vào vị trí B tiếp cận cổng chắn, đồng hồthời gian được reset = 0 Giả sử mất khoảng thời gian a tối thiểu tàu qua chỗ giao nhautức chuyển từ trạng thái B sang trạng thái C Khi đó tàu vượt qua chỗ giao tức là nóchuyển đến P Nhưng do khoảng cách an toàn giữa các tàu thì tàu mới sẽ đến sau ítnhất b thời gian Tức là tàu ở trạng thái P ít nhất b thời gian
Trang 20Mô tả bài toán:
Trang 21+ X là tập đồng hồ X = y
+ I(s) :S→( y)chỉ định bất biến cho các trạng thái
+ E với ràng buộc đồng hồ phải reset về 0 các phép chuyển e1 = <U, (true), a, {y}, MD>
e2 = <MD, (y≤1), e, {y}, Dn>
e3 = <Dn, (true), c, {y}, MU>
e4 = <MU, (true), f, {y}, U>
e5 = <MU, (true), a, {y}, MD>
Hoạt động của toàn hệ thống được mô tả như sau:
Khi tàu ở trạng thái A, cổng cũng ở trạng thái U
Khi tàu tiến vào vùng cảnh báo chuyển sang B thì cổng ở đang mở (U) hay đang nhấc lên (MU) thì cũng hạ xuống chuyển trạng thái MD
Khi tàu băng qua đoạn giao nhau tức đang chuyển sang trạng thái C và khi vượt qua đoạn giao nhau tức chuyển sang P thì cổng nhấc lên
Tàu ở B ít nhất a đơn vị thời gian và ở P ít nhất b đơn vị thời gian Ta cũng giả thiết cổng mất ít nhất c đơn vị thời gian để hạ xuống (MD)
Như vậy hệ thống an toàn khi c a.
1.2.3 Đường chạy và dáng điệu của ôtômat thời gian
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
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 cặp vị trí - thời gian : (s0, t0), (s1, t1), , (sm, tm) với t0 = 0 và i = ti ti-1, i 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 đó
Ví dụ: Xét hệ chắn tàu với 2 thành phần hình 1-5 và hình 1-4 đã được mô tả Ta
có thể hình dung việc chuyển trạng thái liên tiếp tạo thành dáng điệu song song của hệ:
Trang 22Hình 1-6: Dáng điệu của hệ chắn
tàu 1.3.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à hai ôtômat thời gian
Hợp song song của A1, A2 (ký hiệu bởi A1 || A2) là ôtômat tích của A1, A2 hoạt
động đồng bộ theo các phép chuyển Điều này có nghĩa bất kỳ phép chuyển nhãn a của
A1 hoặc A2 cũng là phép chuyển của A.
Trang 23thống 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ự.
Xét hai ôtômat được mô tả trong hình 1-4, 1-5 là hai ôtômat song song:
Phép chuyển A đến B đồng bộ hóa với phép chuyển từ M tới MD, hoặc từ MD tới MU Phép chuyển từ C tới P đồng bộ hóa với phép chuyển Dn tới MU
1.4.1 Mô hình trong lôgic khoảng
Lôgic khoảng (duration calculus - DC) được xây dựng và phát triển bởi ZhouChaochen [7] và các đồng sự như một lôgic để lý giải và tính toán về thời gian xuất
hiện của các trạng thái trong các hệ thời gian thực Trong DC, mỗi trạng thái s của hệ
thống được xem như một hàm bool theo thời gian [7][5]
s: TIME ↦ {0, 1}
Trong đó: s(t) 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
Việc thiết lập các mô hình DC tương ứng với tất cả các hành vi của mạng lưới
theo thời gian ôtômat A [7]: (s0, t0), (s1, t1),… trong đó s0, s1, …S là các trạng thái
của hệ ôtômat A ta gọi tập bất kỳ các hàm bool I
= {sI (t) | s S} là một thể hiện của
hệ thống
Một mô hình của DC là bộ (I, [b, e]) biểu diễn một quan sát dáng điệu
Trang 2414của hệ thống Nó bao gồm một thể hiện I
và đoạn thời gian quan sát [b, e] (b, e
R+
của tr
, 0 b e < ) Với , tổng khoảng thời gian (time duration) xuất hiện
ạng thái s có thể được tính bởi:
ds e sI(
t
)dt
b
Kí hiệu s = ds là toán tử phân biệt sự khác nhau về bản chất của lôgic
khoảng với các lôgic thời gian khác Kí hiệu được dùng để chỉ độ dài của đoạn quan
sát, tức = e b.
Một tập mô hình DC bất kỳ xác định một hệ thời gian thực S nào đó và ngượclại Tập mô hình xác định hệ thời gian thực S được kí hiệu bởi M(S), chẳng hạn một
ôtômat thời gian A bất kỳ cũng tương ứng với tập mô hình M(A) nào đó.
Ví dụ: Xét hoạt động của một đèn điện có một nút bật tắt Nguyên tắc hoạt động theo hình vẽ
+ Ban đầu đèn tắt người dùng ấn vào nút một ấn thì đèn sáng mờ (dim)
+ Sau đó nếu người dùng ấn vào nút thêm một ấn nữa thì đèn sáng hẳn lên (bright), nếu người dùng ấn vào nút 2 ấn liên tiếp thì đèn tắt (off)
+ Khi đèn đang ở chế độ sáng (bright) người dùng chỉ cần ấn vào nút một lần thì đèn sẽ tắt
Hệ thống được coi là sáng bình thường nếu tỉ lệ sáng mờ không quá 1/10 của đoạn thời gian quan sát bất kì lớn hơn hoặc bằng 20 giây
Quyết định 1: Nếu người dùng ấn nút thời gian < 2 giây thì đèn sáng
Quyết định 2: Nếu người dùng nhấn quá 2 giây đèn sẽ tắt
Xây dựng hệ thống để thiết kế được cài đặt trong đèn nhận biết khi nào sáng mờ,
Trang 25sáng hẳn, khi nào tắt Vấn đề đặt ra là cần kiểm chứng bài toán “Nếu hệ thống theo quyết định 1 thì sáng mờ, quyết định 2 là sáng”.
Đặc tả các quyết định thiết kế, yêu cầu kiểm tra bằng các công thức của DC.Des1, Des2 sau đó dùng các tiên đề, định lí của DC để chứng minh
Hệ thống có 2 trạng thái chính là dim và bright Trong DC với mô hình (I
, [b,e])
ta có:
Quyết định 1 – Des 1: b’, e’: b b’ e’ < e e’ – b’<2
Quyết định 2 - Des 2 b’ e’: b b’ e’ < e e
Dim(b’) ( t, b’ t
Yêu cầu của hệ thống:
Thoả mãn khi ℓ 20
Từ đó mô tả yêu cầu: 20 ≤ e- b dim
1.4.2 Công thức khoảng và bài toán kiểm chứng mô hình
Một công thức viết trong DC được gọi là công thức khoả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ế Dướiđây là xét lớp công thức khoảng cơ bản được quan tâm bởi nhiều tác giả [1][9] và luậnvăn quan tâm giải quyết vấn đề kiểm chứng chứng đối với ôtômat thời gian
Cho A = <S, s0, , X, E, I> là một ôtômat thời gian
Một bất biến khoảng tuyến tính (Linear Duration Invariant - LDI) trên S là một tính chất được biểu diễn bởi một công thức D trong DC có dạng:
trí si, là độ dài của khoảng thời
Các công thức trên mô tả lớp các 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ứcLDI dạng ℓ 0 s 0 Hoặc tính cân bằng tương đối (relative
Trang 26fairness) của 2 tiến trình p1 và p2 có thể được mô tả bởi hai công thức LDI:
Trang 27Định nghĩa [1]: 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) Khi đó:
Mô hình = (I, [b, e]) M(S)được gọi là thoả D (kí hiệu
⊨ 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.
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)
Như vậy chúng ta có thể đưa bài toán từ hệ thống thời gian thực có thoả mãn yêu cầu đặt ra trở thành liệu hệ A có thoả mãn công thức khoảng hay không
?
Trang 28CHƯƠNG 2: THUẬT TOÁN KIỂM CHỨNG MÔ HÌNH
Kiểm chứng mô hình là việc duyệt trên không gian các trạng thái của hệ thống đểkiểm tra có phù hợp với công thức đặt ra hay không Hầu hết các không gian ta xét thì
số lượng các trạng thái là rất lớn Vì vậy yêu cầu là cần rút gọn không gian trạng thái
để giảm độ phức tạp của thuật toán, mà các tính chất kiểm chứng vẫn đảm bảo Trongchương này luận văn đề cập đến thuật toán kiểm chứng mô hình bằng phương phápduyệt đồ thị: sử dụng đồ thị vùng để biểu diễn ôtômat thời gian [3] (region automata),tiếp đến là ghép các vùng thành miền (zone) chuyển thành đồ thị miền – zone graph sốlượng trạng thái giảm đáng kể
2.1 ĐỒ THỊ VÙNG ĐẠT ĐƯỢC
2.1.1 Đồ thị vùng Ôtômat
Đây là bước đầu tiên quan trọng trong quy trình để xây dựng một bảng chuyển cóthể diễn tả toàn bộ bước chuyển của Ôtômat [3] Ở đây ta gọi là RA – regionautotmata, trong đó mỗi phần tử của RA là một bộ gồm trạng thái và vùng đồng hồ xácđịnh (s,
Một thể hiện của RA là (s, v), trạng thái bắt đầu (s0, v0) với v0 được đặt bằng 0.Nếu có một phép chuyển (s,
chuyển tương ứng (s,v) v
Định nghĩa 2.1 Một vùng đồng hồ ' được gọi là vùng đồng hồ đạt được (time
successor [3]) của
Ví dụ: Xét vùng đồng hồ xác định ở hình 1-1 với vùng [(1 < x < 2), (0 < y < x-1)]thì vùng đạt được là: [(x = 2), (0 < y <1)], [(x > 2), (0 < y <1)], [(x > 2), (y = 1)]
Định nghĩa 2.2: Cho A = <S, s0, , X, I, E>, R(A): Region Automat A là đồ thị
Trang 29là tồn tại một cạnh trong RG từ đỉnh v1 đến v2 và ngược lại.
Trang 30Như vậy kiểm chứng tính đạt được hệ A có thoả mãn các tính chất thời khoảng
hay không thành kiểm chứng tính đạt được của đồ thị RG.
Hình 2-1: Ôtômat thời gian A
Dựa vào kĩ thuật phân vùng [3], và cách xây dựng đồ thị vùng [6] Ta thiết lập xây dựng đồ thị vùng cho ôtômat thời gian A hình 2-1
Hình 2-2: Đồ thị phân vùng của ôtômat A
2.1.2 Đồ thị miền
Đồ thị vùng số lượng vùng rất nhiều, phức tạp, ta cần rút gọn không gian trạng thái của đồ thị vùng Dựa trên việc phân hoạch các đồ thị vùng thành đồ thị miền.Định nghĩa: miền là sự thoả mãn ràng buộc đồng hồ, có thể nói miền là tập lớn nhất vùng đồng hồ thoả mãn ràng buộc ghép lại với nhau [8]
Miền là giải pháp tập hợp các vùng đông hồ
+ Viết dưới dạng: x ≤ n | x < n | x n | x > n | x - y ≤ m | x – y < m
Trang 31+ Một miền là một vùng.
+ Một miền là một liên minh của các vùng lồi
+ Tất cả các bất biến và bảo vệ là vùng
Hình 2-3: Đồ thị phân miền của ôtômat A
Nhận xét: Với cùng một ôtômat thì đồ thị miền có số đỉnh ít hơn rất nhiều so với
đồ thị vùng tương ứng, tức là độ phức tạp của bài toán đồ thị miền theo đó cũng giảmtheo
2.1.3 Đồ thị đạt được nguyên
Kĩ thuật xây dựng đồ thị vùng nguyên được trình bày trong [1] rất chi tiết
trong luận văn xin tổng quát lại hướng xây dựng đồ thị nguyên:
Lấy Kx là hằng số lớn nhất trong các rằng buộc thời gian x X, K = max{Kx | x
X} Sử dụng các bổ đề, tính chất của lớp tương đương của vùng đồng hồ đã đượcchứng minh trong [1]
d,a
tại v’
(s’, [v’]) và ngược lại,thuộc ’ sao cho (s,v)
+ Một đỉnh v V là một vùng trạng thái <s, >, trong đó là s
được gọi là vị trí đặc trưng của v (và kí hiệu s v)
+ Vùng <s', '> được gọi là hậu duệ của <s, > nếu
N và e = <s, , a, , s'> sao cho (s, ) d,a (s', ').
vùng đồng hồ,
, ' ', d
+ Nếu <s, > V và <s', '> là hậu duệ của <s, > thì (<s, >, <s', '>) là một
cung trong E Mỗi cung e được gán nhãn là đoạn [l(e), u(e)], ở đây l(e) và u(e) biểu thị
thời gian tối thiểu và tối đa mà ôtômat có thể nằm lại tại vị trí s
Trang 32trước khi chuyển đến s'.
Một tính chất quan trọng của đồ thị vùng nguyên là mỗi đường chạy của ôtômat
sẽ tương ứng với một đường đi trong đồ thị sao cho tổng thời gian trên đường chạyluôn bị chặn bởi tổng các cận l và u trên đường đi này
Xuất phát từ đỉnh ban đầu <s0, 0>
bằng một thuật toán chi tiết được cho trong
V, ta có thể xây dựng hoàn toàn RG
bảng 2-1 của luận văn
Procedure Integral-Reachability-Graph; {input: ôtômat thời gian A }
Begin { output: đồ thị vùng đạt được nguyên RG = (V, E) }
V = {(so, )}; E =
while (true) do begin
if mọi đỉnh trong V đã được thăm then exit;
lấy v =(s, ) V là đỉnh chưa được thăm;
for với mỗi phép chuyển e =, ( , a , ,s') do
beginl(e) = d; u(e) = ;end;
Bảng 2-1: Thuật toán xây dựng đồ thị đạt được nguyên
Hình 2-4 dưới đây minh họa đồ thị vùng đạt được nguyên của ôtômat được
Trang 33cho trong hình 1-3 Trong đồ thị này, mọi cung đều có l = u nên nhãn của chúng chỉ
hồ tương ứng tại các thời điểm t i-1 , t i thì (s i-1 , i-1 )
ti-1
Khi đó s , t
siI(t) = 1 t
Như vậy xét ôtômat trong đoạn thời gian [b, e] (b e < ) sẽ là một mô
hình = (I, [b, e]) trong đó I là một thể hiện hệ thống biểu diễn dáng điệu
của ôtômat Ta có kí hiệu
Trang 34Trong đó: