СМ-Консалт
 

Введение в IBM Rational XDE Java Code Model Importer

Статьи Другие статьи

IBM® Rational® XDE Java Code Model Importer (модуль импорта моделей) обычно поставляется в составе таких продуктов, как IBM® Rational® Software Architect и IBM® Rational® Systems Developer (далее — ПО Rational). Утилита позволяет перенести Java-код™и соответствующую модель Java-кода из Rational XDE for Java, чтобы можно было использовать средства UML, моделирования кода и преобразований ПО Rational.

Модуль импорта Rational XDE Java Code Model Importer устанавливается автоматически при выборе опции установки IBM® Rational® XDE Base Model Importer (XMI) в диспетчере установки IBM Installation Manager. Он осуществляет миграцию моделей Rational XDE вместе со всеми пользовательскими профилями UML (Unified Modeling Language, универсальный язык моделирования), которые, возможно, были применены к этим моделям. До начала работы с модулем импорта, мы воспользуемся модулем импорта XMI, чтобы импортировать модели Java-кода и их эталонные модели в рабочую область Rational Software Architect.

О модуле импорта


Необходимые условия для миграции

На компьютере должны быть установлены следующие продукты которыми вы должны уметь работать):

  • Rational Software Architect или Rational Systems Developer с установленным дополнительным модулем Rational XDE Java Code Model Importer. Примечание: Пробные версии этих программ можно найти в разделе Ресурсы;
  • Rational XDE for Java.

После установки Rational Software Architect или Rational Systems Developer необходимо указать следующие параметры виртуальной машины (VM):

«-DRational XDE_IMPORT_RESOLVE_PROFILE_ELEMS_BY_NAME»
            


«-DRational XDE_JAVA_PRIMITIVETYPES»
            


Эти параметры можно задать двумя способами:

  • Путем изменения файла eclipse.ini установочном каталоге Rational, в этом же каталоге находится файл eclipse.exe); для этого нужно добавить два приведенных выше параметра под параметром -vmargs. После изменения новые параметры виртуальной машины будут применяться при запуске любого из двух применяться при запуске любого из двух рассматриваемых продуктов Rational;
  • Путем добавления их в командную строку при запуске соответствующих программ Rational. Например:
«install directory\eclipse.exe -product com.ibm.rational.rsd.product.ide
          -vmargs -DRational XDE_IMPORT_RESOLVE_PROFILE_ELEMS_BY_NAME -DRational
          XDE_JAVA_PRIMITIVETYPES»
            


Кроме того, нужно иметь представление о следующих функциях и особенностях:

  • Как каждый из двух продуктов отображает Java в термины UML. Эти знания необходимы для того, чтобы вы могли проанализировать результат миграции и убедиться в его приемлемости;
  • Как каждый из продуктов работает с комбинацией UML-моделей и Java, кроме того, необходимо понимать принцип «кругового моделирования» (round-trip engineering, RTE) в Rational XDE и теоретические основы преобразования «модель-код». Эти знания необходимы для того, чтобы в процессе импорта принять обоснованное решение о том, нужно ли заменить схематические элементы UML в импортируемой модели Rational XDE Java-кода визуальными ссылками на элементы исходного кода и в дальнейшем использовать методы комбинированного моделирования.

В следующем разделе подробно объясняется процесс миграции.


Маршрут миграции

Важно:
Прежде, чем перейти к подробному описанию каждого этапа, обратите внимание на рисунок 1, который иллюстрирует весь маршрут миграции:


Рисунок 1. Процесс миграции
Маршрут миграции

