메타모델링
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
메타모델은 모델의 모델로, 회로, 시스템, 소프트웨어 등 실제 모델을 단순화한 것이다. 모델이 현실 세계를 추상화한 것이라면, 메타모델은 모델 자체의 속성을 강조하는 또 다른 추상화이다. 메타모델은 의미 데이터의 스키마, 특정 방법이나 프로세스를 지원하는 언어, 기존 정보의 추가적인 의미를 표현하는 언어 등으로 사용된다. 메타모델링은 특정 영역 내에서 개념 모음을 구성하는 것이며, 소프트웨어 공학에서 모델 중심 엔지니어링 접근 방식과 모델 변환, 온톨로지와의 관계 등 다양한 분야에 활용된다.
더 읽어볼만한 페이지
- 모델링 (과학) - 원자 모형
원자 모형은 원자 구조를 설명하기 위해 제시된 다양한 모델들의 변천사로, 돌턴 모형, 톰슨 모형, 러더퍼드 모형, 보어 모형을 거쳐 현대 원자 모형에 이르기까지 발전해 왔다. - 모델링 (과학) - 맞춤의학
맞춤의학은 환자의 유전적, 분자 생물학적, 세포적 특징을 고려하여 개인에게 최적화된 치료법을 제공하는 의료 모델로, 더 나은 진단과 효율적인 약물 개발, 표적화된 치료법을 제공하지만 데이터 관련 문제와 규제 및 윤리적 문제 등의 과제를 안고 있다. - 소프트웨어 설계 - 구조적 분석
구조적 분석은 1960년대에서 1980년대 소프트웨어 개발의 복잡성을 해결하기 위해 개발된 기법으로, 다이어그램과 데이터 사전을 활용하여 시스템을 분석하고 설계했으며, 객체 지향 프로그래밍의 등장으로 활용도가 감소했다. - 소프트웨어 설계 - 지속적 배포
지속적 배포(CD)는 소프트웨어 릴리스 프로세스를 자동화하는 접근 방식이며, 배포 파이프라인을 통해 구현되고 시장 출시 시간 단축, 제품 품질 향상 등의 이점을 제공하지만 테스트 자동화 부족 등의 과제도 존재한다.
| 메타모델링 | |
|---|---|
| 개요 | |
| 유형 | 모델 |
| 하위 유형 | 추상 모델 |
| 관련 항목 | 모델 구동 아키텍처 모델 변환 도메인 특화 언어 메타데이터 온톨로지 시맨틱 웹 |
| 소프트웨어 공학에서의 메타모델링 | |
| 목적 | 시스템의 다양한 측면에 대한 명시적이고 이해하기 쉬운 모델을 제공 시스템 개발 및 유지보수 프로세스 간소화 다양한 도구 및 기술 간의 상호 운용성 향상 |
| 특징 | 추상화: 시스템의 핵심 개념 및 관계를 파악하고 불필요한 세부 사항 제거 명확성: 시스템의 구조와 동작을 명확하게 정의하여 이해하기 쉽게 함 일관성: 시스템의 여러 모델 간의 일관성을 유지하여 오류 발생 가능성 감소 재사용성: 메타모델을 다양한 시스템에 적용하여 개발 효율성 향상 |
| 역할 | 모델 정의: 시스템의 모델을 정의하는 데 사용되는 언어 및 규칙 제공 모델 검증: 모델이 메타모델에 정의된 규칙을 준수하는지 확인 코드 생성: 메타모델을 기반으로 시스템의 코드를 자동 생성 |
| 적용 분야 | 도메인 특화 언어 (DSL) 개발 모델 구동 개발 (MDD) 시스템 엔지니어링 데이터 모델링 온톨로지 구축 |
| 추가 정보 | |
| 참고 문헌 | Thomas Kühne (2006). Patterns for Model-Driven Engineering. Vieweg Verlag, Wiesbaden. ISBN 3-8348-0353-3 Anneke Kleppe, Jos Warmer, Wim Bast (2003). MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley. ISBN 0-321-19442-X David C. Hay, Hans Van Gilluwe (2005). Data Model Patterns: A Metadata Map. Technics Publications. ISBN 0-9727567-3-7 |
| 외부 링크 | |
| 관련 기술 | |
| 관련 기술 | MOF (Meta Object Facility) Ecore GME (Generic Modeling Environment) |
2. 정의

