커뮤니티 컴퓨팅 어플리케이션 개발을 지원하기 위한 이클립스 기반의 통합개발환경 - 김동욱 (The Graduate School, Ajou University, 2007)
커뮤니티(Community) 메타포를 이용하여 유비쿼터스 지능 공간 (USS : Ubiquitous Smart Space)을 정의하고, 공간 내에 존재하는 각종 엔티티(Entity)들 간의 상호협력을 통하여 유비쿼터스 서비스를 구현하는 커뮤니티 컴퓨팅이 제안되었다. 제시된 커뮤니티 컴퓨팅의 개발과정은 MDA 개발방법을 적용하여 추상화된 고수준의 모델로부터 최종 플랫폼에 적합한 코드를 생산한다. 그러나 커뮤니티 컴퓨팅 시스템의 구축에 효율적인 통합개발환경은 존재하지 않기 때문에 기존의 벤더들에서 제공하는 통합개발환경에 최소한의 기능을 부가하는 것으로 어플리케이션 개발에 이용하여야 했다. 최근 관심이 고조되고 있는 이클립스 플랫폼은 오픈 소스 프로젝트, 공개표준 런타임, 다양한 기능을 지원하는 플러그인을 제공하는 등의 장점을 가지고 있기 때문에 커뮤니티 컴퓨팅 어플리케이션 개발에 요구되는 기능들을 통합시킨다면 커뮤니티 컴퓨팅 시스템 개발에 적합한 통합개발환경을 구성할 수 있을 것으로 간주된다. 기존 통합개발환경에서는 텍스트 기반으로 커뮤니티 컴퓨팅 모델을 기술함으로써 모델의 재사용성을 저하시키고, 각 변환과정의 단계가 구분되지 않아서 필요한 기능들이 혼재하였고, 플랫폼 종속적인 최종 코드를 생산하는 경우에 새로운 개발과정이 필요하게 되었다. 특히 각각의 엔티티가 존재하는 환경이 다르기 때문에 각 엔티티에서 동작하기 위한 최종 결과물 생성시 개발자가 직접 내부 로직을 작성해 주어야 했다. 본 연구에서 제안하는 이클립스 기반의 통합개발환경에서는 위와 같은 한계를 극복하기 위하여 엔티티가 존재하는 환경에 상관없이 요구되는 내부 로직을 추출하여 멤버 프레임웍으로 지원하고, 최소한의 환경정보에 대한 입력으로 최종 결과물을 생성할 수 있도록 하였다. 또한 모델링 에디터를 제공하여 기존 스크립트 기반의 모델링을 간소화 하여 개발시간의 단축과 코드 재사용성을 높였으며, 각 단계의 사용자 인터페이스를 커스터마이즈 하여 제공하였다. 본 연구에서 제안한 통합개발환경은 이클립스를 기반으로 함으로써 최종 결과물생성에 필요한 내부 모듈들에 대한 기능을 업그레이드 하고자 하는 경우에 해당 플러그인을 수정하여 기존의 플러그인과 교체하면 새롭게 개선된 통합개발환경이 될 것이다. 따라서 커뮤니티 컴퓨팅 시스템의 구현에 최적화된 통합개발환경을 구성할 수 있는 토대가 될 것이다.
학위논문(석사)--아주대학교 정보통신전문대학원 :정보통신공학과,2007.2
Keywords: IDE; eclipse