KR20190130220A - IoT network system - Google Patents

IoT network system Download PDF

Info

Publication number
KR20190130220A
KR20190130220A KR1020180048713A KR20180048713A KR20190130220A KR 20190130220 A KR20190130220 A KR 20190130220A KR 1020180048713 A KR1020180048713 A KR 1020180048713A KR 20180048713 A KR20180048713 A KR 20180048713A KR 20190130220 A KR20190130220 A KR 20190130220A
Authority
KR
South Korea
Prior art keywords
virtual object
layer
service
iot network
virtual
Prior art date
Application number
KR1020180048713A
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 KR1020180048713A priority Critical patent/KR20190130220A/en
Publication of KR20190130220A publication Critical patent/KR20190130220A/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • H04L67/2823
    • H04L67/36
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/75Indicating network or usage conditions on the user display

Abstract

The present invention relates to an IoT network system. The IoT network system comprises: a physical layer (110); a virtual object layer (VOL) (120); a service composition layer (SCL) (130); and a business process layer (BPL) (140). Accordingly, the present invention provides an effect that a user may easily construct an IoT network infrastructure.

Description

아이오티 네트웍 시스템{IoT network system}IoT network system

본 발명은 IoT 네트웍 시스템에 관한 것으로, 보다 구체적으로는, IoT 네트웍 영상을 구현하기 위한 IoT 네트웍 방식의 시각 구현 정보를 제공하기 위한 IoT 네트웍 네트웍 시스템에 관한 것이다.
The present invention relates to an IoT network system, and more particularly, to an IoT network network system for providing visual implementation information of an IoT network type for implementing an IoT network image.

최근, 정보통신 기술의 비약적인 발전에 따라 IoT(Internet of Things) 기술에 대한 관심 및 수요가 급격히 증가하고 있는 추세이다. 이러한 IoT는, 이를 바라보는 관점에 따라 다양한 방식으로 정의될 수 있다. 그러나, 본질적으로 IoT가 인터넷을 기반으로 다양한 사물들에게까지 네트워크 연결을 제공함으로써 사람과 사물, 사물과사물 간의 통신을 가능하게 하는 지능형 정보통신 기술 내지 서비스에 해당함은 분명한 사실이다.Recently, with the rapid development of information and communication technology, interest and demand for the Internet of Things (IoT) technology is rapidly increasing. Such IoT can be defined in various ways, depending on the point of view of it. However, it is clear that IoT is essentially an intelligent information communication technology or service that enables communication between people and things, things and things by providing a network connection to various things based on the Internet.

이러한 IoT 기술 분야의 급격한 성장세에도 불구하고, IoT 환경에서의 보안 기술은 아직 초기 단계에 머물러 있는 실정이다. 특히, 댁내 IoT 시스템의 경우 일반 사용자가 보안 관리에 참여해야 하고, 더욱이 댁내 무선 네트워크의 경우 무선 환경 특성상 일반 사용자가 외부 공격을 인지하는 것은 매우 어려운 점에서 보안 취약 지대로 인식되고 있다. 실제로 영국의 인터넷 매체인 텔레그래프는, HP의 보고서를 인용하여, 현재 사용되는 IoT 기기들의 90%는 개인 정보를 수집하고 있고, 이 중 70%는 개인 정보를 암호화하지 않은 상태로 전송하고 있으며, IoT 기기들의 60%는 보안 되지않은 인터페이스를 사용하고 있다고 하면서, 현재 IoT 기기들이 약 250개의 잠재적인 보안 취약점을 지니고 있다고 전했다. 또한, 프루프포인트는 2013년 말부터 2014년 초까지 75만건의 피싱과 스팸메일이 스마트 가전을 통해 발송되었다고 보고한 바 있다. 따라서, 댁내 IoT 시스템의 댁내 무선 네트워크에 대한 보안 기술 절실히 요구되고 있는 실정이다.Despite the rapid growth in the field of IoT technology, security technology in the IoT environment is still in its infancy. In particular, home IoT systems require general users to participate in security management. Moreover, home wireless networks are recognized as security vulnerable because it is very difficult for general users to recognize external attacks due to the wireless environment. Indeed, the UK's Internet media Telegraph, citing HP's report, found that 90% of the IoT devices currently in use collect personal information, 70% of which is transmitted unencrypted. Sixty percent of devices use an unsecured interface, saying that current IoT devices have about 250 potential security vulnerabilities. ProofPoint also reported that 750,000 phishing and spam emails were sent through smart appliances from late 2013 to early 2014. Therefore, there is an urgent need for security technology for an indoor wireless network of an indoor IoT system.

한편, 현재 무선랜 또는 Wi-Fi 보안 기술과 관련된 연구들은 주로 홈 IoT 기기와 댁내 AP(Access Point) 간 무선 통신에서의 사용자 인증 및 암호화에 중점을 두고 있으며, Wi-Fi 보안 규격으로서 WEP(Wired Equivalent Privacy), WPA(Wi-Fi Protected Access), WPA2 등이 상용화되어 있다.
Meanwhile, studies related to wireless LAN or Wi-Fi security technology mainly focus on user authentication and encryption in wireless communication between home IoT devices and the access point (AP) in the home, and as a Wi-Fi security standard, WEP (Wired Equivalent Privacy (WPA), Wi-Fi Protected Access (WPA), and WPA2 are commercially available.

사물 인터넷(Internet of Things, 이하 IoT 네트웍)은 정보 통신 기술을 기반으로 실세계(physical word)와 가상 세계(virtual world)의 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 시설에 관한 것이다. The Internet of Things (IoT network) relates to a service infrastructure for providing advanced services by connecting various things in the physical world and the virtual world based on information and communication technology.

이러한 IoT 네트웍을 설계하기 위해서는 유비쿼터스 공간을 구현하기 위한 인프라 컴퓨팅 기기들이 환경과 사물에 심겨 환경이나 사물 그 자체가 지능화되는 것부터 사람과 사물, 사물과 사물 간에 지능 통신을 할 수 있는 사물 통신(M2M : Machine to Machine)의 개념을 인터넷으로 확장하여 사물은 물론, 현실과 가상 세계의 모든 정보와 상호 작용하는 개념으로 진화했다. 사물 인터넷의 주요 기술로는 센싱 기술, 유무선 통신 및 네트워크 인프라 기술, 사물 인터넷 인터페이스 기술, 사물 인터넷을 통한 서비스 기술 등이 있다. In order to design such an IoT network, infrastructure computing devices for realizing a ubiquitous space are planted in an environment and an object, and an intelligent communication between a person and an object, an object, and an object is made from an intelligent environment or an object itself (M2M: The concept of Machine to Machine has been extended to the Internet, and has evolved into a concept of interacting with not only things, but all information in the real and virtual world. The main technologies of the IoT include sensing technology, wired and wireless communication and network infrastructure technology, IoT interface technology, and service technology through the Internet of Things.

이러한 IoT 네트웍 환경에서 종말단 사용자(end-users)가 사물을 발견하여 발견된 사물에 대해서 스마트 환경을 애플리케이션을 통해 효과적으로 사용하기 위한 기술 개발이 요구되고 있다. In such an IoT network environment, end-users are required to develop a technology for effectively using a smart environment through an application for discovering things.

즉, 해당 기술 분야에 있어서는 아키텍처와 영상 구현을 위한 계층 시스템에 대한 설계를 위한 기술 개발이 요구되고 있다.
That is, in the technical field, technology development for designing a hierarchical system for architecture and image realization is required.

국내공개특허번호 10-2016-0086140호Domestic Publication No. 10-2016-0086140 국내등록특허버호 제10-1628996호Domestic registered patent No. 10-1628996 국내공개특허번호 제10-2016-0096243호Domestic Publication No. 10-2016-0096243 국내공개특허번호 제10-2016-0089772호Domestic Publication No. 10-2016-0089772

본 발명은 상기의 문제점을 해결하기 위한 것으로, 비즈니스 프로세서 관리와 관련된 다이어그램 언어 솔루션을 기반으로 프로그램 언어에 대한 기초 지식이 없어도 쉽게 인터페이스를 제공받을 수 있도록 하기 위한 IoT 네트웍 시스템을 제공하기 위한 것이다.The present invention is to solve the above problems, and to provide an IoT network system that can be easily provided interface without a basic knowledge of the programming language based on the diagram language solution related to business processor management.

또한, 본 발명은 IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축하도록 하기 위한 IoT 네트웍 시스템을 제공하기 위한 것이다.In addition, the present invention provides an IoT network system for allowing a user to easily build an IoT network infrastructure by allowing the user to easily visualize and interact with and manipulate the created virtual objects (VOs) for the IoT network configuration. will be.

그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
However, the objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍과 관련된 사물을 구성하기 위한 계층인 피지컬 레이어(physical layer)(110); 피지컬 레이어(110)에서의 사물을 가상 객체(Virtual Objects, VO)로 표현하며, 가상 객체(VO)를 관리하기 위한 계층인 가상 객체 레이어(Virtual Object Layer, VOL)(120); 가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)에 대해서 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(Service Objects, SO)를 생성하는 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130); 및 각 서비스 객체(SO)가 생성되면, 하나의 단위의 서비스 객체에 대해서 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하며, 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 활용하는 비지니스 프로세스 레이어(Business Process Layer, BPL)(140); 를 포함하는 4개 계층(layer)으로 형성되는 시스템 아키텍처를 구비하는 것을 특징으로 한다.In order to achieve the above object, an IoT network system according to an embodiment of the present invention, a physical layer (physical layer) (110) which is a layer for configuring things related to the IoT network; A virtual object layer (VOL) 120 that represents a thing in the physical layer 110 as virtual objects (VO), and is a layer for managing the virtual objects (VO); Service Composition Layer (SCL) for creating Service Objects (SO) by combining two or more Virtual Objects (VO) with respect to Virtual Objects (VO) in Virtual Object Layer (VOL) 120. 130; And when each service object SO is created, a flow of a process desired by a user for one scenario is formed for a service object of one unit, and a business process for performing a join-based model of the service objects SO. A Business Process Layer (BPL) 140 that utilizes Business Process Modeling Notations (BPMN); Characterized by having a system architecture formed of four layers (layer) comprising a.

이때, 상기 프로세스 플로우는, 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것을 특징으로 한다. In this case, the process flow operates to perform a function defined by an individual service object (SO) in the business process layer (BPL) 140, and based on the encrypted behavior between the individual virtual objects (VO) in actual interaction. It is characterized by performing a physical object (PO) directly.

또한, 사물은, IoT 네트웍 환경 및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지하는 것을 특징으로 한다.In addition, the thing is characterized in that for detecting the control data for the predetermined phenomenon occurring in the IoT network environment and the surroundings.

또한, 가상 객체(VO)는, 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시하며, 유저(user)에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작할 수 있도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물의 환경으로의 액세스가 가능하도록 하는 것을 특징으로 한다.In addition, the virtual object VO summarizes or compressively presents information related to the object of the physical layer 110 and allows a user to manipulate the virtual object VO in the IoT network system environment. In addition, the physical layer 110 represented by the virtual object VO is characterized in that to enable access to the environment of the thing.

또한, 서비스 객체(SO)는, 입력 가상 객체(VO)로 온도 센서 가상 객체(VO), 그리고 출력 가상 객체(VO)로 LED 가상 객체(VO)의 결합으로 형성되는 것을 특징으로 한다.In addition, the service object SO may be formed by combining the temperature sensor virtual object VO as an input virtual object VO and the LED virtual object VO as an output virtual object VO.

또한, 가상 객체 레이어(Virtual Object Layer, VOL)(120)는, 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공하는 가상 객체 매니저(VOM)(120a); 를 구비하는 것을 특징으로 한다.
In addition, the virtual object layer (VOL) 120 may provide a user with a component of local or remote interface classes for inputting information related to a thing in the physical layer where the user wants to register the virtual objects (VOs). Providing a virtual object manager (VOM) 120a; Characterized in having a.

본 발명의 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 인터페이스를 통해 구현함으로써, 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(BPMN)을 제공할 수 있는 제공한다. The IoT network system according to an embodiment of the present invention provides an implementation of a business process modeling notation (BPMN) based on the representation of service objects by implementing through an interface for creating and deploying IoT network applications.

뿐만 아니라, 본 발명의 다른 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축할 수 있는 효과를 제공한다.
In addition, the IoT network system according to another embodiment of the present invention, by allowing the user to easily visualize and interact with and manipulate the created virtual objects (VOs) for the IoT network configuration, the user can easily configure the IoT network infrastructure It provides a buildable effect.

도 1은 본 발명의 실시예에 따른 IoT 네트웍 시스템의 시스템 아키텍처
도 2는 도 1의 IoT 네트웍 시스템 중 가상 객체 매니저(VOM)의 동작도
도 3은 도 2의 가상 객체 매니저의 작동 흐름도
도 4는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저의 동작 설명도
도 5는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저에 의한 서비스 플로우도
도 6은 본 발명의 실시예에 따른 비지니스 프로세스 레이어 프로세스도
도 7은 본 발명의 실시예에 따른 비지니스 프로세스 레이어시퀀스도
도 8은 도 1의 IoT 네트웍 시스템에 있어서, IoT 네트웍 어플리케이션 구성 도
도 9는 도 1의 IoT 네트웍 시스템을 기반으로 가상 객체 매니저(VOM)도
도 10은 도 1의 IoT 네트웍 시스템을 기반으로 서비스 콤포지션 매니저도
도 11은 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스 관리도
도 12는 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스관리 디플로이먼트 엔진도
1 is a system architecture of an IoT network system according to an embodiment of the present invention.
2 is an operation diagram of a virtual object manager (VOM) of the IoT network system of FIG.
3 is an operation flowchart of the virtual object manager of FIG.
4 is a diagram illustrating the operation of a service composition manager in the IoT network system of FIG.
5 is a service flow diagram by a service composition manager in the IoT network system of FIG.
6 is a business process layer process diagram according to an embodiment of the present invention.
7 is a business process layer sequence diagram according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating an IoT network application in the IoT network system of FIG. 1.
9 is a virtual object manager (VOM) diagram based on the IoT network system of FIG.
10 is a service composition manager based on the IoT network system of FIG.
11 is a business process management diagram based on the IoT network system of FIG.
12 is a business process management deployment engine diagram based on the IoT network system of FIG.

이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, the detailed description of the preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted when it is deemed that they may unnecessarily obscure the subject matter of the present invention.

본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
In the present specification, when one component 'transmits' data or a signal to another component, the component may directly transmit the data or signal to another component, and through at least one other component. This means that data or signals can be transmitted to other components.

도 1은 본 발명의 실시예에 따른 BPM(Business Process Model) 기반의 IoT 네트웍 시스템의 시스템 아키텍처를 나타내는 도면이다. 1 is a diagram illustrating a system architecture of an IoT network system based on a BPM (Business Process Model) according to an embodiment of the present invention.

도 1을 참조하면, IoT 네트웍 시스템의 시스템 아키텍처는 피지컬 레이어(physical layer)(110), 가상 객체 레이어(Virtual Object Layer, VOL)(120), 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130), 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)의 4개의 계층(layer)으로 형성되며, 각 계층은 개별적인 기능과 미리 설정된 통신 계획에 따라 인접 계층과의 통신을 수행한다. Referring to FIG. 1, the system architecture of an IoT network system includes a physical layer 110, a virtual object layer VOL 120, and a service composition layer 130 (SCL) 130. It is formed of four layers of a business process layer (BPL) 140, and each layer communicates with an adjacent layer according to individual functions and a predetermined communication plan.

이하에서는, 각 계층에 대해서 구체적으로 살펴보도록 한다.Hereinafter, each layer will be described in detail.

피지컬 레이어(physical layer)(110)는 IoT 네트웍(Internet of Things)와 관련된 사물을 구성하기 위한 계층이다. 여기서 사물은 IoT 네트웍 환경 또는/및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지할 수 있다. The physical layer 110 is a layer for composing things related to the IoT network (Internet of Things). Here, the thing may detect control data about a preset phenomenon occurring in or around the IoT network environment.

또한, 사물의 일 실시예로, 인터넷을 통한 통신 수행능력을 갖는 센싱 장치와 액츄에이터 장치로 정의될 수 있다. In addition, as an embodiment of the thing, it may be defined as a sensing device and an actuator device having a communication performance through the Internet.

가상 객체 레이어(Virtual Object Layer, VOL)(120)는 가상 객체(Virtual Objects, VO)를 관리하기 위한 계층을 의미한다. 가상 객체(VO)는 피지컬 레이어(110)에서의 사물을 나타낸 것이다. The virtual object layer (VOL) 120 refers to a layer for managing virtual objects (VO). The virtual object VO represents an object in the physical layer 110.

가상 객체(VO)는 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시할 수 있으며, 유저(user)에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작이 가능하도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물(thing)의 환경으로의 액세스가 가능하도록 한다. The virtual object VO may summarize or compressively present information related to the object of the physical layer 110, and allow a user to manipulate the virtual object VO inside the IoT network system environment. In this case, access to an environment of things in the physical layer 110 represented by the virtual object VO is enabled.

가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)는 후술하는 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130) 상에서 수행되는 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(Service Objects, SO)를 생성하는데 이용된다. The virtual object (VO) in the virtual object layer (VOL) 120 is formed by a combination of two or more virtual objects (VO) performed on a service composition layer (SCL) 130 described later. Used to create Service Objects (SO).

서비스 객체(SO)의 예로, 입력 가상 객체(VO)로 온도 센서 가상 객체(VO)가 40℃를 초과하는 경우에 동작하며, 출력 가상 객체(VO)로 LED 가상 객체(VO)의 조인(Join)으로 형성될 수 있다. 이때, LED 가상 객체(VO)는 조건을 맞는 경우 깜박이기 시작하게 세팅되며, 온도 값의 획득과 LED의 깜박임은 상응하는 가상 객체(VO) 간의 암호화된 기능에 따르는 것이 바람직하다. As an example of the service object SO, it operates when the temperature sensor virtual object VO exceeds 40 ° C as the input virtual object VO, and joins the LED virtual object VO to the output virtual object VO. It can be formed into). At this time, the LED virtual object (VO) is set to start blinking when the conditions are met, and the acquisition of the temperature value and the blinking of the LED is preferably in accordance with the encrypted function between the corresponding virtual object (VO).

하나의 서비스 객체(SO)가 생성되면, 이러한 하나의 단위의 서비스 객체는 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에 의해 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하기 위해 이용된다.Once a service object (SO) is created, this one unit of service object is used by the Business Process Layer (BPL) 140 to form the flow of the process desired by the user for one scenario. do.

여기서 비지니스 프로세스 레이어(BPL)(140)는 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 이용한다.Herein, the business process layer (BPL) 140 uses a business process modeling notation (BPMN) to perform a join-based model of service objects (SOs).

프로세스 플로우는 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것에 해당한다.
The process flow operates to perform the functions defined by the individual service objects (SOs) at the business process layer (BPL) 140, and the physical objects (POs) based on the encrypted behavior between the individual virtual objects (VOs) in real interaction. This is equivalent to performing) directly.

한편, IoT 네트웍 시스템의 각 레이어는 정적 구조(static structure)를 갖으며, 각 레이어의 주요 동작을 기술하기 위한 상호 작용 구조를 갖는다. On the other hand, each layer of the IoT network system has a static structure (interaction structure) to describe the main operation of each layer.

도 2는 도 1의 IoT 네트웍 시스템 중 가상 객체 매니저(VOM)(120a)의 동작을 설명하기 위한 블록도이다. FIG. 2 is a block diagram illustrating an operation of a virtual object manager (VOM) 120a of the IoT network system of FIG. 1.

먼저, 객체 가상화(Object virtualization)에 대해서 살펴보면, 가상 객체 매니저(VOM)(120a)는 가상 객체 레이어(120)에서 주요 구성요소에 해당한다. 가상 객체 매니저(VOM)(120a)는 파일 매니저(File Manager)(120a-1), 통신 매니저(Communication Manager)(120a-2), XML 파서(XML Parser)(120a-3) 등과 같은 다른 클래스(class)들과 공동 작업을 하며, 가상 객체 레이어(VOL)와 연관된 모든 기능을 수행한다. First, referring to object virtualization, the virtual object manager (VOM) 120a corresponds to a major component in the virtual object layer 120. The virtual object manager (VOM) 120a may include other classes such as a file manager 120a-1, a communication manager 120a-2, an XML parser 120a-3, and the like. Collaborate with classes to perform all the functions associated with virtual object layers (VOLs).

가상 객체 매니저(VOM)(120a)는 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공한다. The virtual object manager (VOM) 120a provides the user with a component of local or remote interface classes for entering information related to the thing in the physical layer where the users wish to register the virtual objects (VOs).

통신 매니저(120a-2)는 파일 매니저(120a-1)를 이용하는데, 파일 매니저(120a-1)를 활용하여 로컬 파일 시스템으로부터 가상 객체(VO)의 XML 버전을 검색하거나, 관련된 정보를 추출하기 위해 가상 객체(VO)를 클라이언트 어플리케이션(client application)으로 전송한다. The communication manager 120a-2 uses the file manager 120a-1 to retrieve an XML version of the virtual object VO from the local file system or to extract related information using the file manager 120a-1. To send a virtual object (VO) to the client application.

이러한 과정에서 클라이언트 어플리케이션(client application)은 후술하는 서비스 콤포지션 매니저(Service Composition Manager)(130a)일 수 있다.In this process, the client application may be a service composition manager 130a described later.

한편, XML 파서(XML Parser)(120a-3)는 파일 매니저(120a-1)와 공동작업을 수행하며, 유저에 의해 입력된 정보를 가상 객체(VO)를 나타내는 XML 요소로 변경하거나 그 반대로 변경하기 위한 인터페이스 역할을 수행한다. On the other hand, the XML parser 120a-3 collaborates with the file manager 120a-1 and changes the information input by the user into an XML element representing the virtual object VO or vice versa. It serves as an interface to

기능적으로, XML 파서(XML Parser)(120a-3)는 디바이스 정보 클래스(DeviceInformation class)를 가상 객체(VO)들의 생성을 위한 템플릿으로 사용한다.
Functionally, the XML Parser 120a-3 uses the DeviceInformation class as a template for creating virtual objects (VOs).

다음으로, 도 3은 도 2의 가상 객체 매니저(120a)의 작동 흐름도를 나타낸다. 도 3을 참조하면, 도 3에 도시된 시퀀스 모델은 유저 명령을 수행하기 위한 시스템 내부 구성요소 사이의 메시지 교환 형태에서의 상호작용뿐만 아니라, 인터페이스 구셩요소와 사용자 간의 상호작용을 나타낸다. Next, FIG. 3 shows an operation flowchart of the virtual object manager 120a of FIG. 2. Referring to FIG. 3, the sequence model shown in FIG. 3 represents the interaction between the interface elements and the user as well as the interactions in the form of message exchanges between system internal components for performing user commands.

상호작용의 시퀀스는 가상 객체 매니저(120a)에 의해 개시(start)되며, 가상 객체 매니저(120a)에 의한 시퀀스 개시를 위해 유저 인터페이스 및 통신 매니저(120a-2) 등을 포함하는 모든 구성요소 초기화된 상태에 있어야 한다. The sequence of interactions is initiated by the virtual object manager 120a and initialized by all components, including the user interface and communication manager 120a-2, etc., for sequence initiation by the virtual object manager 120a. You must be in a state.

메인 인터페이스(120a-4)는 모든 가상 객체들(VOs)를 위한 뷰(view)를 제공하여, 가상 객체 매니저(120a)를 통해 파일 매니저(120a-1)에게 XML 저장소(XML repository)(120a-5)로부터 가상 객체(VO)와 관련된 데이터를 읽도록 요청한다. The main interface 120a-4 provides a view for all virtual objects (VOs), providing an XML repository 120a-to the file manager 120a-1 via the virtual object manager 120a. 5) request to read data related to the virtual object (VO).

읽어진 데이터는 XML 파서(120a-3)에 의해 파싱되고, 가상 객체(VO)와 관련된 정보는 인터페이스(120a-4)를 통해 출력되기 위해 가상 객체 매니저(120a)에게 제공된다. The read data is parsed by the XML parser 120a-3, and information related to the virtual object VO is provided to the virtual object manager 120a for output through the interface 120a-4.

이에 따라 유저는 가상 객체 매니저(120a)의 제어에 따라 인터페이스(120a-4)를 통해 가상 객체들(VOs)과 상호작용할 수 있다. 이때, 상호작용한 가상 객체(VO)는 유저가 시퀀스 모델에서의 행위와 관련된 상호작용한 것을 의미한다. Accordingly, the user may interact with the virtual objects VOs through the interface 120a-4 under the control of the virtual object manager 120a. At this time, the interacted virtual object (VO) means that the user interacted with the behavior in the sequence model.

유저에 의한 인터페이스상에 표시된 다수의 가상 객체(VO) 중 하나를 가상 객체(VO)를 선택이 완료되면, 선택된 가상 객체(VO) 정보가 인터페이스 뷰를 통해 유저에게 재차 표시된다. 이후, 유저는 필요한 경우, 가상 객체(VO)에 대한 편집과 업데이트 중 적어도 하나 이상을 선택 과정을 수행할 수 있다. When the virtual object VO is selected for one of the plurality of virtual objects VO displayed on the interface by the user, the selected virtual object VO information is displayed again to the user through the interface view. Thereafter, if necessary, the user may select at least one of editing and updating the virtual object VO.

한편, 편집된 가상 객체(VO)를 저장하기 위해, 인터페이스 뷰에 표시된 정보를 미리 설정된 포맷으로 변환되기 위해 XML 파서(120a-3)로 가상 객체 매니저(120a)의 제어에 의해 전달되며, 파일 매니저(120a-1)는 포맷 변환된 가상 객체를 XML 저장소(120a-5)로 기록한다. 삭제 과정도 또한 동일한 방식으로 수행될 수 있다. Meanwhile, in order to store the edited virtual object VO, the information displayed in the interface view is transferred to the XML parser 120a-3 by the control of the virtual object manager 120a to convert the information displayed in the preset format into a file manager. 120a-1 records the converted virtual object in the XML storage 120a-5. The deletion process can also be performed in the same way.

통신 매니저(120a-2)는 원격 클라이언트서비스 컨트롤 관리자(SCM)로부터 입중계 접속(incoming connections)을 감지함으로써, 서버 쓰레드(server thread)로 동작한다. 즉 접속 요청 수신에 따라 통신 매니저(120a-2)는 클라이언트에게 보내진 가상 객체(VO) 정보를 가상 객체 매니저(120a)에게 요청할 수 있다.
The communication manager 120a-2 operates as a server thread by detecting incoming connections from a remote client service control manager (SCM). That is, upon receiving the access request, the communication manager 120a-2 may request the virtual object manager 120a for the virtual object (VO) information sent to the client.

도 4는 도 1의 IoT 네트웍 시스템 기반의 서비스 콤포지션 매니저(Service Composition Manager)(130a)의 동작을 설명하기 위한 블록도이다. 도 4를 참조하면, 콤포지션 매니저(130a)의 메인 클래스들, 그리고 각 클래스 사이의 관계 및 연계 과정을 전체적으로 도시하고 있다.FIG. 4 is a block diagram for describing an operation of a service composition manager 130a based on the IoT network system of FIG. 1. Referring to FIG. 4, the main classes of the composition manager 130a and the relationship and association process between the respective classes are generally illustrated.

여기서, 폼(Form)(130a-1), 탭콘트롤(TabControl)(130a-2) 그래고 탭페이지(TabPage)(130a-3) 클래스는 각각 시각 콘트롤을 위한 표시 가능한 윈도우와 컨테이너들로서 작동하는 .Net built-in 클래스들(classes)인 것이 바람직하다. Here, the Form (130a-1), TabControl (130a-2) and TabPage (130a-3) classes are each .Net acting as displayable windows and containers for visual control. It is desirable to be built-in classes.

구체적으로 살펴보면, 디바이스모듈(DeviceModule)(130a-4) 클래스는 가상 객체들(VOs)의 입력과 출력을 위한 가상 표현 수행을 위해 제공되며, 도 4에는 디바이스모듈(DeviceModule)(130a-4)과 입력모듈(OutputModule)(130a-5), 출력모듈(OutputModule)(130a-6), 그리고 디바이스모듈(DeviceModule)(130a-4) 사이의 특화된 관계를 나타낸다. Specifically, the device module 130a-4 class is provided to perform a virtual representation for input and output of virtual objects VOs, and FIG. 4 shows a device module 130a-4. It shows a specialized relationship between the input module (OutputModule) (130a-5), the output module (OutputModule) (130a-6), and the device module (DeviceModule) (130a-4).

여기서 입력 디바이스를 압력 센서로, 출력 디바이스를 LED로 표현하는 실제 클래스들은 각각 입력모듈(OutputModule)(130a-5) 및 출력모듈(OutputModule)(130a-6) 클래스들로부터 얻을 수 있다. 이러한 각 입력 또는 출력 디바이스 표현 클래스들은 사용자 속성과 관련된다. Here, actual classes representing the input device as the pressure sensor and the output device as the LED may be obtained from the input module 130a-5 and the output module 130a-6, respectively. Each of these input or output device representation classes is associated with a user attribute.

디바이스모듈(DeviceModule)(130a-4) 클래스는 디바이스 모듈들과 관련된 코어 프라퍼티들(core properties)의 수행과 각 디바이스 모듈의 고유 방식들을 수행하기 위한 I디바이스 모듈(IDeviceModule)(130a-7) 인터페이스를 작동시킬 수 있다. The DeviceModule 130a-4 class provides an IDeviceModule 130a-7 interface for performing core properties related to device modules and for performing unique methods of each device module. It can work.

또한, 디바이스모듈(DeviceModule)(130a-4) 클래스는 가상 디바이스들을 복제 가능하게 생성하기 위한 I클론에이블(ICloneable)(130a-8) 인터페이스를 작동시킬 수 있다. In addition, the device module 130a-4 class may operate an I cloneable interface 130a-8 for generating virtual devices to be replicated.

여기서, I클론에이블(ICloneable)(130a-8)에 제공되는 인터페이스는 유저가 웹 브라우저 위에서 디스플레이 되는 비트맵 2D 그래픽 영역인 캔버스에 모듈을 드래그 하는 경우, 선택된 모듈을 복제하는데 사용될 수 있다. Here, the interface provided to the IC cloneable 130a-8 may be used to duplicate the selected module when the user drags the module to the canvas, which is a bitmap 2D graphics area displayed on the web browser.

즉, LED 클래스와 같은 개별적인 디바이스 가상 객체(VO) 모듈은 LED뷰(LEDView)와 LED 세팅(LEDSettings) 클래스 형태를 갖는 뷰 및 세팅 클래스를 포함할 수 있다. 이러한 LED뷰(LEDView) 와 LED 세팅(LEDSettings) 클래스들은 도 4에 도시된 디바이스뷰(DeviceView)(130a-9) 클래스 및 디바이스세팅(DeviceSettings)(130a-10) 클래스로부터 특화된 클래스들일 수 있다. That is, an individual device virtual object (VO) module such as an LED class may include a view and a setting class in the form of an LEDView and an LEDSettings class. These LEDView and LEDSettings classes may be classes specialized from the DeviceView 130a-9 class and the DeviceSettings 130a-10 class shown in FIG. 4.

디바이스뷰(DeviceView)(130a-9) 클래스는 에디터에서 상세한 뷰 탭 형태의 선택된 모듈의 특성을 나타내기 위한 작업 영역 클래스에 해당한다. 유사하게, 디바이스세팅(DeviceSettings)(130a-10) 클래스는 속성들과 파라미터들을 세팅하기 위한 양식을 제공할 수 있다. The DeviceView class 130a-9 corresponds to a work area class for representing the characteristics of the selected module in the form of a detailed view tab in the editor. Similarly, the DeviceSettings 130a-10 class can provide a form for setting properties and parameters.

메인프로세스(MainProcess)(130a-11) 클래스는 호스트의 작업을 도와주기 위해 설치되는 독립된 데이터베이스 전용 처리기인 메인 백 엔드 프로세스(main back end process)로 동작하며, 싱글톤 클래스(singleton class)로서 수행되는 것이 바람직하다. The MainProcess (130a-11) class acts as a main back end process, a separate database-only handler installed to help the host work, and is run as a singleton class. It is preferable.

그 밖의 도 4에서 도시된 다른 클래스들은 공용 인터페이스를 통해 메인프로세스(MainProcess)(130a-11)와 동일한 인스턴스(instance)를 사용한다. 본 발명에서의 인스턴스는 UI 프레임워크에서 정의된 데이터 타입에 따라 물리적인 메모리를 할당받아, 프로그램에서 접근 및 실행이 가능하게 된 객체일 수 있다. Other classes shown in FIG. 4 use the same instance as the main process 130a-11 through a public interface. In the present invention, the instance may be an object that can be accessed and executed in a program by allocating a physical memory according to a data type defined in the UI framework.

또한, 메인프로세스(MainProcess)(130a-11) 클래스는 디바이스모듈(DeviceModule)(130a-4) 클래스와 워크스페이스(WorkSpace)(130a-12) 클래스의 리스트를 점검한다. 여기서 스페이스(Space)(130a-13) 클래스는 워크스페이스(WorkSpace)(130a-12) 클래스의 상위 클래스이며, 파일 시스템뿐만 아니라, 메모리 상에서 객체들을 저장 목적을 위한 XML 데이터로의 전환을 위한 XML 직렬화(XmlSerialization)(130a-11a) 클래스를 활용한다. In addition, the MainProcess 130a-11 class checks a list of the DeviceModule 130a-4 class and the WorkSpace 130a-12 class. Here, the Space 130a-13 class is a superclass of the WorkSpace 130a-12 class, and it is an XML serialization for converting objects to XML data for storage purpose as well as the file system. Take advantage of the (XmlSerialization) class (130a-11a).

스페이스(Space)(130a-13) 클래스는 데이터 스페이스의 저장과 관련된 인터페이스들을 포함한 I워크스페이스(IWorkspace)(130a-14), 실행 취소(Undo)/다시 실행(Redo) 기능을 제공하기 위한 현재의 스페이스의 유지와 관련된 I스페이스UndoRedo(IspaceUndoRedo)(130a-15)를 실행시킬 수 있다. The Space 130a-13 class provides the current IWorkspace 130a-14, Undo / Redo functions, including interfaces related to the storage of data spaces. Ispace UndoRedo (IspaceUndoRedo) 130a-15 related to the maintenance of space can be executed.

기능성 에디터에서 도시된 입력 모듈과 출력 모듈 사이에서 형성된 조인Join, 병렬 경로의 합류)에 대한 정보를 유지하기 위해, 스페이스(Space)(130a-13) 클래스는 조인인포(JoinInfo) 클래스(130a-16)의 리스트를 갖는 것이 바람직하다.In order to maintain information about the joins formed between the input and output modules shown in the functional editor, the joining of parallel paths), the Space class 130a-13 is added to the JoinInfo class 130a-16. It is desirable to have a list of).

이러한 조인인포(JoinInfo) 클래스(130a-16)의 리스트는 현재의 프로젝트와 관계된 병렬 경로의 합류들에 대해서 알기를 원하는 워크스페이스(WorkSpace)(130a-12)에 의해 사용된다.This list of JoinInfo classes 130a-16 is used by the WorkSpace 130a-12 who wants to know about the confluences of the parallel paths associated with the current project.

유사하게 각 워크스페이스(WorkSpace)(130a-12) 객체는 정해진 서비스 콤포지션 프로젝트의 작업 영역에 나타난 입력 모듈과 출력 모듈을 표현하기 위한 디바이스콘텐츠(DeviceContents)(130a-17) 및 콘텐츠(Contents)(130a-18) 클래스를 사용하는 디바이스데이터(DeviceData)(130a-19) 클래스의 객체를 갖는다. Similarly, each WorkSpace (130a-12) object is a DeviceContents (130a-17) and Contents (130a) to represent the input and output modules appearing in the workspace of a given service composition project -18) has an object of class DeviceData (130a-19) using the class.

디바이스패널(DevicePanel)(130a-20), 워크패널(WorkPanel)(130a-21) 그리고 워크영역(WorkArea)(130a-22) 클래스들은 유저컨트롤(UserControl)(130a-23) 클래스로부터 파생된 구조를 갖는다. 이러한 클래스들은 각 프로젝트들을 위한 그래픽 유저 인터페이스(UI)를 제공하는데 사용한다. 여기서 각 프로젝트들은 탭컨트롤(TabControl)(130a-2) 클래스를 위해 확장된 KRBT탭컨트롤(KRBTTabControl)(130a-2a)에서 탭들로 탭페이지Ex(TabPageEx)(130a-2b)의 객체를 표시하기 위한 것을 의미한다. The DevicePanel 130a-20, WorkPanel 130a-21, and WorkArea 130a-22 classes construct structures derived from the UserControl (130a-23) classes. Have These classes are used to provide a graphical user interface (UI) for each project. Here, each project is used to display the objects of TabPageEx (130a-2b) as tabs in KRBT TabControl (130B-2a), which is extended for the TabControl (130B-2) class. Means that.

탭페이지Ex(TabPageEx)(130a-2b)는 닫힘 가능한 탭페이지의 제공을 위한 탭페이지(TabPage)(130a-3) 클래스의 확장된 버전에 해당한다.TabPageEx 130a-2b corresponds to an extended version of the TabPage 130a-3 class for providing a closeable tabpage.

KRBT탭컨트롤(KRBTTabControl)(130a-2a)는 비쥬얼 컨트롤과 구성요소를 위한 표시가능한 메인 컨테이너에 해당하는 메인폼(130a-1a)의 일부에 해당한다. KRBT tab control (KRBTTabControl) 130a-2a corresponds to a portion of main form 130a-1a corresponding to a displayable main container for visual controls and components.

한편, 트래쉬(Trashbin)(130a-24) 클래스는 에디터의 작업 영역에 표시된 모듈을 삭제하기 위한 기능을 제공하기 위해 워크패널(130a-21)과 함께 작업한 쓰레기통(waste bin)을 그래픽으로 표현할 수 있는 작용을 수행한다.
On the other hand, the Trashbin 130a-24 class can graphically represent waste bins worked with the panels 130a-21 to provide the ability to delete modules displayed in the editor's workspace. Perform the action.

도 5는 서비스 콤포지션 매니저(Service Composition Manager)(130a)를 사용한 서비스 플로우의 설계 또는 구성을 위한 과정을 나타낸다. 도 5를 참조하면, 먼저 유저가 메인 그래픽 유저 인터페이스(GUI)를 실행하여 새로운 프로젝트를 생성한다. 5 illustrates a process for designing or configuring a service flow using a service composition manager 130a. Referring to FIG. 5, a user first executes a main graphical user interface (GUI) to create a new project.

보다 구체적으로 도 5에서 표기된 제 1 영역(1st)은 유저가 새로운 프로젝트를 초기화하는 경우 서비스 콤포지션 매니저(Service Composition Manager)(130a)의 다양한 내부 구성요소 중에서 상호작용 시퀀스를 나타내며, 제 1 영역의 시퀀스는 메인프로세스(MainProcess)(130a-11)의 초기화를 수행하지 않는다. More specifically, the first region 1st shown in FIG. 5 represents an interaction sequence among various internal components of the service composition manager 130a when the user initializes a new project, and the sequence of the first region. Does not perform initialization of the main process (MainProcess) (130a-11).

