패턴 기반 모델 간 변환: 선언적 삼중 그래프와 자동 규칙 생성
본 논문은 모델‑대‑모델(M2M) 변환을 선언적 패턴(양·음 조건)으로 기술하고, 이를 삼중 그래프 제약으로 표현한다. 패턴 집합을 자동으로 연산 규칙(Triple Graph Grammar)으로 컴파일하며, 패턴 간 의존성을 추론하는 Deduction 기법을 제시한다. 전·후 변환 및 모델 매핑을 모두 지원하는 형식적 기반을 제공한다.
저자: Juan de Lara, Esther Guerra
본 논문은 모델‑대‑모델(M2M) 변환을 선언적 패턴 기반으로 기술하고, 이를 삼중 그래프(triple graph) 위에 제약 형태로 표현한다. 삼중 그래프는 소스 모델 Gs, 타깃 모델 Gt, 그리고 두 모델을 연결하는 대응 그래프 Gc 로 구성되며, 각각의 정점 사이에 대응 함수 cs, ct 가 정의된다. 이러한 구조는 기존 TGG(Triple Graph Grammar)와 유사하지만, 변환 사양 자체에 인과관계를 명시하지 않아도 양·음 조건만으로 충분히 변환을 기술할 수 있다.
패턴은 세 가지 형태로 구분된다. S‑Pattern은 양 그래프 Q 와 음 전·후조건을 포함하는 단순 패턴이며, C‑Pattern은 S‑Pattern에 추가적인 양 전조건 그래프 C 를 포함하는 복합 패턴이다. N‑Pattern은 전조건과 양 그래프가 없고, 오직 음 후조건만을 갖는 부정 패턴이다. 패턴 집합 S는 이러한 패턴들의 논리적 합(conjunction)으로 정의되며, 전체 변환 사양을 구성한다.
패턴 만족도는 전방(forward)과 후방(backward) 두 방향으로 정형화된다. 전방 만족은 소스 모델에 전조건이 충족되지 않을 경우 자동으로 vacuous satisfaction 으로 처리하고, 전조건이 충족되면 양 그래프 Q 가 존재해야 하며, 동시에 모든 음 후조건이 존재하지 않아야 한다. 후방 만족은 타깃 모델에 대해 대칭적으로 정의된다. 이러한 이중 만족 정의는 변환이 양방향으로 일관되게 동작하도록 보장한다.
논문은 사양을 실제 실행 가능한 형태로 변환하는 두 단계 프로세스를 제시한다. 첫 번째 단계는 Deduction 규칙을 이용해 패턴 간 의존성을 자동으로 추출하고, 새로운 패턴을 생성하거나 기존 패턴에 추가 음 후조건을 부여한다. 핵심 연산은 두 패턴의 최대 교집합(MIO, Maximal Intersection Object)이며, 이를 통해 “패턴 A 가 존재하면 패턴 B 의 전조건이 만족된다”와 같은 의존성을 도출한다. 예시로, 클래스‑테이블(C‑T) 패턴과 속성‑컬럼(A‑Co) 패턴 사이에 C‑T 관계가 이미 존재하면 A‑Co 를 새로 생성하지 않아야 한다는 의존성이 자동으로 생성된다. 또한, N‑Pattern을 활용해 객체 중복 생성 방지를 명시함으로써, 변환 과정에서 발생할 수 있는 비의도적 중복을 방지한다.
두 번째 단계에서는 강화된 패턴들을 구체적인 Triple Graph Grammar 규칙으로 컴파일한다. 전방 변환 규칙은 패턴의 양 그래프 Q 를 소스 모델에 매핑하고, 필요 시 타깃 요소를 생성한다. 후방 규칙은 그 반대 방향으로 동작한다. 두 모델 간 매핑(←→ S)도 동일한 규칙 집합을 이용해 구현한다. 이렇게 생성된 운영 규칙은 선언적 사양과 동등한 의미론을 유지하면서, 실제 변환 엔진에 적용 가능한 낮은 수준의 그래프 재작성 형태로 제공된다.
논문은 또한 변환 사양의 정형 분석 기법을 제시한다. 패턴 집합이 충돌 없이 동시에 만족 가능한지, 변환이 종료성을 보장하는지 등을 검증할 수 있다. 특히, 음 패턴을 이용해 중복 생성 방지를 명시함으로써, 규칙 적용 순서에 따른 비의도적 중복을 방지한다.
전체적으로 이 접근법은 선언적 사양의 간결함과 운영 규칙의 구체성을 동시에 제공한다. 패턴 의존성 자동 추출과 규칙 생성 과정이 형식적으로 정의되어 있어, 변환 사양의 검증·정형화가 가능하고, 기존 TGG 기반 도구와도 호환될 수 있다. 또한, 사양 수준에서의 패턴 간 상호작용을 명시적으로 다룸으로써, 변환 설계자가 복잡한 인과관계를 일일이 기술할 필요 없이 자동으로 파생된 규칙을 활용할 수 있게 한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기