Tổng quan nghiên cứu

Trong kỹ nghệ phần mềm và thiết kế hệ thống tự động, việc bảo đảm 100% tính đúng đắn của các hệ thống phức tạp, song song và phân tán là yêu cầu sống còn. Khi quy mô hệ thống tăng lên, các phương pháp kiểm thử truyền thống bằng tập mẫu thử (testcase) bộc lộ giới hạn lớn do không thể bao phủ toàn bộ các kịch bản thực thi. Điều này dẫn tới nguy cơ xuất hiện các lỗi nghiêm trọng như khóa chết (deadlock) hay tương tranh tài nguyên trong các ứng dụng điều khiển y tế, hàng không và sản xuất công nghiệp.

Để giải quyết triệt để vấn đề này, phương pháp kiểm tra mô hình hình thức (Model Checking) trên nền tảng mạng Petri (Petri Nets) được ứng dụng rộng rãi. Tuy nhiên, thách thức kỹ thuật lớn nhất đặt ra là hiện tượng bùng nổ không gian trạng thái (state space explosion), khi số lượng trạng thái khả thi tăng theo hàm số mũ. Đề tài luận văn thạc sĩ chuyên ngành Khoa học máy tính của tác giả Lê Đình Thuận, được thực hiện dưới sự hướng dẫn của Phó Giáo sư, Tiến sĩ Quản Thành Thơ tại Trường Đại học Bách Khoa – Đại học Quốc gia TP. Hồ Chí Minh trong thời gian 11 tháng (từ tháng 6 năm 2013 đến tháng 5 năm 2014), tập trung vào mục tiêu nghiên cứu và xây dựng giải pháp kiểm chứng tự động cho các mô hình Petri Nets phức tạp.

Nghiên cứu hướng tới việc tích hợp các thuật toán trừu tượng hóa đồ thị quan sát đặc trưng (Symbolic Observation Graph - SOG) và chiến lược kiểm thử tăng dần (incremental verification) vào framework PAT (Process Analysis Toolkit). Kết quả của công trình là công cụ PeCAn, cho phép giảm trên 80% không gian trạng thái cần duyệt đối với các hệ thống đa thành phần, rút ngắn đáng kể thời gian kiểm chứng các thuộc tính logic thời gian tuyến tính (LTL\X), mở ra khả năng kiểm định hình thức cho các hệ thống phần mềm quy mô lớn trong thực tiễn.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn xây dựng trên nền tảng vững chắc của lý thuyết mạng Petri do Carl Adam Petri khởi xướng từ năm 1939 và phát triển mạnh mẽ từ năm 1962, kết hợp chặt chẽ với lý thuyết kiểm tra mô hình hình thức (Model Checking) và logic thời gian tuyến tính LTL (Linear Temporal Logic).

Mô hình mạng Petri được biểu diễn toán học dưới dạng bộ 4 phần tử bao gồm tập hữu hạn các vị trí (Places), tập hữu hạn các bước chuyển (Transitions), ma trận trọng số các cung nối (Weights) và véc-tơ đánh dấu khởi tạo (Initial Marking). Hành vi động của mạng Petri được phân tích qua các thuộc tính cốt lõi: tính đến được (Reachability), tính bị chặn (Boundedness), tính bảo toàn (Conservativeness), tính công bằng (Fairness) và 4 mức độ sống của hệ thống (Liveness từ mức 0 - Deadlock đến mức 4 - Live hoàn toàn).

Khung lý thuyết thứ hai là phương pháp kiểm chứng hình thức sử dụng logic thời gian LTL loại bỏ toán tử kế tiếp (LTL\X). Logic này cho phép đặc tả chính xác các ràng buộc an toàn (safety properties) và ràng buộc sống (liveness properties) của hệ thống thông qua các toán tử như Eventually và Globally.

Luận văn tập trung khai thác 5 khái niệm chuyên sâu:

  1. Mạng Petri đa thành phần (Compositional Petri Nets) với các bước chuyển đồng bộ hóa (Synchronized Transitions).
  2. Đồ thị quan sát đặc trưng (Symbolic Observation Graph - SOG) để nén không gian trạng thái.
  3. Siêu trạng thái (Meta-state) đại diện cho tập hợp các trạng thái cục bộ nội bộ.
  4. Bất biến tuyến tính (Linear Invariants) nhằm mô phỏng và trừu tượng hóa môi trường tương tác.
  5. Kỹ thuật sinh và duyệt trạng thái tức thời (On-the-fly Model Checking).

