UML 메타계층으로 읽는 모델 인스턴스화 체계
MOF를 정점으로 UML 메타모델과 설계 모델, 런타임 인스턴스를 연결하는 메타계층 구조와 프로파일·검증·추적성 활용 방법
2026-08-14 · 최초 발행 2025-10-14
MOF에서 런타임 인스턴스까지 이어지는 관계
UML 메타계층은 모델 구동 개발(Model-Driven Development, MDD)과 표준 메타모델링을 위한 구조다. MOF(Meta-Object Facility)를 최상위에 두고 메타모델, 모델, 실행 또는 데이터 인스턴스로 이어지는 인스턴스화 사슬을 정의한다. 복잡한 시스템의 정의·교환·검증을 같은 체계 안에서 다루기 위한 프레임워크이기도 하다.
M3는 메타메타모델 계층이다. MOF 표준을 바탕으로 메타모델의 구조·타입·제약을 정의하는 언어 체계를 제공한다.
M2는 UML 메타모델이나 BPMN 메타모델처럼 도메인 모델을 정의하는 계층이다. 클래스, 연관, 제약(OCL) 등 모델 요소의 유형과 관계가 이곳에서 규정된다.
M1에는 사용자가 작성하는 구체적인 모델이 위치한다. 클래스 다이어그램, 시퀀스 다이어그램, 상태 머신은 시스템 설계를 표현하는 M1 산출물이다.
M0는 실행 시점의 객체, 데이터베이스 레코드, 메시지처럼 모델이 구체화된 실체가 관찰되는 계층이다.
상위 계층에서 하위 계층으로 이어지는 인스턴스화 관계를 분리하면, 변경이 미치는 범위를 분석하고 각 계층의 책임과 추상화 수준을 구분하기 수월하다.
메타모델 확장과 상호운용성의 기반
MOF는 UML 메타모델의 문법과 의미론을 정의하며, OCL 제약을 통해 정형 검증도 가능하게 한다. XMI 기반 직렬화는 도구 사이에서 모델을 교환하는 기반이 된다.
도메인 요구가 UML 기본 표현만으로 충분하지 않을 때는 프로파일을 적용할 수 있다. 스테레오타입과 태그드 값(tagged value)은 메타모델 자체를 교체하지 않고 도메인 특화 표현을 추가한다. 이 방식은 커스텀 메타모델보다 도입 난이도가 낮고, 하위 호환성과 도구 지원성을 확보하는 데 유리하다. 다만 표현력에는 제한이 있다.
모델을 코드와 테스트까지 연결하려면 요구사항, 모델, 코드 또는 테스트 사이의 추적 링크를 관리해야 한다. 이 연결은 변경 영향 범위를 정량적으로 파악하는 근거가 된다. 모델 리포지토리, 버전 관리, 리뷰 게이트를 함께 운영하면 품질 거버넌스도 체계화할 수 있다.
모델을 검증 가능한 산출물로 만드는 흐름
모델링은 요구사항, 비즈니스 규칙, 도메인 용어집을 입력으로 시작한다. 이를 바탕으로 M1 초안을 만들고, 필요하면 프로파일을 설계·적용한다. 이어서 M2 정합성을 검사하고 OCL 및 도구 내 validation으로 제약을 검증한다. 모델 시뮬레이션이나 프로토타입을 거친 결과물은 검증된 M1 모델, 코드·스키마·문서 산출물, 추적성 매트릭스다.
제약 위반은 OCL 에러 리포트에서 수정 요청과 재검증으로 이어진다. 스테레오타입을 잘못 사용한 경우에는 프로파일 규칙 위반을 검출해 자동 수정 제안을 하거나 적용을 차단할 수 있다. 리포지토리 충돌은 낙관적 락 기반 머지 이후 모델 요소 우선순위와 관계 보존 규칙으로 해결한다.
계층 구조를 한눈에 보기
확장 방식과 운영 구성을 고를 때
프로파일은 도입 용이성과 도구 호환성이 좋지만 표현력의 한계가 있다. 커스텀 메타모델은 표현력과 도메인 적합성이 높지만 도입 및 도구 비용이 증가한다.
단일 도구 구성은 편의성과 일관성을 제공하는 대신 벤더 락인 리스크가 있다. 멀티 도구 구성은 유연성과 최적화에 유리하지만 상호운용성과 동기화 비용을 감수해야 한다.
파일 기반 저장은 단순하고 경량이지만 협업과 락 관리에 취약하다. 중앙 리포지토리는 협업과 거버넌스에 강점이 있으나 인프라 운영 비용이 발생한다.
설계·생성·테스트를 연결하는 활용
규제 산업의 금융·의료 영역에서는 프로파일을 정의해 일관된 설계 어휘와 제약을 강제할 수 있다. 도메인 특화 모델링(DSL)을 구축할 때도 같은 접근을 적용한다.
M1에서 코드나 DDL을 자동 생성하는 파이프라인에는 CI 단계의 모델 검증 게이트를 넣어 릴리스 품질을 보장할 수 있다. 시퀀스 모델과 상태 모델은 API 계약 명세로 활용되고, 컨트랙트 테스트 자동화와 연결된다. 모델 추적성은 변경 영향 범위를 도출해 리팩터링 우선순위를 정하고 리스크를 낮추는 데 쓰인다.
모델 기반 제약 검증은 설계 결함을 20~40% 사전 제거할 수 있으며, 반복 산출물 자동화는 설계·코드 생성 시간을 30% 이상 단축할 수 있다. 다중 시스템과 팀이 표준 어휘 및 제약을 공유하면 재작업률을 줄일 수 있고, 추적성 매트릭스와 변경 이력은 컴플라이언스 대응 리드타임 단축에 활용된다. 프로파일은 신기능과 신규 도메인을 수용하는 비용을 최소화하는 확장 수단이다.
초기에는 프로파일 기반의 경량 도입으로 시작하고, 필요에 따라 커스텀 메타모델과 중앙 리포지토리로 확장하는 구성이 적합하다.