A választ ez a thread tartalmazza:
Orthogonal regions allow modeling independent spaces of state. Orthogonality is not interpreted in the sense of 'multithreading'. Since many people confuse parallelism with multithreading we use the term of orthogonality.
In this sense an execution order must be defined to make the statechart behavior deterministic. For example is you have states in two orthogonal regions that defines a reaction e / a+=1 in one region and e / a *=2 in the second the execution order is relevant. You can define this order in the property sheet for the statechart of by graphically ordering the regions within a state.
Events are just visible within a single run-to-completion-step. So it is possible to react on outgoing and local events only in lower order regions.
We apply single step execution semantics. This means a run-to-completion-step just performs a transition from one state configuration to the next.
A cycle bases approach is implemented what means that it is possible to react to multiple events with in a run-to-completion-step in contrast to a pure event driven approach where one event is processed after another.
Ezek szerint tehát a probléma valamennyire áthidalható úgy, hogy az eseményt invokáló régió kerül bal oldalra (kipróbáltam, működik). Ez természetesen kétirányú kommunikációt nem tesz lehetővé.
Másik lehetőség kommunikációs változók és az active() függvény használata, az egyik régióból a másikba vezető tranzíció azonban rendellenes működéshez vezet.