Доменно-ориентированное моделирование

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

Доменно-ориентированное моделирование (DSM ) - это разработка программного обеспечения методология проектирования и разработки систем, таких как компьютерное программное обеспечение. Он предполагает систематическое использование предметно-ориентированного языка для представления различных аспектов системы.

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

Содержание

  • 1 Обзор
  • 2 Темы
    • 2.1 Определение языков для предметной области
    • 2.2 Инструментальная поддержка языков для предметной области
  • 3 Язык для предметной области и UML
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

Обзор

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

Доменно-ориентированный язык отличается от более ранних попыток генерации кода в инструментах CASE 1980-х годов или UML инструментах 1990-х. В обоих случаях генераторы кода и языки моделирования были созданы поставщиками инструментов. В то время как поставщик инструментов может создать предметно-ориентированный язык и генераторы, более нормальным является наличие предметно-ориентированного языка внутри одной организации. Один или несколько опытных разработчиков создают язык моделирования и генераторы, а остальные разработчики используют их.

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

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

Темы

Определение предметно-ориентированных языков

Чтобы определить язык, нужен язык для напишите определение. Язык модели часто называют метамоделью, поэтому язык для определения языка моделирования - это мета-метамодель. Мета-метамодели можно разделить на две группы: те, которые созданы на основе существующих языков или адаптированы к ним, и те, которые были разработаны специально как мета-метамодели.

Производные мета-метамодели включают диаграммы взаимосвязей сущностей, формальные языки, расширенную форму Бэкуса-Наура (EBNF), языки онтологий, XML-схема и мета-объектная функция (MOF). Сильные стороны этих языков, как правило, заключаются в знакомстве и стандартизации исходного языка.

Идея моделирования, ориентированного на предметную область, способствует созданию нового языка для конкретной задачи, поэтому неудивительно, что появились новые языки, разработанные как мета-метамодели. Наиболее широко используемым семейством таких языков является OPRR, GOPRR и GOPPRR, которые сосредоточены на поддержке вещей, имеющихся в языках моделирования, с минимальными усилиями.

Инструментальная поддержка для предметно-ориентированных языков

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

Языковая среда предметной области может рассматриваться как инструмент метамоделирования, то есть инструмент моделирования, используемый для определения инструмента моделирования или инструмента CASE. Полученный инструмент может либо работать в языковой среде предметной области, либо, реже, создаваться как отдельная автономная программа. В более общем случае языковая среда предметной области поддерживает дополнительный уровень абстракции по сравнению с традиционным инструментом CASE.

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

Большинство существующих предметно-ориентированных языков имеет место в предметно-ориентированных языковых средах, коммерческих, таких как MetaEdit + или Actifsource, с открытым исходным кодом, таких как GEMS или академический, например GME. Растущая популярность предметно-ориентированного языка привела к добавлению предметно-ориентированных языковых фреймворков к существующим IDE, например Eclipse Modeling Project (EMP) с EMF и GMF или в Microsoft DSL Tools для Software Factories.

Domain -специфический язык и UML

Unified Modeling Language (UML) - это язык моделирования общего назначения для программно-интенсивных систем, который предназначен для поддержки в основном объектно-ориентированное программирование. Следовательно, в отличие от языков, специфичных для предметной области, UML используется для множества целей в широком диапазоне предметных областей. UML предлагает примитивы объектно-ориентированного программирования, а предметно-ориентированные языки предлагают примитивы, семантика которых знакома всем специалистам в этой области. Например, в области автомобильной техники будут модели программного обеспечения для представления свойств антиблокировочной тормозной системы или рулевого колеса, и т. д.

UML включает в себя механизм профилей, который позволяет ограничивать и настраивать его для определенных доменов и платформ. Профили UML используют стереотипы, атрибуты стереотипов (известные как значения с тегами до UML 2.0) и ограничения для ограничения и расширения области применения UML в конкретном домене. Возможно, наиболее известным примером настройки UML для определенного домена является SysML, язык для системной инженерии.

. См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-17 11:34:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте