KR101961379B1 - 자가 적응형 로봇 시스템 및 그의 오류 검출 방법 - Google Patents

자가 적응형 로봇 시스템 및 그의 오류 검출 방법 Download PDF

Info

Publication number
KR101961379B1
KR101961379B1 KR1020170061747A KR20170061747A KR101961379B1 KR 101961379 B1 KR101961379 B1 KR 101961379B1 KR 1020170061747 A KR1020170061747 A KR 1020170061747A KR 20170061747 A KR20170061747 A KR 20170061747A KR 101961379 B1 KR101961379 B1 KR 101961379B1
Authority
KR
South Korea
Prior art keywords
behavior model
self
unit
action
error
Prior art date
Application number
KR1020170061747A
Other languages
English (en)
Other versions
KR20180126832A (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 KR1020170061747A priority Critical patent/KR101961379B1/ko
Publication of KR20180126832A publication Critical patent/KR20180126832A/ko
Application granted granted Critical
Publication of KR101961379B1 publication Critical patent/KR101961379B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법은 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처하는 단계와, 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축하는 단계와, 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성하는 단계와, 로봇시스템 운영시 시나리오와 동일한 시나리오 수행에 따라 자동 생성된 일반동작 행위모델을 추출하는 단계 및 일반동작 행위모델을 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 단계를 포함한다.

Description

자가 적응형 로봇 시스템 및 그의 오류 검출 방법{SELF ADAPTIVE ROBOT SYSTEM AND METHOD FOR DETECTING ERRORS THEROF}
본 발명은 자가 적응형 로봇 시스템 및 그의 오류 검출 방법에 관한 것으로, 더욱 상세하게는 컴포넌트 기반의 로봇 시스템에서 메시지 호출 로그를 이용하여 자신의 오류를 검출하되, 부정 오류 검출을 감소시킬 수 있는 시스템 및 그 방법에 관한 것이다.
단순한 청소 로봇부터 복잡한 휴머노이드에 이르기까지 서비스 로봇은 다양한 분야에 걸쳐 인간 사회에 지대한 영향을 미치게 될 것으로 기대하고 있으며, 이로 인해 서비스 로봇 도메인(service robot domain)이 점진적으로 주목을 받고 있다. 이하에서 인용되는 비특허문헌들은 이러한 서비스 로봇의 영향과 활용에 대해 소개하고 있다.
본질적으로 서비스 로봇은 컴포넌트(component) 기반의 분산 시스템으로 구현되며, 서비스 로봇을 구성하는 다수의 컴포넌트는 상당 부분 제3의 개발사에 의해 개발되어, 블랙박스(black-box)의 형태(예를 들어, COTS가 이에 해당한다.)로서 제공된다. 이러한 경우, 제3 자에 의해 개발된 컴포넌트는 내부 접근 제한이 있는 실행 가능한 형태로만 제공되기 때문에, 기능과 인터페이스에 대한 매우 제한적인 정보만이 이용 가능하다. 이로 인해, 시스템 관리자 및 통합자가 시스템의 기능적 행위를 이해하고 확인하는데 어려움을 겪게 되는 문제가 발생하고 있다.
M. Kim, S. Kim, S. Park, M.-T. Choi, M. Kim, and H. Gomaa, "Service robot for the elderly," Robotics Automation Magazine, IEEE, vol. 16, no. 1, pp. 34-45, 2009. B. Graf, M. Hans, and R. D. Schraft, "Care-o-bot iidevelopment of a next generation robotic home assistant," Auton. Robots, vol. 16, pp. 193-205, 2004.
본 발명이 해결하고자하는 과제는 자가 적응형 로봇 시스템의 행위모델에 대한 오류 검출시 민감도를 낮추고, 부정오류 검출을 감소시킬 수 있는 자가 적응형 로봇시스템의 오류 검출 방법 및 시스템를 제공하는데 있다.
본 발명의 일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법은 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처하는 단계와, 상기 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축하는 단계와, 상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성하는 단계와, 상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오 수행결과 자동 생성된 일반동작 행위모델을 추출하는 단계 및 상기 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 단계를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 메시지 호출 로그를 캡처하는 단계는, 상기 캡처된 메시지 호출 로그 각각에 고유한 식별자를 부여하고, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭을 XML(extensible markup language) 형태로 저장한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 식별하여 제거하는 단계는, 상기 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 수행순서가 무의미한 단위기능은, 2개 이상의 시나리오에 의해 생성된 행위모델에서 반복적으로 발견되고, 특정 행위와의 선후관계가 불분명한 메시지를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 단계는 일반동작 행위모델을 추출한 동일한 시나리오에 해당하는 상기 정상동작 행위모델을 추출하는 단계와, 상기 추출된 정상동작 행위모델과 상기 일반동작 행위모델을 비교하는 단계 및 비교결과, 상이한 부분을 잠재적 오류로 검출하는 단계를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 행위 다이어그램을 구축하는 단계는, 상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하는 단계 및 반복적으로 상기 행위를 추출하고, 상기 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시키는 단계를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하는 단계는, 상기 메시지 호출 로그 내에 포함된 메시지가 시간순서에 따라 나타나는 반복 패턴에 기초하여 상기 메시지의 반복횟수를 계수하는 단계 및 상기 계수 결과, 반복횟수가 동일한 메시지를 시퀀스로 묶는 단계를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법은 상기 자가 적응형 로봇시스템 오류가 검출되면 오류에 대한 자가 회복 여부에 따라 대응방안을 선택하는 단계 및 상기 선택된 대응방안을 반영하여 상기 자가 적응형 로봇시스템에서 소프트웨어 서비스를 계속적으로 제공하는 단계를 더 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 대응방안을 선택하는 단계는, 상기 대응방안으로 오류가 발생된 소프트웨어를 자가 회복할 것인지, 오류 발생된 소프트웨어를 대체 소프트웨어로 교체할 것인지, 해당 컴포넌트를 교체할 것인지 선택한다.
일실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 방법에서 상기 자가 회복은, 오류 발생된 소프트웨어 외부에서 해당 소프트웨어의 내용을 추가, 수정 및 삭제 중 적어도 하나를 통해 회복을 수행한다.
본 발명의 일 실시 예에 따른 자가 적응형 로봇시스템은 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처하는 로그 캡처부와, 상기 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축하는 행위 다이어그램 구축부와, 상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성하는 정상동작 행위모델 생성부와, 상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오 수행결과 자동 생성된 일반동작 행위모델을 추출하는 일반동작 행위모델 추출부 및 상기 일반동작 행위모델을 상기 정상모드 행위모델과 비교하여 상이한 부분을 오류로 검출하는 오류 검출부를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 로그 캡처부는,상기 캡처된 메시지 호출 로그 각각에 고유한 식별자를 부여하고, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭을 XML(extensible markup language) 형태로 저장한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 처리부는 상기 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 수행순서가 무의미한 단위기능은 2개 이상의 시나리오에 의해 생성된 행위모델에서 반복적으로 발견되고, 특정 행위와의 선후관계가 불분명한 메시지를 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 일반동작 행위모델 추출부는 상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오를 수행하여 발생된 메시지 호출 로그를 캡처하고, 상기 메시지 호출 로그를 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축함으로써 상기 일반동작 행위모델을 추출한다.
일실시 예에 따른 자가 적응형 로봇시스템은 상기 자가 적응형 로봇시스템 오류가 검출되면 오류에 대한 자가 회복 여부에 따라 대응방안을 선택하고, 상기 선택된 대응방안을 반영하여 상기 자가 적응형 로봇시스템에서 소프트웨어 서비스를 계속적으로 제공하는 대응부를 더 포함한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 대응부는 상기 대응방안으로 오류가 발생된 소프트웨어를 자가 회복시키는 S/W 회복부와, 오류 발생된 소프트웨어를 대체 소프트웨어로 교체하는 S/W 교체부 및 오류가 발생된 해당 컴포넌트를 교체하기 위한 컴포넌트 교체부로 구성된다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 S/W 회복부는 오류 발생된 소프트웨어 외부에서 해당 소프트웨어의 내용을 추가, 수정 및 삭제 중 적어도 하나를 통해 회복을 수행한다.
일실시 예에 따른 자가 적응형 로봇시스템에서 상기 행위 다이어그램 구축부는 상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하고, 반복적으로 상기 행위를 추출하며, 상기 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시킨다.
본 발명의 일실시 예에 따르면, 컴포넌트 외부에서 검출되는 메시지 호출 로그들로부터 행위 다이어그램을 구축하고, 이중 호출 순서가 정해지지 않았거나 특정 행위와의 선후관계가 불분명하거나 무패턴에 해당하는 단위기능들을 행위모델 비교대상에서 제외시킴으로써, 자가 오류 검출 시 민감도를 낮추어 부정오류 검출을 감소시킨다.
아울러, 컴포넌트에 내부 접근을 하지 않고도, 컴포넌트 외부에서 캡처된 메시지 호출 로그들을 시나리오별로 잘라내어 각각의 시나리오별로 하나의 행위모델을 생성시킬 수 있고, 이로 인해 시나리오별 행위모델을 대상으로 자가 오류를 검출하기 때문에 실시간에 로봇 시스템 스스로가 자신의 오류를 신속하게 검출할 수 있는 효과가 있다.
더불어, 본 발명은 오류검출의 단위를 단일 시나리오별로 쪼개어 리코딩함으로써, 시나리오 수행 순서가 상이해서 검출되는 부정오류를 감소시킬 수 있다.
도 1은 본 발명의 일실시 예에 따른 자가 적응형 로봇시스템의 개략적인 구성을 도시하는 블록도이다.
도 2는 일반적인 오류 검출 기법에 의해 발생된 부정오류를 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 결과를 설명하기 위한 예시도이다.
도 4는 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 검출 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 회복 방법을 설명하기 위한 순서도이다.
본 발명의 실시예들을 설명하기에 앞서, 서비스 로봇 기술 분야에 대한 특성과 문제점들을 소개한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 순차적으로 제시하도록 한다.
시스템 운영 시에 사람의 개입을 최소화하면서 소프트웨어 시스템 스스로가 문제를 발견하여 분석하고 이에 대해 대처해나가는 자가 적응형 소프트웨어의 필요성이 대두되고 있다.
오류검출을 소프트웨어 시스템 스스로가 검출해야하는 자가 적응형 시스템의 경우, 다양한 소스로부터 개발되어 블랙박스 형태로 내재되는 컴포넌트와의 상호작용으로부터 시스템 전체의 잠재적인 오류를 찾아내기는 더욱 힘든 일이다.
이러한 문제를 해결하기 위해, 컴포넌트 내부 정보로부터 오류를 검출하지 않고, 컴포넌트 외부에서 검출 가능한 행위로부터 오류를 검출해내는 동적 분석 기법들이 제안되어 왔다. 그러나, 기존 기법들은 멀티쓰레딩 기반의 시스템에서 쓰레드 ID와 같은 관련 정보들을 얻을 수 있다는 가정을 설정하고 있다.
그러나, 자가 적응형 로봇 도메인에서는 멀티쓰레딩 운영 중에 이러한 쓰레드 정보를 얻는 것은 매우 어려운 일이다.
시스템 운영 중 자동 생성된 행위모델과 시스템 개발 이후 무결점 상황에서 캡처된 로그로부터 생성시킨 행위모델을 비교분석하여, 상이한 부분을 잠재적인 오류로 검출해내는 방안이 있다. 그러나 이러한 선행기술에서 제시하는 기법은 상당한 양의 부정오류 검출이 발생하는 문제점이 존재한다.
행위모델을 이루는 메시지들은 호출 순서가 미리 정의되어 있으며, 이러한 기능의 메시지들의 순서는 시스템 작동 전체에 걸쳐 유지되어야 한다. 로봇 시스템이 일반모드에서 동작하다보면 행위모델을 이루는 메시지들 사이에는 패턴이 없는 단위 기능이나 수행순서가 무의미한 단위기능들이 무작위로 포함될 수 있다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
개괄적으로 본 발명의 실시예들은 크게 2가지 단계로 로봇시스템이 자가 적응을 수행한다. 첫째는 자가 오류 검출이고, 둘째는 앞 단계에서 검출된 오류를 회복하는 과정을 포함한다. 첫 번째 단계에서 캡처된 메시지 호출 로그로부터 행위 다이어그램을 구축하고, 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제외시켜 이를 정상모드 행위모델과 비교하여 자신의 오류를 검출하고, 두 번째 단계에서는 이전 단계에서 검출된 오류에 대한 자가 회복 여부에 따라 대응방안을 실행함으로써, SW 시스템 스스로가 문제를 발견하되, 부정오류 검출을 줄이고, 검출된 오류를 분석하여 이에 대처하는 자가 적응형 로봇시스템을 구현할 수 있다.
도 1은 본 발명의 일실시 예에 따른 자가 적응형 로봇시스템의 개략적인 구성을 도시하는 블록도이다.
도 1을 참조하면, 본 발명의 일실시 예에 따른 자가 적응형 로봇시스템(100)은 로그 캡처부(110), 행위 다이어그램 구축부(120), 정상동작 행위모델 생성부(130), 일반동작 행위모델 추출부(140), 오류 검출부(150), 제어부(160) 및 대응부(170)를 포함하여 구성된다.
로그 캡처부(110)는 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트(component) 간 메시지 호출 로그를 캡처한다. 이를 위해 현재 실행되고 있는 로봇 소프트웨어에 내재된 프로브(probe)를 통해 로봇 소프트웨어 내부에서 컴포넌트 간의 메시지 호출이 발생할 때마다 발생하는 로그를 캡처하여 적응형 소프트웨어 프레임워크상의 저장소에 저장한다.
로그 캡처부(110)에 의해 캡처된 로그 각각에는 고유한 식별자가 부여되며, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭이 XML(extensible markup language) 형태로 저장된다.
행위 다이어그램 구축부(120)는 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축한다. 구체적으로, 행위 다이어그램 구축부(120)는 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별한다. 이를 위해 메시지 호출 로그 내에 포함된 메시지가 시간순서에 따라 나타나는 반복패턴에 기초하여 메시지의 반복횟수를 계수하고 계수 결과, 반복횟수가 동일한 메시지를 시퀀스로 묶을 수 있다. 그리고, 메시지들 간의 순서를 고려하여 메시지의 불변(unchangeable) 순서에 따르는 행위만을 여과하고, 메시지들 간의 호출 관계를 고려하여 동일한 기능을 나타내는 행위만을 정제할 수 있다.
로그 캡처부(120)에 의해 저장된 XML 형태의 로그로부터 반복적으로 호출되는 메시지의 시퀀스 묶음을 예를 들어, <M1, M2, M3> 또는 <M3, M5>와 같은 형태로 묶어낸다. 각각의 메시지 시퀀스 묶음을 “Stop attention”, “play sound effect”, “request to speak” 등의 의미를 가지는 시스템의 단위 기능으로 식별한다(단위기능 식별). 단위기능 식별은 메시지 시퀀스에 의미(semantic)를 부여하는 작업으로서, 개발자에 의해 미리 설정될 수 있다.
메시지 시퀀스와 단위 기능간의 매핑이 실행된 후, 메시지 시퀀스와 단위기능간의 매핑관계는 행위 다이어그램 구축부(130)에 저장된다.
그리고, 행위 다이어그램 구축부(130)는 반복적으로 단위기능을 의미하는 행위(activity)를 추출하며, 단위기능을 의미하는 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시켜 나간다.
즉, 행위 다이어그램 구축부(130)는 반복적인 행위 추출을 통해 하나의 시나리오를 수행하는 동안 발생하는 로그 뭉치들을 분석하여, 행위와 행위 간의 쓰레드를 나타내는 행위 다이어그램을 완성시켜 나간다(기능적 쓰레드 추출).
정상동작 행위모델 생성부(140)는 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위기능을 식별하여 제거함으로써, 정상동작 행위모델을 생성한다. 즉, 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거한다. 수행순서가 무의미한 단위기능은 2개 이상의 시나리오에 의해 생성된 행위모델에서 반복적으로 발견되고, 특정 행위와의 선후관계가 불분명한 메시지를 의미한다.
정상동작 행위모델 생성부(140)는 로봇 소프트웨어 개발이후, 에러프리(무결점) 상황에서 단일한 시나리오를 수행하는 동안 캡처된 로그 메시지 분석 결과 추출된 행위 다이어그램을 정상모드 행위모델로서 저장해둔다.
일반동작 행위모델 추출부(140)는 로봇시스템 운영시 하나의 시나리오 수행에 대응하여 추출된 일반동작 행위모델을 추출한다. 즉, 일반동작 행위모델 추출부(140)는 로봇시스템 운영시 하나의 시나리오를 수행하여 발생된 메시지 호출 로그를 캡처하고, 상기 메시지 호출 로그를 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축함으로써, 일반동작 행위모델을 추출한다. 여기서 정상동작 행위모델과 일반동작 행위모델을 도출하게 된 시나리오는 동일하다.
오류 검출부(150)는 시나리오 수행 시 무결점 상황에서 생성된 정상모드 행위모델과 일반동작 행위모델을 비교하여 상이한 부분을 오류로 검출한다.
로봇 소프트웨어 개발 이후, 무결점 상황에서 단일한 시나리오를 수행하는 동안 캡처된 로그 메시지 분석 결과 추출된 행위 다이어그램은 일반 운영모드에서의 시스템 행위 모델의 에러를 검출할 때 비교 대상이 되는 정답에 해당된다.
도 2는 일반적인 오류 검출 기법에 의해 발생된 부정오류를 설명하기 위한 예시도이고, 도 3은 본 발명의 실시 예에 따른 자가 적응형 로봇시스템의 오류 검출 결과를 설명하기 위한 예시도이다.
도 2를 살펴보면, 왼쪽 순서도는 무결점 상황에서 정상모드시 생성된 행위모델 즉, 정상동작 행위모델을 나타내고, 오른쪽 순서도에 기술된 행위모델은 서비스 로봇 시스템이 특정구역을 ‘Navigating’하는 동일한 시나리오 수행결과 자동 생성된 행위 다이어그램을 나타낸다.
두 행위 다이어그램에 기술된 쓰레드를 살펴보면, B2: Speaking 기능과 F1: Stop attention 기능의 수행 순서가 다름을 알 수 있다.
이처럼 두 행위 다이어그램간의 불일치가 발견되면, 일반적인 오류 검출 기법에서는 두 행위 다이어그램간의 불일치를 오류로 검출하게 된다. 그러나, 검출된 오류 내용을 살펴보면, B2: Speaking 기능은 상황에 따라 그 순서가 일정하게 진행되어야 할 필요가 없는 기능임을 알 수 있다. 따라서 B2: Speaking의 위치가 다르다고 하여 시스템이 오동작하고 있는 것으로 판단하는 것은 바람직하지 않다. 이처럼 오류상황이 아님에도 검증결과 오류 판정이 발생된 것을, 부정 오류(False negative)가 검출되었다고 한다.
본 발명은 이러한 부정오류 검출을 최소화하기 위해, 캡처된 행위모델을 그대로 비교 대상으로 저장하는 것이 아니라, 도 3에 도시된 바와 같이, 행위 다이어그램에서 특정한 위치가 정해져 있지 않거나, 패턴이 없는 단위기능들(일명, 노이즈 메시지(noise message)라 칭함)을 식별하여, 이들을 행위 다이어그램에서 제외시킴으로써 비교 대상에서 제외시킨다.
노이즈 메시지는 여러 개의 시나리오를 표현하는 N개의 행위 다이어그램 상에서, 수행 시점에 정해진 패턴이 없는 단위기능을 의미한다. 도 3의 행위 다이어그램에서 단위기능 중 B2: Speaking 외에도 B3: Play sound가 노이즈 메시지에 해당된다. 도 3에서는 도 2와 동일한 두 개의 행위 다이어그램 비교를 통해 오류검출 결과가 발생되었으나, 수행순서가 무의미한 B2와 B3의 단위기능을 제거하고 비교함으로써, 도 3에서 검출되었던 부정오류 검출 문제가 해결됨을 확인할 수 있다.
제어부(160)는 자가 적응형 로봇시스템(100)의 동작을 전반적으로 제어한다.
대응부(170)는 자가 적응형 로봇시스템 오류가 검출되면 오류에 대한 자가 회복 여부에 따라 대응방안을 선택하고, 상기 선택된 대응방안을 반영하여 상기 자가 적응형 로봇시스템에서 소프트웨어 서비스를 계속적으로 제공한다. 이를 위해, 대응부(170)는 상기 대응방안으로 오류가 발생된 소프트웨어를 자가 회복시키는 S/W 회복부(171), 오류 발생된 소프트웨어를 대체 소프트웨어로 변경하는 S/W 변경부(172) 및 오류가 발생된 해당 컴포넌트를 교체하기 위한 컴포넌트 교체부(173)로 구성된다.
여기서, 대체 소프트웨어는 오류가 발생된 소프트웨어를 대체하기 위해 미리 개발된 것으로서 해당 소프트웨어 서비스가 계속적으로 제공될 수 있게 서비스의 중단없이 최소한의 기본 서비스를 제공하기 위한 것이다.
S/W 회복부(171)는 오류 발생된 소프트웨어 외부에서 해당 소프트웨어의 내용을 추가, 수정 및 삭제 중 적어도 하나를 통해 회복을 수행한다.
컴포넌트 교체부(173)는 오류가 발생된 해당 컴포넌트를 교체하기 위한 구성으로서, 컴포넌트를 구성하고 있는 클래스에 대한 정보 즉, 속성이나 함수 등에 관한 정보를 갖는다. 컴포넌트를 구성하고 있는 클래스들과 상태정보를 정의함으로써 정확한 의도의 컴포넌트 상태 및 실제 구현된 클래스에 대한 정보를 제공한다. 시스템을 구성하고 있는 컴포넌트들의 구성 및 이름에 대한 정보, 컴포넌트 간의 관계에 대한 정보 등을 포함함으로써 특정 컴포넌트 문제 발생 시 전체 시스템에 미치는 영향에 대한 정보를 제공한다.
한편, 대응부(170)는 회복 결과 평가부 및 회복 결과 학습부를 더 포함하여 구비될 수 있다. 회복 결과 학습부는 평가된 회복 성능을 기초로 자가 회복된 소프트웨어에 대한 자가 회복 결과를 학습한다. 회복 결과 학습부는 자가 회복 이전보다 자가 회복 뒤 시스템 성능이 상승되면 기계 학습 알고리즘을 기초로 학습을 수행할 수 있고, 자가 회복 방법을 갱신하는 것도 가능하다. 즉, 회복 결과 학습부는 평가된 회복 성능을 기초로 소프트웨어에 대한 현재 자가 회복 방법이 이전 자가 회복 방법보다 회복율이 더 우수하다면 해당 소프트웨어에 대한 자가 회복 방법을 이전 자가 회복 방법에서 현재 자가 회복 방법으로 변경한다. 반면, 이전 자가 회복 방법이 현재 자가 회복 방법보다 회복율이 더 우수하다면, 회복 결과 학습부는 해당 소프트웨어에 대한 자가 회복 방법으로 이전 자가 회복 방법을 유지한다.
도 4는 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 검출 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 검출 방법은 먼저, 로그 캡처부가 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처한다(S410).
이를 위해 현재 실행되고 있는 로봇 소프트웨어에 내재된 프로브(probe)를 통해 로봇 소프트웨어 내부에서 컴포넌트 간의 메시지 호출이 발생할 때마다 발생하는 로그를 캡처하여 적응형 소프트웨어 프레임워크상의 저장소에 저장한다. 여기서, 캡처된 로그 각각에는 고유한 식별자가 부여되며, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭이 XML(extensible markup language) 형태로 저장된다.
다음으로, 행위 다이어그램 구축부가 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축한다(S420).
구체적으로, 행위 다이어그램 구축부는 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별한다. 이를 위해 메시지 호출 로그 내에 포함된 메시지가 시간순서에 따라 나타나는 반복패턴에 기초하여 메시지의 반복횟수를 계수하고 계수 결과, 반복횟수가 동일한 메시지를 시퀀스로 묶을 수 있다. 그리고, 메시지들 간의 순서를 고려하여 메시지의 불변(unchangeable) 순서에 따르는 행위만을 여과하고, 메시지들 간의 호출 관계를 고려하여 동일한 기능을 나타내는 행위만을 정제할 수 있다.
로그 캡처부에 의해 저장된 XML 형태의 로그로부터 반복적으로 호출되는 메시지의 시퀀스 묶음을 예를 들어, <M1, M2, M3> 또는 <M3, M5>와 같은 형태로 묶어낸다. 각각의 메시지 시퀀스 묶음을 “Stop attention”, “play sound effect”, “request to speak” 등의 의미를 가지는 시스템의 단위 기능으로 식별한다(단위기능 식별). 단위기능 식별은 메시지 시퀀스에 의미(semantic)를 부여하는 작업으로서, 개발자에 의해 미리 설정될 수 있다.
메시지 시퀀스와 단위 기능간의 매핑이 실행된 후, 메시지 시퀀스와 단위기능간의 매핑관계는 행위 다이어그램 구축부에 저장된다.
그리고, 행위 다이어그램 구축부는 반복적으로 단위기능을 의미하는 행위(activity)를 추출하며, 단위기능을 의미하는 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시켜 나간다.
즉, 행위 다이어그램 구축부는 반복적인 행위 추출을 통해 하나의 시나리오를 수행하는 동안 발생하는 로그 뭉치들을 분석하여, 행위와 행위 간의 쓰레드를 나타내는 행위 다이어그램을 완성시켜 나간다(기능적 쓰레드 추출).
다음으로, 정상동작 행위모델 생성부가 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성한다(S430). 즉, 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거한다.
다음으로, 일반동작 행위모델 추출부가 로봇시스템 운영시 상기 시나리오와 동일한 시나리오 수행결과 자동 생성된 일반동작 행위모델을 추출한다(S440).
그리고, 오류 검출부가 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출한다(S450). 이를 위해, 오류 검출부는 일반동작 행위모델을 추출한 동일한 시나리오에 해당하는 무결점 상황에서의 정상동작 행위모델을 추출한다. 이렇게 추출된 정상모드 행위동작과 일반동작 행위모델을 비교하여, 상이한 부분을 잠재적 오류로 추출한다.
로봇 소프트웨어 개발 이후, 무결점 상황에서 단일한 시나리오를 수행하는 동안 캡처된 로그 메시지 분석 결과 추출된 행위 다이어그램은 일반 운영모드에서의 시스템 행위 모델의 에러를 검출할 때 비교 대상이 되는 정답에 해당된다.
도 2를 참조하여 예를 들면, 왼쪽 순서도는 무결점(에러프리) 상황에서 정상모드시 생성된 행위모델 즉, 정상모드 행위모델을 나타내고, 오른쪽 순서도에 기술된 행위모델은 서비스 로봇 시스템이 특정구역을 ‘Navigating’하는 동일한 시나리오 수행결과 자동 생성된 행위 다이어그램을 나타낸다. 두 행위 다이어그램에 기술된 쓰레드를 살펴보면, B2: Speaking 기능과 F1: Stop attention 기능의 수행 순서가 다름을 알 수 있다. 이처럼 두 행위 다이어그램간의 불일치가 발견되면, 일반적인 오류 검출 기법에서는 이를 오류로 검출하게 된다. 그러나, 검출된 오류 내용을 살펴보면, B2: Speaking 기능은 상황에 따라 그 순서가 일정하게 진행되어야 할 필요가 없는 기능임을 알 수 있다. 따라서 B2: Speaking의 위치가 다르다고 하여 시스템이 오동작하고 있는 것으로 판단하는 것은 바람직하지 않다. 이처럼 오류상황이 아님에도 검증결과 오류 판정이 발생된 것을, 부정 오류(False negative)가 검출되었다고 한다. 본 발명은 이러한 부정오류 검출을 최소화하기 위해, 캡처된 행위모델을 그대로 비교 대상으로 저장하는 것이 아니라, 도 3에 도시된 바와 같이, 행위 다이어그램에서 특정한 위치가 정해져 있지 않거나, 패턴이 없는 단위 기능들(노이즈 메시지)을 식별하여, 이들을 행위 다이어그램에서 제외시킴으로써 비교 대상에서 제외시킨다. 노이즈 메시지는 여러 개의 시나리오를 표현하는 N개의 행위 다이어그램 상에서, 수행 시점에 정해진 패턴이 없는 단위기능을 의미한다. 도 3의 행위 다이어그램에서 단위기능 중 B2: Speaking 외에도 B3: Play sound가 노이즈 메시지에 해당된다. 도 3에서는 도 2와 동일한 두 개의 행위 다이어그램 비교를 통해 오류검출 결과가 발생되었으나, 수행순서가 무의미한 B2와 B3의 단위기능을 제거하고 비교함으로써, 도 2에서 검출되었던 부정오류 검출 문제가 해결됨을 확인할 수 있다.
언급한 바와 같이 본 발명의 일실시 예에 따르면, 컴포넌트 외부에서 검출되는 메시지 호출 로그들로부터 행위 다이어그램을 구축하고, 이중 호출 순서가 의미 없거나 무패턴에 해당하는 단위기능들을 행위모델 비교대상에서 제외시킴으로써, 자가 오류 검출 시 민감도를 낮추어 부정오류 검출을 감소시킨다.
아울러, 컴포넌트에 내부 접근을 하지 않고도, 컴포넌트 외부에서 캡처된 메시지 호출 로그들을 시나리오별로 잘라내어 각각의 시나리오별로 하나의 행위모델을 생성시킬 수 있고, 이로 인해 시나리오별 행위모델을 대상으로 자가 오류를 검출하기 때문에 실시간에 로봇 시스템 스스로가 자신의 오류를 신속하게 검출할 수 있는 효과가 있다.
더불어, 본 발명은 오류검출의 단위를 단일 시나리오별로 쪼개어 리코딩함으로써, 시나리오 수행 순서가 상이해서 검출되는 부정오류를 감소시킬 수 있다.
도 5는 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 회복 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 자가 적응형 로봇 시스템의 오류 회복 방법은 먼저, 앞서 도 4를 참조하여 설명한 S440 단계에서 검출된 오류를 회복하기 위해 대응방안을 선택한다(S510). 즉, 자가 적응형 로봇시스템 오류가 검출되면 대응부가 오류에 대한 자가 회복 여부에 따라 제1 대응방안 내지 제3 대응방안 중 어느 하나의 대응방안을 선택한다.
제1 대응방안을 선택한 경우, S/W 회복부가 오류가 발생된 소프트웨어에 대해 추가, 수정 및 삭제 중 적어도 하나를 실행하여 오류를 회복한다(S520).
제2 대응방안을 선택한 경우, S/W 변경부가 오류 발생된 소프트웨어를 대체 소프트웨어로 변경한다(S530). 여기서, 대체 소프트웨어는 오류가 발생된 소프트웨어를 대체하기 위해 미리 개발된 것으로서 해당 소프트웨어 서비스가 계속적으로 제공될 수 있게 서비스의 중단없이 최소한의 기본 서비스를 제공하기 위한 것이다.
제3 대응방안을 선택한 경우, 컴포넌트 교체부가 오류가 발생된 해당 컴포넌트를 교체한다(S540). 이를 위해 컴포넌트 교체부는 컴포넌트를 구성하고 있는 클래스에 대한 정보 즉, 속성이나 함수 등에 관한 정보를 갖는다. 컴포넌트를 구성하고 있는 클래스들과 상태정보를 정의함으로써 정확한 의도의 컴포넌트 상태 및 실제 구현된 클래스에 대한 정보를 제공한다. 시스템을 구성하고 있는 컴포넌트들의 구성 및 이름에 대한 정보, 컴포넌트 간의 관계에 대한 정보 등을 포함함으로써 특정 컴포넌트 문제 발생 시 전체 시스템에 미치는 영향에 대한 정보를 제공한다.
다음으로, 자가 적응형 로봇 시스템은 상기에서 선택된 대응방안을 반영하여 소프트웨어를 계속적으로 제공한다(S550).
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시 예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 자가 적응형 로봇시스템 110: 로그 캡처부
120: 행위 다이어그램 구축부 130: 정상동작 행위모델 생성부
140: 일반동작 행위모델 추출부 150: 오류 검출부
160: 제어부 170: 대응부
171: S/W 회복부 172: S/W 변경부
173: 컴포넌트 교체부

Claims (20)

  1. 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처하는 단계;
    상기 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축하는 단계;
    상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성하는 단계;
    상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오 수행결과 자동 생성된 일반동작 행위모델을 추출하는 단계; 및
    상기 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 단계;를 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  2. 제 1 항에 있어서,
    상기 메시지 호출 로그를 캡처하는 단계는,
    상기 캡처된 메시지 호출 로그 각각에 고유한 식별자를 부여하고, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭을 XML(extensible markup language) 형태로 저장하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  3. 제 1 항에 있어서,
    상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 식별하여 제거하는 단계는,
    상기 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  4. 제 3 항에 있어서,
    상기 수행순서가 무의미한 단위기능은,
    2개 이상의 시나리오에 의해 생성된 행위모델에서 반복적으로 발견되고, 특정 행위와의 선후관계가 불분명한 메시지를 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  5. 제 1 항에 있어서,
    상기 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 단계는,
    상기 일반동작 행위모델을 추출한 동일한 시나리오에 해당하는 상기 정상동작 행위모델을 추출하는 단계;
    상기 추출된 정상동작 행위모델과 상기 일반동작 행위모델을 비교하는 단계; 및
    비교결과, 상이한 부분을 잠재적 오류로 검출하는 단계;를 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  6. 제 1 항에 있어서,
    상기 행위 다이어그램을 구축하는 단계는,
    상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하는 단계; 및
    반복적으로 상기 행위를 추출하고, 상기 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시키는 단계;를 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  7. 제 6 항에 있어서,
    상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하는 단계는,
    상기 메시지 호출 로그 내에 포함된 메시지가 시간순서에 따라 나타나는 반복 패턴에 기초하여 상기 메시지의 반복횟수를 계수하는 단계; 및
    상기 계수 결과, 반복횟수가 동일한 메시지를 시퀀스로 묶는 단계;를 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  8. 제 1 항에 있어서,
    상기 로봇시스템의 오류가 검출되면 오류에 대한 자가 회복 여부에 따라 대응방안을 선택하는 단계; 및
    상기 선택된 대응방안을 반영하여 상기 자가 적응형 로봇시스템에서 소프트웨어 서비스를 계속적으로 제공하는 단계;를 더 포함하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  9. 제 8 항에 있어서,
    상기 대응방안을 선택하는 단계는,
    상기 대응방안으로 오류가 발생된 소프트웨어를 자가 회복할 것인지, 오류 발생된 소프트웨어를 대체 소프트웨어로 교체할 것인지, 해당 컴포넌트를 교체할 것인지 선택하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  10. 제 9 항에 있어서,
    상기 자가 회복은,
    오류 발생된 소프트웨어 외부에서 해당 소프트웨어의 내용을 추가, 수정 및 삭제 중 적어도 하나를 통해 회복을 수행하는, 자가 적응형 로봇시스템의 오류 검출 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 로봇시스템이 하나의 시나리오를 수행하는 무결점 상황에서의 컴포넌트 간 메시지 호출 로그를 캡처하는 로그 캡처부;
    상기 메시지 호출 로그의 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축하는 행위 다이어그램 구축부;
    상기 행위 다이어그램에서 불특정 위치 또는 무패턴에 해당하는 단위 기능을 제거하여 정상동작 행위모델을 생성하는 정상동작 행위모델 생성부;
    상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오 수행결과 자동 생성된 일반동작 행위모델을 추출하는 일반동작 행위모델 추출부; 및
    상기 일반동작 행위모델을 상기 정상동작 행위모델과 비교하여 상이한 부분을 오류로 검출하는 오류 검출부;를 포함하는, 자가 적응형 로봇시스템.
  13. 제 12 항에 있어서,
    상기 로그 캡처부는,
    상기 캡처된 메시지 호출 로그 각각에 고유한 식별자를 부여하고, 호출된 메시지의 송수신자에 해당되는 각각의 컴포넌트 명칭과 메시지의 명칭을 XML(extensible markup language) 형태로 저장하는, 자가 적응형 로봇시스템.
  14. 제 12 항에 있어서,
    상기 정상동작 행위모델 생성부는,
    상기 행위 다이어그램 상에서 수행 시점에 수행순서가 무의미한 단위 기능 또는 수행 시점에 정해진 패턴이 없는 단위 기능을 식별하여 제거하는, 자가 적응형 로봇시스템.
  15. 제 14 항에 있어서,
    상기 수행순서가 무의미한 단위기능은,
    2개 이상의 시나리오에 의해 생성된 행위모델에서 반복적으로 발견되고, 특정 행위와의 선후관계가 불분명한 메시지를 포함하는, 자가 적응형 로봇시스템.
  16. 제 12 항에 있어서,
    상기 일반동작 행위모델 추출부는,
    상기 로봇시스템 운영시 상기 시나리오와 동일한 시나리오를 수행하여 발생된 메시지 호출 로그를 캡처하고, 상기 메시지 호출 로그를 시간순서에 따른 반복패턴 및 쓰레드에 기초하여 행위 다이어그램을 구축함으로써 상기 일반동작 행위모델을 추출하는, 자가 적응형 로봇 시스템.
  17. 제 12 항에 있어서,
    상기 자가 적응형 로봇시스템 오류가 검출되면 오류에 대한 자가 회복 여부에 따라 대응방안을 선택하고, 상기 선택된 대응방안을 반영하여 상기 자가 적응형 로봇시스템에서 소프트웨어 서비스를 계속적으로 제공하는 대응부를 더 포함하는, 자가 적응형 로봇시스템.
  18. 제 17 항에 있어서,
    상기 대응부는,
    상기 대응방안으로 오류가 발생된 소프트웨어를 자가 회복시키는 S/W 회복부;
    오류 발생된 소프트웨어를 대체 소프트웨어로 교체하는 S/W 교체부; 및
    오류가 발생된 해당 컴포넌트를 교체하기 위한 컴포넌트 교체부;로 구성되는, 자가 적응형 로봇시스템.
  19. 제 18 항에 있어서,
    상기 S/W 회복부는,
    오류 발생된 소프트웨어 외부에서 해당 소프트웨어의 내용을 추가, 수정 및 삭제 중 적어도 하나를 통해 회복을 수행하는, 자가 적응형 로봇시스템.
  20. 제 18 항에 있어서,
    상기 행위 다이어그램 구축부는,
    상기 메시지 호출 로그가 반복적으로 호출되는 시퀀스 묶음을 하나의 단위기능을 의미하는 행위로 식별하고, 반복적으로 상기 행위를 추출하며, 상기 행위들 간의 기능적 쓰레드를 나타내는 행위 다이어그램을 완성시키는, 자가 적응형 로봇시스템.
KR1020170061747A 2017-05-18 2017-05-18 자가 적응형 로봇 시스템 및 그의 오류 검출 방법 KR101961379B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170061747A KR101961379B1 (ko) 2017-05-18 2017-05-18 자가 적응형 로봇 시스템 및 그의 오류 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170061747A KR101961379B1 (ko) 2017-05-18 2017-05-18 자가 적응형 로봇 시스템 및 그의 오류 검출 방법

Publications (2)

Publication Number Publication Date
KR20180126832A KR20180126832A (ko) 2018-11-28
KR101961379B1 true KR101961379B1 (ko) 2019-03-22

Family

ID=64561396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170061747A KR101961379B1 (ko) 2017-05-18 2017-05-18 자가 적응형 로봇 시스템 및 그의 오류 검출 방법

Country Status (1)

Country Link
KR (1) KR101961379B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113459083B (zh) * 2021-04-16 2022-06-21 山东师范大学 一种事件触发下的机械臂自适应固定时间控制方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101132560B1 (ko) * 2010-06-09 2012-04-03 강원대학교산학협력단 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법
KR101408269B1 (ko) * 2012-06-21 2014-06-17 서강대학교산학협력단 서비스 로봇 시스템의 기능 행위를 식별하는 장치 및 방법
KR101428740B1 (ko) * 2012-12-27 2014-08-08 부산대학교 산학협력단 웹 서버 로그를 이용한 행위 모델 자동 생성 시스템 및 방법
KR102017756B1 (ko) * 2014-01-13 2019-09-03 한국전자통신연구원 이상행위 탐지 장치 및 방법

Also Published As

Publication number Publication date
KR20180126832A (ko) 2018-11-28

Similar Documents

Publication Publication Date Title
US8694967B2 (en) User interface inventory
CN110928772B (zh) 一种测试方法及装置
JP5607741B2 (ja) ランタイム挙動に基づくアプリケーションの自動修正
CN102184138B (zh) 一种软件错误自动重现和定位的方法及系统
US20140304688A1 (en) Method and system for generating and processing black box test cases
US20110083123A1 (en) Automatically localizing root error through log analysis
AU2019348202B2 (en) System and method for robotic agent management
WO2014120192A1 (en) Error developer association
US20170286253A1 (en) Optimization for application runtime monitoring
CN109871290B (zh) 应用于Java的调用堆栈追踪方法、装置和存储介质
KR102325258B1 (ko) 원격통신 네트워크의 네트워크 성능에 관한 자율적 또는 ai-보조적 유효성 검증 또는 결정 수행을 행하고 그리고/또는 원격통신 네트워크 내에서 자율적 또는 ai-보조적 장애해결 또는 성능 증진을 행하기 위한 방법, 원격통신 네트워크, 시스템, 머신 지능 엔티티, 시각화 인터페이스, 컴퓨터 프로그램 그리고 컴퓨터-판독가능 매체
US20150106794A1 (en) Transparent performance inference of whole software layers and context-sensitive performance debugging
US20220405162A1 (en) Maze-driven self-diagnostics using reinforcement learning
CN106529304A (zh) 一种安卓应用并发漏洞检测系统
Cotroneo et al. Enhancing failure propagation analysis in cloud computing systems
KR101961379B1 (ko) 자가 적응형 로봇 시스템 및 그의 오류 검출 방법
CN116088846A (zh) 一种持续集成代码格式的处理方法、相关装置及设备
KR101337217B1 (ko) 컴퓨터 시스템과, 파일 및 행위 기반 복합룰 작성 시스템
CN116756021A (zh) 基于事件分析的故障定位方法、装置、电子设备及介质
KR101408269B1 (ko) 서비스 로봇 시스템의 기능 행위를 식별하는 장치 및 방법
CN107145422B (zh) 一种软件故障报警监测方法
CN111258792A (zh) 一种基于目标模型的日志记录和错误分析工具
Gunasekaran et al. Correlating log messages for system diagnostics
Ahmed Test automation for graphical user interfaces: A review
WO2024142312A1 (ja) 故障分析装置、故障分析方法、およびプログラム

Legal Events

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