Проект модели Java-кода в программе Rational XDE может содержать два вида артефактов: исходные файлы Java и модели Rational XDE и дизайн (http://www.shtrih.ru/).Модели Rational XDE могут быть разных типов. В проекте может быть либо 0, либо одна модель Java-кода. Как правило, все модели в рабочей области Rational XDE (предположительно представляющие собой замкнутое множество) должны импортироваться в рабочую область Rational при помощи XMI. Затем, на втором этапе, можно воспользоваться модулем импорта для переноса Java-кода и моделей кода.

Весь процесс миграции можно разделить на пять основных этапов. В зависимости от объема и сложности миграции может потребоваться одна или более итераций описываемого ниже процесса:

  1. Планирование;
  2. Подготовка проектов Rational XDE (UML-моделей и Java-кода);
  3. Импорт UML-моделей;
  4. Импорт Java-проекта (который снова объединяет Java-код с импортируемыми UML-моделями);
  5. Выполнение преобразований UML-Java в ПО Rational для завершения обновления кода на этапе подготовки к его использованию.

Шаг 1. Планирование

При планировании миграции из Rational XDE в Rational Software Architect или Rational Systems Developer учитывают два основных момента:

  • Общая стратегия миграции, наряду с другими соображениями, будет направлять ваше решение относительно того, какой подход лучше использовать — перейти на использование ПО Rational сразу всей рабочей группой или продолжать работать и с Rational XDE, и с ПО Rational в процессе миграции параллельно, чтобы отдельные подгруппы могли перейти к работе с ПО Rational постепенно. При использовании последнего подхода возникает гораздо больше проблем, потому что он связан с ведением двух потоков разработки, использованием приемов для слияния моделей и выполнением реальных шагов по миграции модели более одного раза. Вам придется учитывать такие факторы, как размеры моделей и число пользователей моделей. Эти факторы будут определять, сколько времени займет выполнение следующих задач:
    • Установка ПО Rational на все компьютеры;
    • Обучение всех пользователей работе с ПО Rational;
    • Выполнение собственно процесса миграции модели.
  • Выбор методов комбинированного моделирования, согласования архитектурыили принципа концептуальной разработки, управляемой моделями, в качестве альтернативы круговому моделированию Rational XDE.

Шаг 2. Подготовка проектов Rational XDE (базовых моделей и Java-кода)

Для подготовки базовых моделей Rational XDE и проектов Java-кода для импорта модели кода выполните следующие шаги:

  1. В Rational XDE for Java синхронизируйте модели Java-кода, чтобы UML-модели (файл. mdx) и проект Java не имели расхождений. Это обязательное условие, которое необходимо выполнить до начала миграции. Важно: в наборе настроек Java Rational XDE должны быть разрешены тэги меток кода (тэги меток — это комментарии, которые создаются генератором кода Rational XDE, начинаются с <@modelguid> и содержат уникальный идентификатор элемента модели Rational XDE UML, соответствующий классу в Java);
  2. Создайте резервную копию Java-проекта, включая базовые модели Rational XDE, соответствующие модели Java-кода;
  3. Обязательно убедитесь в том, что на компьютере, который будет обрабатывать операции импорта моделей, установлены параметры JVM, указанные в разделе «Необходимые условия» этой статьи.

Шаг 3. Импорт UML-моделей

Импортируйте UML-модели Rational XDE при помощи модуля импорта Rational XDE Model Importer (XMI). Необходимо импортировать все модели Java-кода Rational XDE, все модели контента Rational XDE, которые ссылаются на модели кода, или на которые ссылаются модели кода, и эталонные модели Rational XDE (например, jdk_min.mdx), на которые ссылаются модели кода.

Шаг 4. Импорт Java-проектов

О первом маршруте

Это необязательный шаг, потому что модуль импорта моделей может импортировать Java-проекты Rational XDE непосредственно в рабочую область ПО Rational. Тем не менее, мы рекомендуем его использовать, если Java-проект Rational XDE достаточно сложный, например:

  • Имеет различные схемы кодировки: cхема кодирования проекта отличается от схемы кодирования рабочей области, или в нем используется больше одной схемы кодирования (например, в проекте два или более файла Java имеют разные схемы кодирования);
  • В проекте определен сложный процесс компоновки: проект использует пользовательский компоновщик или процесс компоновки.

Импортируя Java-проекты из Rational XDE, можно следовать одним из двух маршрутов:

  • В соответствии с первым маршрутом можно импортировать Java-проекты Rational XDE Java в рабочую область ПО Rational до вызова модуля импорта моделей при помощи «универсального» мастера импорта проектов Eclipse: File > General > Existing projects info Workspace. Этот мастер импортирует Java-проекты Rational XDE (являющиеся проектами Eclipse 1) в ПО Rational и обновит их до проектов Eclipse 3. Если импорт выполнялся этим способом, то проекты можно использовать на входе модуля импорта моделей Rational XDE;
  • По второму маршруту, можно импортировать Java-проекты Rational XDE в рабочую область ПО Rational как оперативный компонент обработки, осуществляемой модулем импорта. На рисунке 2 показано окно мастера импорта Java-проектов Rational XDE (мастера модуля импорта моделей Java-кода Rational XDE). Это элемент управления, при помощи которого вы определяете, какие операции должен выполнить модуль импорта моделей с Java-кодом и с UML-моделями ПО Rational, импортированными ранее, на 3 этапе, из Rational XDE. Чтобы запустить этот мастер, выберите из меню команды File > Import > Other > Rational XDE Java Projects.

Рисунок 2. Мастер модуля импорта моделей Java-кода Rational XDE
Мастер модуля импорта моделей Java-кода Rational XDE

  1. В этом окне выберите опцию:
    • Add the list of Java projects to the Selected projects table (Добавить список Java-проектов в таблицу Selected projects) и добавьте для каждого проекта соответствующую UML-модель Rational, производную от модели Java-кода проекта Rational XDE. Обычно в этот список включают все Java-проекты в рабочей области Rational XDE и не включают Web-проекты Rational XDE или проекты корпоративных bean-компонентов (EJB) Java™, потому что модуль импорта моделей не предназначен для моделей Web, EJB или развертывания EJB Rational XDE. Впрочем, в ПО Rational с Web- и EJB-артефактами работают непосредственно, а не через UML-модели;
    • Для каждого Java-проекта и для каждой пары моделей укажите следующие параметры:
      • Схему кодирования, которую следует задать для Java-проекта Rational XDE. Для этого выберите или введите нужную схему кодирования в поле Project Encoding. Если выбранный Java-проект существует в рабочей области, то этот комбинированный элемент управления будет неактивным;
      • Нужно ли скопировать Java-проект Rational XDE в рабочую область Rational Для этого нужно установить флажок для опции Copy Rational XDE Java projects into workspace. Если выбранный Java-проект уже был импортирован ранее, то этот флажок будет неактивным (см. выше замечание по поводу сложных проектов);
      • Хотите ли вы заменить семантические элементы UML в моделях ПО Rational, производных от моделей Java-кода Rational XDE, прямыми ссылками на объекты Java. Установив флажок для этой опции, вы объявляете о том, что намерены использовать в ПО Rational для этого проекта принцип «комбинированного моделирования», а не согласования архитектуры или концептуальной разработки, управляемой моделями.

Важно:
Если вы планируете использовать эту опцию, импортируйте за один раз только один проект, а не несколько. Осталось выполнить следующие шаги:

  1. Установите соответствующий флажок, если вы хотите, чтобы модуль импорта автоматически удалил импортированные копии эталонных моделей Java Rational XDE из рабочей области Rational после завершения работы модуля импорта моделей;
  2. Нажмите кнопку Finish, чтобы начать процесс миграции.

Шаг 5. Выполнение преобразований UML-Java для каждой импортированной модели кода

Это необязательный шаг в процессе. Выполняйте его только в том случае, если вы не установили флажок Replace UML elements на предыдущем этапе. Другими словами, в шаге 4 вы фактически объявляете о своем намерении отказаться от использования комбинированного принципа моделирования в пользу либо согласования архитектуры, либо концептуальной разработки, управляемой моделями, тем самым оставляя модель кода в ПО Rational в виде неизмененной семантической UML-модели, которая используется с преобразованиями Rational UML — Java , возможно, Java — UML).


