Abstract
An intelligent service robot is a robot that monitors its surroundings, and then provides a service to meet a user's goal. It is normally impossible for a robot to anticipate all the needs of its user and various situations in the surroundings ahead, and to prepare for all the necessary functions to cope with them. Therefore, it is required to support the self-growing capability by which robots can extend their functionality based on users' needs and external conditions. In this paper, as an enabler of the self-growing capability, we propose a method that allows a robot to select a component-composition pattern represented in an architectural form (called a sub-architecture), and to extend its functionality by obtaining a set of software components that are prescribed in the pattern. Sub-architecture is selected and instantiated not only based on the functionality required but also based on quality requirements of a user and the surrounding environment. To provide this method, we constructed a quality-attributes-in-use ontology and developed a brokering mechanism that matches quality requirements of users and surroundings against quality attributes of sub-architectures. The ontology provides the common vocabularies to represent quality requirements and attributes, and enables the semantically-based reasoning in matching and instantiating appropriate sub-architectures in supporting services to users. This ontology-based approach contributes to provide a great flexibility in extending robot functionality based on available software components, and to narrow the gap between users' Quality requirements and the Quality of the actual services provided by a robot.
지능형 서비스 로봇(Intelligent Service Robots)이란 스스로 주변 환경을 모니터링 하고, 문제 상황 발생시 해결 방안을 마련하여 사용자에게 적절한 서비스들을 제공해 주는 로봇을 말한다. 그러나 로봇이 접할 수 있는 다양한 환경과 상황, 문제들을 미리 예측하여 필요한 모든 기능들을 내부에 포함시키기는 어렵다. 로봇 내부에는 환경에 맞는 필요한 기능들만 가지도록 하고, 필요에 따라 새로운 기능들을 증식 시켜 줄 수 있는 자가 성장 소프트웨어(Self-Growing Software)를 개발함으로써 이러한 문제점을 해결할 수 있다. 본 논문은 자가성장 소프트웨어가 외부로부터 필요 기능 수행을 위한 서브아키텍처(컴포넌트의 조합 패턴)의 획득을 브로커를 통해 수행 할 때, 기능적인 측면뿐 아니라 품질특성과 환경을 고려하여 적절한 서브아키텍처를 선택하는 방법에 관한 것이다. 사용자의 품질 요구를 고려하여 기능수행에 가장 적합한 서브아키텍처를 추론하기 위해 사용품질요구(Quality-Attributes In Use) 온톨로지를 구축하였고, 컴포넌트 조합 선택을 위해 추상화된 레벨 선택 및 구체적 레벨 선택의 2단계 선택 기법을 개발하였다 추상화된 레벨에서는 상위단계 목표를 기반으로 서브아키텍처의 특성들을 추론하고, 구체적 레벨에서는 컴포넌트 자체의 사용품질요구에 부합하는 특성들을 기반으로 실제 서브아키텍처를 검색한다. 이러한 방법을 통해 사용자의 목표나 상황에 따라 달라지는 품질 요구사항을 반영하여 서비스를 제공할 수 있다. 또한, 로봇의 기능 증식 시에 사용자의 목표에 좀 더 부합하는 기능 선택이 가능하고, 사용자의 요구와 소프트웨어 기능 표현 및 해석상의 차이를 극복할 수 있다.