KR20220153774A - Proactive adaptation approach based on statistical model checking for self-adaptive systems - Google Patents

Proactive adaptation approach based on statistical model checking for self-adaptive systems Download PDF

Info

Publication number
KR20220153774A
KR20220153774A KR1020210061164A KR20210061164A KR20220153774A KR 20220153774 A KR20220153774 A KR 20220153774A KR 1020210061164 A KR1020210061164 A KR 1020210061164A KR 20210061164 A KR20210061164 A KR 20210061164A KR 20220153774 A KR20220153774 A KR 20220153774A
Authority
KR
South Korea
Prior art keywords
adaptation
tactic
computer system
future
change
Prior art date
Application number
KR1020210061164A
Other languages
Korean (ko)
Other versions
KR102585570B1 (en
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 KR1020210061164A priority Critical patent/KR102585570B1/en
Publication of KR20220153774A publication Critical patent/KR20220153774A/en
Application granted granted Critical
Publication of KR102585570B1 publication Critical patent/KR102585570B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed is a predictive adaptation technique based on a statistical verification of an adaptation-type system. A predictive adaptation method performed in a computer system comprises: a step of monitoring a change for an operating environment of the computer system; and a step of performing a proactive adaptation process by using a statistical model checking (SMC) technique in order to select an optimal action option related to an operation of the computer system according to the change. Therefore, the present invention is capable of having an advantage of not limiting a language.

Description

적응형 시스템의 통계적 검증 기반 예측적 적응 기법{PROACTIVE ADAPTATION APPROACH BASED ON STATISTICAL MODEL CHECKING FOR SELF-ADAPTIVE SYSTEMS}Statistical verification-based predictive adaptation technique of adaptive systems {PROACTIVE ADAPTATION APPROACH BASED ON STATISTICAL MODEL CHECKING FOR SELF-ADAPTIVE SYSTEMS}

아래의 설명은 자율 주행 자동차, 스마트 팩토리 등 다양한 상황에 적절하게 대응해야 하는 예측적 자가 적응 기술에 관한 것이다.The description below is about predictive self-adapting technologies that need to respond appropriately to various situations, such as self-driving cars and smart factories.

시스템의 목표 달성에 영향을 미치는 환경의 복잡성이 증가함에 따라 신뢰할 수 있는 목표 달성을 위해 환경 분석이 중요하다. 사용자 트래픽과 실외 온도와 같은 환경은 시간이 지남에 따라 변할 수 있다. 시스템 설계 시 환경 변화에 대한 완전한 예상은 어렵고 종종 불가능하다. 시스템은 런타임에 환경 변화에 따라 행동과 구조를 변경하기 위해 스스로 적응할 필요가 있다. 이를 실현하기 위해 MAPE(mean absolute percentage error) 피드백 루프에 기초한 설계 접근법이 활용되고 있다. 이러한 적응 프로세스에는 적응의 계획 및 실행뿐만 아니라 환경에 대한 지속적인 모니터링 및 분석이 포함된다.As the complexity of the environment that affects the achievement of a system's goals increases, environmental analysis is important for reliable goal attainment. Environments such as user traffic and outdoor temperature can change over time. Complete anticipation of environmental changes in system design is difficult and often impossible. The system needs to adapt itself at runtime to change its behavior and structure as the environment changes. To achieve this, a design approach based on a mean absolute percentage error (MAPE) feedback loop is being utilized. This adaptation process includes continuous monitoring and analysis of the environment as well as planning and implementation of adaptation.

대부분의 접근법에서 적응은 시스템 고장이나 환경 변화에 의해 반응적으로 촉발된다. 사전 예방적 또는 예측적 적응으로 알려진 다른 적응적 접근법이 등장했는데, 이러한 접근 방식은 변화를 미리 예측하여 변화하는 환경에서 반응적 적응보다 더 효과적이다. 그러나, 환경적 변화의 예측은 불확실하므로 사전적 적응의 결과에 영향을 미친다. 불확실성을 해결하기 위해 적응 전술의 검증과 시스템 적응 목표에 미치는 영향을 위해 일부 연구에서 PMC(probabilistic model checking) 기술이 활용되고 있다.In most approaches, adaptation is triggered reactively by system failures or environmental changes. Another adaptive approach, known as proactive or predictive adaptation, has emerged, which anticipates changes in advance and is therefore more effective than reactive adaptation in a changing environment. However, predictions of environmental change are uncertain, thus affecting the outcome of prior adaptation. To address uncertainty, probabilistic model checking (PMC) techniques are utilized in some studies to verify adaptation tactics and their impact on system adaptation goals.

PMC 기반 접근 방식은 능동적 적응을 위해 사용되는 주요 방법이지만 PMC는 상태 폭발 문제로 인해 크고 복잡한 SAS(self-adaptive system) 모델의 검증에 적합하지 않을 수 있다. PMC는 주어진 확률적 모델을 완전히 검토하기 위해 시간과 메모리에 높은 검증 비용이 필요하므로 복잡한 SAS 모델과 적응 전술의 검증은 시간과 메모리 제약으로 인해 실패할 수 있다. 또한, SAS 및 환경 모델링에는 확률적 모델 확인자가 지원하는 모델링 언어를 사용해야 한다. 엔지니어는 모델 확인자가 해석할 수 있는 마르코프 체인, 마르코프 의사 결정 프로세스 또는 오토마타와 같은 모델링 언어에 익숙해야 한다.PMC-based approaches are the main methods used for active adaptation, but PMCs may not be suitable for validation of large and complex self-adaptive system (SAS) models due to state explosion problems. Verification of complex SAS models and adaptation tactics can fail due to time and memory constraints, as PMC requires high verification costs in time and memory to fully review a given probabilistic model. In addition, modeling languages supported by probabilistic model verifiers must be used for SAS and environment modeling. Engineers should be familiar with modeling languages such as Markov chains, Markov decision processes, or automata that can be interpreted by model verifiers.

PMC 기반 접근 방식의 한계를 극복하기 위해 SMC에 기반한 사전 적응 접근법(Proactive Adaptation approach based on STAtistical model checking, 이하 'PASTA'라 칭함)을 제안한다.In order to overcome the limitations of the PMC-based approach, we propose a Proactive Adaptation approach based on STATistical model checking (hereinafter referred to as 'PASTA') based on SMC.

PMC 보다 적은 검증 리소스를 소비하고 언어를 제한하지 않고 시스템 모델의 시뮬레이션 결과만 요구하는 PASTA를 제안한다.We propose PASTA, which consumes less verification resources than PMC and requires only the simulation results of the system model without limiting the language.

SAS가 SMC 알고리즘을 기반으로 통계적으로 충분한 샘플을 생성하여 PMC 기반 접근 방식보다 빠르게 미래 환경의 불확실성을 완화시킬 수 있는 접근 방식을 제안한다.We propose an approach in which SAS can generate statistically sufficient samples based on the SMC algorithm to mitigate uncertainty in the future environment faster than PMC-based approaches.

컴퓨터 시스템에서 수행되는 예측적 적응 방법에 있어서, 상기 컴퓨터 시스템이 포함하는 적어도 하나의 프로세서의 의해, 상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 단계를 포함하는 예측적 적응 방법을 제공한다.A predictive adaptation method performed in a computer system, comprising: monitoring a change in an operating environment of the computer system by at least one processor included in the computer system; and performing, by the at least one processor, a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to operation of the computer system according to the change. It provides a predictive adaptation method for

일 측면에 따르면, 상기 모니터링하는 단계는, 상기 컴퓨터 시스템의 런타임에 상기 변화를 포착하기 위해 센서를 통해 환경 조건의 값을 측정할 수 있다.According to one aspect, the monitoring may measure a value of an environmental condition via a sensor to capture the change at runtime of the computer system.

다른 측면에 따르면, 상기 수행하는 단계는, 모니터링을 통해 누적된 환경 데이터에 기초하여 향후 환경 변화를 예측하는 단계; 및 상기 향후 환경 변화에 대한 예측 결과에 기초하여 상기 SMC 기법을 통해 최적의 적응 전술을 선택하는 단계를 포함할 수 있다.According to another aspect, the performing may include predicting a future environmental change based on environmental data accumulated through monitoring; and selecting an optimal adaptation tactic through the SMC technique based on the predicted result of the future environment change.

또 다른 측면에 따르면, 상기 선택하는 단계는, 상기 향후 환경 변화에 대한 예측 결과에 기초하여 미래 환경 조건에 대한 샘플을 생성하는 단계; 상기 샘플에 따른 적응 전술을 상기 컴퓨터 시스템에 적용하여 시뮬레이션하는 단계; 상기 적응 전술에 대한 시뮬레이션 결과를 바탕으로 해당 적응 전술의 성능을 평가하는 단계; 및 상기 적응 전술의 성능 평가 결과에 따라 최적의 적응 전술을 선택하여 실행하는 단계를 포함할 수 있다.According to another aspect, the selecting may include generating a sample of a future environment condition based on a prediction result of the future environment change; simulating by applying the adaptive tactic according to the sample to the computer system; Evaluating performance of a corresponding adaptation tactic based on a simulation result of the adaptation tactic; and selecting and executing an optimal adaptation tactic according to a performance evaluation result of the adaptation tactic.

또 다른 측면에 따르면, 상기 수행하는 단계는, 상기 컴퓨터 시스템에 대한 지식(knowledge)을 최신 상태로 유지하는 단계를 더 포함하고, 상기 지식은 상기 향후 환경 변화의 예측을 위한 역사적 환경 데이터(historical environment data), 상기 적응 전술의 시뮬레이션을 위한 시뮬레이션 실행 가능한 시스템 모델(simulation executable system model)과 적응 전술 사양 셋(set of adaptation tactics specification), 상기 적응 전술의 성능 평가를 위한 적응 목표 사양(adaptation goal specification)을 포함할 수 있다.According to another aspect, the performing may further include maintaining knowledge of the computer system up to date, wherein the knowledge includes historical environment data (historical environment data) for predicting the future environment change. data), a simulation executable system model and a set of adaptation tactics specifications for simulating the adaptation tactics, and an adaptation goal specification for performance evaluation of the adaptation tactics. can include

또 다른 측면에 따르면, 상기 생성하는 단계는, SMCS(Simple Monte Carlo Simulation), SSP(Single Sampling Plan), SPRT(Sequential Probability Ratio Test) 중 어느 하나의 SMC 알고리즘을 통해 상기 샘플을 생성할 수 있다.According to another aspect, in the generating step, the sample may be generated through any one SMC algorithm of Simple Monte Carlo Simulation (SMCS), Single Sampling Plan (SSP), and Sequential Probability Ratio Test (SPRT).

또 다른 측면에 따르면, 상기 시뮬레이션하는 단계는, 미래 샘플 환경과 시스템 모델 및 적응 전술을 입력으로 하여 주어진 적응 전술을 시스템 모델에 적용하고 미래 환경 샘플에서 시스템을 시뮬레이션하고 미래 환경에서 적응 전술의 효과를 나타내는 시뮬레이션 결과 로그를 반환할 수 있다.According to another aspect, the simulating step may include applying a given adaptation tactic to a system model with a future sample environment, a system model, and an adaptation tactic as inputs, simulating the system in the future environment sample, and determining the effect of the adaptation tactic in the future environment. It can return a log of the simulation result that represents it.

컴퓨터 시스템에서 수행되는 적응형 에어컨 제어 방법에 있어서, 상기 컴퓨터 시스템이 포함하는 적어도 하나의 프로세서의 의해, 온도와 습도를 포함하는 환경 데이터를 모니터링하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 환경 데이터에 대한 변화를 예측하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 변화의 예측 결과에 기초하여 미래 환경 데이터에 대한 샘플을 생성하는 단계; 상기 샘플에 따른 적응 전술을 에어컨 시스템에 적용하여 시뮬레이션하는 단계; 상기 적응 전술에 대한 시뮬레이션 결과를 바탕으로 해당 적응 전술의 성능을 평가하는 단계; 및 상기 적응 전술의 성능 평가 결과에 따라 최적의 적응 전술에 해당되는 온도와 습도로 상기 에어컨 시스템을 제어하는 단계를 포함하는 적응형 에어컨 제어 방법을 제공한다.An adaptive air conditioner control method performed in a computer system, comprising: monitoring environmental data including temperature and humidity by at least one processor included in the computer system; predicting, by the at least one processor, a change to the environmental data; generating, by the at least one processor, a sample of future environment data based on a prediction result of the change; simulating by applying an adaptation tactic according to the sample to an air conditioner system; Evaluating performance of a corresponding adaptation tactic based on a simulation result of the adaptation tactic; and controlling the air conditioner system to a temperature and humidity corresponding to an optimal adaptation tactic according to a performance evaluation result of the adaptation tactic.

예측적 적응 방법을 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램에 있어서, 상기 예측적 적응 방법은, 상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 단계; 및 상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 단계를 포함하는, 컴퓨터 프로그램을 제공한다.A computer program stored in a computer readable recording medium to execute a predictive adaptation method on a computer system, the predictive adaptation method comprising: monitoring a change in an operating environment of the computer system; and performing a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to operation of the computer system according to the change.

컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 과정; 및 상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 과정을 처리하는 컴퓨터 시스템을 제공한다.A computer system comprising: at least one processor configured to execute computer readable instructions contained in a memory, the at least one processor comprising: monitoring a change in an operating environment of the computer system; and a computer system that processes a process of performing a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to operation of the computer system according to the change.

본 발명의 실시예들은 SMC를 이용하여 예측적 자가 적응을 수행함으로써 보다 적은 검증 리소스를 소비하고 언어를 제한하지 않는 이점이 있다.Embodiments of the present invention have the advantage of consuming less verification resources and not restricting the language by performing predictive self-adaptation using SMC.

SMC는 PMC처럼 모델을 수학적으로 증명하는 것이 아니라, 수많은 샘플을 확률 모델에서 생성하고 생성된 샘플에 기반하여 통계적으로 모델을 검증한다는 점에서 PMC와 차이가 있다.SMC is different from PMC in that it does not prove the model mathematically like PMC, but generates a large number of samples from a probability model and statistically verifies the model based on the generated samples.

SMC는 랜덤하게 생성된 샘플에 기반하기 때문에 실행 시마다 결과가 다를 수 있고 완전히 신뢰할 수 있는 검증 결과보다는 특정 신뢰도 내에 제한된 검증 결과를 반환한다.Since SMC is based on randomly generated samples, results may vary from run to run and return verification results limited within a certain level of confidence rather than fully reliable verification results.

SMC는 PMC보다 빠르고 작은 메모리로 수행할 수 있으며, PMC와 유사한 결과를 반환할 수 있다. 따라서, 예측적 자가 적응 분야에서 SMC를 이용함으로써 보다 적은 자원과 비용, 그리고 보다 짧은 검증 시간으로 PMC를 이용한 것과 유사한 검증 결과를 얻을 수 있다.SMC is faster than PMC, can perform with smaller memory, and can return results similar to PMC. Therefore, by using SMC in the field of predictive self-adaptation, verification results similar to those using PMC can be obtained with less resources, cost, and shorter verification time.

도 1은 PMC 기반 사전 적응의 주요 프로세스를 나타내고 있다.
도 2는 에어컨 제어 시스템의 자가 적응 예시를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 있어서 전반적인 PASTA 프로세스를 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 PASTA 구현을 위한 PASTA 참조 아키텍처를 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 PASTA 골격의 클래스 다이어그램을 나타내고 있다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템의 예를 도시한 블록도이다.
Figure 1 shows the main process of PMC-based pre-adaptation.
2 is a diagram for explaining an example of self-adaptation of an air conditioner control system.
Figure 3 shows the overall PASTA process in one embodiment of the present invention.
4 illustrates a PASTA reference architecture for implementing PASTA in one embodiment of the present invention.
5 shows a class diagram of the PASTA framework in one embodiment of the present invention.
6 is a block diagram illustrating an example of a computer system according to one embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 예측적 자가 적응 기술에 관한 것이다.Embodiments of the present invention relate to predictive self-adapting techniques.

자가 적응형 시스템은 시스템의 운행 환경을 실시간으로 모니터링하고 현재 상황에 따라 최적의 행동을 스스로 결정한다. 운행 환경은 시스템의 개발 당시에 정확히 명세하기 어려우므로 시스템의 입장에서 불확실한 요소라고 할 수 있다. 운행 환경이 미래에 어떻게 변화할지 확신할 수 없는 불확실성 때문에 시스템은 자신이 결정한 행동이 가져올 결과를 확정적으로 예상할 수 없다. 따라서 시스템은 자신이 가지고 있는 제한된 정보에 의해 자기 행동의 결과를 예상하게 되는데, 본 실시예에서는 PMC 대신 SMC를 이용하여 자신이 선택할 수 있는 적응적인 행동 옵션들 중 최적의 행동을 선택하기 위해 예측적 자가 적응을 수행한다.The self-adaptive system monitors the operating environment of the system in real time and determines the optimal action based on the current situation. Since it is difficult to accurately specify the operating environment at the time of system development, it can be said to be an uncertain factor from the point of view of the system. Because of the uncertainty of how the operating environment will change in the future, the system cannot definitively predict the consequences of its actions. Therefore, the system predicts the result of its own behavior based on the limited information it has. perform self-adaptation.

본 실시예에서는 적응 전술 검증을 위해 미래 환경의 불확실성을 PMC보다 빠르게 제거하기 위해 SMC를 활용하는 사전 적응 접근법을 제안한다. 또한, SAS 개발에 PASTA를 적용할 개발자를 위해 알고리즘 프로세스, 참조 아키텍처, PASTA의 오픈 소스 구현 골격을 제공한다. 그리고, 실제 데이터를 이용한 평가를 바탕으로 PMC와 SMC 기반 사전 적응의 장단점을 비교 분석해 엔지니어의 의사결정을 안내한다.In this embodiment, a pre-adaptation approach utilizing SMC is proposed to remove uncertainties of the future environment faster than PMC for adaptive tactics verification. In addition, it provides the algorithm process, reference architecture, and open source implementation skeleton of PASTA for developers who apply PASTA to SAS development. And, based on the evaluation using actual data, the pros and cons of PMC and SMC-based pre-adaptation are compared and analyzed to guide the engineer's decision-making.

먼저, 관련 연구로서 사전 적응 기술을 설명한다.First, the pre-adaptation technique is described as a related study.

변화하는 환경과 관련된 문제를 해결하기 위해 사전 예방적 또는 예측적 적응에 대한 수많은 연구가 진행되고 있다. 환경이나 시스템의 변화에 반응하는 것과 달리 예측된 상황을 예측하고 대응하는 것은 더 어렵지만 시스템 고장을 예방하고 요건을 충족시키는 데 더 효과적일 수 있다. 사전 적응에 대한 많은 사례 연구가 진행되면서 사전 적응이 시스템의 적응 목표 측면에서 사후 적응을 능가한다는 것이 입증되었다. 사전 적응을 위해, 미래 환경의 예측은 불확실하므로 검증되고 신뢰할 수 있는 사전 적응 결과를 제공하기 위해 확률적 모델의 특성 만족을 검증하는 PMC를 활용하고 있다.Numerous studies on proactive or predictive adaptation are being conducted to address challenges related to changing environments. Unlike reacting to changes in the environment or system, anticipating and responding to predicted situations is more difficult, but can be more effective in preventing system failures and meeting requirements. A number of case studies of pre-adaptation have been conducted, demonstrating that pre-adaptation outperforms post-adaptation in terms of a system's adaptation goals. For pre-adaptation, since the prediction of the future environment is uncertain, PMC is utilized to verify the satisfaction of the characteristics of the probabilistic model in order to provide verified and reliable pre-adaptation results.

도 1은 PMC 기반 사전 적응의 주요 프로세스를 나타내고 있다.Figure 1 shows the main process of PMC-based pre-adaptation.

프로세스의 핵심은 미래 환경, 시스템 및 적응 전술의 공식 모델링과 적응 목표 달성을 위한 최적의 적응 전술을 식별하기 위한 모델의 검증이다. 그러나, PMC는 상태 폭발 문제로 인해 크고 복잡한 모델의 검증에는 적합하지 않다. 적응 전술을 검증하기 위해 SAS 모델의 모든 가능한 상태를 철저히 검토해야 한다. 또한, 엔지니어는 모델 확인자가 지원할 수 있는 모델링 언어로 작성된 SAS 모델을 개발해야 한다.At the heart of the process is formal modeling of future environments, systems and adaptation tactics, and validation of the models to identify optimal adaptation tactics to achieve adaptation goals. However, PMC is not suitable for verification of large and complex models due to the state explosion problem. To validate adaptation tactics, all possible states of the SAS model must be thoroughly examined. Additionally, engineers must develop SAS models written in a modeling language that the model verifier can support.

PMC의 한계를 극복하기 위해 본 실시예에서는 사전 적응의 주요 추세였던 PMC 기반 접근법의 대안으로 SMC 기반 사전 적응 접근법을 제안한다.In order to overcome the limitations of PMC, in this embodiment, an SMC-based pre-adaptation approach is proposed as an alternative to the PMC-based approach, which has been a major trend of pre-adaptation.

불확실한 환경에서 런타임에 적응 전술을 검증하기 위해 SMC를 활용하고 있다. SMC는 확률적 모델을 검증하기 위한 효율적인 기술이다. PMC가 모델을 철저히 조사하지만 SMC는 샘플을 얻기 위해 모델을 시뮬레이션하고 샘플에 대한 가설 테스트를 사용하여 주어진 속성의 만족 또는 위반에 대한 통계적 증거를 제공한다. 실제로 SMC에는 시뮬레이션 결과 집합만 필요하므로 실행 가능한 블랙박스 모델 또는 시뮬레이션 결과 집합에만 적용할 수 있다. 검증 결과가 모델의 품질에 따라 결정된다는 사실은 PMC와 동일하지만, 시뮬레이션 기반의 접근 방식인 만큼 일정 조건 하에 검증을 수행하면서 시간과 메모리 측면에서 PMC에 대한 효율적인 대안으로 알려져 있다. 이와 관련하여 SMC는 불확실한 환경에서 SAS 적응 전술의 런타임 검증에 효과적으로 사용될 수 있다. SMC 알고리즘의 다음 예는 널리 사용된다.We are leveraging SMC to validate adaptive tactics at runtime in an uncertain environment. SMC is an efficient technique for validating probabilistic models. While PMC exhaustively examines the model, SMC simulates the model to obtain a sample and uses hypothesis testing on the sample to provide statistical evidence for satisfaction or violation of a given property. In practice, SMC only requires a set of simulation results, so it can only be applied to a viable black box model or set of simulation results. The fact that the verification result is determined by the quality of the model is the same as PMC, but as it is a simulation-based approach, it is known as an efficient alternative to PMC in terms of time and memory while performing verification under certain conditions. In this regard, SMC can be effectively used for runtime verification of SAS adaptation tactics in an uncertain environment. The following example of the SMC algorithm is widely used.

일례로, SMCS(Simple Monte Carlo Simulation) 알고리즘은 가장 간단하고 직관적인 SMC 알고리즘이다. 전체 샘플의 특성을 만족하는 샘플 비율에 따라 성질의 정량적 만족도를 추정한다. 사용자가 샘플을 추출해야 한다.For example, the Simple Monte Carlo Simulation (SMCS) algorithm is the simplest and most intuitive SMC algorithm. Estimate the quantitative satisfaction of a property according to the proportion of samples that satisfy the property of the entire sample. The user must extract the sample.

다음으로, SSP(Single Sampling Plan)는 고정 크기 샘플이 있는 가설 H: p≥θ를 테스트한다. 여기서, p는 시스템이 주어진 특성을 만족하는 확률이고 θ는 p의 테스트 임계값이다. 사용자는 각각 false negative와 false positive의 두 오류 한계 α(0≤α≤1)와 β(0≤β≤1)를 제공한다. 지정된 오차 범위 내에서 SSP는 p를, H를 받아들이거나 거부하는 것으로 추정한다.Next, a single sampling plan (SSP) tests hypothesis H: p≥θ with fixed-size samples. where p is the probability that the system satisfies the given property and θ is the test threshold for p. The user provides two error limits α (0≤α≤1) and β (0≤β≤1) of false negative and false positive, respectively. Within the specified margin of error, the SSP assumes p and accepts or rejects H.

또한, SPRT(Sequential Probability Ratio Test)는 SSP와 유사하게 주어진 오차 범위 내에서 가설 H를 검정하지만 샘플 수는 자동으로 결정된다. 샘플을 얻기 위해 대상 시스템을 시뮬레이션하고, 주어진 오차 범위 내에서 H를 받아들이거나 거부할 수 있을 때까지 충분한 샘플을 생성하기 위해 시뮬레이션을 반복한다.In addition, Sequential Probability Ratio Test (SPRT) tests hypothesis H within a given margin of error, similar to SSP, but the number of samples is automatically determined. We simulate the target system to obtain samples, and repeat the simulation to generate enough samples until we can accept or reject H within a given margin of error.

본 발명에 따른 PASTA 접근 방식의 경우 SMC 알고리즘을 선택하고 미래 환경에서 적응 전술의 성능에 대한 통계적 증거를 얻어 가능한 전술을 평가하고 런타임에 최적의 전술을 식별하기 위해 사용된다.In the case of the PASTA approach according to the present invention, the SMC algorithm is selected and used to obtain statistical evidence of the performance of adaptive tactics in future environments, to evaluate possible tactics and to identify optimal tactics at runtime.

예를 들어, 적응형 에어컨 제어 시스템을 사용하여 PASTA를 설명한다. 이 시스템은 온도와 습도를 포함한 실내 및 실외 공기 상태를 모니터링하고 지정된 목표 조건에 대한 실내 상태를 적응적으로 제어한다. 모니터링되는 실내 조건에 즉시 반응하는 적응형 에어컨 제어를 계획하는 것은 시스템이 목표를 달성하는 데 도움이 될 수 있지만, 도 2에 도시한 바와 같이 실외 공기 조건의 영향으로 인해 시간이 지남에 따라 실내 공기 상태가 변할 수 있다. 환경 변화에 영향을 미치지 않고 적응 계획을 수립하는 경우 적응 결과는 예상과 다를 수 있으므로 선택되지 않은 더 나은 적응 전술이 있을 수 있다. PASTA 접근법에 의해 개발된 적응형 에어컨 제어 시스템은 미래의 공기 상태 변화를 예측하고 런타임에 SMC에 의해 적응 결과가 검증되는 최적의 적응 전술을 선택한다.As an example, PASTA is described using an adaptive air conditioning control system. The system monitors indoor and outdoor air conditions, including temperature and humidity, and adaptively controls indoor conditions for specified target conditions. Planning for adaptive air conditioning control that instantly reacts to monitored indoor conditions can help the system achieve its goals, but as shown in Figure 2, indoor air quality may change over time due to the influence of outdoor air conditions. status can change. If adaptation plans are made without affecting environmental changes, adaptation outcomes may differ from expectations, so there may be better adaptation tactics that are not selected. The adaptive air conditioning control system developed by the PASTA approach predicts future air condition changes and selects the optimal adaptation tactic whose adaptation result is verified by the SMC at runtime.

이하 실시예에서는 이러한 사례를 사용하여 구체적인 PASTA 접근법을 설명하기로 한다.In the following embodiment, a specific PASTA approach will be described using these cases.

본 실시예에서는 SMC를 사용하여 사전 예방적 적응 기술인 PASTA 접근법을 제안한다.In this embodiment, the PASTA approach, which is a proactive adaptation technique, is proposed using SMC.

도 3은 본 발명의 일실시예에 있어서 전반적인 PASTA 프로세스를 도시한 것이다.Figure 3 shows the overall PASTA process in one embodiment of the present invention.

PASTA 목적은 환경 변화의 예측과 SAS의 적응 전술의 검증을 기반으로 효율적인 사전 적응을 제공하는 것이다.The purpose of PASTA is to provide efficient pre-adaptation based on the prediction of environmental changes and validation of SAS' adaptation tactics.

도 3을 참조하면, PASTA 시스템은 처음에 PASTA는 런타임에 변화를 포착하기 위해 환경을 지속적으로 모니터링한다(S301).Referring to Figure 3, the PASTA system initially PASTA continuously monitors the environment to catch changes in runtime (S301).

PASTA 시스템은 모니터링되는(역사적) 환경 데이터를 분석하고 예측 알고리즘을 기반으로 향후 환경 변화를 예측한다(S302). 미래환경의 예측 또는 기대는 미래환경조건의 확률밀도함수와 같은 비결정론적 가능성의 형태이다.The PASTA system analyzes monitored (historical) environmental data and predicts future environmental changes based on a prediction algorithm (S302). A prediction or expectation of the future environment is a form of non-deterministic probability, such as a probability density function of future environmental conditions.

PASTA 시스템은 향후 환경 변화에 대한 예측 결과를 바탕으로 가능한 미래환경의 샘플을 작성하여 시뮬레이션 엔진으로 제공한다(S303).The PASTA system creates samples of possible future environments based on the prediction results for future environment changes and provides them to the simulation engine (S303).

PASTA 시스템은 주어진 환경에서 적응 전술은 시스템 모델에 적용되고 전술의 성능에 대한 샘플 평가를 위해 시뮬레이션된다(S304). 시뮬레이션은 시스템이 예상되는 미래 환경 변화에서 적응 목표에 대한 전술의 성능을 검증하기 위해 통계적으로 충분한 수의 샘플을 얻을 때까지 반복된다(S305).In the PASTA system, adaptive tactics are applied to the system model in a given environment and simulated for sample evaluation of the performance of the tactics (S304). The simulation is repeated until the system obtains a statistically sufficient number of samples to verify the performance of the tactics against the adaptation target in expected future environmental changes (S305).

PASTA 시스템은 축적된 샘플을 바탕으로 적응 전술의 성능을 검증한다(S306). 모든 적응 전술은 동일한 방식으로 반복적으로 평가되며(S307) SAS는 적응 전술의 효과를 통계적으로 보장한다.The PASTA system verifies the performance of the adaptation tactic based on the accumulated samples (S306). All adaptation tactics are repeatedly evaluated in the same way (S307), and the SAS statistically guarantees the effectiveness of the adaptation tactics.

PASTA 시스템은 가능한 모든 적응 전술을 평가한 후 최적의 적응 전술을 선택하여 실행한다(S308 내지 S309).After evaluating all possible adaptation tactics, the PASTA system selects and executes the optimal adaptation tactics (S308 to S309).

상기한 적응 과정(S301 내지 S309)은 지속적인 환경 변화에 대응하기 위해 지속적으로 반복되며, 환경 데이터, 실행 가능한 시스템 모델, 적응 전술 사양, 적응 목표 사양을 입력으로 요구한다.The above adaptation process (S301 to S309) is continuously repeated to respond to continuous environmental changes, and requires environmental data, an executable system model, adaptation tactical specifications, and adaptation target specifications as inputs.

상기한 적응 프로세스를 기반으로 한 PASTA 접근 방식을 자세히 설명하면 다음과 같다.The detailed description of the PASTA approach based on the above adaptation process is as follows.

지식(Knowledge)Knowledge

<원칙> PASTA 접근 방식을 사용하려면 SAS가 모니터링되는 환경 데이터를 축적해야 한다. 누적된 역사적 환경 데이터를 분석해 환경 변화를 예측한다. 더욱이, 시스템은 시뮬레이터에 의해 실행 가능한 시스템 동작의 추상화인 현재의 시스템 모델을 가지고 있다. PASTA의 모델은 사용자마다 다르며, 모델링 언어와 시스템 정보가 엔지니어에 의해 선택되지만, 유일한 요건은 시뮬레이션 로그를 생성하기 위해 모델을 실행할 수 있다는 것이다. 또한, 시스템 모델에는 검증될 수 있는 적응 전술의 집합(공간)이 포함되어 있다. 적응 전술은 SAS 및 SAS 모델에 적용할 수 있는 구성 집합과 같은 적응 사양이다. 적응 목표는 지식에도 명시되어 있다. 따라서, 적응 목표를 위한 최적의 전술이 선택되고 실행될 것이다.<Principle> The PASTA approach requires SAS to accumulate monitored environmental data. It analyzes accumulated historical environmental data to predict environmental changes. Furthermore, the system has a current system model, which is an abstraction of system behavior executable by the simulator. PASTA's models are user-specific, and the modeling language and system information are chosen by the engineer, but the only requirement is that the model can be run to generate simulation logs. In addition, the system model contains a set (space) of adaptation tactics that can be verified. An adaptation tactic is an adaptation specification, such as a configuration set, that can be applied to SAS and SAS models. Adaptive goals are also specified in knowledge. Thus, the optimal tactic for the adaptation goal will be selected and executed.

<사례> 적응형 에어컨 제어 시스템에 관심이 있는 환경 요인은 실내/외 온도 및 실내/외 습도이다. 따라서, 특정 시간에 모니터링되는 환경 데이터는 네 가지 요인의 값을 포함한다. 시뮬레이션 모델은 실외 조건 및 에어컨 제어 시스템의 제어 값에 의해 영향을 받는 실내 온도 및 습도의 변화를 모방한다. 시스템의 가능한 적응 전술은 각 온도 및 습도 제어 기능의 시스템 기능에 의해 결정된다. 예를 들어, 시스템은 개별 시뮬레이션 시간 단위에서 온도와 습도를 증가시키거나 감소시킬 수 있으며, 0.1°C, 0.1%에서 최대 5°C, 5%까지 증가시킨다. 전술 공간은 가능한 온도 및 습도 제어의 데카르트 곱이다. 적응 목표는 사용자가 원하는 조건에 맞게 실내 온도와 습도를 조절하는 것이다.<Case> The environmental factors of interest in the adaptive air conditioning control system are indoor/outdoor temperature and indoor/outdoor humidity. Therefore, the environmental data monitored at a specific time includes the values of the four factors. The simulation model mimics changes in indoor temperature and humidity that are affected by outdoor conditions and control values of the air conditioning control system. The system's possible adaptation tactics are determined by the system capabilities of each temperature and humidity control function. For example, the system can increase or decrease temperature and humidity in individual simulation time units, from 0.1°C, 0.1% up to 5°C, 5%. Tact space is the Cartesian product of possible temperature and humidity control. The adaptation goal is to adjust the indoor temperature and humidity according to the conditions desired by the user.

환경변화 모니터링(S301) Environmental change monitoring (S301)

<원칙> 시스템은 지속적으로 환경을 모니터링한다. 환경은 센서가 관측할 수 있는 환경 조건의 값으로 측정된다. 현재 환경 데이터는 환경 데이터베이스에 추가된다. 시스템의 현재 상태도 모니터링되고 시스템 모델은 최신 상태로 유지된다.<Principle> The system continuously monitors the environment. Environment is measured as a value of environmental conditions that can be observed by sensors. The current environment data is added to the environment database. The current state of the system is also monitored and the system model is kept up to date.

<사례> 적응형 에어컨 제어 시스템은 실내/외 온도 및 실내/외 습도를 지속적으로 모니터링한다. 환경 데이터베이스에 환경 데이터를 축적한다.<Case> An adaptive air conditioning control system continuously monitors indoor/outdoor temperature and indoor/outdoor humidity. Accumulate environmental data in the environmental database.

향후 환경변화 예측(S302) Prediction of future environmental changes (S302)

<원칙> PASTA는 데이터 분석 또는 예측 기법을 사용하여 누적된 역사적 환경 데이터를 바탕으로 향후 환경 변화를 예측한다. 주어진 과거 환경 데이터는 시계열 데이터로 구성되므로 랜덤 워크, 계절적 오류 추세, 자동 회귀 통합 이동 평균 모델 또는 머신 러닝 기술과 같은 시계열 분석 및 예측 방법을 적용할 수 있으며 예측 방법의 선택은 도메인 엔지니어에게 달려 있다. 여기서 중요한 것은 과거 데이터에 기초한 미래 환경 변화 예측이 불확실하기 때문에 예측 결과는 미래 환경 조건의 확률 밀도 함수와 같은 비결정론적 기대치라는 점이다. 이 불확실성은 SMC에서 해결할 것이다.<Principle> PASTA predicts future environmental changes based on accumulated historical environmental data using data analysis or forecasting techniques. Given that historical environmental data consists of time series data, time series analysis and forecasting methods such as random walks, seasonal error trends, autoregressive integrated moving average models, or machine learning techniques can be applied, and the choice of forecasting method is up to the domain engineer. What is important here is that the prediction result is a non-deterministic expectation, such as a probability density function of future environmental conditions, because predictions of future environmental changes based on past data are uncertain. This uncertainty will be addressed by SMC.

<사례> 시스템은 24시간 간격으로 뚜렷한 반복 패턴(계절성)을 보이는 실외 온도 및 습도 변화를 예측한다. 이 시스템의 환경 데이터는 뚜렷한 계절성을 나타내기 때문에 계절적 차이를 사용하여 랜덤 워크 모델을 사용하여 순순히 예측할 수 있다. 과거 온도 데이터와 예측 알고리즘을 기반으로 확률밀도 함수를 사용하여 현재에서 몇 시간 후까지의 온도 변화를 예측할 수 있다. 예를 들어, 오후 2시의 현재 온도가 24℃일 경우 오후 3시의 온도는 24℃에서 30℃ 사이의 균일한 분포에 따라 변화할 것으로 예상할 수 있다.<Example> The system predicts outdoor temperature and humidity changes with a distinct repeating pattern (seasonality) at 24-hour intervals. Since the environmental data of this system exhibits a distinct seasonality, seasonal differences can be used to predict them purely using a random walk model. Based on past temperature data and prediction algorithms, a probability density function can be used to predict the temperature change from now to several hours in the future. For example, if the current temperature at 2:00 PM is 24°C, the temperature at 3:00 PM may be expected to change according to a uniform distribution between 24°C and 30°C.

SMC를 사용한 적응 계획(S303 내지 S308) Adaptation plan using SMC (S303 to S308)

[표 1][Table 1]

Figure pat00001
Figure pat00001

<원칙> PASTA 접근 방식의 적응 계획에는 표 1의 알고리즘 1에 표시된 것처럼 SMC를 사용하여 가능한 적응 전술 중 최적의 전술을 검색하는 것이 포함된다. SMC를 사용하여 적응 전술을 평가하는 것은 환경 변화 샘플링, 적응 전법 시뮬레이션, 시뮬레이션 결과 확인의 세 단계로 구성된다. 예측 결과는 비결정론적이어서 샘플 생성기는 예측 결과에 기초하여 가능한 미래 환경 조건에 대한 결정론적 샘플을 생성한다. SMC는 통계적으로 충분한 샘플을 생산하여 비결정론적 미래 환경의 불확실성을 제거하는 반면, PMC는 확률적 모델을 확률적으로 검증한다. 샘플 수는 앞서 설명하는 대로 SMC 알고리즘에 따라 결정된다. 시뮬레이터는 샘플 환경, 시스템 모델 및 적응 전술을 입력으로 채택한다. 주어진 전술을 시스템 모델에 적용하고, 미래 환경 샘플에서 시스템을 시뮬레이션하고, 미래 환경에서 적응 전술의 효과를 나타내는 시뮬레이션 결과 로그를 반환한다. 검증자는 수많은 시뮬레이션 결과를 수신하고 검증 속성으로 표현되는 적응 목표에 대한 전술의 성능을 평가한다. 이 프로세스는 모든 적응 전술에 대해 수행되며, 모든 평가(검증) 결과에 따라 최적의 전술이 선택된다. 따라서, 적응에 필요한 계획 시간은 전술의 수, 필요한 샘플의 수 및 모델의 단일 시뮬레이션 시간에 따라 달라진다.<Principle> Adaptation planning of the PASTA approach involves searching for the optimal tactic among possible adaptation tactics using SMC as shown in Algorithm 1 of Table 1. Evaluating adaptation tactics using SMC consists of three steps: environmental change sampling, adaptation strategy simulation, and simulation result verification. The prediction results are non-deterministic so that the sample generator creates deterministic samples of possible future environmental conditions based on the prediction results. SMC produces statistically sufficient samples to eliminate uncertainties in non-deterministic future environments, whereas PMC probabilistically validates probabilistic models. The number of samples is determined according to the SMC algorithm as described above. The simulator takes as input a sample environment, system model and adaptation tactics. It applies the given tactic to the system model, simulates the system in a sample of the future environment, and returns a simulation result log representing the effect of the adaptive tactic in the future environment. The verifier receives a number of simulation results and evaluates the performance of the tactics against the adaptation goal represented by the verification properties. This process is performed for every adaptation tactic, and the optimal tactic is selected according to all evaluation (verification) results. Thus, the planning time required for adaptation depends on the number of tactics, the number of samples required, and the single simulation time of the model.

<사례> 오후 3시(24°C~30°C)에 예상되는 온도 변화 범위를 기준으로 미래 실외 온도(예: 25°C, 27°C, 29°C)의 샘플이 SMC 알고리즘에 의해 무작위로 선택된다. 현재 평가에서 시스템 모델과 적응 전술(예: 실내 온도를 3°C 낮춤)은 각각 샘플 환경으로 시뮬레이션된다. 검증자는 시뮬레이션 결과를 바탕으로 실내 온도 조절의 적응 결과를 평가한다. 이 예에서, 목표 조건과 현재 조건 사이의 평균 거리는 적응 목표를 나타내는 검증 속성으로 사용되지만, 최악의 경우 작은 확률로 발생하는 사건의 유무 또는 시간 논리를 나타내는 최대 거리가 검증 속성으로 사용될 수 있다. 가능한 모든 온도 및 습도 조절 방법을 확인(평가)할 때 최적의 방법이 선택된다.<Case> A sample of future outdoor temperatures (e.g. 25°C, 27°C, 29°C) is randomized by the SMC algorithm based on the range of expected temperature changes at 3:00 PM (24°C to 30°C). is selected as In the current assessment, the system model and adaptation tactics (eg lowering the room temperature by 3°C) are each simulated with a sample environment. The verifier evaluates the adaptation result of room temperature control based on the simulation results. In this example, the average distance between the target condition and the current condition is used as a verification attribute representing the adaptation target, but the maximum distance representing the presence or absence of an event occurring with a small probability in the worst case or temporal logic may be used as a verification attribute. When all possible temperature and humidity control methods are identified (evaluated), the optimal method is selected.

적응 실행(S309) Adaptation execution (S309)

<원칙> 선택한 최적 적응 전술은 시스템의 액추에이터에 의해 관리되는 시스템에 적용된다.<Principle> The chosen optimal adaptation tactic is applied to the system managed by the system's actuators.

<사례> 적응형 에어컨 제어 시스템은 선택된 최적의 온도 및 습도 제어부를 작동시킨다. 제어부는 시스템의 액추에이터를 통해 실내 조건에 영향을 미친다.<Case> The adaptive air conditioner control system operates the selected optimum temperature and humidity controller. The control unit influences room conditions through actuators in the system.

상기한 적응형 에어컨 제어 시스템 이외에도 교차로 동적 신호 제어 시스템, 자율 주행 자동차 제어 시스템, 스마트 팩토리 제어 시스템 등 다양한 상황에 적절하게 대응해야 하는 시스템에 모두 적용 가능하다.In addition to the above-mentioned adaptive air conditioner control system, it can be applied to all systems that need to respond appropriately to various situations, such as an intersection dynamic signal control system, an autonomous vehicle control system, and a smart factory control system.

PASTA 구현PASTA Implementation

도 4는 본 발명의 일실시예에 있어서 PASTA 구현을 위한 PASTA 참조 아키텍처를 도시한 것이다.4 illustrates a PASTA reference architecture for implementing PASTA in one embodiment of the present invention.

도 4는 PASTA 접근 방식을 가진 SAS의 계층화된 아키텍처를 나타내고 있다.Figure 4 shows the layered architecture of SAS with the PASTA approach.

상호작용 계층(interaction layer)(410)에서 PASTA는 센서(411)를 통해 운행 환경을 관리되는 시스템을 모니터링하고 일반적인 SAS와 같은 액추에이터(412)를 통해 영향을 미친다.In the interaction layer (interaction layer) 410, PASTA monitors the system that manages the driving environment through a sensor 411 and influences it through an actuator 412 such as a general SAS.

데이터 분석 계층(data analysis layer)(420)에는 환경 변화 예측을 위한 예측 엔진(forecasting engine)(421)과 시스템에 대한 지식을 항상 최신 상태로 유지하는 지식 관리 모듈(knowledge management module)(422)이 포함될 수 있다.In the data analysis layer 420, a forecasting engine 421 for predicting environmental changes and a knowledge management module 422 for always maintaining up-to-date knowledge of the system are provided. can be included

시스템에 대한 지식은 향후 환경 변화의 예측을 위해 활용되는 역사적 환경 데이터(historical environment data), 적응 전술의 시뮬레이션을 위해 활용되는 시뮬레이션 실행 가능한 시스템 모델(simulation executable system model)과 적응 전술 사양 셋(set of adaptation tactics specification), 적응 전술의 성능 평가를 위해 활용되는 적응 목표 사양(adaptation goal specification)을 포함할 수 있다.System knowledge includes historical environment data used to predict future environmental changes, a simulation executable system model used to simulate adaptive tactics, and a set of adaptive tactics specifications. adaptation strategies specification) and adaptation goal specifications used for performance evaluation of adaptation tactics.

적응 플래너 계층(adaptation planner layer)(430)에서의 최적 적응 전술 검색 모듈(optimal adaptation tactic searching module)(431)은 적응 검증 계층(adaptation verification layer)(440)과의 상호 작용을 통해 최적의 적응 전술을 검색한다.The optimal adaptation tactic searching module 431 in the adaptation planner layer 430 obtains an optimal adaptation tactic through interaction with the adaptation verification layer 440. Search for

적응 검증 계층(440)에서의 SMC 모듈(444)은 샘플 생성기(sample generator)(441), 시뮬레이터(simulator)(442) 및 검증기(verifier)(443)를 제어하는 적응 전술을 검증한다.The SMC module 444 in the adaptive verification layer 440 verifies the adaptive tactics controlling the sample generator 441 , simulator 442 and verifier 443 .

여기서, 샘플 생성기(441)는 예측 엔진의 예측을 기반으로 미래 환경의 샘플을 생성한다. 시뮬레이터(442)는 주어진 샘플 미래 환경에서 적응 전술로 시스템 모델을 시뮬레이션한다. 검증자(443)는 시뮬레이션 결과를 분석하여 서비스 품질 또는 불변 속성과 같은 적응 목표 달성을 분석한다.Here, the sample generator 441 generates a sample of a future environment based on the prediction of the prediction engine. Simulator 442 simulates the system model with adaptive tactics in a given sample future environment. The verifier 443 analyzes the simulation results to analyze achievement of adaptation goals such as quality of service or immutable properties.

지식 계층(knowledge layer)(450)에는 환경 데이터베이스(environment database)(451), 시스템 모델 관리자(system model manager)(452), 적응 전술 저장소(adaptation tactic repository)(453) 및 적응 목표 관리자(adaptation goal manager)(454)가 포함될 수 있다. 지식 계층(450)은 SAS 지식을 제공하고 업데이트하면서 다른 계층과 상호 작용한다.The knowledge layer (450) includes an environment database (451), a system model manager (452), an adaptation tactic repository (453) and an adaptation goal manager (453). manager) 454 may be included. Knowledge layer 450 interacts with other layers while providing and updating SAS knowledge.

상기한 아키텍처는 참조 내용이므로 SAS의 필수 구성 요소를 더 포함하여 확장될 수 있다.Since the above architecture is a reference, it can be extended to further include essential components of SAS.

또한, 상기한 PASTA 접근 방식을 기반으로 SAS를 개발하는 엔지니어를 지원하기 위해 안내 코멘트가 있는 참조 아키텍처를 기반으로 한 PASTA 골격을 구현하고 오픈 소스 저장소에 소스 코드를 공개한다. 골격은 Java와 Python으로 이용할 수 있다. 엔지니어는 'todo' 태그가 붙은 주석 뒤에 애플리케이션별 코드를 작성해야 한다.In addition, to support engineers developing SAS based on the PASTA approach described above, we implement a PASTA skeleton based on a reference architecture with guiding comments and release the source code in an open source repository. The skeleton is available in Java and Python. Engineers must write application-specific code after comments tagged with 'todo'.

도 5는 PASTA 골격의 클래스 다이어그램을 나타내고 있다. 적응은 'adaptManagedSystem' 연산자에 의해 활성화된다. 예측 엔진(421) 또는 SMC 모듈(444)과 같은 일부 구성 요소에 대해 타사 라이브러리 또는 도구를 사용할 수 있도록 하는 보다 쉬운 PASTA 구현을 촉진한다.5 shows a class diagram of the PASTA framework. Adaptation is activated by the 'adaptManagedSystem' operator. Facilitates easier PASTA implementation allowing the use of third-party libraries or tools for some components, such as prediction engine 421 or SMC module 444.

본 발명은 모듈 형태로 구현되어 다양한 시스템에 적용이 용이하고, 구조화된 데이터 및 비구조화된 데이터를 이용해 예측적 자가 적응을 수행할 수 있고, 이를 통해 상황 이해 및 스케줄링, 의사결정 및 예측, 추천 및 상황 조치 등에 다양하게 적용할 수 있다.The present invention is implemented in a modular form and is easily applicable to various systems, and predictive self-adaptation can be performed using structured and unstructured data, and through this, situation understanding and scheduling, decision-making and prediction, recommendation and It can be applied in a variety of situations, such as actions.

도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템의 예를 도시한 블록도이다. 상술한 PASTA 시스템은 도 6과 같이 구성된 컴퓨터 시스템(600)에 의해 구현될 수 있다.6 is a block diagram illustrating an example of a computer system according to one embodiment of the present invention. The PASTA system described above may be implemented by the computer system 600 configured as shown in FIG. 6 .

도 6에 도시된 바와 같이, 컴퓨터 시스템(600)은 본 발명의 실시예들에 따른 PASTA 방법을 실행하기 위한 구성요소로서, 메모리(610), 프로세서(620), 통신 인터페이스(630) 그리고 입출력 인터페이스(640)를 포함할 수 있다.As shown in FIG. 6, a computer system 600 is a component for executing the PASTA method according to embodiments of the present invention, and includes a memory 610, a processor 620, a communication interface 630, and an input/output interface. (640).

메모리(610)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(610)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 시스템(600)에 포함될 수도 있다. 또한, 메모리(610)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(610)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(610)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(630)를 통해 메모리(610)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(660)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 시스템(600)의 메모리(610)에 로딩될 수 있다.The memory 610 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Here, a non-perishable mass storage device such as a ROM and a disk drive may be included in the computer system 600 as a separate permanent storage device distinct from the memory 610. Also, an operating system and at least one program code may be stored in the memory 610 . These software components may be loaded into the memory 610 from a recording medium readable by a separate computer from the memory 610 . The separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card. In another embodiment, software components may be loaded into the memory 610 through the communication interface 630 rather than a computer-readable recording medium. For example, software components may be loaded into memory 610 of computer system 600 based on a computer program installed by files received over network 660 .

프로세서(620)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(610) 또는 통신 인터페이스(630)에 의해 프로세서(620)로 제공될 수 있다. 예를 들어 프로세서(620)는 메모리(610)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 620 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to processor 620 by memory 610 or communication interface 630 . For example, processor 620 may be configured to execute received instructions according to program codes stored in a recording device such as memory 610 .

통신 인터페이스(630)는 네트워크(660)를 통해 컴퓨터 시스템(600)이 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 시스템(600)의 프로세서(620)가 메모리(610)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(630)의 제어에 따라 네트워크(660)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(660)를 거쳐 컴퓨터 시스템(600)의 통신 인터페이스(630)를 통해 컴퓨터 시스템(600)으로 수신될 수 있다. 통신 인터페이스(630)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(620)나 메모리(610)로 전달될 수 있고, 파일 등은 컴퓨터 시스템(600)이 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 630 may provide functionality for the computer system 600 to communicate with other devices and each other via the network 660 . For example, a request, command, data, file, etc. generated by the processor 620 of the computer system 600 according to a program code stored in a recording device such as the memory 610 is transmitted to a network ( 660) to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received into computer system 600 via communication interface 630 of computer system 600 via network 660 . Signals, commands, data, etc. received through the communication interface 630 may be transferred to the processor 620 or the memory 610, and files, etc. may be stored as storage media that the computer system 600 may further include (described above). permanent storage).

통신 방식은 제한되지 않으며, 네트워크(660)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들 간의 근거리 유선/무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(660)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(660)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method utilizing a communication network (eg, a mobile communication network, wired Internet, wireless Internet, and broadcasting network) that the network 660 may include, but also short-distance wired/wireless communication between devices. have. For example, the network 660 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , one or more arbitrary networks such as the Internet. In addition, the network 660 may include any one or more of network topologies including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, and the like. Not limited.

입출력 인터페이스(640)는 입출력 장치(650)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(640)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(650)는 컴퓨터 시스템(600)과 하나의 장치로 구성될 수도 있다.The input/output interface 640 may be a means for interface with the input/output device 650 . For example, the input device may include devices such as a microphone, keyboard, camera, or mouse, and the output device may include devices such as a display and a speaker. As another example, the input/output interface 640 may be a means for interface with a device in which functions for input and output are integrated into one, such as a touch screen. The input/output device 650 may be configured as one device with the computer system 600 .

또한, 다른 실시예들에서 컴퓨터 시스템(600)은 도 6의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(600)은 상술한 입출력 장치(650) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 각종 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Also, in other embodiments, computer system 600 may include fewer or more components than those of FIG. 6 . However, there is no need to clearly show most of the prior art components. For example, the computer system 600 may be implemented to include at least some of the aforementioned input/output devices 650 or may further include other components such as transceivers and various databases.

이처럼 본 발명의 실시예들에 따르면, SMC를 이용하여 예측적 자가 적응 기술을 구현함으로써 보다 적은 자원과 비용, 그리고 보다 짧은 검증 시간으로 PMC를 이용한 것과 유사한 검증 결과를 얻을 수 있다.As described above, according to embodiments of the present invention, by implementing predictive self-adaptation technology using SMC, verification results similar to those using PMC can be obtained with less resources, cost, and shorter verification time.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable PLU (programmable logic unit). logic unit), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. The software and/or data may be embodied in any tangible machine, component, physical device, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. have. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. In this case, the medium may continuously store a program executable by a computer or temporarily store the program for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or the components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (17)

컴퓨터 시스템에서 수행되는 예측적 적응 방법에 있어서,
상기 컴퓨터 시스템이 포함하는 적어도 하나의 프로세서의 의해, 상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 단계
를 포함하는 예측적 적응 방법.
In a predictive adaptation method performed in a computer system,
monitoring a change in an operating environment of the computer system by at least one processor included in the computer system; and
performing, by the at least one processor, a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to operation of the computer system according to the change;
A predictive adaptation method comprising a.
제1항에 있어서,
상기 모니터링하는 단계는,
상기 컴퓨터 시스템의 런타임에 상기 변화를 포착하기 위해 센서를 통해 환경 조건의 값을 측정하는 것
을 특징으로 하는 예측적 적응 방법.
According to claim 1,
The monitoring step is
Measuring a value of an environmental condition via a sensor to capture the change at runtime of the computer system.
A predictive adaptation method characterized by.
제1항에 있어서,
상기 수행하는 단계는,
모니터링을 통해 누적된 환경 데이터에 기초하여 향후 환경 변화를 예측하는 단계; 및
상기 향후 환경 변화에 대한 예측 결과에 기초하여 상기 SMC 기법을 통해 최적의 적응 전술을 선택하는 단계
를 포함하는 예측적 적응 방법.
According to claim 1,
The above steps are
Predicting future environmental changes based on environmental data accumulated through monitoring; and
Selecting an optimal adaptation tactic through the SMC technique based on the predicted result of the future environmental change
A predictive adaptation method comprising a.
제3항에 있어서,
상기 선택하는 단계는,
상기 향후 환경 변화에 대한 예측 결과에 기초하여 미래 환경 조건에 대한 샘플을 생성하는 단계;
상기 샘플에 따른 적응 전술을 상기 컴퓨터 시스템에 적용하여 시뮬레이션하는 단계;
상기 적응 전술에 대한 시뮬레이션 결과를 바탕으로 해당 적응 전술의 성능을 평가하는 단계; 및
상기 적응 전술의 성능 평가 결과에 따라 최적의 적응 전술을 선택하여 실행하는 단계
를 포함하는 예측적 적응 방법.
According to claim 3,
The selection step is
generating a sample of a future environmental condition based on a prediction result of the future environmental change;
simulating by applying the adaptive tactic according to the sample to the computer system;
Evaluating performance of a corresponding adaptation tactic based on a simulation result of the adaptation tactic; and
Selecting and executing an optimal adaptation tactic according to a performance evaluation result of the adaptation tactic
A predictive adaptation method comprising a.
제4항에 있어서,
상기 수행하는 단계는,
상기 컴퓨터 시스템에 대한 지식(knowledge)을 최신 상태로 유지하는 단계
를 더 포함하고,
상기 지식은 상기 향후 환경 변화의 예측을 위한 역사적 환경 데이터(historical environment data), 상기 적응 전술의 시뮬레이션을 위한 시뮬레이션 실행 가능한 시스템 모델(simulation executable system model)과 적응 전술 사양 셋(set of adaptation tactics specification), 상기 적응 전술의 성능 평가를 위한 적응 목표 사양(adaptation goal specification)을 포함하는 것
을 특징으로 하는 예측적 적응 방법.
According to claim 4,
The above steps are
Keeping knowledge of the computer system up to date
Including more,
The knowledge includes historical environment data for predicting the future environment change, a simulation executable system model for simulating the adaptation tactics, and a set of adaptation tactics specifications. , including an adaptation goal specification for performance evaluation of the adaptation tactic.
A predictive adaptation method characterized by.
제4항에 있어서,
상기 생성하는 단계는,
SMCS(Simple Monte Carlo Simulation), SSP(Single Sampling Plan), SPRT(Sequential Probability Ratio Test) 중 어느 하나의 SMC 알고리즘을 통해 상기 샘플을 생성하는 것
을 특징으로 하는 예측적 적응 방법.
According to claim 4,
The generating step is
Generating the sample through any one SMC algorithm of Simple Monte Carlo Simulation (SMCS), Single Sampling Plan (SSP), and Sequential Probability Ratio Test (SPRT)
A predictive adaptation method characterized by.
제4항에 있어서,
상기 시뮬레이션하는 단계는,
미래 샘플 환경과 시스템 모델 및 적응 전술을 입력으로 하여 주어진 적응 전술을 시스템 모델에 적용하고 미래 환경 샘플에서 시스템을 시뮬레이션하고 미래 환경에서 적응 전술의 효과를 나타내는 시뮬레이션 결과 로그를 반환하는 것
을 특징으로 하는 예측적 적응 방법.
According to claim 4,
The simulating step is
Applying a given adaptation tactic to the system model with a future sample environment, system model, and adaptation tactic as input, simulating the system in a sample of the future environment, and returning a simulation result log representing the effect of the adaptation tactic in the future environment.
A predictive adaptation method characterized by.
컴퓨터 시스템에서 수행되는 적응형 에어컨 제어 방법에 있어서,
상기 컴퓨터 시스템이 포함하는 적어도 하나의 프로세서의 의해, 온도와 습도를 포함하는 환경 데이터를 모니터링하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 환경 데이터에 대한 변화를 예측하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 변화의 예측 결과에 기초하여 미래 환경 데이터에 대한 샘플을 생성하는 단계;
상기 샘플에 따른 적응 전술을 에어컨 시스템에 적용하여 시뮬레이션하는 단계;
상기 적응 전술에 대한 시뮬레이션 결과를 바탕으로 해당 적응 전술의 성능을 평가하는 단계; 및
상기 적응 전술의 성능 평가 결과에 따라 최적의 적응 전술에 해당되는 온도와 습도로 상기 에어컨 시스템을 제어하는 단계
를 포함하는 적응형 에어컨 제어 방법.
In the adaptive air conditioner control method performed in a computer system,
monitoring environmental data including temperature and humidity by at least one processor included in the computer system;
predicting, by the at least one processor, a change to the environmental data;
generating, by the at least one processor, a sample of future environment data based on a prediction result of the change;
simulating by applying an adaptation tactic according to the sample to an air conditioner system;
Evaluating performance of a corresponding adaptation tactic based on a simulation result of the adaptation tactic; and
Controlling the air conditioner system to a temperature and humidity corresponding to an optimal adaptation tactic according to a performance evaluation result of the adaptation tactic
Adaptive air conditioning control method comprising a.
예측적 적응 방법을 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램에 있어서,
상기 예측적 적응 방법은,
상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 단계; 및
상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 단계
를 포함하는, 컴퓨터 프로그램.
A computer program stored in a computer readable recording medium for executing a predictive adaptation method on a computer system,
The predictive adaptation method,
monitoring changes in the operating environment of the computer system; and
Performing a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to the operation of the computer system according to the change.
Including, a computer program.
컴퓨터 시스템에 있어서,
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 컴퓨터 시스템의 운행 환경에 대한 변화를 모니터링하는 과정; 및
상기 변화에 따라 상기 컴퓨터 시스템의 운행과 관련된 최적 행동 옵션을 선택하기 위해 SMC(statistical model checking) 기법을 이용하여 사전 적응(proactive adaptation) 프로세스를 수행하는 과정
을 처리하는 컴퓨터 시스템.
In a computer system,
at least one processor configured to execute computer readable instructions contained in memory;
including,
The at least one processor,
monitoring changes in the operating environment of the computer system; and
A process of performing a proactive adaptation process using a statistical model checking (SMC) technique to select an optimal action option related to the operation of the computer system according to the change
A computer system that processes
제10항에 있어서,
상기 적어도 하나의 프로세서는,
상기 컴퓨터 시스템의 런타임에 상기 변화를 포착하기 위해 센서를 통해 환경 조건의 값을 측정하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 10,
The at least one processor,
Measuring a value of an environmental condition via a sensor to capture the change at runtime of the computer system.
Characterized by a computer system.
제10항에 있어서,
상기 적어도 하나의 프로세서는,
모니터링을 통해 누적된 환경 데이터에 기초하여 향후 환경 변화를 예측하고,
상기 향후 환경 변화에 대한 예측 결과에 기초하여 상기 SMC 기법을 통해 최적의 적응 전술을 선택하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 10,
The at least one processor,
Predict future environmental changes based on environmental data accumulated through monitoring,
Selecting an optimal adaptation tactic through the SMC technique based on the prediction result for the future environmental change
Characterized by a computer system.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
상기 향후 환경 변화에 대한 예측 결과에 기초하여 미래 환경 조건에 대한 샘플을 생성하고,
상기 샘플에 따른 적응 전술을 상기 컴퓨터 시스템에 적용하여 시뮬레이션하고,
상기 적응 전술에 대한 시뮬레이션 결과를 바탕으로 해당 적응 전술의 성능을 평가하고,
상기 적응 전술의 성능 평가 결과에 따라 최적의 적응 전술을 선택하여 실행하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 12,
The at least one processor,
Based on the prediction result of the future environmental change, a sample for future environmental conditions is generated,
Applying and simulating an adaptation tactic according to the sample to the computer system;
Evaluate the performance of the adaptive tactic based on the simulation results for the adaptive tactic;
Selecting and executing an optimal adaptation tactic according to the performance evaluation result of the adaptation tactic
Characterized by a computer system.
제13항에 있어서,
상기 적어도 하나의 프로세서는,
상기 컴퓨터 시스템에 대한 지식(knowledge)을 최신 상태로 유지하고,
상기 지식은 상기 향후 환경 변화의 예측을 위한 역사적 환경 데이터(historical environment data), 상기 적응 전술의 시뮬레이션을 위한 시뮬레이션 실행 가능한 시스템 모델(simulation executable system model)과 적응 전술 사양 셋(set of adaptation tactics specification), 상기 적응 전술의 성능 평가를 위한 적응 목표 사양(adaptation goal specification)을 포함하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 13,
The at least one processor,
Keep your knowledge of the computer system up to date;
The knowledge includes historical environment data for predicting the future environment change, a simulation executable system model for simulating the adaptation tactics, and a set of adaptation tactics specifications. , including an adaptation goal specification for performance evaluation of the adaptation tactic.
Characterized by a computer system.
제13항에 있어서,
상기 적어도 하나의 프로세서는,
SMCS(Simple Monte Carlo Simulation), SSP(Single Sampling Plan), SPRT(Sequential Probability Ratio Test) 중 어느 하나의 SMC 알고리즘을 통해 상기 샘플을 생성하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 13,
The at least one processor,
Generating the sample through any one SMC algorithm of Simple Monte Carlo Simulation (SMCS), Single Sampling Plan (SSP), and Sequential Probability Ratio Test (SPRT)
Characterized by a computer system.
제13항에 있어서,
상기 적어도 하나의 프로세서는,
미래 샘플 환경과 시스템 모델 및 적응 전술을 입력으로 하여 주어진 적응 전술을 시스템 모델에 적용하고 미래 환경 샘플에서 시스템을 시뮬레이션하고 미래 환경에서 적응 전술의 효과를 나타내는 시뮬레이션 결과 로그를 반환하는 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 13,
The at least one processor,
Applying a given adaptation tactic to the system model with a future sample environment, system model, and adaptation tactic as input, simulating the system in a sample of the future environment, and returning a simulation result log representing the effect of the adaptation tactic in the future environment.
Characterized by a computer system.
제10항에 있어서,
상기 컴퓨터 시스템은 컴퓨터 구현되는 에어컨 제어 시스템, 교차로 신호 제어 시스템, 자율 주행 자동차 제어 시스템, 및 스마트 팩토리 제어 시스템 중 어느 하나의 적응형 시스템인 것
을 특징으로 하는 컴퓨터 시스템.
According to claim 10,
The computer system is an adaptive system of any one of a computer-implemented air conditioner control system, an intersection signal control system, an autonomous vehicle control system, and a smart factory control system.
Characterized by a computer system.
KR1020210061164A 2021-05-12 2021-05-12 Proactive adaptation approach based on statistical model checking for self-adaptive systems KR102585570B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210061164A KR102585570B1 (en) 2021-05-12 2021-05-12 Proactive adaptation approach based on statistical model checking for self-adaptive systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210061164A KR102585570B1 (en) 2021-05-12 2021-05-12 Proactive adaptation approach based on statistical model checking for self-adaptive systems

Publications (2)

Publication Number Publication Date
KR20220153774A true KR20220153774A (en) 2022-11-21
KR102585570B1 KR102585570B1 (en) 2023-10-10

Family

ID=84233574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210061164A KR102585570B1 (en) 2021-05-12 2021-05-12 Proactive adaptation approach based on statistical model checking for self-adaptive systems

Country Status (1)

Country Link
KR (1) KR102585570B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117826712A (en) * 2023-11-09 2024-04-05 中通服网盈科技有限公司 Equipment operation intelligent scheduling system of industrial Internet

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100179930A1 (en) * 2009-01-13 2010-07-15 Eric Teller Method and System for Developing Predictions from Disparate Data Sources Using Intelligent Processing
KR101729694B1 (en) * 2017-01-02 2017-04-25 한국과학기술정보연구원 Method and Apparatus for Predicting Simulation Results
KR20180125658A (en) * 2017-05-15 2018-11-26 현대오토에버 주식회사 Building Integrated Management System and Method Based on Digital SOP and Prediction
KR20200047006A (en) * 2018-10-26 2020-05-07 주식회사 피도텍 Method and system for constructing meta model based on machine learning
KR20200063309A (en) * 2018-11-20 2020-06-05 고려대학교 산학협력단 Method and system for performing environment adapting stategy based on ai
KR20200065900A (en) * 2018-11-30 2020-06-09 아주대학교산학협력단 Method and apparatus for accomplishing goal of self-adaptive system
US20200393800A1 (en) * 2018-03-14 2020-12-17 Hitachi, Ltd. Future State Estimation Device and Future State Estimation Method
KR20210003004A (en) * 2019-07-01 2021-01-11 한국전자통신연구원 Method and apparatus for abnormality diagnose and prediction based on ensemble model

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100179930A1 (en) * 2009-01-13 2010-07-15 Eric Teller Method and System for Developing Predictions from Disparate Data Sources Using Intelligent Processing
KR101729694B1 (en) * 2017-01-02 2017-04-25 한국과학기술정보연구원 Method and Apparatus for Predicting Simulation Results
KR20180125658A (en) * 2017-05-15 2018-11-26 현대오토에버 주식회사 Building Integrated Management System and Method Based on Digital SOP and Prediction
US20200393800A1 (en) * 2018-03-14 2020-12-17 Hitachi, Ltd. Future State Estimation Device and Future State Estimation Method
KR20200047006A (en) * 2018-10-26 2020-05-07 주식회사 피도텍 Method and system for constructing meta model based on machine learning
KR20200063309A (en) * 2018-11-20 2020-06-05 고려대학교 산학협력단 Method and system for performing environment adapting stategy based on ai
KR20200065900A (en) * 2018-11-30 2020-06-09 아주대학교산학협력단 Method and apparatus for accomplishing goal of self-adaptive system
KR20210003004A (en) * 2019-07-01 2021-01-11 한국전자통신연구원 Method and apparatus for abnormality diagnose and prediction based on ensemble model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117826712A (en) * 2023-11-09 2024-04-05 中通服网盈科技有限公司 Equipment operation intelligent scheduling system of industrial Internet

Also Published As

Publication number Publication date
KR102585570B1 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
US10824120B2 (en) Diagnostics in building automation
JP5732495B2 (en) Biology-based autonomous learning tool
US8041435B2 (en) Modular object dynamic hosting
US8265775B2 (en) Modular object publication and discovery
US8818757B2 (en) Modular object and host matching
US20090228408A1 (en) Autonomous adaptive semiconductor manufacturing
Flammini et al. Safety integrity through self-adaptation for multi-sensor event detection: Methodology and case-study
Tao et al. Quality Assurance for Big Data Application-Issuses, Challenges, and Needs.
Shin et al. Pasta: An efficient proactive adaptation approach based on statistical model checking for self-adaptive systems
KR102585570B1 (en) Proactive adaptation approach based on statistical model checking for self-adaptive systems
Kisamori et al. Simulator calibration under covariate shift with kernels
Gartziandia et al. Machine learning‐based test oracles for performance testing of cyber‐physical systems: An industrial case study on elevators dispatching algorithms
Rocher et al. Effectiveness assessment of cyber-physical systems
Walker Next generation prognostics and health management for unmanned aircraft
Riccobene et al. Model-based simulation at runtime with abstract state machines
Zhang et al. Explainable human-in-the-loop dynamic data-driven digital twins
Tate et al. Framework for Evidence-Based Licensure of Adaptive Autonomous Systems: Technical Areas
Cheung et al. Identifying and addressing uncertainty in architecture-level software reliability modeling
Singh et al. A new trust model based on time series prediction and Markov model
Tamura et al. Reliability analysis based on network traffic for a mobile computing
Huang et al. Deep reinforcement learning
Ma et al. Recovery Planning
Society of Fire Protection Engineers AGuerrazzi@ sfpe. org Sensitivity and Uncertainty Analysis
KR20240059522A (en) Data-driven environment model generation using imitation leraring for efficient cps goal verification
Parhizkar et al. Challenges of Online Dynamic Probabilistic Risk Assessment and Possible Solutions

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right