2011-02-11 16 views
5

Tôi muốn tạo giao diện ứng dụng cho phép người dùng tạo máy trạng thái trực quan. Giao diện sẽ hoạt động tương tự như sản phẩm Visio của Microsoft, nơi người dùng thêm khối hoặc vòng tròn (tiểu bang) và sau đó kết nối các trạng thái với các đường mũi tên biểu thị sự thay đổi trạng thái hoặc sự kiện. Trong backend, tôi muốn GUI tạo một tệp SCXML để mô tả các kết nối quan trọng.GUI để tạo máy trạng thái trực quan

Xem: SCXML trong wikipedia

Dưới đây là một số yêu cầu khác:

  1. Cross Platform (Linux/Windows/MAC OSX)
  2. Open Source
  3. người dùng thân thiện
  4. Qt triển khai - (ưa thích, không bắt buộc)

Dưới đây là một số dự án có liên quan:

  1. http://ostatic.org/fsme - Không làm việc với phiên bản mới của Qt, không duy trì tốt
  2. http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html - rất gần, nhưng thiếu một số chức năng như nhiều kết nối giữa hai trạng thái.

Nếu không có lựa chọn thay thế nào khác, tôi sẽ lấy ví dụ về Sơ đồ cảnh của Qt (ở trên) và sửa đổi nó cho phù hợp với nhu cầu của tôi.

Tôi rất muốn biết liệu có ai khác biết về một công cụ được hỗ trợ tốt và phát triển tốt để tạo động máy trạng thái trực quan hay không.

Trả lời

0

Bạn có thể muốn kiểm tra công cụ tạo mô hình QM miễn phí tại: http://www.state-machine.com/qm. QM đã được phát triển trong Qt 4.7 mới nhất và chạy trên nền tảng Windows và Linux. Công cụ này được thiết kế đặc biệt cho các máy trạng thái phân cấp (các thống kê UML). Nếu bạn biết các công cụ đồ họa khác thuộc loại này (IBM Rhapsody, BoUML, MagicDraw, Kiến trúc Doanh nghiệp, hoặc thậm chí Visio), bạn sẽ đánh giá cao sự dễ dàng của việc tạo các trạng thái lồng nhau và chuyển tiếp định tuyến trong QM. Công cụ này tạo ra mã C hoặc C++ dựa trên các khung máy trạng thái QP trưởng thành. (Việc tạo mã tự động hầu như luôn dựa trên một khung công tác.) QM được nhắm mục tiêu chủ yếu cho các hệ thống thời gian thực được nhúng.

1

Bạn đã xem AutomataEditor chưa? Nó thậm chí có thể làm một mô phỏng của một công việc automata.

Được viết bằng Qt và là nguồn mở.

0

Tôi nghĩ bạn nói

"Tôi muốn tạo ra một giao diện ứng dụng"

Điều này có nghĩa bạn cần một số khuôn khổ để xây dựng một ứng dụng ..! Nếu tôi chính xác, Bạn có thể xem khung Javascript này được gọi là JointJS Thư viện lập trình JavaScript JavaScript. Trang web này được gọi là FigurePool là một ví dụ điển hình về trình chỉnh sửa đồ thị GUI được xây dựng với các khớp nối! Tôi hy vọng thông tin này sẽ giúp bạn.

Tôi cũng đang sử dụng nó cho Reservation Table Analyzer máy trạng thái.