Một gợi ý cho việc trừu tượng hóa và atomat để kiểm tra gợi ý đó

Một phần của tài liệu Hướng dẫn sử dụng UPPAAL 4.0 (Trang 45 - 47)

8 Các demo khác trong Uppaal

7.12 Một gợi ý cho việc trừu tượng hóa và atomat để kiểm tra gợi ý đó

thời gian phản ứng với kích thích khởi tạo từ Sender đển việc truyền kích thích này đến P3 ít nhất là 4. Chúng ta không cần lo lắng về việc tính toán nội bộ hoặc thời điểm chính xác khi các kích thích được truyền từ P1 đến P2. Đặc biệt, chúng ta có thể thay thế P1||P2 với automat đơn giản hơn nhiều P1P2. Để cho thấy điều này là một sự thay thế hợp lệ, chúng ta chỉ ra đơn giản là vị tri BAD không thể đạt tới trong hệ thống P1||P2||TestP1P2, nơi mà TestP1P2 là automat thử nghiệm cho P1P2. Một khái niệm trừu tượng tương tự P3P4 có thể thấy được đưa cho hệ thống con P3||P4 và đặc tính mong muốn có thể được thiết lập cho một hệ thống đơn giản hơn nhiều P1P2||P3P4, hơn là với hệ thống ban đầu.

Chương 8

Các demo khác trong Uppaal

8.1 Demo: 2 doors

Nội dung bài toán

Một căn phòng có 2 cánh cửa nhưng không thể mở cùng một lúc. Một cánh cửa sẽ mở nếu nút bấm được nhấn. Cánh cửa sẽ mở trong vòng 6s, sau đó có thể mở tiếp trong 4s nhưng không được quá 8s. Mất 6s để đóng cửa và sau khi đã đóng rồi thì nó sẽ không thể mở ra trong ít nhất 5s sau đó.

Những giả thiết sau được áp dụng trong mô hình:

- Nút bấm mở cửa không được bấm khi cửa đang mở, đã mở hoặc đang đóng. - Có giới hạn trên ở địa điểm “close”, ví dụ như trễ sau khi cửa đã đóng. Công việc của chúng ta là mô hỏng lại hoạt động của hệ thống này sao cho nó thỏa mãn đặc điểm mutex (cả 2 cửa không thể mở 1 lúc) và xác đinh xem giớ hạn trên khi cửa đã mở hoàn toàn sau khi bâm nút mở cửa, và chứng minh được giới hạn trên này là nhỏ nhất.

Mô hình hóa trên UPPAAL

Mô hình 2 cửa có 2 khuôn mẫu (template) đó là cánh cửa và người qua cửa. - Door là template của cánh cửa.

- User là template của người mở cửa.

Vì bài toán có tính đến độ trễ khi mở cửa và đóng cửa nên đương nhiên trong khi mô hình hóa ta sẽ phải sử dụng automat thời gian để mô phỏng khoảng thời gian trễ này. Tương ứng với mỗi cửa và mỗi người sử dụng sẽ có một đồng hồ riêng.

CHƯƠNG 8. CÁC DEMO KHÁC TRONG UPPAAL 8.1. DEMO: 2 DOORS

Khai báo các biến toàn cục như sau:

bool activated1, activated2; urgent chan pushed1, pushed2; urgent chan closed1, closed2;

Door1 = Door(activated1, pushed1, closed1, closed2); Door2 = Door(activated2, pushed2, closed2, closed1); User1 = User(activated1, pushed1);

User2 = User(activated2, pushed2);

system Door1, Door2, User1, User2;

Template của cánh cửa:

Một phần của tài liệu Hướng dẫn sử dụng UPPAAL 4.0 (Trang 45 - 47)