ECMDA 2007 회의 종합 보고서

본 보고서는 2007년 6월 하이파에서 열린 ECMDA‑FA07 학술대회의 프로그램 전반과 주요 발표 내용을 개인적인 필기 형식으로 정리한다. 키노트, 응용 세션, 기초 세션, 모델웨어 워크숍 등을 통해 모델‑주도 개발(MDD)의 최신 동향, DSL·DSD, 모델 변환 언어 SiTra, 모델 확장 기법, 트레이스빌리티, 메타모델 템플릿화 등 다양한 주제를 살펴본다.

저자: Beno^it Combemale (IRIT)

이 보고서는 2007년 6월 13~14일 이스라엘 하이파에서 개최된 ECMDA‑FA07(Engineering of Computer‑Based Model‑Driven Applications) 학술대회의 전체 프로그램과 발표 내용을 개인적인 메모 형식으로 정리한 것이다. 컨퍼런스는 ‘Applications’와 ‘Foundations’라는 두 가지 트랙으로 구성되었으며, 각 세션마다 산업 현장과 학계의 최신 연구가 소개되었다. 첫째 날의 키노트는 마이크로소프트의 Stuart Kent가 맡았다. 그는 DSL(Domain‑Specific Language)과 DSD(Domain‑Specific Development)의 개념을 설명하고, Visual Studio 기반 모델링 플랫폼의 실제 적용 사례(호텔 예약 시스템)를 통해 제약 검증(LINQ 기반 OCL 대체), 복합 모델 구성, 라운드‑트리핑 문제, 모델·코드 개인화, 애자일 프로세스와의 통합 방식을 제시했다. Session A에서는 세 차례의 발표가 있었다. Gareth Howell은 SiTra(Simple Transformer)라는 Java 기반 모델 변환 언어를 소개했다. SiTra는 Rule·Transformer 인터페이스를 통해 프로그래머가 직접 변환 로직을 구현하도록 설계되었으며, 현재 버전은 단순 규칙 정의, 규칙 재사용, 상속 등을 지원한다. Xiaofeng Yu는 QVT를 이용해 EDOC‑CCA 메타모델과 BPEL 워크플로우 간의 자동 매핑을 시연했으며, 이는 모델‑레벨에서 비즈니스 프로세스를 정의하고 자동으로 실행 코드를 생성하는 흐름을 보여준다. Anke Kleppe는 Microsoft DSL 프레임워크를 활용한 소프트웨어 팩토리(SMART‑Microsoft) 구축 사례를 통해 작은 DSL을 여러 번 재사용하고, 모델‑투‑코드 변환 단계에서 기술 의존성을 최소화하는 전략을 강조했다. Session B에서는 모델 확장과 메타모델 기반 파싱에 관한 두 개의 핵심 발표가 있었다. Jean Bézivin은 AMMA 플랫폼을 기반으로 ‘extensionOf’ 연산자를 정의하고, 텍스트 기반 KM3, weaving 모델, 변환 기반 접근법을 비교하면서 메타모델 확장의 구체적 구현 방안을 제시했다. Anke Kleppe는 메타모델에서 파싱 모델(PM)을 도출해 텍스트 기반 IDE를 자동 생성하는 방법을 설명했으며, 이는 추상 구문 트리(ASM)와 구체 구문 트리(PM) 사이의 변환(ASM2PM·PM2BNF)을 통해 다양한 구문을 지원한다. Markus Scheidgen은 메타모델의 실행 의미론을 정의하고, 정적 클래스와 동적 실행 클래스를 구분해 모델 실행기를 구현하는 방법을 제시했다. Session C는 응용 중심의 발표로 구성되었다. Mark Brokens는 레거시 XMI 포맷에서 표준 메타모델로의 추상화 전환을 통해 도구 간 상호운용성을 향상시키는 방안을 제시했다. Andreas Ulrich는 트레이스 기반 모델 재공학 사례를 통해 대규모 시스템의 검증 가능성을 입증했다. Yael Shaham‑Gafni는 대형 금융기관에서 MDD를 도입한 경험을 공유하며, 조직 문화와 프로세스 변화의 필요성을 강조했다. 둘째 날의 키노트는 독일 다름슈타트 공과대학의 Andy Schürr가 맡았다. 그는 Matlab Simulink & Stateflow(MSS)를 활용한 모델‑주도 개발 사례를 소개했으며, MOFLON 툴체인(MOF, DiaGen, OCL, SDM, TGG, Velocity)을 통해 그래프 변환, 양방향 트레이스, 모델 검증을 수행하는 방법을 상세히 설명했다. 특히 UML 프로파일과 OCL 제약의 증분 검증, 전이 폐쇄, 그래프 변환의 형식적 정의 등 고급 기능을 구현한 점이 주목된다. Modelware 세션에서는 MDA의 실무 적용 가능성을 검토하고, 모델‑투‑텍스트 변환에서 트레이스빌리티 요구사항을 MOFscript 플러그인으로 구현한 사례를 제시했다. Goran Olsen은 모델‑투‑텍스트 변환 시 생성된 텍스트와 원본 모델 간의 일대일 트레이스를 제공함으로써 변경 관리와 검증을 용이하게 만든다. Goran Olsen은 또한 모델 합성의 대수적 의미론을 정형화하고, 다양한 레벨(구문, 의미, 방법론)에서의 속성을 분석했다. Pablo Sanchez는 AOP 기반 UML 실행 모델을 Xpath·ATL 변환으로 구현해 크로스컷팅을 지원하는 방법을 제시했다. Session F에서는 메타모델의 의미적 변이점(PVS)을 템플릿화 기법으로 파라미터화하는 연구가 발표되었다. Arnaud Cucurru는 UML 2 메타모델에 템플릿을 적용해 상태 머신의 이벤트 선택과 전이 선택을 파라미터화하고, 이를 무작위와 확률적 정책으로 구현했다. François Lagarde는 프로파일 간 제약 호환성을 검증하는 메커니즘을 설계하고, Eclipse 플러그인 형태의 프로토타입을 시연했다. 마지막으로 Azzam Maraee는 제한된 일반화 집합을 이용해 UML 클래스 다이어그램의 유한 만족성을 효율적으로 판단하는 알고리즘을 제시하며, 모델 검증 도구의 성능 향상에 기여했다. 결론에서는 2008년 베를린에서 열릴 차기 ECMDA 회의 일정과 논문 제출 마감일(2008년 2월 5일)을 안내한다. 전체적으로 본 보고서는 모델‑주도 개발 분야의 최신 연구 동향, 도구 체계, 실무 적용 사례를 포괄적으로 정리함으로써 학계와 산업계가 직면한 과제와 해결 방안을 한눈에 파악할 수 있게 한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기