Full Application Code Generation
Rhapsody users are able to create not only code frames; they can also create complete applications. Rhapsody generates code from all the structural and behavioral model views and combines them with a real-time framework to produce an executable application. Rhapsody produces very clean, readable code that is easily debugged at the model or code level using any commercial IDE utilizing integrated code (C, C++, Java, Ada) generation, so programmers are able to enjoy enhanced productivity with low maintenance costs.

Rhapsody allows users to uniquely generate complete
applications
so that the entire application can be built in the model
environment.
Rhapsody’s unique Dynamic
Model/Code Associativity (DMCA) enables developers to
work at either the model or code level knowing that a
change made to one will be updated in the other. This
dynamic bi-directional synchronization of the model and the
code is possible because the Rhapsody tool makes the code
another view of the model. The ability to work at either
the model or the code level drives design productivity
because no additional work time is needed to keep the
design, documentation and implementation in synch.

Dynamic Model/Code Associativity feature allows users
to seamlessly operate in either the code or model
views.
The Rhapsody framework is a reuseable
infrastructure for RTOS applications, which provides
implementation for the real-time semantics of the model.
One major advantage of this approach is that it provides
platform independence by abstracting away the platform
API’s (RTOS). In addition, the framework is very
thin, open, extensible and configurable for easy migration
to new or proprietary platforms with seamless integration
of commercial or in-house middleware.
Telelogic understands that not all code will be developed in Rhapsody. To enable a seamless integration with external code from another project, code developed by a third party, or code generated from another tool, the code can be either visualized or reverse engineered into the model. When the code is visualized it is not touched or modified by Rhapsody, but instead a graphical representation of the code is provided within the model. This enables developers to integrate this code without disturbing it and retesting it. When the code is reverse engineered into the model it actually becomes part of the model and the developer is free to leverage all of Rhapsody’s enabling technologies on the code.