Модельно-управляемая архитектура

редактировать

Model Driven Architecture ® (MDA®) - это подход к проектированию программного обеспечения для разработки программных систем. Он предоставляет набор руководящих принципов для структурирования спецификаций, которые выражаются в виде моделей. Архитектура, управляемая моделями, является разновидностью проектирования предметной области и поддерживает проектирование программных систем на основе моделей. Он был запущен Object Management Group (OMG) в 2001 году.

СОДЕРЖАНИЕ
  • 1 Обзор
    • 1.1 Связанные стандарты
    • 1.2 Торговая марка
  • 2 темы по архитектуре, управляемой моделями
    • 2.1 Подход MDA
    • 2.2 Инструменты MDA
    • 2.3 Проблемы с MDA
  • 3 Споры по поводу генерации кода
  • 4 См. Также
  • 5 ссылки
  • 6 Дальнейшее чтение
  • 7 Внешние ссылки
Обзор

Model Driven Architecture® (MDA®) «обеспечивает подход к извлечению ценности из моделей и архитектуры в поддержку полного жизненного цикла физических, организационных и ИТ-систем». Модель - это (представление) абстракции системы. MDA® обеспечивает ценность, создавая модели на различных уровнях абстракции, от концептуального представления до мельчайших деталей реализации. В литературе OMG говорится о трех таких уровнях абстракции или архитектурных точках зрения: модель, не зависящая от вычислений (CIM), модель, независимая от платформы (PIM), и модель, зависящая от платформы (PSM). CIM описывает систему концептуально, PIM описывает вычислительные аспекты системы без ссылки на технологии, которые могут использоваться для ее реализации, а PSM предоставляет технические детали, необходимые для реализации системы. Однако в OMG Guide отмечается, что эти три архитектурные точки зрения полезны, но представляют собой лишь три из многих возможных точек зрения.

Организация OMG предоставляет спецификации, а не реализации, часто в качестве ответов на запросы предложений (RFP). Реализации поступают от частных компаний или групп с открытым исходным кодом.

Связанные стандарты

Модель MDA связана с несколькими стандартами, включая Unified Modeling Language (UML), Meta-Object Facility (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), Метамодель разработки программных процессов (SPEM). и Метамодель Common Warehouse (CWM). Обратите внимание, что термин «архитектура» в Model Driven Architecture не относится к архитектуре моделируемой системы, а скорее к архитектуре различных стандартов и форм моделей, которые служат технологической основой для MDA.

Исполняемый UML был профилем UML, который использовался при рождении MDA. Теперь вместо этого OMG продвигает fUML. (Язык действий для fUML - ALF.)

Торговая марка

Группа управления объектами владеет зарегистрированными товарными знаками на термин «Архитектура, управляемая моделями» и его аббревиатурой MDA, а также товарные знаки для таких терминов, как: Разработка приложений на основе моделей, Разработка приложений на основе моделей, Разработка приложений на основе моделей, Программирование на основе моделей, Системы на основе моделей, и другие.

Темы об архитектуре, управляемой моделями

Подход MDA

OMG фокусирует Model Driven Architecture® на перспективном проектировании, то есть создании кода из абстрактных, созданных человеком диаграмм моделирования (например, диаграмм классов). Группа OMG ADTF (Рабочая группа по анализу и проектированию) возглавляет эту работу. С некоторой долей юмора группа выбрала ADM (наоборот, MDA), чтобы назвать исследование обратным проектированием. ADM преобразуется в модернизацию, управляемую архитектурой. Задача ADM - разработать стандарты для модельного обратного проектирования унаследованных систем. Метамодель обнаружения знаний (KDM) является наиболее продвинутой из этих усилий и описывает информационные системы с точки зрения различных активов (программ, спецификаций, данных, тестовых файлов, схем баз данных и т. Д.).

Поскольку концепции и технологии, используемые для реализации проектов, а также концепции и технологии, используемые для реализации архитектур, менялись в своем собственном темпе, их разделение позволяет разработчикам систем выбирать из лучших и наиболее подходящих в обеих областях. Дизайн обращается к функциональным требованиям ( сценариям использования ), тогда как архитектура обеспечивает инфраструктуру, через которую реализуются нефункциональные требования, такие как масштабируемость, надежность и производительность. MDA предполагает, что независимая от платформы модель (PIM), которая представляет собой концептуальный проект, реализующий функциональные требования, переживет изменения в технологиях реализации и архитектурах программного обеспечения.

Особое значение для архитектуры, управляемой моделями, имеет понятие преобразования модели. Конкретный стандартный язык для преобразования модели был определен OMG под названием QVT.

Инструменты MDA

Организация OMG предоставляет приблизительные спецификации, а не реализации, часто в качестве ответов на запросы предложений (RFP). OMG документирует общий процесс в документе под названием MDA Guide.

По сути, инструмент MDA - это инструмент, используемый для разработки, интерпретации, сравнения, согласования, измерения, проверки, преобразования и т. Д. Моделей или метамоделей. В следующем разделе «модель» интерпретируется как означающее любой вид модели (например, модель UML) или метамодель (например, метамодель CWM). В любом подходе MDA у нас есть два типа моделей: исходные модели создаются вручную агентами-людьми, а производные модели создаются автоматически программами. Например, аналитик может создать исходную модель UML на основе наблюдений за некоторой неопределенной бизнес-ситуацией, в то время как модель Java может быть автоматически получена из этой модели UML с помощью операции преобразования модели.

Инструмент MDA может быть инструментом, используемым для проверки моделей на полноту, несоответствие или условия ошибок и предупреждений. Также используется для расчета показателей модели.

Некоторые инструменты выполняют более одной из перечисленных выше функций. Например, некоторые инструменты создания могут также иметь возможности преобразования и тестирования. Существуют и другие инструменты, предназначенные исключительно для создания, исключительно для графического представления, исключительно для преобразования и т. Д.

Спецификации OMG реализованы частными компаниями или группами с открытым исходным кодом. Одним из важных источников реализации спецификаций OMG является Eclipse Foundation (EF). Многие реализации стандартов моделирования OMG можно найти в Eclipse Modeling Framework (EMF) или Graphical Modeling Framework (GMF), Eclipse Foundation также разрабатывает другие инструменты различного профиля, такие как GMT. Соответствие Eclipse спецификациям OMG часто не является строгим. Это верно, например, для стандарта OMG EMOF, который EMF приближается к его реализации Ecore. Больше примеров можно найти в проекте M2M, реализующем стандарт QVT, или в проекте M2T, реализующем стандарт MOF2Text.

Следует быть осторожным, чтобы не путать Список инструментов MDA и Список инструментов UML, первый намного шире. Это различие можно сделать более общим, выделив «инструменты переменной метамодели» и «фиксированные инструменты метамодели». Инструмент UML CASE обычно представляет собой «фиксированный инструмент метамодели», поскольку он жестко запрограммирован для работы только с данной версией метамодели UML (например, UML 2.1). Напротив, у других инструментов есть внутренние общие возможности, позволяющие им адаптироваться к произвольным метамоделям или к метамоделям определенного типа.

Обычно инструменты MDA ориентированы на элементарную спецификацию архитектуры, хотя в некоторых случаях инструменты не зависят от архитектуры (или платформы).

Простые примеры архитектурных спецификаций включают:

  • Выбор одной из нескольких поддерживаемых эталонных архитектур, например Java EE или Microsoft.NET,
  • Определение архитектуры на более тонком уровне, включая выбор технологии уровня представления, технологии уровня бизнес-логики, технологии сохраняемости и технологии отображения постоянства (например, объектно-реляционного преобразователя).
  • Метаданные: информация о данных.

Проблемы MDA