이러한 이유는 에디터는 이미 초기화되었고 유저가 프로세스를 시작하기 위한 새로운 프로젝트 버튼을 클릭할 수 있는 스크린에 이미 Frm메인(FrmMain)(130b) 컨테이너가 표시되었기 때문이다. This is because the editor has already been initialized and the FrmMain 130b container has already been displayed on the screen where the user can click a new project button to start the process.

다시 도 5를 참조하면, Frm메인(FrmMain)(130b)에서 새로운 프로젝트 버튼에 대해서 사용자가 클릭하면, Frm메인(FrmMain)(130b)은 createWorkArea() 기능을 호출하며, CreateSpace() 메시지를 메인프로세스(MainProcess)(130a-11)로 전송한다. Referring back to FIG. 5, when a user clicks on a new project button in FrmMain 130b, FrmMain 130b calls the createWorkArea () function and creates a CreateSpace () message in the main process. Send it to (MainProcess) 130a-11.

메인프로세스(MainProcess)(130a-11)는 워크스페이스(WorkSpace) 클래스의 객체를 생성하고, 생성된 객체를 Frm메인(FrmMain)(130b)로 반환한다. The main process 130a-11 creates an object of the WorkSpace class and returns the generated object to the FrmMain 130b.

그러면 Frm메인(FrmMain)(130b)는 새로운 워크스페이스 객체를 메인프로세스(MainProcess)(130a-11)의 수집 스페이스로 추가하고, CreateSpace() 메시지에 따라 새롭게 생성된 워크스페이스 객체를 워크영역(WorkArea)(130a-22)로 전달함으로써, 워크영역(WorkArea)(130a-22) 객체를 생성하도록 한다. FrmMain 130b then adds the new workspace object to the collection space of MainProcess 130a-11, and adds the newly created workspace object to the WorkArea in response to the CreateSpace () message. By passing to 130a-22, a WorkArea 130a-22 object is created.

이때, 워크영역(WorkArea)(130a-22) 클래스는 서비스 컨트롤 관리자(SCM)를 위한 캔버스를 도시하기 위해 실제로 작동하는 워크패널(WorkPanel)(130a-21) 객체와 관련된다. At this point, the WorkArea 130a-22 class is associated with a WorkPanel 130a-21 object that actually operates to illustrate the canvas for the Service Control Manager (SCM).

또한, 워크영역(WorkArea)(130a-22) 클래스는 서비스 디자인을 생성하기 위한 워크영역에 유저에 의해 드래그&드롭(drag-n-drop)을 수행할 수 있도록 하는 디바이스 모듈 블록들을 표시하기 위한 입력 및 출력 패널들을 생성할 수 있다. In addition, the WorkArea 130a-22 class is an input for displaying device module blocks that can be dragged and dropped by a user to a work area for creating a service design. And output panels.

Frm메인(FrmMain)(130b)에 워크영역 객체를 표시하기 위해, 워크영역(WorkArea)(130a-22) 클래스는 탭페이지Ex(TabPageEx)(130a-2b)로 불리는 확장된 탭페이지 객체 수집 제어 기능도 수행한다. To display the work area objects in the FrmMain 130b, the WorkArea 130a-22 class has an extended tab page object collection control called TabPageEx (130a-2b). Also perform.

여기서 탭페이지 객체는 탭콘트롤 상에서 새로운 탭으로 표시되며, 모든 툴바 제어들은 인에이블컨트롤(enableControls) 메시지를 사용하여 새로운 프로젝트이 생성된다. 이때, 유저는 기능 프로우를 생성하기 위한 가상 객체들을 드래그&드롭할 수 있는 새로운 프로젝트 탭을 확인할 수 있다. Here, the tab page object is displayed as a new tab on the tab control, and all toolbar controls are created using the enableControls message. At this time, the user can check a new project tab that can drag and drop the virtual objects for creating the function pro.

새로운 프로젝트가 초기화되면, 유저는 워크 영역으로 입력 또는 출력 가상 객체(VO)를 드래그&드롭을 수행하기 위한 개시(strat)가 가능하다. When a new project is initialized, the user can start a strat to perform a drag and drop of an input or output virtual object VO to the work area.

워크 영역이 관련된 워크패널(WorkPanel)(130a-21) 콘트롤을 수용하는 경우, 유저에 의해 드롭된 가상 객체(VO)를 위한 그래픽 표현이 패널에 도시된다.
If the work area accommodates the associated WorkPanel 130a-21 controls, a graphical representation for the virtual object VO dropped by the user is shown in the panel.

다음으로 도 5에서 제 2 영역(2nd)을 참조하여 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130) 상에서 가상 객체(VO)에서 서비스 객체(SO)로의 맵핑 시퀀스를 살펴본다. 상술한 패널에서 드래그&드롭에 따라, 이벤트 핸들러는 드롭된 가상 객체(VO)와 관련 데이터를 획득한 뒤, 메인프로세스(MainProcess)(130a-11)에서 디바이스 리스트에 저장된 원본으로부터 복제 객체를 생성한다. Next, the mapping sequence from the virtual object VO to the service object SO on the service composition layer 130 (SCL) 130 will be described with reference to the second region 2nd in FIG. 5. According to the drag & drop in the above panel, the event handler obtains the dropped virtual object (VO) and related data, and then creates a duplicate object from the original stored in the device list in the main process 130a-11. .

복제 객체는 부모 클래스 스페이스를 통해 각 워크스페이스에서 관리되는 디바이스 리스트에 추가된다. 부모 클래스는 실행 취소(Undo)/다시 실행(Redo)을 관리를 위한 스택 구현을 갖는 것이 바람직하다. The clone object is added to the list of devices managed in each workspace through its parent class space. The parent class preferably has a stack implementation for managing Undo / Redo.

이러한 워크스페이스(Workspace)(130-12) 클래스는 XMLSerializer 인스턴(instance)를 생성하고, 파라미터로 자신의 레퍼런스를 갖는 XMLSerializer(130a-11a)로 MemorySerializeCollection 수행을 요청한다. This workspace class 130-12 creates an XMLSerializer instance and requests that the MemorySerializeCollection be executed by the XMLSerializer 130a-11a having its own reference as a parameter.

이에 따라, XMLSerializer(130a-11a) 클래스는 워크 스페이스 객체와 연관된 모든 데이터를 획득하고, 획득된 데이터를 XML 포맷으로 변경한 뒤, 그것을 바이트 데이터로(byte data) 메모리 버퍼에 저장한다. Accordingly, the XMLSerializer 130a-11a class acquires all data associated with the workspace object, converts the obtained data into an XML format, and stores it as byte data in a memory buffer.

한편, 바이트 데이터 버퍼의 레퍼런스는 워크스페이스(Workspace)(130-12) 클래스로 반환된다. On the other hand, the byte data buffer reference is returned to the Workspace 130-12 class.

여기서 바이트 데이터 버퍼는 실행 취소(Undo) 스택에 푸쉬 입력되며, 디바이스 리스트는 업데이트되며, 워크패널(WorkPanel)(130a-21)는 업데이트 플로우를 생성하기 위해 무효화된다. Here, the byte data buffer is pushed into the Undo stack, the device list is updated, and the WorkPanels 130a-21 are invalidated to generate the update flow.

이러한 시퀀스는 사용자에 의해 매일 새로운 디바이스 모듈이 워크 패널로 드롭되는 경우 반복수행된다. This sequence is repeated every day when a new device module is dropped into the work panel by the user.

하나의 프로젝트에서 워크패널에 오로지 한 번 디바이스 모듈이 드form 되는 경우 하나의 사물만이 메모될 수 있으나, 이는 생성된 플로우들의 간결성을 위한 초기화 정책에 기인하며, 설정에 따라 변경될 수 있다.
When a device module is deformed only once in a project in a project, only one thing can be memorized, but this is due to an initialization policy for simplicity of generated flows and can be changed according to a setting.

다음으로 도 5에서 제 3 영역(3rd)을 설명하면, 유저는 입력 디바이스 모듈을 다수의 출력 모듈에 참가시킬 수 있다. 이를 위해, 유저는 워크패널(WorkPanel)(130a-21)에 이미 생성된 입력 가상 객체(VO)에 왼쪽 마우스 버튼을 클릭하여 눌려야 한다. 사용자가 왼쪽 버튼을 누르고 있는 상태에서 마우스를 움직이면, 워크패널(WorkPanel)(130a-21)은 조인(join)이 그려진 시작 위치를 획득하기 위해 조인인포(JoinInfo)(130a-16) 클래스의 정적 방식을 호출한다. 조인(Join)을 도시하기 위해, 베지어 라인(Bezier line)은 조인(Join)의 시작 위치로부터 마우스 포인터까지 그려진다. Next, referring to FIG. 5, the third region 3rd may allow a user to join an input device module to a plurality of output modules. To this end, the user should click and press the left mouse button on the input virtual object VO already created in the WorkPanel 130a-21. When the user moves the mouse while holding down the left button, the WorkPanels 130a-21 use the static method of the JoinInfo class 130a-16 to obtain the starting position where the join is drawn. Call To illustrate a join, a Bezier line is drawn from the start of the join to the mouse pointer.

마우스 포인터가 가상 객체(VO) 영역까지 입력되면, 정적 방식에 의해 다시 조인의 종료 위치까지 연산되며, 조인이 워크패널(WorkPanel)(130a-21)에 표시된다. When the mouse pointer is input to the virtual object (VO) area, it is calculated to the end position of the join again by the static method, and the join is displayed on the WorkPanels 130a-21.

이때, 유저가 마우스 버튼의 누른 상태를 제거하면, 조인인포(JoinInfo) 클래스(130a-16) 오브젝트는 입력 및 출력 디바이스 모듈의 정보와 함께 생성되며, 조인인포(JoinInfo) 클래스(130a-16) 오브젝트는 워크스페이스 객체에 의해 관리되는 조인 리스트에 추가된다. 그려진 라인이 삭제된다. 조인(Join)이 생성되면, 유저는 행위를 설정하기 위해 즉, 관련된 피지컬 사물을 위한 이용가능한 기능을 선택하기 위해 조인을 더블 클릭하거나 개별적으로 가상 객체(VO)를 더블 클릭할 수 있으며, 다른 파라미터들도 설정할 수 있다. 이때 관련된 데이터는 조인인포(JoinInfo)(130a-16)의 형태로 서비스 객체(Service Objects, SO)의 일부로 저장되고, 완성된 서비스 객체(SO)는 입력 및 출력 가상 객체들(VOs)의 결합에 의해 생성된다.
In this case, when the user removes the pressed state of the mouse button, the JoinInfo class 130a-16 object is created together with the information of the input and output device modules, and the JoinInfo class 130a-16 object. Is added to the join list managed by the workspace object. The drawn line is deleted. Once a join is created, the user can double-click the join or individually double-click the virtual object (VO) to set up an action, ie to select an available function for the associated physical object, and other parameters. Can also be set. The relevant data is then stored as part of the Service Objects (SO) in the form of JoinInfo (130a-16), and the completed Service Object (SO) is connected to the input and output virtual objects (VOs). Is generated by

도 6은 본 발명의 실시예에 따른 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 주요 구성요소를 나타내는 정적 구조로, 프로세스 모델링을 설명하기 위한 도면이다. FIG. 6 is a diagram for explaining process modeling as a static structure representing main components in a business process layer (BPL) 140 according to an embodiment of the present invention.

도 6을 참조하면, 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)의 목적은 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130)에서 생성된 서비스 객체(SO)를 활용하고, 서비스 객체(SO)를 유저에게 비지니스 프로세스 모델링 노테이션(business process modelling notations) 형태로 표현하기 위함이다. Referring to FIG. 6, the purpose of a business process layer (BPL) 140 is to utilize a service object (SO) created in a service composition layer (Service Composition Layer, SCL) 130, and the service object ( This is to represent the SO to the user in the form of business process modeling notations.

비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서 가장 중요한 구성요소는 비지니스 프로세스 디자인 매니저(business process design manager)(140a)이다. 비지니스 프로세스 디자인 매니저(business process design manager)(140a)는 BPM 에디터(140a-1)를 포함하며, BPM 에디터(140a-1)는 툴바(Toolbar)(140a-2),툴박스(Toolbox)(140a-3),디자이너캔버스(DesignerCanva)(140a-4)를 포함하는 메인 윈도우(140a-5)에 해당한다. The most important component in the Business Process Layer (BPL) 140 is the business process design manager 140a. The business process design manager 140a includes a BPM editor 140a-1, and the BPM editor 140a-1 includes a toolbar 140a-2 and a toolbox 140a-. 3) corresponds to the main window 140a-5 including a designer canvas (140a-4).

툴바(Toolbar)(140a-2)는 아이템컨트롤(itemControl)(140a-2a) 클래스에서 분기된 콤포넌트 패널이다. 이런 패널에는 서비스 콤포지션 레이어(130)에서 획득된 서비스 객체(SO)에 대응하는 비지니스 프로세스 모델링 노테이션 형태의 시각적 표현이 나타난다. The toolbar 140a-2 is a component panel branched from the itemControl class 140a-2a. This panel shows a visual representation of the business process modeling notation form corresponding to the service object SO obtained in the service composition layer 130.

툴바(Toolbar)(140a-2) 콤포넌트는 사용자에 의한 드래그&드롭 디자인을 수행하기 위한 기초적인 드로잉 명령들과 작동을 수행한다. 여기서 드로잉 명령들은 실행, 실행 취소(Undo) 동작, 복사, 붙이기 동작, 그룹 및 그룹 해제 동작 등을 의미한다. The toolbar 140a-2 component performs operations with basic drawing commands for performing drag and drop design by the user. Here, drawing commands mean execution, undo, copy, paste, group and ungroup operations.

커넥션(connection)(140a-6) 클래스와 이와 연계된 커넥션어도너(ConnectionAdorner)(140a-7) 클래스는 프로세스 과정 사이에서 플로우 시퀀스를 표현하는 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN) 아이템들 사이의 연결 라인을 도시하기 위해 사용된다.
The connection (140a-6) class and its associated ConnectionAdorner (140a-7) class are Business Process Modeling Notations (BPMN) items that represent a flow sequence between process processes. It is used to show the connection line between.

도 7은 도 6의 구성요소를 기반으로 본 발명의 실시예에 따른 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 동작 시퀀스를 나타내는 흐름도이다. FIG. 7 is a flowchart illustrating an operation sequence in a business process layer (BPL) 140 according to an embodiment of the present invention based on the components of FIG. 6.

도 7을 참조하면, 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 동작은 서비스 콤포지션 레이어(130)로부터 서비스 객체들(SOs)의 획득 과정을 포함하며, 서비스 객체들(SOs)을 비지니스 프로세스 모델링 노테이션으로의 맵핑을 포함하여 유저를 위해 서비스 객체들(SOs)을 프로세스 모델로 변환하고 최종적으로 프로세스를 수행하도록 한다. Referring to FIG. 7, an operation in a business process layer (BPL) 140 may include obtaining service objects SOs from the service composition layer 130, and may include service objects SOs. Including the mapping to the business process modeling notation, it converts service objects (SOs) into a process model for the user and finally executes the process.

도시된 서비스 컨트롤 관리자(SCM) 통신 매니저(140c)는 비지니스 프로세스 레이어(140)의 주요 구성요소인 BPM 에디터(140a-1)로부터 커넥션 요청을 대기한다. The illustrated service control manager (SCM) communication manager 140c waits for a connection request from the BPM editor 140a-1, which is a major component of the business process layer 140.

커넥션이 성공적으로 연결되면, 서비스 객체 스테이트 저장소(SO State Repository)(140d)에서 이용가능한 서비스 객체들(SOs)은 XML 인포 객체의 형태로 획득되어 비지니스 프로세스 레이어(Business Process Layer)(140)로 전달된다. When the connection is successfully connected, the service objects (SOs) available in the SO State Repository 140d are obtained in the form of an XML info object and passed to the Business Process Layer 140. do.

획득된 서비스 객체들(SOs)는 비지니스 프로세스 모델링 노테이션으로 유저에게 표현되기 위해 XML 파서(XML Parser)(140f)에 의해 파싱된다. 유저는 시각적으로 구현 적용된 비지니스 프로세스 모델링 노테이션을 활용해 드래그&드롭 동작에 의해 프로세스 모델을 생성한다. Obtained service objects (SOs) are parsed by an XML Parser 140f for presentation to the user in a business process modeling notation. The user creates a process model by drag-and-drop operation using a visually implemented business process modeling notation.

이때, 유저가 프로세스 모델 생성 과정들 중간에 미리 설정된 동작 룰 또는 조건들에 따라 프로세스 콤포넌트를 드로잉하고, 커넥션 노테이션을 통해 프로세스 콤포넌트를 연결하는 과정을 수행할 수 있다.In this case, the user may draw the process component according to a predetermined operation rule or conditions in the middle of the process model generation process and connect the process component through the connection notation.

이러한 과정을 통해 프로세스 모델이 완성되면, 프로세스 객체가 생성된다. 프로세스 객체는 비지니스 프로세스 레이어(140)에서 디플로이먼트 엔진(Deployment Engine)(또는 디플로이먼트 매니저)(140e)을 통해 전개가능한 개체이다. When the process model is completed through this process, a process object is created. The process object is an object that can be deployed through the deployment engine (or deployment manager) 140e in the business process layer 140.

이러한 전개된 프로세스 객체(deployed process object)는 서비스 객체를 구성하는 서비스들에 기초하여 일련의 동작으로 변경될 수 있는 것들이다.These deployed process objects are those that can be changed into a series of operations based on the services that make up the service object.

여기서, 디플로이먼트 엔진(Deployment Engine)(140e)은 프로세스 객체의 일부로 서비스들과 상호작용하며, 생성된 프로세스 객체는 분리된 쓰레드(thread)로 실행되어 다양한 프로세스 객체들이 동시에 수행될 수 있다.
Here, the deployment engine 140e interacts with services as part of the process object, and the generated process object is executed in a separate thread so that various process objects can be executed simultaneously.

한편, 도 8은 IoT 네트웍 어플리케이션 구성 시스템의 개념을 나타내는 참조도면이다. 도 8을 참조하면, 제안된 시스템의 프로토타입 실행 화면으로, 도 8에 도시된 각 세부항목은 개별적인 콤포넌트를 나타내며, 기능적으로 분류될 수 있다.8 is a reference diagram illustrating the concept of an IoT network application configuration system. Referring to FIG. 8, as a prototype execution screen of the proposed system, each sub-item shown in FIG. 8 represents an individual component and may be functionally classified.

다음으로, 도 9는 가상 객체 매니저(VOM)(120a)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다. 도 9를 참조하면, 저장된 가상 객체들(VOs)의 데이터에 대한 XML 표현을 나타내며, 가상 객체 매니저(VOM)(120a)는 유저들에게 IoT 네트웍 리소스들의 행위를 암호화할 수 있는 것이 바람직하다. Next, FIG. 9 is a diagram illustrating an XML representation of the UI screen and the virtual object VO implemented by the virtual object manager (VOM) 120a. Referring to FIG. 9, an XML representation of data of stored virtual objects (VOs) is shown, and the virtual object manager (VOM) 120a may be able to encrypt behavior of IoT network resources to users.

가상 객체 매니저(VOM)(120a)는 IoT 네트웍 리소스 데이터를 시각적 표현으로 연계시킴으로써, 가상 객체(VO)가 보다 직관적인 방식으로 상호 작용하고 조작될 수 있도록 한다. The virtual object manager (VOM) 120a associates the IoT network resource data with a visual representation, allowing the virtual object (VO) to interact and manipulate in a more intuitive manner.

이런 목적을 위해 두 가지의 다른 접근 방식이 유용하게 사용될 수 있다. 첫 번째 접근 방식은Uniform Resource Identifier(URI), 위치, 타입 그리고 서비스들의 형태의 IoT 네트웍 리소스에 관한 상세한 제공이 이루어지는 수동적인 방식일 수 있다. 이런 방식에서 제공된 프로토콜들을 수행하는 디바이스가 시스템에 리소스로서 추가될 수 있다. Two different approaches can be useful for this purpose. The first approach may be a passive approach where detailed provisioning of the IoT network resources in the form of Uniform Resource Identifiers (URIs), locations, types and services is made. In this way a device that performs the provided protocols may be added as a resource to the system.

다른 접근 방식은 가상 객체 매니저(VOM)(120a)가 원격의 디바이스의 URI를 제공받은 뒤, CoAP 프로토콜의 수행된 서비스를 통하는 방식으로, 가상 객체 매니저(VOM)(120a)는 자동으로 디바이스로부터 필요한 정보를 추출한다. 그러나 이러한 방식은 자동으로 수행되어 편리한 장점이 있으나, 미리 정해진 목적을 위해 시스템에서 특정된 서비스 수행을 위해 구비된 특정 디바이스들에게만 유용할 수 있는 단점이 있다.
Another approach is that the virtual object manager (VOM) 120a is provided with the URI of the remote device and then through the performed service of the CoAP protocol, whereby the virtual object manager (VOM) 120a is automatically needed from the device. Extract the information. However, this method has an advantage of being automatically performed, but has a disadvantage that it may be useful only for specific devices provided for performing a specific service in a system for a predetermined purpose.

도 10은 서비스 콤포지션 매니저(Service Composition Manager)(130a)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다. FIG. 10 is a diagram illustrating an XML representation of a UI screen and a virtual object VO implemented by a service composition manager 130a.

도 10을 참조하면, 서비스 콤포지션 매니저(Service Composition Manager)(130a)는 서비스 콤포지션 레이어(130)에서의 주요 모듈에 해당한다. 서비스 콤포지션 매니저(Service Composition Manager)(130a)는 유저에게 쉽게 시각화하고 가상 객체 매니저(VOM)(120a)에 의해 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여하는데 그 주요 목적이 있다.Referring to FIG. 10, the service composition manager 130a corresponds to a main module in the service composition layer 130. The service composition manager 130a has a main purpose to allow the user to easily visualize and to interact with and manipulate the virtual objects (VOs) created by the virtual object manager (VOM) 120a.

이러한 목적을 수행하기 위해 센서 가상 객체들(VOs)과 액츄에이터 가상 객체들(VOs)은 입력과 출력 모듈로 분리되어 표현될 수 있다. 이러한 모듈들은 윈도우 운영체제의 마우스 이벤트들을 통해 캔버스 상에 직접적으로 드래그&드롭 되도록 구현할 수 있다. 캔버스에 구현된 가상 객체(VO) 모듈들은 입력 가상객체들(VOs)과 출력 가상객체들(VOs) 사이를 연결하여 표현된 간단한 조인 라인들로 표시될 수 있으며, 유저는 조인된 가상 객체들(VOs)에 대한 동작의 룰을 세팅하기 위한 직관적인 마우스 이벤트를 사용할 수 있다.To accomplish this purpose, the sensor virtual objects VOs and the actuator virtual objects VOs may be divided into input and output modules. These modules can be implemented to be dragged and dropped directly onto the canvas through mouse events in the Windows operating system. Virtual object (VO) modules implemented on the canvas may be represented by simple join lines expressed by connecting input virtual objects (VOs) and output virtual objects (VOs). You can use intuitive mouse events to set rules of action for VOs).

그리고, 서비스 콤포지션 매니저(Service Composition Manager)(130a)에서의 입력 가상 객체들(VOs)과 출력 가상 객체들(VOs)의 조인은 서비스 객체(SO)를 생성하는데, 이러한 서비스 객체들(SOs)은 서비스 객체(SO)의 일부로서 입력 가상 객체(VO) 및 출력 가상 객체(VO)를 개별적으로 표현하는 XML 문서들로 저장될 수 있다. The join of the input virtual objects VOs and the output virtual objects VOs in the service composition manager 130a creates a service object SO, and these service objects SOs As part of the service object SO, it may be stored as XML documents that represent the input virtual object VO and the output virtual object VO separately.

또한 가상 객체들(VOs) 사이의 연결은 해당 연결을 위한 소스(source) 및 싱크(sink) 개체를 특정한 조인 노드의 형태로 XML 문서로 표현될 수 있다. 이에 따라 유저의 요청에 따라 객체들(VOs)이 저장되거나, 열리거나 업데이트될 수 있다.
In addition, the connection between the virtual objects (VOs) may be represented as an XML document in the form of a specific join node of the source and sink objects for the connection. Accordingly, the objects VOs may be stored, opened or updated according to a user's request.

도 11은 BPM 에디터(140a-1)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다. 도 11을 참조하면, BPM 에디터(140a-1)는 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)으로 서비스 콤포지션 매니저(Service Composition Manager)(130a)에서 생성되는 서비스 객체들(VOs)의 표현을 담당한다. BPM 에디터(140a-1)을 위한 메인 인터페이스는 도 11에 도시되어 있다.FIG. 11 is a diagram illustrating an XML representation of a UI screen and a virtual object VO implemented by the BPM editor 140a-1. Referring to FIG. 11, the BPM editor 140a-1 expresses the representations of service objects (VOs) generated by the service composition manager 130a as a business process modeling notation (BPMN). In charge. The main interface for the BPM editor 140a-1 is shown in FIG.

BPM 에디터(140a-1)는 IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 노테이선의 기초 지식을 누구라고 인터페이스를 통해 제공받기 위해 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 제공하는데 목적이 있다. The BPM editor 140a-1 provides a Business Process Modeling Notation (BPMN) based on the representation of service objects to provide the interface knowledge of the baseline for creating and deploying IoT network applications. The purpose is to provide.

또한, BPM 에디터(140a-1)는 유저가 그래픽 모델을 생성해야 하는 프로그래밍 스킬의 요구를 제거할 수 있으며, IoT 네트웍 어플리케이션으로 직접적으로 전개할 수 있도록 한다. In addition, the BPM editor 140a-1 may eliminate the need for a programming skill that a user needs to create a graphic model, and directly deploy it to an IoT network application.

비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)은 베이직 이벤트, 태스크, 게이트웨이, 스크립트 노테이션을 포함한 프로토타입 시스템의 일부로서 수행될 수 있으며, 서비스 오브젝트들은 태스크(task)로서 표현되고, 유저가 드래그&드롭 접근 방식을 통해 모델을 생성할 수 있다. Business Process Modeling Notations (BPMN) can be performed as part of a prototype system, including basic events, tasks, gateways, and script notations. Service objects are represented as tasks and dragged by the user. You can create a model using the drop approach.

이러한 동작의 시퀀스는 목적 객체들을 통한 노테이션들의 연결에 의해 생성되며, 동일한 목적 객체들은 모델에서의 입력 및 출력 노테이션들에 관한 정보를 획득하기 위해 사용된다. This sequence of operations is created by the concatenation of the notations through the object objects, and the same object objects are used to obtain information about the input and output notations in the model.

게이트웨이 노테이션은 스크린트 노테이션이 데이터를 유저가 조작하거나 프로세스를 진행하도록 선택되기 위해 스크립트 리스트로 제공되는 한 결정 툴로서 수행된다. Gateway notation is performed as a decision tool as long as screen notation is provided in the script list to be selected for the user to manipulate the data or proceed with the process.

유저에 의해 생성된 비지니스 프로세스 모델의 XML 구현에 있어서, XML 샘플은 디자인아이템 객체들(DesignerItem objects)로 태스크 및 다른 노테이션을 표현하는 것으로 도 11에 도시되어 있다. 또한, 도 11에서 도시된 모델에서 소스(source) 및 싱크(sink) 아이템의 트랙을 유지하기 위한 커넥션 객체들이 포함된 것을 알 수 있다.
In the XML implementation of the business process model generated by the user, the XML sample is shown in FIG. 11 to represent the task and other notations as DesignItem objects. In addition, in the model shown in FIG. 11, it can be seen that connection objects for maintaining tracks of source and sink items are included.

도 12는 BMP 디플로이먼트 엔진(Deployment Engine)(140e)또는 BMP 디플로이먼트 매니저(BMP Deployment Manager)에 의해 구현된 UI 화면을 나타내는 도면이다. 도 12를 참조하면, BMP 디플로이먼트 매니저(BMP Deployment Manager)(140e)에 의해 구현된 UI 화면뿐만 아니라, BPM 에디터(140a-1)를 통해 생성된 동일한 모델의 테스트의 결과를 나타낸다. FIG. 12 is a diagram illustrating a UI screen implemented by a BMP Deployment Engine 140e or a BMP Deployment Manager. Referring to FIG. 12, not only the UI screen implemented by the BMP Deployment Manager 140e but also the result of a test of the same model generated through the BPM editor 140a-1 is shown.

BMP 디플로이먼트 매니저(BMP Deployment Manager)(140e)는 BPM 에디터(140a-1)에 의해 생성되어 XML 문서로 저장된 다양한 IoT 네트웍 리소스들 사이의 관계에 대해서 프로세스 모델로 표현한다. The BMP Deployment Manager 140e represents a process model for the relationship between various IoT network resources generated by the BPM editor 140a-1 and stored as an XML document.

이러한 XML 문서들은 BMP 디플로이먼트 매니저(140e)에 로드(load)되어 실행되어 진다. 도 12에 도시된 프로토타입 구현은 CoAP 구현과 함께 IoT 네트웍 리소스들을 고려하므로, 디플로이먼트 매니저(140e)는 자바를 사용하여 구현된다. 이에 따라, IoT 네트웍 리소스들이 Californium framework을 사용하여 구현될 수 있다. These XML documents are loaded and executed in the BMP deployment manager 140e. Since the prototype implementation shown in FIG. 12 considers IoT network resources together with the CoAP implementation, the deployment manager 140e is implemented using Java. Accordingly, IoT network resources can be implemented using the Californium framework.

생성된 프로세스 모델을 실행하기 위해, 첫번 째로 XML 문서는 BMP 디플로이먼트 매니저(140e)에 의해 파싱된 뒤, 관련된 개체들이 추출된다. 관련 개체들이 추출되면 프로세스 모델의 플로우에 따라 소팅되어 리스트에 저장되며, 리스트는 반복 생성되며, 각 개체는 속성 및 행위에 기초하여 수행된다. In order to execute the generated process model, the XML document is first parsed by the BMP deployment manager 140e and then related entities are extracted. Once relevant objects are extracted, they are sorted according to the flow of the process model and stored in a list, the list is generated repeatedly, and each object is performed based on attributes and actions.

원격 IoT 네트웍 리소스들과 관련된 태스크를 위해 CoAP 서비스들은 상술한 Californium framework을 사용하여 호출된다. 호출에 대한 응답은 읽혀지고, 특정 태스크 노테이션과 직접적으로 연결된 다른 노테이션에 입력으로서 제공된다. CoAP services for tasks related to remote IoT network resources are invoked using the Californium framework described above. The response to the call is read and provided as input to another notation that is directly linked to the particular task notation.

참고로, BMP 디플로이먼트 매니저(140e)의 일부로서 수행되는 스크립트들은, 데이터가 원격의 IoT 네트웍 리스소와 같은 다른 개체에 의해 제공되는 동안 매니저에 의해 관리자에 의해 수행될 수 있다.
For reference, scripts executed as part of the BMP Deployment Manager 140e may be executed by the manager by the manager while data is provided by another entity, such as a remote IoT network resource.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (eg, transmission over the Internet). It also includes.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
As described above, the present specification and drawings have been described with respect to preferred embodiments of the present invention, although specific terms are used, it is only used in a general sense to easily explain the technical contents of the present invention and to help the understanding of the present invention. It is not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention can be carried out in addition to the embodiments disclosed herein.

110 : 피지컬 레이어(physical layer)
120 : 가상 객체 레이어(Virtual Object Layer, VOL)
120a : 가상 객체 매니저(Virtual Object Manager, VOM)
130 : 서비스 콤포지션 레이어(Service Composition Layer, SCL)
130a : 서비스 콤포지션 매니저(Service Composition Manager, SCM)
140 : 비지니스 프로세스 레이어(Business Process Layer, BPL)
140a : 비지니스 프로세스 디자인 매니저(Business Process Design Manager, BPDM)
110: physical layer
120: Virtual Object Layer (VOL)
120a: Virtual Object Manager (VOM)
130: service composition layer (SCL)
130a: Service Composition Manager (SCM)
140: Business Process Layer (BPL)
140a: Business Process Design Manager (BPDM)

Claims (4)

비즈니스 프로세스 관리와 관련된 다이어그램 언어 솔루션을 기반으로 프로그램 언어에 대한 기초 지식이 없어도 쉽게 인터페이스를 제공받을 수 있도록 하기 위한 IoT 네트웍 시스템에 있어서,

IoT 네트웍과 관련된 사물을 구성하기 위한 계층인 피지컬 레이어(110);
상기 피지컬 레이어(110)에서의 사물을 가상객체(VO)로 표현하며, 가상 객체(VO)를 관리하기 위한 계층인 가상 객체 레이어(VOL)(120);
상기 사물은 IoT 네트웍 환경 및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지하며,
상기 가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)에 대해서 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(SO)를 생성하는 서비스 콤포지션 레이어(SCL)(130); 및
상기 각 서비스 객체(SO)가 생성되면, 하나의 단위의 서비스 객체에 대해서 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하며, 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(BPMN)을 활용하는 비지니스 프로세스 레이어(BPL)(140)를 포함하며,
상기 프로세스의 플로우는 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것을 특징으로 하는 IoT 네트웍 시스템.
In the IoT network system, based on the diagram language solution related to the business process management, the interface can be easily provided without the basic knowledge of the programming language.

A physical layer 110, which is a layer for configuring a thing related to an IoT network;
A virtual object layer (VOL) 120 representing a thing in the physical layer 110 as a virtual object (VO), which is a layer for managing the virtual object (VO);
The thing detects control data on a preset phenomenon occurring in and around the IoT network environment.
A service composition layer (SCL) 130 for generating a service object SO by a combination of two or more virtual objects VO with respect to the virtual object VO in the virtual object layer VOL 120; And
When each service object (SO) is created, it forms a flow of a process desired by a user for one scenario for a service object of one unit, and a business process to perform a join-based model of service objects (SO). A business process layer (BPL) 140 that utilizes modeling notation (BPMN),
The flow of the process operates to perform the functions defined by the individual service objects (SOs) in the business process layer (BPL) 140, and is based on the encrypted behavior between the individual virtual objects (VOs) in actual interaction. IoT network system, characterized in that to perform (PO) directly.
청구항 1에 있어서, 상기 가상 객체(VO)는 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시하며, 유저에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작이 가능하도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물의 환경으로의 액세스가 가능하도록 하는 것을 특징으로 하는 IoT 네트웍 시스템.
The method of claim 1, wherein the virtual object VO summarizes or compressively presents information related to a thing in the physical layer 110, and allows a user to manipulate the virtual object VO in an IoT network system environment. And access to an environment of things in the physical layer 110 expressed as a virtual object (VO).
청구항 1에 있어서, 서비스 객체(SO)는 입력 가상 객체(VO)로 온도 센서 가상 객체(VO), 그리고 출력 가상 객체(VO)로 LED 가상 객체(VO)의 결합으로 형성되는 것을 특징으로 하는 IoT 네트웍 시스템.
The IoT of claim 1, wherein the service object SO is formed by a combination of a temperature sensor virtual object VO as an input virtual object VO and an LED virtual object VO as an output virtual object VO. Network system.
청구항 1에 있어서, 가상 객체 레이어(VOL)(120)는 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공하는 가상 객체 매니저(VOM)(120a)를 구비하는 것을 특징으로 하는 IoT 네트웍 시스템. The virtual object layer (VOL) 120 of claim 1, wherein the virtual object layer (VOL) 120 provides a user with a component of local or remote interface classes for inputting information related to a thing in the physical layer where the user wants to register the virtual objects (VOs). IoT network system comprising a virtual object manager (VOM) (120a).
KR1020180048713A 2018-04-26 2018-04-26 IoT network system KR20190130220A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180048713A KR20190130220A (en) 2018-04-26 2018-04-26 IoT network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180048713A KR20190130220A (en) 2018-04-26 2018-04-26 IoT network system

Publications (1)

Publication Number Publication Date
KR20190130220A true KR20190130220A (en) 2019-11-22

Family

ID=68730989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180048713A KR20190130220A (en) 2018-04-26 2018-04-26 IoT network system

Country Status (1)

Country Link
KR (1) KR20190130220A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628996B1 (en) 2015-05-08 2016-06-10 주식회사 엠씨티 tripling network express gateway system which automatically recognize wire and wireless communication for IoT
KR20160086140A (en) 2015-01-09 2016-07-19 주식회사 케이티 Apparatus and method for security management of home IoT device
KR20160089772A (en) 2015-01-20 2016-07-28 전자부품연구원 Self Adaptive IoT Device and System
KR20160096243A (en) 2015-02-04 2016-08-16 전자부품연구원 IoT Service System and Method for Semantic Information Analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160086140A (en) 2015-01-09 2016-07-19 주식회사 케이티 Apparatus and method for security management of home IoT device
KR20160089772A (en) 2015-01-20 2016-07-28 전자부품연구원 Self Adaptive IoT Device and System
KR20160096243A (en) 2015-02-04 2016-08-16 전자부품연구원 IoT Service System and Method for Semantic Information Analysis
KR101628996B1 (en) 2015-05-08 2016-06-10 주식회사 엠씨티 tripling network express gateway system which automatically recognize wire and wireless communication for IoT

Similar Documents

Publication Publication Date Title
US11100075B2 (en) Graphical user interfaces for incorporating complex data objects into a workflow
Uszok et al. KAoS policy management for semantic web services
US8775476B2 (en) System and method for creating, deploying, integrating, and distributing nodes in a grid of distributed graph databases
JP7315721B2 (en) Integration of remote software applications into workflows
CN103645908B (en) Full life circle development achievement system of intemetware
KR101748548B1 (en) IoT network system
EP1727045A2 (en) Application framework for use with net-centric application program architectures
Huang et al. Data-driven information plane in software-defined networking
KR101888472B1 (en) Do It Yourself system of Internet of Thinks based on Business Process Model and Its Implementation Method
US20120096408A1 (en) System and method for establishing a collaborative workspace
US20110289515A1 (en) Generating service-access activities for workflow applications
Yus et al. The semiotic ecosystem: A semantic bridge between IoT devices and smart spaces
US20160098251A1 (en) Extensible meta model for capturing solution patterns
KR20190130220A (en) IoT network system
CN110311826A (en) Method for configuring network equipment and device
Latvala et al. A tool for security metrics modeling and visualization
CN112199075A (en) Intelligent information processing method and framework based on micro-service
Fortiş et al. Cloud patterns for mosaic-enabled scientific applications
Gherari et al. A smart mobile cloud environment for modelling and simulation of mobile cloud applications
sohail Khan et al. Enhanced IoT Composition Architecture based on DIY Business Process Modeling: CoAP based Prototype
Jardosh et al. Application development approaches for the internet of things: A survey
Sachweh et al. Towards a Viewpoint-specific Metamodel for Model-driven Development of Microservice Architecture
Wu et al. The definition and implementation of flexible architecture for enterprise application
Whitaker Applying information visualization to computer security applications
Paz-Lopez et al. DAAF: A device abstraction and aggregation framework for smart environments