Официальный форум СВД Встраиваемые Системы
24 Апрель, 2024, 19:29:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: IBM Rational Rhapsody vs. OpenAmeos  (Прочитано 4326 раз)
Сергей Зыль
Администратор
Старожил

Сообщений: 789



WWW
« : 01 Март, 2010, 22:40:27 »

В данной заметке представлен краткий обзор отличий между MDD-инструментами OpenAmeos и IBM Rational Rhapsody. Этот обзор не претендует ни на научность, ни на полноту – он является выражением субъективного мнения автора и сделан исключительно для информационных целей.

Справка:
MDD (Model Driven Development) – это подход к созданию программного обеспечения, предназначенный для повышения продуктивности разработки за счёт того, что она выполняется на более высоком уровне абстракции по сравнению с использованием обычных языков программирования. Подход основан на создании платформо-независимых моделей (PIM, Platform Independent Model) на визуальном языке моделирования (обычно на UML) и их последующей трансформации в платформо-зависимые модели (PSM, Platform Specific Model). Как правило, PSM представляет собой исходный код на каком-либо компилируемом или интерпретируемом языке программирования. Трансформация PIM в PSM напоминает трансляцию кода, например, на языке Си в исполняемый код.


Начнём с общих свойств OpenAmeos и Rhapsody:

1. Оба инструмента ориентированы на разработку ПО для систем реального времени и встроенных систем.
2. Оба инструмента в качестве базового языка для разработки PIM используют язык UML.
3. Оба инструмента обеспечивают реализацию PSM и генерацию исходного кода – как структурного, так и поведенческого - на языках C/C++, Java и Ada.
4. Оба инструмента позволяют реализовывать базовые функциональные тесты для верификации проекта на основе PIM-моделей.
5. Оба инструмента обеспечивают конфигурируемую генерацию документации.
6. Оба инструмента интегрируются с инструментами управления требованиями.
7. Оба инструмента интегрируются с инструментами конфигурационного управления.
8. Оба инструмента поддерживают механизм профилей UML, в том числе для поддержки предметно-ориентированных языков (DSL, Domain-Specific Language).

Тем не менее, следует отметить, что OpenAmeos и Rhapsody хоть и предназначены для решения  сходных задач, но реализация и, скажем так, масштабы их внедрения радикально отличаются. В моём субъективном восприятии OpenAmeos занимает то же место среди инструментов MDD, что MySQL среди СУБД. В то же время место Rhapsody среди инструментов MDD у меня ассоциируется с местом Oracle среди СУБД.
Поэтому надо понимать, что OpenAmeos не имеет аналогов некоторых технологий Rhapsody. Например, OpenAmeos не поддерживает анимацию моделей, быстрое прототипирование GUI на основе web-технологии, а так же не имеет дополнительных средств верификации вроде Rhapsody TestConductor и Rhapsody ATG.

Другими словами можно сказать, что внедрение Rhapsody – это серьёзная инвестиция в развитие предприятия, требующая административные, финансовые и трудовые ресурсы, которая тем более эффективна, чем больше затрагивает областей, примыкающих к разработке ПО (управление проектами, взаимодействие с заказчиками и смежниками, управление документооборотом, управление верификацией). А внедрение OpenAmeos может быть выполнено самостоятельно отдельным разработчиком или небольшой командой без каких-либо финансовых затрат. Поэтому с точки зрения технической реализации радикальные различия между продуктами можно указать для каждого из перечисленных пунктов общих свойств  

Что бы упростить задачу себе и не тратить Ваше время, я остановлюсь на самом важном различии – подходу к трансформации PIM в PSM, т.е., грубо говоря, к генерации кода на языке программирования.

Основой генерации кода Rhapsody служит OXF – Object Execution Framework. OXF – это библиотека, реализованная на каждом их поддерживаемых языков программирования, которая содержит реализацию всех механизмов, необходимых для сгенерированного приложения. Поставляется она в исходных текстах и компилируется под конкретную целевую платформу с использованием соответствующего адаптера операционной системы.
OXF представляет собой набор классов, которые реализуют определенный набор сервисов – механизмы активных и реактивных классов, генерации событий, вызова операций, защиты ресурсов. Код, сгенерированный из UML-модели, по сути дела «настраивает» OXF в соответствие с требованиями конкретного приложения с помощью подклассов и комбинирования реализаций классов OXF. Т.е. основу сгенерированного в Rhapsody приложения составляет OXF. Заметим, что существуют как «отладочные» версии OXF (с поддержкой анимации, трассировки и «вебификации»), так и «облегчённые» (например, без поддержки буферизации асинхронных событий).

Основой генерации кода OpenAmeos служит ACD - Architecture Component Development. ACD – это компилятор (иногда в документации пишут «машина») для трансляции модели в код на основе шаблонов.

ACD-шаблоны определяют правила трансляции с помощью специального, достаточно простого, языка «Transformation Description Language» (TDL) и метамодели, основанной на стандартной метамодели OMG UML. Шаблон имеет доступ ко всей метамодели и, следовательно, позволяет генерировать практически любой код или документацию из практически любой диаграммы.

Надеюсь, что эта заметка поможет Вам сориентироваться при выборе MDD-инструмента и понять, что больше подходит для решения Ваших задач и в условиях именно Вашего предприятия. А мы в меру своих сил постараемся ответить на Ваши вопросы.
Записан

сотрудник СВД Встраиваемые Системы
Сергей Зыль
Администратор
Старожил

Сообщений: 789



WWW
« Ответ #1 : 02 Март, 2010, 11:40:10 »

Кстати говоря, опубликовано описание установки Rhapsody 7.5 и нстройки генерации кода для QNX Neutrino 6.4.1 - http://www.kpda.ru/Publications/RhapsodyInstallation
Дополнительно в этом материале рассматривается, как создать QNX-приложение из одного из примеров UML-моделей, входящих в поставку Rhapsody.
Записан

сотрудник СВД Встраиваемые Системы
Александр Варварик
Администратор
Легенда

Сообщений: 1353



WWW
« Ответ #2 : 02 Март, 2010, 11:53:02 »

Надо сказать, что это глава из новой книги Сергея Зыль, которая в настоящее время в печати.
Информация о книге по ссылке : http://forum.kpda.ru/index.php/topic,241.0.html

Так что, можно ознакомиться по крайней мере с одной главой, в ожидании выхода книги.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 05 Март, 2024, 20:50:40