실시간 시스템은 시스템이 적시성을 보장하는지 파악하기 위해 실시간 감시기법을 이용한다. 일반적으로 실시간 감시는 실시간 시스템의 현재 동작상태를 파악하는데 중점을 두는 기법이다. 그러나 실시간 시스템의 안정적인 수행을 지원하기 위해서는, 현재 상태를 파악하는 것뿐 아니라, 실시간 시스템 및 시스템상에서 동작하는 실시간 프로세스들의 수행도 예측할 수 있어야 한다. 그러나 기존 예측모델을 실시간 감시기법에 적용하기에는 몇 가지 한계가 있다. 첫째, 예측기능은 실시간 프로세스가 종료한 시점에서 정적인 분석을 통해 수행된다. 둘째, 예측을 위해 사전 기초 통계분석이 필요하다. 셋째, 예측을 위한 이전확률 및 클러스터 정보가 현재 시점을 정확하게 반영하지 못한다. 본 논문에서는 이러한 문제점들을 해결하고 실시간 감시기법에 적용할 수 있는 학습 기반의 수행 예측모델을 제안한다. 이 모델은 학습기법을 통해 불필요한 전처리과정을 없애고, 현시점의 데이터를 이용해, 보다 정확한 실시간 프로세스의 수행 예측이 가능하도록 한다. 또한 이 모델은 실시간 프로세스 수행 시간의 증가율 분석을 통해 다단계 예측을 지원하며, 무엇보다 실시간 프로세스가 실행되는 동안 예측이 가능한 동적 예측을 지원하도록 설계하였다. 실험 결과를 통해 훈련집합의 크기가 10 이상이면 80% 이상의 판단 정확도를 보이며, 다단계 예측의 경우, 훈련집합의 크기 이상의 수행 횟수를 넘으면 다단계 예측의 예측 차는 최소화되는 것으로 나타났다. 본 논문에서 제안한 예측모델은 가장 단순한 학습 알고리즘을 적용했다는 점과, CPU, 메모리, 입출력 데이터를 다루는 다차원 자원공간 모델을 고려하지 못한 한계가 있어 향후에 관련 연구가 요구된다. 본 논문에서 제안하는 학습기반 수행 예측모델은 실시간 감시 및 제어를 필요로 하는 분야 및 응용 분야에 적용할 수 있다.
실시간 시스템은 시스템이 적시성을 보장하는지 파악하기 위해 실시간 감시기법을 이용한다. 일반적으로 실시간 감시는 실시간 시스템의 현재 동작상태를 파악하는데 중점을 두는 기법이다. 그러나 실시간 시스템의 안정적인 수행을 지원하기 위해서는, 현재 상태를 파악하는 것뿐 아니라, 실시간 시스템 및 시스템상에서 동작하는 실시간 프로세스들의 수행도 예측할 수 있어야 한다. 그러나 기존 예측모델을 실시간 감시기법에 적용하기에는 몇 가지 한계가 있다. 첫째, 예측기능은 실시간 프로세스가 종료한 시점에서 정적인 분석을 통해 수행된다. 둘째, 예측을 위해 사전 기초 통계분석이 필요하다. 셋째, 예측을 위한 이전확률 및 클러스터 정보가 현재 시점을 정확하게 반영하지 못한다. 본 논문에서는 이러한 문제점들을 해결하고 실시간 감시기법에 적용할 수 있는 학습 기반의 수행 예측모델을 제안한다. 이 모델은 학습기법을 통해 불필요한 전처리과정을 없애고, 현시점의 데이터를 이용해, 보다 정확한 실시간 프로세스의 수행 예측이 가능하도록 한다. 또한 이 모델은 실시간 프로세스 수행 시간의 증가율 분석을 통해 다단계 예측을 지원하며, 무엇보다 실시간 프로세스가 실행되는 동안 예측이 가능한 동적 예측을 지원하도록 설계하였다. 실험 결과를 통해 훈련집합의 크기가 10 이상이면 80% 이상의 판단 정확도를 보이며, 다단계 예측의 경우, 훈련집합의 크기 이상의 수행 횟수를 넘으면 다단계 예측의 예측 차는 최소화되는 것으로 나타났다. 본 논문에서 제안한 예측모델은 가장 단순한 학습 알고리즘을 적용했다는 점과, CPU, 메모리, 입출력 데이터를 다루는 다차원 자원공간 모델을 고려하지 못한 한계가 있어 향후에 관련 연구가 요구된다. 본 논문에서 제안하는 학습기반 수행 예측모델은 실시간 감시 및 제어를 필요로 하는 분야 및 응용 분야에 적용할 수 있다.
Monitoring is used to see if a real-time system provides a service on time. Generally, monitoring for real-time focuses on investigating the current status of a real-time system. To support a stable performance of a real-time system, it should have not only a function to see the current status of re...
Monitoring is used to see if a real-time system provides a service on time. Generally, monitoring for real-time focuses on investigating the current status of a real-time system. To support a stable performance of a real-time system, it should have not only a function to see the current status of real-time process but also a function to predict executions of real-time processes, however. The legacy prediction model has some limitation to apply it to a real-time monitoring. First, it performs a static prediction after a real-time process finished. Second, it needs a statistical pre-analysis before a prediction. Third, transition probability and data about clustering is not based on the current data. We propose the execution prediction model based on learning algorithm to solve these problems and apply it to real-time monitoring. This model gets rid of unnecessary pre-processing and supports a precise prediction based on current data. In addition, this supports multi-level prediction by a trend analysis of past execution data. Most of all, We designed the model to support dynamic prediction which is performed within a real-time process' execution. The results from some experiments show that the judgment accuracy is greater than 80% if the size of a training set is set to over 10, and, in the case of the multi-level prediction, that the prediction difference of the multi-level prediction is minimized if the number of execution is bigger than the size of a training set. The execution prediction model proposed in this model has some limitation that the model used the most simplest learning algorithm and that it didn't consider the multi-regional space model managing CPU, memory and I/O data. The execution prediction model based on a learning algorithm proposed in this paper is used in some areas related to real-time monitoring and control.
Monitoring is used to see if a real-time system provides a service on time. Generally, monitoring for real-time focuses on investigating the current status of a real-time system. To support a stable performance of a real-time system, it should have not only a function to see the current status of real-time process but also a function to predict executions of real-time processes, however. The legacy prediction model has some limitation to apply it to a real-time monitoring. First, it performs a static prediction after a real-time process finished. Second, it needs a statistical pre-analysis before a prediction. Third, transition probability and data about clustering is not based on the current data. We propose the execution prediction model based on learning algorithm to solve these problems and apply it to real-time monitoring. This model gets rid of unnecessary pre-processing and supports a precise prediction based on current data. In addition, this supports multi-level prediction by a trend analysis of past execution data. Most of all, We designed the model to support dynamic prediction which is performed within a real-time process' execution. The results from some experiments show that the judgment accuracy is greater than 80% if the size of a training set is set to over 10, and, in the case of the multi-level prediction, that the prediction difference of the multi-level prediction is minimized if the number of execution is bigger than the size of a training set. The execution prediction model proposed in this model has some limitation that the model used the most simplest learning algorithm and that it didn't consider the multi-regional space model managing CPU, memory and I/O data. The execution prediction model based on a learning algorithm proposed in this paper is used in some areas related to real-time monitoring and control.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
또한 본 논문에서는 학습 기반의 수행 예측모델을 적용하기 위한 실행시간 프로세스 모니터의 구조를 제시하여, 향후 실시간 감시 체계를 구현할 수 있는 체계를 설계하였다. 본 논문에서 제시한 학습기반 수행 예측모델과실행시간 프로세스 모니터의 설계는 실시간 감시 및 제어분야에서 활용될 수 있다.
본 논문에서는 기존의 실시간 감시 체계가 가지고 있던 한계를 해결하기 위해 학습기반 수행 예측모델을 제안하였다. 이 학습기반 수행 예측모델은 실시간 프로세스가 동작하는 시점에서 동적분석을 통한 예측이 가능하며, 예측을 위해 수행되는 사전 기초 통계분석 과정을 제거하였다.
발생한다. 본 논문에서는 이러한 문제점을 해결하기 위해 단순 상태-이전 모델(Simple State-Transition Model)을 제안한다.
본 본문의 실시간 감시 체계에 적용할 수 있는 학습기반 수행 예측모델을 제안하였다. 하지만 몇 가지 한계점이 있었다.
본 실험은 본 논문에서 제시한 다단계 예측기법을 적용한 경우의 예측품질을 측정하기 위한 실험이다. 본 실험은 1단계에서부터 5단계 예측을 했을 때, 각 단계 예측 값과 실제값 간의 차이를 비교하였다.
본 실험은 본 논문에서 제시한 학습기반 수행 예측모델을 이号하여 생성한 예측 값과 실시간 프로세스를 동작시킨 후추*한 실제 값과의 유사성을 파악하고 예측품질을 측정하기 위해서 수행하였다.
본 실험은 학습 모듈이 학습하는데 어느 정도 시간이 걸리는지를 파악하기 위한 실험이다. 실시간 시스템에서는 처리 시간에 따라 시스템의 성능이 결정되므로, 실시간 시스템 혹은 실시간 프로세스에 영향을 미칠 수 있는 훈련 시간을 파악할 필요가 있다.
본 실험은 학습기반 수행 예측모델에 기초해 예측을 수행할 때, 실시간 프로세스의 최소 실행 수를 얼마로 해야 하는지를 파악하기 위해 실시하였다.
본 실험은 학습모듈의 판단결과가 얼마나 정확한지 측정하는 실험이다. 실험을 위해 훈련집합 크기 71을 1에서 100으로 증가시키며 학습을 실시하였다.
이러한 문제점들을 해결하기 위해, 본 논문에서는 실행 시간에 동적인 예측을 수행할 수 있는 학습기반 수행 예측 모델을 제안한다.
이를 위해 본 논문에서는 학습기반 수행 예측모델을 제안한다. 이 모델은 학습기법을 통해 불필요한 전처리 과정을 줄이고, 현재 데이터에 근거해 보다 정확한 예측을 지원한다.
제안 방법
1 절에서 기술한 학습모듈의 판단정확성 파악 실험을 수행하였다. Ti을 1에서 100까지 증가시켰으며, 판단 결과를 도출하기 위해서는 훈련 시 사용한 인스턴스들과 독립적인 400여 개의 인스턴스를 입력하여 학습모듈이 판단결과를 생성하도록 하였다. 이러한 실험을 반복적으로 수행하였다.
실험을 위해 Ti = 50으로 설정하였으며(평균 정확도 86%), 훈련 시 사용한 인스턴스와 독립적인 200 개의 인스턴스를 입 력하였다. 及는 1회에서 50회로 증가시켜가면서 반복적으로 수행하여, 예측의 정확도를 측정하였다.
자원 예측과정을 살펴보면, 사전에 시스템에서 동작하는 모든 프로세스에 대한 기초 통계분석을 수행하여 이를 근거로 클러스터링 분석을 수행한다. 그 후, 이전 확률을 구하고, 특정 프로세스에 대한 상태-이전 모델을 작성한다. 상태-이전 모델과 특정 프로세스의 최근 실행 값을 결합하여 프로세스의 향후 수행결과를 예측하게 된다.
학습모듈은 데이터 저장소에 저장된 프로세스의 상태 데이터를 실시간으로 가져다가 훈련 집합의 인스턴스로 구성한다. 그 후, 정규화 및 유사도 파악 과정을 통해 학습 결과를 도출한다.
다단계 예측에서 예측단계(74)가 미치는 영향도를 파악하기 위해서, 5.5절에서 다단계 예측품질 측정 실험을 수행하였다. 실험을 위해 心 = 10, 及=10으로 설정하였고, 훈련 시사용한 인스턴스와는 독립적인 150개의 인스턴스를 입력하였다.
이 모델은 학습기법을 통해 불필요한 전처리 과정을 줄이고, 현재 데이터에 근거해 보다 정확한 예측을 지원한다. 또한 이 모델은 실시간 프로세스 실행 데이터의 증가율 분석을 통한 다단계 예측을 지원하며, 실시간 프로세스가 실행되는 동안 예즉이 가능한 동적 예즉을 지원하도록 설계하였다.
이 학습기반 수행 예측모델은 실시간 프로세스가 동작하는 시점에서 동적분석을 통한 예측이 가능하며, 예측을 위해 수행되는 사전 기초 통계분석 과정을 제거하였다. 또한 이전 확률이나 상태 정보 등은 최신의 것을 유지할 수 있는 체계를 제공하며, 이를 기초로 다단계 예측이 가능하도록 하였다.
또한 학습 시 사용한 데이터와는 독립적인 실시간 프로세스 상태 데이터를 제공하여 학습 및 예측을 수행하였다. 실험 후, 실제 생성된 데이터와 예측 데이터를 비교하여 예측정확도를 측정하였다.
기본적인 실험 준비과정은 다음과 같다. 먼저, TMO모델에 기반하여 작성한 실시간 프로세스를 동작시키고, 본 논문에서 설계한 실시간 프로세스 모니터를 구현하여 실시간 프로세스 상태 데이터를 수집하였다. 수집한 데이터를 데이터 저장소에 저장한 후, 학습 및 예측의 기본데이터로 제공하였다.
본 논문에서는 [2-5]에서 제시한 실행시간 프로세스 모니터를 개선하여 분석 및 디스플레이 프로그램 내에 동적 분석 모듈을 추가하고, 예측 기능을 지원할 수 있도록 하였다. (그림 5)는 동적분석 모듈의 세부 구조를 보여준다.
예측품질을 측정하기 위한 실험이다. 본 실험은 1단계에서부터 5단계 예측을 했을 때, 각 단계 예측 값과 실제값 간의 차이를 비교하였다.
본 장에서는 2.3절에서 파악한 문제점들을 해결하기 위해 학습 알고리즘과 단순 상태-이전 모델에 기반하여 실시간 프로세스의 동작을 예측하는 학습기반 수행 예측모델을 제안한다.
먼저, TMO모델에 기반하여 작성한 실시간 프로세스를 동작시키고, 본 논문에서 설계한 실시간 프로세스 모니터를 구현하여 실시간 프로세스 상태 데이터를 수집하였다. 수집한 데이터를 데이터 저장소에 저장한 후, 학습 및 예측의 기본데이터로 제공하였다.
시간 측정은 학습이 시작되는 시점과 학습이 종료되는 시점을 측정하여 계산하였다.
실험 1에 근거해 86% 정확도를 보이도록 Ti = 50으로 설정하고, 최근의 실시간 프로세스 실행 수 及를 1회에서 50회로 증가시켰다. 또한 학습 시 사용한 데이터와는 독립적인 실시간 프로세스 상태 데이터를 제공하여 학습 및 예측을 수행하였다.
또한 학습 시 사용한 데이터와는 독립적인 실시간 프로세스 상태 데이터를 제공하여 학습 및 예측을 수행하였다. 실험 후, 실제 생성된 데이터와 예측 데이터를 비교하여 예측정확도를 측정하였다.
학습 후, 학습 시 사용한 인스턴스와 독립적인 400개의 인스턴스를 추가 생성하여 예측모델에 제공하였다. 실험 후, 실제 생성된 데이터와 예측 데이터를 비교하여 판단 정확성을 파악하였다.
실험을 위해 Ti을 1에서 100까지 증가시키며, 소요 시간을 측정하였다. 시간 측정은 학습이 시작되는 시점과 학습이 종료되는 시점을 측정하여 계산하였다.
이를 위해 본 논문에서는 다단계 예측 기법을 제안한다. 다단계 예측을 위해 현재 훈련집합에 저장되어 있는 인스턴스들의 증가율을 파악해야 한다.
최소 실행 수(73)가 미치는 영향 정도를 파악하기 위해서, 5.3절에서 기술한 최소 실행 수에 따른 예측정확도 파악 실험을 수행하였다. 실험을 위해 Ti = 50으로 설정하였으며(평균 정확도 86%), 훈련 시 사용한 인스턴스와 독립적인 200 개의 인스턴스를 입 력하였다.
학습 모듈에서 전달된 판단 데이터와 본 논문에서 제시한 간단 상태-이전 모델을 이용해 이전확률을 계산한다. 필요에 따라 이전확률 및 기존 수행 결과를 이용해 다단계 예측을 수행한다. 최종적으로 예측모듈은 예측 결과를 출력한다.
학습 모듈에서 전달된 판단 데이터와 본 논문에서 제시한 간단 상태-이전 모델을 이용해 이전확률을 계산한다. 필요에 따라 이전확률 및 기존 수행 결과를 이용해 다단계 예측을 수행한다.
학습기반 수행 예측모델의 성능을 측정하기 위해 5가지 실험을 수행하였다. 실험을 위해 실시간 모델인 TMO(Time-trig-gered Message-triggered Object) 모델을 이용하였다.
훈련집합의 크기(71)가 미치는 영향도를 결정하기 위해, 5.1 절에서 기술한 학습모듈의 판단정확성 파악 실험을 수행하였다. Ti을 1에서 100까지 증가시켰으며, 판단 결과를 도출하기 위해서는 훈련 시 사용한 인스턴스들과 독립적인 400여 개의 인스턴스를 입력하여 학습모듈이 판단결과를 생성하도록 하였다.
대상 데이터
3절에서 기술한 최소 실행 수에 따른 예측정확도 파악 실험을 수행하였다. 실험을 위해 Ti = 50으로 설정하였으며(평균 정확도 86%), 훈련 시 사용한 인스턴스와 독립적인 200 개의 인스턴스를 입 력하였다. 及는 1회에서 50회로 증가시켜가면서 반복적으로 수행하여, 예측의 정확도를 측정하였다.
5절에서 다단계 예측품질 측정 실험을 수행하였다. 실험을 위해 心 = 10, 及=10으로 설정하였고, 훈련 시사용한 인스턴스와는 독립적인 150개의 인스턴스를 입력하였다. Ts는 1단계에서 5단계로 증가시키며 반복적으로 실험을 수행하였다.
실험을 위해 훈련집합 크기 71을 1에서 100으로 증가시키며 학습을 실시하였다. 학습 후, 학습 시 사용한 인스턴스와 독립적인 400개의 인스턴스를 추가 생성하여 예측모델에 제공하였다.
실험을 위해 훈련집합 크기 71을 1에서 100으로 증가시키며 학습을 실시하였다. 학습 후, 학습 시 사용한 인스턴스와 독립적인 400개의 인스턴스를 추가 생성하여 예측모델에 제공하였다. 실험 후, 실제 생성된 데이터와 예측 데이터를 비교하여 판단 정확성을 파악하였다.
데이터처리
차를 구하였다. 예측품질을 파악하기 위해 도출한 결과 값들에 대한 대응표본 t-검증(paired-t test)을 실시하였다. 이 실험은 두 개의 짝을 이루는 값들에 대한 평균 차이를 측정하기 위해 이용한다.
제시하고 있다. 자원 예측과정을 살펴보면, 사전에 시스템에서 동작하는 모든 프로세스에 대한 기초 통계분석을 수행하여 이를 근거로 클러스터링 분석을 수행한다. 그 후, 이전 확률을 구하고, 특정 프로세스에 대한 상태-이전 모델을 작성한다.
이론/모형
수행하였다. 실험을 위해 실시간 모델인 TMO(Time-trig-gered Message-triggered Object) 모델을 이용하였다. 기본적인 실험 준비과정은 다음과 같다.
성능/효과
보였다.7、2>=10 으로 할 경우, 예즉정확도는 80%을 상회하는 것으로 나타났다.
결과를 통해 72 >=10일 때, 84% 이상의 예측정확도를 보이며, 长>=30이상이면, 71 = 50일 경우 제공하는 86% 정확도에 근접하는 것으로 나타났다. 따라서 及>=10 이상으로 설정해야 한다.
결과를 통해 7刑게 관계없이 Ti만큼의 수행회수를 넘게 되면, 다단계 예측의 예측 차가 최소화되는 것으로 나타났다. 따라서 后는 어떤 값으로 설정하든지 예측품질에 큰 영향을 주지는 않지만, 及이 클수록 예측 차가 크다는 점을 유의해야 한다.
결과를 통해 Ti>=10이면, 80% 이상의 판단 정확도를 보이며, 판단 정확도를 높이기 위해 Ti>=10으로 설정해야 하는 것으로 나타났다.
결과를 통해 예측정확도는 长 = 1일 경우 79%의 정확도를 보였으며, 0=10회일 경우 85%의 정확도를 보였다.7、2>=10 으로 할 경우, 예즉정확도는 80%을 상회하는 것으로 나타났다.
결과를 통해 인스턴스 수가 증가함에 따라 훈련시간도 증가하는 것을 알 수 있으며, 학습모듈의 판단 정확도가 80% 이상이기 위해서는 최소 0.001 초 이상이 소요됨을 알 수 있다.
(그림 12)와 같이, 훈련집합의 값을 이용해 예측을 하는 경우, 실제 값과의 차이가 크게 나타나지만, Ti만큼의 인스턴스가 수집되는 수행횟수 10지점에서는 1~3ms만 차이가 나는 것으로 나타났다. 또한 본 실험에서 나타난 것과 같이 실시간 프로세스가 안정적으로 동작하는 경우에는 단계간 예측 차이가 크지 않은 것으로 나타났다.
실험을 통해 학습에 사용된 인스턴스의 수가 증가할 때, 판단 정확도 역시 증가하는 것을 알 수 있다. (그림 8)에서 보듯이, 71>= 10인 경우 80% 이상의 판단 정확도를 보이는 것으로 나타났다.
후속연구
인스턴스 기반 학습 알고리즘의 경우, IB4까지 연구되었다. 따라서 향후에는 보다 고도화된 학습 알고리즘을 수행 예측모델에 적용하여, 예측 품질을 높일 수 있는 연구가 필요하다.
본 논문에서 제시한 학습기반 수행 예측모델과실행시간 프로세스 모니터의 설계는 실시간 감시 및 제어분야에서 활용될 수 있다.
하지만 실시간 프로세스는 CPU, 메모리, 입출력 등의 시스템 자원의 성능에 영향을 받게 된다. 실시간 프로세스의 수행 결과만 아니라, 실시간 프로세스가 받는 시스템 자원에 의해 받는 영향을 파악하기 위해서는 CPU, 메모리, 입출력 데이터를 다루는 다차원 자원공간 모델을 구성하고, 이를 학습기반 수행 예측모델에 적용하기 위한 연구가 필요하다.
향후 작업으로는 첫째, 특정 실시간 프로그래밍 모델(TMO (Time-triggered Message-triggered Object) 모델 등)을 이용해 본 논문에서 제시한 수행 예측모델을 적용한 실행시간 프로세스 모니터의 구현, 둘째, 다차원 자원 공간 모델을 이용한 다수의 자원에 대한 복합적 예측이 가능한 수행 예측모델의 개선하고자 한다.
참고문헌 (15)
'How To Enable Process Accounting on Linux,' http://kldp.org
정윤석, 김태완, 장천현, '실행시간 프로세스 모니터를 위한 XML기반의 데이터 저장소의 설계', 정보처리학회논문지A, 제10-A권 제6호, Dec., 2003
정윤석, 김태완, 장천현, '실행시간 프로세스 모니터를 위한 구조 설계', 정보처리학회 춘계학술발표대회논문집, 제10권 제1호, 2003
Yoon Seok Jeong, Tae Wan Kim, Chun Hyon Chang, 'Design and Implementation of Run-time TMO Monitor on LTMOS,' Proc. Embedded Systems and Applications, Jun., 2003
B. J. Min, et al., 'Implementation of a Run-time Monitor for TMO Programs on Windows NT,' IEEE Computer Jun., 2000
Kim, J. G. and Cho, S. Y., 'LTMOS : An Execution engine for TMO-Based Real-Time Distributed Objects,' Proc. PDPTA '00, LasVegas, Vol.V, pp.2713-2718, Jun., 2000
Kalyanaraman Vaidyanathan, Kishor S. Trivedi, 'A Measurement-Based Model for Estimation of Resource Exhaustion in Operational Software Systems', 10th International Symposium on Software Reliability Engineering, 1999
A. K. Mok and G. Liu, 'Efficient Run-Time Monitoring of Timing Constraints', Proc. Real-Time Technology and Application, Jun.,1997
Hyung-Taek Lim, et al., 'Monitor based Fault Management in a Distributed Environment,' 1995
B. A. Schroeder, 'On-line Monitoring : A Tutorial,' IEEE Computer, June, 1995
Mike Loukides, 'System Performance Tuning,' O'Reilly, 1990
David W. Aha, 'A Study of Instance-Based Algorithms for Supervised Learning Tasks,' Technical Report 90-42, Nov., 1990
Murthy V. Devarakonda and Ravishankar K. Iyer, 'Predictability of Process Resource Usage : A Measurement-Based Study on UNIX', IEEE Transactions on Software Engineering, Dec., 1989
※ AI-Helper는 부적절한 답변을 할 수 있습니다.