메타모델(metamodel) 또는 대리 모델(surrogate model)은 모델의 모델, 즉 회로, 시스템 또는 소프트웨어와 같은 실체의 실제 모델을 단순화한 모델을 의미한다.[21][22][3][4] 모델이 실제 세계의 현상을 추상화한 것이라면, 메타모델은 모델 자체의 속성을 강조하는 또 다른 추상화라고 할 수 있다. 모델은 컴퓨터 프로그램이 작성된 프로그래밍 언어의 문법을 따르는 것처럼 메타모델을 따른다. 메타모델은 입력과 출력 관계를 나타내는 수학적 관계 또는 알고리즘일 수 있으며, 다양한 유형의 메타모델에는 다항식 방정식, 신경망, 크리깅 등이 포함된다.
'''메타모델링'''은 특정 영역 내에서 "개념"(사물, 용어 등)의 집합을 구성하는 과정을 말한다. 일반적으로 메타모델링은 대상 시스템의 출력 및 입력 관계를 연구하고, 해당 동작을 나타내기에 적합한 메타모델을 구축하는 작업을 포함한다.
메타모델의 일반적인 용도는 다음과 같다.
- 교환 또는 저장해야 하는 시맨틱 데이터의 스키마 역할
- 특정 방법이나 프로세스를 지원하는 언어 역할
- 기존 정보에 추가적인 의미(시맨틱)를 표현하는 언어 역할
- 런타임 시 광범위한 클래스의 모델을 사용하는 도구를 생성하는 메커니즘 역할
- 자동 테스트 합성에 적용되는 언어의 문장을 모델링하고 자동으로 탐색하기 위한 스키마 역할
- 시간, 비용 또는 계산 노력을 줄여야 할 때 사용하는 고품질 모델의 근사치 역할
메타모델링의 "메타"라는 특성 때문에, 메타모델의 실천과 이론은 메타과학, 메타철학, 메타이론 및 시스템론, 그리고 메타의식과 관련이 있다. 이 개념은 수학뿐만 아니라 컴퓨터 과학 및 컴퓨터 공학/소프트웨어 공학 분야에서 실용적으로 응용되고 있다.
3. 메타모델링
메타모델 또는 surrogate model|대리 모델영어은 모델의 모델, 즉 회로, 시스템 또는 소프트웨어와 같은 실체의 실제 모델을 단순화한 모델이다.[3][4] 메타모델은 입력과 출력 관계를 나타내는 수학적 관계 또는 알고리즘일 수 있다. 모델은 현실 세계의 현상을 추상화한 것이고, 메타모델은 모델 자체의 속성을 강조하는 또 다른 추상화이다. 모델은 컴퓨터 프로그램이 작성된 프로그래밍 언어의 문법을 따르는 방식과 유사하게 메타모델을 따른다. 메타모델의 종류로는 다항식 방정식, 신경망, 크리깅 등이 있다.
'''메타모델링'''은 특정 영역 내에서 개념(사물, 용어 등) 모음을 구성하는 과정이다. 일반적으로 출력과 입력 관계를 연구한 다음, 해당 동작을 나타내기에 적합한 메타모델을 적용하는 작업을 포함한다.
메타모델의 일반적인 용도는 다음과 같다.
| 용도 | 설명 |
|---|---|
| 스키마 | 교환 또는 저장해야 하는 시맨틱 데이터의 스키마로 사용된다. |
| 지원 언어 | 특정 방법이나 프로세스를 지원하는 언어로 사용된다. |
| 의미 표현 언어 | 기존 정보에 부가적인 의미를 표현하는 언어로 사용된다. |
| 도구 생성 메커니즘 | 런타임에 광범위한 클래스의 모델을 사용하는 도구를 생성하는 메커니즘으로 사용된다. |
| 자동 탐색 스키마 | 자동 테스트 합성에 적용되는 언어의 문장을 모델링하고 자동으로 탐색하기 위한 스키마로 사용된다. |
| 모델 근사치 | 시간, 비용 또는 계산 노력을 줄여야 할 때 사용하기 위한 고충실도 모델의 근사치로 사용된다. |

