Введение в Rhapsody Дмитрий Рыжов 1 Model Driven Development with Rhapsody © Telelogic AB Поддержка MDD в Rhapsody Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 2 Model Driven Development with Rhapsody © Telelogic AB Поддержка языков моделирования Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 3 Model Driven Development with Rhapsody © Telelogic AB UML 2 Диаграммы UML • Структура – Structure diagram – Package diagram – Component diagram – Object model diagram • Class and Object – • • Rhapsody является лучшим средством разработки на основе UML 2 для встраиваемых систем • Поведение – Statecharts – Activity diagrams – Use case diagram Взаимодействие – 4 Model Driven Development with Rhapsody Deployment diagram Sequence diagram © Telelogic AB SysML • Профиль UML 2.0 для системн. инженеров • Виды SysML – Требования • Диагр. требований • Диагр. прецедентов – Структура • Диагр. блоков • Диагр. – Поведение • Диагр. состояний • Диагр. активности • Диагр. последоват. – Ограничения • Диагр. ограничений 5 Model Driven Development with Rhapsody © Telelogic AB Моделирование предметной области • Расширения Rhapsody – Профилирование UML для артифактов предметной области – Режим белой доски – Использование графических примитивов • Примеры: SysML, DoDAF, Autosar, Functional C DoDAF Functional C 6 Model Driven Development with Rhapsody © Telelogic AB Использование существующих моделей • Rhapsody позволяет импортировать существующие модели из Rational®, Tau и XMI совместимых средств 7 Model Driven Development with Rhapsody © Telelogic AB Генерация документации Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 8 Model Driven Development with Rhapsody © Telelogic AB Документирование: Rhapsody ReporterPLUS™ 9 Model Driven Development with Rhapsody © Telelogic AB Управление требованиями Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 10 Model Driven Development with Rhapsody © Telelogic AB Управление и трассировка требований • • • 11 Импорт требований из множества источников Создание связей между моделью и требованиями Генерация документации о связях Model Driven Development with Rhapsody © Telelogic AB Моделирование требований 12 Model Driven Development with Rhapsody © Telelogic AB Анализ покрытия требований • Восходящий и нисходящий анализ покрытия 13 Model Driven Development with Rhapsody © Telelogic AB Анализ внесения изменений • Восходящий и нисходящий анализ внесения изменений 14 Model Driven Development with Rhapsody © Telelogic AB Проверка модели Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 15 Model Driven Development with Rhapsody © Telelogic AB Проверка модели • Возможность проверки моделей позволяет обеспечить процес по непрерывному и эффективному тестированию в процессе разработки – Гарантирует удовлетворение проекта требованиям – Устраняет ошибка на ранних стадиях проекта Исполнение модели + Тестирование на основе сценариев + Автом. тестирование Finding & Correcting Errors Статическая проверка модели 16 Model Driven Development with Rhapsody © Telelogic AB Статическая проверка модели 17 Model Driven Development with Rhapsody © Telelogic AB Исполнение & Анимация • Исполнение для проверки модели – Лучший способ избежать ошибок и уменьшить стоимость разработки • • 18 Анимация диаграмм – последовательности – состояния – активности Отладка на хосте и целевом устройстве Model Driven Development with Rhapsody © Telelogic AB Создание web интерефейсов • Быстрое прототипирование • Совместная отладка через web • Повышает • Продуктивность команды • Качество продукта 19 Model Driven Development with Rhapsody © Telelogic AB Тестирование на основе требований • • • Валидация модели на основе сценариев Автоматический прогон множества тестов Результаты тестирования Легкое обнаружение ошибок Тестовый сценарий Исполнение модели Ошибка Несоответствие Множество тестов Обнаруживаем и устраняем ошибки 20 Model Driven Development with Rhapsody © Telelogic AB Автоматическая генерация тестов • • • • Автоматически генерирует тесты на основе модели – Генерация сценариев с высоким покрытием модели – Совместим с UML Testing Profile Автоматически генерирует тесты на основе модели – Покрытие состояний, переходов, операций, событий – Осуществление MC/DC анализа Производит регрессионное тестирование модели Экспорт тестов для тестирования реализации Сбор и анализ требований Приёмочное тестирование Проверенная модель Системный анализ и проектирование Интеграция подсистем и тестирование ATG Проектирование ПО Интеграция ПО и интегр. тестирование .exe Реализация ПО и элем. тестирование 21 Непрерывное тестирование устройства .doc Model Driven Development with Rhapsody Непрерывное тестирование ПО © Telelogic AB Разработка приложения Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложения Управление требованиями Проверка модели 22 Model Driven Development with Rhapsody © Telelogic AB Полная генерация кода приложения • Rhapsody использует все структурные и поведенческие виды модели при генерации кода приложения • • • • Структурные модели Диаграммы состояний: поведение на основе событий Диаграммы активности: алгоритмы и последовательность выполнения Компоненты и артифакты • Rhapsody генерирует очень чистый, читабельный код, легко отлаживаемый стандартными средствами для отладки • Возможность генерации “white-box” кода • Высокая производительность, низкая стоимость поддержки • Rhapsody генерирует все файлы, необходимые для сборки • приложения в Rhapsody Понятные технологии генерации кода • На основе объектов / функций • На основе стереотипов • На основе правил : Редактор правил/ Отладчик правил 23 Model Driven Development with Rhapsody © Telelogic AB Динамическая синхронизация модели и кода • Изменение кода приводит к изменению модели и наоборот • Модель и код всегда синхронизированы 24 Model Driven Development with Rhapsody © Telelogic AB Каркас приложений реального времени • Каркас – это набор базовых классов и интерфейсов, используемых в коде, сгенерированном из модели Каркас состоит из двух частей: • • • • Object Execution Framework (OXF) • Animation and Tracing Framework Сущствуют несколько облегчённых версий каркаса (IDF, Synchronous, No Framework) Каркас может быть адаптирован Сгенерированный код Каркас Lightweight Framework Процессор Target Target : VxWorks Host : OSE : :Windows / INTEGRITY QNX / Custom // Linux / Linux / …/ …/ … RTOS Small Target ThreadX Nucleus Процессор 25 Model Driven Development with Rhapsody © Telelogic AB Использование существующего кода Существующий код может быть: • Визуализирован Бри сборке приложения существующий код подключается как внешний Появляется возможность ссылаться на существующий код в модели Постепенный переход к процессу разработки на основе модели • Подвергнут обратному проектированию и сделан частью модели Внеш. код Сгенерированный код Каркас ОСРВ 26 Model Driven Development with Rhapsody © Telelogic AB Совместная работа Моделирование Генерация документации Совместная работа MDD в Rhapsody Разработка приложений Управление требованиями Проверка модели 27 Model Driven Development with Rhapsody © Telelogic AB Управление версиями • Rhapsody хранит модели в текстовых файлах, которые можно хранить в системе контроля версий, также как исходники • Rhapsody может взаимодействовать со многими системами контроля версий по SCC интерфейсу, такими как Synergy, PVCS Dimensions, PVCS Version Manager, ClearCase, Visual SourceSafe, SourceIntegrity, … • Rhapsody позволяет разбить модель на части и управлять версиями каждой части независимо от других • Для работы с Subversion и CVS используется специальный плагин PushOk 28 Model Driven Development with Rhapsody © Telelogic AB Сравнение и объединение различных версий • Сравнение и объединение различных версий модели • Визуальное сравнение и слияние диаграмм 29 Model Driven Development with Rhapsody © Telelogic AB Основные отличительные особенности • Исполнение и тестирование на уровне модели • Генерация всего кода приложения, а не только структуры • Динамическая синхронизация модели и кода • Адаптируемый каркас приложений реального времени • Визуализация кода 30 Model Driven Development with Rhapsody © Telelogic AB MDD в Rhapsody 31 Model Driven Development with Rhapsody © Telelogic AB • • • Открытая система Управление требованиями – – – – – – 32 Cantata, TestBed Continuous Modeling Simulink/Matlab, Labview & MatrixX Tool interoperability XMI, Rose import IDEs – SDK OSs Eclipse CDT, MULTI, Workbench, Tornado, pRISM COM RTOS и OS – Rhapsody Управление требованиями • Altia, Internet Explorer, Mozilla Тестирование - • Word/Framemaker/HTML/rtf/plain text/PowerPoint Панельная графика / HMI - • Документирование HMI Управление конфигурац. • SYNERGY, ClearCase, Source Integrity, PVCS Any SCC compliant tool Документирование – • Тестирование Управление конфигурациями – • DOORS, CalibreRM, RequisitePRO Word, Excel, PDF, Framemake, Powerpoint, Visio XML, ASCII Text files VxWorks, INTEGRITY, QNX Neutrino, LynxOS, ThreadX, Nucleus, OSE Delta, WindowsCE, Linux (MontaVista & RedHat), Solaris, Itron, No Operating System CORBA Поддержка CORBA (Tao) и COM Model Driven Development with Rhapsody © Telelogic AB Rhapsody для системных инженеров • Проверка корректности требований с использованием • • • • • • 33 исполняемых моделей Эффективное донесение требований до всех участников проекта Чёткое и непротиворечивое определение системных требований и архитектуры системы с использованием языков UML и SysML Проверка полноты и корректности модели Устранение поведенческих ошибок в архитектуре на ранних этапах проекта Трассировка между требованиями и элементами модели Генерация проектной документации Model Driven Development with Rhapsody © Telelogic AB Rhapsody для разработчиков ПО • Полная разработка приложений на языках C, C++, Java для • • • 34 8, 16, 32 и 64-х разрядного оборудования Обеспечение переносимости приложений Разработка на основе модели и кода Синхронность модели, кода и документации Model Driven Development with Rhapsody © Telelogic AB Семейство продуктов Rhapsody Rhapsody для системных инженеров: • • System Architect System Designer Rhapsody для разработчиков ПО: • • Software Architect Software Developer – на языке С – на языке С++ – на языках С, C++, Java 35 Дополнительные модули • • • Gateway Test Conductor ATG Productivity Packs • • • • • • VBA Pack Tools & Utilities Pack Interfaces Pack Value Pack Gateway Value Pack DoDaf Pack Model Driven Development with Rhapsody © Telelogic AB Комплектация Rhapsody Документирование Value Pack Совместная работа Value Pack Управление требованиями Моделирование Gateway SE/SW Architect System Designer Software Developer Test Conductor Test Conductor Исполнение модели Разработка приложения Тестирование 36 Model Driven Development with Rhapsody © Telelogic AB Rhapsody Demo 37 Model Driven Development with Rhapsody © Telelogic AB