Jump to content

Специализированное моделирование

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

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

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

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

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

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

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

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

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

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

Идея предметно-ориентированного моделирования благоприятствует созданию нового языка для конкретной задачи, и поэтому неудивительно, что появляются новые языки, разработанные как мета-метамодели. Наиболее широко используемое семейство таких языков — OPRR. [2] [3] ГОПРР, [4] и GOPPRR, которые сосредоточены на поддержке вещей, присутствующих в языках моделирования, с минимальными усилиями.

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

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

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

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

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

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

Предметно-ориентированный язык и UML

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

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

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

UML — популярный выбор для различных подходов к разработке на основе моделей, при которых технические артефакты, такие как исходный код, документация, тесты и т. д., генерируются алгоритмически из модели предметной области. Например, профили приложений стандарта юридических документов Akoma Ntoso могут быть разработаны путем представления юридических концепций и онтологий в объектах классов UML. [5]

См. также

[ редактировать ]
  1. ^ Келли, С. и Толванен, Ж.-П., (2008) Специализированное моделирование: включение полной генерации кода, John Wiley & Sons, Нью-Джерси. ISBN   978-0-470-03666-2 [1]
  2. ^ Р. Дж. Вельке. Репозиторий CASE: больше, чем просто другое приложение базы данных. В В.В. Коттермане и Дж.А. Сенне, редакторах, «Материалы симпозиума INTEC 1988 г. Системный анализ и проектирование: исследовательская стратегия», Атланта, Джорджия, 1988. Университет штата Джорджия. [2]
  3. ^ Смоландер, К., (1992) OPRR - Модель для моделирования методов разработки систем. В: Инструменты CASE следующего поколения (под ред. К. Лютинена, В.-П. Тахванайнена), IOS Press, Амстердам, Нидерланды, стр. 224–239. [3]
  4. ^ Келли С., Лийтинен К. и Росси М., «MetaEdit+: полностью настраиваемая многопользовательская и многофункциональная среда CASE», Труды CAiSE'96, 8-й международный. Конференция по разработке передовых информационных систем, Конспекты лекций по информатике 1080, Springer-Verlag, стр. 1–21, 1996 г. (в докторской диссертации как 3metools.pdf)
  5. ^ Флэтт, Амели; Лангнер, Арне; Лепс, Олоф (2022). Разработка профилей приложений Akoma Ntoso на основе моделей - концептуальная основа для создания подсхем XML на основе моделей (1-е изд.). Гейдельберг: Природа спринтера. ISBN  978-3-031-14131-7 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 205e706e1af502dfcd0ef1b77cf1910b__1721864400
URL1:https://arc.ask3.ru/arc/aa/20/0b/205e706e1af502dfcd0ef1b77cf1910b.html
Заголовок, (Title) документа по адресу, URL1:
Domain-specific modeling - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)