Из Википедии, бесплатной энциклопедии
  (Перенаправлено из архитектуры, основанной на моделях )
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

Затем, учитывая платформенную модель, соответствующую CORBA , .NET , Интернету и т. Д., Платформо-независимая модель (PIM) преобразуется в одну или несколько платформенно- зависимых моделей (PSM), которые могут запускаться компьютерами. Это требует сопоставлений и преобразований и тоже должно моделироваться.

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

Связанные стандарты [ править ]

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

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

Торговая марка [ править ]

Object Management Group трюмы зарегистрированными товарными знаками на срок Model Driven Architecture и его акроним MDA, а также товарных знаков для таких терминов, как: Модель развития Based Application, Model Driven разработки приложений, модель на основе разработки приложений, программирования на основе модели, Model Driven Systems, и другие. [2]

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

Подход MDA [ править ]

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

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

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

Инструменты MDA [ править ]

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

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

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

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

Спецификации 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 как «находящуюся на подъеме» технологию в своем « Hype Cycle » 2006 г. [6], а Forrester Research объявляет MDA «DOA» в 2006 г.[7] Потенциальные проблемы, которые были подняты в связи с подходом OMG MDA, включают:

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

Споры о создании кода [ править ]

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

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

См. Также [ править ]

  • Язык преобразования ATLAS
  • Автоматическое программирование
  • Домен-ориентированный дизайн
  • Планирование ресурсов предприятия
  • Исполняемый UML
  • Исполняемая архитектура
  • Мета-объектный объект
  • Метамоделирование
  • Модельно-ориентированная инженерия
  • Интеграция на основе модели
  • Безопасность на основе модели
  • Взаимодействие на основе модели
  • Модельно-управляемое приложение
  • Язык преобразования модели
  • Моделирование уровней зрелости
  • Платформенно-независимая модель
  • Платформенная модель
  • Завод программного обеспечения
  • Единый язык моделирования
  • Универсальный системный язык
  • QVT
  • Веб-инженерия
  • WebML

Ссылки [ править ]

  1. ^ «OMG следует новому стратегическому направлению, чтобы развить успех прошлых усилий». Архивировано 24 сентября 2006 г. в Wayback Machine.
  2. ^ http://www.omg.org/legal/tm_list.htm
  3. ^ Сайт ADM http://adm.omg.org
  4. ^ Bézivin, J Жерара, S, Мюллер, ПА и Rioux L (2003). «Компоненты MDA: проблемы и возможности» (PDF) . В: Метамоделирование для MDA. Архивировано из оригинального (PDF) 06 декабря 2006 года. Цитировать журнал требует |journal=( помощь )CS1 maint: несколько имен: список авторов ( ссылка )
  5. ^ Монперрус, Мартин; Жезекель, Жан-Марк; Шампо, Жоэль; Hoeltzener, Бриджит (2008). «Модельно-управляемый подход к измерению». Модельно-ориентированные инженерные языки и системы . Конспект лекций по информатике. 5301 . С. 505–519. DOI : 10.1007 / 978-3-540-87875-9_36 . ISBN 978-3-540-87874-2. ISSN  0302-9743 .
  6. ^ «Цикл шумихи для новых технологий, 2006» $ 495,00
  7. ^ «MDA - это DOA, частично благодаря SOA». Архивировано 13 октября 2007 г. на Wayback Machine.
  8. ^ «UML - унифицированный или универсальный язык моделирования? UML2, OCL, MOF, EDOC - у императора слишком много одежды»
  9. ^ "MDA: Хорошая идея. Позор за ..."
  10. ^ «Перенос MDA в Eclipse, используя прагматический подход»
  11. ^ "Ответ Forrester"
  12. ^ "Готовы ли вы к MDA?"
  13. «Взлет и падение CORBA». Архивировано 2 декабря 2008 г. в Wayback Machine.
  14. ^ "Избегая другого зеленого слона"
  15. ^ http://www.developerdotstar.com/mag/articles/reeves_design_main.html Джек У. Ривз
  16. ^ Bleading-Edge

Дальнейшее чтение [ править ]

  • Кевин Лано. «Модельно-ориентированная разработка программного обеспечения с использованием UML и Java». CENGAGE Learning, ISBN 978-1-84480-952-3 
  • Дэвид С. Франкель . Архитектура, управляемая моделями: применение MDA к корпоративным вычислениям . John Wiley & 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 & Claypool, США, 2012 г., Лекции по синтезу программной инженерии №1. 182 страницы. ISBN 9781608458820 (мягкая обложка), ISBN 9781608458837 (электронная книга). http://www.mdse-book.com  
  • Стэнли Дж. Сьюэлл. Исполнительное обоснование для MDA
  • Сойлу А., Де Каусмекер Патрик. Объединение систем, основанных на моделях и онтологиях, подходит к всеобъемлющей перспективе вычислений , в Proc 24-м Международном симпозиуме по компьютерным и информационным наукам. 2009, стр. 730–735.

Внешние ссылки [ править ]

  • Веб-сайт OMG MDA
  • Курс разработки программного обеспечения на основе моделей, Б. Текинердоган, Билкентский университет