UML 패밀리 정의를 위한 프리페이스 메커니즘
초록
본 논문은 UML이 확장 가능한 언어 패밀리임을 전제로, 모델마다 적용된 UML 변형을 명시적으로 정의하는 “프리페이스” 개념을 제안한다. 프리페이스는 구문·의미 규칙을 패키지화하여 공유와 재사용을 촉진하고, 일반·특수 사례 관계를 통해 일관성을 유지하도록 설계된다.
상세 분석
UML이 사실상 하나의 고정된 표준이 아니라, 다양한 도메인·프로젝트 요구에 맞춰 확장·제한될 수 있는 언어 패밀리라는 전제는 기존 표준 문서에서 충분히 다루어지지 않았다. 저자는 이 문제를 해결하기 위해 “프리페이스(preface)”라는 메타‑정의 레이어를 도입한다. 프리페이스는 모델이 사용하고 있는 UML 변형의 구문 규칙(예: 허용되는 다이어그램 종류, 스테레오타입, 프로파일)과 의미 규칙(예: 시맨틱 매핑, 제약 해석)을 동시에 기술한다.
핵심 설계는 두 가지 축으로 나뉜다. 첫째, 패키지 기반 조직이다. 프리페이스는 하나의 거대한 문서가 아니라, 여러 패키지로 분할되어 공통 정의(예: 기본 UML 메타모델)와 도메인‑특화 정의(예: 의료, 자동차) 사이의 공유를 가능하게 한다. 이는 기존 프로파일 메커니즘을 확장한 형태로, 프로파일이 제공하는 스테레오타입·프로퍼티 정의를 넘어, 제약 로직·시맨틱 매핑까지 포함한다.
둘째, 공리적 의미론이다. 저자는 완전한 형식화보다는 “공리적” 접근을 제안한다. 즉, 프리페이스 내에 핵심 원칙(예: “모든 클래스는 고유 식별자를 가져야 한다”)을 선언하고, 이를 기반으로 파생 규칙을 정의한다. 이러한 구조는 전체 프리페이스가 거대한 논리 체계가 될 경우 발생할 수 있는 모순을 방지한다. 특히, 일반‑특수 사례 원리를 도입해, 일반 규칙이 특수 규칙에 의해 “덮어쓰기(overriding)”될 수 있도록 한다. 예를 들어, 기본 UML에서는 연관의 다중도 제한이 없지만, 특정 도메인 프리페이스에서는 “연관은 반드시 1:1이어야 한다”는 특수 규칙을 추가한다. 이때 특수 규칙은 일반 규칙을 명시적으로 제한함으로써 일관성을 유지한다.
프리페이스의 적용 흐름도 제시된다. 모델 작성자는 먼저 목표 도메인에 맞는 프리페이스를 선택·조합하고, 그 프리페이스를 모델 파일의 메타데이터에 선언한다. 이후 모델링 툴은 해당 프리페이스를 로드해 구문 검증·시맨틱 검증을 수행한다. 이는 현재 UML 툴이 제공하는 “프로파일 적용”보다 더 깊은 검증을 가능하게 하며, 모델과 정의 사이의 명시적 연결 고리를 만든다.
이러한 설계는 몇 가지 장점을 제공한다. 첫째, 재사용성이다. 공통 패키지는 여러 프리페이스에서 공유되므로, 새로운 도메인 정의를 만들 때 기존 정의를 재활용할 수 있다. 둘째, 유연성이다. 특수 규칙을 추가하거나 기존 규칙을 오버라이드함으로써, 급변하는 비즈니스 요구에 빠르게 대응한다. 셋째, 일관성 관리이다. 공리와 일반‑특수 관계를 통해 대규모 프리페이스 내 모순을 체계적으로 탐지하고 해결한다.
하지만 몇 가지 한계도 존재한다. 프리페이스 자체가 복잡해지면 관리 비용이 급증하고, 툴 지원이 미비하면 실제 적용이 어려울 수 있다. 또한, 공리적 의미론이 완전한 형식화가 아니므로, 자동 검증 도구가 제공하는 보증 수준이 제한적일 가능성이 있다. 이러한 점은 향후 연구에서 프리페이스 전용 편집기·검증 엔진을 개발하거나, 형식화 수준을 단계적으로 높이는 방안을 모색해야 함을 시사한다.