2011-02-11 9 views
5

Quiero crear una GUI de aplicación que permita a un usuario crear una máquina de estado visual. La interfaz funcionaría de manera similar al producto Visio de Microsoft, donde el usuario agrega bloques o círculos (estados) y luego conecta los estados con líneas de flecha que indican un cambio de estado o un evento. En el back-end, me gustaría que la GUI cree un archivo SCXML para describir las conexiones importantes.GUI para crear Visual State Machine

Ver: SCXML en Wikipedia

Éstos son algunos otros requisitos:

  1. multiplataforma (Linux/Windows/MAC OSX)
  2. Open Source
  3. de uso fácil
  4. Qt implementación - (preferido, no requerido)

He aquí algunos proyectos relacionados:

  1. http://ostatic.org/fsme - no funciona con la nueva versión de Qt, no está bien mantenido
  2. http://doc.qt.nokia.com/4.6/graphicsview-diagramscene.html - muy cerca, pero faltan algunas funciones tales como múltiples conexiones entre los dos estados.

Si no hay otras alternativas, voy a tomar el ejemplo de Qt Diagram Scene (arriba) y lo modificaré según mis necesidades.

Me encantaría saber si alguien más conoce una herramienta bien soportada y bien desarrollada para la creación dinámica de máquinas visuales de estado.

Respuesta

0

Es posible que desee consultar la herramienta gratuita de modelado de QM en: http://www.state-machine.com/qm. QM ha sido desarrollado en el último Qt 4.7 y se ejecuta en plataformas Windows y Linux. La herramienta está diseñada específicamente para máquinas de estado jerárquico (gráficos de estado UML). Si conoce otras herramientas gráficas de este tipo (IBM Rhapsody, BoUML, MagicDraw, Enterprise Architect o incluso Visio), apreciará la facilidad de crear estados anidados y transiciones de enrutamiento en QM. La herramienta genera código C o C++ basado en los marcos de máquina de estado QP maduros. (La generación automática de código casi siempre se basa en un marco). QM está dirigido principalmente a sistemas incrustados en tiempo real.

1

¿Has visto AutomataEditor? Incluso puede hacer una simulación de un trabajo de autómata.

Está escrito en Qt y es de código abierto.

0

creo que ha dicho

"Quiero crear una GUI de la aplicación"

Esto significa que necesita algún tipo de marco para construir una aplicación ..! Si estoy en lo correcto, Puede echar un vistazo a este marco de Javascript llamado JointJS Es un JavaScript Diagramming Library. Este sitio llamado FigurePool es un buen ejemplo de la GUI del editor gráfico construida con jointjs! Espero que esta informacion te ayude.

También lo estoy usando para las máquinas de estado Reservation Table Analyzer.