Automat 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 47 - 48)

8 Các demo khác trong Uppaal

8.1 Automat của cánh cửa

Template cửa có 4 biến là: activated, pushed, closed1, closed2. Để đảm bảo không có trễ xảy ra khi chuyển trạng thái thì pushed, closed1, closed2được chọn là kênh dạng urgent.

- Activated là biến dạng boolean cho biết có tín hiệu mở cửa hay không, nếu có thì giá trị của nó là true và ngược lại.

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

- Pushed: tín hiệu mở cửa.

- Closed1: tín hiệu báo cửa 1 đã đóng. - Closed2: tín hiệu báo cửa 2 đã đóng.

Template của cửa có 6 trạng thái: idle, wait, opening, open, closing, closed.

- Idle: trạng thái ban đầu của automat, có ý nghĩa làcửa đang chờ, khi cửa đã đóng và chưa có yêu cầu mở cửa. Khi có tín hiệu activated ứng với có yêu cầu mở cửa thì mới chuyển đến trạng thái tiếp theo.

- Wait: trạng thái đợi của cửa khi đã bấm nút mở cửa, tồn tại trạng thái này bởi có khả năng cửa còn lại đang mở nên chưa thể mở cửa này ngay được mà phải đợi cửa kia đóng lại. Khi biết cửa kia đã đóng (kiểm tra urgent channel closed2có thỏa mãn hay không thì mới chuyển đến trạng thái tiếp theo). Trong giai đoạn này ta cũng đặt giá trị đầu cho đồng hồ x=0 như trên hình vẽ.

- Opening: trạng thái cửa đang mở, automat sẽ dừng ở trạng thái này khi đồng hồ có giá trị x<6 (ứng với 6s trễ mở cửa), để chuyển tiếp sang trạng thái khác thì đồng hồ phải có giá trị x==6. Lúc này ta reset lại đồng hồ.

- Open: trạng thái báo hiệu cửa đã mở. Để đáp ứng điều kiện cửa phải mở trong khoảng từ 4s đến 8s, ta tiếp tục sử dụng đồng hồ x. Muốn đến trạng thái tiếp theo thì 4<=x<=8. Tiếp tục reset lại đồng hồ 1 lần nữa.

- Closing: trạng thái cửa đang đóng, để cửa đóng hẳn thì đồng hồ phải đếm khoảng thời gian là 6s và nút bấm mở cửa không được bấm. Reset đồng hồ thêm 1 lần nữa.

- Closed: trạng thái cửa đóng hẳn, khi đến trạng thái này, automat sẽ phát đi tín hiệu closed1 báo hiệu cho cửa còn lại là cửa này đã đóng. Tương tự như ở bước trên, cần có thời gian trễ mở cửa là 5s sử dụng đồng hồ, sau 5s quay về trạng thái idle.

Template của người sử dụng

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