1. 서론
우리나라에서는 수자원 관리와 관련된 많은 연구 가 진행 중에 있으며, 학술적으로 많은 진보가 이루 어져 왔다. 이러한 과정 중에 많은 연구자들이 확보 된 기술을 최종 사용자에게 제공하고, 이를 최종 사 용자가 쉽게 활용할 수 있는 방안을 고안해 왔다. 비 교적 규모가 큰 조직의 경우에는 전문적으로 사용자 편의 환경(graphic user interface; GUI)을 구축하 는 부서가 있다. 그러나 소규모의 조직 및 대학 연구 실의 경우에는 그렇지 못한 경우가 많으며, 개발된 계산 프로그램의 사용자 편의 환경을 개발하기 위 하여 외주를 주곤 한다. 이에 따라, 사용자 편의 환 경 개발에 추가 비용이 발생하게 된다. 그리고 개발 과정 중에도 다소 문제점이 발생할 수 있다. 예를 들 어, 개발된 핵심 프로그램의 개발자와 사용자 편의 환경을 개발하는 개발자의 핵심 프로그램에 대한 학 진 영 규
부경대학교 토목공학과 박사과정 [email protected]
이 상 호
부경대학교 토목공학과 교수 [email protected]
장 수 형
K-water연구원 수자원연구소 책임연구원 [email protected]
GoldSim을 이용하여 개발된 댐 모의 운영 모형의 사용자 편의 환경 소개
그림 1. GoldSim을 사용 중인 국가 현황(Lillywhite, 2017)
문적 이해도가 차이가 날 경우에 프로그램 개발에 많은 시간이 소요된다.
수자원 공학을 전공한 연구자가 최종 사용자를 위 하여 핵심 프로그램의 사용자 편의 환경을 개발하는 것은 쉬운 일이 아니며, 전문 프로그래머가 만든 사 용자 편의 환경의 수준까지 도달하기에는 많은 시간 과 노력이 필요하다. 이에 컴퓨터 프로그램을 전공 하지 않더라도 쉽게 사용자 편의 환경을 개발할 수 있는 도구가 있다면, 시간과 개발 비용을 절약할 수 있는 방안이 될 수 있을 것이라 판단된다. 본고에서 는 모의(simulation) 용 컴퓨터 프로그램의 편의 환 경 개발도구 중 하나인 GoldSim을 소개하고, 이를 이용한 단일 댐 모의 운영 프로그램에 대하여 간단 하게 소개하고자 한다.
2. GoldSim 개요
Goldsim은 미국 이사쿠아(Issaquah, WA)에 소 재한 GoldSim Technology Group에 의해 개발 및 상용화된 프로그램이다. GoldSim은 객체 지향형 프 로그래밍 방식으로 사용자에게 매우 편리한 사용자 편의 환경을 제공하여, FORTRAN이나 C++ 등과 는 달리 프로그래밍 언어를 습득하지 않아도 입력 창을 활용하여 손쉽게 모형화가 가능하다. 또한 사 용자가 원하는 결과 데이터를 지정하여 실시간으 로 확인 가능하다는 장점이 있다(Lee et al, 2012).
GoldSim은 전 세계 60여 개 국가의 600개가 넘는 상업, 연구, 정부 기관에서 사용되고 있다(그림 1).
GoldSim이 사용되고 있는 분야는 수자원관리, 방사 성폐기물 관리, 에너지 관리 등 여러 분야에서 사용 되어지고 있다(그림 2). 현재 우리나라에서는 한국 원자력연구원에서 방사성 폐기물 처분 안전성 평가 에 사용된 이력이 있다.
연구자가 GoldSim을 이용하여 프로그래밍 을 할 때, 활용할 수 있는 다양한 객체들을 ‘요 소(element)’라고 정의한다. GoldSim의 요소로
서 입력요소(input element), 함수요소(function element), 저장요소(stock element), 사건요소 (event element), 지체요소(delay element), 결과 요소(result element)가 있다. 입력요소는 기본적 으로 단순 입력자료, 시계열, 23 종의 확률분포형 을 입력할 수 있는 형태가 있으며, 그 외에 참조 표 (행렬) 자료, 과거 기록 자료의 통계 특성을 입력하 여 모의 발생하는 시계열 자료를 생성하는 기능도 포함하고 있다. 함수요소는 사용자가 입력한 함수들 을 이용하여 함수요소에 연결된 입력 자료를 계산하 는 요소이다. 저장요소, 사건요소, 지체요소는 시간 에 따라 결과 값이 변동성을 가지는 모의에서 과거 에 일어난 조건에 따른 영향을 모의하는 특수 기능 요소이다. 저장요소에는 단순 저수지 모의 및 적분 이 가능한 기능들을 포함하고 있다. 위에서 제시된 내용들은 충분히 다른 프로그래밍 언어에서도 구축 이 가능하다는 점에서 GoldSim의 이용가치가 높지 않게 평가될 수 있다. 그러나, GoldSim의 가장 큰 장점은 사용자 편의 환경을 사용자가 상당히 쉽게 만들 수 있는 것이다. GoldSim의 ‘dashborad’라는 기능을 이용하여, 작성한 핵심 프로그램을 간편하게 실행할 수 있는 사용자 편의 환경의 구축이 가능하 다. 구축된 사용자 편의 환경은 GoldSim을 구매하
그림 2. Goldsim을 이용 중인 분야(Lillywhite, 2017)
여 개발한 개발자 외에도 쉽게 사용할 수 있다. 즉, 무료로 제공이 되고 있는 ‘GoldSim player’를 이용 하여 누구나 개발자가 개발한 프로그램의 입력자료 및 모의 조건들을 개발자가 설정한 범위 내에서 조 정하면서 결과를 모의할 수 있다.
다음 절에서는 GoldSim을 이용한 예로써 단일 댐 모의 운영 모형의 사용자 편의 환경을 개발한 내용 을 제시하고자 한다.
3. GoldSim을 이용하여 개발된 단일 댐 모 의 운영 프로그램 소개
GoldSim은 객체 지향형 프로그램으로 프로그램 내 함수들의 연결 구조를 한눈에 알아 볼 수 있다.
그림 3은 합천댐을 대상으로 한 단일 댐 모의 운영 프로그램을 GoldSim으로 개발한 프로그램의 창을 나타낸 것이다. 댐 모의 운영에는 고려되어야 할 사 항들이 많이 있다. 그에 관한 입력 자료 및 고려되어 야 될 사항으로는 용수별 기본계획 공급량, 가뭄 대
응 단계에 상응하는 용수의 감량공급량 및 감량공급 비율, 저수량에 따른 여수로 방류량, 다음 해의 용수 공급 전망을 하기 위한 유입량 시계열의 선택 등이 있다. 이와 같이, 여러 사항을 고려하기 위해서는 여 러 수식과 입력자료 군이 필요하다. 많은 객체들이 한 화면에 만들어지게 될 경우에 사용자가 모형을 보기에 상당히 불편할 수 있다. GoldSim에서는 이 러한 문제점을 ‘container’라는 상자를 활용하여, 사 용자가 하나의 계산 규칙을 다른 상자에 넣어 보기 간편하게 할 수 있다. 그림 4와 그림 5는 GoldSim 을 이용한 단일 댐 이수 목적 모의 운영 프로그램의 사용자 편의 환경을 구축한 창을 나타낸 것이다. 그 림 4는 단일 댐 모의 운영에 필요한 입력자료들을 사용자가 간편하게 입력, 수정, 선택하도록 할 수 있 는 창을 나타낸다. 그림 4에서 설정이 가능한 항목 은 댐운영실무편람에 제시되어 있는 단위의 용수별 기본계획공급량, 가뭄 단계에 대한 용수별 감량공급 비율, 초기 저수량, 댐 모의 운영 시 사용할 유입량 시계열의 선택 및 수정, 용수 감량공급 실행 저수량 의 입력 및 수정 기능이 있다. 그림 5는 모의한 결과
그림 3. GoldSim을 이용한 단일 댐 모의 운영 모형의 핵심 프로그램
그림 4. 단일 댐 모의 운영 모형에 대한 사용자 편의 환경의 입력 자료 및 모의 조건을 설정하는 창
그림 5. 단일 댐 모의 운영 모형에 대한 사용자 편의 환경을 이용한 모의 결과를 수치 및 그래프로 확인 가능한 창
를 확인할 수 있는 창이다. 모의한 결과를 확인할 수 있는 항목으로는 용수별 감량공급 일수, 모의 기간 내 발생한 총 용수 공급 부족량이 있다. 또한, 모의 결과를 그래프로 확인할 수 있다. 그림 6은 모의 결 과 중 모의 기간에 대한 저수량 시계열이다.
4. 결론
본 고를 통하여 개발된 과학기술 계산 프로그램 엔진에 대한 사용자 편의 환경 개발을 보다 경제 적인 방법으로 수행할 수 있는 하나의 방안으로서
GoldSim을 이용한 사용자 편의 환경 개발의 사례를 소개하였다. GoldSim은 객체 지향형 프로그램으로 모형을 구축하는 프로그램이다. 이와 같은 특징으 로 인하여 GoldSim을 사용하는 사용자가 프로그램 을 익히는 시간이 타 프로그래밍 언어에 비해 절약 될 것으로 사료되며, 구축된 모형의 전반적인 구동 원리를 한눈에 쉽게 파악할 수 있다. 또한, 모의 계 산용으로 개발된 프로그램 엔진의 사용자 편의 환경 개발에 대한 편리성은 사용자 편의 환경 개발과 관 련된 프로그래밍 기술이 익숙하지 않은 연구자들에 게 유용할 것으로 판단된다. 사용자에 따라 객체 지 향형 프로그램인 GoldSim이 기존의 프로그래밍 언 어보다 포괄성과 유연성이 부족하다는 것이 한계점 이라고 생각할 수 있다. 그러나 GoldSim에서 지원 하고 있는 객체들을 활용하면, 모의와 관련된 특수 목적에 맞추어진 모형 및 사용자 편의 환경을 개발 함에 부족함이 없으리라 판단된다.
감사의 글
본 연 구 는 국 토 교 통 부 / 국 토 교 통 과 학 기 술 진 흥 원 의 지 원 으 로 수 행 되 었 음 ( 과 제 번 호 17AWMP-B083066-04).
그림 6. 단일 댐 모의 운영 결과의 예(저수량 시계열)
Lee, Y., Jeong, J., and Choi, J. (2012) “A deterministic safety assessment of a pyro-processed waste repository.” Journal of the Korean Radioactive Waste Society. Vol. 10, No. 3, pp. 171-188.
Lillywhite, J. (2017) Water resources modeling in GoldSim. GoldSim Technology.
참고문헌