Операции, выполняемые в процессе миграции

Теперь вы знаете этапы процесса миграции. В этом разделе описываются операции преобразования, которые осуществляются модулем импорта моделей Java-кода Rational XDE для обеспечения совместимости моделей кода и Java-кода с компонентами преобразований и моделирования ПО Rational. Некоторые из этих операций выполняются или пропускаются в соответствии с проектом, в зависимости от того, был ли установлен для этого проекта флажок Replace UML elements with Java elements.

Создание модели отображения

Выполняется в соответствии с проектом: Выполняется только в том случае, если флажок Replace UML elements with Java elements не был установлен. Кроме того, модуль импорта создает модель отображения, которая фиксирует существующее сопоставление элементов UML-модели с исходными файлами Java после выполнения миграции. Эта модель отображения задана по умолчанию в настройках преобразования UML — Java файле. tc, создание которого описано в подразделе Настройки преобразования Java далее), чтобы гарантировать, что отображение будет учтено и сохранено процессом преобразования.

Замена ссылок инфраструктуры Java визуализированными типами Java

Выполняется в соответствии с проектом: Выполняется независимо от того, был ли установлен флажок Replace UML elements with Java elements. Поскольку UML-модели импортированы из Rational XDE, их элементы, соответствующие элементам Java-кода, могут содержать ссылки на типы из библиотек JDK (Java™ Developer Kit, среда разработки Java). Например, класс UML может иметь атрибут типа java.lang.String;. в Rational XDE, большинство спецификаций типов (например, параметры) представляют собой неформатированный текст, но спецификации типов, определяемые ассоциациями UML, могут разрешаться в соответствии с эталонными моделями Java в Rational XDE, например, jdk_min.mdx. Когда модели кода Rational XDE переносятся в среду ПО Rational (при помощи модуля импорта Rational XDE Base Model Importer), ссылки на эталонные модели Rational XDE становятся ссылками на импортированные версии эталонных моделей Java Rational XDE.

