  Software development for Cyber-Physical Systems (CPS) is a sophisticated
activity as these systems are inherently complex. The engineering of CPS
requires composition and interaction of diverse distributed software modules.
Describing both, a systems architecture and behavior in integrated models,
yields many advantages to cope with this complexity: the models are platform
independent, can be decomposed to be developed independently by experts of the
respective fields, are highly reusable and may be subjected to formal analysis.
In this paper, we introduce a code generation framework for the
MontiArcAutomaton modeling language. CPS are modeled as Component & Connector
architectures with embedded I/O! automata. During development, these models can
be analyzed using formal methods, graphically edited, and deployed to various
platforms. For this, we present four code generators based on the MontiCore
code generation framework, that implement the transformation from
MontiArcAutomaton models to Mona (formal analysis), EMF Ecore (graphical
editing), and Java and Python (deployment. Based on these prototypes, we
discuss their commonalities and differences as well as language and application
specific challenges focusing on code generator development.
