8 Các demo khác trong Uppaal
7.9 Mẫu của mô hình timer Mẫu (a) có int value; chan set là tham số và mẫu (b) có
active; chan set; const T0 là tham số. Cả hai mẫu có khai báo cục bộ clock x.
không hoạt động) và chờ đợi một khoảng thời gian (timer hoạt động). Mẫu a dùng một tính năng của Uppaal để kết hợp số nguyên với đồng hồ trong rằng buộc về giờ. Rằng buộc này là động và phụ thuộc vào giá trị của số nguyên. Khi trở về trạng thái Expired, timer sẽ xóa giá trị của nó, trong đó có ảnh hưởng đến (1) việc dùng giảm biến (xem mẫu 7.1) và (2) để cung cấp một cách đơn giản để kiểm tra khoảng thời gian chờ. Mẫu (b) đơn giản hơn về ý nghĩa rằng một hằng số được dùng trong rằng buộc đồng hồ. Việc kiểm tra khoảng thời gian chờ tương đương với kiểm tra biến kiểu bool active.
Ví dụ sử dụng mẫu này trong thực tế
Một biến thể của mô hình timer được dùng trong máy phân loại của mô hình trước (xây dựng lại cho mục đích giáo dục trong Lego): Một timer được kích hoạt khi một viên gạch màu đi qua cảm biến ánh sáng. Khi một timer chờ một pittong đẩy viên gạch từ dây tải.
7.8. KIỂM TRA PHẠM VI SỐNG CHƯƠNG 7. CÁC THIẾT KẾ MẪU
7.8 Kiểm tra phạm vi sống
Mục đích
Để kiểm tra đặc tính phạm vi sống, đặc tính này được đảm bảo không chỉ để giữ đến cuối cùng mà còn trong một số quy định về rằng buộc thời gian. Đặc tính phạm vi sống về thời gian là đặc tính an toàn cơ bản và do đó thường tính toán dễ dàng để xác minh. Vì thế đi từ đặc tính sống đến một phiên bản thời gian bị chặn sẽ không chỉ cung cấp thêm thông tin – nếu có thể cung cấp một liên kết hợp lệ - nhưng cũng làm cho việc xác minh hiệu quả hơn.
Ý nghĩa
Đối với tính sống của các hệ thống thời gian thực nói chung thường không diễn đạt đủ để đảm bảo tính đúng: thực tế là đặc tính đặc thù được đảm bảo để giữ đến cuối cùng là không đủ trong trường hợp thời hạn cứng thời gian thực phải được quan sát. Những gì thực sự cần thiết để thiết lập đặc tính trong câu hỏi sẽ giữ trong một giới hạn thời gian.
Ví dụ mẫu
Trong ví dụ cổng xe lửa đã giới thiệu lúc đầu trong hướng dẫn này, một yêu cầu tự nhiên là một xe lửa được trao quyền đi qua cầu trong một khoảng thời gian sau khi có tín hiệu nó đang đến gần. Thực tế, không chỉ cánh cổng có trách nhiệm để tránh xung đột khi qua cầu mà còn để đảm bảo xử lý công bằng và kịp thời. Trong hình 30, mẫu xe lửa đã được thêm một biến cục bộ bool b và một đồng hồ z. b (được khởi tạo là 0) được set là 1 trên sự chuyển tiếp đến vị trí Appr và set 0 trên hai chuyển tiếp đến Cross. Đồng hồ z được reset trên chuyển tiếp đến Appr. Trên mô hình được mở rộng, chúng ta kiểm tra tính an toàn A[ ](Train1.b==1 imply Train1.z<=100) cái mài xác định đặc tính phạm vi sống giữ cho Train1. Trong thực tế do những tính đối xứng rõ ràng trong mô hình- nó đủ để thiết lập đặc tính cho một xe lửa, Train1. Trong tường hợp này, nó sẽ có thuận lợi cho Train1 để mẫu duy nhất để tránh việc mở rộng cho tất cả các xe lửa. Đặc biệt, không gian trạng thái sẽ nhỏ hơn đáng kể trong cách này.
Ví dụ sử dụng mẫu này trong thực tế
Hầu như bất kì hệ thống thời gian thực sẽ có một số các đặc tính sống như thông tin về giới hạn thời gian là thiết yếu cho sự chính xác của các hệ thống. Bộ điều khiển hộp số của [54] cung cấp một ví dụ, hay có một danh sách dài các đặc tính phạm vi sống trực tiếp thu được từ các yêu cầu quy định của công ty Mecel AB.
7.9 Trừu tượng hóa và mô phỏng
Mục đích
Mục tiêu của sự trừu tượng hóa là để thay thế các vấn đề của việc kiểm tra các hệ thống cụ thể rất lớn, và không tiện lợi bằng các hệ thống trừu tượng nhỏ hơn và có hy vọng thực thi được.
CHƯƠNG 7. CÁC THIẾT KẾ MẪU 7.9. TRỪU TƯỢNG HÓA VÀ MÔ PHỎNG
Hình 7.10: Ví dụ The Train Gate được điều chỉnh để cho phép kiểm tra phạm vi tính sống Đặc biệt, mô hình có thể được ứng dụng một cách thành phần đến một hệ thống con. Các hệ thống con đa dạng được thay thế bởi các vật trừu tượng thích hợp, và các nỗ lực kiểm tra được tiến hành trong các thành phần của các hệ thống con trừu tượng này.
Hỗ trợ từ Uppaal
Mặc dù sự tiến bộ rất lớn trong khả năng kiểm chứng của Uppaal nhiều năm qua- và chắc chắn những năm sắp tới- sự bùng nổ không gian trạng thái vẫn là một vấn đề còn tồn tại, sẽ được giải quyết bởi những tiến bộ về thuật toán. Tuy nhiên, trong việc xác minh những đặc tính cụ thể của một hệ thống thường chỉ là một phần của cách hoạt động của các thành phần đa dạng có liên quan. Người thiết kế sẽ thường có một trực giác tốt về sự liên quan của các thành phần này, trong trường hợp người thiết kế có khả năng cung cấp sự trừu tượng cho các thành phần đa dạng, vẫn đủ cụ thể để giữ các đặc tính đã cho, nhưng đủ trừu tượng (và nhỏ) để nỗ lực xác minh trở nên khả thi. Để đưa ra hai yều cầu về phương pháp luận cần được thỏa mãn. Thứ nhất, các khái niệm trừu tượng được dùng nên giữ được các tính chất quan tâm. Một đặc tính được biễu diễn để giữ sự trừu tượng, nó cũng nên đảm bảo giữ cho các hệ thống cụ thể. Thứ hai, mối quan hệ trừu tượng nên được giữ gìn dưới các thành phần của hệ thống. Trong [46,45] chúng tôi đưa ra khái niệm (ready) của các đặc tính an toàn về giữ thời gian mô phỏng trước khi làm phù hợp các thành phần. Hơn nữa, sự trừu tượng cho tiền định và với việc chuyển tiếp nội bộ, mô phỏng có thể thiết lập việc kiểm tra tính đạt được đơn giản.
7.9. TRỪU TƯỢNG HÓA VÀ MÔ PHỎNG CHƯƠNG 7. CÁC THIẾT KẾ MẪU
Cho A là một automat thời gian được đề xuất như một sự trừu tượng cho một vài hệ thống S (có thể là một mạng automat thời gian). Chúng ta coi rằng A là tiền định và không có bất kỳ chuyển tiếp nội bộ nào. Để đơn giản hóa, chúng ta sẽ coi tất các kênh là không khẩn cấp và không tồn tại các biến chia sẻ giữa S và các hệ thống còn lại. Để cho thấy A thực sự là một khái niệm trừu tượng của S về ý nghĩa, A(ready) mô phỏng theo thời gian S hỗ trợ kỹ thuật thử nghiệm TA được xây dựng theo cách sau:
TA có A như là bộ xương nhưng với việc chỉ đạo các hành động (input/output) đảo ngược. Một vị trí mới phân biệt bad được thêm và từ tất cả các vị trí l và tất cả các hành động a và một cạnh dán nhãn a từ l đến bad được chèn với guard¬(g1∨...∨gn) nơi mà g1 . . . gn là tập hợp đầy đủ các guard của cạnh dán nhãn a của l trong bộ xương. Bây giờ S (ready) được mô phỏng theo thời gian bởi A- và vì thế A là khái niện trừu tượng có giá trị của S- chính xác nếu vị trí bad là không thể đạt được trong hệ thống hỗn hợp S||TA. Cơ bản, TA cho thấy tất cả các hoạt động của S có thể tương xứng với A.
Ví dụ mẫu
Xem xét mô hình Uppaal trong hình7.9 gồm một Sender, một Receiver và 4 quá trình đường
Hình 7.11: Mô hình một hệ thống pipeline
ống Pi. Mỗi quá trình đường ống Pi có nghĩa vụ phản ứng lại với một kích thích từ người tiền nhiệm trên kênh ai và vượt qua nó đến người kế thừa của nó trên kênh ai+1. Một đồng hồ cục bộ được dùng để mô hình mà mỗi quá trình đường ống thêm một trễ nhỏ nhất là 2. Sau khi hoàn thành việc thông qua trên, quá trình đương ống tham gia một vài tính toán nội bộ (vòng tròn nhỏ S2, S3, S4). Bây giờ coi rằng chúng ta muốn xác minh Receiver sẽ nhận kích thích của nó không sớm hơn sau 8 đơn vị thời gian, hoặc trong 2n trong một hệ thống với n quá trình đường ống. Rõ ràng, hệ thống chúng ta dang xem xét dẫn đến sự bùng nổ không gian trạng thái rất lớn khi chúng ta tăng số lượng các phần tử đường ống. Tuy nhiên, việc thiết lập đặc tính chúng ta chỉ cần một chút thông tin về các hệ thống con. Đối với P1||P2 về cơ bản, chúng ta chỉ cần biết
CHƯƠNG 7. CÁC THIẾT KẾ MẪU 7.9. TRỪU TƯỢNG HÓA VÀ MÔ PHỎNG