KR102143604B1 - Method and software platform for generating of service profile - Google Patents

Method and software platform for generating of service profile Download PDF

Info

Publication number
KR102143604B1
KR102143604B1 KR1020180137236A KR20180137236A KR102143604B1 KR 102143604 B1 KR102143604 B1 KR 102143604B1 KR 1020180137236 A KR1020180137236 A KR 1020180137236A KR 20180137236 A KR20180137236 A KR 20180137236A KR 102143604 B1 KR102143604 B1 KR 102143604B1
Authority
KR
South Korea
Prior art keywords
service
cloud
authentication
cloud service
service profile
Prior art date
Application number
KR1020180137236A
Other languages
Korean (ko)
Other versions
KR20200055824A (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 KR1020180137236A priority Critical patent/KR102143604B1/en
Publication of KR20200055824A publication Critical patent/KR20200055824A/en
Application granted granted Critical
Publication of KR102143604B1 publication Critical patent/KR102143604B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

실시 예에 따른 서비스 프로파일 생성 방법은, 서비스 종류 및 인증 방식을 선택하는 선택 정보를 수신하는 단계, 클라우드 서비스를 구성하는 복수의 서비스를 계층적으로 분류하고, 상기 복수의 서비스 각각이 필요로 하는 프로퍼티(property)를 정의하여 라이브러리화한 클라우드 서비스 온톨로지로부터, 상기 서비스 종류에 대응하는 프로퍼티 리스트를 획득하는 단계, 상기 인증 방식에 대응하는 인증 데이터 리스트를 획득하는 단계, 상기 프로퍼티 리스트 및 상기 인증 데이터 리스트를 이용하여 서비스 프로파일 템플릿을 생성하는 단계, 상기 서비스 프로파일 템플릿에 삽입되는 명세 데이터들을 수신하는 단계, 및 상기 서비스 프로파일 템플릿의 작성이 완료되면, 상기 서비스 프로파일 템플릿을 이용하여 시스템 내 클라우드 서비스 인터페이스 구축에 사용되는 서비스 프로파일을 생성하는 단계를 포함할 수 있다. The service profile generation method according to the embodiment includes receiving selection information for selecting a service type and an authentication method, hierarchically classifying a plurality of services constituting a cloud service, and properties required by each of the plurality of services. Obtaining a property list corresponding to the service type, obtaining an authentication data list corresponding to the authentication method, and obtaining the property list and the authentication data list from a cloud service ontology that has defined (property) and converted into a library. Creating a service profile template using the service profile template, receiving the specification data inserted into the service profile template, and when the creation of the service profile template is completed, the service profile template is used to build a cloud service interface in the system. It may include the step of creating a service profile to be used.

Description

서비스 프로파일 생성 방법 및 이를 수행하는 소프트웨어 플랫폼{METHOD AND SOFTWARE PLATFORM FOR GENERATING OF SERVICE PROFILE}How to create a service profile and a software platform that performs it {METHOD AND SOFTWARE PLATFORM FOR GENERATING OF SERVICE PROFILE}

실시 예는 서비스 프로파일 생성 방법 및 이를 수행하는 소프트웨어 플랫폼에 대한 것으로서, 더욱 상세하게는 로봇 시스템에서 클라우드 서비스를 이용하도록 지원하는 서비스 프로파일 생성 방법 및 이를 수행하는 소프트웨어 플랫폼에 대한 것이다. The embodiment relates to a service profile generation method and a software platform that performs the same, and more particularly, to a service profile generation method that supports the use of a cloud service in a robot system, and a software platform that performs the same.

로봇의 인식, 이동, 조작, 상호작용(Human-Robot Interaction, HRI), 학습, 추론 등 지능 요소들이 다양한 서비스에 효과적으로 활용되기 위해서는 로봇의 지능 요소들을 전일적으로 통합하고, 필요에 따라 클라우드 서비스를 활용하여 외부 전문지식과 지능자원을 활용할 수 있는 고도화된 지능체계를 필요로 한다. In order to effectively utilize the intelligent elements such as robot recognition, movement, manipulation, interaction (Human-Robot Interaction, HRI), learning, and inference for various services, the intelligent elements of the robot are integrated entirely and cloud services are provided as needed. It requires an advanced intelligence system that can utilize external expertise and intelligence resources.

그러나, 로봇에서 클라우드 서비스를 이용하기 위한 인터페이스의 표준화가 진행되지 않아, 개발자는 로봇에서 활용하고자 하는 각 클라우드 서비스마다 그에 대응하는 처리부를 새로 작성해야 하는 어려움이 있다. However, since standardization of an interface for using a cloud service in a robot is not in progress, a developer has a difficulty in creating a new processing unit corresponding to each cloud service to be used in the robot.

본 발명의 실시 예를 통해 해결하려는 과제는 로봇의 클라우드 서비스 인터페이스의 구축을 간소화할 수 있는 서비스 프로파일 생성 방법 및 이를 수행하는 소프트웨어 플랫폼을 제공하는 것이다.A problem to be solved through an embodiment of the present invention is to provide a service profile generation method capable of simplifying the construction of a cloud service interface of a robot and a software platform for performing the same.

상기 과제를 해결하기 위한 실시 예에 따른 소프트웨어 플랫폼은, 사용자 인터페이스, 클라우드 서비스를 구성하는 복수의 서비스를 계층적으로 분류하고, 상기 복수의 서비스 각각이 필요로 하는 프로퍼티(property)를 정의하여 라이브러리화한 클라우드 서비스 온톨로지, 상기 사용자 인터페이스를 통해 서비스 종류 및 인증 방식을 선택하는 선택 정보를 수신하고, 상기 선택 정보에 기초하여 상기 클라우드 서비스 온톨로지로부터 상기 서비스 종류에 대응하는 프로퍼티 리스트를 획득하며, 상기 인증 방식에 대응하는 인증 데이터 리스트와 상기 프로퍼티 리스트를 이용하여 서비스 프로파일 템플릿을 생성하는 템플릿 생성기, 및 상기 사용자 인터페이스를 통해 수신되는 명세 데이터들에 의해 상기 서비스 프로파일 템플릿의 작성이 완료되면, 상기 서비스 프로파일 템플릿을 이용하여 시스템 내 클라우드 서비스 인터페이스 구축에 사용되는 서비스 프로파일을 생성하는 서비스 프로파일 생성기를 포함할 수 있다. The software platform according to the embodiment for solving the above problems hierarchically classifies a plurality of services constituting a user interface and a cloud service, and defines a property required by each of the plurality of services to form a library. A cloud service ontology, receiving selection information for selecting a service type and an authentication method through the user interface, obtaining a property list corresponding to the service type from the cloud service ontology based on the selection information, and the authentication method A template generator for generating a service profile template using the authentication data list corresponding to and the property list, and when the creation of the service profile template is completed by the specification data received through the user interface, the service profile template is It may include a service profile generator for generating a service profile used to build a cloud service interface in the system.

상기 프로퍼티 리스트는, 대응하는 서비스의 서비스 URL 및 서비스 방법, 그리고 상기 대응하는 서비스를 사용하는데 필요한 복수의 인수(argument)를 포함할 수 있다. The property list may include a service URL and a service method of a corresponding service, and a plurality of arguments required to use the corresponding service.

상기 클라우드 서비스 온톨로지는, 상기 복수의 인수 각각의 인수 정보를 포함하며, 상기 인수 정보는, 매핑 규칙, GL(graphic library) 표시명, 인수 이름, 및 요구 레벨 중 적어도 하나를 포함할 수 있다. The cloud service ontology includes argument information of each of the plurality of arguments, and the argument information may include at least one of a mapping rule, a graphic library (GL) display name, an argument name, and a request level.

상기 매핑 규칙은, 대응하는 인수에 대해 클라우드 서비스 측의 데이터와 연계하기 위한 규칙 정보, 및 상기 시스템과 연계하기 위한 규칙 정보를 포함할 수 있다. The mapping rule may include rule information for linking with data of a cloud service side with respect to a corresponding argument, and rule information for linking with the system.

상기 명세 데이터는, 상기 프로퍼티 리스트에 포함된 각 프로퍼티와 상기 인증 데이터 리스트에 포함된 각 인증 데이터에 대한 명세 데이터일 수 있다. The specification data may be specification data for each property included in the property list and each authentication data included in the authentication data list.

또한, 실시 예에 따른 서비스 프로파일 생성 방법은, 서비스 종류 및 인증 방식을 선택하는 선택 정보를 수신하는 단계, 클라우드 서비스를 구성하는 복수의 서비스를 계층적으로 분류하고, 상기 복수의 서비스 각각이 필요로 하는 프로퍼티(property)를 정의하여 라이브러리화한 클라우드 서비스 온톨로지로부터, 상기 서비스 종류에 대응하는 프로퍼티 리스트를 획득하는 단계, 상기 인증 방식에 대응하는 인증 데이터 리스트를 획득하는 단계, 상기 프로퍼티 리스트 및 상기 인증 데이터 리스트를 이용하여 서비스 프로파일 템플릿을 생성하는 단계, 상기 서비스 프로파일 템플릿에 삽입되는 명세 데이터들을 수신하는 단계, 및 상기 서비스 프로파일 템플릿의 작성이 완료되면, 상기 서비스 프로파일 템플릿을 이용하여 시스템 내 클라우드 서비스 인터페이스 구축에 사용되는 서비스 프로파일을 생성하는 단계를 포함할 수 있다. In addition, the service profile generation method according to the embodiment includes receiving selection information for selecting a service type and an authentication method, classifying a plurality of services constituting a cloud service hierarchically, and requiring each of the plurality of services. Obtaining a property list corresponding to the service type, obtaining an authentication data list corresponding to the authentication method, the property list and the authentication data from a cloud service ontology that has defined and converted a property to be library Creating a service profile template using a list, receiving specification data inserted into the service profile template, and when the creation of the service profile template is completed, constructing a cloud service interface in the system using the service profile template It may include the step of creating a service profile used for.

상기 명세 데이터들을 수신하는 단계는, 상기 프로퍼티 리스트에 포함된 각 프로퍼티와 상기 인증 데이터 리스트에 포함된 각 인증 데이터에 대한 명세 데이터들을 수신하는 단계를 포함할 수 있다. The receiving of the specification data may include receiving specification data for each property included in the property list and each authentication data included in the authentication data list.

실시 예에 의하면, 로봇 내 클라우드 서비스 인터페이스의 구축을 간소화할 수 있어 개발 비용이 감소하고, 이로 인해 로봇에서 클라우드 서비스를 제공하기 위한 소프트웨어 개발이 활성화 될 수 있다. According to an embodiment, it is possible to simplify the construction of the cloud service interface in the robot, thereby reducing the development cost, and thus, software development for providing the cloud service in the robot may be activated.

도 1은 실시 예에 따른 서비스 프로파일을 생성하기 위한 소프트웨어 플랫폼을 개략적으로 도시한 것이다.
도 2는 실시 예에 따른 클라우드 서비스 온톨로지의 일 예를 도시한 것이다.
도 3a는 실시 예에 따른 클라우드 서비스 온톨로지에서 제공하는 인수 정보의 구성을 도시한 것이다.
도 3b는 도 3a의 매핑 규칙에 대해 설명하기 위한 도면이다.
도 3c는 도 3a의 매핑 규칙의 일 예를 도시한 것이다.
도 4는 실시 예에 따른 클라우드 서비스 온톨로지에서 클라우드 서비스의 인수들을 바인딩하는 일 예를 도시한 것이다.
도 5a는 실시 예에 따른 클라우드 서비스 인증 데이터 모델의 일 예를 도시한 것이다.
도 5b는 실시 예에 따른 소프트웨어 플랫폼에서 서비스 프로파일 템플릿에 포함시킬 정보들을 획득하는 일 예를 도시한 것이다.
도 5c는 실시 예에 따른 서비스 프로파일 템플릿의 일 예를 도시한 것이다.
도 6은 실시 예에 따른 서비스 프로파일 템플릿의 작성 예를 도시한 것이다.
도 7은 실시 예에 따른 서비스 프로파일 생성 방법을 개략적으로 도시한 것이다.
도 8은 실시 예에 따른 로봇 시스템의 클라우드 서비스 플랫폼을 개략적으로 도시한 것이다.
도 9a는 실시 예에 따른 클라우드 서비스 인터페이스를 구성하는 요구 모델의 일 예를 도시한 것이다.
도 9b는 실시 예에 따른 클라우드 서비스 인터페이스를 구성하는 응답 모델의 일 예를 도시한 것이다.
도 10은 실시 예에 따른 로봇 시스템에서 클라우드 서비스를 제공하는 방법을 개략적으로 도시한 것이다.
1 schematically illustrates a software platform for generating a service profile according to an embodiment.
2 illustrates an example of a cloud service ontology according to an embodiment.
3A is a diagram illustrating a configuration of argument information provided by a cloud service ontology according to an embodiment.
3B is a diagram for describing the mapping rule of FIG. 3A.
3C shows an example of the mapping rule of FIG. 3A.
4 illustrates an example of binding arguments of a cloud service in a cloud service ontology according to an embodiment.
5A illustrates an example of a cloud service authentication data model according to an embodiment.
5B is a diagram illustrating an example of acquiring information to be included in a service profile template in a software platform according to an embodiment.
5C illustrates an example of a service profile template according to an embodiment.
6 illustrates an example of creating a service profile template according to an embodiment.
7 schematically illustrates a method of generating a service profile according to an embodiment.
8 schematically shows a cloud service platform of a robot system according to an embodiment.
9A illustrates an example of a request model configuring a cloud service interface according to an embodiment.
9B is a diagram illustrating an example of a response model configuring a cloud service interface according to an embodiment.
10 schematically illustrates a method of providing a cloud service in a robot system according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification and claims, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.

로봇의 인식, 이동, 조작, HRI, 학습, 추론 등 지능 요소들이 다양한 서비스에 효과적으로 활용되기 위해서는 로봇의 지능 요소들을 전일적으로 통합하고, 필요에 따라 클라우드와 연계하여 외부 전문지식과 지능자원을 활용할 수 있는 고도화된 지능체계를 필요로 한다. In order to effectively utilize the intelligent elements such as recognition, movement, manipulation, HRI, learning, and inference of the robot in various services, the intelligent elements of the robot are integrated entirely, and if necessary, use external expertise and intelligent resources by linking with the cloud. It requires an advanced intelligent system that can be used.

실시 예에 따르면, 클라우드 서비스의 온톨로지(ontology)화를 통해 로봇 시스템에서 클라우드 서비스를 제공하기 위한 서비스 프로파일을 사전 정의하고, 이를 이용하여 로봇 시스템에서 클라우드 서비스를 제공하기 위한 방법 및 플랫폼을 제공할 수 있다. According to an embodiment, a service profile for providing a cloud service in a robot system is predefined through the ontology of a cloud service, and a method and platform for providing a cloud service in the robot system can be provided using this. have.

이하, 도 1 내지 도 7을 참조하여 실시 예에 따른 서비스 프로파일 생성 방법 및 이를 수행하는 소프트웨어 플랫폼에 대해 상세히 설명하기로 한다. Hereinafter, a method of generating a service profile and a software platform performing the same according to an embodiment will be described in detail with reference to FIGS. 1 to 7.

도 1은 실시 예에 따른 서비스 프로파일을 생성하기 위한 소프트웨어 플랫폼을 개략적으로 도시한 것으로서, 로봇 시스템에서 클라우드 서비스를 제공하기 위한 서비스 프로파일을 생성하기 위한 것이다. 1 schematically illustrates a software platform for generating a service profile according to an embodiment, and is for generating a service profile for providing a cloud service in a robot system.

도 1을 참조하면, 실시 예에 따른 서비스 프로파일 생성을 위한 소프트웨어 플랫폼(1)은, 클라우드 서비스 온톨로지(11), 템플릿(templet) 생성기(12), 사용자 인터페이스(13), 및 서비스 프로파일 생성기(14)를 포함할 수 있다. Referring to FIG. 1, a software platform 1 for generating a service profile according to an embodiment includes a cloud service ontology 11, a template generator 12, a user interface 13, and a service profile generator 14. ) Can be included.

클라우드 서비스 온톨로지(11)는, 클라우드 서비스에서 제공할 수 있는 서비스들을 계층적으로 분류하고, 각 계층에 대해 서비스가 필요로 하는 프로퍼티(property)들을 정의하여 라이브러리화 한 것이다. The cloud service ontology 11 hierarchically classifies services that can be provided by a cloud service, defines properties required by the service for each layer, and converts them into a library.

클라우드 서비스 온톨로지(11)에 포함되는 프로퍼티로는, 서비스를 제공하기 위한 서비스 URL 및 서비스 방법(또는 HTTP 방법)과, 각 서비스 기능을 사용하는데 필요한 인수(argument)들이 포함될 수 있다. As properties included in the cloud service ontology 11, a service URL and a service method (or HTTP method) for providing a service, and arguments necessary to use each service function may be included.

도 2는 실시 예에 따른 클라우드 서비스 온톨로지(11)의 일 예를 도시한 것이다. 2 shows an example of a cloud service ontology 11 according to an embodiment.

도 2를 예로 들면, 클라우드 서비스 온톨로지(11)에서는 클라우드 서비스(100)에서 제공하는 서비스들을 계층적으로 분류하고 있다. 클라우드 서비스(100)는 클라우드 소프트웨어(cloud software, 110), 클라우드 플랫폼(cloud platform, 120), 클라우드 인프라스트럭쳐(cloud infrastructure, 130) 등의 하위 서비스들로 분류되고, 클라우드 소프트웨어(110) 서비스는 캘린더 이벤트(calendar events) 서비스(111), 지리 정보(geoInfomatics) 서비스(112) 등의 하위 서비스들을 포함할 수 있다. 또한, 캘린더 이벤트 서비스(111)는, 다시 캘린더 이벤트 작성(calendar events make) 서비스(111-1), 캘린더 이벤트 제거(calendar events remove) 서비스(111-2) 등을 하위 서비스로 포함할 수 있다. Referring to FIG. 2 as an example, the cloud service ontology 11 classifies services provided by the cloud service 100 hierarchically. The cloud service 100 is classified into sub-services such as cloud software 110, cloud platform 120, and cloud infrastructure 130, and the cloud software 110 service is calendar Sub-services, such as a calendar events service 111 and a geoInfomatics service 112 may be included. In addition, the calendar event service 111 may again include a calendar events make service 111-1, a calendar event remove service 111-2, and the like as sub-services.

