메타모델링

메타모델(metamodel)은 모델의 모델이고, 메타모델링(metamodeling)은 그러한 메타모델을 생성하는 프로세스이다. 따라서 메타모델링 또는 메타 모델링은 미리 정의된 문제 클래스를 모델링하는 데 적용 가능하고 유용한 프레임, 규칙, 제약 조건, 모델 및 이론의 분석, 구성 및 개발이다. 이름에서 알 수 있듯이 이 개념은 소프트웨어 공학 및 시스템 공학의 메타 및 모델링 개념을 적용한다. 메타모델은 다양한 유형이 있으며 다양한 용도로 사용된다.Saraju Mohanty, Chapter 12 Metamodel-Based Fast AMS-SoC Design Methodologies, "Nanoelectronic Mixed-Signal System Design",  and 0071825711, 1st Edition, McGraw-Hill, 2015.

 개요 
메타모델/대리 모델은 모델의 모델, 즉 회로, 시스템 또는 소프트웨어와 같은 엔터티의 실제 모델을 단순화한 모델이다.Oleg Garitselov, Saraju Mohanty, and Elias Kougianos, "A Comparative Study of Metamodels for Fast and Accurate Simulation of Nano-CMOS Circuits ", IEEE Transactions on Semiconductor Manufacturing (TSM), Vol. 25, No. 1, February 2012, pp. 26–36.Saraju Mohanty Ultra-Fast Design Exploration of Nanoscale Circuits through Metamodeling , Invited Talk, Semiconductor Research Corporation (SRC), Texas Analog Center for Excellence (TxACE), 27 April 2012. 메타모델은 입력과 출력 관계를 나타내는 수학적 관계 또는 알고리즘일 수 있다. 모델은 현실 세계의 현상을 추상화한 것이다. 메타모델은 모델 자체의 속성을 강조하는 또 다른 추상화이다. 컴퓨터 프로그램이 작성된 프로그래밍 언어의 문법을 따르는 것처럼 모델은 메타모델을 따른다. 다양한 유형의 메타모델에는 다항식 방정식, 신경망, Kriging 등이 포함된다. "메타모델링"은 특정 영역 내에서 "개념"(사물, 용어 등) 모음을 구성하는 것이다. 메타모델링에는 일반적으로 출력과 입력 관계를 연구한 다음 해당 동작을 나타내는 데 적합한 메타모델을 적용하는 작업이 포함된다.

메타모델의 일반적인 용도는 다음과 같다.

 교환 또는 저장이 필요한 의미 데이터에 대한 스키마로
 특정 방법이나 프로세스를 지원하는 언어로
 기존 정보의 추가적인 의미를 표현하기 위한 언어로
 런타임에 광범위한 모델 클래스와 작동하는 도구를 생성하는 메커니즘
 자동화된 테스트 합성을 적용하여 언어의 문장을 모델링하고 자동으로 탐색하기 위한 스키마
 시간, 비용 또는 계산 노력을 줄일 때 사용하기 위한 고충실도 모델의 근사치로서

메타모델링의 "메타" 특성으로 인해 메타모델의 실천과 이론은 모두 메타과학, 메타철학, 메타이론 및 체계론, 메타의식과 관련이 있다. 이 개념은 수학에서 유용할 수 있으며 컴퓨터 과학 및 컴퓨터 공학/소프트웨어 공학에 실용적으로 적용된다. 후자가 이 글의 주요 초점이다.

 같이 보기 
 데이터 거버넌스
 모델 기반 개발
 모델 구동형 아키텍처
 도메인 특화 언어
 메타데이터
 컴퓨터 지원 소프트웨어 공학
 요구사항 분석
 도메인 특화 모델링
 QVT

 각주 

분류:소프트웨어 설계
분류:모델링 (과학)