Skip to main content
QUICK REVIEW

[논문 리뷰] Building Sustainable Software - The CSDMS Approach

Eric Hutton, Mark Piper|arXiv (Cornell University)|2014. 07. 15.
Scientific Computing and Data Management참고 문헌 6인용 수 5
한 줄 요약

이 논문은 표준 인터페이스, 버전 관리, 그리고 공동체 교육을 통해 지구계 모델링에서 소프트웨어 지속 가능성, 상호운용성, 재사용성을 향상시키는 데 초점을 맞춘 Community Surface Dynamics Modeling System(CSDMS)를 제시한다. BMI(Basic Modeling Interface), csdms 표준 이름, 웹 모델링 도구(WMT)를 구현함으로써 CSDMS는 연구자가 웹 기반 인터페이스를 통해 모델를 조합하고 공유하며 실행할 수 있도록 하여, 13,000회 이상의 모델 다운로드와 1,200명 이상의 국제 공동체 과학자들의 참여를 이끌어냈다.

ABSTRACT

CSDMS, The Community Surface Dynamics Modeling System, is an NSF funded project whose focus is to aid a diverse community of earth and ocean system model users and developers to use and create robust software quickly. To this end, CSDMS develops, integrates, archives and disseminates earth-system models and tools to an international (67 country) community with the goal of building the set of tools necessary to model the earth system. Modelers use CSDMS for access to hundreds of open source surface-dynamics models and tools, as well as model metadata. Such a model repository increases model transparency and helps eliminate duplication by presenting the current state of modeling efforts. To increase software sustainability, composability and interoperability, CSDMS promotes standards that define common modeling interfaces, semantic mediation between models, and model metadata. Through online resources and workshops, CSDMS promotes software engineering best practices, which are unfamiliar to many developers within our modeling community. For example, version control, unit testing, continuous integration, test-driven development, and well-written clean code are all topics of the educational mission of CSDMS.

연구 동기 및 목표

  • 지구 및 해양계 모델링 분야에서 소프트웨어 지속 가능성과 상호운용성의 부족을 해결하기 위해 공동체 수준의 표준을 수립하기 위해.
  • 버전 관리와 디지털 객체 식별자(DOI)를 갖춘 중앙집중식 오픈소스 모델 레포지터리 구축을 통해 중복을 줄이고 투명성을 높이기 위해.
  • 버전 관리, 테스팅, 청결한 코드 작성 기법에 대한 교육 및 훈련을 통해 지구 과학자들 사이에서 소프트웨어 공학 관행을 향상시키기 위해.
  • 프레임워크에 종속되지 않는 인터페이스와 표준화된 변수 이름을 사용한 의미론적 매핑을 통해 다양한 모델 간의 원활한 결합을 가능하게 하기 위해.
  • 로컬 소프트웨어 설치 없이도 사용자가 웹 기반 도구를 통해 모델를 조립하고 실행하며 공유할 수 있도록 접근성 있는 도구를 제공하기 위해.

제안 방법

  • 모델 구성 요소의 초기화, 업데이트, 종료를 표준화하는 프레임워크에 종속되지 않는 사양인 기본 모델링 인터페이스(BMI)를 개발하였다.
  • 모델 변수 이름에 대한 제어된 어휘인 csdms 표준 이름을 구현하여, 모델 결합 시 구성 요소 간 의미적 불일치를 해결하였다.
  • RESTful API와 자바스크립트 클라이언트를 갖춘 브라우저 기반 응용 프로그램인 웹 모델링 도구(WMT)를 구축하여 사용자가 그래픽 인터페이스를 통해 모델를 조합하고 실행할 수 있도록 하였다.
  • 소스 코드, 메타데이터, 스모크 테스트를 거친 모델를 저장하는 중앙집중식 모델 레포지터리를 운영하였으며, 안정적인 참조 가능 릴리스를 위해 DOI를 할당하였다.
  • 소프트웨어 유지보수의 장기성 확보를 위해 모델 개발 파이프라인에 버전 관리 및 지속적 통합(CI) 관행을 통합하였다.
  • 대학원생을 대상으로 연 1회 소프트웨어 장난감 워크숍(Software Carpentry bootcamps)을 운영하여 지구과학 연구에서 소프트웨어 공학 최적 실천 방식을 정착시키고자 하였다.

실험 결과

연구 질문

  • RQ1다양한 분야의 지구계 모델링 공동체에서 소프트웨어 지속 가능성과 재사용성을 어떻게 향상시킬 수 있는가?
  • RQ2다양하고 이질적인 모델 간의 상호운용성을 실현하기 위해 필요한 기술적 및 사회적 인프라는 무엇인가?
  • RQ3표준화된 인터페이스와 이름 규칙은 모델 통합 과정에서 결합 복잡성과 의미 모호성을 얼마나 줄일 수 있는가?
  • RQ4웹 기반 도구는 비전문가 사용자들이 복잡한 모델링 워크플로우의 접근성과 보급도를 얼마나 향상시킬 수 있는가?
  • RQ5소프트웨어 공학 교육 및 훈련은 지구 과학 분야에서 과학 소프트웨어의 품질과 수명 연장에 어떤 역할을 하는가?

주요 결과

  • CSDMS 모델 레포지터리는 200개 이상의 모델 및 도구를 보유하고 있으며, 총 400만 줄 이상의 코드를 포함하고 있으며, 13,000회 이상의 다운로드를 기록하여 강력한 공동체 수용을 보여주었다.
  • 기본 모델링 인터페이스(BMI)의 사용은 통합 작업량을 크게 줄였으며, BMI 준수 구성 요소를 결합 프레임워크에 자동으로 통합할 수 있도록 하였다.
  • csdms 표준 이름은 모델 변수에 대해 일관되고 도메인에 종속되지 않는 어휘를 제공하여 구성 요소 간 신뢰할 수 있는 데이터 교환과 의미론적 매핑을 가능하게 하였다.
  • 웹 모델링 도구(WMT)는 사용자가 웹 브라우저에서 직접 모델을 조립하고 구성하며 실행할 수 있도록 하였으며, 단일 구성 요소 및 이중 방향 결합 시뮬레이션을 모두 지원하였다.
  • 버전 관리, 단위 테스트, 테스트 주도 개발과 같은 소프트웨어 공학 관행은 목표 지향적 워크숍을 통해 성공적으로 확산되었으며, 대학원생들의 높은 참여도를 보였다.
  • 안정적인 소프트웨어 릴리스에 DOI를 할당함으로써 소프트웨어 인용, 가시성, 영향력 추적 능력이 향상되었으며, 모델 레포지터리는 오픈소스 과학 도구의 소프트웨어 인용 분야에서 선구자로 인정받았다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.