이와 같이, 클라우드 서비스 온톨로지(11)는 클라우드 서비스(100)에 포함되는 서비스들을 상위 서비스와 하위 서비스 개념으로 계층화하고, 각 계층 별로 서비스가 필요로 하는 프로퍼티들을 정의하여 리스트화할 수 있다. 도 2를 예로 들면, 클라우드 서비스 온톨로지(11)에는, 클라우드 서비스(100)를 제공하는 서비스 URL(URL string)(P11) 및 서비스 방법(HTTP method)(P12), 캘린더 이벤트 작성 서비스(111-1)를 사용하는데 필요한 인수들(예를 들어, 캘린더 ID(A11), 종료일(End Date)(A12), 시작일(Start Date)(A13), 요약(Summary)(A14) 등)과 같은 프로퍼티들이 정의될 수 있다. In this way, the cloud service ontology 11 may layer services included in the cloud service 100 into an upper service and a lower service concept, and define and list properties required by the service for each layer. Referring to FIG. 2 as an example, in the cloud service ontology 11, a service URL (URL string) (P11) and a service method (HTTP method) (P12) providing the cloud service 100, and a calendar event creation service 111-1 ), the properties required to use (e.g., Calendar ID (A11), End Date (A12), Start Date (A13), Summary (A14), etc.) are defined. Can be.

한편, 클라우드 서비스 온톨로지(11)는, 클라우드 서비스(100)에 대해 정의된 프로퍼티들(P11, P12, A11~A14) 중 서비스를 이용하는데 필요한 인수들(A11~A14)에 대해서는 각 인수에 대해 정의 하는 인수 정보(argument specification)를 더 포함할 수 있다. On the other hand, the cloud service ontology 11 defines each factor for the factors (A11 to A14) required to use the service among the properties (P11, P12, A11 to A14) defined for the cloud service 100 It may further include argument specification.

도 3a는 실시 예에 따른 클라우드 서비스 온톨로지(11)에서 제공하는 인수 정보의 일 예를 도시한 것이고, 도 3b는 도 3a의 매핑 규칙에 대해 설명하기 위한 도면이고, 도 3c는 매핑 규칙의 일 예를 도시한 것이다.3A is a diagram illustrating an example of argument information provided by the cloud service ontology 11 according to an embodiment, FIG. 3B is a diagram for explaining the mapping rule of FIG. 3A, and FIG. 3C is an example of the mapping rule Is shown.

도 3a를 참조하면 예를 들면, 각 인수의 인수 정보(200)는, 인수의 적용 범위를 지정하기 위한 매핑 규칙(mapping rule, 210), 바인딩(binding)될 GL(graphic library) 표현(expression)을 지정하기 위한 GL 표시명(GL expression name, 220), 인수의 세부 위치를 지정하기 위한 인수 이름(argument name, 230), 및 요구 레벨(requirement level, 240)을 포함할 수 있다.Referring to FIG. 3A, for example, the argument information 200 of each argument includes a mapping rule 210 for designating an application range of the argument, and a GL (graphic library) expression to be bound. It may include a GL expression name (220) for designating an argument, an argument name (230) for designating a detailed position of an argument, and a request level (240).

도 3b를 참조하면, 매핑 규칙(210)은, 클라우드 매핑 규칙(211)과 시스템 매핑 규칙(212)을 포함할 수 있다. 클라우드 매핑 규칙(211)은 클라우드 서비스 측의 데이터와 연계하기 위한 규칙 정보들을 포함하며, 바디 매핑((body mapping)과 관련된 정보211-1), 헤더 매핑(header mapping)과 관련된 정보(211-2), URL 매핑과 관련된 정보(211-3) 등을 포함할 수 있다. 도 3c를 참조하면, 바디 매핑과 관련된 정보(211-1)는 바디 키(body key) 값, 데이터 타입(LIST, OBJECT, String, Integer, Float 등)을 포함하고, 헤더 매핑과 관련된 정보(211-2)는, 헤더 키(header key) 값 등을 포함하며, URL 매핑과 관련된 정보(211-3)는 URL의 쿼리(Query) 키 값 또는 변경 대상 값을 포함할 수 있다. Referring to FIG. 3B, the mapping rule 210 may include a cloud mapping rule 211 and a system mapping rule 212. The cloud mapping rule 211 includes rule information for linking with data on the cloud service side, and information related to body mapping 211-1 and header mapping 211-2 ), URL mapping-related information 211-3, and the like. 3C, information related to body mapping 211-1 includes a body key value and data type (LIST, OBJECT, String, Integer, Float, etc.), and information related to header mapping 211 -2) includes a header key value, and the like, and the information 211-3 related to URL mapping may include a query key value or a change target value of the URL.

또한, 시스템 매핑 규칙(212)은 연계하고자 하는 시스템(예를 들어, 로봇 시스템)과 연계하기 위한 규칙 정보들을 포함할 수 있다. 시스템 매핑 규칙(212)은 고정 값(fixed value)과 관련된 정보(212-1)와, 유동 값(예를 들어, 연계 시스템 메시지 키 값)과 관련된 정보(212-2)를 포함할 수 있다. Further, the system mapping rule 212 may include rule information for linking with a system to be linked (eg, a robot system). The system mapping rule 212 may include information 212-1 related to a fixed value and information 212-2 related to a floating value (eg, a linked system message key value).

클라우드 서비스를 구성하는 각 서비스에 대해 정의된 인수들은, 인수 정보와 함께 클라우드 인수(cloud argument)로 바인딩되어, 클라우드 서비스 온톨로지(11) 내에 포함될 수 있다. Arguments defined for each service constituting a cloud service may be bound as a cloud argument together with the argument information, and may be included in the cloud service ontology 11.

도 4는 실시 예에 따른 클라우드 서비스 온톨로지(11)에서 클라우드 서비스의 인수들을 바인딩하는 일 예를 도시한 것이다. 또한, 도 5는 실시 예에 따른 클라우드 서비스 온톨로지(11)에 포함된 클라우드 인수들의 구성을 개략적으로 도시한 것이다. 4 illustrates an example of binding arguments of a cloud service in a cloud service ontology 11 according to an embodiment. In addition, FIG. 5 schematically shows the configuration of cloud factors included in the cloud service ontology 11 according to an embodiment.

도 4를 참조하면, 클라우드 서비스 온톨로지(11)의 계층 구조에서는, 인수 바인딩 프로퍼티(P21)에 기초하여 각 서비스 별로 필요로 하는 인수(A11~A14)들이 클라우드 인수(CA100)로 바인딩될 수 있다. 이 때, 하위 레벨에 속하는 서비스들의 인수들은, 자신에게 정의된 인수뿐만 아니라, 자신의 상위 레벨 서비스에서 정의된 인수들 또한 포함할 수 있다. 도 4를 예로 들면, 캘린더 이벤트 작성 서비스(111-1)에 대해서는, 캘린더 이벤트 작성 서비스(111-1)의 상위 서비스인 캘린더 이벤트 서비스(111)에서 정의된 인수(A11) 또한 함께 바인딩될 수 있다. Referring to FIG. 4, in the hierarchical structure of the cloud service ontology 11, arguments A11 to A14 required for each service may be bound to the cloud argument CA100 based on the argument binding property P21. In this case, the arguments of the services belonging to the lower level may include not only the arguments defined for themselves, but also the arguments defined in the own higher level service. 4, for the calendar event creation service 111-1, an argument A11 defined in the calendar event service 111, which is a higher level service of the calendar event creation service 111-1, may also be bound together. .