Некоторые ключевые концепции, лежащие в основе подхода MDA (запущенного в 2001 г.), были впервые разъяснены методом Шлаера-Меллора в конце 1980-х годов. Действительно, отсутствующий ключевой технический стандарт подхода MDA (синтаксиса языка действий для исполняемого UML ) был преодолен некоторыми поставщиками путем адаптации исходного языка действий Шлаера-Меллора (модифицированного для UML). Однако в этот период подход MDA не получил широкого признания в отрасли; при этом Gartner Group по- прежнему определяет MDA как «находящуюся на подъеме» технологию в своем « Цикле обмана» в 2006 году, а Forrester Research объявляет MDA «DOA» в 2006 году. Потенциальные проблемы, которые были подняты в связи с подходом OMG MDA, включают:

  • Неполные стандарты: подход MDA подкреплен множеством технических стандартов, некоторые из которых еще не определены (например, семантический язык действий для xtUML ) или еще не реализованы стандартным образом (например, механизм преобразования QVT или PIM с виртуальной средой выполнения).
  • Привязка к поставщику. Хотя MDA задумывалась как подход к достижению (технической) независимости от платформы, нынешние поставщики MDA неохотно разрабатывают свои наборы инструментов MDA для обеспечения взаимодействия. Такой результат может привести к привязке к поставщику для тех, кто придерживается подхода MDA.
  • Идеалистический: MDA задуман как прямой инженерный подход, в котором модели, включающие программирование на языке действий, преобразуются в артефакты реализации (например, исполняемый код, схему базы данных) в одном направлении посредством полностью или частично автоматизированного этапа «генерации». Это согласуется с видением OMG, согласно которому MDA должна позволять моделировать полную сложность проблемной области в UML (и связанных стандартах) с последующим преобразованием в законченное (исполняемое) приложение. Однако этот подход подразумевает, что изменения артефактов реализации (например, настройка схемы базы данных) не поддерживаются. Это составляет проблему в ситуациях, когда такая пост-трансформационная «адаптация» артефактов реализации считается необходимой. Доказательства того, что полный подход MDA может быть слишком идеалистичным для некоторых развертываний в реальном мире, были замечены в появлении так называемого «прагматичного MDA». Pragmatic MDA сочетает в себе буквальные стандарты OMG MDA с более традиционными механизмами, управляемыми моделями, такими как двухстороннее проектирование, которое обеспечивает поддержку для адаптации артефактов реализации.
  • Специализированные наборы навыков: от специалистов по разработке программного обеспечения на основе MDA (как и в случае с другими наборами инструментов) требуется высокий уровень знаний в своей области. Текущие специалисты-практики MDA (часто называемые моделистами / архитекторами) немногочисленны по сравнению с доступностью традиционных разработчиков.
  • Послужной список OMG: Консорциум OMG, который спонсирует подход MDA (и владеет торговой маркой MDA), также представил и спонсировал стандарт CORBA, который сам по себе не стал широко используемым стандартом.
  • Предложение с неопределенной ценностью (UVP): Как уже говорилось, видение MDA позволяет специфицировать систему как абстрактную модель, которая может быть реализована как конкретная реализация (программа) для конкретной вычислительной платформы (например,.NET). Таким образом, приложение, которое было успешно разработано с использованием чистого подхода MDA, теоретически может быть портировано на платформу.NET более новой версии (или даже платформу Java) детерминированным образом, хотя остаются серьезные вопросы относительно практических аспектов перевода (например, как реализация пользовательского интерфейса). Вопрос о том, представляет ли эта возможность существенное ценностное предложение, остается для конкретных пользователей. Тем не менее, приверженцы MDA, которые ищут ценность через «альтернативу программированию», должны быть очень осторожны при оценке этого подхода. Сложность любой данной проблемной области всегда будет оставаться, и программирование бизнес-логики должно выполняться в MDA, как и при любом другом подходе. Отличие от MDA состоит в том, что используемый язык программирования (например, xtUML) является более абстрактным (чем, скажем, Java или C #) и существует в сочетании с традиционными артефактами UML (например, диаграммами классов). Приведет ли программирование на языке, более абстрактном, чем основные языки 3GL, к созданию систем более высокого качества, более низкой стоимости или более быстрой доставки, - это вопрос, на который еще предстоит найти адекватный ответ.
  • MDA была признана возможным способом объединения различных независимо разработанных стандартизированных решений. Для сообщества симуляторов он был рекомендован в качестве коммерческой и отраслевой альтернативы еще одному стандарту, утвержденному Министерством обороны США.
Споры о создании кода

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

Часто цитируемая критика заключается в том, что диаграммам UML просто не хватает деталей, которые необходимы для того, чтобы содержать ту же информацию, которая содержится в исходном коде программы. Некоторые разработчики даже заявляют, что «Код - это дизайн».

Смотрите также
использованная литература
дальнейшее чтение
  • Кевин Лано. «Модельно-ориентированная разработка программного обеспечения с использованием UML и Java». CENGAGE Learning, ISBN   978-1-84480-952-3
  • Дэвид С. Франкель. Архитектура, управляемая моделями: применение MDA к корпоративным вычислениям. John Wiley amp; Sons, ISBN   0-471-31920-1
  • Меган Киффер Журнал MDA: Архитектура, управляемая моделями, прямо от мастеров. ISBN   0-929652-25-8
  • Аннеке Клеппе (2003). Объяснение MDA, Архитектура, управляемая моделями: практика и перспективы. Эддисон-Уэсли. ISBN   0-321-19442-X
  • Стивен Дж. Меллор (2004). MDA Distilled, Принципы модельно-управляемой архитектуры. Эддисон-Уэсли Профессионал. ISBN   0-201-78891-8
  • Крис Рейстрик. Архитектура, управляемая моделями, с исполняемым UML. Издательство Кембриджского университета, ISBN   0-521-53771-1
  • Марко Брамбилла, Хорди Кэбот, Мануэль Виммер, Разработка программного обеспечения на основе моделей на практике, предисловие Ричарда Соли ( председателя OMG ), Morgan amp; Claypool, США, 2012 г., Лекции по синтезу программной инженерии №1. 182 страницы. ISBN   9781608458820 (мягкая обложка), ISBN   9781608458837 (электронная книга). http://www.mdse-book.com
  • Стэнли Дж. Сьюэлл. Исполнительное обоснование для MDA
  • Сойлу А., Де Каусмекер Патрик. Объединение основанных на моделях и онтологий систем к разработке подходов к всеобъемлющей перспективе вычислений, в Proc 24-м Международном симпозиуме по компьютерным и информационным наукам. 2009, стр. 730–735.
внешние ссылки
Последняя правка сделана 2023-04-21 03:31:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте