Automatic Code Model Generation for State Machines with Composite States
본 논문에서는 복합 상태 (composite state)를 가지는 상태 머신에 대한 코드 모델을 생성하는 방법을 제시하고자 한다. 복합 상태는 2개 이상의 상태들이 배타적 (exclusive-or) 또는 병행적 (concurrent)으로 복합되는 구조를 가지므로, 배타적인 구조 (OR 타입)과 병행적인 구조 (AND 타입)으로 나누어 실행 코드를 생성하기 위한 방법을 제시한다. 상태 다이어그램으로부터 구축된 상태 클래스들에 대한 메타 정보에 기반하여 컨텍스트 클래스와 추상 클래스 그리고 복합 상태를 위한 구상 클래스들에 대하여 코드 모델을 생성하는 규칙들을 제시한다. 복합상태는 하위 상태들에 대하여 수퍼 노드에 해당하므로 OR 타입에서는 하위 상태들 중의 하나의 상태가 활성화되도록 복합 상태 클래스와 하위 구상 상태 클래스들을 코드 모델로 구현한다. AND 타입에서는 수퍼 노드의 하위 상태들이 병행적으로 동시에 활성화되도록 복합상태 클래스들과 하위 구상 상태 클래스들을 코드 모델로 구현한다. 결과적으로, 상태 머신을 나타내는 상태 다이어그램으로부터 구축된 메타 정보에 의거하여 코드 모델을 생성하는 규칙들을 제시하고, 이에 의거하여 최종적인 실행 코드를 생성하게 된다. 코드 생성 언어는 Java 프로그래밍 언어를 타겟으로 하여 실행 코드를 생성한다. 본 논문에서 제시하는 코드 모델 자동 생성 기법은 UML 도구 제작과 자동 코드 생성 기법에 유용하게 적용될 것으로 기대된다.
Authors
- Yunho Kim (ORCID: https://orcid.org/0000-0001-6366-6916)
Publication Details
- Journal
- The Journal of the Korean Institute of Information and Communication Engineering
- Published
- 2025-12-31
- DOI
- https://doi.org/10.6109/jkiice.2025.29.12.1791
- Primary Topic
- Model-Driven Software Engineering Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00