다시, 도 1을 보면, 템플릿 생성기(12)는 사용자 인터페이스(13)를 통해 개발자로부터 서비스 종류 및 인증(Authentication) 방식을 선택하는 선택 정보를 수신하고, 수신된 선택 정보에 기초하여 클라우드 서비스의 서비스 프로파일 생성을 위한 템플릿들을 생성할 수 있다. Again, referring to FIG. 1, the template generator 12 receives selection information for selecting a service type and an authentication method from a developer through the user interface 13, and based on the received selection information, the service of the cloud service You can create templates for profile creation.

템플릿 생성기(12)는 사용자 인터페이스(13)를 통해 대응하는 서비스를 제공하는데 사용할 서비스 종류와 이를 위한 인증 방식이 선택되면, 이를 토대로 클라우드 서비스 온톨로지(11)로부터 서비스 구현에 필요한 프로퍼티 리스트를 획득할 수 있다. 그리고, 작업자에 의해 선택된 인증 방식과, 클라우드 서비스 온톨로지(11)로부터 획득한 프로퍼티 리스트를 토대로, 대응하는 서비스 기능을 제공하기 위한 서비스 프로파일 템플릿들을 생성할 수 있다.The template generator 12 can obtain a property list required for service implementation from the cloud service ontology 11 based on the selection of a service type to be used to provide a corresponding service through the user interface 13 and an authentication method therefor. have. Also, based on the authentication method selected by the worker and the property list acquired from the cloud service ontology 11, service profile templates for providing a corresponding service function may be generated.

이하, 도 5a 내지 도 5c를 참조하여, 실시 예에 따른 템플릿 생성기(12)에서 서비스 프로파일 생성을 위한 템플릿을 생성하는 방법에 대해 상세히 설명한다. Hereinafter, a method of generating a template for generating a service profile in the template generator 12 according to an embodiment will be described in detail with reference to FIGS. 5A to 5C.

도 5a는 실시 예에 따른 클라우드 서비스 인증 데이터 모델의 일 예를 도시한 것이다. 5A illustrates an example of a cloud service authentication data model according to an embodiment.

클라우드 서비스의 인증에 사용되는 인증 방식으로는, 공개인증(Open Authorization 2, OAuth2) 방식(310), API(Application programming interface) 키(key) 인증 방식(320), 오픈 API 인증 방식(330)등이 있을 수 있다. 도 5a를 참조하면, 클라우드 서비스의 인증에 사용되는 인증 데이터 모델(300)은 인증에 사용하는 인증 방식(310, 320, 330)에 따라서 인증에 사용되는 인증 데이터를 분류하도록 구성된다. 예를 들어, OAuth2 방식(310)의 경우, 클라이언트 비밀번호(client secret, 311), 클라이언트 키(client key, 312), 및 스코프(scope)가 인증 데이터로 인증 데이터 모델(300)에 포함될 수 있다. 또한, 예를 들어, API 키 인증 방식(320)의 경우, API 키(321)가 인증 데이터로 인증 데이터 모델(300)에 포함될 수 있다. As an authentication method used for authentication of a cloud service, an open authentication (Open Authorization 2, OAuth2) method 310, an application programming interface (API) key authentication method 320, an open API authentication method 330, etc. This can be. Referring to FIG. 5A, the authentication data model 300 used for authentication of a cloud service is configured to classify authentication data used for authentication according to authentication methods 310, 320, and 330 used for authentication. For example, in the case of the OAuth2 method 310, a client secret (311), a client key (312), and a scope may be included in the authentication data model 300 as authentication data. Further, for example, in the case of the API key authentication method 320, the API key 321 may be included in the authentication data model 300 as authentication data.

템플릿 생성기(12)는 이러한 인증 데이터 모델(300)을 이용하여, 개발자로부터 인증 방식에 대한 선택 정보가 수신되면, 선택된 인증 방식에 대응하는 인증 데이터 리스트를 획득할 수 있다. The template generator 12 may obtain an authentication data list corresponding to the selected authentication method when selection information on the authentication method is received from the developer using the authentication data model 300.

한편, 실시 예에서는, 템플릿 생성기(12)가 템플릿 생성 시 참조할 수 있도록, 인증 데이터 모델(300)을 클라우드 서비스 온톨로지(11) 내에 포함시킬 수도 있다. Meanwhile, in an embodiment, the authentication data model 300 may be included in the cloud service ontology 11 so that the template generator 12 can refer to it when generating the template.

도 5b는 실시 예에 따른 템플릿 생성기(12)에서 서비스 프로파일 템플릿에 포함시킬 정보들을 획득하는 일 예를 도시한 것이다. 5B illustrates an example of obtaining information to be included in a service profile template by the template generator 12 according to an embodiment.

도 5b를 예로 들면, 템플릿 생성기(12)는, 서비스 종류로 구글의 캘린더 이벤트 삽입(Google Calendar Events Insert) 서비스(410)가 선택됨에 따라, 클라우드 서비스 온톨로지(11)로부터 캘린더 이벤트 작성(111-1) 서비스에 대해 정의된 프로퍼티(P11~P13, A11~A14)들의 리스트를 획득한다. 또한, 템플릿 생성기(12)는 구글 캘린더 이벤트 삽입(Google Calendar Events Insert) 서비스(410)의 인증 방식으로 OAuth2(420)가 선택됨에 따라, 인증 데이터 모델(300)로부터 OAuth2(420)에서 필요로 하는 인증 데이터들(AK11~AK13)의 리스트를 획득한다. Referring to FIG. 5B as an example, the template generator 12 creates a calendar event from the cloud service ontology 11 as the Google Calendar Events Insert service 410 is selected as the service type (111-1). ) Obtain a list of properties (P11 to P13, A11 to A14) defined for the service. In addition, as the template generator 12 selects the OAuth2 420 as the authentication method of the Google Calendar Events Insert service 410, the OAuth2 420 is required from the authentication data model 300. A list of authentication data AK11 to AK13 is obtained.

템플릿 생성기(12)는 선택된 서비스의 프로퍼티(P11~P13, A11~A14)들과 인증 데이터들(AK11~AK13)이 획득되면, 기 설정된 서비스 프로파일 템플릿 포맷에 이들을 삽입하여 서비스 프로파일 템플릿을 생성할 수 있다. When the properties of the selected service (P11-P13, A11-A14) and authentication data (AK11-AK13) are obtained, the template generator 12 can create a service profile template by inserting them into a preset service profile template format. have.

도 5c는 실시 예에 따른 템플릿 생성기에 의해 생성된 서비스 프로파일 템플릿의 일 예를 도시한 것으로서, 캘린더 서비스의 서비스 프로파일(500) 중 캘린더 이벤트 작성 서비스에 대응하는 서비스 프로파일(510) 생성을 위한 서비스 프로파일 템플릿(511)을 예로 들어 도시한 것이다. 5C illustrates an example of a service profile template generated by a template generator according to an embodiment, and is a service profile for generating a service profile 510 corresponding to a calendar event creation service among service profiles 500 of a calendar service. The template 511 is shown as an example.

도 5c를 예로 들면, 서비스 종류로 구글의 캘린더 이벤트 삽입(Google Calendar Events Insert) 서비스가 선택되고, 인증 방식으로 OAuth2 방식이 선택됨에 따라, 템플릿 생성기(12)는 클라우드 서비스 온톨로지(11)로부터 캘린더 이벤트 작성 서비스(111-1)에 대해 정의된 프로퍼티 리스트를 읽어오고, 인증 데이터 모델(300)로부터 OAuth2 방식에 대해 정의된 인증 데이터 리스트를 읽어온다. 그리고, 클라우드 서비스의 프로퍼티 리스트와 인증 데이터 리스트에 기초하여, 구글의 캘린더 이벤트 삽입 서비스의 서비스 프로파일 템플릿(511)을 생성한다. 이렇게 생성된 서비스 프로파일 템플릿(511)은, 서비스 URL, 서비스 방법(HTTP 방법) 등의 서비스 기능과 관련된 명세(511-1)와, 인증 데이터(클라이언트 키, 클라이언트 비밀번호, 스코프, 리프레쉬 토큰(refresh token))에 대한 명세(511-2), 및 각 인수에 대한 데이터 연계 방법에 대한 명세(511-3)를 기재할 수 있도록 구성될 수 있다. 5C as an example, as the Google Calendar Events Insert service is selected as the service type and the OAuth2 method is selected as the authentication method, the template generator 12 provides a calendar event from the cloud service ontology 11 The property list defined for the creation service 111-1 is read, and the authentication data list defined for the OAuth2 method is read from the authentication data model 300. Then, a service profile template 511 of Google's calendar event insertion service is generated based on the property list of the cloud service and the authentication data list. The service profile template 511 created in this way includes specifications 511-1 related to service functions such as a service URL and a service method (HTTP method), and authentication data (client key, client password, scope, refresh token). )), and a data linkage method for each argument (511-3).

