KR20110067418A - System and method for monitoring and evaluating a self-healing system - Google Patents

System and method for monitoring and evaluating a self-healing system Download PDF

Info

Publication number
KR20110067418A
KR20110067418A KR1020090124004A KR20090124004A KR20110067418A KR 20110067418 A KR20110067418 A KR 20110067418A KR 1020090124004 A KR1020090124004 A KR 1020090124004A KR 20090124004 A KR20090124004 A KR 20090124004A KR 20110067418 A KR20110067418 A KR 20110067418A
Authority
KR
South Korea
Prior art keywords
self
healing
monitoring
performance
source code
Prior art date
Application number
KR1020090124004A
Other languages
Korean (ko)
Inventor
전인걸
김원태
강우철
박승민
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090124004A priority Critical patent/KR20110067418A/en
Publication of KR20110067418A publication Critical patent/KR20110067418A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/005Network, LAN, Remote Access, Distributed System

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A system and method for monitoring and evaluating a self-healing system are provided to enable easy development of the program having a self-healing function by automatically generating a source code which can monitors a self-healing system and evaluate self-healing performance. CONSTITUTION: A self-healing system modeler(210) performs a self-healing system modeling. A self-healing manager(220) generates a source code for monitoring the self-healing system and self healing by using performance evaluating/monitoring database(240) and conditional self-healing system database(250). A self-healing efficiency evaluator(230) generates a source code for evaluating self-healing performance using said database, and evaluate the self-healing performance on the basis of the source code.

Description

자가치유 시스템의 모니터링 및 치유성능 평가를 위한 시스템 및 방법{System and method for monitoring and evaluating a self-healing system}System and method for monitoring and evaluating a self-healing system

본 발명은 컴퓨터 시스템상에서 발생하는 오류를 스스로 치유하는 자가치유 시스템의 모니터링 및 치유성능 평가를 위한 시스템 및 방법에 관한 것으로, 좀더 구체적으로는 자가치유 시스템을 모니터링하고 자가치유가 발생된 경우에는 자가치유 수행 결과를 평가하는 소스코드를 자동으로 생성하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for monitoring a self-healing system for self-healing of errors occurring on a computer system and evaluating the healing performance. The present invention relates to a system and method for automatically generating source code for evaluating performance results.

일반적인 컴퓨터 시스템은 사용자나 외부의 입력에 대하여 정해진 특정한 응답 또는 처리를 하도록 설계된다. 그러나 대부분의 시스템이 사용되는 환경에서는 미리 정의된 형태의 입력뿐만 아니라 다양한 형태의 입력이 존재하고, 심지어는 발생되지 않아야 하는 형태의 입력이 발생하기도 한다. 이러한 비정상적인 입력은 컴퓨터 시스템을 오류 상태로 만들어 정상적인 동작이 불가능하게 한다. 특히 최근 많이 사용되고 있는 대규모 분산 운영 환경에서는 하나의 시스템에 오류가 발생하면 전체 시스템이 사용 불가능해질 수 있다. 또한, 분산 환경의 특성상 시스템이 물리적으로 먼 거리에 있을 수 있기 때문에, 오류가 발생한 시스템을 수리하는데 많은 비용과 시간이 요구된다. 또한 오류가 발생한 시스템을 사용자가 직접 수리하기 위해서는 사용자가 시스템에 대한 전문적 지식을 가질 것을 요한다는 점에서 분산 환경에서의 시스템 오류는 큰 문제가 된다. 따라서, 이러한 오류가 발생한 시스템이 스스로 오류를 치유하여 정상적으로 동작할 수 있게 하는 자가치유 기술이 이용되고 있다. A general computer system is designed to give a specific response or processing to a user or external input. However, in an environment in which most systems are used, various types of inputs exist as well as predefined types of inputs, and even inputs that do not occur occur. These abnormal inputs put the computer system in an error state, which prevents normal operation. In particular, in a large distributed operating environment, which is widely used recently, when one system fails, the entire system may become unusable. In addition, due to the nature of the distributed environment, the system can be physically located at a great distance, which requires a lot of cost and time to repair the failed system. In addition, the system error in a distributed environment is a big problem in that the user needs to have expert knowledge of the system in order to repair the system in error. Therefore, self-healing technology has been used in which a system in which such an error occurs can heal the error and operate normally.

그러나 종래기술에 따른 자가치유 시스템은 각각의 시스템마다 개별적으로 동작되도록 구성되어 있어, 분산 환경에 속한 다른 시스템들의 전체적인 상태를 판단할 수 없다는 문제점을 가지고 있다. 또한, 종래기술에 따른 자가치유 시스템에 따르면 자가치유를 수행한 이후의 결과에 대한 평가를 수행하지 않는다. 따라서, 자가치유 시스템이 발생한 오류에 따라 적절하게 자가치유를 수행했는지 여부를 알 수 없다는 문제점을 가지고 있다.However, the self-healing system according to the prior art is configured to operate individually for each system, which has a problem in that it is not possible to determine the overall state of other systems in the distributed environment. Further, according to the self-healing system according to the prior art, the evaluation after the self-healing is not performed. Therefore, the self-healing system has a problem in that it is not known whether self-healing is properly performed according to an error that occurs.

전술한 종래기술의 문제점을 해결하기 위하여, 본 발명은 수 많은 시스템에서 다양한 종류의 응용 프로그램이 동작하는 분산 환경에서 시스템의 오류를 스스로 치유하는 시스템을 모니터링하고, 발생된 오류에 대응하여 자가치유 기능이 동작했을 경우 자가치유 성능을 평가하는 소스코드를 자동으로 생성하는 시스템 및 방법을 제공하는 것을 목적으로 한다.In order to solve the above-mentioned problems of the prior art, the present invention monitors a system for self-healing a system error in a distributed environment in which various types of applications are operated in many systems, and self-healing function in response to the generated error. It is an object of the present invention to provide a system and method for automatically generating source code for evaluating self-healing performance.

본 발명의 일측면에 따른, 자가치유 시스템의 모니터링 및 치유성능 평가를 위한 시스템은; 자가치유 시스템을 모델링하는 자가치유 시스템 모델러와, 성능평가 및 모니터링 정책 데이터베이스와 상황별 자가치유 시스템 데이터베이스를 이용하여 자가치유 시스템에 대한 모니터링 및 자가치유를 위한 소스코드를 생성하는 자가치유 관리기와, 성능평가 및 모니터링 정책 데이터베이스와 상황별 자가치유 시스템 데이터베이스를 이용하여 자가치유 시스템의 자가치유 성능을 평가하기 위한 소스코드를 생성하고 생성된 소스코드를 이용해 자가치유 성능을 평가하는 자가치유 성능평가기를 포함한다.According to an aspect of the present invention, a system for monitoring and evaluating the healing performance of the self-healing system; Self-healing system modeler modeling self-healing system, Self-healing manager that generates source code for self-healing and monitoring of self-healing system using performance evaluation and monitoring policy database and situational self-healing system database. Evaluation and Monitoring Includes a self-healing performance evaluator that uses the policy database and contextual self-healing system database to generate source code for evaluating the self-healing performance of the self-healing system and to evaluate the self-healing performance using the generated source code. .

본 발명의 다른 측면에 따른, 자가치유 시스템의 모니터링 및 치유성능 평가를 위한 방법은; 자가치유 시스템을 모델링하는 단계와, 모델링 정보로부터 자가치유 및 모니터링을 위한 정보와 자가치유 성능 평가를 위한 정보를 분석하는 단계 와, 자가치유 및 모니터링을 위한 연동모듈 소스코드와 모니터 소스코드를 생성하는 단계와, 연동모듈 소스코드로부터 빌드된 응용 프로그램을 수행하는 단계와, 모니터 소스코드로부터 빌드된 모니터를 수행하는 단계와, 자가치유가 수행되었는지 판단하는 단계와, 자가치유가 수행된 경우 모니터를 통해 자가치유 결과를 수집하는 단계와, 수집된 자가치유 결과를 근거로 자가치유 시스템의 자가치유 성능을 평가하는 단계를 포함한다.According to another aspect of the invention, a method for monitoring and evaluation of the healing performance of the self-healing system; Modeling the self-healing system, analyzing information for self-healing and monitoring and information for evaluating self-healing performance from the modeling information, and generating interlocking module source code and monitor source code for self-healing and monitoring. Performing a built-in application program built from the interlocking module source code, performing a monitor built from the monitor source code, determining whether self-healing has been performed, and performing self-healing through a monitor. Collecting the self-healing results and evaluating the self-healing performance of the self-healing system based on the collected self-healing results.

본 발명의 구성에 따르면, 자가치유 시스템을 개발할 때 시스템을 모니터링하고 치유 결과를 평가하기 위한 소스코드를 자동으로 생성함으로써 사용자가 손쉽게 자가치유 기능을 가진 응용 프로그램을 개발할 수 있도록 한다. 특히 다양한 응용프로그램이 존재하는 분산 운영 환경에서는 응용 프로그램마다 각각의 특성에 맞는 자가치유 방법을 설계하고 개발해야 하나, 수 많은 응용 프로그램별로 별도의 자가치유 기능을 만드는 것은 불가능하다고 할 수 있다. 그러나, 본 발명에 따른 시스템 및 방법을 이용하면 응용 프로그램 별로 그에 맞는 자가치유 기능을 용이하게 추가할 수 있다는 효과를 가지고 있다. 또한, 자가치유 기능이 수행된 이후에 자가치유 성능을 평가할 수 있어, 자가치유 시스템의 신뢰성을 보다 높일 수 있다는 효과를 가지고 있다.According to the configuration of the present invention, when the self-healing system is developed, by automatically generating the source code for monitoring the system and evaluating the healing result, the user can easily develop an application having the self-healing function. Especially in a distributed operating environment where various applications exist, it is necessary to design and develop a self-healing method for each application, but it is impossible to create a separate self-healing function for many applications. However, using the system and method according to the present invention has the effect that it is easy to add a self-healing function for each application. In addition, since the self-healing performance can be evaluated after the self-healing function is performed, the reliability of the self-healing system can be improved.

