These decisions include how to implement design elements such as associations, multiplicities of related objects, threads, and state machines.
The Rational Rhapsody code generator can be both elaborative and translative to varying degrees. Rational Rhapsody does not force translation, but allows you to refine the code generation process to the wanted level. The product can run in either mode, or anywhere between these two extremes.
Dependency arrows indicate which files are generated and which files are included by the code generator and compiler. The thick borders around the code generator and compiler show the active classes.
Before you generate code, you must set the active configuration. The code generator automatically runs the checker to check for inconsistencies that might cause problems in generating or compiling the code. Some of the checks performed by the checker detect potentially fatal conditions that might cause code generation to stop processing if not corrected before generating code.
It is possible to generate code without intertask communication and event dispatching from Rational Rhapsody, but this disables the animation and visual debugging features. You can mitigate this effect by wrapping your in-house intertask communication and event dispatching routines inside an operation that is defined inside the model. In this case, the visualization is of the operation as a representative of your "real" intertask communication and event dispatching.