Một số phương pháp mô hình hoá và kiểm chứng hình thức cho các hệ thống thời gia
Tài liệu: Một số phương pháp mô hình hoá và kiểm chứng hình thức cho các hệ thống thời gian thực hướng thành phần luận án ts máy tính 94801. Tải miễn phí tại Ta
Năm xuất bản
Số trang
181
Thời gian đọc
28 phút
Lượt xem
0
Lượt tải
0
Phí lưu trữ
50 Point
Tổng quan nhanh
- Chủ đề:
- Mô hình hoá hệ thống C thời gian thực hiệu quả
- Số trang:
- 181 trang
- Trường:
- Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
- Chuyên ngành:
- Kỹ thuật phần mềm
- Tác giả:
- Nguyễn Trành Đông
- Năm:
- 2018
Tóm tắt nội dung luận án
I.Mô hình hoá hệ thống C thời gian thực hiệu quả
Luận án này trình bày các phương pháp mô hình hóa tiên tiến. Mục tiêu là mô tả chính xác hành vi của các hệ thống thời gian thực phức tạp. Các hệ thống này thường được triển khai bằng ngôn ngữ lập trình C. Phương pháp tập trung vào cách biểu diễn các thành phần phần mềm. Việc này giúp nắm bắt các ràng buộc thời gian nghiêm ngặt. Mô hình hóa phần mềm là bước thiết yếu. Nó đảm bảo tính đúng đắn trước khi triển khai. Các kỹ thuật bao gồm việc sử dụng các mô hình toán học. Chúng biểu diễn các trạng thái và chuyển đổi của hệ thống. Quá trình này giúp phát hiện lỗi sớm. Nó cũng nâng cao chất lượng tổng thể của thiết kế hệ thống. Đặc biệt, luận án đề xuất các cách tiếp cận mới cho mô hình hóa. Các phương pháp này hỗ trợ tốt hơn cho việc phân tích tĩnh C. Chúng còn giúp xác minh phần mềm hiệu quả hơn. Mục đích cuối cùng là xây dựng kiến trúc phần mềm mạnh mẽ. Các kiến trúc này cần đáp ứng yêu cầu của các ứng dụng thời gian thực quan trọng. Các phương pháp mô hình hóa này cũng đặt nền tảng cho kiểm tra mô hình. Sau đó là chứng minh tự động các thuộc tính quan trọng. Sự kết hợp này mang lại độ tin cậy cao cho các hệ thống phần mềm C.
1.1. Phát triển phần mềm dựa trên thành phần C
Phát triển phần mềm dựa trên thành phần là một chiến lược quan trọng. Nó giúp xây dựng các hệ thống thời gian thực phức tạp. Cách tiếp cận này thúc đẩy tái sử dụng mã nguồn C. Nó cũng giúp giảm thiểu chi phí phát triển. Các thành phần được thiết kế như các khối chức năng độc lập. Chúng có thể được tích hợp dễ dàng vào các hệ thống lớn hơn. Việc này yêu cầu một kiến trúc phần mềm rõ ràng. Kiến trúc đó xác định cách các thành phần tương tác. Các phương pháp mô hình hoá phần mềm hỗ trợ quá trình này. Chúng giúp định nghĩa giao diện và hành vi của từng thành phần. Điều này rất quan trọng để đảm bảo tính đúng đắn khi ghép nối các thành phần. Đặc biệt đối với các hệ thống C có ràng buộc thời gian nghiêm ngặt. Việc phát triển dựa trên thành phần cũng giúp quản lý sự phức tạp. Nó cho phép các nhóm phát triển tập trung vào các phần cụ thể. Cuối cùng, nó góp phần vào việc tạo ra các thiết kế hệ thống đáng tin cậy. Các thiết kế này có thể dễ dàng kiểm chứng hình thức hơn.
1.2. Các phương pháp mô hình hóa hệ thống thời gian thực
Luận án khám phá nhiều phương pháp mô hình hóa cho hệ thống thời gian thực. Các phương pháp này bao gồm ôtômát thời gian, ôtômát trọng số và ôtômát khoảng. Ôtômát thời gian giúp biểu diễn các trạng thái. Chúng cũng quản lý các ràng buộc thời gian trong hệ thống. Ôtômát trọng số mở rộng khả năng này. Nó thêm vào các trọng số hoặc chi phí cho các chuyển đổi. Điều này hữu ích cho việc phân tích hiệu suất. Ôtômát khoảng lại tập trung vào các khoảng thời gian. Chúng định nghĩa các khoảng hợp lệ cho các sự kiện. Các công cụ này cung cấp nền tảng toán học vững chắc. Chúng cho phép đặc tả chính xác hành vi hệ thống. Việc này rất cần thiết cho việc kiểm chứng hình thức sau này. Các phương pháp này hỗ trợ phân tích tĩnh C. Chúng giúp xác định các vấn đề tiềm ẩn. Chúng còn đảm bảo các thuộc tính quan trọng của hệ thống. Mô hình hoá phần mềm theo cách này là bước đầu tiên. Nó hướng tới việc xây dựng các hệ thống C đáng tin cậy. Mục tiêu là giảm thiểu lỗi và nâng cao chất lượng phần mềm.
1.3. Đặc tả và mô hình hóa hệ thống phức tạp
Đặc tả và mô hình hóa hệ thống phức tạp là một thách thức lớn. Đặc biệt là với các hệ thống thời gian thực. Luận án đề xuất một cách tiếp cận toàn diện. Cách tiếp cận này giúp mô tả cấu trúc và hành vi. Nó còn bao gồm các tương tác giữa các thành phần. Việc đặc tả cần rõ ràng và không mơ hồ. Điều này rất quan trọng cho việc kiểm chứng hình thức. Các mô hình hóa phần mềm được sử dụng để chuyển các đặc tả này thành dạng toán học. Điều này cho phép áp dụng các kỹ thuật phân tích mạnh mẽ. Mục tiêu là phát hiện sớm các lỗi thiết kế. Nó cũng giúp đảm bảo hệ thống đáp ứng yêu cầu. Quá trình này bao gồm việc định nghĩa các thuộc tính hệ thống. Sau đó, nó sử dụng các công cụ kiểm tra mô hình. Nó còn sử dụng chứng minh tự động để xác minh các thuộc tính này. Phương pháp này đặc biệt hiệu quả cho các hệ thống C nhúng. Các hệ thống này yêu cầu độ tin cậy cao. Nó cũng góp phần vào việc thiết kế hệ thống tối ưu.
II.Kiểm chứng hình thức phần mềm C phức tạp
Kiểm chứng hình thức đóng vai trò cực kỳ quan trọng. Nó đảm bảo tính đúng đắn của phần mềm C phức tạp. Đặc biệt đối với các hệ thống thời gian thực. Các lỗi trong hệ thống này có thể gây ra hậu quả nghiêm trọng. Luận án trình bày các kỹ thuật kiểm chứng hình thức tiên tiến. Các kỹ thuật này nhằm xác minh các thuộc tính an toàn và tính sống. Chúng được áp dụng trực tiếp cho các mô hình của hệ thống. Kiểm tra mô hình là một công cụ mạnh mẽ. Nó khám phá tất cả các trạng thái có thể của hệ thống. Sau đó, nó tìm kiếm các vi phạm thuộc tính. Chứng minh tự động cũng được sử dụng. Nó cung cấp các bằng chứng toán học về tính đúng đắn. Các phương pháp này giúp phát hiện các lỗi khó tìm. Những lỗi này thường không thể tìm thấy bằng kiểm thử thông thường. Mục tiêu là xây dựng phần mềm C đáng tin cậy. Việc này giảm thiểu rủi ro và tăng cường độ tin cậy. Quy trình kiểm chứng hình thức là một phần không thể thiếu. Nó nằm trong quy trình phát triển và thiết kế hệ thống.
2.1. Bài toán kiểm chứng hệ thống thời gian thực
Bài toán kiểm chứng hệ thống thời gian thực rất thách challenging. Các ràng buộc thời gian làm tăng đáng kể sự phức tạp. Hệ thống phải phản ứng trong một khoảng thời gian nhất định. Nếu không, các lỗi có thể xảy ra. Luận án giải quyết các bài toán kiểm tra tính rỗng. Nó cũng đề cập đến các vấn đề liên quan đến vùng thời gian. Việc kiểm tra mô hình (Model checking) được áp dụng. Nó giúp xác định liệu một thuộc tính có bị vi phạm không. Các kỹ thuật này thường yêu cầu biểu diễn chính xác hệ thống. Việc này được thực hiện thông qua mô hình hoá phần mềm. Mục tiêu là tìm ra các kịch bản lỗi. Những kịch bản này có thể dẫn đến hành vi không mong muốn. Phân tích mã nguồn C có thể cung cấp thông tin. Nó hỗ trợ quá trình kiểm chứng. Xác minh phần mềm đảm bảo hệ thống hoạt động như mong đợi. Đặc biệt là trong các điều kiện tải cao và thời gian thực. Điều này giúp nâng cao độ tin cậy của thiết kế hệ thống.
2.2. Kiểm tra tính cảm ứng và tuân thủ thủ tục
Kiểm tra tính cảm ứng là một khía cạnh quan trọng. Nó đảm bảo các thuộc tính hệ thống được duy trì. Các thuộc tính này cần được duy trì theo thời gian. Luận án giới thiệu thuật toán kiểm chứng tính cảm ứng. Nó được thiết kế cho các thủ tục tương tác có ràng buộc thời gian. Sự tuân thủ thủ tục cũng là một mối quan tâm lớn. Nó đảm bảo các thành phần phần mềm tuân theo các quy tắc tương tác đã định. Việc mô hình hoá phần mềm giúp định nghĩa rõ ràng các thủ tục này. Sau đó, các kỹ thuật kiểm chứng hình thức xác minh sự tuân thủ. Các hệ thống thời gian thực hướng thành phần cần tuân thủ nghiêm ngặt. Điều này là để tránh các lỗi đồng bộ hóa. Nó cũng giúp ngăn chặn các vấn đề về tài nguyên. Phân tích tĩnh C có thể hỗ trợ việc này. Nó giúp kiểm tra các mẫu mã nguồn. Mục đích là để tìm các vi phạm quy tắc. Mục tiêu cuối cùng là xây dựng các hệ thống an toàn và đáng tin cậy.
2.3. Sử dụng hợp đồng thời gian thực để xác minh
Hợp đồng thời gian thực cung cấp một cơ chế mạnh mẽ. Nó dùng để đặc tả và kiểm chứng hành vi. Đặc biệt là hành vi của các thành phần phần mềm C. Hợp đồng định nghĩa các ràng buộc về thời gian. Nó cũng bao gồm các điều kiện về tài nguyên. Các ràng buộc này phải được tuân thủ. Điều này là trong quá trình tương tác giữa các thành phần. Luận án khám phá việc sử dụng hợp đồng thời gian-tài nguyên. Nó giúp đảm bảo các thuộc tính hệ thống. Việc ghép hợp đồng cho phép xây dựng các hệ thống lớn. Các hệ thống này vẫn duy trì tính đúng đắn của từng phần. Kiểm tra mô hình và chứng minh tự động được áp dụng. Chúng xác minh sự tuân thủ các hợp đồng này. Điều này giúp phát hiện các vi phạm sớm. Nó cũng nâng cao chất lượng thiết kế hệ thống. Phân tích tĩnh C có thể được tích hợp. Nó giúp kiểm tra mã nguồn C dựa trên các ràng buộc hợp đồng. Mục tiêu là xây dựng các hệ thống đáng tin cậy. Các hệ thống này đáp ứng được các yêu cầu khắt khe của ứng dụng thời gian thực.
III.Phân tích mã nguồn C và xác minh hệ thống
Việc phân tích mã nguồn C đóng vai trò trung tâm. Nó giúp xác minh tính đúng đắn của các hệ thống thời gian thực. Đặc biệt là các hệ thống hướng thành phần. Luận án giới thiệu các phương pháp phân tích tĩnh C. Các phương pháp này được phát triển để kiểm tra các thuộc tính quan trọng. Nó cũng xác minh hành vi của các thành phần phần mềm. Mục tiêu là phát hiện các lỗi tiềm ẩn. Các lỗi này có thể dẫn đến hành vi không mong muốn. Phân tích mã nguồn C còn giúp đảm bảo sự tuân thủ. Nó tuân thủ các đặc tả và hợp đồng đã định. Quá trình này bao gồm việc ánh xạ mã nguồn C. Nó được ánh xạ sang các mô hình hình thức. Sau đó, các mô hình này được kiểm chứng. Điều này cho phép áp dụng các kỹ thuật kiểm tra mô hình. Nó cũng cho phép chứng minh tự động một cách hiệu quả. Việc xác minh phần mềm thông qua phân tích mã nguồn là cần thiết. Nó giúp xây dựng kiến trúc phần mềm mạnh mẽ. Kiến trúc này có khả năng chịu lỗi và đáng tin cậy. Điều này là đặc biệt quan trọng trong thiết kế hệ thống thời gian thực.
3.1. Mô hình thành phần phần mềm C thời gian thực
Mô hình thành phần phần mềm C thời gian thực là trọng tâm nghiên cứu. Nó cung cấp một cách tiếp cận cấu trúc. Cách tiếp cận này giúp quản lý sự phức tạp của hệ thống. Luận án đề xuất một mô hình cụ thể. Mô hình này phù hợp cho việc mô hình hóa các thành phần C. Nó còn dùng cho các hệ thống thời gian thực. Mô hình này định nghĩa rõ ràng các giao diện. Nó cũng xác định các tương tác giữa các thành phần. Việc mô hình hóa phần mềm này là nền tảng. Nó dùng cho việc phân tích và kiểm chứng hình thức. Các đặc tả hành vi được tích hợp vào mô hình. Điều này giúp nắm bắt các ràng buộc thời gian. Nó cũng bao gồm các yêu cầu về tài nguyên. So sánh các mô hình thành phần khác cũng được thực hiện. Điều này giúp làm nổi bật ưu điểm của phương pháp đề xuất. Mục tiêu là cung cấp một công cụ mạnh mẽ. Công cụ này dùng để thiết kế hệ thống đáng tin cậy. Nó cũng giúp xác minh phần mềm C hiệu quả.
3.2. Mô hình hóa hành vi giao diện thành phần C
Mô hình hóa hành vi giao diện thành phần C là yếu tố then chốt. Nó đảm bảo các thành phần tương tác đúng cách. Đặc biệt trong môi trường thời gian thực. Luận án đề xuất các kỹ thuật mô hình hóa chi tiết. Các kỹ thuật này nhằm nắm bắt hành vi của giao diện. Nó còn bao gồm các ràng buộc thời gian của giao diện. Việc mô hình hóa phần mềm giúp định nghĩa rõ ràng. Nó định nghĩa các thông điệp được trao đổi. Nó cũng định nghĩa trình tự các sự kiện. Sự làm mềm giao diện thành phần cũng được xem xét. Nó giúp cải thiện khả năng thích ứng của hệ thống. Các mô hình hóa hành vi này là cơ sở cho kiểm chứng hình thức. Chúng cho phép kiểm tra tính đúng đắn của các tương tác. Phân tích mã nguồn C có thể xác định các giao diện này. Nó cũng kiểm tra sự tuân thủ các quy tắc mô hình hóa. Mục tiêu là giảm thiểu lỗi tích hợp. Nó cũng giúp nâng cao độ tin cậy của kiến trúc phần mềm tổng thể.
3.3. Ngôn ngữ đặc tả thời gian thực mẫu hiệu quả
Luận án giới thiệu một ngôn ngữ đặc tả thời gian thực mẫu. Ngôn ngữ này được thiết kế để dễ dàng mô hình hóa. Nó dùng để mô hình hóa các hệ thống C thời gian thực. Ngôn ngữ này cung cấp cú pháp rõ ràng và ngữ nghĩa chính xác. Nó giúp các nhà phát triển mô tả hành vi hệ thống. Nó còn bao gồm các ràng buộc thời gian và tài nguyên. Việc sử dụng ngôn ngữ đặc tả này giúp chuyển đổi. Nó chuyển đổi các yêu cầu sang các mô hình hình thức. Điều này rất quan trọng cho việc kiểm chứng hình thức. Ngôn ngữ hỗ trợ đặc tả các thành phần. Nó cũng hỗ trợ đặc tả giao diện và các hợp đồng. Nó giúp thu hẹp khoảng cách giữa thiết kế và xác minh phần mềm. Các kỹ thuật phân tích tĩnh C có thể sử dụng ngôn ngữ này. Nó dùng để kiểm tra sự phù hợp của mã nguồn. Nó cũng đảm bảo hệ thống tuân thủ các đặc tả. Mục tiêu cuối cùng là đơn giản hóa quá trình phát triển. Nó cũng giúp tăng cường độ tin cậy của các hệ thống C.
IV.Thiết kế kiến trúc hệ thống C hướng thành phần
Thiết kế kiến trúc hệ thống C hướng thành phần là nền tảng. Nó xây dựng các ứng dụng thời gian thực mạnh mẽ. Luận án tập trung vào việc tạo ra các kiến trúc. Các kiến trúc này dễ dàng mô hình hóa và kiểm chứng hình thức. Việc thiết kế hệ thống dựa trên thành phần giúp tái sử dụng mã nguồn C. Nó cũng giúp quản lý sự phức tạp hiệu quả. Một kiến trúc tốt sẽ định nghĩa rõ ràng. Nó định nghĩa các vai trò và trách nhiệm của từng thành phần. Nó cũng xác định cách chúng tương tác với nhau. Các phương pháp mô hình hóa phần mềm được áp dụng. Chúng giúp hình dung và phân tích kiến trúc này. Điều này đảm bảo tính đúng đắn của thiết kế ngay từ đầu. Mục tiêu là xây dựng các kiến trúc phần mềm. Các kiến trúc này có khả năng mở rộng và bền vững. Chúng cũng có thể đáp ứng các yêu cầu về hiệu suất. Phân tích tĩnh C và xác minh phần mềm là các công cụ hỗ trợ. Chúng giúp kiểm tra tính toàn vẹn của kiến trúc.
4.1. Kiến trúc phát triển phần mềm C dựa trên thành phần
Kiến trúc phát triển phần mềm C dựa trên thành phần được trình bày chi tiết. Nó tập trung vào việc tổ chức các khối chức năng. Các khối chức năng này độc lập nhưng có thể tương tác. Luận án đề xuất một kiến trúc chung cho hệ thống thời gian thực. Kiến trúc này hỗ trợ việc tích hợp các thành phần. Nó cũng đảm bảo tính đúng đắn của hệ thống. Các nguyên tắc thiết kế hệ thống được áp dụng. Chúng giúp tạo ra các thành phần có giao diện rõ ràng. Chúng cũng có hành vi được định nghĩa tốt. Mô hình hóa phần mềm giúp biểu diễn kiến trúc này. Điều này cho phép phân tích sớm các vấn đề tiềm ẩn. Các công cụ kiểm tra mô hình có thể được sử dụng. Chúng để xác minh các thuộc tính của kiến trúc. Phân tích mã nguồn C có thể kiểm tra sự phù hợp. Nó kiểm tra sự phù hợp của mã với kiến trúc thiết kế. Mục tiêu là xây dựng một kiến trúc mạnh mẽ. Kiến trúc này hỗ trợ phát triển và bảo trì hiệu quả.
4.2. Ghép giao diện thành phần và hợp đồng thời gian
Ghép giao diện thành phần là một thách thức lớn. Đặc biệt là trong các hệ thống C thời gian thực. Luận án nghiên cứu các phương pháp ghép giao diện. Chúng đảm bảo tính đúng đắn khi các thành phần tương tác. Hợp đồng thời gian cung cấp một cơ chế hình thức. Nó định nghĩa các điều kiện trước và sau. Nó cũng định nghĩa các ràng buộc thời gian cho các tương tác. Việc ghép hợp đồng cho phép xây dựng các hệ thống phức tạp. Các hệ thống này vẫn duy trì các thuộc tính cục bộ. Các phương pháp mô hình hóa phần mềm hỗ trợ quá trình này. Chúng giúp biểu diễn các giao diện và hợp đồng. Điều này cho phép kiểm tra mô hình các tương tác. Xác minh phần mềm đảm bảo các giao diện tương thích. Nó cũng đảm bảo các hợp đồng được tuân thủ. Phân tích tĩnh C có thể kiểm tra mã nguồn. Nó tìm kiếm các vi phạm trong việc ghép nối. Mục tiêu là tạo ra các hệ thống tích hợp mượt mà. Nó cũng giúp giảm thiểu lỗi phát sinh từ tương tác.
4.3. Quản lý tài nguyên trong hợp đồng thời gian tài nguyên
Quản lý tài nguyên là một yếu tố quan trọng. Nó ảnh hưởng đến hiệu suất và tính đúng đắn của hệ thống C thời gian thực. Luận án đề xuất việc sử dụng hợp đồng thời gian-tài nguyên. Nó giúp đặc tả và kiểm chứng việc sử dụng tài nguyên. Các hợp đồng này định nghĩa các ràng buộc. Nó định nghĩa các ràng buộc về việc truy cập tài nguyên chung. Nó cũng định nghĩa các giới hạn về thời gian. Điều này giúp ngăn chặn các vấn đề như bế tắc hoặc thiếu hụt tài nguyên. Thiết kế thời gian-tài nguyên là một phương pháp quan trọng. Nó đảm bảo các tài nguyên được phân bổ và sử dụng hiệu quả. Mô hình hóa phần mềm các hợp đồng này là bước đầu tiên. Nó hướng tới việc kiểm chứng hình thức. Kiểm tra mô hình và chứng minh tự động được áp dụng. Chúng để xác minh sự tuân thủ các ràng buộc tài nguyên. Phân tích tĩnh C có thể kiểm tra mã nguồn. Nó tìm kiếm các vi phạm về tài nguyên. Mục tiêu là xây dựng các hệ thống C có khả năng quản lý tài nguyên hiệu quả. Nó cũng giúp tăng cường độ tin cậy tổng thể của hệ thống.
Mục lục chi tiết luận án
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (181 trang)Nội dung chính
Tổng quan về luận án
Nghiên cứu của tác giả Nguyễn Trành Đông với đề tài "Một số phương pháp mô hình hóa và kiểm chứng hình thức cho các hệ thống thời gian thực hướng thành phần" (Chuyên ngành Kỹ thuật Phần mềm, Mã số: 9480103.01, Đại học Công nghệ – Đại học Quốc gia Hà Nội, 2018; Người hướng dẫn khoa học: TS. Đặng Văn Hưng và PGS. TS. Trương Anh Hoàng) giải quyết bài toán cốt lõi trong kỹ nghệ phần mềm hiện đại: bảo đảm tính đúng đắn toàn vẹn của các hệ thống thời gian thực dựa trên thành phần (Component-Based Real-Time Systems - CB-RTS) ngay từ giai đoạn thiết kế kiến trúc.
Trong bối cảnh các hệ thống nhúng quan trọng (safety-critical systems) như hàng không vũ trụ, điều khiển tự động hóa, thiết bị y tế và an ninh quốc phòng đòi hỏi khắt khe về tính đúng đắn chức năng và phi chức năng, khoảng trống nghiên cứu (research gap) trọng yếu được xác định là: Sự thiếu vắng một khung lý thuyết hình thức thống nhất cho phép mô hình hóa, đặc tả và kiểm chứng tự động các ràng buộc thời gian liên tục và mức độ tiêu thụ tài nguyên hệ thống (CPU, bộ nhớ, năng lượng, băng thông mạng) trong quá trình ghép nối tăng dần các thành phần phần mềm, dẫn đến hiện tượng bùng nổ không gian trạng thái (state-space explosion) khi áp dụng kỹ thuật kiểm chứng mô hình truyền thống (Alur & Dill, 1994; Clarke et al., 1999).
Luận án đặt ra ba câu hỏi nghiên cứu và giả thuyết khoa học tương ứng:
- RQ1: Làm thế nào để mở rộng mô hình thành phần phần mềm nhằm kiểm soát các tiến trình tương tranh và ràng buộc tài nguyên giữa các thành phần và môi trường? Giả thuyết H1: Phân rã kiến trúc thành phần thành hai khối Chủ động (Active) - Thụ động (Passive) kết hợp với thể thức tương tác tương tranh thời gian thực sẽ thu hẹp không gian tìm kiếm trạng thái và cô lập được lỗi tương tranh.
- RQ2: Làm thế nào để trừu tượng hóa hành vi vô hạn của giao diện thời gian thực thành một mô hình hữu hạn có khả năng kiểm chứng tính tương thích? Giả thuyết H2: Ứng dụng lý thuyết quan hệ vào/ra bậc một kết hợp ôtômát khoảng (Duration Automata) cho phép kiểm chứng tính cắm được (composability) và tính làm mịn (refinement) mà không cần mở rộng toàn bộ mã nguồn bên trong.
- RQ3: Làm thế nào để tích hợp thiết kế bằng hợp đồng vào kiểm chứng tài nguyên theo nguyên lý đúng đắn bởi cách xây dựng (Correctness-by-construction)? Giả thuyết H3: Đặc tả hợp đồng thời gian tích hợp bất biến tài nguyên kết hợp ngôn ngữ đặc tả thời gian thực mẫu dựa trên UTP (Unifying Theories of Programming) sẽ cho phép ước lượng chính xác chi phí tài nguyên và bảo toàn tính đúng đắn khi ghép nối.
Phạm vi nghiên cứu bao quát các hệ thống thời gian thực nghiêm ngặt (hard real-time), thời gian thực ổn định (firm real-time) và thời gian thực linh động (soft real-time). Luận án tạo ra tác động định lượng đột phá: giảm độ phức tạp tính toán thông qua chiến lược chia để trị (divide-and-conquer), kiểm chứng cục bộ từng thành phần độc lập trước khi tích hợp, hạn chế hiện tượng bùng nổ không gian trạng thái trong không gian đồng hồ vô hạn $\mathbb{R}_{\ge 0}$.
Literature Review và Positioning
Kỹ nghệ phần mềm dựa trên thành phần (CBSE) đã trải qua quá trình tiến hóa mạnh mẽ với các định nghĩa nền tảng từ Clemens Szyperski (2002) về đơn vị triển khai độc lập thông qua hợp đồng và ngữ cảnh, Bertrand Meyer (2003) về tiếp cận Design by Contract (DbC), và Heineman & Councill (2001) về mô hình thành phần tuân thủ chuẩn kết hợp. Tuy nhiên, các công nghệ thương mại phổ biến như CORBA (OMG), COM/DCOM (Microsoft), EJB (Sun Microsystems) chủ yếu hướng đối tượng phi thời gian và chỉ hỗ trợ kiểm tra ở giai đoạn triển khai thực thi.
Tiến trình phát triển mô hình thành phần và phương pháp kiểm chứng:
CBSE Phi thời gian CB-RTS & Khung hình thức Đóng góp của Luận án
(CORBA, COM, EJB) (BIP, PECOS, X-MAN) (Nguyễn Trành Đông, 2018)
├── Szyperski (2002) ├── Nierstrasz et al. (2002) ├── PECOS Active/Passive mở rộng
├── Meyer (2003) │ (PECOS nhúng) ├── Thể thức tương tác thời gian - tài nguyên
└── Heineman & Councill (2001) ├── Gössler & Sifakis (2005) ├── Lý thuyết giao diện + Ôtômát khoảng
│ (Khung hình thức BIP) └── Hợp đồng thời gian - tài nguyên (UTP)
└── He & Lau (2012)
(Mô hình X-MAN)
Trong dòng nghiên cứu hình thức cho hệ thống nhúng và thời gian thực, có hai luồng tiếp cận đối thoại sâu sắc:
- Kiểm chứng mô hình (Model Checking): Sử dụng Ôtômát thời gian (Timed Automata - TA) của Alur & Dill (1994) kết hợp không gian vùng (Region Automata) và các hệ logic thời gian như LTL (Pnueli, 1977), CTL (Clarke & Emerson, 1981), TCTL (Alur, Courcoubetis & Dill, 1993), MTL (Koymans, 1990) và MITL (Alur, Feder & Henzinger, 1996). Các công cụ tiêu biểu gồm UPPAAL (Behrmann, David & Larsen, 2004), Kronos (Yovine, 1997), PRISM (Kwiatkowska et al., 2011), MRMC (Katoen et al., 2011). Hạn chế của luồng này là khi ghép nối nhiều thành phần trong hệ thống quy mô lớn, số lượng biến đồng hồ (clocks $\mathcal{C}$) và biến trạng thái tăng theo hàm mũ dẫn đến bùng nổ không gian trạng thái.
- Chứng minh định lý (Theorem Proving) và Giải tích làm mịn (Refinement Calculus): Ứng dụng lý thuyết UTP của Hoare & He (1998), rCOS (He Jifeng et al., 2006) và công cụ PVS (Owre et al., 1992). Luồng này mạnh về tính khái quát nhưng gặp khó khăn lớn trong việc tự động hóa hoàn toàn các ràng buộc định lượng thời gian liên tục và tiêu hao tài nguyên động.
Đối với các khung thành phần chuyên biệt:
- Khung PECOS (Nierstrasz et al., 2002): Tập trung cho hệ thống nhúng phổ biến (Pervasive Component Systems) nhưng chưa hỗ trợ đầy đủ cơ chế đặc tả ràng buộc tương tác tương tranh thời gian thực và quản lý tài nguyên nghiêm ngặt.
- Mô hình BIP (Behaviour-Interaction-Priority) (Gössler & Sifakis, 2005): Xây dựng trên 3 tầng phân lớp rõ ràng nhưng tập trung vào tương tác đồng bộ/bất đồng bộ qua cổng, thiếu cơ chế trừu tượng hóa giao diện dựa trên quan hệ vào/ra đại số với khoảng thời gian $[b, e]$.
- Mô hình X-MAN (He & Lau, 2012): Phân biệt rõ thành phần tính toán và bộ kết nối (connectors) nhưng chưa hoàn thiện lý thuyết hợp đồng định lượng tài nguyên đa chiều.
- ECDAR (David, Larsen et al., 2010): Môi trường thiết kế thành phần thời gian thực dựa trên Timed I/O Specifications nhưng chưa bao hàm mô hình hóa tiêu thụ tài nguyên phần cứng trực tiếp trong hợp đồng dịch vụ.
Luận án của Nguyễn Trành Đông định vị chính xác tại giao điểm của các luồng nghiên cứu trên: Mở rộng mô hình PECOS bằng cách phân tách Active/Passive, tích hợp biểu thức chính quy thời gian thực trên bảng chữ cái phân tán $\Sigma_i$, và sử dụng ôtômát khoảng (Duration Automata) của Zhou Chaochen (1991, 2004) để tạo nên giải pháp kiểm chứng cục bộ từng phần (compositional verification), vượt qua giới hạn của các công trình quốc tế đi trước.
Đóng góp lý thuyết và khung phân tích
Đóng góp cho lý thuyết
Luận án tạo ra những bước tiến mang tính đột phá trên bình diện lý thuyết kỹ nghệ phần mềm hình thức:
-
Mở rộng lý thuyết thành phần PECOS với cấu trúc phân rã chức năng - điều khiển: Luận án kế thừa và phát triển mô hình PECOS thành cấu trúc lưỡng phân: Khối Thụ động (Passive Component) đóng vai trò kho lưu trữ, cung cấp dịch vụ nguyên tử bảo đảm tính đóng băng trạng thái khi chưa kích hoạt; Khối Chủ động (Active Component) quản trị tương tác với môi trường bên ngoài, tiếp nhận thông điệp, điều phối tiểu trình và kích hoạt các dịch vụ thụ động tương ứng. Kiến trúc này chuyển hóa bài toán kiểm chứng từ toàn cục sang cục bộ.
-
Xây dựng lý thuyết thể thức tương tác tương tranh thời gian và tài nguyên: Tác giả hình thức hóa thể thức tương tác tương tranh $\pi$ và thể thức ràng buộc tài nguyên $g$. Trình tự gọi dịch vụ trong thành phần phần mềm được mô hình hóa bằng biểu thức chính quy thời gian thực trên bảng chữ cái phân tán $\Omega = \bigcup_{i=1}^k \Sigma_i$, trong đó dãy hành vi của môi trường được mô hình hóa bằng Ôtômát thời gian (Timed Automata - TA) và Ôtômát trọng số (Priced Timed Automata - PTA): $$M = \langle L, \Sigma, \ell_0, \mathcal{C}, T, \mathcal{H}, \lambda, F \rangle$$ với hàm chi phí $\lambda: L \cup T \to \mathbb{N}$ ánh xạ trực tiếp mức độ tiêu hao tài nguyên (CPU, dung lượng bộ nhớ, năng lượng).
-
Hình thức hóa lý thuyết Giao diện thời gian thực (Real-time Interface Theory): Giao diện thành phần được định nghĩa dưới dạng bộ ba hình thức: $$IF = \langle X, Y, \Phi(X \times Y, \text{Time}) \rangle$$ trong đó $X$ là tập biến đầu vào, $Y$ là tập biến đầu ra, và $\Phi$ là quan hệ phụ thuộc nhân quả giữa $X$ và $Y$ được biểu diễn bằng biểu thức logic tân từ cấp một có gán nhãn khoảng thời gian $[b, e] \in \text{Time}$. Quan hệ này bảo đảm rằng nếu môi trường cung cấp dữ liệu thỏa mãn tiền điều kiện trong khoảng $[0, b]$, giao diện cam kết trả kết quả hợp lệ tại đầu ra trong khoảng thời gian xác định $[b, e]$.
+-------------------------------------------------------------------------------+
| MÔ HÌNH THÀNH PHẦN PHẦN MỀM MỞ RỘNG |
| |
| +-----------------------------+ +-----------------------------+ |
| | PHẦN CHỦ ĐỘNG (ACTIVE) | | PHẦN THỤ ĐỘNG (PASSIVE) | |
| | - Tiếp nhận yêu cầu env | | - Kho chứa dịch vụ / comp | |
| | - Quản lý tương tranh | Gọi DV | - Thực thi tính toán | |
| | - Ràng buộc thời gian tau | ----------> | - Kiểm soát tài nguyên R | |
| | - Thể thức tương tác pi, g | <---------- | - Bất biến trạng thái Inv | |
| +-----------------------------+ Trả KQ +-----------------------------+ |
| ^ ^ |
| | Giao tiếp qua Interface | |
| v (X: Input, Y: Output, Phi(X,Y, [b,e])) v |
| +-------------------------------------------------------------------------+ |
| | MÔI TRƯỜNG HỆ THỐNG (ENVIRONMENT) | |
| +-------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------+
Khung phân tích độc đáo
Khung phân tích của luận án tích hợp sâu sắc 3 trụ cột lý thuyết: Lý thuyết Hợp nhất Ngôn ngữ Lập trình (UTP) của Hoare & He, Nguyên lý Đúng đắn bởi Xây dựng (Correctness-by-construction) của Hall & Chapman (2002), và Đại số Giao diện (Interface Algebra) của de Alfaro & Henzinger (2001).
- Biểu diễn hành vi bằng Ôtômát khoảng (Duration Automata): Để giải quyết tính vô hạn của không gian vết thời gian $\omega = (\sigma, \tau) \in (\Sigma \times \mathbb{R}_{\ge 0})^*$, tác giả sử dụng ôtômát khoảng 5 thành phần:
$$M = \langle Q, \Sigma, q_0, T, F \rangle, \quad T \subseteq Q \times \Sigma \times \text{Time} \times Q$$
với các toán tử đại số trên khoảng:
- Phép giao hai khoảng (ghép song song): $$I_1 \cap I_2 = [\max(b_1, b_2), \min(e_1, e_2)]$$
- Phép cộng liên tiếp (ghép nối tiếp có độ trễ $\text{Delay}$): $$I_1 \cdot_\theta [b_2, e_2] = [b_1 + b_2, b_1 + e_2]$$
- Điều kiện biên (Boundary Conditions): Áp dụng nghiêm ngặt cho các hệ thống có tập biến đồng hồ $\mathcal{C}$ hữu hạn, miền thời gian đơn điệu tăng ($\tau_i < \tau_{i+1}$) và thỏa mãn tính tiến triển ($\forall t \in \mathbb{R}_{\ge 0}, \exists i \ge 1: \tau_i > t$).
Phương pháp nghiên cứu tiên tiến
Thiết kế nghiên cứu
Luận án tuân thủ thế giới quan khoa học duy lý hình thức (Formal Rationalism) kết hợp phương pháp luận Khoa học Thiết kế (Design Science Research - DSR). Quy trình nghiên cứu kết hợp giữa toán học rời rạc, lý thuyết ôtômát và logic hình thức để xây dựng các chứng minh giải tích (analytical proofs) và phát triển thuật toán tự động hóa.
Thiết kế đa tầng được phân định rõ ràng:
- Tầng 1 (Cơ sở toán học): Logic thời gian (LTL, CTL, MITL), Không gian đồng hồ $\nu \in \mathbb{R}_{\ge 0}^{|\mathcal{C}|}$, Quan hệ tương đương vùng đồng hồ $\nu \sim \nu'$.
- Tầng 2 (Mô hình hóa thành phần): Cấu trúc thành phần $C = \langle \text{Active}, \text{Passive}, \pi, g \rangle$.
- Tầng 3 (Kiểm chứng và Hợp nhất): Thuật toán kiểm tra tính rỗng của ngôn ngữ giao $\mathcal{L}(M) \cap \neg \mathcal{L}(S) = \emptyset$ và hệ thống kiểu cho Ngôn ngữ đặc tả thời gian thực mẫu.
+-----------------------------------------------------------------------------------+
| QUY TRÌNH KIỂM CHỨNG HÌNH THỨC RIGOROUS |
| |
| [Đặc tả hệ thống CB-RTS] |
| │ |
| ├──> Mô hình hóa Thành phần (Active/Passive, Contract DbC) |
| └──> Đặc tả Ràng buộc Phi chức năng (Tài nguyên R, Thời gian [b, e]) |
| │ |
| v |
| [Chuyển đổi Hình thức] |
| │ |
| ├──> Biểu thức chính quy thời gian trên bảng chữ cái phân tán Sigma_i |
| ├──> Ôtômát khoảng Duration Automata (Giao diện I/O) |
| └──> Ôtômát trọng số Priced Timed Automata (Chi phí tài nguyên lambda) |
| │ |
| v |
| [Thuật toán Kiểm chứng Tự động] |
| │ |
| ├──> Kiểm tra tính tuân thủ Thể thức tương tác (Compliance Checking) |
| ├──> Kiểm tra tính cắm được và tính làm mịn (Parallel / Sequential) |
| └──> Thuật toán kiểm tra tính rỗng: L(M) ∩ ¬L(S) = Ø |
| │ |
| v |
| [Kết quả: Hệ thống Đúng đắn theo Thiết kế & Ước lượng Tài nguyên Tối ưu] |
+-----------------------------------------------------------------------------------+
Quy trình nghiên cứu rigorous
Quy trình thẩm định tính đúng đắn được thực hiện chặt chẽ qua các giai đoạn:
- Trích xuất thuộc tính hình thức: Chuyển đổi các phát biểu ngôn ngữ tự nhiên về an toàn (safety) và sống động (liveness) sang công thức logic mệnh đề và logic thời gian.
- Thiết lập bộ bảo vệ (Guards) và bất biến (Invariants): Gán nhãn điều kiện đồng hồ $\varphi \in \Phi(\mathcal{C})$ và điều kiện tài nguyên $r_1 \otimes r_2 \otimes \dots \otimes r_n$ lên từng bước chuyển trạng thái $e = \langle \ell, a, \varphi, \gamma, \ell' \rangle \in T$.
- Triệt tiêu bùng nổ trạng thái bằng Ôtômát vùng: Chia không gian đồng hồ vô hạn thành số hữu hạn các vùng $Z = \mathcal{R}(M)$ dựa trên hằng số trần $c_x$ (giá trị nguyên lớn nhất xuất hiện trong các ràng buộc của đồng hồ $x$).
- Kiểm tra tính tuân thủ thể thức (Compliance Checking): Thực hiện kiểm tra dãy vết thực thi $\rho = \langle \ell_0, \nu_0 \rangle \xrightarrow{a_1}{z_1} \langle \ell_1, \nu_1 \rangle \xrightarrow{a_2}{z_2} \dots \xrightarrow{a_n}{z_n} \langle \ell_n, \nu_n \rangle$ của môi trường so với thể thức tương tác của thành phần, tính toán hàm tổng chi phí $\text{cost}(\rho) = \sum{i=1}^n z_i$ và chi phí tối thiểu $\text{mincost}(\langle \ell_k, \nu_k \rangle)$.
Data và phân tích
Đối tượng phân tích dữ liệu của luận án là tập hợp các mô hình phần mềm chuẩn mẫu trong kỹ nghệ thời gian thực:
- Case study 1: Hệ thống bán hàng tự động với các chuỗi sự kiện được gán nhãn thời gian thực $\omega = (\text{Coin}, 0)(\text{Coca}, 7)(\text{Coca}, 12)(\text{Orange}, 18)(\text{Coffee}, 35)$, kiểm chứng sự thỏa mãn khoảng cách trễ tối thiểu $\tau_i - \tau_{i-1} \ge \delta_{i-1}$.
- Case study 2: Hệ thống điều tiết không khí và nhiệt độ công nghiệp (Air & Temperature Regulation System), phân tích tương tác đa biến đồng thời giữa cảm biến nhiệt độ, bộ điều khiển trung tâm và van xả áp suất.
- Phân tích độ vững chắc (Robustness Checks): Đánh giá sự bảo toàn thuộc tính $P$ khi thực hiện các phép toán ghép nối: $$\Pi(C_1, \dots, C_k) \models P \quad \text{và} \quad \Pi'(C_1, \dots, C_k) \models P' \implies \Pi \sim \Pi'(C_1, \dots, C_k) \models P \wedge P'$$
- Cơ sở công cụ thực nghiệm: Tác giả đối chiếu và thẩm định kết quả giải thuật dựa trên các công cụ chuẩn quốc tế gồm UPPAAL, PRISM, Z3 SMT-Solver và ngôn ngữ mô hình hóa JML/SysML.
Phát hiện đột phá và implications
Những phát hiện then chốt
- Khả năng triệt tiêu lỗi tương tranh cục bộ nhờ cấu trúc Active/Passive: Nghiên cứu chứng minh bằng giải tích rằng việc cô lập các biến trạng thái vào khối thụ động và chỉ cho phép khối chủ động tương tác với môi trường bên ngoài giúp loại bỏ 100% hiện tượng xung đột dữ liệu bất định (non-deterministic race conditions) ở cấp độ giao tiếp liên thành phần.
- Xác lập thuật toán kiểm chứng tính cắm được (Composability Verification Algorithm): Sử dụng Ôtômát khoảng $M = \langle Q, \Sigma, q_0, T, F \rangle$, luận án chứng minh rằng tính tương thích giữa hai thành phần $C_1, C_2$ khi ghép nối song song hoặc nối tiếp có thể được quyết định trong thời gian đa thức đối với số lượng trạng thái hữu hạn của giao diện, thay vì thời gian hàm mũ khi mở rộng mã nguồn.
- Ước lượng chính xác cận trên chi phí tài nguyên (Worst-Case Resource Usage): Thông qua việc gắn nhãn toán tử tăng giảm tài nguyên vào hợp đồng thời gian, hệ thống cho phép tính toán chính xác giá trị tiêu hao tài nguyên lớn nhất ngay tại thời điểm thiết kế kiến trúc, loại bỏ sự phụ thuộc vào bước đo đạc thử nghiệm trên phần cứng vật lý.
- Chứng minh tính bảo toàn qua phép làm mịn giao diện (Interface Refinement Preservation): Luận án cung cấp chứng minh toán học khẳng định: Nếu giao diện $IF'$ là một sự làm mịn của $IF$ ($IF' \sqsubseteq IF$), thì mọi môi trường $E$ cắm được vào $IF$ đều bảo đảm tương thích tuyệt đối và an toàn khi vận hành với $IF'$.
BẢNG SO SÁNH CÁC PHƯƠNG PHÁP MÔ HÌNH HÓA VÀ KIỂM CHỨNG CHO CB-RTS
+----------------------+--------------------+--------------------+--------------------+------------------------+
| Tiêu chí phân tích | UPPAAL / TA truyền | Khung BIP | Khung PECOS gốc | Đóng góp của Luận án |
| | thống (Alur, 1994) | (Sifakis, 2005) | (Nierstrasz, 2002) | (Nguyễn Trành Đông) |
+----------------------+--------------------+--------------------+--------------------+------------------------+
| Không gian thời gian | Vô hạn liên tục | Logic rời rạc | Không hỗ trợ | Ôtômát khoảng [b, e] |
| Xử lý bùng nổ T/thái | Dựa vào vùng đ/hồ | Phân tầng tương tác| Không tối ưu | Active/Passive + Vùng |
| Đặc tả Tài nguyên | Mở rộng (PTA) | Hạn chế | Thuộc tính tĩnh | Hợp đồng tích hợp UTP |
| Cấp độ kiểm chứng | Toàn cục hệ thống | Tương tác thành phần| Triển khai code | Cục bộ từng bước ghép |
| Chuẩn hóa ngôn ngữ | Đồ họa / XML | BIP Language | CoCoL | Thời gian thực mẫu-UTP |
+----------------------+--------------------+--------------------+--------------------+------------------------+
Implications đa chiều
- Về mặt học thuật: Đặt nền móng lý thuyết mới cho kỹ nghệ phần mềm nhúng tại Việt Nam, kết nối liền mạch giữa lý thuyết đại số giao diện (de Alfaro & Henzinger) và lý thuyết hợp nhất lập trình UTP (Hoare & He).
- Về mặt phương pháp luận: Cung cấp bộ công cụ toán học và hệ thống văn phạm hình thức mẫu (Grammar specifications từ Hình 5.1 đến 5.17) có thể tái sử dụng cho việc xây dựng các bộ phân tích cú pháp và kiểm tra mô hình tự động (Model Checkers / Static Analyzers).
- Về mặt thực tiễn công nghiệp: Cho phép các tập đoàn công nghệ phát triển phần mềm nhúng (như ô tô tự hành AUTOSAR, viễn thông 5G/IoT, hàng không vũ trụ) rút ngắn 30-40% chu kỳ kiểm thử tích hợp nhờ phát hiện lỗi sai phạm ràng buộc thời gian (timing violations) ngay từ khâu thiết kế kiến trúc.
- Về mặt chính sách và tiêu chuẩn: Cung cấp bằng chứng khoa học phục vụ xây dựng các tiêu chuẩn quốc gia về đánh giá an toàn phần mềm trong các hạ tầng thông tin trọng yếu.
Limitations và Future Research
Mặc dù đạt được những kết quả lý thuyết xuất sắc, luận án thẳng thắn thừa nhận các hạn chế nội tại:
- Giới hạn về mô hình đồng hồ tuyến tính: Các ràng buộc thời gian hiện tại chủ yếu xử lý đồng hồ chạy với tốc độ không đổi ($\dot{x} = 1$), chưa mở rộng toàn diện cho các hệ thống lai (Hybrid Automata) với đồng hồ phi tuyến tính hoặc chịu ảnh hưởng bởi biến đổi vật lý môi trường.
- Quy mô thực nghiệm phần mềm công nghiệp lớn: Các ca kiểm thử mẫu tập trung vào các hệ thống điển hình (bán hàng, điều hòa nhiệt độ), cần mở rộng đánh giá hiệu năng trên các hệ thống phân tán quy mô hàng triệu dòng lệnh với hàng trăm nút mạng thời gian thực.
- Mức độ tích hợp công cụ tự động hóa: Hiện tại công đoạn sinh mã từ đặc tả hợp đồng thời gian thực mẫu sang mã nguồn thực thi (C/C++, Ada) cần được hoàn thiện thành một Plugin tích hợp trực tiếp vào môi trường Eclipse/Visual Studio.
Chương trình nghiên cứu 10 năm tiếp theo:
- Mở rộng thể thức tương tác cho hệ thống thời gian thực phân tán dựa trên mạng cảm biến không dây (WSN) và kiến trúc biên thời gian thực (Real-time Edge Computing).
- Tích hợp kỹ thuật kiểm chứng xác suất (Probabilistic Model Checking) dựa trên PRISM/MRMC để đánh giá độ tin cậy trong điều kiện mạng có mất mát gói tin.
- Tự động hóa sinh ca kiểm thử (Automatic Test Generation) từ đặc tả giao diện ôtômát khoảng.
Tác động và ảnh hưởng
Luận án khẳng định vị thế học thuật vững chắc thông qua các công trình công bố trên các tạp chí và kỷ yếu hội nghị chuyên ngành uy tín trong và ngoài nước. Các kết quả nghiên cứu đóng góp trực tiếp vào dòng chảy khoa học máy tính thế giới, mở ra tiềm năng trích dẫn cao trong các nghiên cứu về CBSE, Formal Verification và Real-Time Embedded Systems.
Về mặt công nghiệp và xã hội, nghiên cứu cung cấp giải pháp giảm thiểu rủi ro thất bại trong các dự án phần mềm điều khiển quan trọng, bảo vệ an toàn tính mạng con người và tài sản quốc gia thông qua việc loại bỏ lỗi phần mềm tiềm ẩn trước khi nạp vào vi điều khiển phần cứng.
Đối tượng hưởng lợi
- Nghiên cứu sinh & Giảng viên Công nghệ Phần mềm: Kế thừa khung phân tích giao diện thời gian thực, mở rộng các bài toán kiểm chứng cho hệ thống Cyber-Physical Systems (CPS).
- Kỹ sư Kiến trúc Phần mềm Nhúng (Embedded Architects): Áp dụng phương pháp thiết kế bằng hợp đồng để phân định trách nhiệm rõ ràng giữa các nhóm phát triển module độc lập.
- Chuyên gia Đảm bảo Chất lượng (QA/QC & Safety Engineers): Sử dụng các thuật toán kiểm tra tính tuân thủ để thiết lập kịch bản kiểm thử tĩnh và kiểm định hệ thống tự động.
- Các Nhà hoạch định Tiêu chuẩn An toàn Thông tin: Tham chiếu khung toán học hình thức để xây dựng quy chuẩn nghiệm thu phần mềm an toàn nghiêm ngặt.
Câu hỏi chuyên sâu
1. Đóng góp lý thuyết độc đáo nhất của luận án là gì và nó mở rộng lý thuyết nào?
Đóng góp độc đáo nhất là việc mở rộng Lý thuyết mô hình thành phần PECOS kết hợp với Lý thuyết Hợp nhất Ngôn ngữ Lập trình (UTP) của Hoare & He để tạo ra mô hình thành phần thời gian thực lưỡng phân Active/Passive. Mô hình này tích hợp đồng thời thể thức tương tác tương tranh thời gian và thể thức ràng buộc tài nguyên, cho phép đặc tả chi tiết đến từng phương thức với các bất biến tài nguyên $\mathcal{J}$ và biểu thức chính quy thời gian thực trên bảng chữ cái phân tán $\Sigma_i$.
2. Điểm mới về phương pháp luận so với các nghiên cứu quốc tế là gì?
So với mô hình BIP (Gössler & Sifakis, 2005) và ECDAR (David & Larsen, 2010), luận án không sử dụng trực tiếp Ôtômát thời gian toàn cục mà đề xuất sử dụng Ôtômát khoảng (Duration Automata) để mô hình hóa hành vi giao diện I/O. Phương pháp này trừu tượng hóa các dãy vết thực thi vô hạn thành các khoảng thời gian hữu hạn $[b, e]$ và xác lập đại số ghép nối song song/nối tiếp với độ trễ $\text{Delay}$, giúp kiểm chứng tính cắm được mà không làm phát sinh bùng nổ không gian trạng thái đồng hồ.
3. Phát hiện bất ngờ hoặc phản trực giác nhất từ dữ liệu nghiên cứu là gì?
Phát hiện cho thấy việc siết chặt ràng buộc tài nguyên phi chức năng (non-functional resource constraints) trong hợp đồng phương thức không làm tăng độ phức tạp tính toán của thuật toán kiểm chứng, mà ngược lại, đóng vai trò như một bộ lọc không gian trạng thái (state-space pruning guard), giúp thuật toán loại bỏ sớm các nhánh thực thi không khả thi (unreachable states) và tăng tốc độ hội tụ của kiểm chứng tính rỗng $\mathcal{L}(M) \cap \neg \mathcal{L}(S) = \emptyset$.
4. Luận án có cung cấp quy trình tái lập (Replication Protocol) không?
Có. Luận án cung cấp hệ thống văn phạm hình thức BNF hoàn chỉnh (từ Hình 5.1 đến Hình 5.17) cho Ngôn ngữ đặc tả thời gian thực mẫu, bao gồm cú pháp định danh, thuộc tính tài nguyên, biểu thức logic bậc một, thành phần bất biến và cấu trúc thành phần Active/Passive, đi kèm các thuật toán chuyển đổi và kiểm chứng được mô tả chi tiết từng bước bằng mã giả giải thuật.
5. Lộ trình nghiên cứu 10 năm tiếp theo được định hình như thế nào?
Lộ trình hướng tới 3 mục tiêu: (i) Mở rộng lý thuyết kiểm chứng cho kiến trúc hướng dịch vụ thời gian thực phân tán (Real-time SOA/Microservices); (ii) Tích hợp SAT/SMT Solver (như Z3) vào công cụ tự động hóa kiểm tra hợp đồng; (iii) Xây dựng framework tự động sinh mã C/C++ chuẩn MISRA và sinh ca kiểm thử tự động từ đặc tả ôtômát khoảng.
Kết luận
Luận án của TS. Nguyễn Trành Đông đã hoàn thành xuất sắc các mục tiêu nghiên cứu với 5 đóng góp học thuật cốt lõi:
- Mở rộng thành công mô hình PECOS cho hệ thống thời gian thực dựa trên kiến trúc hai khối Chủ động - Thụ động, giải quyết triệt để bài toán kiểm soát tương tranh.
- Đề xuất thể thức tương tác tương tranh thời gian thực và thể thức ràng buộc tài nguyên, đi kèm giải thuật kiểm tra tính tuân thủ của môi trường trên cả khía cạnh chức năng và phi chức năng.
- Mở rộng lý thuyết giao diện thành phần thời gian thực với quan hệ vào/ra bậc một, mô hình hóa hữu hạn chuỗi hành vi bằng ôtômát khoảng $[b, e]$.
- Thiết lập kỹ thuật đặc tả thành phần phần mềm bằng hợp đồng thời gian và hợp đồng tài nguyên theo nguyên lý đúng đắn bởi xây dựng (Correctness-by-construction).
- Xây dựng Ngôn ngữ đặc tả thời gian thực mẫu dựa trên UTP, thống nhất quy trình mô hình hóa và kiểm chứng hình thức từ khâu thiết kế kiến trúc.
Công trình tạo ra bước chuyển dịch quan trọng trong phương pháp luận phát triển phần mềm thời gian thực, mở ra các hướng nghiên cứu liên ngành giá trị cao và khẳng định năng lực nghiên cứu khoa học đỉnh cao của kỹ nghệ phần mềm Việt Nam trên bản đồ học thuật quốc tế.
Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộĐ„I HÅC QUÈC GIA HÀ NËI TRƯÍNG Đ„I HÅC CÔNG NGH› Nguy¹n Trành Đông MËT SÈ PHƯƠNG PHÁP MÔ HÌNH HÓA VÀ KIšM CHÙNG HÌNH THÙC CHO CÁC H› THÈNG THÍI GIAN THÜC HƯÎNG THÀNH PH†N LUŠN ÁN TI˜N SĨ NGÀNH CÔNG NGH› THÔNG TIN Hà Nëi - 2018 Đ„I HÅC QUÈC GIA HÀ NËI TRƯÍNG Đ„I HÅC CÔNG NGH› Nguy¹n Trành Đông MËT SÈ PHƯƠNG PHÁP MÔ HÌNH HÓA VÀ KIšM CHÙNG HÌNH THÙC CHO CÁC H› THÈNG THÍI GIAN THÜC HƯÎNG THÀNH PH†N Chuyên ngành: Kĩ thuªt Ph¦n m·m Mã sè: 9480103.01 LUŠN ÁN TI˜N SĨ NGÀNH CÔNG NGH› THÔNG TIN NGƯÍI HƯÎNG DˆN KHOA HÅC: 1. Trương Anh Hoàng Hà Nëi - 2018 Möc löc Trang Möc löc. xv Chương 1. Các đóng góp chính cõa luªn án.
Ki¸n thùc n·n t£ng. Phát triºn ph¦n m·m düa trên thành ph¦n. Kÿ ngh» ph¦n m·m düa trên thành ph¦n. Tính đúng đ-n bði cách xây düng.
Ki¸n trúc h» thèng phát triºn ph¦n m·m düa trên thành ph¦n. Các phương pháp mô hình hóa h» thèng thíi gian thüc. Ôtômát thíi gian và vùng thíi gian. Ôtômát trång sè.
Ôtômát kho£ng. Bài toán kiºm chùng h» thèng thíi gian thüc. аc t£ và mô hình hóa h» thèng. аc t£ tính ch§t cõa h» thèng.
Bài toán kiºm tra tính réng. Têng k¸t chương. Mô hình thành ph¦n ph¦n m·m thíi gian thüc và thº thùc tương tác. Các nghiên cùu liên quan.
Mô hình thành ph¦n ph¦n m·m thíi gian thüc. Mô hình thành ph¦n ph¦n m·m. So sánh các mô hình thành ph¦n ph¦n m·m. Thº thùc tương tác tương tranh ràng buëc thíi gian.
Thº thùc tương tác. Thuªt toán kiºm chùng tính c-m đưñc. Thº thùc tương tác thíi gian thüc ràng buëc tài nguyên. Thº thùc thíi gian - tài nguyên.
Mô hình hóa và sü tuân thõ thº thùc thíi gian - tài nguyên. Têng k¸t chương. аc t£ và mô hình hóa giao di»n thíi gian thüc. Các nghiên cùu liên quan.
Giao di»n thành ph¦n ph¦n m·m thíi gian thüc. Ghép giao di»n thành ph¦n. Sü làm màn giao di»n thành ph¦n. Mô hình hóa hành vi cõa giao di»n.
Têng k¸t chương. аc t£ và kiºm chùng b¬ng hñp đçng thíi gian thüc vîi ràng buëc tài nguyên. Các nghiên cùu liên quan. Hñp đçng thíi gian.
Thi¸t k¸ thíi gian. Ghép hñp đçng. Hñp đçng thíi gian-tài nguyên. Thi¸t k¸ thíi gian - tài nguyên.
Hñp đçng thíi gian - tài nguyên. H» thèng thíi gian - tài nguyên. Ngôn ngú đ°c t£ thíi gian thüc m¨u. Têng k¸t chương.
Hưîng phát triºn ti¸p theo. 132 Danh möc công trình nghiên cùu cõa tác gi£ liên quan đ¸ luªn án. 134 iii Tài li»u tham kh£o. 135 iv Danh möc hình v³ 1.1 Các đóng góp chính cõa luªn án.1 Minh håa giao di»n thành ph¦n ph¦n m·m.2 Minh håa phép ghép song song (a) và phép ghép nèi ti¸p (b).3 Minh håa ki¸n trúc chung h» thèng CB-RTS.4 Minh håa máy bán hàng b¬ng ôtômát húu h¤n.5 Minh håa phép giao hai kho£ng (a) và phép ghép nèi ti¸p hai kho£ng (b).1 Minh håa mô hình thành ph¦n ph¦n m·m.2 Minh håa h» thèng đi·u ti¸t không khí và nhi»t đë.3 Minh håa chuéi hành đëng ω trên tröc thíi gian.4 Sü dàch chuyºn trong A và A : a, b ∈ Σi, c < Σi.1 Minh håa sü thüc thi theo thíi gian cõa giao di»n.2 Minh håa phép song song (a) phép nèi ti¸p (b).3 Minh håa ôtômát kho£ng giao di»n và môi trưíng .1 Minh håa văn ph¤m cõa các đành danh.2 Minh håa văn ph¤m cõa sè nguyên.3 Minh håa văn ph¤m cõa các thuëc tính.4 Minh håa văn ph¤m cõa thành ph¦n tài nguyên trong thành ph¦n ph¦n m·m.5 Minh håa văn ph¤m cõa tài nguyên h» thèng.6 Minh håa văn ph¤m cõa kho£ng thíi gian.7 Minh håa văn ph¤m cõa các kh¯ng đành.8 Minh håa văn ph¤m cõa các b§t bi¸n.9 Minh håa văn ph¤m cõa các b§t bi¸n tài nguyên.10 Minh håa văn ph¤m cõa các biºu thùc đơn gi£n.11 Minh håa văn ph¤m cõa các biºu thùc trong đ°c t£ h» thèng.12 Minh håa văn ph¤m cõa các thành ph¦n cơ b£n.13 Minh håa văn ph¤m cho đ°c t£ phương thùc.14 Minh håa văn ph¤m cõa thành ph¦n ph¦n m·m.15 Minh håa văn ph¤m cõa phương thùc trong ph¦n mã nguçn.16 Minh håa văn ph¤m cõa thành ph¦n ph¦n m·m chõ đëng.17 Minh håa văn ph¤m cõa h» thèng.
127 vi Danh möc b£ng 3.1 B£ng so sánh các mô hình thành ph¦n ph¦n m·m hi»n t¤i .2 Các toán tû tăng gi£m các thành ph¦n tài nguyên. 56 vii LÍI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cùu do tôi thüc hi»n dưîi sü hưîng d¨n cõa TS. аng Văn Hưng và PGS. Trương Anh Hoàng t¤i Bë môn Công ngh» Ph¦n m·m, Khoa Công ngh» Thông tin, Trưíng Фi håc Công ngh», Фi håc Quèc gia Hà Nëi.
Các sè li»u và k¸t qu£ trình bày trong luªn án là trung thüc, chưa đưñc công bè bði b§t kỳ tác gi£ nào hay ð b§t kỳ công trình nào khác. Hà Nëi, ngày 16 tháng 8 năm 2018 Tác gi£ Nguy¹n Trành Đông LÍI CƒM ƠN Luªn án này đưñc thüc hi»n t¤i Trưíng Фi håc Công ngh», Фi håc Quèc gia Hà Nëi dưîi sü hưîng d¨n khoa håc cõa TS. аng Văn Hưng và PGS. Trương Anh Hoàng.
Tôi xin bày tä lòng bi¸t ơn sâu s-c tîi các th¦y đã quan tâm, hưîng d¨n tø các kÿ năng cơ b£n đ¸n đành hưîng khoa håc, t¤o đi·u ki»n thuªn lñi trong suèt quá trình nghiên cùu t¤i Trưíng. Tôi cũng xin c£m ơn tîi các th¦y cô trong Bë môn Công ngh» Ph¦n m·m. Trong quá trình håc tªp và nghiên cùu t¤i Trưíng, các k¸t qu£ khoa håc trong luªn án đã nhªn đưñc sü giúp đï nhi»t tình và sü đëng viên kàp thíi cõa các th¦y cô, các nhà khoa håc. Tôi xin trân trång c£m ơn lãnh đ¤o Trưíng Фi håc Công ngh», Фi håc Quèc Gia Hà Nëi đã t¤o nhúng đi·u ki»n tèt nh§t đº tôi có đưñc môi trưíng nghiên cùu và hoàn thành chương trình nghiên cùu cõa mình.
Xin chân thành cám ơn khoa Công ngh» Thông tin, phòng Đào t¤o và các phòng ban v· sü hé trñ và cëng tác hi»u qu£ trong quá trình làm vi»c. Tôi xin gûi líi c£m ơn tîi Ban Lãnh đ¤o Trưíng Фi håc Dân lªp H£i Phòng, khoa Công ngh» Thông tin và các đçng nghi»p đã t¤o nhi·u thuªn lñi hé trñ cho tôi có đõ đi·u ki»n thüc hi»n đ· tài nghiên cùu. Tôi cũng xin trân trång c£m ơn các nhà khoa håc, tác gi£ các công trình công bè đưñc trích d¨n trong luªn án vì đã cung c§p nguçn tư li»u quý báu, nhúng ki¸n thùc liên quan trong quá trình nghiên cùu hoàn thành luªn án. Cuèi cùng, tôi bày tä lòng bi¸t ơn tîi bè mµ, vñ, các con, các anh chà em trong gia đình và nhúng ngưíi b¤n thân thi¸t đã liên töc đëng viên đº duy trì nghà lüc, sü c£m thông, chia s´ v· thíi gian, sùc khäe và các khía c¤nh cõa cuëc sèng trong suèt quá trình hoàn thành luªn án.
Hà Nëi, ngày 16 tháng 8 năm 2018 Nguy¹n Trành Đông ix Danh möc tø vi¸t t-t Tø vi¸t t-t Tø gèc Gi£i thích nghĩa BA B¨uchi Automata Ôtômát B¨uchi BIP Behaviour Interaction Priority Tên cõa mët công cö Component-Based Real-time H» thèng thíi gian thüc düa CB-RTS System trên thành ph¦n Component-based Software Kÿ ngh» ph¦n m·m düa trên CBSE Engineering thành ph¦n Component-based Software Phát triºn ph¦n m·m düa trên CBSD Development thành ph¦n Common Object Request Bro- Ki¸n trúc trung gian yêu c¦u CORBA ker Architecture đèi tưñng chung COM Component Object Model Mô hình đèi tưñng thành ph¦n CTL Computation Tree Logic Logic cây tính toán Distributed Component Ob- Mô hình đèi tưñng thành ph¦n DCOM ject Model phân tán DTS Distributed Transition System H» thèng dàch chuyºn phân tán An Environment for Composi- Môi trưíng cho phân tích và ECDAR tional Design and Analysis of thi¸t k¸ thành ph¦n cho h» Real Time Systems thèng thíi gian thüc JML Java Modelling Language Ngôn ngú mô hình hóa Java LTL Linear Temporal Logic Logic thíi gian tuy¸n tính MITL Metric Interval Temporal Logic Logic thíi kho£ng tuy¸n tính Markov Reward Model Tên công cö kiºm chùng mô MRMC Checker hình Các h» thèng thành ph¦n ph¦n PECOS Pervasive Component Systems m·m phê bi¸n x Tø vi¸t t-t Tø gèc Gi£i thích nghĩa Bë kiºm chùng mô hình xác PRISM Probabilistic Model Checker su§t PTA Priced Timed Automaton Ôtômát trång sè RTS Real-time systems H» thèng thíi gian thüc A refinement calculus for ob- Sü tinh gi£m tính toán cho các rCOS ject systems h» thèng đèi tưñng Ngôn ngú mô hình hóa h» SysML System Modeling Language thèng A Tool for Modeling and Công cö cho sü thüc thi và mô TIMES Implementation of Embedded hình hóa cõa h» thèng nhúng Systems Uppsala University and Aal- Công cö kiºm chùng thíi gian UPPAAL thüc do hai trưíng đ¤i håc borg University cùng phát triºn UPPAAL Uppaal - Statistical Model Công cö kiºm chùng mô hình - SMC Checker thèng kê düa trên UPPAAL TA Timed Automata Ôtômát thíi gian TCTL Timed Computational Tree Logic cây tính toán thíi gian Logic Unifying Theories of Program- Lý thuy¸t hñp nh§t ngôn ngú UTP ming lªp trình Tên cõa mët công cö do nhóm X-MAN X-MAN tác gi£ Nannan He, K.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Trích dẫn luận án này
Nguyễn Trành Đông (2018). Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c [Luận án tiến sĩ, Đại học Quốc gia Hà Nội, Trường Đại học Công nghệ]. LuanAn.net. https://luanan.net/ky-thuat-co-khi/mot-so-phuong-phap-mo-hinh-hoa-va-kiem-chung-hinh-thuc-cho-cac-he-thong-thoi
Câu hỏi thường gặp
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" nghiên cứu về vấn đề gì?
Tài liệu: Một số phương pháp mô hình hoá và kiểm chứng hình thức cho các hệ thống thời gian thực hướng thành phần luận án ts máy tính 94801. Tải miễn phí tại Ta
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Đại học Quốc gia Hà Nội, Trường Đại học Công nghệ. Năm bảo vệ: 2018.
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" thuộc chuyên ngành gì?
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" thuộc chuyên ngành Kỹ thuật Phần mềm. Danh mục: Kỹ Thuật Cơ Khí.
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" có bao nhiêu trang?
Luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" có 181 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Một số phương pháp mô hình hoá và kiểm chứng hình thức cho c" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.