Метамоделирование - Википедия - Metamodeling

Пример мета-модели информации геологической карты с четырьмя типами метаобъектов и их ссылками на себя.[1]

Метамодель или суррогатная модель - это модель модели, а метамоделирование - это процесс создания таких метамоделей. Таким образом метамоделирование или же мета-моделирование анализ, построение и разработка рамок, правил, ограничений, моделей и теорий, применимых и полезных для моделирование предопределенный класс проблем. Как следует из названия, эта концепция применяет понятия мета- и моделирование в программная инженерия и системная инженерия. Метамодели бывают разных типов и имеют разнообразное применение.[2]

Обзор

Метамодель / суррогатная модель - это модель модели, то есть упрощенная модель реальной модели схемы, системы или программного обеспечения, подобного объекту.[3][4] Метамодель может быть математическим соотношением или алгоритмом, представляющим входные и выходные отношения. А модель это абстракция явлений в реальный мир; метамодель - это еще одна абстракция, выделяющая свойства самой модели. Модель соответствует своей метамодели так, как компьютерная программа соответствует грамматике языка программирования, на котором она написана. Различные типы метамоделей включают полиномиальные уравнения, нейронную сеть, Кригинг и т. д. «Метамоделирование» - это построение набора «концептов» (вещей, терминов и т. д.) в определенной области. Метамоделирование обычно включает изучение выходных и входных отношений, а затем подгонку правильных метамоделей для представления этого поведения.

Обычно метамодели используют:

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

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

Темы

Пример онтология.
А DoDAF метамодель.

Определение

В программная инженерия, использование модели является альтернативой более распространенным методам разработки на основе кода. Модель всегда соответствует уникальной метамодели. Одна из наиболее активных на данный момент ветвей Модельно-ориентированная инженерия назван подход управляемая моделями архитектура предложено мой Бог. Этот подход основан на использовании языка для написания метамоделей, называемых Мета-объектный объект или MOF. Типичные метамодели, предложенные мой Бог находятся UML, SysML, SPEM или CWM. ISO также опубликовал стандартную метамодель ISO / IEC 24744.[6] Все представленные ниже языки можно определить как метамодели MOF.

Моделирование метаданных

Моделирование метаданных это тип метамоделирования, используемый в программная инженерия и системная инженерия для анализа и построения моделей, применимых и полезных для некоторого заранее определенного класса проблем. (смотрите также: моделирование данных ).

Преобразования модели

Один важный шаг в модельно-ориентированная инженерия систематическое использование языки преобразования моделей. OMG предложила для этого стандарт, который называется QVT для запросов / представлений / преобразований. QVT основан на мета-объект или MOF. Среди многих других языки преобразования моделей (MTL), примерами реализации этого стандарта являются AndroMDA, ВИАТРА, Тефкат, MT, ManyDesigns Портофино.

Отношение к онтологиям

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

  • Онтологии: выражают что-то значимое в указанной вселенной или область дискурса используя грамматику для использования словарного запаса. Грамматика определяет, что значит быть хорошо сформированным утверждением, утверждением, запросом и т. Д. (Формальные ограничения) относительно того, как термины в контролируемом словаре онтологии могут использоваться вместе.[8]
  • Мета-моделирование: можно рассматривать как явный описание (конструкции и правила) построения предметно-ориентированной модели. В частности, он содержит формализованную спецификацию нотаций, специфичных для предметной области. Обычно метамодели представляют собой - и всегда должны следовать - строгому набору правил.[9] «Действительная метамодель - это онтология, но не все онтологии моделируются явно как метамодели ».[8]

Типы метамоделей

Для разработки программного обеспечения несколько типы моделей (и соответствующих им действий по моделированию) можно выделить:

Зоопарки метамоделей

Библиотека подобных метамоделей получила название Зоопарк метамоделей.[11]Есть несколько типов метамодельных зоопарков.[12] Некоторые выражены в ECore. Остальные написаны на Минфин 1.4 – XMI 1.2. Метамодели, выраженные в UML -XMI 1.2 можно загрузить в Посейдон для UML, а UML ДЕЛО инструмент.

