KR20240082599A - Electronic apparatus for editing information model - Google Patents

Electronic apparatus for editing information model Download PDF

Info

Publication number
KR20240082599A
KR20240082599A KR1020220166399A KR20220166399A KR20240082599A KR 20240082599 A KR20240082599 A KR 20240082599A KR 1020220166399 A KR1020220166399 A KR 1020220166399A KR 20220166399 A KR20220166399 A KR 20220166399A KR 20240082599 A KR20240082599 A KR 20240082599A
Authority
KR
South Korea
Prior art keywords
electronic device
module
information
type
information model
Prior art date
Application number
KR1020220166399A
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 KR1020220166399A priority Critical patent/KR20240082599A/en
Publication of KR20240082599A publication Critical patent/KR20240082599A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

정보 모델을 편집하는 전자 장치의 제어 방법이 개시된다. 본 제어 방법은, 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 모듈의 유형(type)를 식별하는 단계, 복수의 항목 중 상기 식별된 유형에 매칭되는 적어도 하나의 항목을 선택하는 단계, 선택된 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 UI(User Interface)를 제공하는 단계를 포함한다.A method for controlling an electronic device that edits an information model is disclosed. This control method includes the steps of identifying the type of module based on a module ID obtained according to user input, selecting at least one item matching the identified type among a plurality of items, and selecting at least one item matching the identified type. It includes providing at least one UI (User Interface) for receiving matching data.

Description

정보 모델을 편집하는 전자 장치 { ELECTRONIC APPARATUS FOR EDITING INFORMATION MODEL }Electronic device for editing information model { ELECTRONIC APPARATUS FOR EDITING INFORMATION MODEL }

본 개시는 정보 모델을 편집하는 전자 장치에 관한 것으로, 보다 상세하게는, 사용자 입력에 따라 항목 별로 정보 모델을 편집하는 편집 방법에 관한 것이다.This disclosure relates to an electronic device for editing an information model, and more specifically, to an editing method for editing an information model for each item according to user input.

각 분야에서 사용되는 정보 모델이라는 용어의 정의를 살펴보면 다음과 같다: The definitions of the term information model used in each field are as follows:

빌딩 정보 모델(Building information model)에서는 “건설 자산에 대한 의사 결정을 지원하기 위해 추출, 교환 또는 네트워크화할 수 있는 컴퓨터 파일”로 정의하고 있다. https://en.wikipedia.org/wiki/Building_information_modelingThe Building Information Model defines it as “a computer file that can be extracted, exchanged, or networked to support decision-making about construction assets.” https://en.wikipedia.org/wiki/Building_information_modeling

즉 빌딩 정보 모델을 자산(설계, 자재 수량과속성, 시간, 비용, 준공 상태 등)에 대해 구조화된 데이터를 보유하고 있는 프로젝트별 가상 컴퓨터 공간으로 간주하여, 모델링 도구와 3D 시각화 도구를 활용하여 분석 및 제품을 동시 개발하면서 제조 기술 프로세스에 중점을 둔 협업을 포함하는 소프트웨어 시스템에서 구현될 수 있다.In other words, the building information model is considered a project-specific virtual computer space that holds structured data on assets (design, material quantity and properties, time, cost, completion status, etc.), and is analyzed using modeling tools and 3D visualization tools. and collaboration focused on manufacturing technology processes while simultaneously developing products.

OPC-UA에서는 “주어진 시스템 또는 시스템들의 집합의 정보 자원을 정의하고 특성화하고 관련시키는 조직적 프레임워크”로 정의하고, ISO TC299에서는 “엔티티들의 추상화 및 표현을 의미하며, 이 내용에는 관리되는 환경, 엔티티의 속성·특성·동작, 엔티티들이 서로 관련되는 방식”으로 정의되어 있다(ISO 22166-1). OPC-UA defines it as “an organizational framework that defines, characterizes, and relates the information resources of a given system or set of systems,” and ISO TC299 defines it as “an abstraction and representation of entities, including the managed environment and entities. It is defined as “the manner in which the attributes, characteristics, actions, and entities of are related to each other” (ISO 22166-1).

IEC TC57에서는 정보 모델을 “전력 유틸리티 운영과 일반적으로 관계된 유틸리티 기업내의 모든 주요 객체를 나타내는 추상 모델”로 정의하고 있다. IEC의 CIM을 통하여 전력 시스템 리소스를 객체 클래스 및 속성으로 표현하는 표준 방법을 이들의 관계에 따라 제공함으로써, CIM은, 독립적으로 개발된 네트워크 응용 프로그램을 실행하는 전체 시스템들간 혹은 네트워크 응용 프로그램을 실행하는 시스템과 발전 또는 배전 관리와 같은 전력 시스템 운영의 다른 측면과 관련된 다른 시스템 간, 서로 다른 공급업체가 독립적으로 개발한 네트워크 응용 프로그램의 통합을 용이하게 한다. IEC TC57 defines an information model as “an abstract model representing all major objects within a utility enterprise generally related to electric utility operations.” By providing a standard way to express power system resources as object classes and properties through IEC's CIM according to their relationships, CIM can be used between entire systems running independently developed network applications or between entire systems running network applications. Facilitates the integration of network applications developed independently by different vendors, between the system and other systems involved in different aspects of power system operation, such as generation or distribution management.

하드웨어 로봇 정보 모델(Hardware Robot Information Model, HRIM)은 모듈기반 로봇을 만들기 위하여 다양한 하드웨어 모듈을 제공하는 공급 업체들간 상호 운용성을 용이하게 하는 공통 인터페이스로 정의하여, 로봇 하드웨어 모듈간 논리적 인터페이스 표준화에 중점을 두고 있다. 여기서 논리적 인터페이스는 하드웨어 모듈이 만족해야 하는 규칙 집합을 말한다. 주로 ROS(Robot Operating System) 기반에서 동작하는 센서와 구동기들에 대한 정보 모델로 인터페이스와 관련하여 ROS에 사용되는 메시지와 서비스들에 대한 표준 포맷을 정의하고 있다. The Hardware Robot Information Model (HRIM) is defined as a common interface that facilitates interoperability between suppliers providing various hardware modules to create module-based robots, and focuses on standardizing logical interfaces between robot hardware modules. I am leaving it. Here, the logical interface refers to a set of rules that the hardware module must satisfy. It is an information model for sensors and drivers that mainly operates based on ROS (Robot Operating System) and defines a standard format for messages and services used in ROS in relation to the interface.

또한, 정보 모델을 디지털 제조(digital manufacturing)로 이해하여, 첨단 제조, 신소재, 새로운 정보 및 통신 기술, 빅데이터, 클라우드 기술을 기반으로 구현되는 설계에서 완성된 기능 제품 획득에 이르기까지 개발 및 생산의 모든 단계를 포괄하는 것으로 정보 모델을 정의하기도 한다(Automation Of Machine-Building Production According To Industry 4.0).In addition, by understanding the information model as digital manufacturing, we understand development and production from design to acquisition of completed functional products based on advanced manufacturing, new materials, new information and communication technologies, big data, and cloud technologies. An information model is sometimes defined as encompassing all steps (Automation Of Machine-Building Production According To Industry 4.0).

독일에서 진행한 Industry 4.0의 목적은 산업의 자동화와 기술 혁신의 현 추세를 IT 기술이 적용된 장비를 생산하거나 사용하도록 하는 것이다. Industry 4.0에서는 OPC UA의 information model을 활용하여 구현한 연구들이 많다. 디지털 트윈의 근본적 기반을 처리 작업 및 디지털 표현을 실현하는 데 요구되는 모든 관련 데이터 및 정보의 속성과 관계를 기술한 정보 모델이라고 한 연구도 있다.The purpose of Industry 4.0 in Germany is to use the current trend of industrial automation and technological innovation to produce or use equipment equipped with IT technology. In Industry 4.0, there are many studies implemented using the information model of OPC UA. Some studies suggest that the fundamental basis of a digital twin is an information model that describes the properties and relationships of all relevant data and information required to realize processing operations and digital representations.

즉, 정보 모델은 상호운용성을 위하여 만들어졌고 사용하고 있다는 것을 알 수 있다. 이러한 상호운용성을 보장하기 위해서는 당연히 사용하는 인터페이스들과 관련 설명들이 잘 정의되어 있어야 한다. In other words, it can be seen that the information model was created and used for interoperability. To ensure this interoperability, the interfaces used and related descriptions must be well defined.

로봇용 정보 모델을 만들기 위한 로봇의 특성을 다음과 같다.The characteristics of the robot for creating an information model for the robot are as follows.

C1. 로봇에 사용되는 모듈은 기구 모듈, 전기/전자 모듈, 소프트웨어 모듈로 구성되고, 이러한 모듈은 조합이 되어야 한다. 로봇도 모듈의 조합으로 이루어진 모듈로 간주한다. C1. Modules used in robots consist of mechanical modules, electrical/electronic modules, and software modules, and these modules must be combined. Robots are also considered modules made up of a combination of modules.

C2. 로봇에 동작하는 소프트웨어는 프로세스형과 스레드형이 있으며, 종류에 따라 동작시키는 방법이 다를 수 있으며, 사용되는 라이브러리도 다르다.C2. The software that operates on the robot is of process type and thread type, and the method of operating it may differ depending on the type, and the libraries used are also different.

C3. 가능한 모듈 개발시 창의성을 방해하지 않게 해야 한다. 즉, 인터페이스들을 고정하면 안된다. C3. Whenever possible, creativity should not be hindered when developing modules. In other words, interfaces should not be fixed.

C4. 인터페이스들에 대해 제공하는지 제공받는지를 설정하여, 설계 시 이를 확인할 수 있게 한다. 여기서 사용하는 인터페이스는 변수와 메서드(혹은 함수)를 말한다.C4. By setting whether interfaces are provided or not, this can be checked at the time of design. The interface used here refers to variables and methods (or functions).

C5. 모듈 혹은 시스템에서 제공하는 안전과 보안 수준을 정의하여야 한다. C5. The level of safety and security provided by the module or system must be defined.

C6. 시뮬레이션에 활용할 수 있도록 모델링 관련 정보를 제공하여야 한다.C6. Modeling-related information must be provided so that it can be used for simulation.

기존 연구들을 보면 BIM은 빌딩 특성상 하드웨어 면의 특성이 강조되어 설계에서부터 건축, 폐기까지 각 단계에서 생성되는 데이터들의 상호운용성을 위하여 정보 모델을 개발하여 사용되고 있으며, OPC-UA는 제조 시스템 관점에서 소프트웨어 측면에서 상호운용성을 위하여 정보 모델을 개발하여 사용하고 있다. IEC TC57에서도 전력시스템을 정보 모델 관점에서 설계하여 상호운용성을 강조하였지만, 다른 정보 모델과의 특징은 전력시스템의 구성 요소(변압기, 보호장치, 변전소 등) 들에 사용되는 데이터 관련 속성들을 정의하였다는 것이다. 이는 전력시스템의 각 구성요소들의 기능이 정해져 있어 기능 관련 메서드(혹은 함수)들을 정할 필요가 없기 때문으로 생각된다. 그러나 보안 및 기능 업데이트를 위해서라도 관련 메서드들을 정하는 것이 필요할 것으로 예상된다. Looking at existing studies, BIM emphasizes the hardware characteristics of buildings and is used to develop information models for interoperability of data generated at each stage from design to construction and disposal, while OPC-UA is used in the software aspect from the manufacturing system perspective. An information model is being developed and used for interoperability. IEC TC57 also emphasized interoperability by designing the power system from an information model perspective, but its characteristic compared to other information models is that it defines data-related properties used in the components of the power system (transformers, protection devices, substations, etc.). will be. This is thought to be because the function of each component of the power system is determined, so there is no need to define function-related methods (or functions). However, it is expected that it will be necessary to define related methods for security and function updates.

HRIM은 주로 ROS 기반에서 동작하는 센서와 구동기들의 상호운용성을 위하여 ROS 기반 메시지와 서비스들에 대하여 정의하고 있지만, 일반적인 소프트웨어 모듈에 대한 인터페이스 표준 포맷과 기계적 모듈에 대한 인터페이스 표준은 정의하고 있지 않다. 즉, 로봇 특성들인 C1~C5를 모두 만족하는 정보 모델은 존재하고 있지 않다. 또한 정보 모델을 활용하기 위해서는 필요한 정보들을 제공하여야 하는데, 이러한 도구(앞으로 이 도구 명을 정보 모델 편집기라 칭함)도 현재 존재하지 않는다. 정보 모델 편집기도 해당 정보 모델의 데이터 입력 항들을 모두 나열하여 입력할 수 있지만, 이 경우 상호 모순이 되는 항들이 발생할 수 있다.HRIM mainly defines ROS-based messages and services for interoperability of sensors and actuators operating on ROS, but does not define the interface standard format for general software modules and the interface standard for mechanical modules. In other words, there is no information model that satisfies all of the robot characteristics C1 to C5. In addition, in order to utilize the information model, the necessary information must be provided, but such a tool (from now on, this tool will be called the information model editor) does not currently exist. The information model editor can also list and input all the data input terms of the information model, but in this case, mutually contradictory terms may occur.

본 개시는 사용자가 생성하고자 하는 정보 모델(: 모듈)의 유형에 따라 필요한 항목을 순차적으로 입력하도록 하는 UI(User Interface)를 제공하는 전자 장치에 대한 것이다.This disclosure relates to an electronic device that provides a UI (User Interface) that allows a user to sequentially input necessary items according to the type of information model (: module) desired to be created.

본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present disclosure are not limited to the purposes mentioned above, and other objects and advantages of the present disclosure that are not mentioned can be understood by the following description and will be more clearly understood by the examples of the present disclosure. Additionally, it will be readily apparent that the objects and advantages of the present disclosure can be realized by the means and combinations thereof indicated in the patent claims.

본 개시의 일 실시 예에 따라 정보 모델을 편집하는 전자 장치의 제어 방법은, 상기 전자 장치가, 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 모듈의 유형(type)를 식별하는 단계, 상기 전자 장치가, 복수의 항목 중 상기 식별된 유형에 매칭되는 적어도 하나의 항목을 선택하는 단계, 상기 전자 장치가, 상기 선택된 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 UI(User Interface)를 제공하는 단계를 포함한다.A control method of an electronic device that edits an information model according to an embodiment of the present disclosure includes the steps of identifying, by the electronic device, a type of module based on a module ID obtained according to a user input, the electronic device A, selecting at least one item matching the identified type among a plurality of items, providing, by the electronic device, at least one UI (User Interface) for receiving data matching the selected item. Includes.

상기 모듈의 유형을 식별하는 단계는, 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 기본, 복합, 소프트웨어, 하드웨어, 안전 모드, 및 보안 모드 중 적어도 하나와 관련된 상기 모듈의 유형을 식별할 수 있다.The step of identifying the type of the module may identify the type of the module related to at least one of basic, complex, software, hardware, safe mode, and security mode based on the module ID obtained according to the user input.

여기서, 상기 적어도 하나의 항목을 선택하는 단계는, 상기 식별된 유형이 안전 모드 및 보안 모드 중 적어도 하나에 해당하는 경우, safesecure 항목을 선택할 수 있다.Here, in the step of selecting the at least one item, if the identified type corresponds to at least one of safe mode and security mode, the safesecure item may be selected.

또한, 상기 모듈의 유형을 식별하는 단계는, 상기 모듈 ID가 소프트웨어 및 하드웨어 중 어느 하나에도 해당되지 않는 경우, 에러를 식별할 수 있다.Additionally, the step of identifying the type of the module may identify an error when the module ID does not correspond to either software or hardware.

상기 복수의 항목은, 모듈에 대한 추가 정보와 관련된 “idntype”, 모듈에 사용되는 데이터의 속성과 관련된 “properties”, 모듈에 사용되는 입출력 변수들과 관련된 “variables”, 모듈에 사용되는 함수들에 대한 인터페이스와 매칭되는 “services”, 모듈이 운영되는 환경과 관련된 “infra”, 모듈의 시뮬레이션과 관련된 “modelling”, 및 모듈 내 실행 가능한 파일과 관련된 “execform”을 포함할 수 있다.The plurality of items include “idntype” related to additional information about the module, “properties” related to the attributes of data used in the module, “variables” related to input and output variables used in the module, and functions used in the module. It may include “services” matching the interface for the module, “infra” related to the environment in which the module operates, “modelling” related to the simulation of the module, and “execform” related to the executable file within the module.

본 개시에 따른 전자 장치는 정보 모델을 편집하는 과정에서 정보 모델의 유형을 먼저 선택한 뒤 항목 별로 데이터를 입력 받음으로써 정보 모델의 새로운 표준 및 활용 방향을 제시한다.The electronic device according to the present disclosure presents a new standard and direction of utilization of the information model by first selecting the type of the information model and then receiving data for each item in the process of editing the information model.

본 개시에 따른 전자 장치는 정보 모델의 편집 과정에서 처음부터 모든 정보를 나열하여 모든 입력을 받는 것보다는 필요한 정보를 먼저 입력 받아 가능한 사용자들이 필요한 정보만 입력하도록 함으로써, 내용을 줄이고 오류를 줄이는 등의 장점이 있다.Rather than listing all information from the beginning and receiving all input during the editing process of the information model, the electronic device according to the present disclosure inputs necessary information first and allows users to input only the necessary information, thereby reducing content and reducing errors. There is an advantage.

도 1은 본 개시의 일 실시 예에 따른 정보 모델에 있어, 다양한 항목을 구분하여 도시한 도면,
도 2는 본 개시의 일 실시 예에 따라 정보 모델(: 모듈)을 구성하는 하나 이상의 항목을 입력 받기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 3은 모듈의 ID 및 유형에 대한 정보를 예시적으로 표현한 도면,
도 4a 내지 도 4b는 모듈의 유형을 판단하는 과정을 설명하기 위한 알고리즘들,
도 5는 본 개시에 따른 전자 장치가 “편집기” 기능을 제공하는 일 예를 도시한 흐름도,
도 6a 내지 도 6g는 각 항목 별 구성을 예시적으로 도시한 도면들,
도 7a 내지 도 7b는 각각 사용자 정의 데이터형 및 시스템 정의 데이터형의 폴더를 관리하는 전자 장치의 동작을 설명하기 위한 도면들, 그리고
도 8은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
1 is a diagram illustrating various items separately in an information model according to an embodiment of the present disclosure;
2 is a flowchart illustrating a control method of an electronic device for receiving one or more items constituting an information model (module) according to an embodiment of the present disclosure;
3 is a diagram illustrating information about the ID and type of the module;
4A to 4B show algorithms for explaining the process of determining the type of module;
5 is a flowchart illustrating an example in which an electronic device according to the present disclosure provides an “editor” function;
Figures 6a to 6g are diagrams exemplarily showing the configuration of each item;
7A to 7B are diagrams for explaining the operation of an electronic device that manages folders of a user-defined data type and a system-defined data type, respectively;
Figure 8 is a block diagram for explaining the configuration of an electronic device according to various embodiments of the present disclosure.

본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Before explaining the present disclosure in detail, the description method of the present specification and drawings will be explained.

먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.First, the terms used in the specification and claims are general terms selected in consideration of their functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention of technicians working in the relevant technical field, legal or technical interpretation, and the emergence of new technologies. Additionally, some terms are arbitrarily selected by the applicant. These terms may be interpreted as defined in this specification, and if there is no specific term definition, they may be interpreted based on the overall content of this specification and common technical knowledge in the relevant technical field.

또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소가 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. In addition, the same reference numbers or symbols in each drawing attached to this specification indicate parts or components that perform substantially the same function. For convenience of explanation and understanding, the same reference numerals or symbols are used in different embodiments. That is, even if all components having the same reference number are shown in multiple drawings, the multiple drawings do not represent one embodiment.

또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. Additionally, in this specification and claims, terms including ordinal numbers such as “first”, “second”, etc. may be used to distinguish between components. These ordinal numbers are used to distinguish identical or similar components from each other, and the meaning of the term should not be interpreted limitedly due to the use of these ordinal numbers. For example, the order of use or arrangement of components combined with these ordinal numbers should not be limited by the number. If necessary, each ordinal number may be used interchangeably.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, singular expressions include plural expressions, unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “consist of” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 실시 예에서 "모듈", "유닛", "부(Part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(Part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In embodiments of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms to refer to components that perform at least one function or operation, and these components are hardware or software. It may be implemented or may be implemented through a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except in cases where each needs to be implemented with individual specific hardware, and is integrated into at least one processor. It can be implemented as:

또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, in an embodiment of the present disclosure, when a part is connected to another part, this includes not only direct connection but also indirect connection through other media. In addition, the meaning that a part includes a certain component does not mean that other components are excluded, but that other components can be further included, unless specifically stated to the contrary.

로봇용 정보 모델은 객체 지향 모델의 항목들로 구성되어 있지만, 이러한 항목들의 각 속성으로 들어가는 입력은 XML 혹은 Json 포맷의 데이터로 입력된다. 입력의 내용이 많기 때문에 모듈의 종류에 따라 입력의 내용들을 줄이는 것이 필요하며, 특히 입력 데이터 중에는 모듈 ID를 생성할 때 필요한 내용도 있다.The information model for the robot is composed of object-oriented model items, but the input to each attribute of these items is input as data in XML or Json format. Because there is a lot of input content, it is necessary to reduce the input content depending on the type of module. In particular, some of the input data includes content that is required when creating a module ID.

도 1은 본 개시의 일 실시 예에 따른 정보 모델에 있어, 다양한 항목을 구분하여 도시한 도면이다.1 is a diagram illustrating various items separately in an information model according to an embodiment of the present disclosure.

정보 모델은 하나 이상의 기능을 수행할 수 있는 모듈에 대한 데이터 시트이며, 모듈의 사용에 관련한 모든 정보가 포함되어 있다. 정보 모델은 로봇용 정보 모델, 빌딩 정보 모델 등과 같이 로봇의 설계, 개발, 운영, 유지보수 및 폐기에도 활용될 수 있다.An information model is a data sheet for a module that can perform one or more functions and contains all information related to the use of the module. Information models can also be used in the design, development, operation, maintenance, and disposal of robots, such as information models for robots and building information models.

도 1을 참조하면, moduleName(모듈 이름), description(설명), manufacturer(제조자), examples(예제), idnType(모듈 유형), properties(속성), ioVariables(입출력 변수), status(상태), services(서비스(기능)), infra(인프라), safeSecure(안전/보안), modelling(모델링), execForm(실행가능 형식) 등의 항목이 구비될 수 있다.Referring to Figure 1, moduleName (module name), description (description), manufacturer (manufacturer), examples (example), idnType (module type), properties (properties), ioVariables (input/output variables), status (status), services Items such as (service (function)), infra (infrastructure), safeSecure (safety/security), modeling (modeling), execForm (executable format), etc. may be provided.

도 2는 본 개시의 일 실시 예에 따라 정보 모델(: 모듈)을 구성하는 하나 이상의 항목을 입력 받기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.FIG. 2 is a flowchart illustrating a control method of an electronic device to receive input of one or more items constituting an information model (: module) according to an embodiment of the present disclosure.

도 2를 참조하면, 전자 장치는 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 모듈의 유형(type)를 식별할 수 있다(S210).Referring to FIG. 2, the electronic device can identify the type of module based on the module ID obtained according to the user input (S210).

이때, 전자 장치는 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 기본, 복합, 소프트웨어, 하드웨어, 안전 모드, 및 보안 모드 중 적어도 하나와 관련된 모듈의 유형을 식별할 수 있다. At this time, the electronic device may identify the type of module related to at least one of basic, complex, software, hardware, safe mode, and security mode based on the module ID obtained according to the user input.

다만, 모듈 ID가 소프트웨어 및 하드웨어 중 어느 하나에도 해당되지 않는 경우, 전자 장치는 에러를 식별할 수 있다. 이 경우, 전자 장치는 사용자로 하여금 모듈 ID를 새롭게 입력하도록 요청하는 적어도 하나의 메시지를 제공할 수 있다.However, if the module ID does not correspond to either software or hardware, the electronic device can identify an error. In this case, the electronic device may provide at least one message requesting the user to re-enter the module ID.

모듈의 유형이 식별되면, 전자 장치는 복수의 항목 중 식별된 유형에 매칭되는 적어도 하나의 항목을 선택할 수 있다(S220).When the type of module is identified, the electronic device may select at least one item matching the identified type from among the plurality of items (S220).

관련하여, 도 3은 모듈의 ID 및 유형에 대한 정보를 예시적으로 표현한 것이다. 도 3을 참조하면, 모듈의 유형은 Basic(기본) 모듈 혹은 Comp(조합) 모듈에 해당할 수 있고, SW Aspect(측면) 및/또는 HW Aspect를 포함할 수 있으며, Safety Mode를 포함할 수 있고, Security Mode를 포함할 수 있다.In relation to this, Figure 3 exemplarily represents information on the ID and type of the module. Referring to Figure 3, the type of module may correspond to a Basic module or a Comp module, may include SW Aspect and/or HW Aspect, and may include Safety Mode. , may include Security Mode.

그 결과, 이하 표 1과 같이 다양한 유형이 선택될 수 있다.As a result, various types can be selected as shown in Table 1 below.

번호 number BasicCompBasicComp SW AspectSW Aspect HW AspectHW Aspect Safety ModeSafety Mode Security ModeSecurity Mode 설명explanation 1One 00 00 1One 00 00 Basic 모듈이면서, HW 측면만 있으며, Safety 및 Security를 지원하지 않음Although it is a basic module, it has only the HW aspect and does not support safety and security. 22 00 00 1One 00 1One Basic 모듈이면서, HW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a basic module, it has only the HW aspect and does not support Safety, but supports Security. 33 00 00 1One 1One 00 Basic 모듈이면서, HW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a basic module, it has only the HW aspect and supports Safety but not Security. 44 00 00 1One 1One 1One Basic 모듈이면서, HW 측면만 있으며, Safety 및 Security를 지원함Although it is a basic module, it has only the HW aspect and supports safety and security. 55 00 1One 00 00 00 Basic 모듈이면서, SW 측면만 있으며, Safety 및 Security를 지원하지 않Although it is a basic module, it only has a SW aspect and does not support safety and security. 66 00 1One 00 00 1One Basic 모듈이면서, SW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a basic module, it only has a SW aspect and does not support Safety, but supports Security. 77 00 1One 00 1One 00 Basic 모듈이면서, SW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a basic module, it only has a SW aspect and supports Safety but not Security. 88 00 1One 00 1One 1One Basic 모듈이면서, SW 측면만 있으며, Safety 및 Security를 지원함Although it is a basic module, it only has a SW aspect and supports safety and security. 99 00 1One 1One 00 00 Basic 모듈이면서, HW 및 SW 측면이 동시에 있으며, Safety 및 Security를 지원하지 않Although it is a basic module, it has both HW and SW aspects and does not support safety and security. 1010 00 1One 1One 00 1One Basic 모듈이면서, HW 및 SW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a basic module, it only has HW and SW aspects, and does not support Safety, but supports Security. 1111 00 1One 1One 1One 00 Basic 모듈이면서, HW 및 SW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a basic module, it has only HW and SW aspects, and supports Safety but not Security. 1212 00 1One 1One 1One 1One Comp 모듈이면서, HW 및 SW 측면만 있으며, Safety 및 Security를 지원함Although it is a Comp module, it has only HW and SW aspects and supports Safety and Security. 1313 1One 00 1One 00 00 Comp 모듈이면서, HW 측면만 있으며, Safety 및 Security를 지원하지 않음Although it is a Comp module, it has only the HW aspect and does not support Safety and Security. 1414 1One 00 1One 00 1One Comp 모듈이면서, HW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a Comp module, it has only the HW aspect and does not support Safety, but supports Security. 1515 1One 00 1One 1One 00 Comp 모듈이면서, HW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a Comp module, it has only the HW aspect and supports Safety but not Security. 1616 1One 00 1One 1One 1One Comp 모듈이면서, HW 측면만 있으며, Safety 및 Security를 지원함Although it is a Comp module, it has only the HW aspect and supports Safety and Security. 1717 1One 1One 00 00 00 Comp 모듈이면서, SW 측면만 있으며, Safety 및 Security를 지원하지 않Although it is a Comp module, it only has a SW aspect and does not support Safety and Security. 1818 1One 1One 00 00 1One Comp 모듈이면서, SW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a Comp module, it only has a SW aspect and does not support Safety, but supports Security. 1919 1One 1One 00 1One 00 Comp 모듈이면서, SW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a Comp module, it only has a SW aspect and supports Safety but not Security. 2020 1One 1One 00 1One 1One Basic 모듈이면서, SW 측면만 있으며, Safety 및 Security를 지원함Although it is a basic module, it only has a SW aspect and supports safety and security. 2121 1One 1One 1One 00 00 Comp 모듈이면서, HW 및 SW 측면이 동시에 있으며, Safety 및 Security를 지원하지 않Although it is a Comp module, it has both HW and SW aspects and does not support Safety and Security. 2222 1One 1One 1One 00 1One Comp 모듈이면서, HW 및 SW 측면만 있으며, Safety는 지원하지 않지만 Security는 지원함Although it is a Comp module, it has only HW and SW aspects, and does not support Safety, but supports Security. 2323 1One 1One 1One 1One 00 Comp 모듈이면서, HW 및 SW 측면만 있으며, Safety는 지원하지만 Security는 지원하지 않음Although it is a Comp module, it has only HW and SW aspects, and supports Safety but not Security. 2424 1One 1One 1One 1One 1One Comp 모듈이면서, HW 및 SW 측면만 있으며, Safety 및 Security를 지원함Although it is a Comp module, it has only HW and SW aspects and supports Safety and Security.

관련하여, 도 4a는 본 개시의 일 실시 예에 따른 전자 장치가 사용자 입력에 따라 모듈의 유형을 식별하는 동작을 설명하기 위한 알고리즘이다. 도 4a를 참조하면, 전자 장치는 사용자 입력에 따라 Basic(기본) 모듈 여부, Comp(조합) 모듈 여부, SW Aspect(측면) 포함 여부, HW Aspect 포함 여부 등을 순차적으로 식별할 수 있다. 예를 들어, SW 및 HW 모두에 해당하지 않는 경우(SW Aspect: 0, HW Aspect: 0) 에러가 유형 식별에 에러가 식별될 수 있다.In relation to this, FIG. 4A is an algorithm for explaining an operation in which an electronic device identifies the type of module according to a user input according to an embodiment of the present disclosure. Referring to FIG. 4A, the electronic device can sequentially identify whether it is a Basic module, whether it is a Comp (combination) module, whether a SW Aspect is included, and whether a HW Aspect is included, according to user input. For example, if it does not apply to both SW and HW (SW Aspect: 0, HW Aspect: 0), an error may be identified in type identification.

또한, 도 4b 역시 본 개시의 일 실시 예에 따른 전자 장치가 사용자 입력에 따라 모듈의 유형을 식별하는 동작을 설명하기 위한 알고리즘이다. 도 4b를 참조하면, 전자 장치는 사용자 입력에 따라 Safety Mode 포함 여부, Security Mode 포함 여부 등을 순차적으로 식별할 수 있다.In addition, FIG. 4B is also an algorithm for explaining an operation in which an electronic device identifies the type of module according to a user input according to an embodiment of the present disclosure. Referring to FIG. 4b, the electronic device can sequentially identify whether Safety Mode is included, Security Mode is included, etc. according to user input.

복수의 항목은, 도 1을 통해 도시된 다양한 항목들에 해당할 수 있다.The plurality of items may correspond to various items shown in FIG. 1 .

식별된 유형에 따라 정보 모델을 구성하는 항목의 구성이 달라질 수 있으므로, 전자 장치는 식별된 유형에 맞는 하나 이상의 항목을 선택할 수 있다. 즉, 전자 장치는 식별된 유형에 따라 다른 화면을 제공하면서 항목 별 데이터를 입력 받을 수 있다.Since the configuration of items constituting the information model may vary depending on the identified type, the electronic device may select one or more items that fit the identified type. In other words, the electronic device can receive data for each item while providing different screens depending on the identified type.

구체적으로, 식별된 유형이 안전 모드 및 보안 모드 중 적어도 하나에 해당하는 경우, 전자 장치는 safesecure 항목을 선택할 수 있다. 기타, 유형 별로 Variables, Services, Infra 등의 항목을 선택할 수 있다.Specifically, if the identified type corresponds to at least one of safe mode and secure mode, the electronic device may select the safesecure item. In addition, you can select items such as Variables, Services, and Infra by type.

그리고, 전자 장치는 선택된 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 UI(User Interface)를 제공할 수 있다(S230). 여기서, UI는 각 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 입력 창으로 구성되거나, 복수의 선택 항목으로 구성된 선택 창으로 구성되는 등 다양한 형태의 시각적 UI로서 디스플레이 될 수 있으나, 이에 한정되지 않는다.Additionally, the electronic device may provide at least one UI (User Interface) for receiving data matching the selected item (S230). Here, the UI may be displayed as various forms of visual UI, such as consisting of at least one input window for receiving data matching each item, or a selection window consisting of a plurality of selection items, but is not limited to this. .

유형에 따라 각 항목을 입력 받기 위한 UI(ex. 화면)의 구성이 달라질 수 있다. 예를 들어, 소프트웨어를 포함하는 유형이 선택된 경우, Variables 및 Services 등의 항목을 입력 받는 과정에서, 소프트웨어와 관련된 클래스형 및 열거형에 각각 해당하는 입력창이 제공될 수 있다.Depending on the type, the configuration of the UI (ex. screen) for receiving input for each item may vary. For example, when a type including software is selected, in the process of inputting items such as Variables and Services, input windows corresponding to class types and enumeration types related to software may be provided.

예를 들어, 하드웨어를 포함하는 유형이 선택된 경우, Variables 및 Services 등의 항목을 입력 받는 과정에서, 하드웨어 구성과 관련된 입력 창이 제공될 수 있다. 구체적인 예로, 하드웨어 장치 내지는 기기로부터 입력되는 데이터의 종류 및 활용 동작에 대한 사용자 입력을 수신하기 위한 입력 창이 제공될 수 있다.For example, if a type including hardware is selected, an input window related to hardware configuration may be provided while entering items such as Variables and Services. As a specific example, an input window may be provided to receive user input regarding the type and utilization operation of data input from a hardware device or device.

항목 별로 사용자 입력에 따라 데이터가 구축되면, 모듈에 대한 정보 모델이 구축될 수 있다. S210 내지 S230의 단계를 포함하는 일련의 과정은, 전자 장치 상에서 적어도 하나의 컴퓨터 프로그램 내지는 소프트웨어의 형태로 제공될 수 있으며, “편집기”와 같은 명칭으로 지칭되어 활용될 수도 있다.When data is constructed according to user input for each item, an information model for the module can be constructed. A series of processes including steps S210 to S230 may be provided in the form of at least one computer program or software on an electronic device, and may be referred to and utilized by a name such as “editor.”

관련하여, 도 5는 본 개시에 따른 전자 장치가 상술한 도 2의 과정을 바탕으로 구체적인 “편집기” 기능을 제공하는 일 예를 도시한 흐름도이다.In relation to this, FIG. 5 is a flowchart illustrating an example in which an electronic device according to the present disclosure provides a specific “editor” function based on the process of FIG. 2 described above.

도 5를 참조하면, 전자 장치는 사용자의 데이터 입력에 따라 모듈의 이름, 설명, 제작자, 예시 등을 입력 받을 수 있다. 해당 항목들에 대한 사용자 입력에 따라, 모듈의 유형이 식별될 수 있다.Referring to FIG. 5, the electronic device can receive the name, description, manufacturer, example, etc. of the module according to the user's data input. Depending on user input for the corresponding items, the type of module may be identified.

앞서 도 3에 도시된 VID는 벤더 식별자인데, 도 5를 참조하면, 전자 장치는 벤더 이름 등을 활용하여 UUID 식별자를 생성할 수 있다. 다만, 사용자가 벤더 이름 등을 다른 이름으로 넣어주면 다른 UUID가 나오게 되는 문제가 있다. 사용하는 UUID를 생성함에 있어서 Namespace와 Name값이 필요하다. 이에 따라 predefined UUID 혹은 Namespace와 Name값이 동일하다면 동일한 UUID가 생성되지만, 이러한 값들에 있어서 한 글자라도 틀리면 다른 UUID가 생성될 수 있다. 예를 들어, 회사 정식 이름이 “Company Ltd.”라고 가정하였을 때, 같은 이름을 넣어주면 같은 UUID가 생성되지만, 문자 하나가 다른 이름으로 입력된 경우, 예로 “company Ltd.”, “Company ltd.”, “Company Ltd” 등이 입력되면 다른 UUID가 만들어지므로 이러한 오류를 줄이는 것이 필요하다.The VID previously shown in FIG. 3 is a vendor identifier. Referring to FIG. 5, the electronic device can generate a UUID identifier using the vendor name, etc. However, there is a problem that if the user enters a different name, such as the vendor name, a different UUID appears. When creating a used UUID, Namespace and Name values are required. Accordingly, if the predefined UUID or Namespace and Name values are the same, the same UUID is generated, but if even one letter is incorrect in these values, a different UUID may be generated. For example, assuming that the company's official name is “Company Ltd.”, if you enter the same name, the same UUID is generated, but if one character is entered as a different name, for example, “company Ltd.”, “Company ltd.” ”, “Company Ltd”, etc. are entered, a different UUID is created, so it is necessary to reduce such errors.

이러한 오류를 없애기 위하여, 본 개시에 따른 전자 장치는 이하 알고리즘에 따라 동작을 수행할 수 있다. To eliminate these errors, the electronic device according to the present disclosure can perform operations according to the following algorithm.

일 실시 예로, 전자 장치는 1) 각 회사별로 맞춤형으로 구비된 정보 모델의 편집기를 포함할 수 있다. 이는 UUID v.5의 입력을 위하여 해당 회사용으로 기정의된 UUID(혹은 name space 등)와 회사 이름(혹은 URL)으로 프로그램에 저장하여 프로그램된 편집기에 해당할 수 있다.As an example, the electronic device may include 1) an editor of an information model customized for each company. This may correspond to an editor programmed by saving the UUID (or name space, etc.) and company name (or URL) predefined for the company in the program to input UUID v.5.

또는, 전자 장치는 2) UUID 정보 파일을 사용하여 일반화된 정보모델 편집기를 포함할 수도 있다. 이는 UUID v.5의 입력을 위하여 해당 회사용으로 기정의된 UUID(혹은 name space 등)과 회사 이름(혹은 URL)을 파일로 제공하고, 해당 파일에는 검증 코드를 넣어서 기 입력된 데이터가 변경되었는지 확인할 수 있게 하는 방식이다.Alternatively, the electronic device may include 2) a generalized information model editor using a UUID information file. In order to input UUID v.5, the UUID (or name space, etc.) and company name (or URL) already defined for the company are provided in a file, and a verification code is placed in the file to check whether the previously entered data has been changed. This is a way to check.

다시 도 5를 참조하면, 모듈의 유형(IdnType)이 식별됨에 따라, 전자 장치는 해당 유형에 매칭되는 복수의 항목(ex. variables, services, infra, safeSecure, modelling, exeform)에 대한 사용자 입력을 바탕으로 항목 별 데이터를 수집할 수 있다. 도 5의 경우, 수집되는 항목에 safeSecure가 포함되어 있으므로, 도 5에서 식별된 유형(IdnType)은 Safety Mode 및 Security Mode 중 적어도 하나를 포함하는 것으로 확인된다.Referring again to FIG. 5, as the type (IdnType) of the module is identified, the electronic device based on user input for a plurality of items (ex. variables, services, infra, safeSecure, modeling, exeform) matching the type. You can collect data for each item. In the case of FIG. 5, since safeSecure is included in the collected items, it is confirmed that the type (IdnType) identified in FIG. 5 includes at least one of Safety Mode and Security Mode.

한편, 이하 도 6a 내지 도 6g는 각 항목 별 구성을 예시적으로 도시한 것이다.Meanwhile, Figures 6A to 6G below exemplarily show the configuration of each item.

먼저, 도 6a는 항목 IDnType의 구성을 도시한 것이다. 모듈의 유형은, 모듈 ID, 정보 모델의 버전 등으로 구성될 수 있다. '정보 모델 버전'은 정보 모델의 버전 번호이다. '모듈 ID'는 로봇 내 모듈의 고유 식별자이다. VID는 UUID v.5를 사용하고, PID의 Type 은 모듈 종류를 식별하기 위하여 사용한다. '하드웨어 측면'과 '소프트웨어 측면'은 복합 모듈에 있어서만 관련된다. 다시 말하자면, 모듈 하나로만 구성된 기본 모듈에는 이러한 정보를 사용하지 않고, 두 개 이상의 모듈들로 구성될 때 사용될 수 있다. 하드웨어 측면에서는 기구물 및 전기/전자 컴포넌트와 관련된 모듈들을 나열하고 소프트웨어 측면에서는 소프트웨어와 관련된 모듈들을 나열한다. 참고로 하드웨어 모듈은 소프트웨어 속성을 가지고 있지 않으며, 소프트웨어 모듈 역시 하드웨어 속성을 가지지 않는다. 하드웨어-소프트웨어 모듈이 하드웨어와 소프트웨어 속성을 동시에 가질 수 있다. 참고로, 일부 소프트웨어 내용을 가지더라도 통신 부분(전기적 신호들을 교환하는 것 포함)을 포함하지 않아 홀로 동작하는 모듈의 경우 하드웨어 모듈이라고 한다. 이러한 속성들은 IDnType의 속성이다.First, Figure 6a shows the configuration of the item IDnType. The type of module may be composed of module ID, version of information model, etc. ‘Information model version’ is the version number of the information model. ‘Module ID’ is the unique identifier of the module within the robot. VID uses UUID v.5, and PID Type is used to identify the module type. The 'hardware aspect' and 'software aspect' are only related in complex modules. In other words, this information is not used for a basic module that consists of only one module, but can be used when it is composed of two or more modules. On the hardware side, modules related to equipment and electrical/electronic components are listed, and on the software side, modules related to software are listed. For reference, hardware modules do not have software properties, and software modules also do not have hardware properties. A hardware-software module can have both hardware and software properties. For reference, a module that operates alone because it does not include a communication part (including exchanging electrical signals) even though it has some software content is called a hardware module. These properties are properties of IDnType.

도 6b는 Properties의 구성을 도시한 것이다. '모듈 속성'(properties)은 일반적으로 모듈 초기화에 사용되는 값들을 정의한다. 모듈을 만들 때 필요한 속성들을 알맞게 정의하여 사용하면 된다. 도 6b를 통해 확인되듯, 사용자가 임의로 속성들을 만들 수 있다.Figure 6b shows the configuration of Properties. 'Module properties' generally define values used for module initialization. When creating a module, you can define and use the necessary properties appropriately. As can be seen in Figure 6b, the user can create properties arbitrarily.

도 6c는 IOVariables의 구성을 도시한 것이다. '입력' 과 '출력'은 다른 모듈과 데이터를 송수신하기 위한 변수의 이름을 기술한다. 이는 해당 모듈의 전역 변수일 수 있고, ROS 모듈에서는 발행자(publisher) 및 구독자(subscriber)를 여기에서 정의할 수 있다. 즉, 다른 모듈에 공개한 변수 혹은 메모리 공간을 여기에 정의한다. 사용자 혹은 개발자들이 모듈을 만들어 사용할 때 필수적인 변수(향후 정의할 예정)들 외에 임의 변수들을 정의하면, 어떤 변수들이 사용되는지를 다른 모듈들이 확인하여 사용할 수 있게 되어 있다. 이러한 입력과 출력 관련 변수들은 모두 XML로 정의하여 사용하게 하므로, 임의의 이름을 가진 변수들을 정의할 수 있다.Figure 6c shows the configuration of IOVariables. 'Input' and 'Output' describe the names of variables for sending and receiving data with other modules. This can be a global variable for the module, and in a ROS module, the publisher and subscriber can be defined here. In other words, variables or memory spaces published to other modules are defined here. When users or developers create and use a module, if they define arbitrary variables in addition to essential variables (to be defined in the future), other modules can check and use which variables are used. Since these input and output related variables are all defined and used in XML, variables with arbitrary names can be defined.

한편, Status(상태)는 작동 중인 모듈의 상태를 표시하며, 실제 모듈이 동작 중이어야만 이 값이 변하게 된다.Meanwhile, Status displays the status of the module in operation, and this value changes only when the actual module is in operation.

도 6d는 Services의 구성을 도시한 것이다. '서비스(기능)'는 로봇 서비스를 위해 모듈이 제공하고 활용하는 인터페이스들을 기술하며, IDL(Interface Definition Language) 및/혹은 XML로 정의할 수 있다. 따라서 사용자 혹은 개발자들이 임의로 인터페이스들을 정의하여 사용할 수 있다.Figure 6d shows the configuration of Services. 'Service (function)' describes the interfaces provided and utilized by the module for robot service, and can be defined in IDL (Interface Definition Language) and/or XML. Therefore, users or developers can arbitrarily define and use interfaces.

도 6e는 Infra의 구성을 도시한 것이다. '인프라'는 모듈에서 일반적으로 사용하거나 연결하는 하드웨어 및/또는 소프트웨어를 나열한다. 이의 예에는 모듈이 사용하는 전원 종류, ROS와 OPRoS와 같은 미들웨어 종류, 모듈이 사용하는 필드버스 등의 데이터 버스 종류, mySQL과 같은 DBMS의 종류들을 나열한다. 이에 따라 사용자 혹은 개발자가 자신이 원하는 미들웨어를 사용할 수 있다. 특정 미들웨어를 사용할 때는 다른 미들웨어의 모듈과 데이터 교환을 위한 브릿지 모듈 등을 제공하는 것이 필요할 수 있다. 도 2c에 Services의 구성도가 표시되어 있다. ServiceProfile에 ifURL 속성이 있는데, 이 속성이 모듈이 사용하는 IDL 파일에 대한 경로를 가지고 있다. 나머지 속성들은 인터페이스들을 정의하는데 사용한다.Figure 6e shows the configuration of Infra. 'Infrastructure' lists the hardware and/or software that the module typically uses or connects to. Examples of this include the type of power source used by the module, types of middleware such as ROS and OPRoS, types of data buses such as fieldbuses used by the module, and types of DBMS such as mySQL. Accordingly, users or developers can use middleware of their choice. When using specific middleware, it may be necessary to provide a bridge module for data exchange with modules of other middleware. Figure 2c shows the configuration diagram of Services. ServiceProfile has an ifURL property, which contains the path to the IDL file used by the module. The remaining properties are used to define interfaces.

도 6f는 SafeSecure의 구성을 도시한 것이다. '안전/보안'은 모듈에서 제공하는 안전 관련 성능 수준과 보안 수준 관련 정보를 기술한다. 안전 정보는 ISO 13849-1에 정의된 모듈에 대해 안전 관련 성능 수준을 사용하고, 보안 수준은 보안 조치가 없음을 의미하는 '0'과 IEC 62443-4-2에 정의된 수준 '1' ~ '4'를 사용한다. 안전과 보안은 동시에 제공되는 경우도 있지만 모듈별로 한 종류만 제공될 수 있고, 제공되지 않을 수 있다.Figure 6f shows the configuration of SafeSecure. ‘Safety/Security’ describes information regarding safety-related performance levels and security levels provided by the module. Safety information uses safety-related performance levels for modules as defined in ISO 13849-1, and security levels range from '0', meaning no security measures, to levels '1' to ', as defined in IEC 62443-4-2. Use 4'. Safety and security may be provided at the same time, but only one type may be provided for each module, or they may not be provided.

modelling(모델링)은 모의실험을 위하여 2D/3D 객체의 형상을 포함하여 모의실험을 할 수 있게 하는 정보를 제공한다. 형상 정보 뿐 아니라 모의실험을 위한 가상 장치 동작 프로그램 관련 정보도 제공한다. 모델링에는 하나 이상의 시뮬레이터에 대한 정보를 제공할 수 있다.Modeling provides information that enables simulation, including the shape of 2D/3D objects for simulation. In addition to shape information, it also provides information related to virtual device operation programs for simulation experiments. Modeling can provide information about one or more simulators.

도 6g는 ExecForm의 구성을 도시한 것이다. 'ExecutableForm'은 모듈의 설계 지원 혹은 모듈의 동작을 위하여 실행되는 프로그램 관련 정보를 제공하며, 해당 프로그램의 위치 및 이 프로그램의 수행에 필요한 라이브러리들과 동작 방법 등을 제공한다.Figure 6g shows the configuration of ExecForm. 'ExecutableForm' provides information about the program that is executed to support the design of the module or operate the module, and provides the location of the program and the libraries and operation methods required to execute this program.

한편, 일 실시 예로, 전자 장치는 사용자 정의 데이터형이 있는 폴더(: 저장 공간)를 관리할 수 있다. 이때, 다양한 항목의 데이터를 입력하기 위한 사용자 입력은 해당 폴더 내에 수집되어 관리될 수 있다.Meanwhile, in one embodiment, the electronic device may manage a folder (storage space) containing a user-defined data type. At this time, user input for entering data of various items may be collected and managed within the corresponding folder.

관련하여, 도 7a는 사용자 정의 데이터형이 있는 폴더를 관리하는 전자 장치의 동작을 설명하기 위한 흐름도이다. 도 7a는 주로 서비스 및 변수 항목에 관련된 데이터를 관리하기 위한 동작일 수 있다.Relatedly, FIG. 7A is a flowchart for explaining the operation of an electronic device that manages a folder with a user-defined data type. Figure 7a may mainly be an operation for managing data related to services and variable items.

정수형, 실수형 등의 기본적인 데이터 형은 정해져 있어 쉽게 제공할 수 있지만, 클래스형과 열거형은 사용자가 임의로 정하므로, 사용자가 원하는 형태로 제공할 수 있어야 한다. 일 예로, 사용자가 제공하는 클래스 혹은 열거형 포맷을 json 혹은 XML 형태로 설정될 수 있다.Basic data types such as integer and real numbers are fixed and can be easily provided, but class types and enumeration types are arbitrarily determined by the user, so they must be provided in the form the user wants. As an example, the class or enumeration format provided by the user may be set in json or XML format.

이하 내용은 열거형의 예시(ex. json)이며, 열거형의 이름은 PLSIL Type, MOType, InOutType 등일 수 있다.The following is an example of an enumeration type (ex. json), and the name of the enumeration type may be PLSIL Type, MOType, InOutType, etc.

또한, 이하 내용은 클래스형의 예시(ex. XML)이며, 클래스형의 이름은 PoseType, OrientationType 등일 수 있다.Additionally, the following is an example of a class type (ex. XML), and the name of the class type may be PoseType, OrientationType, etc.

정보 모델에서 정의되고 사용되는 열거형과 클래스 형은 정보모델 편집기가 사용하는 지정된 디렉토리(혹은 URL)에서 저장되어 필요하면 활용할 수 있게 한다. 또한 사용자는 필요한 열거형과 클래스들을 json 혹은 XML로 정의하여 해당 디렉토리 혹은 사용자 정의 디렉토리에 저장하여 활용할 수 있다.Enumerations and class types defined and used in the information model are stored in a designated directory (or URL) used by the information model editor and can be used when necessary. Additionally, users can define necessary enumerations and classes in json or XML and save them in the relevant directory or user-defined directory.

전자 장치는 이러한 클래스형과 열거형을 제공하는 형태로 해당 열거형 혹은 클래스형의 이름을 가진 파일명을 사용하여 제공하거나, 열거형 혹은 클래스 형을 가진 모두 저장하는 파일 명, 예로 열거형인 경우 enum.json, 클래스 형의 경우 class.xml로 정의하여 사용할 수 있다.Electronic devices provide these class types and enumerations using a file name with the name of the enumeration or class type, or a file name that stores all of the enumeration or class types, for example, enum. In the case of json and class types, they can be used by defining them in class.xml.

한편, 도 7b는 시스템 정의 데이터형이 있는 폴더를 관리하는 전자 장치의 동작을 설명하기 위한 흐름도이다.Meanwhile, FIG. 7B is a flowchart for explaining the operation of an electronic device that manages a folder with a system-defined data type.

시스템 정의 데이터형과 사용자 정의 데이터형은 시스템에서 제공하는 데이터형을 말하고 사용자 정의 데이터형은 사용자가 정의하는 데이터형이다. 정수형, 실수형, 문자형, 스트링(String) 형 혹은 문자배열형은 기본적으로 사용할 수 있는 데이터형이지만, 그림 1의 열거형과 그림 2의 클래스형은 시스템 혹은 사용자가 정의하여 사용하여야 한다. 따라서 이들을 정의하여 쉽게 사용하도록 하는 것이 중요하다.System-defined data types and user-defined data types refer to data types provided by the system, and user-defined data types are data types defined by the user. Integer type, real number type, character type, string type, or character array type are data types that can be used by default, but the enumeration type in Figure 1 and the class type in Figure 2 must be defined and used by the system or user. Therefore, it is important to define them and make them easy to use.

시스템 정의 형은 미리 시스템에서 JSON 혹은 XML로 정의되어 있으므로, 도 7b와 같이 하면, 화면에서 해당 내용을 볼 수 있다. 즉, 도 7b에서 클래스형을 택하면, 시스템에서 정의된 클래스 유형 이름(예: PoseType, OrientationType) 들이 표시되고 PoseType을 선택하면 화면에 이하와 같이 선택한 클래스의 내용이 표시될 수 있다.Since the system-defined type is defined in advance as JSON or XML in the system, the corresponding contents can be viewed on the screen as shown in Figure 7b. That is, if you select a class type in Figure 7b, class type names (e.g., PoseType, OrientationType) defined in the system are displayed, and if you select PoseType, the contents of the selected class can be displayed on the screen as follows.

이 경우, 사용자가 맞는 클래스 형인지 확인하여 선택하게 한다. 물론 열거형을 택하면, 시스템에서 정의된 열거형 이름(예: PLSILType, MOType, InOutType)들이 표시되고, 이 중에서 MOType을 선택하면 이하와 같은 화면이 표시되어 선택한 내용이 맞는지 확인한다. 참고로 이 예는 C++이고, 선택된 언어에 따라 다르게 표시될 수 있다.In this case, the user is asked to check whether the class type is correct and then select it. Of course, if you select an enumeration type, the enumeration type names (e.g. PLSILType, MOType, InOutType) defined in the system are displayed, and if you select MOType among them, the following screen is displayed to confirm that your selection is correct. Please note that this example is C++ and may appear differently depending on the language selected.

만일 사용자가 시스템에서 제공하는 열거형 혹은 클래스형이 알맞지 않다고 하면 전자 장치를 통해 만들 수도 있다. 이러한 데이터들은 userdefinedclass.xml 혹은 userdefinedenum.json 에 정의할 수 있다. 전자는 클래스를 저장하는 파일이고 후자는 열거형을 저장하는 파일이다. 열거형은 xml로도 저장할 수 있다. If the user says that the enumeration or class type provided by the system is not appropriate, it can be created through an electronic device. These data can be defined in userdefinedclass.xml or userdefinedenum.json. The former is a file that stores classes, and the latter is a file that stores enumerations. Enumerations can also be saved as xml.

예를 들어, 이하와 같이 열거형은 Direction, Shape이 추가되고, 클라스형은 RobotPose3, RobotPose6가 추가될 수 있다.For example, as shown below, Direction and Shape can be added to the enumeration type, and RobotPose3 and RobotPose6 can be added to the class type.

도 7b에서와 같이 도 7a에서 같이 수행하면, 열거형인 경우 화면에 Direction, Shape가 표시되고, 클라스형인 경우 RobotPose3, RobotPose6가 표시된다. 이 내용을 확인하고 싶다면 해당 내용을 클릭하면 상세 내용이 표시된다. 이러한 열거형과 클라스형은 서비스 및 변수 정의 시 사용하면 된다.If the same is performed in Figure 7a as in Figure 7b, Direction and Shape are displayed on the screen in the case of an enumeration type, and RobotPose3 and RobotPose6 are displayed in the case of a class type. If you want to check this content, click on it and the details will be displayed. These enumeration and class types can be used when defining services and variables.

한편, 도 8은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.Meanwhile, FIG. 8 is a block diagram for explaining the configuration of an electronic device according to various embodiments of the present disclosure.

도 8을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다. 전자 장치(100)는 하나 이상의 컴퓨터로 구성된 장치 내지 시스템으로 구현될 수 있다. 전자 장치(100)는 서버로 구현될 수도 있고, 데스크탑 PC, 노트북 PC, 태블릿 PC, 스마트폰 등 단말 기기로 구현될 수도 있다.Referring to FIG. 8 , the electronic device 100 includes a memory 110 and a processor 120. The electronic device 100 may be implemented as a device or system comprised of one or more computers. The electronic device 100 may be implemented as a server or as a terminal device such as a desktop PC, laptop PC, tablet PC, or smartphone.

메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.The memory 110 is configured to store an operating system (OS) for controlling the overall operation of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100. .

메모리(110)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(110)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.The memory 110 may include non-volatile memory, such as ROM or flash memory, and may include volatile memory, such as DRAM. Additionally, the memory 110 may include a hard disk, solid state drive (SSD), etc.

메모리(110)는 전자 장치(100)로 하여금 상술한 다양한 동작을 수행하도록 하는 컴퓨터 프로그램/소프트웨어를 저장할 수 있다.The memory 110 may store computer programs/software that allow the electronic device 100 to perform the various operations described above.

프로세서(120)는 전자 장치(100)를 전반적으로 제어하기 위한 구성이다. 구체적으로, 프로세서(120)는 메모리(110)와 연결되는 한편 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.The processor 120 is configured to overall control the electronic device 100. Specifically, the processor 120 may perform operations according to various embodiments of the present disclosure by being connected to the memory 110 and executing at least one instruction stored in the memory 110.

프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 인공지능 전용 프로세서는, 특정 인공지능 모델의 훈련 내지는 이용에 특화된 하드웨어 구조로 설계될 수 있다.The processor 120 may include a general-purpose processor such as a CPU, AP, or DSP (Digital Signal Processor), a graphics-specific processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-specific processor such as an NPU. An artificial intelligence-specific processor may be designed with a hardware structure specialized for training or use of a specific artificial intelligence model.

프로세서(120)는 메모리(110)에 저장된 컴퓨터 프로그램 등을 실행하여 상술한 다양한 동작을 수행할 수 있다.The processor 120 may perform the various operations described above by executing a computer program stored in the memory 110.

전자 장치(100)는 메모리(110) 및 프로세서(120) 외에 사용자 입력부(130), 통신부(140) 등을 더 포함할 수 있다.The electronic device 100 may further include a user input unit 130, a communication unit 140, etc. in addition to the memory 110 and the processor 120.

사용자 입력부(130)는 다양한 사용자 명령 내지는 정보를 입력 받기 위한 구성이다. 전자 장치(100)가 사용자 등의 단말 기기로 구현된 경우, 사용자 입력부(130)는 적어도 하나의 버튼, 터치 패드, 마이크, 카메라 등을 포함할 수 있다.The user input unit 130 is configured to receive input of various user commands or information. When the electronic device 100 is implemented as a terminal device for a user, the user input unit 130 may include at least one button, a touch pad, a microphone, a camera, etc.

또는, 전자 장치(100)는 마우스, 키보드 등 다양한 사용자 입력 장치와 유무선으로 연결되어 사용자 입력을 수신할 수도 있다.Alternatively, the electronic device 100 may be connected wired or wirelessly to various user input devices such as a mouse and keyboard to receive user input.

통신부(140)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 회로, 모듈, 칩 등을 포함할 수 있다. The communication unit 140 may include circuits, modules, chips, etc. for communicating with at least one external device through various wired or wireless communication methods.

통신부(140)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 회로, 모듈, 칩 등을 포함할 수 있다. 통신부(140)는 다양한 네트워크를 통해 외부 장치와 연결될 수 있다.The communication unit 140 may include circuits, modules, chips, etc. for communicating with at least one external device through various wired or wireless communication methods. The communication unit 140 may be connected to external devices through various networks.

네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.Depending on the area or size, the network may be a personal area network (PAN), a local area network (LAN), or a wide area network (WAN). Depending on the openness of the network, it may be an intranet, It may be an extranet, or the Internet.

통신부(140)는 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등 다양한 무선 통신 방식을 통해 외부 장치들과 연결될 수 있다.The communication unit 140 supports long-term evolution (LTE), LTE Advance (LTE-A), 5th Generation (5G) mobile communication, code division multiple access (CDMA), wideband CDMA (WCDMA), and universal mobile telecommunications system (UMTS). , WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, NFC (near field communication), Zigbee, etc. It can be connected to external devices.

또한, 통신부(140)는 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 유선 통신 방식을 통해 외부 장치들과 연결될 수도 있다.Additionally, the communication unit 140 may be connected to external devices through a wired communication method such as Ethernet, optical network, USB (Universal Serial Bus), or Thunderbolt.

일 실시 예로, 전자 장치(100)는 통신부(140)를 통해 상술한 컴퓨터 프로그램을 외부 장치로 전달하거나 또는 외부 장치로부터 상술한 컴퓨터 프로그램을 다운로드할 수 있다. 또한, 전자 장치(100)는 적어도 하나의 웹 페이지 내지는 애플리케이션의 형태로 하나 이상의 외부 장치와 연동되어 상술한 다양한 동작을 수행할 수도 있다.In one embodiment, the electronic device 100 may transmit the above-described computer program to an external device through the communication unit 140 or may download the above-described computer program from an external device. Additionally, the electronic device 100 may perform the various operations described above in conjunction with one or more external devices in the form of at least one web page or application.

상술한 실시 예들에 따라 전자 장치는 복수의 모듈에 대한 복수의 정보 모델을 생성할 수 있다. 이때, 전자 장치는 복수의 정보 모델 중 동일한 유형에 해당하는 정보 모델들을 식별할 수 있다.According to the above-described embodiments, the electronic device may generate a plurality of information models for a plurality of modules. At this time, the electronic device may identify information models corresponding to the same type among a plurality of information models.

여기서, 전자 장치는 동일한 유형에 해당하는 정보 모델들의 일부 항목(ex. Variables, Services, Infra) 내 데이터를 비교할 수 있다. 여기서, 적어도 하나의 항목에 대하여 각 정보 모델 간의 유사도가 비교될 수 있다.Here, the electronic device can compare data within some items (ex. Variables, Services, Infra) of information models corresponding to the same type. Here, the similarity between each information model can be compared for at least one item.

유사도는, 데이터가 유사한 정도를 의미하며, 공통되는 단어의 수가 많거나 혹은 공통되는 개체(ex. 특정 데이터)가 많을수록 높게 산출될 수 있다. 유사도는, 항목 별로 산출될 수 있다.Similarity refers to the degree to which data is similar, and can be calculated higher as the number of common words or common entities (ex. specific data) increases. Similarity can be calculated for each item.

이때, 전자 장치는 적어도 하나의 항목에 대하여 유사도가 임계치 이상인 둘 이상의 정보 모델들을 선택하고, 선택된 정보 모델들에 대한 정보를 제공할 수 있다.At this time, the electronic device may select two or more information models whose similarity is greater than or equal to a threshold for at least one item and provide information about the selected information models.

예를 들어, 제1 정보 모델과 제2 정보 모델의 입력(IOvariables)을 구성하는 개체들이 대부분 동일한 경우, 제1 정보 모델에 대한 정보와 제2 정보 모델에 대한 정보가 각각 사용자에게 제공될 수 있다.For example, if most of the entities constituting the inputs (IOvariables) of the first information model and the second information model are the same, information about the first information model and information about the second information model may be provided to the user, respectively. .

이때, 전자 장치는 두 정보 모델의 일체화를 추천하는 추천 정보를 제공할 수 있으며, 구체적으로, 전자 장치는 유사도가 임계치 이상인 항목, 해당 항목 내에서 일치하는 단어 등에 대한 정보를 사용자에게 제공할 수 있다.At this time, the electronic device may provide recommendation information recommending integration of the two information models. Specifically, the electronic device may provide the user with information about items whose similarity is greater than a threshold, words that match within the items, etc. .

일체화는, 둘 이상의 정보 모델을 하나의 정보 모델로 통합하는 과정을 의미한다.Integration refers to the process of integrating two or more information models into one information model.

여기서, 두 정보 모델의 일체화를 위한 사용자의 요청이 수신되면, 전자 장치는 해당 항목과 관련한 편집 기능을 제공할 수 있다. 예를 들어, 제1 정보 모델과 제2 정보 모델의 입력(IOvariables)을 구성하는 개체들이 대부분 동일한 경우, 전자 장치는 제1 정보 모델의 IOvariables를 구성하는 제1 데이터 및 제2 정보 모델의 IOvariables를 구성하는 제2 데이터를 포함하는 데이터가 입력되어 있는 별도의 통합 입력 창을 제공할 수 있다. 그 결과, 사용자는 두 정보 모델의 IOvariables에 해당하는 정보를 비교하면서 데이터를 편집할 수 있다.Here, when a user's request for integration of two information models is received, the electronic device may provide an editing function related to the corresponding item. For example, if most of the entities constituting the inputs (IOvariables) of the first information model and the second information model are the same, the electronic device uses the first data constituting the IOvariables of the first information model and the IOvariables of the second information model. A separate integrated input window in which data including the constituting second data is input may be provided. As a result, users can edit data while comparing information corresponding to the IOvariables of the two information models.

해당 항목(ex. IOvariables)의 편집이 완료되면, 전자 장치는 나머지 항목들에 대한 입력 창을 순차적으로 제공할 수 있다.Once editing of the corresponding item (ex. IOvariables) is completed, the electronic device may sequentially provide input windows for the remaining items.

한편, 상술한 추천 정보가 제공되었음에도 일체화를 위한 사용자의 요청이 수신되지 않은 경우, 전자 장치는 상술한 유사도의 임계치를 증가하는 업데이트를 수행할 수 있다. 그 결과, 추천 정보의 제공 빈도가 점차 정제될 수 있으며, 사용자 스스로가 일체화를 합당하다고 여길 만큼 정보 모델들 간의 데이터가 유사한 상황에서만 일체화에 대한 추천이 합리적으로 제공될 수 있다.Meanwhile, if the user's request for integration is not received even though the above-described recommendation information is provided, the electronic device may perform an update to increase the above-described similarity threshold. As a result, the frequency of providing recommended information can be gradually refined, and recommendations for integration can be reasonably provided only in situations where the data between information models is similar enough that the user himself considers integration reasonable.

또한, 일 실시 예로, 전자 장치는 일체화 전의 제1 정보 모델 및 제2 정보 모델 각각의 데이터 크기가 더해진 제1 값을, 일체화가 수행된 통합 정보 모델의 데이터 사이즈에 해당하는 제2 값과 비교할 수 있다. In addition, as an example, the electronic device may compare a first value obtained by adding the data sizes of each of the first information model and the second information model before integration with the second value corresponding to the data size of the integrated information model on which integration was performed. there is.

여기서, 만약 제1 값에서 임계 용량만큼 차감된 값보다 제2 값이 더 큰 경우, 전자 장치는 상술한 유사도의 임계치를 증가하는 업데이트를 수행할 수 있다. 이는, 일체화를 통해 데이터 크기가 임계 용량 이상 줄어들 수 있는 경우에만 일체화를 수행하기 위한 방안이다.Here, if the second value is greater than the value subtracted from the first value by the threshold capacity, the electronic device may perform an update to increase the above-described similarity threshold. This is a method to perform integration only when the data size can be reduced by more than the critical capacity through integration.

한편, 이상에서 설명된 다양한 실시 예들은 서로 저촉되지 않는 한 복수의 실시 예가 결합되어 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented by combining multiple embodiments as long as they do not conflict with each other.

한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(Software), 하드웨어(Hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(Computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서(Processors), 제어기(Controllers), 마이크로 컨트롤러(Micro-controllers), 마이크로 프로세서(Microprocessors), 기타 기능 수행을 위한 전기적인 유닛(Unit) 중 적어도 하나를 이용하여 구현될 수 있다.According to hardware implementation, the embodiments described in this disclosure include Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), and Field Programmable Gate Arrays (FPGAs). ), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions.

일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, embodiments described herein may be implemented in the processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 각 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(Computer Instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(Non-transitory Computer-readable Medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 전자 장치 등 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치의 동작을 상술한 특정 기기가 수행하도록 한다.Meanwhile, computer instructions or computer programs for performing processing operations in each device according to the various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. You can. Computer instructions or computer programs stored in such non-transitory computer-readable media, when executed by a processor of a specific device such as an electronic device, cause the specific device to perform the operations of the electronic device according to the various embodiments described above.

비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(Reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories. Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.In the above, preferred embodiments of the present disclosure have been shown and described, but the present disclosure is not limited to the specific embodiments described above, and may be used in the technical field pertaining to the disclosure without departing from the gist of the disclosure as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical ideas or perspectives of the present disclosure.

100: 전자 장치 110: 메모리
120: 프로세서
100: electronic device 110: memory
120: processor

Claims (10)

정보 모델을 편집하는 전자 장치의 제어 방법에 있어서,
상기 전자 장치가, 사용자 입력에 따라 획득된 모듈 ID를 바탕으로 모듈의 유형(type)를 식별하는 단계;
상기 전자 장치가, 복수의 항목 중 상기 식별된 유형에 매칭되는 적어도 하나의 항목을 선택하는 단계; 및
상기 전자 장치가, 상기 선택된 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 UI(User Interface)를 제공하는 단계;를 포함하는, 전자 장치의 제어 방법.
In a method of controlling an electronic device that edits an information model,
identifying, by the electronic device, a type of module based on a module ID obtained according to a user input;
selecting, by the electronic device, at least one item matching the identified type among a plurality of items; and
A method of controlling an electronic device comprising: providing, by the electronic device, at least one UI (User Interface) for receiving data matching the selected item.
제1항에 있어서,
상기 모듈의 유형을 식별하는 단계는,
사용자 입력에 따라 획득된 모듈 ID를 바탕으로 기본, 복합, 소프트웨어, 하드웨어, 안전 모드, 및 보안 모드 중 적어도 하나와 관련된 상기 모듈의 유형을 식별하는, 전자 장치의 제어 방법.
According to paragraph 1,
The step of identifying the type of the module is,
A method of controlling an electronic device, identifying a type of the module associated with at least one of basic, complex, software, hardware, safe mode, and security mode based on a module ID obtained according to user input.
제2항에 있어서,
상기 적어도 하나의 항목을 선택하는 단계는,
상기 식별된 유형이 안전 모드 및 보안 모드 중 적어도 하나에 해당하는 경우, safesecure 항목을 선택하는, 전자 장치의 제어 방법.
According to paragraph 2,
The step of selecting at least one item is,
A control method of an electronic device, wherein when the identified type corresponds to at least one of safe mode and secure mode, a safesecure item is selected.
제2항에 있어서,
상기 모듈의 유형을 식별하는 단계는,
상기 모듈 ID가 소프트웨어 및 하드웨어 중 어느 하나에도 해당되지 않는 경우, 에러를 식별하는, 전자 장치의 제어 방법.
According to paragraph 2,
The step of identifying the type of the module is,
A control method of an electronic device, identifying an error when the module ID does not correspond to any of software and hardware.
제1항에 있어서,
상기 복수의 항목은,
모듈에 대한 추가 정보와 관련된 “idntype”, 모듈에 사용되는 데이터의 속성과 관련된 “properties”, 모듈에 사용되는 입출력 변수들과 관련된 “variables”, 모듈에 사용되는 함수들에 대한 인터페이스와 매칭되는 “services”, 모듈이 운영되는 환경과 관련된 “infra”, 모듈의 시뮬레이션과 관련된 “modelling”, 및 모듈 내 실행 가능한 파일과 관련된 “execform”을 포함하는, 전자 장치의 제어 방법.
According to paragraph 1,
The plurality of items are:
“idntype” related to additional information about the module, “properties” related to the attributes of data used in the module, “variables” related to input and output variables used in the module, and “matching interfaces for functions used in the module.” Control methods for electronic devices, including “services”, “infra” related to the environment in which the module operates, “modelling” related to simulation of the module, and “execform” related to executable files within the module.
제1항에 있어서,
상기 전자 장치의 제어 방법은,
사용자 입력에 따라 복수의 정보 모델을 각각 생성하는 단계;
상기 복수의 정보 모델 중 동일한 유형에 해당하는 정보 모델들을 식별하는 단계;
항목 별로, 상기 식별된 정보 모델들을 구성하는 데이터를 비교하여 정보 모델들 간의 유사도를 산출하는 단계;
적어도 하나의 항목에 대하여 상기 유사도가 임계치 이상인 제1 정보 모델 및 제2 정보 모델을 선택하는 단계; 및
상기 제1 정보 모델 및 상기 제2 정보 모델의 일체화를 위한 추천 정보를 제공하는 단계;를 포함하는, 전자 장치의 제어 방법.
According to paragraph 1,
The control method of the electronic device is,
Generating a plurality of information models respectively according to user input;
Identifying information models corresponding to the same type among the plurality of information models;
Comparing data constituting the identified information models for each item to calculate similarity between the information models;
selecting a first information model and a second information model whose similarity is equal to or greater than a threshold for at least one item; and
A method of controlling an electronic device comprising: providing recommended information for integration of the first information model and the second information model.
제6항에 있어서,
상기 전자 장치의 제어 방법은,
상기 추천 정보가 제공되었음에도 상기 제1 정보 모델 및 상기 제2 정보 모델에 대한 일체화를 위한 사용자 입력이 수신되지 않는 경우, 상기 유사도에 대한 상기 임계치를 증가 업데이트하는 단계;를 더 포함하는, 전자 장치의 제어 방법.
According to clause 6,
The control method of the electronic device is,
If a user input for integration of the first information model and the second information model is not received even though the recommended information is provided, increasing and updating the threshold for the similarity; further comprising, of the electronic device Control method.
전자 장치에 있어서,
적어도 하나의 인스트럭션이 저장된 메모리; 및
상기 인스트럭션을 실행함으로써 제1 항의 제어 방법을 수행하는, 프로세서;를 포함하는, 전자 장치.
In electronic devices,
a memory storing at least one instruction; and
An electronic device comprising: a processor that performs the control method of claim 1 by executing the instruction.
전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금 제1항의 제어 방법을 수행하도록 하는, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램A computer program stored in a computer-readable medium that is executed by a processor of an electronic device and causes the electronic device to perform the control method of claim 1. 정보 모델을 편집하는 전자 장치의 제어 방법에 있어서,
상기 전자 장치가, 사용자가 데이터 유형을 임의로 만드는 단계;
상기 전자 장치가, 복수의 항목 중 상기 식별된 유형에 매칭되는 적어도 하나의 항목을 선택하는 단계; 및
상기 전자 장치가, 상기 선택된 항목에 매칭되는 데이터를 입력 받기 위한 적어도 하나의 UI(User Interface)를 제공하는 단계;를 포함하는, 전자 장치의 제어 방법.
In a method of controlling an electronic device that edits an information model,
A step of the electronic device arbitrarily creating a data type by a user;
selecting, by the electronic device, at least one item matching the identified type among a plurality of items; and
A method of controlling an electronic device comprising: providing, by the electronic device, at least one UI (User Interface) for receiving data matching the selected item.
KR1020220166399A 2022-12-02 2022-12-02 Electronic apparatus for editing information model KR20240082599A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220166399A KR20240082599A (en) 2022-12-02 2022-12-02 Electronic apparatus for editing information model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220166399A KR20240082599A (en) 2022-12-02 2022-12-02 Electronic apparatus for editing information model

Publications (1)

Publication Number Publication Date
KR20240082599A true KR20240082599A (en) 2024-06-11

Family

ID=91471289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220166399A KR20240082599A (en) 2022-12-02 2022-12-02 Electronic apparatus for editing information model

Country Status (1)

Country Link
KR (1) KR20240082599A (en)

Similar Documents

Publication Publication Date Title
US10565293B2 (en) Synchronizing DOM element references
US20180101371A1 (en) Deployment manager
CN104932480A (en) Automobile diagnostic system design method and apparatus
US11593342B2 (en) Systems and methods for database orientation transformation
JP2018081693A (en) Automated process control hardware engineering using schema-represented requirements
US12008502B2 (en) Business designer
EP3286611B1 (en) Method and system for cross discipline data validation checking in a multidisciplinary engineering system
CN112214210A (en) Logistics business rule engine and configuration method, device, equipment and storage medium thereof
US20190005228A1 (en) Trusted and untrusted code execution in a workflow
CN109086476B (en) Data processing method for drawing design, PLM plug-in and computing equipment
US8959191B2 (en) Script modification suggestion
US20180123899A1 (en) Technology agnostic network simulation
JP2018092374A (en) Test case creating device, and test case creating method
US10540151B1 (en) Graphical customization of a firmware-provided user interface (UI)
US9910883B2 (en) Enhanced batch updates on records and related records system and method
CN113850558A (en) Workflow arrangement method and device
US20230195455A1 (en) Automated Developer Governance System
KR20240082599A (en) Electronic apparatus for editing information model
CN111079382A (en) Form rendering method and system based on MVVM (multifunction virtual machine) mode
US9730038B2 (en) Techniques to manage platform migrations
US20180373740A1 (en) System and method for merging a source data from a source application into a target data of a target application
CN104156209A (en) Cross-platform application interface modeling method and device
CN113377368A (en) Project development method, device, server and storage medium
US20200111145A1 (en) Product material integration and orchestration method and cloud service apparatus
US8560095B2 (en) Changeable BACnet interface