13.07.2015 Views

Bouml reference manual - Fedora Project Packages GIT repositories

Bouml reference manual - Fedora Project Packages GIT repositories

Bouml reference manual - Fedora Project Packages GIT repositories

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

file:///C:/uml/BOUML/bouml_3.0/doc/TOUT.html339 of 378 07/10/2007 15:55State machine generatorThe state machine generator create or update the classes implementing a behavioral state machine on which it is applied.Currently the state machine generator only generates C++ definitions.When you apply this plug-out on a state machine, a classhaving the same name (removing non legal characters) is created (or updated in case it already exist) in the same class view to implementit. This class doesn't contain static attributesand may have several instances. Each sub-state is managed through an own sub-class, the tree of the states and the associated classes isthe same. For each trigger, whatever the state waiting for it, an operation having the same name (the C++ trigger must have a legal C++name, the C++ guards must be legal C++ forms etc ...) is defined. Currently the triggers can't have parameters, and a transition can'tseveral triggers. You must apply these operations on the instance of the class implementing the state machine to simulate the event,returned value is true until the final state is reached. The operation starting the execution is named create (the only legal trigger for atransition from an initial pseudo state). A trigger's name can't start by the character '_', allowing me to produce operations and attribstarting by '_' without collision.For instance, in case you apply the state machine generator on the following state machine :you will obtain these definitions :

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!