Однако в среде ПО Rational поддерживается собственное прямое представление типов JDK, поэтому ПО Rational ожидает ссылок на Java-типы, чтобы использовать их для разрешения. Следовательно, модуль импорта моделей ищет ссылки на импортированные эталонные модели Java Rational XDE и повторно разрешает их относительно JDK. По возможности, он также повторно разрешает спецификации типов, которые в Rational XDE представляли собой неформатированный текст. Таким образом обеспечивается большая строгость типизации (на уровне UML), чем в Rational XDE. Этот шаг необходим для того, чтобы обеспечить совместимость импортированных моделей кода Rational XDE с моделированием Java Rational и преобразованиями UML — Java и Java — UML.

Миграция профилей

Выполняется в соответствии с проектом: Выполняется независимо от того, был ли установлен флажок Replace UML elements with Java elements. Java-преобразования ПО Rational определяют и используют собственный профиль UML, содержащий стереотипы, которые применяются к UML-элементам для представления различных конструкций Java. В ходе процесса миграции модели кода модуль импорта применяет этот новый профиль к UML-моделям ПО Rational, полученным в результате импорта моделей Java-кода Rational XDE при помощи модуля XMI. Благодаря этому модели становятся совместимыми с компонентами Java-преобразований ПО Rational, что позволяет им участвовать в преобразованиях UML — Java (прямых) и Java — UML (обратных). Стереотипы, применяемые на этом этапе, заменяют стереотипы, которые были перенесены из оригинальной модели Java-кода Rational XDE.

В следующей таблице перечислены значения свойств стереотипов, которые были перенесены модулем импорта моделей Rational XDE Java Code Model Importer.


Значение свойства стереотипа
Данное свойство стереотипа профиля Rational XDE Java RTEзаменяется свойством стереотипа ПО Rational Java 5 transformation
Rational XDE_Java::Java_Attribute::JavaCollection JavaTransformation5.0::JavaCollection::collectionType
Rational XDE_Java::Java_Attribute::JavaDimensions JavaTransformation5.0::JavaArray::dimensions
Rational XDE_Java::Java_End::JavaCollection JavaTransformation5.0::JavaCollection::collectionType
Rational XDE_Java::Java_End::JavaDimensions JavaTransformation5.0::JavaArray::dimensions

