MOF와 UML 확장성: 프로파일·DSL 메타모델 설계

MOF의 메타모델 계층과 UML 프로파일, MOF 기반 DSL의 선택 기준·검증·상호운용 전략을 정리한다.

2026-08-14 · 최초 발행 2025-10-14

UML을 확장할 때 먼저 정할 것

엔터프라이즈, 임베디드, 도메인 특화 시스템에서는 표준 모델링 언어만으로 업무 맥락을 충분히 담기 어려운 경우가 있다. 이때 선택지는 기존 UML에 의미를 덧붙이는 프로파일과, 별도의 도메인 메타모델을 정의하는 DSL로 나뉜다.

OMG 표준인 MOF는 이 선택을 지탱하는 메타모델 구조를 제공한다. UML 확장을 설계할 때는 표현력만 보지 말고, 도구 지원 범위, 모델 교환 방식, 제약 검증과 변경 관리까지 함께 판단해야 한다.

MOF가 놓이는 메타모델 계층

MOF(Meta Object Facility)는 메타메타모델인 M3 계층에서 메타모델을 기술하기 위한 최소하고 일관된 구조를 제공한다. 클래스, 속성, 연관, 패키지 같은 메타수준 요소를 정의하며, XMI 기반 교환과 OCL 제약의 토대가 된다.

UML은 MOF로 정의되는 M2 계층의 범용 모델링 언어다. M2에는 UML 메타모델이나 도메인 메타모델이 위치하고, M1에는 이를 바탕으로 작성한 구체 모델이, M0에는 런타임 객체와 데이터가 놓인다. 상위 계층의 구조와 제약은 하위 계층의 일관성을 판단하는 기준으로 작동한다.

기존 UML을 확장하는 프로파일

프로파일은 UML 메타클래스를 유지한 채 스테레오타입, 태그드 값, OCL 제약으로 의미와 속성을 확장하는 방식이다. 표준 UML 다이어그램과 함께 사용할 수 있고, 도구 호환성과 학습 비용 측면에서 유리하다.

역할·권한, 규제 태그, SLA 메타데이터처럼 기존 UML 요소에 도메인 정보를 부착하는 요구라면 프로파일이 적합하다. 데이터·스키마 모델링에서는 클래스 다이어그램에 영속성, 식별자, 라인지 프로파일을 적용할 수 있으며, 시스템 엔지니어링에서는 SysML 프로파일·확장을 통해 요구–기능–물리 간 추적을 구성할 수 있다.

도메인 언어가 필요한 경우

표준 UML 메타클래스를 재사용하기 어렵거나 의미 확장이 경미한 범위를 넘어서면, MOF 또는 Ecore로 신규 메타모델을 정의하는 DSL 경로를 선택한다. 클래스, 관계, 카디널리티를 정의하고 파티셔닝·패키징, 식별자·버전 규칙까지 메타모델에 반영한다.

MOF/Ecore 기반 DSL은 도메인 개념을 1급 객체로 다룰 수 있어 표현력과 정밀도를 높인다. 텔코·오토모티브 영역에서 서비스 정의, 시그널·버스, 안전 무결성 수준을 모델링하고 코드 생성기, 요건 추적, 테스트 케이스 자동 유도와 연결하는 방식이 여기에 해당한다. EMF(Ecore), Papyrus, Cameo 같은 도구를 통해 편집기와 코드생성기 자동화도 가능하다.

확장 경로와 모델 교환

ProfileMOF (M3): Meta-metamodelUML Metamodel (M2)UML Model (M1)Runtime Objects/Data (M0)UML ProfileProfiled UML ModelNew MOF-based Metamodel(M2)DSL Model (M1)XMI SerializationXMI Serialization

XMI(XML Metadata Interchange)는 모델과 메타모델을 교환하는 수단이다. 모델 리포지토리, CI 파이프라인, M2M(Metamodel-to-Metamodel) 변환, M2T(Model-to-Text) 생성 체인을 구성할 때 상호운용의 기준이 된다.

XMI 버전 불일치와 네임스페이스 충돌에 대해서는 변환기 폴백 전략을 정의해야 한다. 메타모델 변경 시에는 마이그레이션 스크립트와 버전 매트릭스를 함께 제공해 기존 모델의 전환 경로를 관리한다.

프로파일과 DSL의 선택 기준