이하에서는 본 명세서에 첨부한 도면들을 참조하여 본 발명에 따른 자가치유 시스템의 모니터링 및 치유성능 평가 시스템 및 방법에 대해 보다 상세히 설명하도록 한다.Hereinafter, with reference to the accompanying drawings, the monitoring and healing performance evaluation system and method of the self-healing system according to the present invention will be described in more detail.

도 1은 본 발명에 따라 자가치유 시스템을 모니터링하고 자가치유가 수행된 결과를 평가하는 시스템(이하에서는 간단히 "자가치유 관리 시스템"으로 언급함)과 그 방법(이하에서는 간단히 "자가치유 관리 방법" 으로 언급함)이 구현될 수 있는 분산 운영 환경을 개략적으로 나타내고 있다. 분산 운영 환경에서는 다수의 시스템이 존재하며, 각 시스템상에서는 또한 다수의 응용 프로그램(AP:application program)이 포함될 수 있다. 분산 운영 환경과 관련돼서 다른 공지기술들 및 구성요소들에 대한 설명은 생략되며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 이하에서 설명하는 본 발명에 따른 시스템 및 방법이 분산 운영 환경에서 구현될 수 있는 다양한 방식들이 존재한다는 것을 명확히 이해할 수 있을 것이다. 1 is a system for monitoring a self-healing system and evaluating the results of self-healing according to the present invention (hereinafter referred to simply as "self-healing management system") and a method thereof (hereinafter simply referred to as "self-healing management method"). Is a schematic representation of a distributed operating environment in which In a distributed operating environment there are a number of systems, each of which may also include a number of application programs (APs). Descriptions of other well-known technologies and components will be omitted in relation to the distributed operating environment, and a person skilled in the art to which the present invention pertains will be described in a distributed operating environment. It will be clearly understood that there are various ways that can be implemented.

도 2는 본 발명에 따른 자가치유 관리 시스템(200)의 구조(architecture)를 나타내고 있다. 자가치유 관리 시스템(200)은 자가치유 시스템 모델러(210), 자가치유 관리기(220), 자가치유 성능평가기(230), 모니터링 및 성능평가 정책 데이터베이스(240), 그리고 상황별 자가치유 시스템 데이터베이스(250)를 포함할 수 있다. 2 shows the architecture of a self-healing management system 200 in accordance with the present invention. Self-healing management system 200 is a self-healing system modeler 210, self-healing manager 220, self-healing performance evaluator 230, monitoring and performance evaluation policy database 240, and contextual self-healing system database ( 250).

자가치유 시스템 모델러(210)는 자가치유가 적용되는 시스템을 모델링한다. 자가치유 시스템 모델러(210)에서 시스템에 대해 모델링하는 정보에는 분산 운영환경에서 응용 프로그램의 동작상태, 발생할 수 있는 오류 상태, 비정상적인 상태, 자가치유 정책 등이 포함될 수 있다. 자가 치유의 대상이 되는 시스템의 모델링은 UML을 기반으로 하고 있으며, 크게 시스템의 정적인 모습을 정의하는 구조적 모델링과 시스템의 동적인 모습을 정의하는 행위적 모델링으로 나눌 수 있다. 시스템을 구성하고 있는 컴포넌트들이 모니터링 대상이 되며 컴포넌트들은 여러 개의 클래스로 구성되고 각 컴포넌트마다 상태 정보를 가지고 있다. 컴포넌트의 상태는 보통 설계 시에 컴포넌트의 동적 환경에 대한 정보를 통해 구현 및 설계에 대한 이해를 돕기 위해서 기술된다. 보통 구조적 정보는 Package Diagram, Class Diagram, Deployment Diagram, Component Diagram, Object Diagram을 통해서 확인하며, 행위적 정보는 State Diagram, 그리고 Sequence Diagram과 같은 모델을 통해서 확인할 수 있다. The self-healing system modeler 210 models a system to which self-healing is applied. The information modeled for the system by the self-healing system modeler 210 may include an operation state of an application program, an error state that may occur, an abnormal state, a self-healing policy, and the like in a distributed operating environment. The modeling of the system to be self-healing is based on UML, and it can be divided into structural modeling that defines the static appearance of the system and behavioral modeling that defines the dynamic appearance of the system. The components that make up the system are monitored, and the components are composed of several classes and each component has state information. The state of a component is usually described at design time to help understand the implementation and design through information about the dynamic environment of the component. In general, structural information can be checked through Package Diagram, Class Diagram, Deployment Diagram, Component Diagram, Object Diagram, and behavioral information can be checked through models such as State Diagram and Sequence Diagram.

자가치유 관리기(220)는 성능평가 및 모니터링 정책 데이터베이스(240)와 상황별 자가치유 시스템 데이터베이스(250)를 이용하여 응용 프로그램에 자가치유 및 모니터링을 위한 소스코드를 삽입하고 자가치유 기능을 감시하는 모니터 소스코드를 생성하여 이를 실행시킨다. The self-healing manager 220 inserts source code for self-healing and monitoring into the application using the performance evaluation and monitoring policy database 240 and the situational self-healing system database 250 and monitors the self-healing function. Generate the source code and run it.

도 3에는 본 발명의 일실시예에 따른 자가치유 관리기(220)의 구성이 도시되어 있으며, 이하에서는 도 3을 참조하여 자가치유 관리기(220)에 대해 보다 상세히 설명한다. 도 3을 참조하면, 자가치유 관리기(220)는 모델링 정보 분석기(221), 모니터 소스코드 생성기(222), 자가치유 모니터 엔진(223), 연동모듈 소스코드 생성기(224), 자가치유 시스템 운영기(225)를 포함할 수 있다. 3 illustrates a configuration of the self-healing manager 220 according to an embodiment of the present invention, and the self-healing manager 220 will be described in detail below with reference to FIG. 3. Referring to FIG. 3, the self-healing manager 220 includes a modeling information analyzer 221, a monitor source code generator 222, a self-healing monitor engine 223, an interworking module source code generator 224, and a self-healing system operator. 225 may include.

모델링 정보 분석기(221)는 모델링 정보를 모니터링을 위한 정보와 자가치유 를 위한 정보로 분석한다. 자가 치유를 수행하기 위해서는 시스템의 모니터링이 요구되는데, 컴포넌트 단위의 모니터링을 제공하기 위해서는 컴포넌트를 구성하고 있는 클래스에 대한 정보(속성 및 함수)가 필요하다. 따라서 시스템을 구성하고 있는 컴포넌트들에 대한 정보를 정의함으로써 소스 코드 수준의 모니터링을 가능하게 하는 시스템 지식을 요구한다. 또한 컴포넌트를 구성하고 있는 클래스들과 상태 정보를 정의함으로써 정확한 의도의 컴포넌트의 상태뿐만 아니라 실제 구현된 클래스에 대한 정보를 제공한다. 특히, 시스템을 구성하고 있는 컴포넌트들의 구성 및 이름에 대한 정보뿐만 아니라, 컴포넌트 간의 관계에 대한 정보를 포함함으로써 특정 컴포넌트에 문제 발생 시 전체 시스템에 미치는 영향에 대한 정보를 제공한다. 각 컴포넌트는 컴포넌트를 구성하는 클래스들의 정보와 컴포넌트의 상태 정보로 구성된다. 클래스 정보는 클래스 집합과 클래스 간의 관계 집합으로 구성된다. 클래스는 클래스 이름, 속성집합과 행동집합으로 구성된다. 여기서 클래스의 이름, 속성, 함수의 이름은 구현된 코드를 분석하여 모니터링 대상을 식별할 때 요구되며 클래스의 생성 및 속성의 변경, 함수의 수행과 같은 세부적인 수준의 모니터링을 가능하게 한다. 자가치유를 위한 상태 정보는 상태집합과 상태전이로 구성된다. 상태집합을 구성하는 상태 S는 상태 이름, 상태로의 진입 전이, 상태에서의 탈출 전이로 구성된다. 상태 전이 집합을 구성하는 상태 전이 T는 전이 이름, 전이의 시작 상태, 전이의 목적 상태로 구성된다. 이러한 상태 정보는 시스템 이상이 발생했을 때 특정 컴포넌트의 상태에 대한 정보를 제공한다. 시스템에 대한 컴포넌트의 모니터링을 수행하고 그 결과를 바탕으로 자가 치유를 수행하여 시스템의 Reliability, Performability와 같은 시스템 특성을 평가할 수 있다. The modeling information analyzer 221 analyzes the modeling information into information for monitoring and information for self-healing. In order to perform self-healing, the monitoring of the system is required. In order to provide monitoring at the component level, information (properties and functions) about the class constituting the component is required. Therefore, it requires system knowledge to enable source code level monitoring by defining information about the components that make up the system. In addition, by defining the classes and state information of the component, it provides information about the actual implemented class as well as the state of the component with the correct intention. In particular, by including information on the configuration and name of the components constituting the system, as well as information on the relationship between the components provides information on the effect on the entire system when a problem occurs in a particular component. Each component consists of the information of the classes constituting the component and the state information of the component. Class information consists of a set of classes and a set of relationships between classes. A class consists of a class name, a property set, and an action set. Here, the name of the class, the name of the property, and the function are required to identify the monitoring target by analyzing the implemented code, and enable detailed level monitoring such as creating a class, changing a property, and executing a function. State information for self-healing consists of state sets and state transitions. State S constituting a state set consists of a state name, an entry transition into a state, and an exit transition from a state. The state transition T constituting the set of state transitions is composed of the transition name, the start state of the transition, and the destination state of the transition. This state information provides information on the state of a particular component when a system error occurs. By monitoring the components of the system and performing self-healing based on the results, system characteristics such as Reliability and Performability can be evaluated.

모니터 소스코드 생성기(222)는 모델링 정보 분석기(221)에 의해 분석된 정보에 근거하여 자가치유 성능 감시를 위한 모니터의 소스코드를 생성하며, 자가치유 모니터 엔진(223)은 모니터 소스코드 생성기(222)에 의해 생성된 모니터 소스코드를 빌드한 후 탑재하여 실제 모니터링을 수행한다. 연동모듈 소스코드 생성기(224)는 모델링 정보 분석기(221)에 의해 분석된 정보에 근거하여 자가치유 및 모니터링을 위한 모듈의 소스코드를 생성하며, 자가치유 운영기(225)는 연동모듈 소스코드 생성기(224)로부터 생성된 모듈의 소스코드를 빌드하고 빌드된 응용 프로그램을 분산 운영 환경에서 동작시키거나 운영한다. 일실시예에서, 연동모듈 소스코드 생성기(224)는 자가치유 시스템 모델러(210)에서 모델링한 자가 치유를 위한 모델을 이용하여 기존에 작성된 템플릿 코드와 연결한다. 템플릿 코드는 AOP(Aspect Oriented Programming)를 이용하여 생성되는 정보가 들어가는 부분에 태그를 지정해 두고, 정보가 생성되면 해당 부분과 매핑하여 교체하는 방식으로 생성된다. 보통 AspectJ를 통해 구현하는데, execution, handler, within 등과 같은 키워드를 이용하여 pointcut을 생성하고 데이터 저장이나 예외 탐지와 같은 특정 상황을 위한 advice로써 before, after, around를 사용한다. 이 때 UML의 Deployment Diagram과 같은 시스템의 구조를 나타내는 모델에서 성능 평가를 하기 위한 요소들을 추출한다. 추출된 정보들은 각 항목별로 일정 수준의 제약조건(Constraint)을 가진다. 이러한 제약 조건이 위배되는지를 판단하기 위해서 각 요소 별로 마련된 템플릿 코드에 추출된 정보들을 삽입하여 모니터링이 가능한 소 스코드를 생성할 수 있다.The monitor source code generator 222 generates a source code of a monitor for self-healing performance monitoring based on the information analyzed by the modeling information analyzer 221, and the self-healing monitor engine 223 generates a monitor source code generator 222. Build and mount the monitor source code generated by) to perform actual monitoring. The interlocking module source code generator 224 generates the source code of the module for self-healing and monitoring based on the information analyzed by the modeling information analyzer 221, and the self-healing operator 225 is the interlocking module source code generator Build the source code of the module generated from (224) and run or operate the built application in a distributed operating environment. In one embodiment, the interworking module source code generator 224 connects with the template code previously created using a model for self-healing modeled by the self-healing system modeler 210. The template code is generated by assigning a tag to a part containing information generated using AOP (Aspect Oriented Programming) and mapping and replacing the information when the information is generated. Usually implemented through AspectJ, create pointcut using keywords such as execution, handler, within, etc. and use before, after, around as advice for specific situation such as data storage or exception detection. At this time, the elements for performance evaluation are extracted from the model representing the structure of the system such as UML deployment diagram. The extracted information has a certain level of constraint for each item. In order to determine whether such a constraint is violated, source code that can be monitored can be generated by inserting extracted information into template code prepared for each element.

다시 도 2를 참조하면, 자가치유 성능평가기(230)는 성능평가 및 모니터링 정책 데이터베이스(240)와 상황별 자가치유 시스템 데이터베이스(250)를 이용하여 자가치유 성능평가 모델을 분석하고 성능평가 모듈의 소스코드를 생성하며 자가치유성능을 평가한다. 도 4에는 본 발명의 일실시예에 따른 자가치유 성능평가기(230)의 구성이 도시되어 있으며, 이하에서는 도 4을 참조하여 자가치유 성능평가기(230)에 대해 보다 상세히 설명한다. 도 4를 참조하면, 자가치유 성능평가기(230)는 성능평가 모델 분석기(231), 성능평가 모듈 소스코드 생성기(232), 자가치유 성능평가 엔진(233)을 포함한다. 성능평가 모델 분석기(231)는 자가치유 시스템 모델러(210)에 의해 만들어진 모델링 정보에서 성능평가 모델을 분리하여 분석한다. 성능평가 모듈 소스코드 생성기(232)는 성능평가 모델 분석기(231)에 의해 분석된 결과에 근거하여 성능평가 모듈의 소스코드를 생성한다. 자가치유 성능평가 엔진(233)은 성능평가 모듈 소스코드 생성기(232)에 의해 생성된 성능평가 모듈을 빌드한 후 탑재하여 성능평가를 수행한다.Referring back to FIG. 2, the self-healing performance evaluator 230 analyzes the self-healing performance evaluation model using the performance evaluation and monitoring policy database 240 and the contextual self-healing system database 250, and analyzes the performance of the performance evaluation module. Generate source code and evaluate self-healing performance. 4 illustrates a configuration of the self-healing performance evaluator 230 according to an embodiment of the present invention. Hereinafter, the self-healing performance evaluator 230 will be described in more detail with reference to FIG. 4. Referring to FIG. 4, the self-healing performance evaluator 230 includes a performance evaluation model analyzer 231, a performance evaluation module source code generator 232, and a self-healing performance evaluation engine 233. The performance evaluation model analyzer 231 separates and analyzes the performance evaluation model from the modeling information generated by the self-healing system modeler 210. The performance evaluation module source code generator 232 generates the source code of the performance evaluation module based on the result analyzed by the performance evaluation model analyzer 231. The self-healing performance evaluation engine 233 builds and mounts a performance evaluation module generated by the performance evaluation module source code generator 232 to perform performance evaluation.

