Skip to content

Instantly share code, notes, and snippets.

@nartes
Created May 20, 2016 12:29
Show Gist options
  • Save nartes/251fdaad468516bf54c9b5948af1b114 to your computer and use it in GitHub Desktop.
Save nartes/251fdaad468516bf54c9b5948af1b114 to your computer and use it in GitHub Desktop.
MDA процесс
Независимо от конечной целевой платформы, первый шаг во время построения
MDA приложения это создание платформно-незивисимой моделей на языке UML.
Эта общая модель затем может быть преобразована в одну или несколько
конкретных платформ таких как CCM, EJM, .NET, SOAP, и др.
Сложная система может состоять из многих взаимосвязанных моделей
упорядоченных в соответствии с хорого обозначенными уровнями абстракции.
Где для уровней определены переходы или отображения иными словами
из одного набора моделей в другой. В рамках глобального или общего
множества моделей допустимы горизонтальные преобразования внутри
одного слоя абстракции, в добавок к обычным в этих условиях - вертикальным
переходам или преобразованиям другими словами между слоями.
Применение единого стиля архитектуры для всех ракурсов системы есть
одна из иллюстраций указанных ваше горизонтальных преобразований.
Другая примеры включают:
- В рамках CIM (Вычислительно Независимой Модели), создание цедевой
модели содержащей все бизнес законы и правила определенные в
ключевой бизнес моделе.
- В рамках PIM (Платформно Независимой Модели), создание целевой модели
содержащей только элементы данных определенные в концептуальной моделе
- В рамках PSM (Платформно Зависимой Модели), создание целевый или конечных
JUnit тестов моделей на основе моделей Java классов.
Отметим также, что PSM на одном уровне абстракции может принимать роль PIM
по отношению к дальнейшим преобразованиям к нижнему слою.
За пределами возможно упрощенного описания CIM/PIM/PSM, два ключевых компонента
MDA это модели и преобразования.
Общий шаблон есть:
Исходная модель + Правила преобразования = Целевая модель
Этот шаблон может быть повторно применен к полученным моделям, каждая из
которых играет роле либо PIM либо PSM.
Отображения преобразования
MDA отображения предоставляют спецификации о том, как преобразуется
PIM в конкретную PSM. Целевая модель платформы определяет природу
отображения. Даже если часть преобразования могут быть результатом
собственных действия, наблюдений и упражнений, стремление все равно
остается в пользу автоматизации как можно большего числа процессов
в меру имеющихся инструментов разработки.
Давайте рассмотрим пример отображения которое определяет аннотации
(называемые метками на слэнга MDA), что будут использованы при
направлении собственно преобразования UML PIM в EJB PSM:
пометка UML класса как Стереотип "Сессия" приведёт к созданию
модуля сессия (в ориг. session bean) - и других вспомогательных
классов - внутри PSM.
Правила преобразования между моделями могут быть выражены:
На уровне типов, из типов определенных на языке PIM в типы
выраженные используя язык PSM. В UML, примерами таких типов
применительно сюда включают классы, аттрибуты и операции.
Относительно шаблонов использования типов в PIM (например шаблон
GOS стратегии внутри PIM может транслироваться в эквивалентную идиому
в PSM).
На уровне метамоделей (MOF), как преобразования требуемые для
связки языков моделей.
В рамках работы мы ограничим рамки обсуждения и будет рассматривать только
отображения из UML модели в UML модель.
Пометка моделей
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment