c++ state machine generator
Sind Sie sich bewusst von opensource-state-machine in c++ - code-Generatoren (für linux)? Im Idealfall würde das tool die Ausgabe aller state machine logic und die stubs. Auch würde es akzeptieren, UML-oder human-readable manifest-Dateien als Eingabe.
- Haben Sie sah Boost.MSM? Es hat eine EDSL bedeutete, zu imitieren, UML und hat hervorragende Laufzeitleistung.
- lex und yacc jeden Fall generieren state-machines, und g++ : )
- Ich würde vorschlagen, SMC, aber es keine Unterstützung für UML.
- Das war mein Erster Gedanke auch. Die Frage ist zu breit.
- Ich fand diesen Artikel ganz gut auf das Thema "Sicherheit".hsr.ch/mse/Projekte/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie einen Blick auf Yakindu: http://statecharts.org/
Ragel hat einen ziemlich guten Ruf.
(Ich habe keine Besondere Erfahrung mit ihm).
Haben Sie einen Blick auf Thingml. Es bietet eine textuelle syntax (unabhängig von C) für UML-like state-machines. So etwas wie:
ThingML können generieren C-code kann leicht eingebettet werden in C++ - Programmen. Sie können tatsächlich erzeugen mehr als stubs. Wir können in der Tat generieren voll Lebenswirklichkeit code. Natürlich, wenn es um low-level Implementierungsdetails, wir bieten einen Mittelwert zu mischen ThingML-code mit C-code.
Beachten Sie, dass wir auch gezielt Java und JavaScript
Finden Sie vielleicht meine STTCL Rahmen interessant. Es ist kein generator, aber die vorhandene (Basis -) Klassen, die map sehr gut, um UML-statechart-Definitionen.
http://makulik.github.com/sttcl/
Ist die nächste Sache, die ich gesehen habe, die funktionieren könnte für Sie StateProto. Aber es gibt von C# - code.
Sollten Sie sich StateProto und QHSM. Open-source-Projekt ist hier: http://code.google.com/p/gqhsm/
StateProto ist open-source und die Ausgabe-Funktionen können modifiziert werden, um die Ausgabe c++ - code für Sie. Aber es nutzt Delegierten.
Ich würde empfehlen, dass Sie eine data-driven design statt. StateProto wird die XML-output-state-machines und es ist C# code für das laden der XML und fahren Sie die state machine aus den Daten.
Finden Sie zahlreiche QHSM Implementierungen in c++. Ich weiß nicht, ob alle XML-Lader zur Verfügung.
Werfen Sie einen Blick auf die open-source-QP/C++ state machine framework und dem kostenlosen QM-Modellierungs-tool (siehe http://www.state-machine.com). Das QP/C++ - framework unterstützt die hierarchische state machines (UML-statecharts) und ermöglicht die Ausführung von mehreren solchen Zustand Maschinen gleichzeitig. QP/C++ wurde nach Linux portiert (siehe http://www.state-machine.com/linux).
Nun, bezüglich der code-generator, die kostenlosen QM-Modellierungs-tool (siehe http://www.state-machine.com/qm) erlaubt das zeichnen von state machine Diagramme und generiert C++ - code für das QP/C++ framework. QM selbst ist plattformunabhängig und läuft auf Linux, als auch Windows und Mac OS X.