SCXML : State Chart XML

Data Model

Principe

Data Model permet d'utiliser des variables dans des états. Ces variables peuvent être utilisées comme condition pour transiter d'un état à un autre. La portée de ces variables est établie par rapport à leur déclaration. Si un état contient des variables et des sous-états, ces sous-états auront accès aux variables.

Schéma

Code

			<state id="Scorer">
				<datamodel>
					<data name="Score" expr="0"/>
				</datamodel>
				<transition cond="Score==3" target="GameOver"/>
				<transition event="point">
					<assign name="Score" expr="Score+1"/>
				</transition>
			</state>
			

La balise datamodel permet de définir des données internes au diagramme. data est une donnée du datamodel. Elle est composée d'un nom (name) et d'une valeur (expr). cond permet de poser une condition relative à une transition.

L'exemple ci-dessus effectue trois transitions dans l'event point avant de transiter vers l'état GameOver.