Метамоделирование
Метамодель — это модель модели, а метамоделирование — это процесс создания таких метамоделей. Таким образом, метамоделирование или метамоделирование — это анализ, построение и разработка рамок, правил, ограничений, моделей и теорий, применимых и полезных для моделирования заранее определенного класса проблем. Как следует из названия, эта концепция применяет понятия мета- и моделирования в разработке программного обеспечения и системной инженерии . Метамодели бывают разных типов и имеют разнообразные применения. [2]
Обзор
[ редактировать ]Метамодель/суррогатная модель — это модель модели, т.е. упрощенная модель фактической модели схемы, системы или объекта, подобного программному обеспечению. [3] [4] Метамодель может представлять собой математическое отношение или алгоритм, представляющий входные и выходные отношения. Модель ; это абстракция явлений реального мира — метамодель — это еще одна абстракция, подчеркивающая свойства самой модели. Модель соответствует своей метамодели так же, как компьютерная программа соответствует грамматике языка программирования, на котором она написана. К различным типам метамоделей относятся полиномиальные уравнения, нейронные сети, кригинг и т. д. «Метамоделирование» — это построение набора «понятий» (вещей, терминов и т. д.) внутри определенной области. Метамоделирование обычно включает в себя изучение взаимосвязей выходных и входных данных, а затем подбор правильных метамоделей для представления этого поведения.
Обычное использование метамоделей:
- В качестве схемы семантических данных , которыми необходимо обмениваться или хранить.
- Как язык, поддерживающий определенный метод или процесс
- Как язык для выражения дополнительной семантики существующей информации.
- Как механизм создания инструментов, которые работают с широким классом моделей во время выполнения.
- Как схема для моделирования и автоматического исследования предложений языка с приложениями для автоматического синтеза тестов.
- В качестве приближения модели более высокой точности для использования, когда необходимо сократить время, затраты или вычислительные усилия.
Из-за «мета» характера метамоделирования как практика , так и теория метамоделей имеют отношение к метанауке , метафилософии , метатеориям и системике , а также метасознанию. Эта концепция может быть полезна в математике и имеет практическое применение в информатике и компьютерной инженерии / разработке программного обеспечения . Последним и посвящена данная статья.
Темы
[ редактировать ]Определение
[ редактировать ]В разработке программного обеспечения использование моделей является альтернативой более распространенным методам разработки на основе кода. Модель всегда соответствует уникальной метамодели. Одним из наиболее активных в настоящее время направлений Model Driven Engineering является подход под названием Model-Driven Architecture, предложенный OMG . Этот подход воплощен в спецификации Meta Object Facility (MOF). [ нужна ссылка ]
Типичными спецификациями метамоделирования, предлагаемыми OMG, являются UML , SysML , SPEM или CWM. ISO также опубликовала стандартную метамодель ISO/IEC 24744 . [6] Все представленные ниже языки можно определить как метамодели MOF.
Моделирование метаданных
[ редактировать ]Моделирование метаданных — это тип метамоделирования, используемый в разработке программного обеспечения и системной инженерии для анализа и построения моделей, применимых и полезных для некоторого заранее определенного класса проблем. (см. также: моделирование данных ).
Преобразования модели
[ редактировать ]Одним из важных шагов в модельно-ориентированном проектировании является систематическое использование языков преобразования моделей . OMG предложила для этого стандарт под названием QVT для запросов/представлений/преобразований. QVT основан на средстве метаобъектов (MOF). Среди многих других языков преобразования моделей (MTL) некоторыми примерами реализаций этого стандарта являются AndroMDA, VIATRA , Tefkat , MT , ManyDesigns Portofino .
Связь с онтологиями
[ редактировать ]Метамодели тесно связаны с онтологиями . Оба часто используются для описания и анализа отношений между понятиями: [7]
- Онтологии: выражают что-то значимое в пределах определенной вселенной или области дискурса , используя грамматику для использования словаря. Грамматика определяет, что значит быть правильно сформированным утверждением, утверждением, запросом и т. д. (формальные ограничения) относительно того, как термины в контролируемом словаре онтологии могут использоваться вместе. [8]
- Метамоделирование: можно рассматривать как явное описание (конструкции и правила) того, как строится модель, специфичная для предметной области. В частности, это включает формализованную спецификацию обозначений, специфичных для предметной области. Обычно метамодели представляют собой – и им всегда следует следовать – строгий набор правил. [9] «Действительная метамодель — это онтология, но не все онтологии моделируются явно как метамодели». [8]
Виды метамоделей
[ редактировать ]Для разработки программного обеспечения несколько типов можно выделить моделей (и соответствующих им действий по моделированию):
- Моделирование метаданных (модель MetaData)
- Моделирование метапроцессов (модель MetaProcess)
- Исполняемое метамоделирование (объединяющее как вышеперечисленное, так и многое другое, как в инструменте общего назначения Kermeta )
- Язык преобразования модели (см. ниже)
- Полиномиальные метамодели [10]
- нейронных сетей Метамодели
- кригинга Метамодели
- Кусочно-полиномиальные (сплайновые) метамодели
- Градиентный кригинг (GEK)
Зоопарки метамоделей
[ редактировать ]Библиотеку подобных метамоделей назвали зоопарком метамоделей. [11] Существует несколько типов метамодельных зоопарков. [12] Некоторые из них выражены в ECore. Остальные написаны в MOF 1.4 – XMI 1.2. Метамодели, выраженные в UML - XMI 1.2, можно загрузить в Poseidon for UML, инструмент UML CASE .
См. также
[ редактировать ]- Эталонная бизнес-модель
- Управление данными
- Модельно-ориентированное проектирование (MDE)
- Модельно-ориентированная архитектура (MDA)
- Доменно-ориентированный язык (DSL)
- Специализированное моделирование (DSM)
- Общая система моделирования затмений (GEMS)
- Кермета (мета-моделирование ядра)
- Метаданные
- Инструмент MetaCASE (инструменты для создания инструментов для автоматизированной разработки программного обеспечения )
- Метод инженерии
- Метамодель MODAF
- Запросы/представления/преобразования MOF (MOF QVT)
- Методология объектного процесса
- Анализ требований
- Картографирование пространства
- Суррогатная модель
- Язык трансформации
- ВЕТРЫ (Ветры)
- Язык преобразования XML (XML TL)
Ссылки
[ редактировать ]- ^ Дэвид Р. Соллер и др. (2001) Отчет о ходе работы над национальной базой данных геологических карт, этап 3: Онлайн-база данных с картографической информацией. Методы цифрового картографирования '01 - Протоколы семинара. Открытый файл Геологической службы США. Отчет 01-223.
- ^ Сараджу Моханти , Глава 12. Методологии быстрого проектирования AMS-SoC на основе метамоделей, « Проектирование наноэлектронных систем смешанных сигналов », ISBN 978-0071825719 и 0071825711, 1-е издание, McGraw-Hill, 2015 г.
- ^ Олег Гарицелов, Сараджу Моханти и Элиас Кугианос, « Сравнительное исследование метамоделей для быстрого и точного моделирования нано-КМОП-схем. Архивировано 23 сентября 2015 г. в Wayback Machine », IEEE Transactions on Semiconductor Manufacturing (TSM), Vol. 25, № 1, февраль 2012 г., стр. 26–36.
- ↑ Сараджу Моханти Сверхбыстрое исследование дизайна наноразмерных схем посредством метамоделирования. Архивировано 23 сентября 2015 г. в Wayback Machine , приглашенный доклад, Semiconductor Research Corporation (SRC), Техасский аналоговый центр передового опыта (TxACE), 27 апреля 2012 г.
- ^ FEA (2005) Профиль управления записями FEA, версия 1.0 . 15 декабря 2005 г.
- ^ Международная организация по стандартизации / Международная электротехническая комиссия, 2007. ISO/IEC 24744 . Программная инженерия — метамодель методологий разработки.
- ^ Э. Седерстрем и др. (2001) «К структуре для сравнения языков моделирования процессов», в: Конспекты лекций по информатике ; Том. 2348. Материалы 14-й Международной конференции по разработке передовых информационных систем. Страницы: 600 – 611, 2001 г.
- ^ Перейти обратно: а б Пидкок, Вуди (2003), Каковы различия между словарем, таксономией, тезаурусом, онтологией и метамоделью? , архивировано из оригинала 14 октября 2009 г. , получено 10 октября 2009 г.
- ^ Эрнст, Йоханнес (2002), Что такое метамоделирование и для чего оно полезно? , архивировано из оригинала 9 октября 2011 года , получено 9 октября 2009 года.
- ^ Сараджу Моханти и Элиас Кугианос, « Быстрая оптимизация схем нано-КМОП-генераторов на основе полиномиальной метамодели. Архивировано 10 августа 2014 г. в Wayback Machine », Журнал Springer Analog Integrated Circuits and Signal Processing Journal, том 79, выпуск 3, июнь 2014 г., стр. 437 –453.
- ^ Жан-Мари Фавр: На пути к базовой теории моделирования, управляемого инженерией. Архивировано 15 октября 2006 года в Wayback Machine .
- ^ AtlanticZoo. Архивировано 29 апреля 2006 г. в Wayback Machine .
Дальнейшее чтение
[ редактировать ]- Сараджу Моханти (2015). «Глава 12. Методологии быстрого проектирования AMS-SoC на основе метамоделей». Проектирование наноэлектронных систем смешанных сигналов . МакГроу-Хилл. ISBN 978-0071825719 .
- Буч Г., Рамбо Дж., Джейкобсон И. (1999), Руководство пользователя унифицированного языка моделирования , Редвуд-Сити, Калифорния: Addison Wesley Longman Publishing Co., Inc.
- Дж. П. ван Гигч , Моделирование системного проектирования и метамоделирование , Plenum Press, Нью-Йорк, 1991.
- Гопи Булусу, hamara.in, 2004 г. Трансформация, управляемая моделью.
- П.К. Смолик, Среда метамоделирования Мамбо , докторская диссертация, Технологический университет Брно. 2006 г.
- Гонсалес-Перес, К. и Б. Хендерсон-Селлерс, 2008. Метамоделирование разработки программного обеспечения. Чичестер (Великобритания): Уайли. 210 стр. ISBN 978-0-470-03036-3
- М. А. Юсфельд, М. Ярке и Дж. Милопулос , 2009. Метамоделирование для разработки методов. Кембридж (США): MIT Press. 424 с. ISBN 978-0-262-10108-0 , открытый доступ через http://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf.
- Г. Капла «Модели и метамодели» , 2008 – ISBN 978-2-88074-749-7 (на французском языке)
- Филл, Х.-Г., Карагианнис, Д., 2013. О концептуализации методов моделирования с использованием платформы метамоделирования ADOxx , Моделирование предприятия и архитектуры информационных систем, Vol. 8, выпуск 1, 4–25.