KR102352957B1 - 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 - Google Patents
시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 Download PDFInfo
- Publication number
- KR102352957B1 KR102352957B1 KR1020200184259A KR20200184259A KR102352957B1 KR 102352957 B1 KR102352957 B1 KR 102352957B1 KR 1020200184259 A KR1020200184259 A KR 1020200184259A KR 20200184259 A KR20200184259 A KR 20200184259A KR 102352957 B1 KR102352957 B1 KR 102352957B1
- Authority
- KR
- South Korea
- Prior art keywords
- simulation
- sos
- verification
- scenario
- interactive
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치가 제시된다. 일 실시예에 따른 컴퓨터 장치를 통해 구현되는 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 방법은, SoS의 분석을 위해 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터를 이용하여 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 단계; 및 상기 SoS의 검증을 위해 SIMVA-SoS 검증기를 이용하여 상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계를 포함하여 이루어질 수 있다.
Description
아래의 실시예들은 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치에 관한 것이다.
시스템 복합시스템은 공통의 목표를 달성하기 위한 다중 구성 시스템(Constituent Systems, CS)을 포함하는 크고 복잡한 시스템이다. 여기서, 시스템 복합시스템은 시스템 오브 시스템즈(System-of-Systems, 이하 SoS)를 의미한다. CS 간 복잡한 상호작용이 필요하기 때문에 복수의 CS로 공통의 목표를 달성하는 것은 단일 시스템에서 목표를 달성하는 것보다 더 어렵다. SoS는 에너지 관리 시스템, 교통 통제 시스템, 대규모 사고 대응 시스템 등을 포함한 많은 분야에서 사용된다. 이들은 모두 안전에 중요한 시스템으로, 시스템이 실패할 경우 인적 자원과 환경에 막대한 피해를 줄 수 있다. 따라서 다양한 영역에서 SoS에 대한 체계적인 검증 기법이 요구된다.
SoS에서 공통 목표를 검증하기 위한 접근방식 중 하나는 시뮬레이션 기반 검증이다(비특허문헌 1). 시뮬레이션 기반 검증 접근방식을 선택하는 주된 이유는 (1) 실제 SoS에 대한 실험을 수행하는 것이 타당하지 않고 비실용적이며, (2) 시뮬레이션은 SoS의 고유한 특성에 대한 통찰력을 제공하고 시각화에 도움이 되며, (3) 검증의 주요 문제 중 하나인 상태 확산 문제를 완화할 수 있다.
SoS의 시뮬레이션 기반 검증을 위해서는 SoS의 특성에 맞는 시뮬레이션 기법이 필요하다. SoS는 관리 및 운영의 독립성, 지리적 분포, 진화적 개발 및 긴급 행동의 다섯 가지 특성을 가지고 있다. 첫 번째 세 가지는 CS와 관련이 있고, 다른 두 가지는 SoS와 관련이 있다. 이러한 특성을 시뮬레이터에 반영하기 위해 이산 시간 및 다중 에이전트 시뮬레이션 기법을 적용했다. 이산 시간 시뮬레이션 구조는 진화적 개발을 반영하며, CS의 특성을 반영하기 위해 다중 에이전트 시뮬레이션 구조를 사용한다. 이 연구에서는 이 시뮬레이터를 대화형 시뮬레이터로 정의한다. 이전 작업을 포함한 기존 SoS 시뮬레이터의 대부분은 실행 전에 모든 입력을 정의해야 하기 때문에 시뮬레이션 중에 동적 변경을 허용하는 능력이 부족하다. 그러나 대화형 시뮬레이터는 사용자가 시뮬레이션 중에 새로운 시나리오 이벤트를 주입할 수 있도록 하여 진화적 개발 특징을 반영할 수 있다. 마지막으로, 시뮬레이션 중에 긴급한 동작을 보여줄 수 있다.
D. Seo, D. Shin, Y.-M. Baek, J. Song, W. Yun, J. Kim, E. Jee, and D.-H. Bae, "Modeling and verification for different types of system of systems using prism," in 2016 IEEE/ACM 4th International Workshop on Software Engineering for Systems-of-Systems (SESoS). IEEE, 2016, pp. 12-18.
D. Reijsbergen, P.-T. de Boer, W. Scheinhardt, and B. Haverkort, "On hypothesis testing for statistical model checking," International journal on software tools for technology transfer, vol. 17, no. 4, pp. 377-395, 2015.
S. Park, Z. M. Belay, and D.-H. Bae, "A simulation-based behavior analysis for mci response system of systems," in 2019 IEEE/ACM 7th International Workshop on Software Engineering for Systems-of-Systems (SESoS) and 13th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems (WDES). IEEE, 2019, pp. 2-9.
실시예들은 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치에 관하여 기술하며, 보다 구체적으로 사용자가 시뮬레이션 중에 시뮬레이션 모델과 시나리오를 수정하여 진화적 발전을 나타낼 수 있는 SoS의 대화형 시뮬레이션(interactive simulation)을 위한 기술을 제공한다.
실시예들은 통계적 모델 점검(Statistical Model Checking, SMC) 기법을 제공하여 모델을 여러 번 시뮬레이션하고 축적된 시뮬레이션 결과를 바탕으로 검증 속성의 만족 여부를 통계적으로 검증함으로써, 모델 점검 기술의 효율성을 높일 수 있는 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치를 제공하는데 있다.
일 실시예에 따른 컴퓨터 장치를 통해 구현되는 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 방법은, SoS의 분석을 위해 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터를 이용하여 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 단계; 및 상기 SoS의 검증을 위해 SIMVA-SoS 검증기를 이용하여 상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계를 포함하여 이루어질 수 있다.
상기 대화형 시뮬레이션을 실행하는 단계는, 상기 SIMVA-SoS 시뮬레이터에 SoS 모델, 시나리오 및 자극(stimulus)을 입력하여 대화형 시뮬레이션을 실행할 수 있다.
상기 SoS 모델 및 상기 시나리오는 대화형 시뮬레이션을 실행하기 이전에 정의되며, 상기 자극은 대화형 시뮬레이션을 실행하기 이전 또는 도중에 정의될 수 있다.
상기 대화형 시뮬레이션을 실행하는 단계는, 사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스를 이용하여 시뮬레이션 중에 자극의 주입을 통해 SoS 모델이나 시나리오를 수정 가능하며, 상기 SIMVA-SoS 시뮬레이터를 통해 SoS 모델이나 시나리오를 변경하면 변경사항이 시뮬레이션에 반영될 수 있다.
상기 대화형 시뮬레이션을 실행하는 단계는, 시뮬레이션이 끝나면, 실행 결과가 시뮬레이션 로그 저장부에 저장될 수 있다.
상기 대화형 시뮬레이션을 실행하는 단계는, 상기 SIMVA-SoS 시뮬레이터에서 시뮬레이션이 실행되면 사용자가 정의한 시나리오가 업데이트되고, 사용자가 새로운 시나리오의 주입을 위해 중지 후 시뮬레이션을 재개하면 사용자가 주입하는 새로운 시나리오가 업데이트되며, 상기 새로운 시나리오를 업데이트한 후 시뮬레이션 시간을 1 틱씩 증가시킬 수 있다.
상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계는, 검증을 위해 사전에 검증 속성을 규정하며, 통계적 검증 알고리즘이 실행되어 검증 결과가 생성될 수 있다.
상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계는, 통계적 모델 점검(Statistical Model Checking, SMC)을 통해 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정할 수 있다.
다른 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 장치는, SoS의 분석을 위해 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터; 및 상기 SoS의 검증을 위해 상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 SIMVA-SoS 검증기를 포함하여 이루어질 수 있다.
상기 SIMVA-SoS 시뮬레이터는, SoS 모델, 시나리오 및 자극(stimulus)을 입력하여 대화형 시뮬레이션을 실행할 수 있다.
상기 SoS 모델 및 상기 시나리오는 대화형 시뮬레이션을 실행하기 이전에 정의되며, 상기 자극은 대화형 시뮬레이션을 실행하기 이전 또는 도중에 정의될 수 있다. 상기 SIMVA-SoS 시뮬레이터는, 시뮬레이션 중에 자극의 주입을 통해 SoS 모델이나 시나리오를 수정 가능하도록 하는 사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스; 및 SoS 모델이나 시나리오를 변경하면 변경사항이 시뮬레이션에 반영되는 모델 실행부 및 시나리오 실행부를 포함하여 이루어질 수 있다.
상기 SIMVA-SoS 시뮬레이터는, 시뮬레이션이 끝나면, 실행 결과가 저장되는 시뮬레이션 로그 저장부를 포함할 수 있다.
상기 SIMVA-SoS 검증기는, 검증을 위해 사전에 검증 속성을 규정하는 속성 점검부; 및 통계적 검증 알고리즘이 실행되어 검증 결과가 생성되는 통계적 모델 점검부를 포함할 수 있다.
상기 SIMVA-SoS 검증기는, 통계적 모델 점검(Statistical Model Checking, SMC)을 통해 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정할 수 있다.
실시예들에 따르면 사용자가 시뮬레이션 중에 시뮬레이션 모델과 시나리오를 수정하여 진화적 발전을 나타낼 수 있는 SoS의 대화형 시뮬레이션(interactive simulation)을 위한 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치를 제공할 수 있다.
실시예들에 따르면 통계적 모델 점검(Statistical Model Checking, SMC) 기법을 제공하여 모델을 여러 번 시뮬레이션하고 축적된 시뮬레이션 결과를 바탕으로 검증 속성의 만족 여부를 통계적으로 검증함으로써, 모델 점검 기술의 효율성을 높일 수 있는 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치를 제공할 수 있다.
도 1은 일 실시예에 따른 SIMVA-SoS의 구조를 나타내는 도면이다.
도 2는 일 실시예에 따른 사용자의 관점과 시뮬레이션 엔진의 관점으로 대화형 시뮬레이터의 워크플로우를 나타내는 도면이다.
도 3은 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 MCIR-SoS 시나리오의 도식을 나타내는 도면이다.
도 5는 일 실시예에 따른 런타임에 다양한 자극을 주입한 세 가지 시나리오에 대한 시뮬레이션 결과를 나타내는 도면이다.
도 6은 일 실시예에 따른 존재 검증 특성을 이용한 검증 결과를 나타내는 도면이다.
도 2는 일 실시예에 따른 사용자의 관점과 시뮬레이션 엔진의 관점으로 대화형 시뮬레이터의 워크플로우를 나타내는 도면이다.
도 3은 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 MCIR-SoS 시나리오의 도식을 나타내는 도면이다.
도 5는 일 실시예에 따른 런타임에 다양한 자극을 주입한 세 가지 시나리오에 대한 시뮬레이션 결과를 나타내는 도면이다.
도 6은 일 실시예에 따른 존재 검증 특성을 이용한 검증 결과를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
시스템 오브 시스템즈(System of Systems, SoS)는 공통의 목표를 달성하기 위해 여러 개의 구성 시스템(Constituent System, CS)을 포함하는 크고 복잡한 시스템이다. SoS의 공통의 목표 달성 여부를 확인하기 위해서는 분석 및 검증 과정이 필요하다. 이를 위한 접근 방식 중 한가지는 시뮬레이션 기반 분석 및 검증이다.
본 발명의 실시예들은 SoS 분석 및 검증을 위해 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems)를 제공한다. SIMVA-SoS는 대화형 시뮬레이션과 통계적 검증으로 구성된다.
시뮬레이션 기반 SoS 검증을 위해서는 SoS 특성에 맞는 시뮬레이션 기법이 필요하다. SoS는 관리 및 운영의 독립성(Managerial independence, Operational independence), 지리적 분포(Geographic distribution), 진화적 개발(evolutionary development) 및 창발성 행동(Emergent behavior)의 5가지 특성이 있다. 이러한 특성을 시뮬레이터에 반영하기 위해 대화형 시뮬레이션은 이산 시간 및 다중 에이전트 시뮬레이션 구조를 따른다. 이산 시간 시뮬레이션 구조는 진화적 개발을 반영하고, 다중 에이전트 시뮬레이션 구조는 관리 및 운영의 독립성 특징을 반영한다. 기존의 다양한 SoS 시뮬레이터는 시뮬레이션 실행 전 모든 입력 값을 정의하여야 했지만, 대화형 시뮬레이터는 사용자가 시뮬레이션 중에 새로운 시나리오 이벤트를 삽입하는 것이 가능하다.
사례 연구에서는 런타임에서 대화형 시뮬레이터에 자극제를 주입하여 연속 진화의 표현성을 검사하고, 통계적 검증 결과를 분석하였다. 대화형 시뮬레이션을 통한 SoS 표현과 통계 검증을 통한 상태 확산 문제 해결은 SoS의 시뮬레이션 기반 검증 가능성을 확인했다.
공통 목표 달성을 검증하기 위해서는 모델 확인과 같은 일반적인 검증 방법을 적용할 수 있다. 그러나 SoS의 크기와 복잡성 때문에 검증 효율은 상태 확산 문제(state explosion problem)의 영향을 받는다. 상태 확산 문제는 시스템 상태 공간의 크기가 시스템의 상태 변수 수가 증가함에 따라 기하급수적으로 증가함에 따라 발생한다. 철저한 모델 점검 기법의 효율을 높이기 위해 통계적 모델 점검(Statistical Model Checking, SMC) 기법이 제안되며, 검증에서 상태 확산 문제를 피할 수 있는 효과적인 방법 중 하나이다. 모델을 여러 차례 시뮬레이션하고 축적된 시뮬레이션 결과를 바탕으로 검증 속성이 충족되는지 통계적으로 검증한다. 이러한 배경에서 통계적 검증을 통해 속성을 검증하여 공통의 목표 달성을 검증할 수 있다.
본 발명은 다음과 같은 기여를 한다.
- 사용자가 시뮬레이션 중에 시뮬레이션 모델과 시나리오를 수정하여 진화적 발전을 나타낼 수 있는 SoS의 대화형 시뮬레이션(interactive simulation)을 위한 아키텍처(architecture)와 워크플로우(workflow)를 제안한다.
- SoS 목표를 검증 속성으로 명시하여 대화형 시뮬레이션을 이용한 SoS 목표 검증에 통계 검증 기법을 적용하였다.
SoS와 같은 크고 복잡한 시스템의 경우, 전통적인 모델 확인과 같은 철저한 검증 방법은 검증 시간과 메모리의 측면에서 비효율적이다. 상태 확산 문제는 크고 복잡한 시스템에 모델 점검을 적용하기 어렵게 만든다. 통계적 모델 점검(SMC)은 전통적인 모델 점검의 대안이 될 수 있는 통계적 검증 기법 중 하나이다. 통계적 모델 점검(SMC)은 모델의 여러 시뮬레이션 결과에서 주어진 모델의 속성 만족도에 대한 정량적 검증 결과를 유추하여 검증 효율성을 향상시킨다. 통계적 모델 점검(SMC)은 모델의 가능한 모든 상태를 탐색하기보다는 시뮬레이션 결과의 통계적 분석에 근거한 신뢰할 수 있는 검증 결과가 나올 때까지 시뮬레이션을 반복한다. 또한 시스템의 시뮬레이션 결과를 얻을 수 있다면 통계적 모델 점검(SMC)을 블랙박스나 비결정론적 시스템에 적용할 수 있다. SoS 모델은 SoS의 특성 때문에 결정적이지 않은 행동을 하거나 불완전하거나 추상화된 정보를 기반으로 할 수 있으므로 SoS 검증에 적용하면 통계적 모델 점검(SMC)의 혜택을 누릴 수 있다. 많은 통계적 모델 점검(SMC) 알고리즘 중에서 SIMVA-SoS의 순차 확률비 시험(SPRT)을 사용한다.
SoS 시뮬레이션
SoS 엔지니어들은 시뮬레이션을 활용하여 구성 요소의 조합에 따라 행동이나 구조가 극도로 복잡한 SoS를 효과적으로 분석하였다. Baldwin은 자율성, 소속성, 연결성 및 출현을 포함한 상호 작용하는 구성 요소의 공통 목표 달성 및 SoS 특성을 모델링하고 시뮬레이션했다. Zeigler와 Mittal은 SoS의 긴급 행동을 관찰하고 예측하기 위해 시뮬레이션을 사용했다. 또한, Manzano는 시뮬레이션을 통한 SoS 아키텍처의 동적 재구성을 런타임에 아키텍처 변경의 결과를 예상하기 위해 평가했다. 시뮬레이션은 SoS 미션의 달성을 보기 위해 널리 사용된다. 그러나 SoS는 그 자체 또는 런타임에 환경에서 예측할 수 없는 변화에 직면할 수 있다. 그럼에도 불구하고, 이전 연구를 포함한 대부분의 기존 시뮬레이션 기반 접근방식은 SoS 모델과 시나리오와 같은 시뮬레이션 입력이 시뮬레이션 실행 전에 완전히 제공되어야 하기 때문에 SoS에 대한 동적 변경을 처리할 수 없다.
본 발명의 실시예에서는 이전의 연구를 확장하기 위해, 런타임에 다양한 변경사항으로 SoS를 분석하기 위한 시뮬레이션 실행 중 SoS 시뮬레이션 모델과 시나리오에 자극을 주입할 수 있는 SoS의 대화형 시뮬레이션을 제안한다.
SoS 검증
SoS 시뮬레이션을 관찰할 뿐만 아니라 SoS 모델을 체계적으로 검증하는 것이 SoS가 충족해야 하는 특성을 검증하는 효과적인 방법이다. Calinescu는 다목적 최적화를 위한 SoS 정책의 효용성을 검증했다. Michael은 (비)기능적 요건을 충족하는 SoS 아키텍처의 품질을 검증했다. Sindiy는 SoS 검증을 위한 방법론을 제안하고 이를 우주탐사 SoS에 적용했는데, 의사결정 공간은 검증 과정과 활동으로 구성된다. Lim과 Lomusio는 복수의 에이전트가 자신의 목표와 능력을 가지고 협력하여 목표 달성을 검증했다. 상기 연구에서 광범위하게 사용되었던 모델 점검과 같은 SoS 모델의 철저한 검증은 강력하지만, 상태 확산 문제로 인한 실행 복잡성에 시달린다.
본 발명의 실시예에서는 SoS 시뮬레이션 결과를 사용하여 검증 비용을 최소화하는, 철저한 모델 점검 기법의 효율적인 대안으로 알려진 통계적 모델 점검(SMC) 접근법을 제안했다(비특허문헌 1). 이 연구에서는 대화형 SoS 시뮬레이션에 통계적 모델 점검(SMC)를 적용했다. 또한 SoS 연구 커뮤니티에 구현된 도구를 사용할 수 있도록 하였다.
아래에서는 SIMVA-SoS의 구조를 설명한다.
도 1은 일 실시예에 따른 SIMVA-SoS의 구조를 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 SIMVA-SoS는 SIMVA-SoS 시뮬레이터(110)와 SIMVA-SoS 검증기(120)의 두 개의 모듈로 나눌 수 있다. 여기서, SIMVA-SoS는 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 장치를 의미할 수 있다.
SIMVA-SoS 시뮬레이터(110)에는 다음과 같은 세 가지 입력이 있다. SoS 모델, 기본 시나리오 및 자극이다. 처음 두 입력은 시뮬레이션을 실행하기 전에 정의해야 하며, 마지막 입력은 시뮬레이션 이전 또는 도중에 정의할 수 있다. SIMVA-SoS 시뮬레이터(110)에는 대화형 시뮬레이션을 위한 사용자 인터페이스(111)가 있다. 대화형 시뮬레이션은 사용자가 시뮬레이션 중에 자극의 주입을 통해 모델이나 시나리오를 수정할 수 있도록 한다. 대화형 시뮬레이터를 통해 모델이나 시나리오를 변경하면 이러한 변경사항이 시뮬레이션에 반영된다. 즉, 변경된 모델 및 시나리오가 각각 모델 실행부(112) 및 시나리오 실행부(113)에 반영된다. 시뮬레이션이 끝나면 실행 결과, 즉 시뮬레이션 로그가 시뮬레이션 로그 저장부(114)에 저장된다.
시뮬레이션 후, SIMVA-SoS 검증기(120)를 통해 검증 프로세스가 실행된다. 검증을 위해서는 사전에 검증 속성을 규정해야 한다. 속성 점검부(122)는 다양한 도메인에서 사용할 수 있는 다양한 유형의 검증 속성에 대한 추상적인 검증 속성 클래스를 정의했다. 통계적 모델 점검부(121)에서 검증 중 통계적 검증 알고리즘이 실행되어 검증 결과가 생성된다.
SoS용 대화형 시뮬레이터
특성을 반영하기 위해 이산 시간과 다중 에이전트 시뮬레이션의 구조에 기초하여 대화형 시뮬레이터를 구현한다. 여기서, 대화형 시뮬레이터는 앞에서 설명한 SIMVA-SoS 시뮬레이터(110)를 의미할 수 있다.
이산 시간 시뮬레이션 구조는 시뮬레이터의 진화적 개발을 반영하기 위해 사용된다. 대화형 시뮬레이터는 사용자가 시뮬레이션 중에 새로운 시나리오 이벤트를 주입할 수 있도록 한다. 모든 이산 시간 동안 모든 시스템 상태를 업데이트하는 이산 시간 시뮬레이션 구조는 사용자가 시뮬레이션 중에 새로운 시나리오 이벤트를 주입할 수 있도록 한다. 여기에서는 SoS 시뮬레이션에 이산 시간 시뮬레이션을 적용했고, 그 결과 모든 틱마다 CS의 상태를 업데이트하는 구조를 만들었다.
SoS는 동작이 다른 많은 개별 구성요소를 포함하고 있으므로, 시스템의 활성화된 구성요소에 집중하는 것이 좋다. 다중 에이전트 시뮬레이션 구조는 다양한 종류의 동작을 가진 여러 구성 요소로 구성된 복잡한 시스템을 나타내기 위해 사용된다. 에이전트에 집중함으로써 추상화에 의한 시스템의 모델링 복잡성을 감소시킨다. 따라서, 다중 에이전트 시뮬레이션 구조는 관리 독립성, 운영 독립성, 긴급 행동 등의 특성을 반영하기 위해 적합하다. 이러한 이유로, 실시예들은 이산 시간 및 다중 에이전트 시뮬레이션 구조를 기반으로 한 대화형 시뮬레이터를 구현한다.
도 2는 일 실시예에 따른 사용자의 관점과 시뮬레이션 엔진의 관점으로 대화형 시뮬레이터의 워크플로우를 나타내는 도면이다.
도 2를 참조하면, 사용자 관점에서는 사용자가 시뮬레이션을 실행하기 전에 시뮬레이션 시나리오, 시뮬레이션 정책 및 시뮬레이션 구성을 설정(202)한다. 시뮬레이션을 실행(203)한 후 사용자는 시뮬레이션 중에 언제든지 시뮬레이션을 중단할 수 있다. 사용자가 시뮬레이션을 중단(204)하면 현재 시뮬레이션 상태를 유지하면서 시뮬레이션이 중지된다. 그런 다음, 사용자는 새로운 시나리오 이벤트를 주입할 수 있다. 사용자는 시나리오 이벤트를 주입한 후 시뮬레이션을 재개할 수 있다. 시뮬레이션을 재개하면 시뮬레이션이 중지된 시점부터 시뮬레이션이 계속된다. 사용자는 GUI를 통해 주입된 시나리오 이벤트와 시뮬레이션 진행 상황을 관찰(205)할 수 있으며, 시뮬레이션이 완료된 후 시뮬레이션 결과를 분석(206)할 수 있다. 그리고, 시뮬레이션 결과를 저장(207)한 후, 종료(208)할 수 있다.
시뮬레이션 엔진 관점에서, 시뮬레이션 엔진의 초기화 상태(210)에서 시뮬레이션 시나리오, 정책 및 구성은 시뮬레이션에 반영(220)된다. 시뮬레이션이 실행(230)되면 사용자가 정의한 시나리오 이벤트가 시뮬레이션 엔진에서 업데이트(241)된다. 또한 사용자가 시뮬레이션을 재개하면 시뮬레이션 엔진에서 사용자가 주입하는 시나리오 이벤트가 업데이트(243)된다. 시나리오 이벤트를 업데이트한 후, 시뮬레이션 엔진은 시뮬레이션 시간을 1 틱씩 증가(242)시킨다. 여기서, 체크 표시는 시뮬레이션의 논리적 실행 시간이다. 시뮬레이션 엔진은 로직 시간을 통해 실행해야 하는 시나리오 이벤트를 실행한다.
예를 들어, 30분마다 소방관 한 명을 추가하는 시나리오 이벤트가 있다고 가정해본다. 시뮬레이션의 로직 시간이 29 틱에서 30 틱으로 증가하면 이 시점에서 시나리오 이벤트가 트리거된다. 시뮬레이션에 소방관 1명이 추가되는 셈이다. 이 루프의 과정은 시뮬레이션이 완료될 때까지 반복된다.
시뮬레이션이 완료되면 시뮬레이션 엔진은 시뮬레이션에 적용된 모든 시나리오 이벤트를 저장(251)한다. 또한 시뮬레이션을 위해 시뮬레이션 로그와 결과 보고서가 생성(252)된 후 종료(253)된다.
SoS에 대한 통계적 검증
SoS에 대한 통계적 검증은 앞에서 설명한 SIMVA-SoS 검증기(120)에 의해 수행될 수 있다. SoS는 동일한 시나리오에서도 비결정론적 시뮬레이션 결과를 생성하는 진화적 개발 및 긴급 행동과 같은 비결정론적 특성을 가지고 있다. 비결정론적 시스템을 검증하는 방법 중 하나는 통계적 모델 점검(SMC)의 사용인데, 통계적 모델 점검(SMC)에서는 가설 시험을 사용하여 검증 속성의 만족도를 결정한다. Gauss-CI, Chernoff-CI, SPRT, Azuma를 포함한 여러 통계적 검증 기법이 가설 시험을 사용한다.
SoS의 통계적 검증의 경우 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정한다. SPRT는 가설 시험에 기초한 효율적인 검증 기법이기 때문에 여기에서는 SPRT를 사용한다(비특허문헌 2). SPRT는 통계적 판단에 따라 검사에 필요한 샘플 데이터 수를 자동으로 계산하고 샘플 개수를 최소화해 높은 검증 속도를 제공한다.
표 1은 SPRT 알고리즘을 나타낸다.
[표 1]
유형 1 오류, 유형 2 오류, 임계 값과 같은 검증 속성 및 검증 구성은 입력으로 제공되어야 한다. 검증기는 통계 검증을 위해 더 많은 시뮬레이션을 실행하기 위해 참(true) 수, 샘플 수, 검증 구성으로 상태를 점검한다. 조건이 참일 경우 시뮬레이션을 실행하고 결과(추적)를 저장한다. 추적 및 검증 속성을 통해 결과를 확인하고, 결과가 참일 경우 참의 수가 1씩 증가한다. 그리고 나서, 표본의 수는 1씩 증가한다. 이 과정은 상태가 거짓이 될 때까지 반복된다. 마지막으로 알고리즘은 검증 결과를 제시한다.
표 2는 검증 속성에 대한 자세한 설명을 제공한다.
[표 2]
SIMVA-SoS 검증기는 12가지 검증 속성에 대한 검증을 지원한다. 표 2의 확률 값 p는 통계적 검증의 결과물이다. 예를 들어 존재 속성인 '구조 ≥ 환자의 50% 이상'의 예를 검증하고자 한다면 검증 결과는 해당 속성이 충족될 확률 p를 제시한다.
도 3은 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법을 나타내는 흐름도이다.
도 3을 참조하면, 일 실시예에 따른 컴퓨터 장치를 통해 구현되는 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 방법은, SoS의 분석을 위해 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터를 이용하여 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 단계(310), 및 SoS의 검증을 위해 SIMVA-SoS 검증기를 이용하여 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계(320)를 포함하여 이루어질 수 있다.
아래에서 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법의 각 단계를 보다 구체적으로 설명한다.
일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법은 앞에서 설명한 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 장치를 예를 들어 설명할 수 있다. 일 실시예에 따른 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 장치는 SIMVA-SoS 시뮬레이터와 SIMVA-SoS 검증기를 포함할 수 있다.
단계(310)에서, SIMVA-SoS 시뮬레이터는 SoS의 분석을 위해 SoS의 대화형 시뮬레이션을 실행할 수 있다. 여기서, SIMVA-SoS 시뮬레이터는 SoS 모델, 시나리오 및 자극(stimulus)을 입력하여 대화형 시뮬레이션을 실행할 수 있다. SoS 모델 및 시나리오는 대화형 시뮬레이션을 실행하기 이전에 정의되며, 자극은 대화형 시뮬레이션을 실행하기 이전 또는 도중에 정의될 수 있다.
SIMVA-SoS 시뮬레이터는 사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스 및 모델 실행부 및 시나리오 실행부를 포함하여 이루어질 수 있으며, 시뮬레이션 로그 저장부를 더 포함할 수 있다. 사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스는 시뮬레이션 중에 자극의 주입을 통해 SoS 모델이나 시나리오를 수정 가능하도록 할 수 있다. 모델 실행부 및 시나리오 실행부는 SoS 모델이나 시나리오를 변경하면 변경사항이 시뮬레이션에 반영될 수 있다. 시뮬레이션 로그 저장부는 시뮬레이션이 끝나면 실행 결과가 저장될 수 있다.
예를 들어, SIMVA-SoS 시뮬레이터는 SIMVA-SoS 시뮬레이터에서 시뮬레이션이 실행되면 사용자가 정의한 시나리오가 업데이트되고, 사용자가 새로운 시나리오의 주입을 위해 중지 후 시뮬레이션을 재개하면 사용자가 주입하는 새로운 시나리오가 업데이트된다. 이 때, 새로운 시나리오를 업데이트한 후 시뮬레이션 시간을 1 틱씩 증가시킬 수 있다.
단계(320)에서, SIMVA-SoS 검증기는 SoS의 검증을 위해 대화형 시뮬레이션의 결과를 통계적으로 검증할 수 있다.
SIMVA-SoS 검증기는 속성 점검부 및 통계적 모델 점검부를 포함할 수 있다. 속성 점검부는 검증을 위해 사전에 검증 속성을 규정할 수 있다. 통계적 모델 점검부는 통계적 검증 알고리즘이 실행되어 검증 결과가 생성될 수 있다.
여기서, SIMVA-SoS 검증기는 통계적 모델 점검(Statistical Model Checking, SMC)을 통해 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정할 수 있다.
아래에서는 사례 연구를 통해 본 발명의 실시예들을 보다 상세히 설명한다.
일부 시뮬레이션은 부분적으로 동적이다. 그러나 대부분의 시뮬레이터는 시뮬레이션 중에 새로운 자극의 주입을 허용하지 않는다. 시뮬레이션이 진행되는 동안 새로운 자극을 주입할 수 있는 시뮬레이터는 대부분 검증 기법을 제공하지 않는다. 사례 연구의 목적은 대화형 시뮬레이션과 검증이 제대로 작동하고 있는지 검증하는 것이다. 여기에서는 다음과 같은 연구 질문을 고려한다.
RQ1: 대화형 시뮬레이터가 런타임에 시나리오를 수정할 수 있는가?
RQ2: 검증기능이 시뮬레이션 결과에 근거한 적절한 검증 결과를 제공하는가?
RQ1은 대화형 시뮬레이터가 진화적 개발 특성을 표현할 수 있는지를 검토하기 위한 것이다. 구체적으로 시뮬레이션 런타임에 시나리오를 수정할 수 있는지 확인한다. RQ2는 시뮬레이션 결과를 통한 검증이 정상적으로 작동하는지 여부를 검토한다. 사례 연구에서는 검증 결과의 변화를 식별하기 위해 여러 시나리오를 사용한다
MCIR-SoS 시나리오
도 4는 일 실시예에 따른 MCIR-SoS 시나리오의 도식을 나타내는 도면이다.
대규모 인명 사고(Mass Casualty Incident, MCI)는 환자의 수와 부상 심각성 때문에 환자에게 적절한 서비스를 제공하는 응급 서비스의 능력을 압도하는 사건이다. 사례 연구를 위해 MCIR-SoS(MCI Response System-of-Systems) 시나리오(비특허문헌 3)를 따른다. 도 4를 참조하면, MCIR-SoS 시나리오는 소방관(420), 안전지대(430), 구급차(440), 병원(450) 등 4개의 CS로 구성된다. 또한, 비상 관리자(410)는 CS(420, 430, 440, 450)에 명령을 내린다.
이전 작업 등에서, MCIR-SoS를 위한 자극 8종과 주입 기법 5종을 정의했다. 자극은 MCI 보고서와 식별된 이슈를 분석하여 정의했다. 또한 동적 시뮬레이션을 위해 5가지 유형의 주입 기법이 제안되었다. 여기서, 상호작용 시뮬레이션을 통해 런타임에 새로운 시나리오를 주입하기 위해 이러한 자극과 주입 기법을 사용한다. 본 실시예에서는 RQ1과 RQ2를 조사하기 위해 3개의 MCIR-SoS 시나리오를 사용했다.
표 3은 세 가지 시나리오에 자극이 어떻게 적용되었는지를 보여준다.
[표 3]
표 3을 참조하면, 시나리오 1과 2(Scenario 1, 2)에서는 기준 시나리오(Baseline)에 추가 자극이 적용된다. 여기서 화살표의 수가 많을수록 자극의 주입 횟수가 많아진다. 초기 CS 수 및 시뮬레이션의 총 시뮬레이션 시간과 같은 구성은 세 개의 시나리오 모두에서 동일하다.
1) RQ1: 대화형 시뮬레이터가 런타임에 시나리오를 수정할 수 있는가?
SoS의 지속적인 진화를 나타내는 진화적 개발은 SoS의 가장 중요한 특징 중 하나이다. 시뮬레이션을 통해 SoS를 나타내기 위해서는 시뮬레이션이 진화적 개발을 표현할 수 있어야 한다. 즉, 사용자는 런타임에 새로운 시나리오 이벤트를 주입할 수 있어야 한다. RQ1에 답하기 위해 시뮬레이션에 다섯 가지 다른 유형의 자극이 주입되었다. 모든 자극은 소방관이나 구급차에 적용되었다.
도 5는 일 실시예에 따른 런타임에 다양한 자극을 주입한 세 가지 시나리오에 대한 시뮬레이션 결과를 나타내는 도면이다.
도 5를 참조하면, 왼쪽은 각 시나리오에서 소방관과 구급차 수의 변화를 나타낸다. 선 그래프는 소방관 수를 나타내고 막대 그래프는 구급차 수를 나타낸다. 소방관과 구급차의 수는 각각 좌우 y축으로 대표된다. 300 틱 이후 시나리오 1과 2에서 CS 추가 및 제거 자극을 주입했기 때문에 소방관과 구급차의 수가 달라졌다.
통신 자극은 200~400번 틱까지 적용됐다. 기준선 시나리오에서는 75개 틱 정도로 통신이 지연되었고, 시나리오 2에서는 통신 손실이 발생하였다. 시나리오 1에서는 통신 문제가 발생하지 않았다. 그림의 오른쪽은 각 틱에 대해 수신된 통신 수를 보여준다. 이러한 특징은 잘 표현되어 있다.
도 5는 런타임에 주입되는 다양한 자극이 시뮬레이션에 잘 적용되고 있음을 나타낸다. 결론적으로 사용자는 대화형 시뮬레이션을 통해 런타임에 새로운 시나리오 이벤트를 주입할 수 있으며, 대화형 시뮬레이터는 진화적 개발을 표현할 수 있었다.
2) 검증기능은 시뮬레이션 결과에 근거하여 적절한 검증 결과를 제공하고 있는가?
시뮬레이션 후, SIMVA-SoS는 동일한 시나리오를 사용해 검증을 시작한다. SIMVA-SoS는 알고리즘 1에 기술된 통계 검증을 위해 SPRT 알고리즘을 사용한다. 각 시나리오를 검증하기 위해 SPRT는 수만 개의 시뮬레이션을 실행한다. 세 가지 시나리오 모두에서 존재 속성은 검증 속성으로 사용된다. 존재 속성은 시뮬레이션 중에 환자의 50% 이상이 구조될 확률에 대한 검증을 수행한다.
도 6은 일 실시예에 따른 존재 검증 특성을 이용한 검증 결과를 나타내는 도면이다.
도 6을 참조하면, y축에 표시된 확률은 알고리즘 1(표 1)에 표시된 numOfTrue(참 수)의 비율이다. 확률은 numOfTrue(참 수)/numOfSample(샘플 수)로 계산할 수 있다. SPRT를 통한 검증은 샘플 수, 참 수, 임계 값으로 계산한다. 결과적으로 확률의 값이 세타(theta) 값보다 크면 참으로, 작으면 거짓으로 돌아온다.
기준 시나리오, 시나리오 1, 시나리오 2의 검증 결과는 환자의 50% 이상 구조 확률을 54%, 68%, 32%로 나타낸다. 이러한 결과는 시나리오 2 < 기준 시나리오 < 시나리오 1의 순서로 확률이 증가함을 확인시켜 준다. 구조에 가장 적절한 자극을 주입한 시나리오 1에서 최상의 검증 결과를 얻었음을 확인했다. 즉, 시나리오 별로 다른 검증 결과를 얻으며, 좋은 시나리오가 좋은 검증 결과를 보여준다. 결론적으로 시뮬레이션 결과를 통한 통계적 검증을 통해 적절한 검증 결과를 제공할 수 있다.
이상과 같이, 실시예들은 SIMVA-SoS 툴에 대한 시뮬레이션 기반 검증 및 분석 기술을 제공할 수 있다. SIMVA-SoS는 대화형 시뮬레이션과 통계 검증으로 구성되고, 대화형 시뮬레이션은 이산 시간 및 다중 에이전트 시뮬레이션 구조를 따르고 지속적인 진화 표현을 가능하게 하며, 통계적 검증은 반복적으로 시뮬레이션을 실행하고 시뮬레이션 결과를 사용하여 검증 속성의 만족도를 통계적으로 결정할 수 있다.
한편, 스마트 시티, 스마트 팩토리 등 4차 산업을 위한 시스템 또는 소프트웨어의 정상 동작 여부 확인을 위해서는 시뮬레이션 기반으로 분석하는 것이 필요하다. 시뮬레이션을 통해 분석을 진행할 경우 로그를 통한 분석도 가능하지만, 시각적으로 분석이 가능하다는 장점도 존재한다. 또한, 시스템의 안전성 및 신뢰성을 보장하기 위해서는 시스템의 검증이 필요하다. 4차 산업의 시스템들은 보통 하나의 시스템으로 이루어진 것이 아닌, 여러 개의 시스템이 서로 협력을 통해 동작한다. 따라서 통계적 검증 기법을 활용하여 시스템을 검증하는 기술은 매우 효과적이다.
실시예들에 따른 시뮬레이션 기반 시스템 오브 시스템즈 분석 및 검증 기술을 툴 또는 프레임워크로 제공할 경우, 필요한 부분에 한해서는 사용자가 직접 입력 및 구현을 진행하여 사용 가능하다. 시나리오, 입력 값, 환경 등을 설정하여 사용자가 의도하는 환경을 구축한 후에는 시뮬레이션을 진행할 수 있으며, 시뮬레이션 결과를 이용하여 검증 속성에 대한 만족 여부를 판단할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (15)
- 컴퓨터 장치를 통해 구현되는 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 방법에 있어서,
SoS의 분석을 위해 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터를 이용하여 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 단계; 및
상기 SoS의 검증을 위해 SIMVA-SoS 검증기를 이용하여 상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계
를 포함하고,
상기 대화형 시뮬레이션을 실행하는 단계는,
상기 SIMVA-SoS 시뮬레이터에서 시뮬레이션이 실행되면 사용자가 정의한 시나리오가 업데이트되고, 사용자가 새로운 시나리오의 주입을 위해 중지 후 시뮬레이션을 재개하면 사용자가 주입하는 새로운 시나리오가 업데이트되며, 상기 새로운 시나리오를 업데이트한 후 시뮬레이션 시간을 1 틱씩 증가시키는 것
을 특징으로 하는, 방법. - 제1항에 있어서,
상기 대화형 시뮬레이션을 실행하는 단계는,
상기 SIMVA-SoS 시뮬레이터에 SoS 모델, 시나리오 및 자극(stimulus)을 입력하여 대화형 시뮬레이션을 실행하는 것
을 특징으로 하는, 방법. - 제2항에 있어서,
상기 SoS 모델 및 상기 시나리오는 대화형 시뮬레이션을 실행하기 이전에 정의되며, 상기 자극은 대화형 시뮬레이션을 실행하기 이전 또는 도중에 정의되는 것
을 특징으로 하는, 방법. - 제1항에 있어서,
상기 대화형 시뮬레이션을 실행하는 단계는,
사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스를 이용하여 시뮬레이션 중에 자극의 주입을 통해 SoS 모델이나 시나리오를 수정 가능하며, 상기 SIMVA-SoS 시뮬레이터를 통해 SoS 모델이나 시나리오를 변경하면 변경사항이 시뮬레이션에 반영되는 것
을 특징으로 하는, 방법. - 제1항에 있어서,
상기 대화형 시뮬레이션을 실행하는 단계는,
시뮬레이션이 끝나면, 실행 결과가 시뮬레이션 로그 저장부에 저장되는 것
을 특징으로 하는, 방법. - 삭제
- 제1항에 있어서,
상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계는,
검증을 위해 사전에 검증 속성을 규정하며, 통계적 검증 알고리즘이 실행되어 검증 결과가 생성되는 것
을 특징으로 하는, 방법. - 제1항에 있어서,
상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 단계는,
통계적 모델 점검(Statistical Model Checking, SMC)을 통해 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정하는 것
을 특징으로 하는, 방법. - 시뮬레이션 기반 시스템 오브 시스템즈(System-of-Systems, SoS)를 분석하고 검증하는 장치에 있어서,
SoS의 분석을 위해 SoS의 대화형 시뮬레이션(interactive simulation)을 실행하는 SIMVA-SoS(Simulation-based Verification and Analysis for System of Systems) 시뮬레이터; 및
상기 SoS의 검증을 위해 상기 대화형 시뮬레이션의 결과를 통계적으로 검증하는 SIMVA-SoS 검증기
를 포함하고,
상기 SIMVA-SoS 시뮬레이터에서 시뮬레이션이 실행되면 사용자가 정의한 시나리오가 업데이트되고, 사용자가 새로운 시나리오의 주입을 위해 중지 후 시뮬레이션을 재개하면 사용자가 주입하는 새로운 시나리오가 업데이트되며, 상기 새로운 시나리오를 업데이트한 후 시뮬레이션 시간을 1 틱씩 증가시키는 것
을 특징으로 하는, 장치. - 제9항에 있어서,
상기 SIMVA-SoS 시뮬레이터는,
SoS 모델, 시나리오 및 자극(stimulus)을 입력하여 대화형 시뮬레이션을 실행하는 것
을 특징으로 하는, 장치. - 제10항에 있어서,
상기 SoS 모델 및 상기 시나리오는 대화형 시뮬레이션을 실행하기 이전에 정의되며, 상기 자극은 대화형 시뮬레이션을 실행하기 이전 또는 도중에 정의되는 것
을 특징으로 하는, 장치. - 제9항에 있어서,
상기 SIMVA-SoS 시뮬레이터는,
시뮬레이션 중에 자극의 주입을 통해 SoS 모델이나 시나리오를 수정 가능하도록 하는 사용자가 대화형 시뮬레이션을 위한 사용자 인터페이스; 및
SoS 모델이나 시나리오를 변경하면 변경사항이 시뮬레이션에 반영되는 모델 실행부 및 시나리오 실행부
를 포함하는, 장치. - 제9에 있어서,
상기 SIMVA-SoS 시뮬레이터는,
시뮬레이션이 끝나면, 실행 결과가 저장되는 시뮬레이션 로그 저장부
를 포함하는, 장치. - 제9항에 있어서,
상기 SIMVA-SoS 검증기는,
검증을 위해 사전에 검증 속성을 규정하는 속성 점검부; 및
통계적 검증 알고리즘이 실행되어 검증 결과가 생성되는 통계적 모델 점검부
를 포함하는, 장치. - 제9항에 있어서,
상기 SIMVA-SoS 검증기는,
통계적 모델 점검(Statistical Model Checking, SMC)을 통해 반복 시뮬레이션 결과를 샘플 데이터로 사용하며, 통계 분석을 통해 SoS의 검증 속성을 만족시킬 확률을 추정하는 것
을 특징으로 하는, 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200184259A KR102352957B1 (ko) | 2020-12-28 | 2020-12-28 | 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200184259A KR102352957B1 (ko) | 2020-12-28 | 2020-12-28 | 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102352957B1 true KR102352957B1 (ko) | 2022-01-19 |
Family
ID=80052603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200184259A KR102352957B1 (ko) | 2020-12-28 | 2020-12-28 | 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102352957B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190057731A (ko) * | 2017-11-20 | 2019-05-29 | 한국전자통신연구원 | 자가진화 에이전트 기반 시뮬레이션 시스템 및 방법 |
KR20200048796A (ko) * | 2018-10-30 | 2020-05-08 | 한국전자통신연구원 | 다층 회귀분석을 이용한 자가 진화 에이전트 기반 시뮬레이션 방법 및 장치 |
JP2020518923A (ja) * | 2017-05-01 | 2020-06-25 | ゴールドマン サックス アンド カンパニー エルエルシー | シナリオシミュレーションのためのシステムおよび方法 |
KR20200077311A (ko) * | 2018-12-20 | 2020-06-30 | 서울여자대학교 산학협력단 | Stpa 기반 안전성 시뮬레이션 시스템 및 방법, 컴퓨터 판독가능 기록매체 |
-
2020
- 2020-12-28 KR KR1020200184259A patent/KR102352957B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020518923A (ja) * | 2017-05-01 | 2020-06-25 | ゴールドマン サックス アンド カンパニー エルエルシー | シナリオシミュレーションのためのシステムおよび方法 |
KR20190057731A (ko) * | 2017-11-20 | 2019-05-29 | 한국전자통신연구원 | 자가진화 에이전트 기반 시뮬레이션 시스템 및 방법 |
KR20200048796A (ko) * | 2018-10-30 | 2020-05-08 | 한국전자통신연구원 | 다층 회귀분석을 이용한 자가 진화 에이전트 기반 시뮬레이션 방법 및 장치 |
KR20200077311A (ko) * | 2018-12-20 | 2020-06-30 | 서울여자대학교 산학협력단 | Stpa 기반 안전성 시뮬레이션 시스템 및 방법, 컴퓨터 판독가능 기록매체 |
Non-Patent Citations (7)
Title |
---|
D. Reijsbergen, P.-T. de Boer, W. Scheinhardt, and B. Haverkort, "On hypothesis testing for statistical model checking," International journal on software tools for technology transfer, vol. 17, no. 4, pp. 377-395, 2015. |
D. Seo, D. Shin, Y.-M. Baek, J. Song, W. Yun, J. Kim, E. Jee, and D.-H. Bae, "Modeling and verification for different types of system of systems using prism," in 2016 IEEE/ACM 4th International Workshop on Software Engineering for Systems-of-Systems (SESoS). IEEE, 2016, pp. 12-18. |
S. Park, Z. M. Belay, and D.-H. Bae, "A simulation-based behavior analysis for mci response system of systems," in 2019 IEEE/ACM 7th International Workshop on Software Engineering for Systems-of-Systems (SESoS) and 13th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems (WDES). IEEE, 2019, pp. 2-9. |
Sangwon Hyungwon et al., 'Analysis of techniques for using statistical verification results for estimating the location of errors in the System of Systems', Korea Computer Science Conference, 2019, pp.356~358 * |
Shin Yong-Jun et al., 'Scenario-based analysis of the System of Systems meta-model and analysis of the utility of statistical verification', KCSE, 2018, Vol. 20, No. 1. pp.31~41 * |
신용준 등, '시스템 오브 시스템즈 메타모델의 시나리오 기반 분석 및 통계적 검증 활용 가능성 분석', KCSE, 2018, 제20권, 제1호. pp.31~41* |
현상원 등, '시스템 오브 시스템즈의 오류 위치 추정을 위한 통계적 검증 결과 활용 기법 분석', 한국컴퓨터종합학술대회, 2019, pp.356~358* |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ali et al. | Generating test data from OCL constraints with search techniques | |
US8819637B2 (en) | Fixing security vulnerability in a source code | |
JP7562011B2 (ja) | プログラムコード欠陥及び使用の許容可能性の判定のためのシステム及び方法 | |
US11036604B2 (en) | Parallel fault simulator with back propagation enhancement | |
Miranskyy et al. | On testing and debugging quantum software | |
WO2015130675A2 (en) | Apparatus and method for testing computer program implementation against a design model | |
Remenska et al. | Using model checking to analyze the system behavior of the LHC production grid | |
Belli et al. | Event-oriented, model-based GUI testing and reliability assessment—approach and case study | |
Zhou et al. | Automated model-based performance testing for PaaS cloud services | |
EP3514680B1 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
dos Santos et al. | Runtime testing of context-aware variability in adaptive systems | |
Auguston et al. | Environment behavior models for scenario generation and testing automation | |
Jaskolka et al. | An approach for identifying and analyzing implicit interactions in distributed systems | |
KR102352957B1 (ko) | 시뮬레이션 기반 시스템 오브 시스템즈 검증 및 분석 방법 및 장치 | |
Wu et al. | Enhancing fault injection testing of service systems via fault-tolerance bottleneck | |
CA2524835C (en) | Method and apparatus for a database workload simulator | |
Jensen et al. | A proof of burns n-process mutual exclusion algorithm using abstraction | |
US10031991B1 (en) | System, method, and computer program product for testbench coverage | |
Campusano et al. | Towards model driven safety and security by design | |
Alpuente et al. | Debugging of Web applications with WEB-TLR | |
Chen et al. | Using simulation to evaluate error detection strategies: a case study of cloud-based deployment processes | |
Reza et al. | A method to test component off-the-shelf (COTS) used in safety critical systems | |
Buniatyan et al. | Expert Knowledge-Based RGT Solvers for Software Testing | |
Lipka et al. | Simulation testing and model checking: A case study comparing these approaches | |
Núñez et al. | Analyzing the reliability of simulated distributed systems using Metamorphic Testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |