В первую очередь хочется сказать, что Rhapsody - это среда разработки, а не средство моделирования. Как следствие - её специализация на разработке встраиваемых систем и приложений реального времени.
Rhapsody предоставляет функцию динамической синхронизации модели и кода. Изменения в модели приводят к изменениям в коде и наоборот. Это не Reverse Engineering, а различные представления одной модели, которые позволяют её изменять. Модель - это объединение 3-х языков: русского, UML, языка программирования
RE конечно же есть, но не только. Есть ещё возможность RE внешний код с целью его визуализации на диаграммах. Для такого внешнего кода, Rhapsody не генерирует код на основе модели, а просто позволяет подключить уже существующий и отлаженный.
Поддерживается работа с 4-мя языками: С, С++, Java, Ada. Код генерируется на основе структурных и поведенческих диаграм, в том числе на основе диаграмм пакетов, компонентов, состояний, активности.
Rhapsody позволяет сгенерировать whitebox код, собрать на основе него исполняемое приложение и запустив его, управлять им из Rhapsody (отлаживаться) и видеть результаты его работы на уровне модели (на диаграммах состояний, диаграммах последовательности)
Приложение может быть запушено как на хосте, так и целевом устройстве. И в том и другом случае оно конектится по некоторому протоколу к Rhapsody и предоставляет информацию, необходимую для отладки и анимации диаграмм.
Для сборки приложения используется внешний SDK, которые подключаются к Rhapsody с помошью так называемых адапторов. Адаптор определяет как генерируется makefile для данного SDK, как запустить приложение на целевом устройстве и т.д.
См. также
http://www.swd.ru/files/pdf/brochures/Telelogic_Rhapsody_Broschure.pdfhttp://www.swd.ru/index.php3?pid=121