Rhapsody visualizes existing code to improve communication and documentation. It allows developers to work with existing libraries and code while modeling new features. Rhapsody keeps the model and code synchronized so changes can be made in either view. This enables continued development even when the target hardware is unavailable and leverages existing code assets.