ATL 기반 MDA 변환으로 MVC2 웹 모델 자동 생성
초록
본 논문은 UML 클래스 다이어그램을 입력으로 하여 ATL(Atlas Transformation Language) 변환 규칙을 적용, MVC2 기반 Struts 웹 애플리케이션의 PSM(Platform Specific Model)을 자동으로 생성하는 방법을 제시한다. UML 프로파일을 활용해 CRUD(Create, Retrieve, Update, Delete) 작업을 명시하고, 두 개의 메타모델(소스 UML 메타모델, 타깃 MVC2 메타모델)을 정의한 뒤 ATL 규칙을 구현한다. 변환 결과는 XMI 파일 형태이며, EMF(Eclipse Modeling Framework) 모델로 변환해 코드 생성 단계에 활용할 수 있다.
상세 분석
이 연구는 MDA(Model‑Driven Architecture)의 핵심 목표인 모델 간 자동 변환을 구체적인 웹 개발 사례에 적용한다는 점에서 의미가 크다. 먼저 저자는 UML 클래스 다이어그램을 표현하는 메타모델을 단순화하여 핵심 요소인 UMLPackage, Classifier, Property 등을 정의하고, MVC2 웹 애플리케이션을 구현하기 위한 타깃 메타모델을 Struts 구조에 맞게 설계한다. 타깃 메타모델은 Action, ActionForm, ActionMapping, ActionForward 등 Struts 프레임워크의 핵심 컴포넌트를 메타클래스로 포함한다.
CRUD 작업을 모델 수준에서 명시하기 위해 UML 프로파일을 도입했는데, 이는 표준 UML이 비즈니스 로직을 충분히 표현하지 못하는 한계를 보완한다. 각 CRUD 연산은 «Create», «Retrieve», «Update», «Delete»와 같은 스테레오타입으로 정의되며, 연산별 입력 파라미터와 반환 흐름을 상세히 기술한다.
변환 로직은 ATL 언어로 구현된다. ATL은 모델‑대‑모델 변환을 선언적·절차적 방식으로 기술할 수 있어, 소스 메타모델의 Class와 Property을 탐색하면서 대응되는 Action, ActionForm, JSP 페이지 등을 생성한다. 특히 Retrieve 연산은 루트 클래스에 대해서만 ActionForm을 생성하지 않는 등 세밀한 제어가 가능하도록 규칙이 설계되었다.
실험 단계에서는 ECORE 기반의 소스·타깃 메타모델을 Eclipse EMF 환경에 로드하고, 정의한 ATL 규칙을 실행해 XMI 파일을 생성한다. 생성된 XMI는 다시 EMF 모델로 변환돼 시각적으로 검증 가능하며, 실제 Struts 프로젝트에 코드 생성 툴을 연계하면 완전한 웹 애플리케이션으로 전환할 수 있다.
관련 연구와 비교했을 때, 본 논문은 CRUD 전반을 포괄하는 변환 규칙을 ATL로 구현하고, UML 프로파일을 활용해 비즈니스 로직을 메타모델 수준에서 명시한다는 점에서 차별화된다. 다만 변환 대상이 Struts에 국한되고, 코드 생성 단계가 논문에 포함되지 않은 점은 향후 과제로 남는다.
댓글 및 학술 토론
Loading comments...
의견 남기기