2011-02-11 9 views
5

Chcę utworzyć graficzny interfejs użytkownika aplikacji, który umożliwia użytkownikowi tworzenie wizualnego automatu stanów. Interfejs będzie działać podobnie do produktu Microsoft Visio, w którym użytkownik dodaje bloki lub kręgi (stany), a następnie łączy stany ze strzałkami oznaczającymi zmianę stanu lub zdarzenia. W backendach chciałbym, aby GUI tworzył plik SCXML w celu opisania ważnych połączeń.GUI do tworzenia wizualnej maszyny stanowej

Patrz: SCXML w wikipedii

Oto niektóre inne wymagania:

  1. Platforma Cross (Linux/Windows/MAC OSX)
  2. Open Source
  3. Przyjazny dla użytkownika
  4. Qt implementacja - (preferowane, niewymagane)

Poniżej kilka podobnych projektów:

  1. http://ostatic.org/fsme - nie działa z nową wersją Qt, nie dobrze utrzymane
  2. http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html - bardzo blisko, ale brakuje niektórych funkcji, takich jak wielu połączeń pomiędzy dwoma stanami.

Jeśli nie ma innych możliwości, przejdę do przykładu Diagram sceny Qt (powyżej) i zmodyfikuję go zgodnie z moimi potrzebami.

Chciałbym wiedzieć, czy ktokolwiek wie o dobrze wspieranym i dobrze rozwiniętym narzędziu do dynamicznego tworzenia maszyn stanu wizualnego.

Odpowiedz

0

Może zajść potrzeba sprawdzenia bezpłatnego narzędzia do modelowania QM pod adresem: http://www.state-machine.com/qm. QM został opracowany w najnowszym Qt 4.7 i działa na platformach Windows i Linux. Narzędzie jest specjalnie zaprojektowane do hierarchicznych automatów stanów (statecharts UML). Jeśli znasz inne narzędzia graficzne tego typu (IBM Rhapsody, BoUML, MagicDraw, Enterprise Architect, a nawet Visio), z pewnością docenisz łatwość tworzenia stanów zagnieżdżonych i przejść routingowych w QM. Narzędzie generuje kod C lub C++ na podstawie dojrzałych frameworków maszyny stanu QP. (Automatyczne generowanie kodu jest prawie zawsze oparte na strukturze). QM jest ukierunkowany głównie na wbudowane systemy czasu rzeczywistego.

1

Czy widziałeś AutomataEditor? Może nawet przeprowadzić symulację pracy automatów.

Jest napisany w Qt i jest otwarty.

0

Chyba mówiłeś

"Chcę utworzyć GUI aplikacji"

Oznacza to, że trzeba pewne ramy do budowania aplikacji ..! Jeśli mam rację, Możesz rzucić okiem na tę strukturę JavaScript o nazwie JointJS Jest to Biblioteka tworzenia schematów JavaScript. Ta strona o nazwie FigurePool jest dobrym przykładem GUI edytora grafów zbudowanego za pomocą programu jointjs! Mam nadzieję, że te informacje ci pomogą.

Używam go również do automatów stanów .

Powiązane problemy