다시, 도 1을 보면, 템플릿 생성기(12)에 의해 도 5c에 도시된 바와 같이 서비스 프로파일 템플릿이 생성되면, 서비스 프로파일 생성기(14)는 사용자 인터페이스(13)를 통해 서비스 프로파일 템플릿에 삽입할 데이터들을 입력 받을 수 있다. 그리고, 서비스 프로파일 템플릿의 작성이 완료되면, 이를 이용하여 대응하는 클라우드 서비스 인터페이스의 규격(specification) 정보를 포함하는 서비스 프로파일을 생성할 수 있다. Again, referring to FIG. 1, when the service profile template is generated by the template generator 12 as shown in FIG. 5C, the service profile generator 14 stores data to be inserted into the service profile template through the user interface 13. Input can be received. In addition, when the creation of the service profile template is completed, a service profile including specification information of a corresponding cloud service interface may be generated using this.

도 6은 도 5c의 서비스 프로파일 템플릿의 작성 예를 도시한 것이다. 6 shows an example of creating the service profile template of FIG. 5C.

도 6을 예로 들면, 서비스 프로파일 생성기(14)는 사용자 인터페이스(13)를 통해 개발자로부터 서비스 기능과 관련된 데이터(서비스 URL, 서비스 방법(HTTP 방법))가 수신되면, 이를 서비스 프로파일 템플릿(511)의 서비스 기능 명세 부분(511-1)에 삽입할 수 있다. 또한, 서비스 프로파일 생성기(14)는 사용자 인터페이스(13)를 통해 개발자로부터 인증에 필요한 데이터(클라이언트 키, 클라이언트 비밀번호, 스코프, 리프레쉬 토큰)들이 입력되면, 이를 서비스 프로파일 템플릿(511)의 인증 관련 명세 부분(511-2)에 삽입할 수 있다. 또한, 서비스 프로파일 생성기(14)는 사용자 인터페이스(13)를 통해 개발자로부터 인수간 데이터 연계 방법에 관련된 데이터들이 입력되면, 이를 서비스 프로파일 템플릿(511)의 데이터 연계 방법 관련 명세 부분(511-3)에 삽입할 수 있다. 6, when the service profile generator 14 receives service function-related data (service URL, service method (HTTP method)) from the developer through the user interface 13, the service profile generator 14 It can be inserted into the service function specification part 511-1. In addition, when the service profile generator 14 inputs data necessary for authentication (client key, client password, scope, refresh token) from the developer through the user interface 13, the service profile generator 14 receives the authentication-related specification part of the service profile template 511. It can be inserted in (511-2). In addition, the service profile generator 14, when data related to the data linkage method between arguments is input from the developer through the user interface 13, it is added to the specification part 511-3 related to the data linkage method of the service profile template 511. Can be inserted.

이와 같이, 개발자에 의해 서비스 프로파일 생성에 필요한 명세 부분들(511-1, 511-2, 511-3)에 대한 기재가 완료되면, 서비스 프로파일 생성기(14)는 작성이 완료된 서비스 프로파일 템플릿(511)을 이용하여 서비스 프로파일을 생성할 수 있다. In this way, when the description of the specification parts 511-1, 511-2, and 511-3 required for service profile creation by the developer is completed, the service profile generator 14 is the service profile template 511 that has been created. You can create a service profile using.

도 7은 실시 예에 따른 서비스 프로파일 생성 방법을 개략적으로 도시한 것이다. 도 7의 서비스 프로파일 생성 방법은, 도 1 내지 도 6을 참조하여 설명한 소프트웨어 플랫폼에 의해 수행될 수 있다. 7 schematically illustrates a method of generating a service profile according to an embodiment. The service profile generation method of FIG. 7 may be performed by the software platform described with reference to FIGS. 1 to 6.

도 7을 참조하면, 실시 예에 따른 소프트웨어 플랫폼(1)은 클라우드 서비스의 서비스 프로파일 생성을 위해, 사용자 인터페이스(13)를 통해 개발자로부터 로봇 시스템에서 서비스하고자 하는 클라우드 서비스의 서비스 종류 및 인증 방식에 대한 선택 정보가 수신한다(S10). 또한, 수신된 선택 정보에 기초하여 클라우드 서비스 온톨로지(11)로부터 서비스 구현에 필요한 프로퍼티 리스트를 획득하고, 인증 데이터 모델(300)로부터 인증에 필요한 인증 데이터 리스트를 획득한다(S11).Referring to FIG. 7, in order to create a service profile of a cloud service, a software platform 1 according to an embodiment shows a service type and authentication method of a cloud service that a developer intends to service in a robot system through a user interface 13. Selection information is received (S10). In addition, a property list required for service implementation is obtained from the cloud service ontology 11 based on the received selection information, and an authentication data list required for authentication is obtained from the authentication data model 300 (S11).

이후, 소프트웨어 플랫폼(1)은 템플릿 생성기(12)를 통해 상기 S11 단계를 통해 획득한 프로퍼티 리스트 및 인증 데이터 리스트를 이용하여 서비스 프로파일 생성에 사용할 서비스 프로파일 템플릿을 생성한다(S12). 그리고, 사용자 인터페이스(13)를 통해 서비스 프로파일 템플릿에 삽입할 명세 정보들을 개발자로부터 수신한다(S13). Thereafter, the software platform 1 generates a service profile template to be used for service profile generation by using the property list and the authentication data list obtained through the step S11 through the template generator 12 (S12). Then, the specification information to be inserted into the service profile template through the user interface 13 is received from the developer (S13).

이후, 소프트웨어 플랫폼(1)은 개발자로부터 수신된 명세 정보에 기초하여 서비스 프로파일 템플릿 생성이 완료되면, 이를 이용하여 로봇 시스템 내에 대응하는 클라우드 서비스 인터페이스를 구축하기 위해 사용되는 서비스 프로파일을 생성한다(S14). 이렇게 생성된 서비스 프로파일은, 이후 로봇 시스템에 전달되어 로봇 시스템 내에서 대응하는 클라우드 서비스를 제공하기 위한 클라우드 서비스 인터페이스 구축에 사용될 수 있다.Thereafter, when the creation of the service profile template is completed based on the specification information received from the developer, the software platform 1 generates a service profile used to build a corresponding cloud service interface in the robot system using this (S14). . The service profile generated in this way may be transmitted to the robot system and used to construct a cloud service interface for providing a corresponding cloud service within the robot system.

전술한 바에 따르면, 실시 예에서는 클라우드 서비스에 필요한 프로퍼티들을 온톨로지화 하여, 개발자가 자신이 개발하고자 하는 클라우드 서비스와 관련하여 서비스 종류 및 인증 방식을 선택하는 것만으로, 도 5에 도시된 바와 같이, 서비스 프로파일 작성을 위한 템플릿이 자동 생성할 수 있다. 또한, 개발자는 이러한 템플릿에 도 6에 도시된 바와 같이 간단한 명세를 기재하여 클라우드 서비스 인터페이스의 구축에 사용되는 서비스 프로파일을 생성할 수 있다. As described above, in the embodiment, properties required for cloud services are ontology, and the developer simply selects the service type and authentication method in relation to the cloud service to be developed, as shown in FIG. Templates for profile creation can be automatically generated. In addition, the developer can create a service profile used for building a cloud service interface by writing a simple specification as shown in FIG. 6 in this template.

한편, 전술한 소프트웨어 플랫폼(1)에 의해 생성된 서비스 프로파일은 대응하는 클라우드 서비스의 시나리오를 구성하기 위한 행위들과, 이를 수행하는 순서에 대한 정보, 그리고 클라우드 서비스 관련 지식들과 함께 서비스 패키지로 패키징된 후, 대응하는 클라우드 서비스의 인터페이스를 구축하고자 하는 로봇 시스템으로 전달될 수 있다. On the other hand, the service profile created by the above-described software platform (1) is packaged as a service package along with actions for constructing a scenario of a corresponding cloud service, information on the order of performing this, and knowledge related to cloud services. After that, it can be delivered to the robot system that wants to build the interface of the corresponding cloud service.

이하, 도 8, 도 9a 및 도 9b를 참조하여 실시 예에 따른 로봇 시스템에서의 클라우드 서비스를 제공하기 위한 클라우드 서비스 플랫폼에 대해 상세히 설명하기로 한다. Hereinafter, a cloud service platform for providing a cloud service in a robot system according to an embodiment will be described in detail with reference to FIGS. 8, 9A, and 9B.

도 8은 실시 예에 따른 로봇 시스템의 클라우드 서비스 플랫폼을 개략적으로 도시한 것이다. 8 schematically shows a cloud service platform of a robot system according to an embodiment.

도 8을 참조하면, 실시 예에 따른 로봇 시스템의 클라우드 서비스 플랫폼(2)은, 클라우드 인터페이스 매니저(cloud interface manager, 20), 클라우드 서비스 인터페이스(cloud service interface, 30), 및 클라우드 서비스 에이전트(cloud service agent, 40)를 포함할 수 있다. Referring to FIG. 8, a cloud service platform 2 of a robot system according to an embodiment includes a cloud interface manager 20, a cloud service interface 30, and a cloud service agent. agent, 40).

클라우드 인터페이스 매니저(20)는 로봇 시스템에서 서비스하고자 하는 클라우드 서비스의 서비스 프로파일(24)을 수신하고, 이를 이용하여 로봇 시스템에서 대응하는 클라우드 서비스를 제공하기 위한 클라우드 서비스 인터페이스(30) 및 클라우드 서비스 에이전트(40)를 생성할 수 있다. The cloud interface manager 20 receives the service profile 24 of the cloud service to be serviced by the robot system, and uses it to provide a cloud service interface 30 and a cloud service agent ( 40) can be generated.

클라우드 인터페이스 매니저(20)는 클라우드 서비스 온톨로지(21), 클라우드 서비스 인스턴스 파서(cloud service instance parser, 22), 인증 어댑터(authorization adapter, 23), 및 서비스 프로파일(24)를 포함할 수 있다. The cloud interface manager 20 may include a cloud service ontology 21, a cloud service instance parser 22, an authentication adapter 23, and a service profile 24.

클라우드 서비스 온톨로지(21)는 전술한 소프트웨어 플랫폼(1)에서 서비스 프로파일 생성에 사용한 클라우드 서비스 온톨로지(11)와 동일한 것이며, 서비스 프로파일(24)은 전술한 소프트웨어 플랫폼(1)에 의해 생성된 것이다. 클라우드 인터페이스 매니저(20)는 패키지 개시자(package initiator, 50)를 통해 클라우드 서비스의 서비스 패키지를 배포 받아 사용할 수 있다. The cloud service ontology 21 is the same as the cloud service ontology 11 used to create a service profile in the software platform 1 described above, and the service profile 24 is created by the software platform 1 described above. The cloud interface manager 20 may distribute and use a service package of a cloud service through a package initiator 50.

클라우드 서비스 인스턴스 파서(22)는, 패키지 개시자(50)를 통해 배포 받은 클라우드 서비스의 서비스 패키지를 파싱(parsing)하여 로봇 시스템 내에서 클라우드 서비스를 제공하기 위해 필요한 클라우드 서비스 인스턴스들을 획득할 수 있다. The cloud service instance parser 22 may parse the service package of the cloud service distributed through the package initiator 50 to obtain cloud service instances required to provide a cloud service in the robot system.

클라우드 서비스 인스턴스 파서(22)로부터 획득된 클라우드 서비스 인스턴스들은 클라우드 인터페이스 매니저(20)가, 클라우드 서비스 인터페이스(30) 및 클라우드 서비스 에이전트(40)를 생성하기 위한 인스턴스들로 사용될 수 있다. Cloud service instances acquired from the cloud service instance parser 22 may be used as instances for the cloud interface manager 20 to create the cloud service interface 30 and the cloud service agent 40.

인증 어댑터(23)는 서비스 프로파일(24)에 포함된 인증 관련 명세 부분을 참조하여, 대응하는 클라우드 서비스를 제공하는 클라우드 서버(3)에서 클라우드 서비스 플랫폼(2)이 인증 받을 수 있도록 지원한다. The authentication adapter 23 supports the cloud service platform 2 to be authenticated in the cloud server 3 providing the corresponding cloud service by referring to the authentication-related specification part included in the service profile 24.

클라우드 서비스 인터페이스(30)는 대응하는 클라우드 서비스를 제공하는 클라우드 서버(3)와, 로봇 시스템 즉, 로봇 시스템 내 클라우드 서비스 에이전트(40) 또는 타 에이전트 간의 인터페이스를 지원할 수 있다. The cloud service interface 30 may support an interface between a cloud server 3 providing a corresponding cloud service and a robot system, that is, a cloud service agent 40 in the robot system or another agent.

클라우드 서비스 인터페이스(30)는 서비스 모델(service model, 31), 요구 모델(request mode, 32), 응답 모델(response model, 33), 시스템 인터페이스(system interface, 34), 클라우드 인터페이스(cloud interface, 35), 및 서비스 인터페이스 프로토콜 매핑부(service interface protocol mapper, 36)를 포함할 수 있다. The cloud service interface 30 includes a service model (31), a request model (32), a response model (33), a system interface (34), and a cloud interface (35). ), and a service interface protocol mapper (36).

서비스 모델(31)은, 클라우드 서비스에 대한 서비스 모델을 포함할 수 있다. The service model 31 may include a service model for a cloud service.

요구 모델(32)은, 로봇 시스템 즉, 로봇 시스템 내 클라우드 서비스 에이전트(40) 또는 타 에이전트로부터 수신되는 시스템 요구(system request) 메시지와, 클라우드 서버(3)로부터 수신되는 HTTP 요구 메시지 사이의 매핑 규칙을 포함할 수 있다. The request model 32 is a mapping rule between a robot system, that is, a system request message received from the cloud service agent 40 or another agent in the robot system, and an HTTP request message received from the cloud server 3 It may include.

도 9a는 실시 예에 따른 클라우드 서비스 인터페이스(30)를 구성하는 요구 모델(32)의 일 예를 도시한 것이다. 9A illustrates an example of a request model 32 configuring the cloud service interface 30 according to an embodiment.

도 9a를 예로 들면, 요구 모델(32)은 서비스 프로파일(24) 내에 포함된 된 각 클라우드 인수에 대해 인수 모델(32-1, 32-2)을 포함할 수 있다. 또한, 각 인수 모델(32-1, 32-2)은, 대응하는 인수가 시스템 요구 메시지 내 매핑되는 위치 정보(32-11)와, HTTP 요구 메시지 내 매핑되는 위치 정보(32-12)를 포함할 수 있다. Taking FIG. 9A as an example, the request model 32 may include the acquisition models 32-1 and 32-2 for each cloud factor included in the service profile 24. In addition, each argument model (32-1, 32-2) includes location information (32-11) to which the corresponding argument is mapped in the system request message, and location information (32-12) to be mapped in the HTTP request message. can do.

다시, 도 8을 보면, 응답 모델(33)은, 로봇 시스템 즉, 로봇 시스템 내 클라우드 서비스 에이전트(40) 또는 타 에이전트로부터 수신되는 시스템 응답(system response) 메시지와, 클라우드 서버(3)로부터 수신되는 HTTP 응답 메시지 사이의 매핑 규칙을 포함할 수 있다. Again, referring to FIG. 8, the response model 33 is a robot system, that is, a system response message received from the cloud service agent 40 or another agent in the robot system, and a system response message received from the cloud server 3. May contain mapping rules between HTTP response messages.

도 9b는 실시 예에 따른 클라우드 서비스 인터페이스(30)를 구성하는 응답 모델(33)의 일 예를 도시한 것이다. 9B illustrates an example of a response model 33 configuring the cloud service interface 30 according to an embodiment.

도 9b를 예로 들면, 응답 모델(33)은 서비스 프로파일(24) 내에 포함된 된 각 클라우드 인수에 대해 인수 모델(33-1)을 포함할 수 있다. 또한, 각 인수 모델(33-1)은, 대응하는 인수가 시스템 응답 메시지 내 매핑되는 위치 정보(33-11)와, HTTP 응답 메시지 내 매핑되는 위치 정보(33-12)를 포함할 수 있다. Referring to FIG. 9B as an example, the response model 33 may include a factor model 33-1 for each cloud factor included in the service profile 24. In addition, each argument model 33-1 may include location information 33-11 to which a corresponding argument is mapped in a system response message, and location information 33-12 to be mapped within an HTTP response message.

시스템 인터페이스(34)는 클라우드 서비스 인터페이스(30)에서 로봇 시스템 즉, 로봇 시스템 내 클라우드 서비스 에이전트(40) 또는 타 에이전트와의 인터페이스 기능을 수행할 수 있다. 클라우드 서비스 인터페이스(30)는 시스템 인터페이스(34)를 통해 클라우드 서비스 에이전트(40) 또는 타 에이전트와 시스템 요구/응답 메시지들을 송수신할 수 있다. The system interface 34 may perform an interface function with a robot system, that is, a cloud service agent 40 or other agents within the robot system in the cloud service interface 30. The cloud service interface 30 may transmit and receive system request/response messages with the cloud service agent 40 or other agents through the system interface 34.

