Chương 4 KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH
4.5. Hướng cải tiến chương trình
Ý tưởng cải tiến, thực hiện xử lý song song để rút ngắn thời gian xử lý. Vì thuật toán kiểm chứng LDI hiện tại đang sử dụng 1 vòng lặp để duyệt tuần tự cho mọi đỉnh của đồ thị là đỉnh xuất phát cho thủ tục duyệt mọi đường đi. Chúng ta thấy rằng thủ tục duyệt mọi đường đi với mỗi đỉnh xuất phát là hoàn toàn độc lập với nhau, do đó thay vì chờ duyệt các đỉnh xuất phát một cách tuần tự lần lượt từng đỉnh một thì ta sẽ cho duyệt song song đồng thời với tất cả các đỉnh của đồ thị là đỉnh xuất phát. Sau khi duyệt xong ta sẽ tổng hợp kết quả và đưa ra kết luận.
Với hướng cải tiến này thì thời gian kiểm chứng sẽ bằng thời gian duyệt mọi đường đi xuất phát từ một đỉnh có thời gian lâu nhất. Tức là với đồ thị có n đỉnh thì thời gian giảm trung bình được n lần trong trường hợp thời gian của thủ tục duyệt
Phương án triển khai, với ý tưởng trên thì chúng tôi đưa ra hai phương án để tối ưu lại chương trình như sau:
Phương án 1: Sử dụng kĩ thuật gửi yêu cầu không đồng bộ về server bằng ajax. Với phương án này thì sau khi thực hiện xong bước chuyển ôtômat sang đồ thị trọng số phục vụ kiểm chứng LDI thì chúng ta sẽ không thực hiện kiểm chứng LDI ngay mà sẽ thực hiện:
1) Lưu đồ thị trọng số LDI vào file.
2) Gửi định danh (ID) các đỉnh của đồ thị lên client.
3) Sử dụng ajax để gửi n request không đồng bộ về server với mỗi request là 1 đỉnh (có thể gửi một số đỉnh) của đồ thị lấy làm đỉnh bắt đầu, sau đó đọc đồ thị trọng số trong file ra để thực hiện duyệt.
4) Sau khi thực hiện xong tất cả các request thì tổng hợp lại kết quả và đưa ra kết luận. Ta có thể xử lý để nếu 1 request nào đó không thỏa LDI thì có thể đưa ra kết luận luôn mà không cần chờ các đỉnh khác duyệt xong.
Phương án 2: Sử dụng kỹ thuật xử lý song song multi process được hỗ trợ trong các ngôn ngữ lập trình, trong PHP có hỗ trợ thư viện URL để làm công việc này. Theo phương án này ta chia công việc kiểm chứng ra thành n công việc nhỏ, mỗi công việc
sẽ thực hiện thủ tục duyệt traverse(vstart), sau khi xử lý xong toàn bộ n công việc thì
KẾT LUẬN
Với đề tài “Phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực”
luận văn này tập trung vào việc tìm hiểu các phương pháp đặc tả, các kỹ thuật để kiểm tra tính đúng đắn của hệ thống thời gian thực, trên cơ sở đó phân tích, thiết kế và cài đặt hệ chương trình kiểm chứng. Qua quá trình nghiên cứu luận văn đạt được một số kết quả nghiên cứu chính thể hiện trên những mặt sau:
1. Kết quả đạt được
– Luận văn đã trình bày tổng quan về hệ thời gian thực (gồm các khái niệm, phân loại, các đặc điểm của hệ thời gian thực) và kiến thức tổng quan về kiểm chứng mô hình.
– Luận văn đã trình bày các phương pháp đặc tả một hệ thời gian thực, trong đó tìm hiểu đầy đủ về phương pháp đặc tả hệ thống bằng ôtômat và đặc tả các tính chất mong muốn của hệ thống bằng công thức LDI.
– Luận văn đã trình bày các kĩ thuật kiểm chứng mô hình, bao gồm kĩ thuật phân vùng (region), miền (zone) và kĩ thuật rời rạc hóa.
– Luận văn đã tìm hiểu đầy đủ về các thuật toán phục vụ viết bộ công cụ kiểm chứng mô hình, bao gồm các thuật toán chuyển ôtômat sang đồ thị vùng đạt được nguyên, tạo đồ thị trọng số phục vụ kiểm chứng LDI từ đồ thị vùng đạt được nguyên và thuật toán duyệt đồ thị trọng số LDI để kiểm chứng công thức LDI. Luận văn cũng đưa được ra thuật toán tạo ôtômat song song từ một hệ các ôtômat thành phần.
– Cuối cùng luận văn đã xây dựng được bộ công cụ để thực hiện kiểm chứng mô hình của hệ thống được đặc tả bằng ôtômat thời gian và các tính chất mong muốn của hệ thống đặc tả bằng công thức LDI. Bộ công cụ đã áp dụng được cho hệ thống bếp ga và công thức LDI ở dạng tổng quát.
2. Hướng nghiên cứu phát triển
Kiểm chứng mô hình đối với hệ thời gian thực là một lĩnh vực khó và phức tạp đòi hỏi phải có nhiều thời gian và bỏ ra nhiều công sức mới có thể tìm hiểu sâu sắc về nó, nên ngoài những kết quả đã đạt được ở trên thì trong thời gian tới luận văn có thể tiếp tục hoàn thiện và nghiên cứu để giải quyết các vấn đề còn tồn tại sau:
– Thuật toán kiểm chứng LDI đang có độ phức tạp hàm mũ nên khi số lượng trạng thái tăng lên chương trình chạy rất chậm. Do vậy, cần nghiên cứu để cải tiến làm giảm độ phức tạp xuống hoặc tìm hiểu thêm các kĩ thuật mới.
– Xây dựng bộ công cụ hoàn chỉnh để kiểm chứng cho LDP, LDI. Hiện tại bộ công cụ đang được xây dựng trên nền web và các chức năng cũng chưa đầy đủ.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Hoàng Minh Sơn (2006), Hệ Thời gian thực và điều khiển thời gian thực, Tạp chí
TĐHNN (tạp chí điện tử).
[2] Phạm Hồng Thái (2005), Kiểm chứng tính chất thời gian thực bằng thuật toán,
Luận án Tiến sỹ, Hà Nội. Tiếng Anh
[3] R. Alur and D.L. Dill (1994), "A Theory of Timed Automata", Theoretical
Computer Science, pp. 183-235.
[4] Rajeev Alur (1999), "Timed Automata", Proceedings of 11th International
Conference on Computer-Aided Verification, LNCS 1633, pp. 1-22, Springer-
Verlag.
[5] Changil Choe1, Dang Van Hung2, and Song Han3, 1,3Faculty of Mathematics, Kim Il Sung University, D.P.R.K, 2Faculty of Information Technology, Vietnam
National University, Vietnam (2012), Towards Approximate Model Checking DC and PDC Specifications, pp. 3-4.
[6] Jame W.S.Liu (2000), Real time system, Prentice Hall.
[7] Z. Chaochen, C. Hoare, and A. Ravn (1991). A Calculus of Duration.
Information Processing Letters, 5(40): 269-276.
[8] Johan Bengtsson and Wang Yi (2004), Timed Automata: Semantics, Algorthms and Tools, Uppsala University, Box 337, 751 05 Uppsala.