SCXML : State Chart XML

Communication Broadcast

Principe

Communication Broadcast permet de faire communiquer plusieurs états entre eux. Il n'est donc pas indispensable de sortir du système pour effectuer une transition entre deux états.

Schéma

Code

			<parallel id="start">
				<state id="Pinger">
					<onentry>
						<raise event="ping"/>
					</onentry>
					<transition event="pong">
						<raise event="ping" delay="1s"/>
					</transition>
				</state>
				<state id="Ponger">
					<transition event="ping">
						<raise event="pong" delay="1s"/>
					</transition>
				</state>
			</parallel>
			

La balise parallel est présente car deux états sont lancés en même temps. onEntry permet de définir du code à exécuter lorsque l'on rentre dans un état. raise permet de lever un évènement volontairement. delay permet de fixer un temps avant de lever l'évènement ci-dessus.

L'exemple ci-dessus représente deux états jouant au ping-pong.