Замена элементов UML (опция morph)

Выполняется в соответствии с проектом: Выполняется только в том случае, если установлен флажок Replace UML Elementrs with Java Elements. Все семантические элементы в UML-моделях ПО Rational заменяются ярлыками на соответствующие элементы кода в исходном файле Java. В результате диаграммы в UML-модели отображают фигуры классов в стиле UML, представляющие непосредственно классы Java. Если выполнить двойной щелчок на такой фигуре, откроется код класса Java в редакторе Java-кода. Это согласуется с принципом комбинированного моделирования в среде ПО Rational. Эффект примерно такой же, как при создании новой модели с последующим применением к ней преобразования Java — UML с параметром Replace UMl Elements.

Совет:
Можно последовательно добавлять новые семантические элементы UML в модель и повторно применять преобразование UML — Java с параметром Replace UML Elements и для того, чтобы преобразовать новые элементы в прямые ссылки Java. Это означает, что можно использовать комбинированное моделирование в рамках итеративного процесса разработки.

Разметка

Выполняется в соответствии с проектом: Выполняется только в том случае, если флажок Replace UML elements with Java elements не был установлен. Элементы кода в исходных файлах Java помечаются модулем импорта как <@generated>, если в модели существует эквивалентный UML-элемент. В точном соответствии с моделью, модуль импорта моделей выполнит поиск тэгов <@modelguid> в импортированном коде. Такие тэги будут присутствовать благодаря тому, что они были сгенерированы Rational XDE. Именно поэтому одним из подготовительных шагов до запуска модуля импорта моделей должна быть проверка того, что в свойствах Rational XDE задано генерирование этих тэгов с последующей синхронизацией модели кода Rational XDE.

Примечания:

  • Все элементы кода, которые не были на этом этапе помечены тэгами <@generated> по какой-либо причине, не будут изменены (удалены или перезаписаны) при последующем применении (прямого) преобразования UML — Java. Например, если вы удалите или измените имя элемента модели, соответствующей не имеющему такого тэга классу Java, в среде ПО Rational (класс UML), а затем выполните преобразование UML — Java, то этот класс не будет изменен. Чтобы изменить это поведение, вы можете вручную добавить тэг <@generated> к комментариям класса Java в исходном файле. После этого изменения, внесенные в UML-класс в модели, будут применены к Java-классу в исходном коде. Дополнительную информацию можно найти в документации компонента преобразования UML — Java (прямого);
  • Чтобы выполнить разметку Java-файлов, модуль импорта моделей Rational XDE Java Code Model Importer ищет тэги <@modelguid>, которые присутствуют в составе комментариев Javadoc. Убедитесь, что тэг <@modelguid> присутствует в исходном файле как комментарий Javadoc. Это можно проверить, выполнив синхронизацию модели Java-кода в Rational XDE до запуска процесса миграции.

 

Создание конфигурационного файла преобразования Java

Выполняется в соответствии с проектом: Выполняется только в том случае, если флажок Replace UML elements with Java elements не был установлен. В завершение процесса миграции модуль импорта Raitonal XDE создает конфигурационный файл преобразования Java 5 (transformation configuration, TC) с определенным набором значений параметров (таких как исходная модель, целевой Java-проект и т. д.) Используйте этот ТС- файл, не изменяя его, чтобы выполнить преобразование UML — Java однократно на перенесенной в ходе миграции модели сразу же после того, как модуль импорта моделей завершит операцию импорта. Этим действием вы устраните все оставшиеся отличия в способах отображения Java-элементов между Rational XDE и Rational Software Architect или Rational System Developer.

20.02.2008

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Вышла версия BIPULSE 6.2

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Новые статьи в библиотеке

Мифы про ГОСТ 34

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2017.
Карта сайта