Phương pháp nghiên cứu

Nghiên cứu áp dụng phương pháp thực nghiệm kết hợp mô hình hóa hình thức trên tập mẫu thử chuẩn gồm 15 hệ thống đồng thời kinh điển và mô hình công nghiệp, tiêu biểu như bài toán các nhà triết gia ăn tối (Dining Philosophers với quy mô n từ 4 đến 10 tiến trình), thuật toán loại trừ tương hỗ Dekker và các mô hình dây chuyền sản xuất đa thành phần. Phương pháp chọn mẫu có chủ đích (purposive sampling) được áp dụng nhằm đánh giá khả năng xử lý của công cụ trên cả hai nhóm mô hình: mô hình đơn thành phần có/không có deadlock và mô hình đa thành phần phức tạp.

Dữ liệu thực nghiệm được thu thập thông qua quá trình ánh xạ trực tiếp mô hình Petri Nets sang hệ thống chuyển trạng thái có nhãn (Labelled Transition System - LTS), sau đó áp dụng giải thuật phân tích on-the-fly để tự động xây dựng đồ thị SOG. Lý do luận văn lựa chọn giải thuật xây dựng SOG kết hợp chiến lược tăng dần là vì phương pháp này cho phép phân rã hệ thống toàn cục thành các mô-đun độc lập, chỉ quan sát các bước chuyển giao tiếp bên ngoài và thu gọn toàn bộ các bước chuyển nội bộ. Toàn bộ quy trình nghiên cứu, thiết kế thuật toán, tích hợp module vào framework PAT và thử nghiệm thực nghiệm được hoàn thành chuẩn xác trong khung thời gian 11 tháng (từ ngày 24/06/2013 đến ngày 23/05/2014).

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình thử nghiệm thực nghiệm công cụ PeCAn trên các hệ thống mạng Petri mang lại 4 kết quả định lượng nổi bật:

  1. Khả năng thu nhỏ không gian trạng thái vượt trội: Khi áp dụng đồ thị quan sát đặc trưng SOG trên mô hình Petri Nets 3 thành phần, hệ thống chuyển trạng thái ban đầu gồm 16 trạng thái cụ thể đã được nén lại chỉ còn đúng 3 meta-states trên SOG, tương đương mức giảm đến 81,25% số lượng đỉnh cần duyệt trong cây trạng thái.
  2. Rút ngắn số bước kiểm chứng vết thực thi: Đối với việc xác minh thuộc tính đến được của bước chuyển giao tiếp, phương pháp kiểm tra truyền thống đòi hỏi duyệt qua 4 bước chuyển trạng thái liên tiếp, trong khi đó trên đồ thị SOG của PeCAn chỉ cần đúng 2 bước chuyển để đưa ra kết luận khẳng định, giúp tăng 50% hiệu suất xử lý logic.
  3. Hiệu năng phát hiện lỗi deadlock tức thì: Nhờ cơ chế duyệt on-the-fly tích hợp, đối với các hệ thống phát sinh lỗi deadlock, PeCAn tìm thấy phản ví dụ (counterexample) ngay ở các nhánh đầu tiên mà không cần phải duyệt qua 100% không gian trạng thái, tiết kiệm khoảng 70% đến 75% thời gian tính toán so với các công cụ duyệt vét cạn toàn phần.
  4. Hiện thực hóa thành công công cụ PeCAn: Công trình đã phát triển hoàn chỉnh module PeCAn trên nền tảng PAT với giao diện đồ họa GUI trực quan, hỗ trợ đầy đủ định dạng chuẩn PNML. Đóng góp khoa học của luận văn đã được bình duyệt và công bố tại 02 hội nghị quốc tế uy tín là ATVA 2014 (Automated Technology for Verification and Analysis) và CCEEE 2014.

Thảo luận kết quả

Nguyên nhân cốt lõi giúp PeCAn đạt được hiệu năng ấn tượng là nhờ sự phân tách rành mạch giữa tập các hành động cần quan sát (Observed Actions) và tập các hành động nội bộ không cần quan sát (Unobserved Actions). Khi các bước chuyển nội bộ được gom cụm bên trong các meta-states, các nhánh rẽ trạng thái cục bộ không làm bùng nổ kích thước đồ thị toàn cục.

Khi so sánh với các công cụ kiểm tra Petri Nets hiện hành như Tina, Snoopy hay các bộ kiểm tra tổng quát như SPIN và NuSMV, PeCAn khẳng định ưu thế tiên phong trong việc hỗ trợ kiểm tra mô hình Petri Nets đa thành phần có cấu trúc giao tiếp đồng bộ. Thay vì yêu cầu người dùng phải tự chuyển đổi thủ công ngôn ngữ mô hình, PeCAn tự động hóa toàn bộ luồng xử lý từ tiếp nhận đồ hình Petri Nets, sinh Büchi Automata, đến mô phỏng trực quan đường dẫn phản ví dụ.

Về mặt biểu diễn dữ liệu thực nghiệm, các kết quả so sánh thời gian thực thi và số lượng trạng thái được trực quan hóa rõ nét thông qua biểu đồ cột kép so sánh trước/sau khi nén SOG và bảng ma trận đối sánh hiệu năng đa tham số (gồm số lượng Places, Transitions, Markings và thời gian mili-giây). Cách trình bày này chứng minh tính ổn định của giải thuật ngay cả khi số lượng tiến trình đồng thời tăng cao.

Đề xuất và khuyến nghị

Dựa trên kết quả nghiên cứu và thực nghiệm của đề tài, 4 giải pháp hành động cụ thể được khuyến nghị nhằm ứng dụng và phát triển công nghệ kiểm định hình thức:

  1. Mở rộng hỗ trợ các lớp mạng Petri nâng cao: Tiến hành nâng cấp lõi công cụ PeCAn để hỗ trợ mạng Petri có thời gian (Timed Petri Nets) và mạng Petri có màu (Colored Petri Nets). Mục tiêu là bao phủ 100% các đặc tả hệ thống nhúng phức tạp với lộ trình phát triển trong giai đoạn 2024-2026, do nhóm nghiên cứu phương pháp hình thức SAVE tại Trường Đại học Bách Khoa TP.HCM chủ trì.
  2. Tối ưu hóa cơ chế tái sử dụng lược đồ SOG: Xây dựng thuật toán tái sử dụng các lược đồ quan sát đặc trưng tổng quát đã tạo cho nhiều thuộc tính LTL khác nhau trong cùng một hệ thống. Mục tiêu giảm từ 40% đến 50% chi phí tính toán khi kiểm thử đồng thời 5 thuộc tính logic trở lên, thực hiện bởi các kỹ sư phát triển phần mềm kiểm tra mô hình trong vòng 12 tháng.
  3. Triển khai ứng dụng vào quy trình phát triển phần mềm an toàn cao: Khuyến nghị các doanh nghiệp công nghệ trong lĩnh vực y tế, giao thông thông minh và vi mạch tích hợp áp dụng công cụ PeCAn vào giai đoạn thiết kế kiến trúc. Mục tiêu phát hiện sớm 95% các lỗi bế tắc tiến trình trước khi bước vào giai đoạn viết mã, thực hiện định kỳ theo chu kỳ phát triển 6 tháng của dự án.
  4. Chuẩn hóa học liệu và mở rộng kho thư viện API: Xây dựng tài liệu hướng dẫn kỹ thuật chi tiết và đóng gói API mở của module PeCAn trên nền PAT, nhằm tăng 30% tỷ lệ tiếp cận của sinh viên, học viên cao học và nghiên cứu sinh ngành Khoa học máy tính trong vòng 6 đến 12 tháng tới.

Đối tượng nên tham khảo luận văn

Nội dung và kết quả thực nghiệm của luận văn là tài liệu tham khảo giá trị cho 4 nhóm đối tượng chuyên môn:

  1. Kiến trúc sư hệ thống và kỹ sư phần mềm đồng thời: Cung cấp giải pháp hình thức hóa để phân tích, phát hiện sớm các nguy cơ tranh chấp tài nguyên, race conditions và lỗi deadlock trong các kiến trúc vi dịch vụ (microservices) hoặc hệ thống phân tán đa luồng.
  2. Học viên cao học và nghiên cứu sinh ngành Khoa học máy tính: Là tài liệu tham khảo chuẩn mực về cách thức ứng dụng logic thời gian tuyến tính LTL, kỹ thuật trừu tượng hóa trạng thái SOG và phương pháp phân rã hệ thống đa thành phần trong đề tài nghiên cứu phương pháp hình thức.
  3. Nhà phát triển công cụ kiểm thử tự động (Model Checker Developers): Cung cấp bản thiết kế kiến trúc chi tiết, giải thuật ánh xạ Petri Nets sang LTS và phương pháp mở rộng module thực tế trên framework mã nguồn mở PAT.
  4. Giảng viên và nhà nghiên cứu tại các trường đại học khối kỹ thuật: Sử dụng làm học liệu mẫu phục vụ giảng dạy các môn học chuyên ngành như Lý thuyết tính toán, Thiết kế hệ thống tin cậy, Đảm bảo chất lượng phần mềm và Mô hình hóa hệ thống.

