Các biểu đồ máy trạng thái có thể mô hình hóa tất cả hành vi của một lớp, một ca sử dụng, một hệ thống. Trong ngữ cảnh này, biểu đồ máy trạng thái đƣợc lựa chọn để mô hình hóa các hành vi của mỗi đối tƣợng trong hệ thống, trong các giai đoạn sau đó, nhƣ giai đoạn cài đặt và giai đoạn kiểm thử sẽ dùng đến máy trạng thái cho mỗi đối tƣợng.
2.4. Kết luận
Trong chƣơng này, đã giới thiệu khái quát các biểu đồ của UML 2.0. Mô tả hệ thống điều khiển thang máy cùng với các chức năng cơ bản cũng nhƣ mục tiêu của hệ thống. Đồng thời trình bày chi tiết UML cho việc mô phỏng hệ thống điều khiển thang máy. Các biểu đồ UML đƣợc sử dụng ở đây là biểu đồ ca sử
dụng, biểu đồ lớp, biểu đồ tuần tự, biểu đồ truyền thông, biểu đồ máy trạng thái. Thông qua sự mô tả chi tiết các biểu đồ dùng cho việc phân tích, thiết kế ECS (có sự trợ giúp của phần mềm Rational Rose – công cụ hỗ trợ việc phân tích, thiết kế hệ thống phần mềm theo hƣớng đối tƣợng), UML đã đƣợc sử dụng để mô hình hóa khá tốt các hệ thống thời gian thực.
Sự phổ biến và thiết thực của các ký hiệu UML, kỹ thuật hƣớng đối tƣợng có thể đƣợc khai thác một cách thích hợp để phát triển hệ thống thời gian thực.
Tóm lại, UML nếu sử dụng một cách đúng đắn cùng với việc quan tâm, chú ý đến các nét đặc trƣng thời gian thực của một hệ thống và kết hợp các ghi chép khác, thì nó hỗ trợ rất nhiều cho việc phân tích và thiết kế hệ thống thời gian thực. Mỗi biểu đồ trong UML chỉ là một sự mô tả đồ họa một vài khía cạnh trong một hệ thống. Không có biểu đồ nào có thể nắm bắt mọi thứ về một khung nhìn thiết kế của hệ thống. Các biểu đồ của UML phải đƣợc kết hợp để thể hiện một sự mô tả đầy đủ của một hệ thống thời gian thực.
CHƢƠNG III
CHƢƠNG TRÌNH MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN THANG MÁY
3.1. Mô phỏng chương trình
Chƣơng trình mô phỏng thang máy hai tầng, trong đó mô hình hóa hoạt động của thang máy (mở/đóng cửa, di chuyển lên/xuống, dừng tại tầng yêu cầu, v.v …), mô hình hóa hành khách – ngƣời sử dụng (NSD) thang máy, cửa thang máy, cửa tầng, nút nhấn thang máy, nút tầng, đƣờng nâng thang máy, chuông, tầng. Mô phỏng thang máy hoạt động phù hợp theo yêu cầu đi lại của NSD.
Trong chƣơng trình mô phỏng có tạo ra các đối tƣợng mô phỏng NSD thang máy, thang máy, cửa, tầng, v.v… và thể hiện các hoạt động nhƣ:
Thang máy đến tầng mà NSD yêu cầu để phục vụ nhu cầu đi lại của hành
khách, và một ngƣời cho mỗi thang máy.
Ngƣời sử dụng tiến tới buồng thang máy và nhấn nút tầng.
Thang máy đang di chuyển, cửa đang mở, cửa đang đóng.
Nút nhấn thang máy sáng trong khi thang máy hoạt động.
Đèn thang máy và đèn tầng sáng (đèn tầng sáng thể hiện hƣớng di chuyển
tiếp theo của thang máy) khi ngƣời sử dụng đến tầng đích.
Khi ngƣời ở tầng một (tầng hai) nhấn nút yêu cầu thang máy trƣớc, ngƣời
ở tầng hai (tầng một) nhấn nút yêu cầu thang máy sau, nhƣng thang máy đang di chuyển theo hƣớng lên (xuống) thì thang máy phải phục vụ yêu cầu của hành khách ở tầng hai (tầng một) trƣớc. Trƣờng hợp nếu không có yêu cầu thang máy từ tầng hai (tầng một) thì thang máy sẽ tự do di chuyển theo hƣớng ngƣợc lại để phục vụ hành khách ở tầng đối diện.
Khi thang máy đến tầng đích, cửa mở cho hành khách rời khỏi thang máy,
cùng lúc trên tầng đó có hành khách vừa đến để đi thang máy thì cửa vẫn mở để hành khách bƣớc vào thang máy.
Đồng thời trong hệ thống phải thỏa mãn các yêu cầu ràng buộc thời gian thực (hạn định thực hiện của các hoạt động trong hệ thống) nhƣ sau:
Thời gian để hệ thống nhận yêu cầu từ NSD (khi NSD nhấn nút tầng hay nút thang máy) trong vòng 1 giây.
Cửa tầng mở (đóng) trong thời gian 1 giây.
NSD bƣớc vào thang máy trong thời gian 1 giây.
Ngoài ra, trong chƣơng trình còn hiển thị giao diện đồ họa thân thiện cho NSD có thể điều khiển thang máy. Hiển thị nút nhấn tầng một và tầng hai, nút tầng ở trạng thái không đƣợc nhấn (mờ) nếu tầng đó đã thực sự có 1 ngƣời nhấn nút tầng. Thể hiện các hoạt động kết hợp với âm thanh nhƣ: tiếng bƣớc chân khi ngƣời đi bộ, tiếng lách tách khi nhấn nút, chuông thang máy rung khi NSD bƣớc vào/ra khỏi thang máy, âm thanh nhẹ khi thang máy di chuyển, cửa kêu khi mở, đóng. Và không giới hạn số lƣợng NSD đƣợc tạo ra trong mô phỏng.
3.2. Chi tiết các lớp chính
Từ các thành phần và hoạt động của chƣơng trình mô phỏng, sẽ đƣa ra các lớp chính của chƣơng trình nhƣ sau:
ThangMay: đƣợc yêu cầu di chuyển đến tầng nào đó từ tầng hiện tại trong một khoảng thời gian cho phép (5 giây), sức chứa của thang máy (trong mô phỏng này là 1 ngƣời). Thang máy phải đặt lại chế độ nút nhấn trong buồng thang máy khi hành khách rời khỏi thang máy, rung chuông, báo hiệu việc đến của nó đến tầng nào đó, ra lệnh mở, đóng cửa khi cần thiết.
Nguoi: mô hình hóa ngƣời đang đi bộ trên tầng, đang đợi thang máy, nhấn nút tầng, nhấn nút thang máy, đi thang máy, bƣớc vào/ra khỏi thang máy.
Tang: tầng một hay tầng hai, trọng lƣợng của tầng.
NutTang: yêu cầu thang máy khi ngƣời dùng nhấn nút tầng, do đó có thuộc tính nhấn và các thao tác nhấn nút hay đặt lại nút nhấn.
NutThangMay:cũng có các thuộc tính và thao tác nhƣ NutTang chỉ khác là NutThangMay thực hiện yêu cầu đến tầng nào đó.
CuaTang: thực hiện đóng, mở cửa báo hiệu cho ngƣời sử dụng chuẩn bị bƣớc vào thang máy.
CuaThangMay: báo hiệu cho ngƣời sử dụng chuẩn bị rời khỏi thang máy bằng thao tác mở cửa, yêu cầu mở hay đóng cửa tầng.
Chuong: rung chuông khi cần thiết.
Den: điều khiển bật/tắt đèn thang máy phù hợp với hoạt động của thang
máy (đèn thang máy sáng khi thang máy đến tầng đích)
DuongNangThangMay: điều khiển bật/tắt đèn tầng, đặt lại nút tầng. Và mối quan hệ giữa các lớp này đƣợc thể hiện trong hình sau: