2013-07-25 71 views
6

Giải thích các câu được trích dẫn sau đây từ UML Reference Manual là gì?Giải thích trạng thái trực giao

When an orthogonal state is entered, the number of control threads increases as a direct substate in each orthogonal region becomes active.

When the orthogonal state is exited, the number of control threads decreases.

+0

Bạn có thể chấp nhận câu trả lời không? –

Trả lời

4

Đây là một phần phức tạp của spec UML. Trong trường hợp đơn giản nhất, khi bạn nhập một trạng thái chứa các vùng trực giao, trạng thái psuedo ban đầu trong mỗi vùng trực giao về cơ bản bắt đầu một luồng điều khiển riêng biệt. Có rất nhiều quy tắc phức tạp về cách các sự kiện được tiêu thụ bởi các luồng này và cách các luồng nối lại với nhau.

Nhưng, theo một nhà phương pháp luận tôi khuyên bạn nên (H. S. Lahman), bạn thực sự không nên sử dụng nhiều hơn đồng bằng cũ Moore state machines. Để biết thêm thông tin về lý do tại sao người ta nên sử dụng máy nhà nước Moore (mà bạn có thể mô hình hoàn toàn tốt trong UML) thay vì máy nhà nước Mealy hoặc Harel, vui lòng xem this excerpt từ Lahman's book. Để biết thêm thông tin về sự khác biệt giữa máy trạng thái Moore và máy móc Mealy, vui lòng xem this StackExchange question.

+0

, Cảm ơn bạn đã đề xuất đó là loại của bạn Bạn có thể vui lòng làm rõ tại sao số lượng chủ đề điều khiển tăng khi trạng thái trực giao được nhập, trong khi số lượng chuỗi điều khiển giảm khi trạng thái trực giao bị thoát? – Andrew

+0

bởi vì tôi không thể tìm ra nó – Andrew

+0

Tôi không chắc chắn những gì không rõ ràng, vì tôi không biết nền của bạn. Mỗi vùng trực giao có trạng thái con riêng hiện tại của nó. Mỗi tiểu bang có thể thực hiện đồng thời các hành vi, bao gồm cả các hành vi được kích hoạt bởi các sự kiện đến. Nếu mỗi trạng thái đang chạy một hành vi chạy dài khác nhau liên quan đến việc chờ đợi một cái gì đó như đĩa I/O, điều đó có thể cho phép CPU làm công việc hữu ích trong thời gian chờ đợi trong các vùng trực giao khác. –