상태도표의 시스템 모델 의미론
초록
본 보고서는 UML/P 상태도표를 객체 시스템의 수학적 모델인 “시스템 모델”에 정형화하여 의미론을 제공한다. 전체 UML/P 상태도표를 단순화된 형태로 변환한 뒤, 변환된 도표를 시스템 모델에 매핑함으로써 denotational semantics를 정의한다. 또한 기존 상태도표 의미론을 시스템 모델에 연계하는 방법도 제시한다.
상세 분석
이 논문은 UML/P 상태도표의 복잡성을 단계적으로 낮추어 시스템 모델이라는 통합적인 수학적 프레임워크에 매핑하는 절차를 제시한다. 첫 번째 단계는 “전체 UML/P 상태도표”를 “단순화된 상태도표”로 변환하는 과정이다. 여기서 변환 규칙은 메서드 호출, 다중 상속, 복합 이벤트와 같은 UML/P의 난해한 기능들을 제거하거나 명시적으로 재구성한다. 예를 들어, 복합 전이(Composite Transition)를 일련의 단순 전이 시퀀스로 분해하고, 내부 이벤트를 외부 이벤트와 동일한 형태로 표현한다. 이러한 변환은 의미 보존을 증명하기 위해 형식적 동등성 관계를 정의하고, 변환 전후의 트레이스(trace)가 동일함을 보인다.
두 번째 단계는 변환된 상태도표를 시스템 모델에 매핑하는 denotational semantics이다. 시스템 모델은 객체, 클래스, 메서드, 스레드, 그리고 시간 흐름을 포함하는 전역 상태 공간을 정의한다. 상태도표의 각 상태는 시스템 모델의 객체 상태 집합에 대응하고, 전이는 객체 상태 변화를 기술하는 함수로 해석된다. 특히, 전이 가드와 액션은 시스템 모델 내의 논리식과 명령어 시퀀스로 변환되며, 동시성은 스레드 간 인터리빙(interleaving) 메커니즘으로 모델링된다. 이때, 이벤트 큐와 타이머와 같은 비동기 메커니즘도 시스템 모델의 이벤트 스케줄러에 포함시켜, 실제 실행 시 발생할 수 있는 레이스 컨디션과 우선순위 문제를 정밀하게 포착한다.
또한 논문은 기존의 의미론(예: Kripke 구조 기반, 모니터링 기반, 실행 트리 기반)과 시스템 모델 간의 상호 변환 가능성을 논의한다. 기존 의미론이 정의하는 전이 시스템을 시스템 모델의 상태 전이 함수와 동형 사상(isomorphism)으로 매핑함으로써, 서로 다른 의미론 간의 비교와 통합이 가능함을 보인다. 이는 도구 간 호환성 확보와 모델 검증 파이프라인 구축에 중요한 기반을 제공한다.
마지막으로, 시스템 모델 기반 의미론의 장점으로는 (1) UML 전체 메타모델과의 일관성, (2) 객체 지향 특성(캡슐화, 다형성)을 자연스럽게 반영, (3) 형식 검증 도구(예: 모델 체커, 정리 증명기)와의 연동이 용이함을 들 수 있다. 특히, 시스템 모델이 전역 상태와 이벤트 흐름을 명시적으로 기술하기 때문에, 상태도표의 비정형적 확장(예: 동적 클래스 로딩, 런타임 메타모델 수정)도 동일한 프레임워크 내에서 확장 가능하다. 이러한 통합 접근법은 상태도표 기반 설계와 구현 사이의 의미 격차를 메우는 데 크게 기여한다.