메타모델링의 '메타' 특성으로 인해, 메타모델의 실천과 이론은 메타과학, 메타철학, 메타이론 및 시스템론, 그리고 메타의식과 관련이 있다. 이 개념은 수학에서 유용하며, 특히 컴퓨터 과학 및 컴퓨터 공학/소프트웨어 공학 분야에서 실용적으로 응용된다. 이 글에서는 주로 후자(컴퓨터 과학 및 공학/소프트웨어 공학)의 관점에서 다룬다. 소프트웨어 공학에서는 모델의 이용이 기존의 코드 기반 개발 기법의 대안으로 강조되기도 한다. 어떤 모델은 항상 하나의 메타모델을 따르며, 모델 중심 개발 중에서도 특히 활발한 것이 OMG가 제안하는 모델 중심 아키텍처 (MDA)이다. MDA에서는 메타-오브젝트 퍼실리티 (MOF)라고 불리는 언어로 메타모델을 기술한다. OMG가 제안하는 전형적인 메타모델은 UML, SysML, SPEM, CWM 등이다. ISO에서도 ISO/IEC 24744에서 표준 메타모델을 공개하고 있다.[15]
3. 1. 메타데이터 모델링
메타데이터 모델링(Metadata modeling영어)은 소프트웨어 공학 및 시스템 공학 분야에서 사용되는 메타모델링의 한 유형이다. 이는 특정 문제 영역에 적용할 수 있는 유용한 모델을 분석하고 구성하는 데 활용된다(데이터 모델링 참조).4. 메타모델의 종류
메타모델은 모델을 만드는 모델로서, 다양한 종류가 존재한다. 어떤 종류의 메타모델을 사용할지는 해결하려는 문제의 영역이나 구체적인 목적에 따라 달라진다.[21][22] 일반적으로 사용되는 메타모델 유형에는 다항식 방정식, 신경망, 크리깅 등이 있다.
특히 소프트웨어 공학 분야에서는 다음과 같은 메타모델 유형(및 관련 메타모델링 기법)으로 분류하기도 한다.
- 메타데이터 모델링 (메타데이터 모델)
- 메타 프로세스 모델링 (메타 프로세스 모델)
- 실행 가능한 메타모델 (위의 두 가지를 조합한 형태)
- 모델 변환 언어
- 다항식 메타모델[10]
- 신경망 메타모델
- 크리깅 메타모델
- 구간 다항식 (스플라인) 메타모델
- 경사 향상 크리깅 (GEK)
5. 메타모델의 활용
메타모델은 모델 자체의 속성을 강조하는 추상화이며[21][22], 특정 영역 내의 개념 집합을 구축하는 메타모델링 과정에서 생성된다. 이는 다양한 분야에서 활용될 수 있으며, 특히 복잡한 시스템을 분석하고 관리하는 데 유용하다. 메타모델의 일반적인 용도는 다음과 같다.
- 교환 또는 저장이 필요한 의미론적 데이터에 대한 스키마로 사용된다.[3][4]
- 특정 방법이나 프로세스를 지원하는 언어 역할을 한다.
- 기존 정보에 추가적인 의미를 표현하기 위한 언어로 활용된다.
- 런타임에 광범위한 모델 클래스와 작동하는 도구를 생성하는 메커니즘을 제공한다.
- 자동화된 테스트 합성을 적용하여 언어의 문장을 모델링하고 자동으로 탐색하기 위한 스키마로 사용된다.
- 시간, 비용 또는 계산 노력을 줄여야 할 때, 고충실도 모델을 대신하는 근사치(대리 모델)로 사용된다.[3][4]
특히 소프트웨어 공학 및 시스템 공학 분야에서는 다음과 같은 유형의 메타모델링이 활용된다.
- 메타데이터 모델링: 특정 문제 계층에 적용 가능한 메타데이터 모델을 분석하고 구성한다.
- 메타 프로세스 모델링: 프로세스 자체를 모델링하는 메타 프로세스 모델을 다룬다.
- 실행 가능한 메타 모델링: 케르메타와 같이 메타데이터 및 메타 프로세스 모델링 등을 결합하여 실행 가능한 모델을 생성한다.
- 모델 변환 언어: 모델 간의 변환 규칙을 정의하는 데 사용된다.
6. 모델 변환
모델 중심 엔지니어링(MDE)에서 중요한 활동 중 하나는 모델 변환 언어(MTL)의 체계적인 사용이다. 모델 변환은 특정 메타모델을 따르는 모델을 다른 메타모델을 따르는 모델로 변환하는 과정이다.
OMG는 이를 위해 쿼리/뷰/변환(QVT, Queries/Views/Transformations)이라는 표준 규격을 제안했다. QVT는 메타-객체 기능(MOF)을 기반으로 한다. QVT를 준수하는 대표적인 모델 변환 언어 구현으로는 AndroMDA, VIATRA, Tefkat, MT, ManyDesigns Portofino 등이 있다.
MOF/QVT 접근 방식에서는 모델 변환 자체가 하나의 모델로 취급된다. 따라서 변환 언어 자체를 메타모델로 정의하는 것이 가능하다. 명확한 메타모델에 기반한 모델 변환 언어의 예로는 ATL이 있다.
7. 온톨로지와의 관계
메타모델은 온톨로지와 밀접한 관련이 있다. 둘 다 개념 간의 관계를 설명하고 분석하는 데 자주 사용된다:[7][16]
- '''온톨로지''': 특정 담론 영역이나 분야 내에서 의미 있는 내용을 표현하기 위해 어휘와 그 사용 문법을 활용한다. 이 문법은 온톨로지가 관리하는 어휘의 용어들이 어떻게 조합되어야 잘 구성된 진술, 주장, 질의 등을 형성할 수 있는지에 대한 의미(형식적 제약)를 명시한다.[8][17]
- '''메타모델링''': 특정 도메인의 모델이 어떻게 구축되는지에 대한 명시적인 설명(구성 요소 및 규칙)으로 볼 수 있다. 특히, 이는 도메인별 표기법의 형식화된 사양을 포함한다. 일반적으로 메타모델은 엄격한 규칙 집합을 따라야 한다.[9][18]
결론적으로, "유효한 메타모델은 온톨로지이지만, 모든 온톨로지가 명시적으로 메타모델로 모델링되는 것은 아니다."[8][17] 즉, 모든 메타모델은 개념과 그 관계를 정의하므로 온톨로지의 특성을 가지지만, 지식 표현을 목적으로 하는 모든 온톨로지가 모델의 구조를 정의하는 메타모델의 형식을 명시적으로 따르는 것은 아니다.
8. 메타모델 동물원 (Zoos of metamodels)
유사한 메타모델들의 라이브러리를 메타모델 동물원(Zoo of metamodels영어)이라고 부른다.[11] 메타모델 동물원에는 여러 종류가 있으며[12], 다양한 형식으로 표현된다. 예를 들어, 일부 메타모델 동물원은 ECore 형식으로 표현되고, 다른 것들은 MOF 1.4 – XMI 1.2 형식으로 작성된다. 또한, UML-XMI 1.2 형식으로 표현된 메타모델은 UML CASE 도구인 Poseidon for UML에 업로드하여 활용할 수 있다.
참조
[1]
간행물
Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information
http://pubs.usgs.gov[...]
U.S. Geological Survey
2001
[2]
서적
Nanoelectronic Mixed-Signal System Design
http://www.mhprofess[...]
McGraw-Hill
2015
[3]
논문
A Comparative Study of Metamodels for Fast and Accurate Simulation of Nano-CMOS Circuits
http://www.cse.unt.e[...]
2012-02
[4]
간행물
Ultra-Fast Design Exploration of Nanoscale Circuits through Metamodeling
http://www.cse.unt.e[...]
Semiconductor Research Corporation (SRC), Texas Analog Center for Excellence (TxACE)
2012-04-27
[5]
문서
FEA Records Management Profile, Version 1.0
http://www.archives.[...]
2005-12-15
[6]
간행물
ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies
http://www.iso.org/i[...]
2007
[7]
논문
Towards a Framework for Comparing Process Modelling Languages
Proceedings of the 14th International Conference on Advanced Information Systems Engineering
2001
[8]
Citation
What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
http://infogrid.org/[...]
2003
[9]
Citation
What is metamodeling, and what is it good for?
http://infogrid.org/[...]
2002
[10]
논문
Polynomial Metamodel Based Fast Optimization of Nano-CMOS Oscillator Circuits
http://www.cse.unt.e[...]
2014-06
[11]
웹사이트
Jean-Marie Favre: Towards a Basic Theory to Model Driven Engineering.
http://www.metamodel[...]
[12]
웹사이트
AtlanticZoo
http://www.eclipse.o[...]
[13]
간행물
Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information
http://pubs.usgs.gov[...]
U.S. Geological Survey
2001
[14]
문서
FEA Records Management Profile, Version 1.0
http://www.archives.[...]
2005-12-15
[15]
간행물
ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies
http://www.iso.org/i[...]
2007
[16]
논문
Towards a Framework for Comparing Process Modelling Languages
Proceedings of the 14th International Conference on Advanced Information Systems Engineering
2001
[17]
Citation
What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
http://infogrid.org/[...]
2003
[18]
Citation
What is metamodeling, and what is it good for?
http://infogrid.org/[...]
2002
[19]
간행물
Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information
http://pubs.usgs.gov[...]
U.S. Geological Survey
2001
[20]
서적
Nanoelectronic Mixed-Signal System Design
http://www.mhprofess[...]
McGraw-Hill
2015
[21]
논문
A Comparative Study of Metamodels for Fast and Accurate Simulation of Nano-CMOS Circuits
http://www.cse.unt.e[...]
2012-02
[22]
간행물
Ultra-Fast Design Exploration of Nanoscale Circuits through Metamodeling
http://www.cse.unt.e[...]
Semiconductor Research Corporation (SRC), Texas Analog Center for Excellence (TxACE)
2012-04-27
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com