“…At this point, it is well known that the software industry does not always provide satisfactory solutions to fill the gap between high-level modeling languages and programming languages. In particular, generating code from state machine diagrams constitutes one of the most challenging tasks due to their dynamic nature and because many of the state machine specification concepts are not directly supported by the object-oriented programming languages [6][7][8][9][10][11] (such as events [8], states [8,7], history pseudostates [8], or fork pseudostates [7]). Therefore, it is not surprising that there are a wide number of proposals in the literature devoted to studying the implementation of state machine specifications in different programming languages in a wide variety of application contexts such as distributed control systems [12], decentralization of production control systems [13,14], e-voting systems [15][16][17], or even NASA space missions [18][19][20].…”