클라우드 인터페이스(35)는 클라우드 서비스 인터페이스(30)에서 클라우드 서버(3)와의 인터페이스 기능을 수행할 수 있다. 클라우드 서비스 인터페이스(30)는 클라우드 인터페이스(35)를 통해 클라우드 서버(3)와 HTTP 요구/응답 메시지들을 송수신할 수 있다. The cloud interface 35 may perform an interface function with the cloud server 3 in the cloud service interface 30. The cloud service interface 30 may transmit and receive HTTP request/response messages with the cloud server 3 through the cloud interface 35.

서비스 인터페이스 프로토콜 매핑부(36)는 서비스 모델(31), 요구 모델(32), 및 응답 모델(33)에 기초하여, 시스템 인터페이스(34)를 통해 수신되는 시스템 요구/응답 메시지들과 클라우드 인터페이스(35)를 통해 수신되는 HTTP 요구/응답 메시지 간의 변환을 수행할 수 있다. The service interface protocol mapping unit 36 includes system request/response messages received through the system interface 34 and a cloud interface based on the service model 31, the request model 32, and the response model 33. 35) can perform conversion between HTTP request/response messages received.

클라우드 서비스 에이전트(40)는, 로봇 시스템 내에서 대응하는 클라우드 서비스와 관련된 작업을 관리 및 처리할 수 있다. The cloud service agent 40 may manage and process tasks related to a corresponding cloud service within the robot system.

패키지 개시자(50)는 인터넷 상에서 클라우드 서비스 온톨로지(21) 및 서비스 프로파일(24)를 배포 받고, 이를 클라우드 인터페이스 매니저(20)로 전달할 수 있다. The package initiator 50 may distribute the cloud service ontology 21 and the service profile 24 on the Internet, and may transmit them to the cloud interface manager 20.

전술한 바와 같이, 서비스 프로파일을 이용하여 로봇 시스템 내에 클라우드 서비스 인터페이스(30) 및 클라우드 서비스 에이전트(40)가 구축되면, 클라우드 서비스 에이전트(40)는 클라우드 서버(3)에 접속하여 로봇 시스템 내에서 클라우드 서비스를 제공할 수 있다. As described above, when the cloud service interface 30 and the cloud service agent 40 are built in the robot system using the service profile, the cloud service agent 40 connects to the cloud server 3 and Service can be provided.

도 10은 실시 예에 따른 로봇 시스템에서 클라우드 서비스를 제공하는 방법을 개략적으로 도시한 것이다. 10 schematically illustrates a method of providing a cloud service in a robot system according to an embodiment.

도 10을 참조하면, 실시 예에 따른 로봇 시스템의 패키지 개시자(50)는, 인터넷으로부터 클라우드 서비스의 서비스 프로파일을 배포 받아 클라우드 인터페이스 매니저(20)로 전달한다(S20). Referring to FIG. 10, the package initiator 50 of the robot system according to the embodiment receives a service profile of a cloud service from the Internet and transmits it to the cloud interface manager 20 (S20).

이에 따라, 클라우드 인터페이스 매니저(20)는, 전달 받은 서비스 프로파일과 클라우드 서비스 온톨로지를 이용하여 클라우드 서비스 에이전트(40)를 생성 및 실행 시킨다(S21). Accordingly, the cloud interface manager 20 creates and executes the cloud service agent 40 using the received service profile and the cloud service ontology (S21).

이후, 클라우드 서비스 에이전트(40)는 로봇 시스템 내 타 에이전트(60)로부터 클라우드 서비스 요청이 수신되면(S22), 클라우드 서버(3)로 대응하는 클라우드 서비스의 실행을 요청한다(S23). 그리고, 클라우드 서버(3)로부터 요청한 클라우드 서비스의 실행에 대한 응답을 수신하여(S24), 요청에 대한 결과 값을 타 에이전트(60)로 전달한다(S25). Thereafter, when a cloud service request is received from another agent 60 in the robot system (S22), the cloud service agent 40 requests the cloud server 3 to execute a corresponding cloud service (S23). Then, a response to the execution of the requested cloud service is received from the cloud server 3 (S24), and the result value of the request is transmitted to the other agent 60 (S25).

이와 같이, 실시 예에서는 로봇 시스템 내에 서비스 프로파일 기반의 클라우드 서비스 인터페이스를 구축하여, 타 에이전트에서 클라우드 서비스와 연계할 수 있도록 지원한다. As described above, in the embodiment, a service profile-based cloud service interface is built in the robot system, so that other agents can link with the cloud service.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위해 기록매체에 기록된 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention are not implemented only through the apparatus and/or method described above, but a program recorded on a recording medium or a recording medium on which the program is recorded in order to realize a function corresponding to the configuration of the embodiment of the present invention. It may be implemented through, and such implementation can be easily implemented by an expert in the technical field to which the present invention belongs from the description of the above-described embodiment.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (10)

사용자 인터페이스,
클라우드 서비스를 구성하는 복수의 서비스를 계층적으로 분류하고, 상기 복수의 서비스 각각이 필요로 하는 프로퍼티(property)를 정의하여 라이브러리화한 클라우드 서비스 온톨로지,
상기 사용자 인터페이스를 통해 서비스 종류 및 인증 방식을 선택하는 선택 정보를 수신하고, 상기 선택 정보에 기초하여 상기 클라우드 서비스 온톨로지로부터 상기 서비스 종류에 대응하는 프로퍼티 리스트를 획득하며, 상기 인증 방식에 대응하는 인증 데이터 리스트와 상기 프로퍼티 리스트를 이용하여 서비스 프로파일 템플릿을 생성하는 템플릿 생성기, 및
상기 사용자 인터페이스를 통해 수신되는 명세 데이터들에 의해 상기 서비스 프로파일 템플릿의 작성이 완료되면, 상기 서비스 프로파일 템플릿을 이용하여 서비스 프로파일을 생성하는 서비스 프로파일 생성기를 포함하며,
상기 서비스 프로파일은, 대응하는 클라우드 서비스를 서비스하고자 하는 시스템 내에서 클라우드 서비스 인터페이스 구축에 사용되고,
상기 템플릿 생성기는, 복수의 인증 방식 별로 인증에 필요한 데이터들을 분류하도록 구성된 인증 데이터 모델로부터 상기 선택 정보에 기초하여 상기 인증 데이터 리스트를 획득하며, 상기 인증 데이터 리스트를 이용하여 상기 서비스 프로파일 템플릿의 인증 데이터에 대한 명세 부분을 생성하는, 소프트웨어 플랫폼을 기록한 기록매체.
User interface,
A cloud service ontology in which a plurality of services constituting a cloud service are hierarchically classified, and properties required by each of the plurality of services are defined and converted into a library,
Receive selection information for selecting a service type and an authentication method through the user interface, obtain a property list corresponding to the service type from the cloud service ontology based on the selection information, and authentication data corresponding to the authentication method A template generator for generating a service profile template using a list and the property list, and
When the creation of the service profile template is completed based on the specification data received through the user interface, comprising a service profile generator for generating a service profile using the service profile template,
The service profile is used to build a cloud service interface within a system to service a corresponding cloud service,
The template generator obtains the authentication data list based on the selection information from an authentication data model configured to classify data required for authentication for each of a plurality of authentication methods, and uses the authentication data list to obtain authentication data of the service profile template. A recording medium recording the software platform, creating a specification part for
제1항에서,
상기 프로퍼티 리스트는, 대응하는 서비스의 서비스 URL 및 서비스 방법, 그리고 상기 대응하는 서비스를 사용하는데 필요한 복수의 인수(argument)를 포함하는 소프트웨어 플랫폼을 기록한 기록매체.
In claim 1,
The property list is a recording medium recording a software platform including a service URL and a service method of a corresponding service, and a plurality of arguments required to use the corresponding service.
제2항에서,
상기 클라우드 서비스 온톨로지는, 상기 복수의 인수 각각의 인수 정보를 포함하며,
상기 인수 정보는, 매핑 규칙, 표시명, 인수 이름, 및 요구 레벨 중 적어도 하나를 포함하는 소프트웨어 플랫폼을 기록한 기록매체.
In paragraph 2,
The cloud service ontology includes argument information of each of the plurality of arguments,
The argument information is a recording medium recording a software platform including at least one of a mapping rule, a display name, an argument name, and a request level.
제3항에서,
상기 매핑 규칙은, 대응하는 인수에 대해 클라우드 서비스 측의 데이터와 연계하기 위한 규칙 정보, 및 상기 시스템과 연계하기 위한 규칙 정보를 포함하는 소프트웨어 플랫폼을 기록한 기록매체.
In paragraph 3,
The mapping rule is a recording medium recording a software platform including rule information for linking with data of a cloud service side with respect to a corresponding argument, and rule information for linking with the system.
제1항에 있어서,
상기 명세 데이터는, 상기 프로퍼티 리스트에 포함된 각 프로퍼티와 상기 인증 데이터 리스트에 포함된 각 인증 데이터에 대한 명세 데이터인 소프트웨어 플랫폼을 기록한 기록매체.
The method of claim 1,
The specification data is a recording medium for recording a software platform which is specification data for each property included in the property list and each authentication data included in the authentication data list.
서비스 종류 및 인증 방식을 선택하는 선택 정보를 수신하는 단계,
클라우드 서비스를 구성하는 복수의 서비스를 계층적으로 분류하고, 상기 복수의 서비스 각각이 필요로 하는 프로퍼티(property)를 정의하여 라이브러리화한 클라우드 서비스 온톨로지로부터, 상기 서비스 종류에 대응하는 프로퍼티 리스트를 획득하는 단계,
상기 인증 방식에 대응하는 인증 데이터 리스트를 획득하는 단계,
상기 프로퍼티 리스트 및 상기 인증 데이터 리스트를 이용하여 서비스 프로파일 템플릿을 생성하는 단계,
상기 서비스 프로파일 템플릿에 삽입되는 명세 데이터들을 수신하는 단계, 및
상기 서비스 프로파일 템플릿의 작성이 완료되면, 상기 서비스 프로파일 템플릿을 이용하여 서비스 프로파일을 생성하는 단계를 포함하며,
상기 서비스 프로파일은, 대응하는 클라우드 서비스를 서비스하고자 하는 시스템 내에서 클라우드 서비스 인터페이스 구축에 사용되고,
상기 인증 데이터 리스트를 획득하는 단계는,
상기 선택 정보에 기초하여, 복수의 인증 방식 별로 인증에 필요한 데이터들을 분류하도록 구성된 인증 데이터 모델로부터 상기 인증 데이터 리스트를 획득하는 단계를 포함하며,
상기 서비스 프로파일 템플릿을 생성하는 단계는,
상기 인증 데이터 리스트를 이용하여 상기 서비스 프로파일 템플릿의 인증 데이터에 대한 명세 부분을 생성하는 단계를 포함하는, 소프트웨어 플랫폼의 서비스 프로파일 생성 방법.
Receiving selection information for selecting a service type and authentication method,
Classifying a plurality of services constituting a cloud service hierarchically, defining properties required by each of the plurality of services, and obtaining a property list corresponding to the service type from a cloud service ontology that has been converted into a library step,
Obtaining an authentication data list corresponding to the authentication method,
Generating a service profile template using the property list and the authentication data list,
Receiving specification data inserted into the service profile template, and
When the creation of the service profile template is completed, generating a service profile using the service profile template,
The service profile is used to build a cloud service interface within a system to service a corresponding cloud service,
The step of obtaining the authentication data list,
And obtaining the authentication data list from an authentication data model configured to classify data necessary for authentication according to a plurality of authentication methods, based on the selection information,
The step of creating the service profile template,
And generating a specification portion of the authentication data of the service profile template by using the authentication data list.
제6항에서,
상기 프로퍼티 리스트는, 대응하는 서비스의 서비스 URL 및 서비스 방법, 그리고 상기 대응하는 서비스를 사용하는데 필요한 복수의 인수(argument)를 포함하는 소프트웨어 플랫폼의 서비스 프로파일 생성 방법.
In paragraph 6,
The property list includes a service URL and a service method of a corresponding service, and a plurality of arguments required to use the corresponding service.
제7항에서,
상기 클라우드 서비스 온톨로지는, 상기 복수의 인수 각각의 인수 정보를 포함하며,
상기 인수 정보는, 매핑 규칙, 표시명, 인수 이름, 및 요구 레벨 중 적어도 하나를 포함하는 소프트웨어 플랫폼의 서비스 프로파일 생성 방법.
In clause 7,
The cloud service ontology includes argument information of each of the plurality of arguments,
The argument information includes at least one of a mapping rule, a display name, an argument name, and a request level.
제8항에서,
상기 매핑 규칙은, 대응하는 인수에 대해 클라우드 서비스 측의 데이터와 연계하기 위한 규칙 정보, 및 상기 시스템과 연계하기 위한 규칙 정보를 포함하는 소프트웨어 플랫폼의 서비스 프로파일 생성 방법.
In clause 8,
The mapping rule is a method for generating a service profile of a software platform including rule information for linking with data of a cloud service side for a corresponding argument, and rule information for linking with the system.
제6항에 있어서,
상기 명세 데이터들을 수신하는 단계는,
상기 프로퍼티 리스트에 포함된 각 프로퍼티와 상기 인증 데이터 리스트에 포함된 각 인증 데이터에 대한 명세 데이터들을 수신하는 단계를 포함하는 소프트웨어 플랫폼의 서비스 프로파일 생성 방법.
The method of claim 6,
Receiving the specification data,
And receiving specification data for each property included in the property list and each authentication data included in the authentication data list.
KR1020180137236A 2018-11-09 2018-11-09 Method and software platform for generating of service profile KR102143604B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180137236A KR102143604B1 (en) 2018-11-09 2018-11-09 Method and software platform for generating of service profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180137236A KR102143604B1 (en) 2018-11-09 2018-11-09 Method and software platform for generating of service profile

Publications (2)

Publication Number Publication Date
KR20200055824A KR20200055824A (en) 2020-05-22
KR102143604B1 true KR102143604B1 (en) 2020-10-15

Family

ID=70913893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180137236A KR102143604B1 (en) 2018-11-09 2018-11-09 Method and software platform for generating of service profile

Country Status (1)

Country Link
KR (1) KR102143604B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130046155A (en) * 2011-10-27 2013-05-07 인텔렉추얼디스커버리 주식회사 Access control system for cloud computing service
KR101339766B1 (en) * 2011-11-29 2013-12-11 삼성에스디에스 주식회사 Integrated cloud service system using mash-up between cloud service components
KR20150011250A (en) * 2013-07-22 2015-01-30 한국전자통신연구원 Method and system for managing cloud center
KR101779964B1 (en) * 2015-02-16 2017-09-20 한국전자통신연구원 Method and apparatus for brokering cloud services

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이종욱 외 2명, '지능형 로봇 연계를 위한 온톨로지 기반 가상 IoT 장치 인터페이스'. 한국정보과학회 2018 한국컴퓨터종합학술대회 논문집, 2018.06., pp.932-934.

Also Published As

Publication number Publication date
KR20200055824A (en) 2020-05-22

Similar Documents

Publication Publication Date Title
Sbarski et al. Serverless architectures on AWS: with examples using Aws Lambda
US9923893B2 (en) Simplified IoT services for cloud environments
Hemingway et al. Rapid synthesis of high-level architecture-based heterogeneous simulation: a model-based integration approach
US20080229195A1 (en) Managing operational requirements on the objects of a service oriented architecture (SOA)
Guillén et al. A service-oriented framework for developing cross cloud migratable software
Hamid et al. Security patterns modeling and formalization for pattern-based development of secure software systems
Mouradian et al. An IoT platform-as-a-service for NFV-based hybrid cloud/fog systems
EP2667301A1 (en) Decision service manager
Ali et al. Ambient-PRISMA: Ambients in mobile aspect-oriented software architecture
Laso et al. Human microservices: A framework for turning humans into service providers
Poccia AWS Lambda in Action: Event-driven serverless applications
Vermesan Advancing IoT platforms interoperability
CN108351766A (en) Slave mobile device creates and modification application
Autili et al. CHOReVOLUTION: automating the realization of highly–collaborative distributed applications
US20120317033A1 (en) Generating business process objects
KR102143604B1 (en) Method and software platform for generating of service profile
Venkatesan et al. A novel programming framework for architecting next generation enterprise scale information systems
Fischinger et al. FREDOSAR: Towards a Security-aware Open System Architecture Framework Supporting Model based Systems Engineering.
Mei et al. Internetware: A New Software Paradigm for Internet Computing
Falvo et al. A contribution to the adoption of software product lines in the development of mobile learning applications
Nair Practical Domain-Driven Design in Enterprise Java: Using Jakarta EE, Eclipse MicroProfile, Spring Boot, and the Axon Framework
Azevêdo et al. A path to automated service creation via semi-automation levels
Maddouri et al. GAAMAAA: Generating Automatically an Adaptive Multiagent System for Ambient Assistive Applications.
Carranza-García et al. BaaS-4US: a framework to develop standard backends as a service for ubiquitous applications
Hernández et al. GAUGE: Grid automation and generative environment

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant