UML 모델 시뮬레이션을 위한 시스템 모델 기반 접근
초록
본 논문은 UML의 수학적 “참조 의미론”을 구현 가능한 시뮬레이션 환경으로 전환하는 방법을 제시한다. 언더스펙티피케이션으로 실행 불가능한 시스템 모델을 기반으로, 다양한 의미론적 변이점을 자유롭게 실험할 수 있는 프로토타입을 설계·구현하였다.
상세 분석
이 연구는 UML 표준이 정의하는 복잡한 의미론을 하나의 통합된 수학적 시스템 모델(System Model)로 추상화한 뒤, 그 모델을 실제 실행 가능한 시뮬레이터로 변환하는 과정을 상세히 설명한다. 기존의 “참조 의미론”은 완전한 형식화와 언더스펙티피케이션을 통해 UML의 모든 요소—클래스, 객체, 상태 머신, 시퀀스 다이어그램 등—를 포괄하도록 설계되었지만, 그 자체로는 실행이 불가능했다. 논문은 이 격차를 메우기 위해 두 단계의 접근법을 제안한다. 첫 번째는 시스템 모델을 구체화하기 위한 “구성 가능한 실행 규칙”(configurable execution rules) 집합을 정의하는 것이며, 여기에는 객체 생성, 메서드 호출, 동시성 제어, 이벤트 스케줄링 등 핵심 메커니즘이 포함된다. 두 번째는 이러한 규칙들을 플러그인 형태로 구현하여, 사용자가 의미론적 변이점(semantic variation points)을 선택·조정할 수 있게 하는 것이다. 예를 들어, 객체 복제 전략이나 동시성 모델(멀티스레드 vs. 액터 기반)을 바꾸면 동일한 UML 모델에 대해 전혀 다른 실행 결과를 얻을 수 있다. 이러한 유연성은 UML 표준이 의도한 “다양한 구현 가능성”을 실험적으로 검증하는 데 큰 장점을 제공한다. 또한 프로토타입 구현은 Java 기반의 런타임 엔진과 메타모델 매핑 레이어로 구성되어, UML 메타모델 요소를 직접 코드 객체로 변환하고, 시뮬레이션 동안 상태 변화를 추적한다. 중요한 점은 시스템 모델이 여전히 형식적으로 정의된 불완전성을 유지하면서도, 실행 가능한 부분 집합을 선택적으로 구현함으로써 “정밀도 vs. 실행 가능성” 사이의 균형을 맞춘다. 이 접근법은 UML 도구 개발자에게 표준 준수 여부를 검증하고, 새로운 의미론적 옵션을 빠르게 프로토타이핑할 수 있는 강력한 기반을 제공한다.