Программное обеспечение для метамоделирования

  • Набор инструментов суррогатного моделирования (SMT: https://github.com/SMTorg/smt ): это пакет Python, содержащий набор методов суррогатного моделирования, методов выборки и функций тестирования. Этот пакет предоставляет библиотеку суррогатных моделей, которая проста в использовании и облегчает реализацию дополнительных методов. SMT отличается от существующих суррогатных библиотек моделирования из-за того, что в нем делается упор на производные, включая обучающие производные, используемые для моделирования с градиентным усилением, производные прогнозирования и производные по отношению к обучающим данным. Он также включает новые суррогатные модели, недоступные в других местах: кригинг методом частичного сокращения наименьших квадратов и сплайн-интерполяцию с минимизацией энергии.[13]

Смотрите также

Рекомендации

  1. ^ Дэвид Р. Соллер и др. (2001) Отчет о ходе работы над национальной базой данных геологических карт, этап 3: онлайн-база данных картографической информации Digital Mapping Techniques '01 - Workshop Proceedings U.S. Geological Survey Open-File Report 01-223.
  2. ^ Сараджу Моханти, Глава 12 Методологии быстрого проектирования AMS-SoC на основе метамоделей »,Проектирование наноэлектронных систем со смешанными сигналами ", ISBN  978-0071825719 и 0071825711, 1-е издание, McGraw-Hill, 2015.
  3. ^ Олег Гарицелов, Сараджу Моханти, и Элиас Кугианос, "Сравнительное исследование метамоделей для быстрого и точного моделирования схем нано-КМОП В архиве 23 сентября 2015 г. Wayback Machine ", IEEE Transactions on Semiconductor Manufacturing (TSM), Vol. 25, No. 1, February 2012, pp. 26–36.
  4. ^ Сараджу Моханти Сверхбыстрое исследование конструкции наноразмерных схем с помощью метамоделирования В архиве 23 сентября 2015 г. Wayback Machine, Приглашенное выступление, Корпорация полупроводниковых исследований (SRC), Техасский аналоговый центр передового опыта (TxACE), 27 апреля 2012 г.
  5. ^ FEA (2005) Профиль управления записями FEA, версия 1.0. 15 декабря 2005 г.
  6. ^ Международная организация по стандартизации / Международная электротехническая комиссия, 2007. ISO / IEC 24744. Программная инженерия - метамодель методологий разработки.
  7. ^ Э. Сёдерстрём и др. (2001) «На пути к структуре для сравнения языков моделирования процессов», в: Конспект лекций по информатике; Vol. 2348. Труды 14-й Международной конференции по современной инженерии информационных систем. Страницы: 600 - 611, 2001
  8. ^ а б Пидкок, Вуди (2003), В чем разница между словарем, таксономией, тезаурусом, онтологией и метамоделью?, заархивировано из оригинал 14 октября 2009 г., получено 10 октября 2009
  9. ^ Эрнст, Йоханнес (2002), Что такое метамоделирование и для чего оно полезно?, заархивировано из оригинал 9 октября 2011 г., получено 9 октября 2009
  10. ^ Сараджу Моханти и Элиас Кугианос "Быстрая оптимизация схем генераторов нано-КМОП на основе полиномиальной метамодели В архиве 10 августа 2014 г. Wayback Machine ", Springer Analog Integrated Circuits and Signal Processing Journal, Volume 79, Issue 3, June 2014, pp. 437–453.
  11. ^ Жан-Мари Фавр: На пути к базовой теории модельно-управляемой инженерии. В архиве 15 октября 2006 г. Wayback Machine.
  12. ^ Атлантический зоопарк В архиве 29 апреля 2006 г. Wayback Machine.
  13. ^ Bouhlel, M.A .; Hwang, J.H .; Бартоли, Натали; Lafage, R .; Morlier, J .; Мартинс, J.R.R.A. (2019). «Фреймворк суррогатного моделирования Python с производными». Достижения в инженерном программном обеспечении. Дои:10.1016 / j.advengsoft.2019.03.005.

дальнейшее чтение