항목 UML 프로파일 MOF 기반 메타모델(DSL) 실무 시사점
표현력/정밀도 중간. UML 메타클래스 범위 내 확장 높음. 도메인 개념을 1급 객체로 모델링 복잡한 규칙·도메인 추상화 필요 시 DSL 선호
도구 호환성 높음. 대부분 UML 도구 즉시 사용 도구별 지원 상이. 에디터/변환 구성 필요 초기 도입 용이성은 프로파일 우위
복잡도/학습비용 낮음~중간 중간~높음 팀 역량·교육 비용 고려
유지보수/버전관리 프로파일 호환성 관리 용이 메타모델 변화의 파급 효과 큼 변경 관리·마이그레이션 체계 필수
성능/스케일 일반적 규모에 충분 대규모 모델도 구조적으로 최적화 가능 대규모 DSL에서 리포지토리·인덱싱 설계 중요

프로파일은 빠르게 시작할 수 있지만 UML 메타클래스의 범위 안에서만 확장된다. DSL은 강력한 대신 도구 구축과 교육 비용이 커지고, 메타모델 변경의 영향 범위도 넓어진다. XMI 기반 상호운용을 유지하려면 버전과 네임스페이스 관리 부담도 함께 커진다.

설계부터 검증까지의 운영 흐름

확장 작업의 입력으로는 도메인 용어집, 메시지·데이터 사전, 기존 UML 사용 패턴, 규제·표준 요구사항을 정리한다. 지원 프로파일, XMI 버전, 변환 체인 같은 도구 제약도 이 단계에서 확인한다.

범위를 정할 때는 표준 UML 메타클래스를 재사용할 수 있는지와 의미 확장이 경미한지를 기준으로 프로파일 적합성을 판단한다. 프로파일을 택하면 스테레오타입, 태그 스키마, OCL 제약, 적용 대상 패키지를 설계한다. DSL을 택하면 MOF/Ecore 기반의 클래스·관계·카디널리티와 패키징, 식별자·버전 규칙을 정의한다.

검증 단계에서는 샘플 모델 작성, OCL 유효성 검사, XMI 라운드트립 테스트를 수행한다. M2M 호환성을 점검하고 M2T 코드 생성 스텁도 검증한다. 결과물은 프로파일 파일(.uml/.profile), 메타모델(Ecore/.uml), 검증 스위트, 가이드라인과 함께 변환 스크립트, 모델 템플릿, CI 파이프라인 설정으로 구성할 수 있다.

스테레오타입 충돌, 다중 적용 규칙 위반, 태그 타입 불일치는 검증 실패로 처리한다. OCL 제약과 테스트 모델 세트를 CI에 통합하고 XMI 라운드트립 검사를 자동화하면 변경 시 일관성 확인을 반복 가능하게 만들 수 있다.

자동화와 거버넌스로 이어지는 효과

모델-코드·스키마 자동화는 산출물 작성 시간을 2040% 단축할 수 있다. 도메인 규칙을 OCL로 정형화하면 결함률은 1530% 감소할 수 있으며, DSL 적용 시 모델 간결도는 30~50% 향상되고 리뷰 시간은 20%+ 단축될 수 있다.

도메인 공용어를 정립하면 의사소통 비용을 낮출 수 있고, 도구 상호운용과 자산 재사용성도 높아진다. 규제 대응과 감사 추적성 역시 모델과 정책 아티팩트, 검증 결과를 연결하면서 강화할 수 있다.

정확한 수치는 조직·도구·도메인에 따라 편차 존재. 벤치마크·파일럿을 통한 보정 권장. OMG 사양 버전은 최신 정보 확인 필요.

점진적으로 확장 모델을 정착시키기

목표와 성공 지표를 먼저 합의한다. 이때 표현력, 상호운용성, 자동화 범위를 함께 다룬다. 파일럿 모델링과 프로파일 설계로 도구 적합성을 평가한 뒤, M2M·M2T 자동화 체인과 OCL·테스트를 도입한다.

그 결과를 바탕으로 프로파일을 유지할지 DSL로 전환할지를 결정하고, 거버넌스를 확립한다. 이후 조직 표준화, 교육, 리포지토리와 버전 관리 운영으로 확장 모델을 지속적으로 관리한다.

MOFUML메타모델도메인 특화 언어모델링