Die synchrone Parallelität der Statecharts wird in Java als ein sequentielles Programm dargestellt. Damit ist das Resultat einer Codegenerierung immer ein sequentielles Java-Programm.
Weil die Statecharts-Spezifikationen üblicherweise offene Systeme spezifizieren, also solche, die mit einem imaginären Environment kommunizieren, wird ein generiertes Programm nicht lauffähig sein, weil ihm die Auslösenden Events fehlen. Deswegen soll der generierte Code eine Schnittstelle zur Verfügung stellen, so daß der Code um ein Environment ergänzt werden kann, damit sich ein lauffähiges Programm entsteht. Zwei Arten der Kommunikation mit dem Environment sollen möglich sein: