KR20150139137A - 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법 - Google Patents

스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법 Download PDF

Info

Publication number
KR20150139137A
KR20150139137A KR1020140067107A KR20140067107A KR20150139137A KR 20150139137 A KR20150139137 A KR 20150139137A KR 1020140067107 A KR1020140067107 A KR 1020140067107A KR 20140067107 A KR20140067107 A KR 20140067107A KR 20150139137 A KR20150139137 A KR 20150139137A
Authority
KR
South Korea
Prior art keywords
calculation
type
range
main function
data
Prior art date
Application number
KR1020140067107A
Other languages
English (en)
Other versions
KR101589235B1 (ko
Inventor
최경산
김동순
임한철
정봉남
Original Assignee
대한민국(농촌진흥청장)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대한민국(농촌진흥청장) filed Critical 대한민국(농촌진흥청장)
Priority to KR1020140067107A priority Critical patent/KR101589235B1/ko
Publication of KR20150139137A publication Critical patent/KR20150139137A/ko
Application granted granted Critical
Publication of KR101589235B1 publication Critical patent/KR101589235B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Abstract

본 발명은 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법에 관한 것으로, 생물적 특성에 관한 모델을 쉽게 이해할 수 있고, 모델의 설계 및 해당 모델에 대한 모의 프로그램의 설계가 용이한 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법을 제공한다. 이를 위한 본 발명은 모의하고자 하는 현상에 관하여 입력된 데이터, 상기 현상을 나타내는 구성 함수 및 이의 조합인 메인 함수, 상기 메인 함수의 계산 종류 및 계산 조건, 상기 데이터에 대한 계산 범위가 입력되고, 이를 기초로 사용자 정의형 스테이지 모델을 생성하는 스테이지 모델 생성부; 상기 메인 함수의 상기 계산 종류, 상기 계산 조건, 및 상기 계산 범위에 따라 상기 생성된 스테이지 모델에 대한 통합 계산이 실행되는 모의 실행부; 및 상기 생성된 스테이지 모델 및 상기 실행 결과가 저장되는 저장부를 포함하는 것을 특징으로 한다. 상기와 같은 구성에 의해 본 발명은 생물적 현상에 대한 모델의 설계를 단위 스테이지 모델로 생성할 수 있어 모델 및 모의를 쉽게 설계할 수 있고, 스테이지 모델의 수식적 및 구조적 이해가 용이할 뿐 아니라 쉽게 변형 및 활용할 수 있는 효과가 있다.

Description

스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법{Integrated System and method for calculating user defined formula using stage model}
본 발명은 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법에 관한 것으로, 특히, 모의(simulation)하고자 하는 생물적 특성을 단위 모델화하고, 모델의 설계 및 모의를 위한 계산 조건을 사용자 정의형으로 구성하여 모의를 위한 통합 수식 계산을 제공하는 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법에 관한 것이다.
일반적으로, 자연 현상들 또는 개체들을 분석하기 위해 모델을 구성하는데, 모델화는 현상 또는 대상의 궁극적인 본연의 모습을 추상화하는 과정이다. 이러한 모델은 그 분석 대상을 다양한 형태의 모델로 세분화하거나, 단위 모델들을 여러 가지로 조합한 형태로 조합하도록 구성될 수 있다.
곤충 모델의 경우, 곤충의 일부 특성과 관련된 모델로부터 세분화된 특성들이 모델화된 후 하나의 모델로 만들어질 수 있다. 예를 들면, 곤충은 알, 유충, 용, 성충 단계로 구분될 수 있으며, 또한, 유충을 1령, 2령, 3령, 4령, 5령 등의 세부 단계로 구분하여 각각에 대한 모델을 구성할 수 있다.
즉, 개체군 모델은 각각의 단위 모델로 구성되고, 단위 모델은 각 단위의 특성에 따라 여러 가지 모델들의 복합체가 될 수도 있다. 예를 들면, 알 모델은 알의 발육 속도 모델과 알의 발육 완료 분포 모델로 구성될 수 있다. 또한, 성충 모델은 성충의 수명 모델, 성충의 일별 생존율 모델, 총 산란수 모델, 일별 누적 산란율 모델로 구성될 수 있다. 위와 같은 세분화는 모델을 만드는 사람에 따라 훨씬 더 다양한 특성이 반영되어 더욱더 복잡한 모델들이 하나의 단위 모델을 구성할 수 있다.
이러한 모델은 반드시 수 및 함수를 포함하는 수식으로만 표현되지는 않지만, 다양한 분석 및 예측을 위한 모의를 위해서 수식의 복합체로 표현할 수 있다. 또한, 이러한 모델의 모의는 하나의 모델에 세분화되어 포함된 다양한 함수들을 포함하는 복잡한 수식 계산이 이루어져 한다. 이와 같이, 모델은 여러 개의 수식이 사용되고, 개별 수식의 계산 범위나 방식에 차이가 있으며, 더욱이 이러한 모델은 실제 모의되는 과정에서 다수의 특정 조건에서만 모의될 필요가 있는데, 이러한 특정 조건의 구성은 모델 전체에 적용되는 것과 부분적으로 적용되는 것으로 구분되어야 한다. 따라서, 사용자 정의형 모델을 쉽고 간단하게 모의하는 것은 쉬운 일이 아니다.
이와 같은 모델들을 모의하기 위한 종래의 모의 프로그램들은 특정 모델이나 정해진 범위 내의 모델에서만 계산되거나 모의되는 단순한 시뮬레이터가 대부분이다. 좀 더 복잡한 모델들이나 사용자가 의도하는 복합된 모델들을 모의하는 시뮬레이터로서, STELLA, SMILI, DYMEX 등이 있다.
그러나, 종래의 모의 프로그램들은 하나의 수식을 적용하는 과정이 번거롭고, 매우 복잡하기 때문에, 사용이 용이하지 않고 다소 편리성을 제공하는 프로그램들의 경우에는 사용자의 자유도 측면에서 비교적 한정적이라는 문제점이 있다.
KR 2013-0127616 A
상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명은 생물적 특성에 관한 모델을 쉽게 이해할 수 있고, 모델의 설계 및 해당 모델에 대한 모의 프로그램의 설계가 용이한 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법을 제공하고자 한다.
위와 같은 과제를 해결하기 위한 본 발명은 모의하고자 하는 현상에 관하여 입력된 데이터, 상기 현상을 나타내는 구성 함수 및 이의 조합인 메인 함수, 상기 메인 함수의 계산 종류 및 계산 조건, 상기 데이터에 대한 계산 범위가 입력되고, 이를 기초로 사용자 정의형 스테이지 모델을 생성하는 스테이지 모델 생성부; 상기 메인 함수의 상기 계산 종류, 상기 계산 조건, 및 상기 계산 범위에 따라 상기 생성된 스테이지 모델에 대한 통합 계산이 실행되는 모의 실행부; 및 상기 생성된 스테이지 모델 및 상기 실행 결과가 저장되는 저장부를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 스테이지 모델 생성부는, 독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 상기 입력된 데이터의 등록 및 삭제를 관리하는 외부 데이터 관리부; 상기 구성 함수의 등록 및 삭제를 관리하는 구성 함수 관리부; 상기 메인 함수, 상기 계산 종류, 상기 계산 조건, 상기 계산 범위의 등록 및 삭제를 관리하는 통합계산 관리부; 및 상기 메인 함수를 이루는 각 수식의 유효성을 검증하는 수식 검증부를 포함할 수 있다.
일 실시예에서, 상기 수식 검증부는, 상기 메인 함수의 각 수식을 토큰식으로 토큰화하는 토큰화 모듈; 상기 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증하는 유효성 검증 모듈; 및 상기 유효성 검증에 따라 상기 토큰식을 후위식으로 변형하는 수식 변형 모듈을 포함할 수 있다.
일 실시예에서, 상기 모의 실행부는, 상기 메인 함수에 대하여 상기 계산 범위가 적정한지를 판단하여 상기 계산 범위가 상기 데이터의 범위 이내가 되도록 재설정하는 계산 범위 재설정부; 상기 계산 종류에 따라 상기 구성 함수의 변수(C형)에 대한 사전 계산을 실행하는 부스터부; 및 상기 재설정된 범위 및 상기 사전 계산된 구성 함수의 변수를 기초로 상기 메인 함수를 계산하는 계산 엔진부를 포함할 수 있다.
일 실시예에서, 상기 부스터부는 상기 계산 종류가 단순 연산(calculator)이 아닌 경우 실행될 수 있다.
일 실시예에서, 상기 저장부는, 상기 스테이지 모델의 스테이지 모델 정보 주소 구조체; 상기 입력된 데이터 및 상기 구성 함수의 변수들에 대한 주소를 저장하는 데이터 및 구성 함수 정보 주소 구조체; 및 상기 주소 구조체들에 대응하는 정보가 저장되는 데이터 저장부를 포함할 수 있다.
일 실시예에서, 상기 계산 종류는, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 고정형 배열 계산; 상기 계산 조건이 만족하는 경우, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산; 및 상기 데이터의 일정 범위 내에서 상기 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산하는 전이형(transition) 계산을 포함할 수 있다.
일 실시예에서, 상기 메인 함수는 복수개 설정가능하고, 1회 모의 실행으로 복수개의 결과가 계산될 수 있다.
일 실시예에서, 상기 스테이지 모델은 생물적 특성에 부합하는 모델일 수 있다.
일 실시예에서, 상기 스테이지 모델은 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델일 수 있다.
본 발명의 다른 양태에 따른 방법은 모의하고자 하는 현상에 관하여 입력된 데이터를 독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 등록하는 외부 데이터 등록 단계; 상기 현상을 나타내는 구성 함수를 등록하는 구성 함수 등록 단계; 상기 구성 함수의 조합인 메인 함수, 상기 메인 함수의 계산 종류, 계산 조건, 및 상기 데이터에 대한 계산 범위를 등록하고, 이를 기초로 사용자 정의형 스테이지 모델을 생성하는 계산 정보 등록 단계; 상기 메인 함수를 이루는 각 수식의 유효성을 검증하는 계산 정보 유효성 검증 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 계산 정보 유효성 단계는, 상기 메인 함수의 각 수식을 토큰식으로 토큰화하는 수식 토큰화 단계; 상기 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증하는 토큰화 유효성 검증 단계; 상기 유효성 검증에 따라 상기 토큰식을 후위식으로 변형하는 수식 변형 단계를 포함할 수 있다.
일 실시예에서, 본 발명은 상기 메인 함수의 상기 계산 종류, 상기 계산 조건, 및 상기 계산 범위에 따라 상기 생성된 스테이지 모델에 대한 통합 계산을 실행하는 모의 실행 단계를 더 포함할 수 있다.
일 실시예에서, 상기 모의 실행 단계는, 상기 메인 함수에 대하여 상기 계산 범위가 적정한지를 판단하여 상기 계산 범위가 상기 데이터의 범위 이내가 되도록 재설정하는 계산 범위 재설정 단계; 상기 메인 함수의 계산 종류를 판단하는 계산 종류 판단 단계; 및 상기 판단된 계산 종류에 따라 상기 재설정된 범위를 기초로 상기 메인 함수를 계산하는 통합 수식 계산 단계를 포함할 수 있다.
일 실시예에서, 상기 모의 실행 단계는, 상기 계산 종류 판단 결과, 단순 연산이 아닌 경우, 상기 계산 조건에 따라 상기 구성 함수의 변수(C형)에 대한 사전 계산을 실행하는 부스터 실행 단계를 더 포함할 수 있다.
일 실시예에서, 상기 통합 수식 계산 단계는, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 고정형 배열 계산 단계; 상기 계산 조건이 만족하는 경우, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산 단계; 및 상기 데이터의 일정 범위 내에서 상기 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산하는 전이형 계산 단계를 포함할 수 있다.
일 실시예에서, 상기 계산 범위 재설정 단계는, 상기 메인 함수 및 상기 구성 함수를 호출하는 함수 호출 단계; 상기 메인 함수에 대한 상기 계산 범위가 상기 데이터의 범위 이내인지를 검증하는 유효성 검증 단계; 및 상기 메인 함수에 대한 상기 계산 범위를 상기 데이터의 범위 이내가 되도록 재설정하는 범위 재설정 단계를 포함할 수 있다.
일 실시예에서, 상기 계산 정보 등록 단계는 상기 메인 함수를 복수개 등록하고, 상기 모의 실행 단계는 1회 모의 실행으로 복수개의 결과를 계산할 수 있다.
일 실시예에서, 상기 스테이지 모델은 생물적 특성에 부합하는 모델일 수 있다.
일 실시예에서, 상기 스테이지 모델은 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델일 수 있다.
본 발명에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법은 생물적 현상에 대한 모델의 설계를 단위 스테이지 모델로 생성할 수 있어 사용자가 생물학적 현상에 대한 모델 및 모의를 쉽게 설계할 수 있는 효과가 있다.
또한, 본 발명은 생성된 스테이지 모델의 수식적 및 구조적 이해가 용이할 뿐 아니라 계산 방법, 계산 조건 등과 같은 모의의 조건 및 통합 계산에 대한 이해가 용이하여 생성된 모델을 쉽게 변형 및 활용할 수 있다.
또한, 본 발명은 수식화 가능한 다양한 모형들을 하나의 스테이지 모델로 구성하여 모델의 원형을 변형시키지 않고 다른 모델 및 모의에서 활용할 수 있으므로 스테이지 모델 단위로 표현할 수 있는 모든 모형들의 플랫폼을 구축할 수 있다.
또한, 본 발명은 하나의 모델에 대하여 복수의 계산을 설정할 수 있어 1회의 모의만으로도 복수의 결과를 획득할 수 있고, 따라서 모의에 소요되는 시간의 단축 등 사용자의 편의를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템을 나타낸 블록도이다.
도 2는 도 1의 스테이지 모델 생성부의 세부 구성을 나타낸 블록도이다.
도 3은 도 2의 수식 검증부의 세부 구성을 나타낸 블록도이다.
도 4는 도 1의 모의 실행부의 세부 구성을 나타낸 블록도이다.
도 5는 도 1의 저장부의 세부 구성을 나타낸 블록도이다.
도 6은 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법의 스테이지 모델 생성 방법을 나타낸 순서도이다.
도 7은 도 6의 계산 정보 유효성 검증의 세부 절차를 나타낸 순서도이다.
도 8은 본 발명의 일 실시예에 따른 스테이지 모델 생성의 예시적인 화면을 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법의 모의 실행 방법을 나타낸 순서도이다.
도 10은 도 9의 계산 범위 재설정의 세부 절차를 나타낸 순서도이다.
도 11은 도 9의 통합수식 계산 중 고정형 배열 계산 방법의 세부 절차를 나타낸 순서도이다.
도 12는 도 11에 따른 고정형 배열 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 13은 도 9의 통합수식 계산 중 조건형 배열 계산 방법의 세부 절차를 나타낸 순서도이다.
도 14는 도 13에 따른 조건형 배열 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 15는 도 9의 통합수식 계산 중 전이형 계산 방법의 세부 절차를 나타낸 순서도이다.
도 16은 도 15에 따른 전이형 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 17은 본 발명의 실시예에 따른 다계산 설정(a) 및 다계산 결과(b)의 예시적인 화면을 나타낸 도면이다.
이하, 본 발명을 바람직한 실시예와 첨부한 도면을 참고로 하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되는 것은 아니다.
본 발명은 생물적 현상에 대한 모델의 설계 및 모의를 위한 통합 계산의 설계에 관한 것으로, 모델의 기본 단위를 스테이지 모델로 정의하여 생물적 현상들을 모델화하고, 복잡한 수식 계산을 통합적으로 수행하기 위한 사용자 편의성을 향상시킬 수 있는 사용자 정의형 수식 계산 시스템 및 그 방법에 관한 것이다. 여기서, 기본 단위인 스테이지 모델은 계산 종류, 계산 조건, 계산 범위, 메인 함수, 구성 함수들의 구성요소들로 구성된다.
먼저, 도 1을 참조하여 본 발명의 한 실시예에 따른 스테이지 모델을 이용한 사용자 정의형 수식 통합 계산 시스템을 설명한다. 도 1은 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템을 나타낸 블록도이다.
사용자 정의형 수식 통합 계산 시스템(10)은 사용자에 의한 데이터 및 모델 조건들이 입력되는 입력부(110), 스테이지 모델의 구성 및 모의 결과를 출력하는 출력부(120), 및 입력된 데이터 및 조건들을 기초로 스테이지 모델의 생성 및 모의를 수행하는 통합 계산부(200)를 포함한다.
입력부(110)는 일반적인 컴퓨터 시스템의 입력부로서, 예를 들면, 키보드, 마우스 등을 포함하며, 사용자에 의한 선택이 입력된다. 또한, 입력부(110)는 이에 제한되지 않고, 원격지의 외부로부터 통신 수단 등을 통하여 통합 계산부(200)에 대한 데이터 및 조건들을 입력하기 위한 수단일 수 있다.
출력부(120)는 일반적인 컴퓨터 시스템의 출력부로서, 예를 들면, 디스플레이 장치를 포함하며, 스테이지 모델 및 모의 결과를 출력한다. 또한, 출력부(120)는 이에 제한되지 않고, 통신 수단 등을 통하여 원격지의 외부로 스테이지 모델 및 모의 결과를 출력하기 위한 수단일 수 있다.
이러한 입력부(110) 및 출력부(120)는 별도로 구성되는 것으로 설명되었지만, 이에 한정되지 않고, 예를 들면, 터치 스크린과 같이 입력 기능과 출력 기능이 일체형으로 구성될 수 있다.
통합 계산부(200)는 사용자의 입력에 따라 생물적 현상에 대한 스테이지 모델을 생성하는 스테이지 모델 생성부(210), 생성된 스테이지 모델의 모의를 실행하는 모의 실행부(220), 및 스테이지 모델 및 모의 결과에 대한 각종 데이터가 저장되는 저장부(230)를 포함한다. 이러한 통합 계산부(200)는 본 실시예에서는 하나의 기능 블록으로 설명되었지만, 이는 소프트웨어 또는 하드웨어 등 다양한 형태로 구현될 수 있으며, 특히, 본 실시예에서는 소프트웨어 프로그램인 것으로 설명한다.
스테이지 모델 생성부(210)는 모의하고자 하는 생물적 현상에 관하여 입력된 데이터, 생물적 현상을 나타내는 구성 함수 및 이의 조합인 메인 함수, 메인 함수의 계산 종류 및 계산 조건, 데이터에 대한 계산 범위가 입력부(110)를 통하여 입력되고, 이를 기초로 사용자 정의형 스테이지 모델을 생성한다.
도 2를 참조하여 스테이지 모델 생성부(210)를 더 상세하게 설명한다. 도 2는 도 1의 스테이지 모델 생성부의 세부 구성을 나타낸 블록도이다.
스테이지 모델 생성부(210)는 스테이지 모델과 관련된 데이터를 관리하는 외부 데이터 관리부(212), 스테이지 모델의 구성함수를 관리하는 구성함수 관리부(214), 모의를 위한 통합계산을 관리하는 통합계산 관리부(216), 및 등록되는 수식의 유효성을 검증하는 수식 검증부(218)를 포함한다.
외부 데이터 관리부(212)는 사용자 등에 의해 입력부(110)를 통하여 입력된 외부 데이터를 독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 등록 및 삭제를 관리한다. 여기서, 독립 변수(X형)는 수식에 사용되는 독립 변수를 의미하며, 참조 변수(R형)는 수식 계산에 필요한 참고용 변수로서 수식의 제어, 값의 증폭 등에 관여할 수 있는 데이터용 변수를 의미하며, 이는 사용자가 데이터의 종류를 쉽게 구분하고, 이해할 수 있도록 설계한 것이며, 이러한 독립 변수(X형) 및 참조 변수(R형)는 모든 스테이지 모델에 공통으로 적용된다. 또한 외부 데이터 관리부(212)는 데이터의 등록시 대상 변수들에 대한 유효성을 검증하여 성공여부를 출력한다.
구성함수 관리부(214)는 스테이지 모델의 생물적 현상을 수식으로 나타낸 구성함수의 등록 및 삭제를 관리한다. 여기서, 구성 함수는 메인 함수에 필요한 구성 함수들로서 개별 함수가 각각의 모델이 될 수 있으며, 구성 함수에서 사용하는 독립 변수(X형)는 여러 개로 구성될 수 있으므로, 구성 함수는 기본적으로 다변량에 대한 수식 계산이 가능하도록 구성된다. 또한, 구성 함수는 메인 함수에서 이용하여 스테이지 모델을 구성하는 경우, 각 모델의 원형을 변형시키지 않고 입력이 가능하고, 사용자가 쉽게 적용할 수 있는 동시에 다른 사용자가 쉽게 이해할 수 있게 하기 위해 사용되며, 각 구성 함수를 쉽게 제어할 수 있도록 C형 변수가 정의되어 사용된다. 또한, 구성 함수 중 일부는 현재 계산 위치에서의 값을 사용할 수도 있지만, 일부는 데이터의 특정 위치값을 필요로 할 수 있기 때문에, 시작값, 현재값 및 종료값을 갖는 배열 변수를 사용하며, 이는 모의 과정에서 값을 자동으로 설정한다.
또한, 구성함수 관리부(214)는 입력부(110)를 통하여 사용자에 의해 구성 함수를 설정하여 등록하지만, 사전에 등록된 구성 함수들 중에서 선택하여 등록할 수 있다. 또한 구성함수 관리부(214)는 구성함수의 등록시 수식 검증부(218)를 통하여 함수의 유효성을 검증하여 성공여부를 출력하고, 변수 정보를 갱신한다.
통합계산 관리부(216)는 모의하고자 하는 대상을 나타낸 메인 함수 및 모의를 위한 조건의 등록 및 삭제를 관리하며, 모의 조건은 메인 함수의 계산 종류, 계산 조건, 및 계산 범위를 포함한다. 여기서, 계산 종류는 계산기와 같이 수식에 따라 연산을 수행하는 단순 연산, 데이터의 일정 범위에 대한 계산을 순차적으로 이동하면서 반복 수행하는 고정형 배열 계산, 주어진 데이터 범위 내에서 특정한 계산 조건이 만족하는 경우, 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산, 및 주어진 데이터의 일정 범위 내에서 특정한 계산 조건이 만족하는 경우에만 현재 위치에서 끝까지 계산한 결과를 누적 합산하여 하나의 결과값으로 제공하는 전이형 계산을 포함할 수 있다. 또한, 계산 조건은 메인 함수를 실행하는 조건 및 이를 위한 배열 변수값의 설정을 포함하고, 계산 범위는 스테이지 모델이 구동되어야 하는 데이터 범위의 설정을 포함한다. 또한, 통합계산 관리부(216)는 수식 검증부(218)를 통하여 메인 함수, 외부 변수, 구성 함수의 유효성을 검증하여 성공여부를 출력한다.
수식 검증부(218)는 메인 함수를 이루는 각 수식의 유효성을 검증한다. 여기서, 메인 함수는 구성함수, 각종 변수 및 데이터를 포함하기 때문에, 결과적으로 수식 검증부(218)는 구성함수 관리부(214), 및 통합계산 관리부(216)로부터 등록된 모든 수식에 대한 유효성을 검증하여 성공 여부를 리턴한다.
도 3을 참조하여 수식 검증부(218)를 더 상세하게 설명한다. 도 3은 도 2의 수식 검증부의 세부 구성을 나타낸 블록도이다.
수식 검증부(218)는 등록된 수식들을 토큰화하는 토큰화 모듈(2182), 토큰화된 수식의 유효성을 검증하는 유효성 검증 모듈(2184), 및 유효하지 않은 수식들 변형하는 수식 변형 모듈(2186)을 포함한다. 이러한 수식 검증부(218)는 구성함수 관리부(214), 및 통합계산 관리부(216)에 의한 데이터 및 함수들의 등록시에 각각 수행된다.
토큰화 모듈(2182)은 등록된 구성 함수 및 메인 함수의 각 수식을 토큰식으로 토큰화한다. 이러한 토큰화는 입력된 수식들을 사정 정의된 토큰들로 변환하는 것으로, 토큰화 모듈(2182)은 수식을 구성하는 요소에 따라 문자형, 숫자형, 변수형, 및 함수형으로 각각 변환한다. 또한, 토큰화 모듈(2182)은 변수, 일반 연산자 및 부호 등과 같은 일반 토큰 및, 내부에 사전 정의된 함수들에 대한 함수 토큰을 포함하며, 이들 토큰들은 미리 정해진 메모리 크기, 예를 들면, 1바이트씩 할당된다.
예를 들면, 숫자형 변환의 경우, 토큰화 과정에서 숫자를 문자 형태로 저장하지 않고, 프로그램에서 읽어들여 바로 계산에 적용할 수 있는 형태로 구성하여 문자 형태로 저장한다. 즉, 사용자가 입력한 숫자들은 토큰화 과정에서 숫자형으로 변환된 후 숫자 토큰 다음에 그 값이 복사되는데, 이때, 정수형의 경우 4바이트, 실수형의 경우 8바이트가 할당된다.
유효성 검증 모듈(2184)은 토큰화 모듈(2182)에서 생성된 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증한다. 또한, 유효성 검증 모듈(2184)은 수식에 사용된 토큰으로부터 일반수식, 배열수식, 다결과 일반수식, 다결과 배열수식 중 하나를 구분하여 스타일로서 저장한다. 이와 같은 스타일에 따라, 후술하는 바와 같은 모의 실행시 반복적으로 수행되는 함수의 경우, 사전의 1회 연산만을 수행하고, 반복 수행시 해당 연산의 결과만을 호출할 수 있다.
수식 변형 모듈(2186)은 유효성 검증 모듈(2184)의 유효성 검증에 따라 토큰식을 후위식으로 변형한다. 또한, 수식 변형 모듈(2186)은 최종적인 토근식을 구성하여 토큰화를 완료한다.
여기서, 스테이지 모델의 메인 함수가 다수의 서브 함수들로 구성되는 경우, 수식 변형 모듈(2186)은 토큰식에 단위 수식의 총 길이 정보를 포함한다. 예를 들면, 메인 함수(Y형), 서브 함수(F형), 내부 정의 함수(SUM 등) 등의 단위 수식을 나타내는 토큰 정보에 해당 수식 전체 길이 정보를 포함할 수 있다.
이러한 스테이지 모델 생성부(210)는 모의를 위한 메인 함수를 복수개로 설정가능하고, 따라서, 후술하는 바와 같은 1회 모의 실행으로 복수개의 결과가 계산될 수 있다.
또한, 스테이지 모델 생성부(210)는 위에서 설명한 바와 같이 스테이지 모델을 생성하며, 이러한 스테이지 모델은 생물적 특성에 부합하는 모델일 수 있고, 예를 들면, 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델일 수 있다.
다시 도 1을 참조하여, 모의 실행부(220)는 스테이지 모델 생성부(210)로부터 등록 및 생성된 메인 함수의 계산 종류, 계산 조건, 및 계산 범위에 따라 생성된 스테이지 모델에 대한 통합 계산을 실행한다.
도 4를 참조하여 모의 실행부(220)를 더 상세하게 설명한다. 도 4는 도 1의 모의 실행부의 세부 구성을 나타낸 블록도이다.
모의 실행부(220)는 모의 실행을 위한 계산 범위를 재조정하는 계산 범위 재설정부(222), 사전 계산을 수행하는 부스터부(224), 및 정의된 계산 종류에 따라 통합 수식 계산을 수행하는 계산 엔진부(226)를 포함한다.
계산 범위 재설정부(222)는 모의 대상인 스테이지 모델의 메인 함수에 대하여 계산 범위가 적정한지를 판단하고, 계산 범위가 모의 대상 스테이지 모델과 관련된 데이터의 범위 이내가 되도록 재설정한다. 즉, 계산 범위 재설정부(222)는 계산의 시작 위치 및 종료 위치의 적절성, 시작 위치 및 종료 위치에 대한 데이터(X형 변수)가 유효 범위인지를 판단하여, 유효 범위가 아닌 경우, 시작 위치 및 종료 위치를 유효 데이터를 기준으로 재설정한다.
부스터부(224)는 메인 함수의 계산 종류를 판단하고, 계산 종류가 단순 연산이 아닌 경우, 즉, 계산 종류가 반복 계산을 포함하는 고정형 배열 계산, 조건형 배열 계산, 및 전이형 계산인 경우, 구성 함수의 변수(C형)에 대한 사전 계산을 실행한다. 이러한 부스터부(224)는 구성 함수에 대한 토큰 정보에 포함된 스타일에 따라 구성 함수 내에 배열 변수 또는 배열 함수가 존재하는지를 판단하여 배열 변수 또는 배열 함수가 존재하지 않으면, 메인 함수 계산의 수행 이전에 1반만 계산을 수행하고, 메인 함수의 계산시 해당 구성 함수를 계산하지 않고 결과값만을 호출하여 사용할 수 있다.
계산 엔진부(226)는 계산 범위 재설정부(222)에 의해 재설정된 데이터 범위에 대하여 메인 함수의 계산을 수행하며, 반복 계산이 포함되는 경우, 선택적으로 부스터부(224)의 계산 결과를 활용한다. 이러한 계산 엔진부(226)는 메인 함수의 주어진 수식에서 순차적으로 토큰을 읽어들이고, 읽어들인 토큰에 맞는 계산을 수행한다. 여기서, 계산 엔진부(226)는 토큰 수식에 포함된 개별 단위 수식에 포함된 토큰 길이를 참조하여 해당 수식 전체를 일일이 검토하지 않고, 계산 단위별로 점프하면서 수식을 읽어들일 수 있다. 즉, 하나의 수식 안에 여러 개의 수식들이 포함되어 있는 경우, 해당 수식이나 복잡한 내부 정의 함수식에 대하여 별도의 복사 등의 추출과정 없이 주어진 수식에서 계산 단위로 첫 위치로 점핑하면서 수식을 읽을 수 있다.
또한, 계산 엔진부(226)는 상술한 바와 같은 단순 계산, 고정형 배열 계산, 조건형 배열 계산 및 전이형 계산 중 어느 하나를 수행한다. 예를 들면, 계산 엔진부(226)는 계산 종류가 고정형 배열 계산인 경우, 데이터의 일정 범위에 대한 계산을 반복 수행하고, 조건형 배열 계산인 경우, 계산 조건이 만족하는 경우, 데이터의 일정 범위에 대한 계산을 반복 수행하며, 전이형 계산인 경우, 데이터의 일정 범위 내에서 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산한다. 또한, 계산 엔진부(226)는 전이형 계산의 경우, 선택적으로, 메인 함수의 모든 세브세트에 대한 계산을 완료한 후 결과를 누적 합산하거나, 메인 함수의 하나의 세브세트에 대한 계산 후 결과를 합산하고, 다음 세브세트에 대한 계산을 수행할 수 있다.
다시 도 1을 참조하여, 저장부(230)는 스테이지 모델 생성부(210)에 의해 생성된 스테이지 모델 및 모의 실행부(220)의 실행 결과가 저장된다.
도 5를 참조하여 저장부(230)를 더 상세하게 설명한다. 도 5는 도 1의 저장부의 세부 구성을 나타낸 블록도이다.
저장부(230)는 스테이지 모델에 대한 스테이지 모델 정보 주소 구조체(232), 입력 데이터 및 구성함수에 대한 데이터 및 구성함수 정보 주소 구조체(234), 및 실제 데이터가 저장되는 데이터 저장부(236)를 포함한다.
스테이지 모델 정보 주소 구조체(232)는 스테이지 모델 생성부(210)에서 생성된 스테이지 모델에 대한 정보, 예를 들면, 계산 종류, 계산 범위, 계산 조건, 및 메인 함수 수식에 대한 주소 정보를 포함한다.
데이터 및 구성함수 정보 주소 구조체(234)는 입력된 데이터 및 구성 함수의 변수들에 대한 주소를 포함하며, 구체적으로는, 스테이지 모델 생성부(210)에서 생성된 스테이지 모델과 관련된 함수형 데이터 및 구성 함수의 수식의 주소, 예를 들면, 메인 함수에 대한 Y형 데이터, 외부 데이터에 대한 X형 데이터, 참조용 데이터인 R형 데이터, 구성 함수에 대한 C형 데이터, 및 구성 함수의 수식에 대한 주소 정보를 포함한다.
데이터 저장부(236)는 스테이지 모델 정보 주소 구조체(232) 및 데이터 및 구성함수 정보 주소 구조체(234)에 의해 정의되는 각 주소에 대응하여 해당 데이터를 저장한다.
이와 같은 구성에 의해 본 발명은 생물적 현상에 대한 모델의 설계를 단위 스테이지 모델로 생성할 수 있어 사용자가 생물학적 현상에 대한 모델 및 모의를 쉽게 설계할 수 있고, 생성된 스테이지 모델의 수식적 및 구조적 이해가 용이할 뿐 아니라 계산 방법, 계산 조건 등과 같은 모의의 조건 및 통합 계산에 대한 이해가 용이하여 생성된 모델을 쉽게 변형 및 활용할 수 있다.
또한, 본 발명은 수식화 가능한 다양한 모형들을 하나의 스테이지 모델로 구성하여 모델의 원형을 변형시키지 않고 다른 모델 및 모의에서 활용할 수 있으므로 스테이지 모델 단위로 표현할 수 있는 모든 모형들의 플랫폼을 구축할 수 있으며, 하나의 모델에 대하여 복수의 계산을 설정할 수 있어 1회의 모의만으로도 복수의 결과를 획득할 수 있고, 따라서 모의에 소요되는 시간의 단축 등 사용자의 편의를 향상시킬 수 있다.
이하, 도 6 내지 도 17을 참조하여 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법을 설명한다.
스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법은 사용자 정의에 따라 모의하고자 하는 생물적 현상에 대한 스테이지 모델을 생성하는 스테이지 모델 생성 단계 및 생성된 스테이지 모델에 대하여 수식 통합 계산에 의해 모의를 실행하는 모의 단계를 포함한다.
먼저, 도 6을 참조하여 스테이지 모델 생성에 대하여 구체적으로 설명한다. 도 6은 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법의 스테이지 모델 생성 방법을 나타낸 순서도이다.
스테이지 모델 생성 방법(600)은 모의하고자 하는 현상에 관한 데이터를 등록하는 단계(단계 S601), 현상을 수식화한 구성함수를 등록하는 단계(단계 S602), 모의를 위한 함수 및 계산 조건을 등록하는 단계(단계 S603), 및 함수 및 계산 범위에 대한 유효성을 검증하는 단계(단계 S604)로 구성된다.
보다 상세히 설명하면, 도 6에 도시된 바와 같이, 먼저, 모의하고자 하는 생물적 현상에 관한 데이터를 입력하고, 이를 독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 등록한다(단계 S601). 이러한 독립 변수(X형) 및 참조 변수(R형)는 모든 스테이지 모델에 공통으로 적용된다. 이때, 등록된 데이터 변수들에 대한 유효성을 검증하여 성공여부를 출력할 수 있다.
다음으로, 모의하고자 하는 현상을 나타내는 구성 함수를 등록한다(단계 S602). 여기서, 구성 함수는 메인 함수에서 이용하여 스테이지 모델을 구성하는 경우, 각 모델의 원형을 변형시키지 않고 입력이 가능하고, 사용자가 쉽게 적용할 수 있는 동시에 다른 사용자가 쉽게 이해할 수 있게 하기 위해 사용되며, 각 구성 함수를 쉽게 제어할 수 있도록 C형 변수가 정의되어 사용된다. 또한, 구성 함수 중 일부는 현재 계산 위치에서의 값을 사용할 수도 있지만, 일부는 데이터의 특정 위치값을 필요로 할 수 있기 때문에, 시작값, 현재값 및 종료값을 갖는 배열 변수를 사용하며, 이는 모의 과정에서 값을 자동으로 설정한다.
이때, 등록되는 구성 함수는 사용자에 의해 설정하여 등록될 수 있지만, 사전에 등록된 구성 함수들 중에서 선택하여 등록할 수 있다. 또한, 등록된 구성 함수들에 대한 유효성을 검증하여 성공여부를 출력할 수 있다.
다음으로, 구성 함수의 조합인 메인 함수, 메인 함수의 계산 종류, 계산 조건, 및 데이터에 대한 계산 범위를 등록한다(단계 S603). 여기서, 계산 종류는 계산기와 같이 수식에 따라 연산을 수행하는 단순 연산, 데이터의 일정 범위에 대한 계산을 순차적으로 이동하면서 반복 수행하는 고정형 배열 계산, 주어진 데이터 범위 내에서 특정한 계산 조건이 만족하는 경우, 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산, 및 주어진 데이터의 일정 범위 내에서 특정한 계산 조건이 만족하는 경우에만 그 위에서 끝까지 계산한 결과를 누적 합산하여 하나의 결과값으로 제공하는 전이형 계산을 포함할 수 있다. 또한, 계산 조건은 메인 함수를 실행하는 조건 및 이를 위한 배열 변수값의 설정을 포함하고, 계산 범위는 스테이지 모델이 구동되어야 하는 데이터 범위의 설정을 포함한다.
다음으로, 메인 함수를 이루는 각 수식의 유효성을 검증한다(단계 S604). 즉, 상기와 같이 등록된 메인 함수, 메인 함수에 포함된 외부 변수, 및 구성 함수의 유효성을 검증함으로써 사용자 정의형 스테이지 모델을 생성한다.
도 7을 참조하여 계산 정보 유효성 검증 방법에 대하여 더 구체적으로 설명한다. 도 7은 도 6의 계산 정보 유효성 검증의 세부 절차를 나타낸 순서도이다.
계산 정보 유효성 검증 방법(700)은 스테이션 모델에 대한 함수를 포함하는 수식을 토큰식으로 토큰화하는 단계(단계 S701), 토큰화 수식에 대한 유효성을 검증하는 단계(단계 S702), 및 유효성 검증 결과를 기초로 토큰식을 변형하는 단계(단계 S703)로 구성된다.
보다 상세히 설명하면, 도 7에 도시된 바와 같이, 먼저, 등록된 구성 함수 및 메인 함수의 각 수식을 토큰식으로 토큰화한다(단계 S701). 즉, 각 수식을 구성하는 요소들을 문자형, 숫자형, 변수형 및 함수형 토큰으로 각각 변환하는데, 예를 들면, 변수, 일반 연산자 및 부호 등과 같은 일반 토큰 및, 내부에 사전 정의된 함수들에 대한 함수 토큰으로 변환되며, 이때, 각 토큰은 미리 정해진 메모리 크기, 예를 들면, 1바이트씩 할당된다.
여기서, 숫자형 변환의 경우, 숫자를 문자 형태로 저장하지 않고, 프로그램에서 읽어들여 바로 계산에 적용할 수 있는 형태로 구성하여 문자 형태로 저장한다. 즉, 사용자가 입력한 숫자들은 토큰화 과정에서 숫자형으로 변환된 후 숫자 토큰 다음에 그 값이 복사되는데, 이때, 정수형의 경우 4바이트, 실수형의 경우 8바이트가 할당된다.
다음으로, 생성된 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증한다(단계 S702). 이때, 수식에 사용된 토큰에 대하여 일반수식, 배열수식, 다결과 일반수식, 다결과 배열수식 중 하나를 구분하여 스타일로서 저장한다. 이와 같은 스타일에 따라, 후술하는 바와 같은 모의 실행시 반복적으로 수행되는 함수의 경우, 사전의 1회 연산만을 수행하고, 반복 수행시 해당 연산의 결과만을 호출할 수 있다.
다음으로, 유효성 검증된 토큰식을 후위식으로 변형한다(단계 S703). 이와 같이 최종적인 토근식을 구성하여 토큰화를 완료함으로써, 계산 정보 유효성 검증을 종료한다.
여기서, 스테이지 모델의 메인 함수가 다수의 서브 함수들로 구성되는 경우, 토큰식에 단위 수식의 총 길이 정보를 포함한다. 예를 들면, 메인 함수(Y형), 서브 함수(F형), 내부 정의 함수(SUM 등) 등의 단위 수식을 나타내는 토큰 정보에 해당 수식 전체 길이 정보를 포함할 수 있다.
이와 같은 도 6 및 도 7에 의한 방법에 따라 모의하고자 하는 현상에 대한 스테이지 모델을 생성한다. 이러한 스테이지 모델 생성 단계는, 계산 정보 등록 단계에서, 메인 함수를 복수개 등록할 수 있고, 이 경우, 후술하는 바와 같은 모의 실행 단계에서 1회 모의 실행만으로 복수개의 결과를 계산할 수 있다.
도 8은 본 발명의 일 실시예에 따른 스테이지 모델 생성의 예시적인 화면을 나타내는 도면이다. 도 8에 도시된 바와 같이, 본 발명의 스테이지 생성 모델을 생성하기 위한 프로그램의 화면은 외부 데이터, 계산 종류, 계산 조건, 계산 범위, 메인 함수 및 구성 함수로 구성되고, 각 윈도우를 통하여 사용자 정의형 스테이지 모델을 형성할 수 있다.
본 발명의 방법에 따라 생성되는 스테이지 모델은 생물적 특성에 부합하는 모델일 수 있다. 예를 들면, 본 발명에 따른 스테이지 모델은 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델일 수 있다.
이상과 같이 생성된 스테이지 모델에 대한 모의 실행 방법을 설명하면, 본 발명에 따른 모의 실행 방법은 메인 함수의 계산 종류, 계산 조건, 및 계산 범위에 따라 생성된 스테이지 모델에 대한 통합 계산을 실행한다.
이하, 도 9를 참조하여 모의 실행 방법을 더 상세하게 설명한다. 도 9는 본 발명의 일 실시예에 따른 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법의 모의 실행 방법을 나타낸 순서도이다.
모의 실행 방법(900)은 스테이지 모델에 대한 계산 범위를 유효한 범위로 재설정하는 단계(단계 S901), 계산 종류에 따라 부스터 실행여부를 판단하는 단계(단계 S902), 판단 결과에 따라 부스터를 실행하는 단계(단계 S903), 및 모의를 위한 통합수식을 계산하는 단계(단계 S904)로 구성된다.
보다 상세히 설명하면, 도 9에 도시된 바와 같이, 먼저, 메인 함수에 대하여 계산 범위가 적정한지를 판단하여 계산 범위가 데이터의 범위 이내가 되도록 재설정한다(단계 S901).
도 10을 참조하여 계산 범위 재설정 방법에 대하여 더 구체적으로 설명한다. 도 10은 도 9의 계산 범위 재설정의 세부 절차를 나타낸 순서도이다.
계산 범위 재설정 방법(1000)은 모의 실행을 위한 메인 함수를 호출하는 단계(단계 S1001), 메인 함수 내 C형 변수의 존재 여부를 판단하는 단계(단계 S1002), C형 변수가 존재하는 경우 그에 대응하는 구성 함수를 호출하는 단계(단계 S1003), 메인 함수에 대한 데이터 범위의 유효성을 검증하는 단계(단계 S1004), 및 데이터 범위를 모의 가능한 적정 범위로 재설정하는 단계(단계 S1005)로 구성된다.
보다 상세히 설명하면, 도 10에 도시된 바와 같이, 먼저, 모의 대상인 스테이지 모델의 메인 함수를 호출한다(단계 S1001). 여기서, 메인 함수의 주어진 수식 전체를 읽어들인다.
다음으로, 호출한 메인 함수 내에 C형 변수가 없는지의 여부를 판단하여(단계 S1002), C형 변수가 있다고 판단한 경우에는 구성 함수를 호출한다(단계 S1003).
단계 S1002의 판단 결과, 메인 함수 내에 C형 변수가 없다고 판단한 경우 또는 상기와 같이 구성 함수를 호출한 다음, 호출된 모든 함수 및 수식에 대한 유효성을 검증한다(단계 S1004). 즉, 메인 함수 또는 구성 함수에 대한 계산 범위가 데이터의 범위 이내인지를 검증하고, 예를 들면, 계산의 시작 위치 및 종료 위치의 적절성, 시작 위치 및 종료 위치에 대한 데이터(X형 변수)가 유효 범위인지를 검증한다.
단계 S1004의 유효성 검증 결과, 메인 함수 또는 구성 함수에 대한 계산 범위가 데이터의 범위 이내가 아닌 경우에, 메인 함수에 대한 계산 범위를 데이터의 범위 이내가 되도록 재설정한다(단계 S1005). 즉, 계산에 대한 시작 위치 및 종료위치를 유효 데이터를 기준으로 재설정하고, 계산 범위 재설정을 종료한다.
다시 도 9를 참조하여, 메인 함수의 계산 종류를 판단한다(단계 S902). 이런 과정은 실질적인 모의를 위한 계산시 반복적으로 수행되는 구성 함수의 계산을 사전에 수행하기 위한 것이다.
단계 S902의 판단 결과, 계산 종류가 단순 연산이 아니라고 판단한 경우, 즉, 계산 종류가 고정형 배열 계산, 조건형 배열 계산, 및 전이형 계산인 경우, 계산 조건에 따라 구성 함수의 변수(C형)에 대한 사전 계산(부스터)을 실행한다(단계 S903). 즉, 구성 함수에 대한 토큰 정보에 포함된 스타일에 따라 구성 함수 내에 배열 변수 또는 배열 함수가 존재하는지를 판단하여 배열 변수 또는 배열 함수가 존재하지 않으면, 해당 구성 함수를 실행한다. 이와 같은 부스터 실행에 의해, 메인 함수 계산의 수행 이전에 1번만 해당 구성 함수를 계산함으로써, 실제 모의중 메인 함수 계산시에는 해당 구성 함수를 계산하지 않고, 결과값만을 호출하여 사용할 수 있다.
다음으로, 실질적인 모의 실행으로서, 재설정된 데이터 범위에 대하여 계산 종류에 따라 메인 함수를 계산한다(단계 S904). 여기서, 메인 함수의 주어진 수식에서 순차적으로 토큰을 읽어들인다. 이때, 토큰 수식에 포함된 개별 단위 수식에 포함된 토큰 길이를 참조하여 해당 수식 전체를 일일이 검토하지 않고, 계산 단위별로 점프하면서 수식을 읽어들일 수 있다. 즉, 하나의 수식 안에 여러 개의 수식들이 포함되어 있는 경우, 해당 수식이나 복잡한 내부 정의 함수식에 대하여 별도의 복사 등의 추출 과정 없이 주어진 수식에서 계산 단위로 첫 위치로 점핑하면서 수식을 읽을 수 있다. 이와 같은 절차에 의해 모의 실행 방법을 종료한다.
여기서, 계산 종류는 단순 연산, 고정형 배열 계산, 조건형 배열 계산, 및 전이형 계산으로 구분되며, 이하, 각 계산 방법에 대하여 더 상세하게 설명한다.
먼저, 단순 연산은 계산기와 같이 수식에 따라 연산되는 단순 연산의 형태로서, 실질적으로 통합 수식의 모의시에 적합하지 않고, 특별한 기능을 포함하지 않으므로 그 구체적인 설명은 생략한다.
다음으로, 고정형 배열 계산은 데이터의 일정 범위에 대한 계산을 순차적으로 이동하면서 반복 수행하는 계산 방식으로서, 도 11에 더 상세하게 도시된다. 도 11은 도 9의 통합수식 계산 중 고정형 배열 계산 방법의 세부 절차를 나타낸 순서도이다.
고정형 배열 계산 방법(1100)은 배열 변수값을 설정하는 단계(단계 S1101), 메인 함수를 계산하는 단계(단계 S1102), 반복 계산이 완료되었는지를 판단하는 단계(단계 S1103)로 구성된다.
보다 상세히 설명하면, 도 11에 도시된 바와 같이, 먼저, 메인 함수의 계산을 위한 데이터의 초기 위치를 지정하기 위해 배열 변수값을 설정한다(단계 S1101). 이러한 배열 변수값 설정은 스테이지 모델의 생성시 설정된 계산 범위와 도 9와 같은 계산 범위 재설정 과정을 통하여 자동으로 유효 데이터의 초기 위치로 설정된다.
다음으로, 모의하고자 하는 메인 함수를 계산 한다(단계 S1102). 이때, 메인 함수 내에 포함된 구성 함수(C형) 또는 서브 함수(F형)는 그 수식 안에 배열 변수 또는 함수를 포함하지 않는 경우 사전에 계산된 값이 호출되고, 그렇지 않으면, 해당 함수의 계산 순서에서 계산이 수행된다.
다음으로, 배열 변수가 종료값에 도달했는지를 판단하여(단계 S1103), 종료값에 도달하지 않은 경우, 즉, 모든 배열 변수에 대한 메인 함수의 계산이 종료되지 않은 경우, 다시 말해, 모든 유효 데이터에 대한 메인 함수의 계산이 종료되지 않은 경우에는, 단계 S1102로 복귀하여 메인 함수의 계산을 수행한다. 이와 같이, 단계 S1102 및 단계 S1103은 모든 배열 변수에 대하여, 즉, 모든 유효 데이터에 대하여 메인 함수의 계산이 종료될 때까지 반복 수행된다.
단계 S1103의 판단 결과, 배열 변수가 종료값에 도달했다고 판단한 경우, 즉, 모든 배열 변수에 대한 메인 함수의 계산이 종료되었다고 판단한 경우, 반복 실행이 완료되어 고정형 배열 계산을 종료한다.
이와 같은 고정형 배열 계산에 대한 예시적인 화면이 도 12에 도시된다. 도 12는 도 11에 따른 고정형 배열 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 12에 도시된 바와 같이, 고정형 배열 계산의 경우, 메인 함수(Y0)는 시작값인 82번째부터 계산이 수행되어 이후 반복적으로 데이터를 누적 연산하고 있음을 나타낸다.
다음으로, 조건형 배열 계산은 계산 조건이 만족하는 경우, 데이터의 일정 범위에 대한 계산을 반복 수행하는 계산 방식으로서, 도 13에 더 상세하게 도시된다. 도 13은 도 9의 통합수식 계산 중 조건형 배열 계산 방법의 세부 절차를 나타낸 순서도이다.
조건형 배열 계산 방법(1300)은 조건 함수에 대한 배열 변수값을 설정하는 단계(단계 S1301), 설정된 변수값에 따라 조건 함수를 계산하는 단계(단계 S1302), 조건의 만족 여부를 판단하는 단계(단계 S1303), 조건이 만족되는 경우 메인 함수에 대한 배열 변수값을 설정하는 단계(단계 S1304), 메인 함수를 계산하는 단계(단계 S1305), 및 메인 함수에 대한 반복 계산이 완료되었는지를 판단하는 단계(단계 S1306)로 구성된다.
보다 상세히 설명하면, 도 13에 도시된 바와 같이, 먼저, 조건 함수의 배열에 대한 변수값을 설정한다(단계 S1301). 즉, 조건 함수의 계산을 위한 데이터의 초기 위치를 지정하여 배열 변수값을 설정하는데, 이러한 설정은 스테이지 모델의 생성시 설정된 계산 범위와 도 9와 같은 계산 범위 재설정 과정을 통하여 자동으로 유효 데이터의 초기 위치로 설정된다.
다음으로, 조건을 만족하는 경우를 찾기 위해 조건 함수를 계산한다(단계 S1302). 이때, 조건 함수 내에 포함된 구성 함수(C형) 또는 서브 함수(F형)는 그 수식 안에 배열 변수 또는 함수를 포함하지 않는 경우 사전에 계산된 값이 호출되고, 그렇지 않으면, 해당 함수의 계산 순서에서 계산이 수행된다.
다음으로, 조건 함수의 계산 결과가 조건을 만족하는지의 여부를 판단하여(단계 S1303), 조건을 만족하지 않는 경우에는 단계 S1302로 복귀하여 다음 계산 위치(즉, 다음 변수 또는 다음 대상 데이터)에 대하여 조건 함수를 계산한다. 이와 같은 단계 S1302 및 단계 S1303은 조건 함수가 조건을 만족할 때까지 반복 수행된다.
단계 S1303의 판단 결과, 조건 함수가 조건을 만족한다고 판단한 경우에는 메인 함수에 대한 배열 변수값을 설정한다(단계 S1304). 즉, 메인 함수의 계산의 시작 위치가 조건 함수의 조건을 만족하는 위치가 되도록 배열 변수값을 설정한다.
다음으로, 조건을 만족하는 모의하고자 하는 메인 함수를 계산한다(단계 S1305). 이때, 메인 함수 내에 포함된 구성 함수(C형) 또는 서브 함수(F형)는 그 수식 안에 배열 변수 또는 함수를 포함하지 않는 경우 사전에 계산된 값이 호출되고, 그렇지 않으면, 해당 함수의 계산 순서에서 계산이 수행된다.
다음으로, 메인 함수에 대한 배열 변수가 종료값에 도달했는지를 판단하여(단계 S1306), 종료값에 도달하지 않은 경우, 즉, 모든 배열 변수에 대한 메인 함수의 계산이 종료되지 않은 경우, 다시 말해, 모든 유효 데이터에 대한 메인 함수의 계산이 종료되지 않은 경우에는, 단계 S1305로 복귀하여 메인 함수의 계산을 수행한다. 이와 같이, 단계 S1305 및 단계 S1306은 모든 배열 변수에 대하여, 즉, 모든 유효 데이터에 대하여 메인 함수의 계산이 종료될 때까지 반복 수행된다.
단계 S1306의 판단 결과, 배열 변수가 종료값에 도달했다고 판단한 경우, 즉, 모든 배열 변수에 대한 메인 함수의 계산이 종료되었다고 판단한 경우, 반복 실행이 완료되어 조건형 배열 계산을 종료한다.
이와 같은 조건형 배열 계산에 대한 예시적인 화면이 도 14에 도시된다. 도 14는 도 13에 따른 조건형 배열 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 14에 도시된 바와 같이, 조건형 배열 계산의 경우, 모의는 조건식의 시작값인 82번째부터 계산이 시작되지만, 85번째까지는 조건이 만족하지 않으므로 메인 함수의 실질적인 계산이 이루어지지 않고, 조건이 참이 되는 85번째부터 메인 함수의 실질적인 계산이 이루어지며, 이후 반복적으로 데이터를 누적 연산하고 있음을 나타낸다.
다음으로, 전이형 계산은 데이터의 일정 범위 내에서 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산하는 계산 방식으로서, 도 15에 더 상세하게 도시된다. 도 15는 도 9의 통합수식 계산 중 전이형 계산 방법의 세부 절차를 나타낸 순서도이다.
전이형 계산 방법(1500)은 조건 함수에 대한 배열 변수값을 설정하는 단계(단계 S1501), 설정된 변수값에 따라 조건 함수를 계산하는 단계(단계 S1502), 조건의 만족 여부를 판단하는 단계(단계 S1503), 조건이 만족한 경우 메인 함수의 서브세트를 계산하는 단계(단계 S1504), 메인 함수의 서브세트에 대한 반복 계산이 완료되었는지를 판단하는 단계(단계 S1505), 및 메인 함수의 서브세트의 결과들을 누적하는 단계(단계 S1506)로 구성된다.
보다 상세히 설명하면, 도 15에 도시된 바와 같이, 먼저, 조건 함수의 배열에 대한 변수값을 설정한다(단계 S1501). 즉, 조건 함수의 계산을 위한 데이터의 초기 위치를 지정하여 배열 변수값을 설정하는데, 이러한 설정은 스테이지 모델의 생성시 설정된 계산 범위와 도 9와 같은 계산 범위 재설정 과정을 통하여 자동으로 유효 데이터의 초기 위치로 설정된다.
다음으로, 조건을 만족하는 경우를 찾기 위해 조건 함수를 계산한다(단계 S1502). 이때, 조건 함수 내에 포함된 구성 함수(C형) 또는 서브 함수(F형)는 그 수식 안에 배열 변수 또는 함수를 포함하지 않는 경우 사전에 계산된 값이 호출되고, 그렇지 않으면, 해당 함수의 계산 순서에서 계산이 수행된다.
다음으로, 조건 함수의 계산 결과가 조건을 만족하는지의 여부를 판단하여(단계 S1503), 조건을 만족하는 경우에는, 메인 함수에 대한 배열 변수값을 설정한다(단계 S1504). 즉, 메인 함수의 계산의 시작 위치가 조건 함수의 조건을 만족하는 위치가 되도록 메인 함수의 배열 변수값을 재설정한다.
다음으로, 메인 함수를 서브세트로서 계산한다(단계 S1505). 이때, 메인 함수 내에 포함된 구성 함수(C형) 또는 서브 함수(F형)는 그 수식 안에 배열 변수 또는 함수를 포함하지 않는 경우 사전에 계산된 값이 호출되고, 그렇지 않으면, 해당 함수의 계산 순서에서 계산이 수행된다.
단계 S1503의 판단 결과, 조건을 만족하지 않은 경우, 또는 단계 S1505의 메인 함수의 서브세트의 계산이 수행된 후, 배열 변수가 종료값에 도달했는지를 판단하여(단계 S1506), 종료값에 도달하지 않은 경우, 즉, 모든 배열 변수에 대한 메인 함수의 계산이 종료되지 않은 경우, 다시 말해, 모든 유효 데이터에 대한 메인 함수의 계산이 종료되지 않은 경우에는, 단계 S1502로 복귀하여 다음 변수 또는 데이터에 대하여 조건 함수를 계산한다.
이와 같은 단계 S1502 내지 단계 S1506은 모든 배열 변수에 대하여, 즉, 모든 유효 데이터에 대하여 메인 함수의 모든 서브세트에 대한 계산이 종료될 때까지 반복 수행된다. 이러한 과정을 통하여, 모든 데이터에 대하여 단계 S1502의 조건이 만족하는 경우에만 메인 함수를 서브세트로서 계산한다.
전이형 계산은 이와 같이 조건을 만족하는 경우 계산된 메인 함수의 서브세트의 계산 결과를 최종적으로 누적 합산하는 것이다. 따라서, 단계 S1506의 판단 결과, 배열 변수가 종료값에 도달했다고 판단한 경우, 즉, 모든 배열 변수에 대한 메인 함수의 모든 서브세트의 계산이 종료되었다고 판단한 경우, 메인 함수의 모든 서브세트의 결과를 누적 합산하고(단계 S1507), 전이형 계산을 종료한다.
위에서 설명한 바와 같이, 메인 함수의 모든 서브세트에 대한 계산을 완료한 후 최종적으로 계산 결과를 누적하는 것으로 설명하였지만, 도 15에 도시된 바와 같이, 메인 함수의 각 서브세트에 대한 계산이 완료된 후 결과 누적을 실행 후 다음 서브세트에 대한 계산이 수행될 수 있다.
즉, 단계 S1505에서 메인 함수의 하나의 서브세트에 대한 계산이 완료된 후, 현재 계산된 메인 함수의 서브세트를 이전에 계산된 메임 함수의 서브세트와 합산하여 결과를 누적한 다음, 단계 S1505의 모든 배열 변수에 대한 계산이 완료되었는지를 판단할 수 있다. 따라서 모든 서브세트에 대한 계산이 완료될 때까지 서브세트 계산 및 합산을 반복 수행할 수 있다. 이에 의해 메인 함수의 서브세트의 결과를 저장하기 위한 메모리를 최소화할 수 있다.
이와 같은 고정형 배열 계산에 대한 예시적인 화면이 도 16에 도시된다. 도 16은 도 15에 따른 전이형 계산의 예시적인 결과 화면을 나타낸 도면이다.
도 16에 도시된 바와 같이, 전이형 계산의 경우, 모의는 조건식의 시작값인 82번째부터 계산이 시작되지만, 조건이 만족하지 않는 경우, 메인 함수의 계산이 이루어지지 않고, 조건이 참이 되는 85, 92, 및 99번째에서 메인 함수의 실질적인 계산이 이루어지는데, 이는 메인 함수의 서브세트이다. 이어서, 메인 함수의 서브세트로서 각각 계산된 값들은 동일 위치의 결과값이 합산되어 메인 함수의 최종 결과를 산출한다. 예를 들면, 85번째부터 94번째까지의 제 1 서브 함수의 결과값은 111.4536이고, 92번째부터 94번째까지 계산된 제 2 서브 함수의 값(92번째부터 94번째까지의 데이터의 합)은 32.6165가 되므로, 최종적인 메인 함수는 이 두 값을 합산한 144.0701이 산출됨을 나타낸다.
한편, 본 발명의 실시예들에 따른 방법들은 다계산 기능을 포함한다. 즉, 스테이지 생성 방법의 계산 정보 등록 단계에서, 메인 함수를 복수개 등록하면, 모의 실행 단계에서 1회 모의 실행만으로 복수개의 결과를 계산할 수 있다. 도 17은 본 발명의 실시예에 따른 다계산 설정(a) 및 다계산 결과(b)의 예시적인 화면을 나타낸 도면이다.
도 17(a)에 도시된 바와 같이, 스테이지 모델 생성시 메인 함수를 복수개, 예를 들면, 4개로 정의할 수 있으며, 이에 대하여 1회의 모의 계산만으로 도 17(b)에 도시된 바와 같이, 4개의 메인 함수(Y0~Y3)에 대한 실행 결과가 산출된다.
이와 같은 방법에 의해 본 발명은 생물적 현상에 대한 모델의 설계를 단위 스테이지 모델로 생성할 수 있어 사용자가 생물학적 현상에 대한 모델 및 모의를 쉽게 설계할 수 있고, 생성된 스테이지 모델의 수식적 및 구조적 이해가 용이할 뿐 아니라 계산 방법, 계산 조건 등과 같은 모의의 조건 및 통합 계산에 대한 이해가 용이하여 생성된 모델을 쉽게 변형 및 활용할 수 있다.
또한, 본 발명은 수식화 가능한 다양한 모형들을 하나의 스테이지 모델로 구성하여 모델의 원형을 변형시키지 않고 다른 모델 및 모의에서 활용할 수 있으므로 스테이지 모델 단위로 표현할 수 있는 모든 모형들의 플랫폼을 구축할 수 있으며, 하나의 모델에 대하여 복수의 계산을 설정할 수 있어 1회의 모의만으로도 복수의 결과를 획득할 수 있고, 따라서 모의에 소요되는 시간의 단축 등 사용자의 편의를 향상시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 본 발명의 기술 사상 범위 내에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 첨부된 특허 청구 범위에 속하는 것은 당연하다.
10 : 사용자 정의형 수식 통합 계산 시스템
110 : 입력부 120 : 출력부
200 : 통합 계산부 210 : 스테이지 모델 생성부
212 : 외부 데이터 관리부 214 : 구성함수 관리부
216 : 통합계산 관리부 218 : 수식 검증부
2182 : 토큰화 모듈 2184 : 유효성 검증 모듈
2186 : 수식 변형 모듈 220 : 모의 실행부
222 : 계산 범위 재설정부 224 : 부스터부
226 : 계산 엔진부 230 : 저장부
232 : 스테이지 모델 정보 주소 구조체
234 : 데이터 및 구성함수 정보 주소 구조체
236 : 데이터 저장부

Claims (20)

  1. 모의하고자 하는 현상에 관하여 입력된 데이터, 상기 현상을 나타내는 구성 함수 및 이의 조합인 메인 함수, 상기 메인 함수의 계산 종류 및 계산 조건, 상기 데이터에 대한 계산 범위가 입력되고, 이를 기초로 사용자 정의형 스테이지 모델을 생성하는 스테이지 모델 생성부;
    상기 메인 함수의 상기 계산 종류, 상기 계산 조건, 및 상기 계산 범위에 따라 상기 생성된 스테이지 모델에 대한 통합 계산이 실행되는 모의 실행부; 및
    상기 생성된 스테이지 모델 및 상기 실행 결과가 저장되는 저장부를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  2. 제 1 항에 있어서,
    상기 스테이지 모델 생성부는,
    독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 상기 입력된 데이터의 등록 및 삭제를 관리하는 외부 데이터 관리부;
    상기 구성 함수의 등록 및 삭제를 관리하는 구성 함수 관리부;
    상기 메인 함수, 상기 계산 종류, 상기 계산 조건, 상기 계산 범위의 등록 및 삭제를 관리하는 통합계산 관리부; 및
    상기 메인 함수를 이루는 각 수식의 유효성을 검증하는 수식 검증부를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  3. 제 2 항에 있어서,
    상기 수식 검증부는,
    상기 메인 함수의 각 수식을 토큰식으로 토큰화하는 토큰화 모듈;
    상기 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증하는 유효성 검증 모듈; 및
    상기 유효성 검증에 따라 상기 토큰식을 후위식으로 변형하는 수식 변형 모듈을 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  4. 제 1 항에 있어서,
    상기 모의 실행부는,
    상기 메인 함수에 대하여 상기 계산 범위가 적정한지를 판단하여 상기 계산 범위가 상기 데이터의 범위 이내가 되도록 재설정하는 계산 범위 재설정부;
    상기 계산 종류에 따라 상기 구성 함수의 변수(C형)에 대한 사전 계산을 실행하는 부스터부; 및
    상기 재설정된 범위 및 상기 사전 계산된 구성 함수의 변수를 기초로 상기 메인 함수를 계산하는 계산 엔진부를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  5. 제 4 항에 있어서,
    상기 부스터부는 상기 계산 종류가 단순 연산(calculator)이 아닌 경우 실행되는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  6. 제 1 항에 있어서,
    상기 저장부는,
    상기 스테이지 모델의 스테이지 모델 정보 주소 구조체;
    상기 입력된 데이터 및 상기 구성 함수의 변수들에 대한 주소를 저장하는 데이터 및 구성 함수 정보 주소 구조체; 및
    상기 주소 구조체들에 대응하는 정보가 저장되는 데이터 저장부를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  7. 제 1 항에 있어서,
    상기 계산 종류는,
    상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 고정형 배열 계산;
    상기 계산 조건이 만족하는 경우, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산; 및
    상기 데이터의 일정 범위 내에서 상기 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산하는 전이형(transition) 계산을 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  8. 제 1 항에 있어서,
    상기 메인 함수는 복수개 설정가능하고, 1회 모의 실행으로 복수개의 결과가 계산되는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  9. 제 1 항에 있어서,
    상기 스테이지 모델은 생물적 특성에 부합하는 모델인, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  10. 제 9 항에 있어서,
    상기 스테이지 모델은 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델인, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템.
  11. 모의하고자 하는 현상에 관하여 입력된 데이터를 독립 변수(X형) 및 참조 변수(R형)의 형태에 따라 등록하는 외부 데이터 등록 단계;
    상기 현상을 나타내는 구성 함수를 등록하는 구성 함수 등록 단계;
    상기 구성 함수의 조합인 메인 함수, 상기 메인 함수의 계산 종류, 계산 조건, 및 상기 데이터에 대한 계산 범위를 등록하고, 이를 기초로 사용자 정의형 스테이지 모델을 생성하는 계산 정보 등록 단계; 및
    상기 메인 함수를 이루는 각 수식의 유효성을 검증하는 계산 정보 유효성 검증 단계를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  12. 제 11 항에 있어서,
    상기 계산 정보 유효성 단계는,
    상기 메인 함수의 각 수식을 토큰식으로 토큰화하는 수식 토큰화 단계;
    상기 토큰식의 블록, 연산자, 수식, 변수들의 순환 참조에 대한 유효성을 검증하는 토큰화 유효성 검증 단계;
    상기 유효성 검증에 따라 상기 토큰식을 후위식으로 변형하는 수식 변형 단계를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  13. 제 11 항에 있어서,
    상기 메인 함수의 상기 계산 종류, 상기 계산 조건, 및 상기 계산 범위에 따라 상기 생성된 스테이지 모델에 대한 통합 계산을 실행하는 모의 실행 단계를 더 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  14. 제 13 항에 있어서,
    상기 모의 실행 단계는,
    상기 메인 함수에 대하여 상기 계산 범위가 적정한지를 판단하여 상기 계산 범위가 상기 데이터의 범위 이내가 되도록 재설정하는 계산 범위 재설정 단계;
    상기 메인 함수의 계산 종류를 판단하는 계산 종류 판단 단계; 및
    상기 판단된 계산 종류에 따라 상기 재설정된 범위를 기초로 상기 메인 함수를 계산하는 통합 수식 계산 단계를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  15. 제 14 항에 있어서,
    상기 모의 실행 단계는,
    상기 계산 종류 판단 결과, 단순 연산이 아닌 경우, 상기 계산 조건에 따라 상기 구성 함수의 변수(C형)에 대한 사전 계산을 실행하는 부스터 실행 단계를 더 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  16. 제 14 항에 있어서,
    상기 통합 수식 계산 단계는,
    상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 고정형 배열 계산 단계;
    상기 계산 조건이 만족하는 경우, 상기 데이터의 일정 범위에 대한 계산을 반복 수행하는 조건형 배열 계산 단계; 및
    상기 데이터의 일정 범위 내에서 상기 계산 조건이 만족하는 경우에만 계산의 결과를 누적 합산하는 전이형 계산 단계를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  17. 제 14 항에 있어서,
    상기 계산 범위 재설정 단계는,
    상기 메인 함수 및 상기 구성 함수를 호출하는 함수 호출 단계;
    상기 메인 함수에 대한 상기 계산 범위가 상기 데이터의 범위 이내인지를 검증하는 유효성 검증 단계; 및
    상기 메인 함수에 대한 상기 계산 범위를 상기 데이터의 범위 이내가 되도록 재설정하는 범위 재설정 단계를 포함하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  18. 제 14 항에 있어서,
    상기 계산 정보 등록 단계는 상기 메인 함수를 복수개 등록하고,
    상기 모의 실행 단계는 1회 모의 실행으로 복수개의 결과를 계산하는, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  19. 제 11 항에 있어서,
    상기 스테이지 모델은 생물적 특성에 부합하는 모델인, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
  20. 제 19 항에 있어서,
    상기 스테이지 모델은 작물, 병, 해충, 및 곤충에 발생 또는 발육을 나타낸 모델인, 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 방법.
KR1020140067107A 2014-06-02 2014-06-02 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법 KR101589235B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140067107A KR101589235B1 (ko) 2014-06-02 2014-06-02 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140067107A KR101589235B1 (ko) 2014-06-02 2014-06-02 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20150139137A true KR20150139137A (ko) 2015-12-11
KR101589235B1 KR101589235B1 (ko) 2016-02-19

Family

ID=55020357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140067107A KR101589235B1 (ko) 2014-06-02 2014-06-02 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101589235B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05258002A (ja) * 1992-03-11 1993-10-08 Nec Corp 異種シミュレータの同期実行制御方式
JP2004302859A (ja) * 2003-03-31 2004-10-28 Hideo Kioka 場の物理量のシミュレーション方法
KR20130127616A (ko) 2012-05-15 2013-11-25 한국과학기술원 확률적 모델 시뮬레이터 및 이를 위한 인터페이스와 시뮬레이션 모듈
KR20140046780A (ko) * 2012-10-11 2014-04-21 대한민국(농촌진흥청장) 모델 스테이지 연결 구조 형성방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05258002A (ja) * 1992-03-11 1993-10-08 Nec Corp 異種シミュレータの同期実行制御方式
JP2004302859A (ja) * 2003-03-31 2004-10-28 Hideo Kioka 場の物理量のシミュレーション方法
KR20130127616A (ko) 2012-05-15 2013-11-25 한국과학기술원 확률적 모델 시뮬레이터 및 이를 위한 인터페이스와 시뮬레이션 모듈
KR20140046780A (ko) * 2012-10-11 2014-04-21 대한민국(농촌진흥청장) 모델 스테이지 연결 구조 형성방법

Also Published As

Publication number Publication date
KR101589235B1 (ko) 2016-02-19

Similar Documents

Publication Publication Date Title
Bartlett et al. Multiple imputation of covariates by substantive-model compatible fully conditional specification
KR20190052143A (ko) 신경 아키텍처 검색
Risco-Martín et al. Reconsidering the performance of DEVS modeling and simulation environments using the DEVStone benchmark
US8185368B2 (en) Mixed-domain analog/RF simulation
Ford et al. Implementing the ADVISE security modeling formalism in Möbius
KR102272815B1 (ko) 건축/토목 구조물에 대한 3차원 설계를 위한 플랫폼 서비스 방법 및 시스템
Emmett et al. High-order algorithms for compressible reacting flow with complex chemistry
Durán et al. Amalgamation of domain specific languages with behaviour
Luk et al. ComPat framework for multiscale simulations applied to fusion plasmas
Caeiro et al. Shape optimization of a Helmholtz resonator using an adjoint method
KR101589235B1 (ko) 스테이지 모델 생성을 이용한 사용자 정의형 수식 통합 계산 시스템 및 그 방법
McGregor et al. Interactive visualization for testing markov decision processes: MDPVIS
Pârvu et al. A novel method to verify multilevel computational models of biological systems using multiscale spatio-temporal meta model checking
Asai et al. A versatile platform for multilevel modeling of physiological systems: SBML-PHML hybrid modeling and simulation
Burger Flexible views for rapid model-driven development
Bernardi et al. Model-driven fast prototyping of RIAs: From conceptual models to running applications
KR101578421B1 (ko) 사용자 정의형 수식 통합 계산의 최적화 시스템 및 그 방법
Bois et al. Probabilistic generation of random networks taking into account information on motifs occurrence
Manca et al. Metabolic P systems: A discrete model for biological dynamics
Gray et al. A standard platform for testing and comparison of MDAO architectures
Oriti Boundary terms in the Barrett–Crane spin foam model and consistent gluing
Rönkkö Introduction to matrixpls
Barthwal et al. A mechanisation of some context-free language theory in HOL4
Lange et al. Improved hybrid/GPU algorithm for solving cardiac electrophysiology problems on Purkinje networks
KR20130104497A (ko) 이산사건 형식론 기반 시뮬레이션 모델의 계층형 관리방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant