Abstract
This paper presents a design of the Meta-Class Repository (MCR) which maintain syntactically analyzed and structured meta-class information from UML diagrams, and then proposes 'meta-class,' also known as super-class, to construct structured information analyzed syntactically. The MCR is a collection of these meta-classes which contains the information extracted from diagrams. This paper also presents a design of the Code Generation Engine (CGE) which roles generating codes corresponding classes from UML diagrams based on the MCR maintaining a collection of meta-classes which is syntactically-analyzed and constructed in previous process. The logics of CGE are designed to generate codes collaborated with MCR and CGE with integration. The logics of CGE mechanism is presented with the form of finite state machine to present the algorithms of code generation formally and have the advantages of simplicity and easiness in development.
본 논문에서는 UML 다이어그램의 정보를 구문적으로 분석하여 클래스들의 정보를 구조적으로 구축하는 정보 저장소인 '메타 클래스 레포지토리 (MCR)'의 구현 방법을 제시한다. 구문적으로 분석된 클래스의 정보를 구조적으로 구축하기 위하여 수퍼 클래스인 '메타 클래스 (meta-class)'를 정의하고, 이들 메타 클래스들의 컬렉션으로 구성된 레포지토리를 구축하여 정보를 관리한다. 또한, MCR이 보유하고 있는 메타 클래스 정보에 기반하여 클래스에 상응하는 코드를 생성하기 위하여 '코드 생성 엔진 (CGE)'을 설계하여 제시한다. 코드 생성 엔진의 로직을 구성함에 있어서는 클래스에 대한 정보와 프로그래밍 언어의 구문 규칙이 합법적으로 조합되어 코드가 생성되어야 한다. 따라서, 이러한 클래스 다이어그램으로부터 코드를 생성하는 데에 MCR과 CGE가 통합적으로 협력하여 수행될 수 있도록 구현하는 방법을 제시한다. CGR의 동작 메커니즘에 대한 알고리즘을 유한 상태 머신 형태로 제시함으로써 CGE의 로직을 형식화하여 표현함과 동시에 구현 상의 용이함을 취할 수 있게 하였다.