Câu hỏi thường gặp

Mô hình Petri Nets mang lại lợi ích gì trong kiểm tra tính đúng đắn của phần mềm? Petri Nets cung cấp cả biểu diễn trực quan lẫn nền tảng toán học chặt chẽ để mô hình hóa trạng thái và dòng điều khiển của các tiến trình đồng thời. Thông qua các khái niệm vị trí, bước chuyển và token, mô hình cho phép phân tích toán học chính xác các trạng thái bế tắc hoặc vi phạm an toàn tài nguyên.

Hiện tượng bùng nổ không gian trạng thái được công cụ PeCAn xử lý như thế nào? PeCAn giải quyết bùng nổ trạng thái bằng cách kết hợp đồ thị quan sát đặc trưng SOG và chiến lược kiểm thử tăng dần. Bằng cách gộp các trạng thái nội bộ thành siêu trạng thái (meta-state), công cụ giảm hơn 80% không gian trạng thái cần duyệt, giúp kiểm chứng thành công các mô hình lớn.

Tại sao lược đồ quan sát đặc trưng SOG chỉ hỗ trợ kiểm tra các công thức logic LTL\X? Do kỹ thuật SOG nén một chuỗi các bước chuyển nội bộ không cần quan sát vào trong cùng một meta-state, khái niệm "bước kế tiếp tức thời" bị trừu tượng hóa. Vì vậy, toán tử Next (X) không thể xác định đơn vị thời gian rời rạc, nhưng toàn bộ các toán tử an toàn và sống khác của LTL đều được bảo toàn nguyên vẹn.

Điểm khác biệt nổi bật của PeCAn so với các công cụ như Tina hay Snoopy là gì? PeCAn là công cụ tiên phong hỗ trợ kiểm thử mô hình Petri Nets đa thành phần (compositional) kết hợp giải thuật SOG và bất biến tuyến tính. Ngoài việc kiểm tra mô hình đơn lẻ, PeCAn cho phép chia nhỏ hệ thống thành các mô-đun độc lập và tự động sinh phản ví dụ trực quan.

Framework PAT đóng vai trò gì trong kiến trúc của công cụ PeCAn? PAT đóng vai trò là khung kiến trúc nền tảng, cung cấp sẵn các bộ thư viện phân tích cú pháp logic thời gian, dịch mã Büchi Automata và cơ chế mô phỏng phản ví dụ. Tác giả đã xây dựng thêm module PeCAn tích hợp trực tiếp vào PAT để tận dụng tối đa các thuật toán tối ưu có sẵn của framework.

Kết luận

  • Luận văn đã giải quyết xuất sắc bài toán bùng nổ không gian trạng thái trong kiểm tra mô hình mạng Petri bằng việc ứng dụng thành công đồ thị quan sát đặc trưng SOG và phương pháp kiểm thử tăng dần.
  • Hiện thực hóa thành công công cụ PeCAn hoàn chỉnh trên framework PAT, hỗ trợ kiểm định hiệu quả cả mô hình Petri Nets đơn thành phần và đa thành phần với giao diện trực quan.
  • Tối ưu hóa hiệu năng kiểm chứng hình thức, giúp giảm trên 80% số lượng trạng thái cần duyệt và rút ngắn 50% số bước xác minh trên các mô hình đồng thời thực nghiệm.
  • Đóng góp học thuật giá trị với 02 bài báo khoa học được công bố tại các hội nghị chuyên ngành quốc tế uy tín là ATVA 2014 và CCEEE 2014 trong thời gian 11 tháng nghiên cứu.
  • Định hướng lộ trình nghiên cứu tiếp theo giai đoạn 2024-2026 tập trung vào mở rộng hỗ trợ Timed/Colored Petri Nets và tối ưu thuật toán tái sử dụng SOG. Các nhà nghiên cứu và kỹ sư quan tâm có thể tải về, trải nghiệm công cụ PeCAn để ứng dụng trực tiếp vào công tác kiểm định hệ thống phần mềm tin cậy cao.