성능평가 및 모니터링 정책 데이터베이스(240)에는 자가치유 시스템에 따라 변경될 수 있는 모니터링 정책, 성능평가 정책 등의 데이터가 포함될 수 있으며, 상황별 자가치유 시스템 데이터베이스(250)에는 여러가지 오류 상황에 따라 달리 대응하는 자가치유 시스템의 데이터가 포함될 수 있다. The performance evaluation and monitoring policy database 240 may include data such as a monitoring policy and a performance evaluation policy, which may be changed according to the self-healing system, and the self-healing system database 250 for each situation may respond differently according to various error situations. Data from self-healing systems.

도 5는 본 발명에 따른 자가치유 관리 방법을 수행하는 일실시예를 나타내는 흐름도이다. 이하에서는, 도 1 내지 5를 참조하여 본 발명에 따른 자가치유 관 리 방법에 대해 보다 상세히 설명하도록 한다. 5 is a flowchart illustrating an embodiment of performing a self-healing management method according to the present invention. Hereinafter, the self-healing management method according to the present invention will be described in more detail with reference to FIGS. 1 to 5.

먼저, 자가치유 시스템 모델러(210)에 의해 자가치유가 적용될 시스템이 모델링된다(단계500). 일실시예에서, 사용자가 그래픽 사용자 인터페이스를 통해 자가치유 시스템을 적용하고자 하는 시스템을 모델링할 수 있다. First, a system to which self-healing is to be applied is modeled by the self-healing system modeler 210 (step 500). In one embodiment, a user may model a system through which the user wishes to apply a self-healing system through a graphical user interface.

단계500에서 시스템을 모델링한 결과, 즉 모델링 정보는 크게 모니터링 및 자가치유를 위한 정보와 자가치유 성능평가를 위한 정보로 구분될 수 있다. 단계510에서는 모니터링 및 자가치유를 위한 정보를 분석하고 단계530에서는 성능평가를 위한 정보를 분석하게 된다. 이하에서는 설명의 명료함을 위해 단계510을 먼저 설명하나 단계510을 포함한 단계들과 단계530을 포함한 단계들이 반드시 순차적으로 실행되는 것은 아니라는 것을 이해하여야 한다.As a result of modeling the system in step 500, that is, the modeling information may be largely divided into information for monitoring and self-healing and information for self-healing performance evaluation. In step 510, information for monitoring and self-healing are analyzed, and in step 530, information for performance evaluation is analyzed. In the following, step 510 is first described for clarity of explanation, but it should be understood that the steps including step 510 and the steps including step 530 are not necessarily executed sequentially.

먼저, 단계510에서는 성능평가 및 모니터링 정책 데이터베이스(240)와 상황별 자가치유 시스템 데이터베이스(250)를 참고하여 자가치유를 위한 정보와 모니터링을 위한 정보로 분석한다. 단계511에서는 단계510에서 분석된 정보에 근거하여 응용 프로그램에 삽입될 자가치유 및 모니터 연동모듈의 소스코드를 생성하고, 단계521에서는 단계510에서 분석된 정보에 근거하여 자가치유 시스템을 감시하기 위한 모니터의 소스코드를 생성한다. 단계512에서는 단계511에서 생성된 소스코드를 빌드하고, 이를 자가치유 시스템 운영기(225)에 적재한다(단계513). 빌드된 응용 프로그램은 자가치유 시스템 운영기(225)에 의해 분산 운영 환경에서 운영된다(단계514). 또한, 단계521에서 생성된 모니터의 소스코드를 빌드하고(단계522), 이를 자가치유 모니터 엔진(223)에 적재한다(단계523). 자가치유 모니터 엔진(223)에 의 해 모니터링이 수행된다(단계524). First, in step 510, the performance evaluation and monitoring policy database 240 and the contextual self-healing system database 250 are analyzed with information for self-healing and information for monitoring. In step 511, the source code of the self-healing and monitor interworking module to be inserted into the application program is generated based on the information analyzed in step 510. In step 521, a monitor for monitoring the self-healing system based on the information analyzed in step 510. Generate source code for. In step 512, the source code generated in step 511 is built and loaded into the self-healing system operator 225 (step 513). The built application is run in a distributed operating environment by the self-healing system operator 225 (step 514). In addition, the source code of the monitor generated in step 521 is built (step 522), and loaded into the self-healing monitor engine 223 (step 523). Monitoring is performed by the self-healing monitor engine 223 (step 524).

단계530에서는, 성능평가 및 모니터링 정책 데이터베이스(240)와 상황별 자가치유 시스템 데이터베이스(250)를 참고하여 자가치유 성능평가를 위한 성능평가 모델을 분석하며, 성능평가 모델의 자가치유가 발생하기 이전과 이후의 상태를 비교하여 자가치유 성능을 분석할 수 있는 정보를 생성하게 된다. 단계531에서는 단계530에서 생성된 정보를 이용하여 자가치유 성능평가 모듈의 소스코드를 생성한다. 단계531에서 생성된 자가치유 성능평가 모듈의 소스코드를 빌드하고(단계532), 그 결과가 자가치유 성능평가 엔진(233)에 적재된다(단계533).In step 530, the performance evaluation model for self-healing performance analysis is analyzed with reference to the performance evaluation and monitoring policy database 240 and the situation-specific self-healing system database 250, and before self-healing of the performance evaluation model occurs. The state is then compared to generate information to analyze self-healing performance. In step 531, the source code of the self-healing performance evaluation module is generated using the information generated in step 530. The source code of the self-healing performance evaluation module generated in step 531 is built (step 532), and the result is loaded into the self-healing performance evaluation engine 233 (step 533).

단계540에서는 분산 운영 환경에서 실행되는 응용 프로그램이 오류를 발견하여 자가치유 기능을 수행했는지 판단한다. 응용 프로그램의 자가치유 기능은 응용 프로그램내에 미리 탑재되어 있는 자가치유 모듈을 통해 수행될 수 있다. 단계540에서 자가치유 기능이 수행된 것으로 판단되면, 모니터를 통해 분산 운영 환경에서 동작하고 있는 응용 프로그램의 다양한 정보(자원상태, 로그 정보, 이벤트 신호, 자가치유 정보) 등이 수집된다(단계550). 수집되는 정보에는 분산 운영 환경에서 자가치유를 수행한 응용프로그램과 상호작용하는 시스템의 정보도 같이 수집될 수 있다. In operation 540, the application running in the distributed operating environment detects an error and determines whether the self-healing function is performed. The self-healing function of an application may be performed through a self-healing module preloaded in the application. If it is determined in step 540 that the self-healing function is performed, various information (resource status, log information, event signal, self-healing information) of an application running in a distributed operating environment is collected through the monitor (step 550). . The information collected may also include information about systems that interact with self-healing applications in a distributed operating environment.

단계560에서는 단계550에서 수집된 정보를 근거로 자가치유 성능을 평가한다. 자가치유 성능은 단계530에서 분석된 성능평가 모듈을 근거로 하여 정량적인 평가가 수행될 수 있다. In step 560, the self-healing performance is evaluated based on the information collected in step 550. Self-healing performance may be quantitatively evaluated based on the performance evaluation module analyzed in step 530.

단계560에서 수행된 자가치유 성능 평가는 사용자에게 보고될 수 있다(단계 570).The self-healing performance assessment performed at step 560 may be reported to the user (step 570).

위에서 설명한 바와 같은, 본 발명에 따른 자가치유 관리 시스템 및 방법에 따르면, 자가치유가 적용될 시스템의 특성, 정보에 따라 자가치유 시스템이 적절히 그리고 용이하게 적용될 수 있으며, 자가치유가 수행된 결과가 자동으로 보고될 수 있게 된다.As described above, according to the self-healing management system and method according to the present invention, the self-healing system can be appropriately and easily applied according to the characteristics and information of the system to which the self-healing is applied, and the result of self-healing is automatically Can be reported.

전술한 실시예들은 본 발명을 보다 상세히 설명하기 위해 기술한 것이며 이러한 실시예들로 본 발명을 제한하려는 의도가 아님을 주의하여야 한다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 의도 및 범위에 포함되는 다양한 변경, 변화가 가능함을 이해할 수 있을 것이다.It should be noted that the foregoing embodiments have been described in order to illustrate the invention in more detail and are not intended to limit the invention to these embodiments. In addition, one of ordinary skill in the art to which the present invention pertains, it will be understood that various modifications and changes that are included in the intention and scope of the present invention are possible.

도 1은 본 발명에 따른 자가치유 관리 시스템이 구현될 수 있는 분산 운영 환경을 개략적으로 나타내고 있다. 1 schematically illustrates a distributed operating environment in which a self-healing management system according to the present invention may be implemented.

도 2는 본 발명에 따른 자가치유 관리 시스템의 구조(architecture)를 나타내고 있다. 2 shows an architecture of a self-healing management system according to the present invention.

도 3은 본 발명의 일실시예에 따른 자가치유 관리기의 구성을 나타내고 있다.3 shows a configuration of a self-healing manager according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 자가치유 성능평가기의 구성을 나타내고 있다. 4 shows a configuration of a self-healing performance evaluator according to an embodiment of the present invention.

도 5는 본 발명에 따른 자가치유 관리 방법을 수행하는 일실시예를 나타내는 흐름도이다.5 is a flowchart illustrating an embodiment of performing a self-healing management method according to the present invention.

Claims (1)

자가치유 시스템의 모니터링 및 치유성능 평가를 위한 시스템에 있어서,In the system for monitoring the self-healing system and evaluation of the healing performance, 상기 자가치유 시스템을 모델링하는 자가치유 시스템 모델러와,A self-healing system modeler for modeling the self-healing system; 성능평가 및 모니터링 정책 데이터베이스와 상황별 자가치유 시스템 데이터베이스를 이용하여, 상기 자가치유 시스템에 대한 모니터링 및 자가치유를 위한 소스코드를 생성하는 자가치유 관리기와,A self-healing manager that generates source code for monitoring and self-healing of the self-healing system by using a performance evaluation and monitoring policy database and a situational self-healing system database; 상기 성능평가 및 모니터링 정책 데이터베이스와 상기 상황별 자가치유 시스템 데이터베이스를 이용하여, 상기 자가치유 시스템의 자가치유 성능을 평가하기 위한 소스코드를 생성하고 생성된 소스코드를 이용해 자가치유 성능을 평가하는 자가치유 성능평가기Self-healing to generate a source code for evaluating the self-healing performance of the self-healing system using the performance evaluation and monitoring policy database and the situation-specific self-healing system database and to evaluate self-healing performance using the generated source code Performance Evaluator 를 포함하는, 자가치유 시스템의 모니터링 및 치유성능 평가를 위한 시스템.Including, the system for monitoring and healing performance of the self-healing system.
KR1020090124004A 2009-12-14 2009-12-14 System and method for monitoring and evaluating a self-healing system KR20110067418A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090124004A KR20110067418A (en) 2009-12-14 2009-12-14 System and method for monitoring and evaluating a self-healing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090124004A KR20110067418A (en) 2009-12-14 2009-12-14 System and method for monitoring and evaluating a self-healing system

Publications (1)

Publication Number Publication Date
KR20110067418A true KR20110067418A (en) 2011-06-22

Family

ID=44399869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090124004A KR20110067418A (en) 2009-12-14 2009-12-14 System and method for monitoring and evaluating a self-healing system

Country Status (1)

Country Link
KR (1) KR20110067418A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101347748B1 (en) * 2011-10-10 2014-01-06 성균관대학교산학협력단 Autonomic computing apparatus and method in cyber physical systems
KR101440299B1 (en) * 2010-11-16 2014-09-17 한국전자통신연구원 System and method for self-healing
CN113131615A (en) * 2021-04-20 2021-07-16 广东电网有限责任公司 Self-healing technology evaluation method and system for distribution network master station
CN113408860A (en) * 2021-05-26 2021-09-17 国网福建省电力有限公司厦门供电公司 Fault self-healing evaluation method for urban comprehensive energy system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101440299B1 (en) * 2010-11-16 2014-09-17 한국전자통신연구원 System and method for self-healing
US9372742B2 (en) 2010-11-16 2016-06-21 Electronics And Telecommunications Research Institute System and method for self-healing
KR101347748B1 (en) * 2011-10-10 2014-01-06 성균관대학교산학협력단 Autonomic computing apparatus and method in cyber physical systems
CN113131615A (en) * 2021-04-20 2021-07-16 广东电网有限责任公司 Self-healing technology evaluation method and system for distribution network master station
CN113408860A (en) * 2021-05-26 2021-09-17 国网福建省电力有限公司厦门供电公司 Fault self-healing evaluation method for urban comprehensive energy system

Similar Documents

Publication Publication Date Title
JP7164017B2 (en) Systems and methods for optimizing control flow graphs for functional safety using fault tree analysis
US10067855B2 (en) Error developer association
US7882495B2 (en) Bounded program failure analysis and correction
EP3616066B1 (en) Human-readable, language-independent stack trace summary generation
US7685471B2 (en) System and method for detecting software defects
Lauer et al. Fault tree synthesis from UML models for reliability analysis at early design stages
WO2001033354A1 (en) A method for isolating a fault from error messages
Robinson et al. On the testing of user‐configurable software systems using firewalls
Granda et al. What do we know about the defect types detected in conceptual models?
Chen et al. Automatic fault tree derivation from little-jil process definitions
CN103186463B (en) Determine the method and system of the test specification of software
EP3752945A1 (en) Automatic generation of patches for security violations
KR20110067418A (en) System and method for monitoring and evaluating a self-healing system
JP2011221803A (en) Test tool and test method
Cârlan et al. Arguing on software-level verification techniques appropriateness
CN115687071A (en) Component verification for embedded software systems
Püschel et al. Testing self-adaptive software: requirement analysis and solution scheme
Ehlers Self-adaptive performance monitoring for component-based software systems
Mosser et al. Workflow design using fragment composition: crisis management system design through ADORE
Cortellessa et al. Software model refactoring driven by performance antipattern detection
Kim et al. Assessment of high integrity software components for completeness, consistency, fault-tolerance, and reliability
Singh et al. Exploring problems and solutions in estimating testing effort for non functional requirement
Majzik et al. Tool-supported dependability evaluation of redundant architectures in computer based control systems
Agirre et al. Multidimensional framework for characterizing verification and validation of automated systems
Anandapadmanabhan Improved Run Time Error Analysis Using Formal Methods for Automotive Software-Improvement of Quality, Cost Effectiveness and Efforts to Proactive Defects Check

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application