KR100962959B1 - Message-based middleware apparatus using queue module of real time operating system and method for managing message - Google Patents

Message-based middleware apparatus using queue module of real time operating system and method for managing message Download PDF

Info

Publication number
KR100962959B1
KR100962959B1 KR1020070126097A KR20070126097A KR100962959B1 KR 100962959 B1 KR100962959 B1 KR 100962959B1 KR 1020070126097 A KR1020070126097 A KR 1020070126097A KR 20070126097 A KR20070126097 A KR 20070126097A KR 100962959 B1 KR100962959 B1 KR 100962959B1
Authority
KR
South Korea
Prior art keywords
message
module
callback function
core
operating system
Prior art date
Application number
KR1020070126097A
Other languages
Korean (ko)
Other versions
KR20090059308A (en
Inventor
김성환
Original Assignee
주식회사 현대오토넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 현대오토넷 filed Critical 주식회사 현대오토넷
Priority to KR1020070126097A priority Critical patent/KR100962959B1/en
Publication of KR20090059308A publication Critical patent/KR20090059308A/en
Application granted granted Critical
Publication of KR100962959B1 publication Critical patent/KR100962959B1/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Navigation (AREA)

Abstract

실시간운영체제의 큐모듈을 이용한 메시지기반의 미들웨어 장치 및 이를 이용한 메시지 처리방법이 개시된다. 본 발명에 따른 메시지 처리방법은 실시간 운영체제가 제공하는 코어 메시지 큐 모듈에서, 실시간 운영체제상에서 동작하는 애플리케이션의 호출하고자 하는 콜백 함수를 포함한 메시지를 소정의 주기로 수신하고, 수신된 메시지를 분석하고, 분석에 기초하여 애플리케이션의 해당 코어 모듈의 콜백 함수를 호출하는 단계와, 해당 코어 모듈로부터 전송되는 메시지로, 호출된 콜백 함수가 실행된 후 실행 결과에 대한 메시지를 수신하는 단계를 포함하며, 메시지는 네비게이션에 관한 것이며, 애플리케이션의 해당 코어 모듈은 적어도 경로 안내에 대한 콜백 함수를 가지는 RG(Route Guidance) 모듈, 경로 탐색에 대한 콜백 함수를 가지는 RP(Route Planning) 모듈, 맵 매칭에 대한 콜백 함수를 가지는 MMG(Map Matching) 모듈, 맵 디스플레이에 관한 콜백 함수를 가지는 MD(Map Display) 모듈, 음향에 대한 콜백 함수를 가지는 사운드 모듈을 포함하는 것을 특징으로 한다. 이를 통해 메시지 기반으로 응용프로그램과 실시간 운영체제 사이에 원활하게 통신할 수 있다. Disclosed are a message-based middleware device using a queue module of a real-time operating system, and a message processing method using the same. In the message processing method according to the present invention, a core message queue module provided by a real-time operating system receives a message including a callback function to be called by an application operating on a real-time operating system at predetermined intervals, and analyzes the received message. Calling a callback function of a corresponding core module of an application based on the request; and receiving a message about the result of execution after the called callback function is executed as a message sent from the corresponding core module. The core module of an application includes at least a Route Guidance (RG) module with a callback function for route guidance, a Route Planning (RP) module with a callback function for route navigation, and an MMG with a callback function for map matching. Map Matching) module, MD (with callback functions for map display) Map Display) module, and a sound module having a callback function for the sound. This allows for smooth communication between the application and the real-time operating system on a message-based basis.

Description

실시간운영체제의 큐모듈을 이용한 메시지기반의 미들웨어 장치 및 이를 이용한 메시지 처리방법{MESSAGE-BASED MIDDLEWARE APPARATUS USING QUEUE MODULE OF REAL TIME OPERATING SYSTEM AND METHOD FOR MANAGING MESSAGE}MESSAGE-BASED MIDDLEWARE APPARATUS USING QUEUE MODULE OF REAL TIME OPERATING SYSTEM AND METHOD FOR MANAGING MESSAGE}

본 발명은 메시지 처리방법에 관한 것으로, 더욱 상세하게는 애플리케이션과 실시간 운영체제 간의 메시지 기반의 통신 방법에 관한 것이다.The present invention relates to a message processing method, and more particularly, to a message-based communication method between an application and a real-time operating system.

일반적으로, 임베디드 시스템이란 사용자의 프로그래밍을 필요로 하지 않는 시스템, 즉 사용자가 더 이상 프로그래밍을 할 필요가 없이 사용자의 입력에 대해 반응하는 시스템을 말하며, 모든 실시간 운영체제(Real Time Operating System, RTOS)를 사용하는 시스템을 임베디스 시스템이라고 할 수 있다. 이러한 실시간 운영체제를 이용하는 임베디스 시스템에 있어서 애플리케이션을 개발하기 위해서는 복잡한 동기화와 상태 변화 등을 인지하는 핵심 모듈이 필요하다. 또한. RTOS용 임베디드 애플리케이션에서는 일반적으로 함수를 호출하는 시퀀스 처리 방법을 사용하므로, 여러 모듈들과 애플리케이션 간에 동기화 처리가 어려우며, 기능이 복잡해질수록 오류를 발생하는 경우가 많다. 따라서, 실시간 운영체제와 애플리케이션간에 메시지 기반의 미들웨어 장치를 설계할 필요가 있다.In general, an embedded system refers to a system that does not require user programming, that is, a system that responds to user input without the user programming anymore, and refers to all real time operating systems (RTOS). The system you use can be called an embedded system. In order to develop an application in an embedded system using such a real-time operating system, a core module that recognizes complex synchronization and state changes is required. Also. Embedded applications for RTOS typically use a sequence-processing method that calls a function, making it difficult to process synchronization between multiple modules and applications, and more complex features often result in errors. Therefore, there is a need to design a message-based middleware device between a real-time operating system and an application.

본 발명은 상기 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 실시간운영체제의 큐 모듈을 이용함으로써, 메시지 기반으로 응용프로그램과 실시간 운영체제 사이에 통신을 원활하게 하기 위한 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a method for smoothly communicating between an application and a real-time operating system based on a message by using a queue module of a real-time operating system. do.

상기의 목적을 달성하기 위하여 본 발명에 따른 메시지 처리방법은 실시간 운영체제가 제공하는 코어 메시지 큐 모듈에서, 실시간 운영체제상에서 동작하는 애플리케이션의 호출하고자 하는 콜백 함수를 포함한 메시지를 소정의 주기로 수신하고, 수신된 메시지를 분석하고, 분석에 기초하여 애플리케이션의 해당 코어 모듈의 콜백 함수를 호출하는 단계와, 해당 코어 모듈로부터 전송되는 메시지로, 호출된 콜백 함수가 실행된 후 실행 결과에 대한 메시지를 수신하는 단계를 포함하며, 메시지는 네비게이션에 관한 것이며, 애플리케이션의 해당 코어 모듈은 적어도 경로 안내에 대한 콜백 함수를 가지는 RG(Route Guidance) 모듈, 경로 탐색에 대한 콜백 함수를 가지는 RP(Route Planning) 모듈, 맵 매칭에 대한 콜백 함수를 가지는 MMG(Map Matching) 모듈, 맵 디스플레이에 관한 콜백 함수를 가지는 MD(Map Display) 모듈, 음향에 대한 콜백 함수를 가지는 사운드 모듈을 포함하는 것을 특징으로 한다. In order to achieve the above object, the message processing method according to the present invention is a core message queue module provided by a real-time operating system, which receives a message including a callback function to be called by an application operating on the real-time operating system at predetermined intervals. Analyzing the message, calling the callback function of the corresponding core module of the application based on the analysis, and receiving a message about the result of execution after the called callback function is executed as a message sent from the corresponding core module. The message relates to navigation, the corresponding core module of the application includes at least a Route Guidance (RG) module with a callback function for route guidance, a Route Planning (RP) module with a callback function for route navigation, and a map matching. Map Matching (MMG) module with callback function for maps, map display MD (Map Display) having a callback function of the module, characterized in that it comprises a sound module having a callback function for the sound.

삭제delete

바람직하게는, 상기 소정의 주기는 0.2초이며, 상기 생성된 메시지는 GPS 정보에 기초하여 생성된 차량의 위치 정보를 포함하는 것을 특징으로 한다.Preferably, the predetermined period is 0.2 seconds, the generated message is characterized in that it includes location information of the vehicle generated based on the GPS information.

본 발명의 다른 실시예에 따르면, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체가 제공된다.According to another embodiment of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for executing the method on a computer.

본 발명의 다른 실시예에 따르면, 메시지 기반의 미들웨어 장치가 제공되는데, 상기 미들웨어 장치는 실시간 운영체제상에서 동작하는 애플리케이션의 호출하고자 하는 콜백 함수를 포함한 메시지를 소정의 주기로 수신하고, 수신된 메시지를 분석하고, 분석에 기초하여 애플리케이션의 해당 코어 모듈의 콜백 함수를 호출하는 제1 코어 메시지 큐 모듈과, 해당 코어 모듈로부터 전송되는 메시지로, 호출된 콜백함수가 실행된 후 실행 결과에 대한 메시지를 수신하는 제2 코어 메시지 큐모듈을 포함하며, 제1 코어 메시지 큐 모듈 및 제2 코어 메시지 큐 모듈은 실시간 운영체제가 제공하는 모듈이며, 메시지는 네비게이션에 관한 것이며, 애플리케이션의 해당 코어 모듈은 적어도 경로 안내에 대한 콜백 함수를 가지는 RG(Route Guidance) 모듈, 경로 탐색에 대한 콜백 함수를 가지는 RP(Route Planning) 모듈, 맵 매칭에 대한 콜백 함수를 가지는 MMG(Map Matching) 모듈, 맵 디스플레이에 관한 콜백 함수를 가지는 MD(Map Display) 모듈, 음향에 대한 콜백 함수를 가지는 사운드 모듈을 포함하는 것을 특징으로 한다.According to another embodiment of the present invention, a message-based middleware device is provided. The middleware device receives a message including a callback function to be called by an application operating on a real-time operating system at predetermined intervals, and analyzes the received message. A first core message queue module that calls a callback function of a corresponding core module of the application based on the analysis, and a message transmitted from the core module, which receives a message about an execution result after the called callback function is executed. A two core message queue module, wherein the first core message queue module and the second core message queue module are modules provided by a real-time operating system, messages are about navigation, and corresponding core modules of the application are at least callbacks for route guidance. Route Guidance (RG) module with functions Route Planning (RP) module with callback function, MMG (Map Matching) module with callback function for map matching, Map Display (MD) module with callback function for map display, sound module with callback function for sound Characterized in that it comprises a.

바람직하게는, 상기 미들웨어 장치는 디버깅을 위해 수신된 메시지를 저장하기 위한 상태 메시지 큐 모듈을 더 포함하는 것을 특징으로 한다.Preferably, the middleware device further comprises a status message queue module for storing the received message for debugging.

바람직하게는, 상기 소정의 주기는 0.2초이며, 상기 생성된 메시지는 GPS 정보에 기초하여 생성된 차량의 위치 정보를 포함하는 것을 특징으로 한다.Preferably, the predetermined period is 0.2 seconds, the generated message is characterized in that it includes location information of the vehicle generated based on the GPS information.

상술한 바와 같이, 본 발명에 따른 메시지 처리 방법은 실시간운영체제의 큐 모듈을 이용함으로써, 메시지 기반으로 응용프로그램과 실시간 운영체제 사이에 원활하게 통신할 수 있다. As described above, the message processing method according to the present invention can smoothly communicate between the application program and the real-time operating system based on the message by using the queue module of the real-time operating system.

이하에서는 첨부 도면을 참조하여 본 발명에 따른 실시간운영체제의 큐모듈을 이용한 메시지기반의 미들웨어 장치 및 이를 이용한 메시지 처리방법에 대하여 가장 바람직한 실시 예를 상세히 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으 며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.Hereinafter, a preferred embodiment of a message-based middleware device using a queue module of a real-time operating system and a message processing method using the same will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the present embodiments make the disclosure of the present invention complete and the scope of the invention to those skilled in the art. It is provided to inform you completely.

도 1은 본 발명의 일 실시예에 따른 미들웨어 장치인 큐 모듈(120)를 포함하는 임베디드 시스템의 구성도로, HMI(Human Man Interface) 모듈(100) 및 코어 모듈(130)을 포함하는 애플리케이션과, 미들웨어 장치로 기능하는 큐 모듈(120)과, BSP(141), 및 RTOS(142)를 포함하여 이루어진다.1 is a block diagram of an embedded system including a queue module 120 that is a middleware device according to an embodiment of the present invention, an application including a human man interface (HMI) module 100 and a core module 130; A queue module 120 serving as a middleware device, a BSP 141, and an RTOS 142 are included.

도 1을 참조하면, 애플리케이션의 HMI(Human Man Interface) 모듈(100)은 GUI(Graphic User Interface) 모듈이라고도 하며, 코어 모듈(130)로부터 전달된 메시지에 기초하여 전달된 메시지에 해당하는 콜벡 함수를 실행시키며, 터치 패널의 화면 천이를 담당한다.Referring to FIG. 1, a human man interface (HMI) module 100 of an application may also be referred to as a graphical user interface (GUI) module and may use a callback function corresponding to a delivered message based on a message delivered from a core module 130. It is in charge of screen transition of the touch panel.

애플리케이션의 코어 모듈(130)은 경로 안내 모듈, 경로 탐색 모듈, 맵 매핑 모듈, 메시지 디스플레이 모듈, 음향 모듈 등으로 구성되며, 실시간 운영체제에 의해 호출되는 콜백함수를 저장하고 있다. 여기서, 콜백 함수란 응용 프로그램이 제공하며, 운영체제가 필요할 때 호출하는 함수이다. 이에 대해서는 도 2에 상세하게 설명하기로 한다.The core module 130 of the application includes a route guidance module, a route search module, a map mapping module, a message display module, a sound module, and the like, and stores a callback function called by a real-time operating system. Here, the callback function is provided by the application program and called by the operating system. This will be described in detail with reference to FIG. 2.

큐 모듈(120)은 HMI 메시지 큐 모듈, 가상 주행용 큐 모듈, 연속적 메시지 큐 모듈 등으로 구성되며, 도시된 바와 같이 실시간 운영체제(142)와 애플리케이션의 코어 모듈(130)과의 인터페이스를 담당한다. 이에 대해서는 도 2에서 상세하게 설명하기로 한다.The queue module 120 is composed of an HMI message queue module, a virtual driving queue module, a continuous message queue module, and the like, and as illustrated, is in charge of the interface between the real-time operating system 142 and the core module 130 of the application. This will be described in detail with reference to FIG. 2.

한편, 임베디드 시스템의 BSP(Board Support Package)(141)는 특별한 지원 코드로 실시간 운영체제에 적합한 상태로 동작한다. 이것은 통상 부트 로더(bootloader)와 함께 생성이 되는데 실시간 운영체제를 로드하기 위한 최소한의 장치를 지원하고, 하드웨어 보드의 모든 장치를 위한 드라이버 (장치)를 말한다. 한편, 도면부호 142는 실시간 운영체제(Real Time Operating System, RTOS)을 도시하고 있다.Meanwhile, the board support package (BSP) 141 of the embedded system operates in a state suitable for a real-time operating system with a special support code. This is usually created with a bootloader, which supports a minimal device for loading a real-time operating system, and refers to drivers (devices) for all devices on the hardware board. In addition, reference numeral 142 illustrates a real time operating system (RTOS).

도 2는 도 1의 애플리케이션(100, 130)과 큐 모듈(120)의 구성을 도시하는 구성도로, 애플리케이션(100, 130)을 구성하는 모듈로, HMI 모듈(100), RG 모듈(131), RP 모듈(132), MMG 모듈(133), MD 모듈(134), 사운드 모듈(135)이 있으며, 큐 모듈(120)에는 HMI 메시지 큐 모듈 1(121), 가상주행용 큐 모듈(122), 연속적 메시지 큐 모듈(123), 비연속적 메시지 큐 모듈(124), 외부통신 메시지 큐 모듈(125), 코어 메시지 큐 모듈 1(126), 코어 메시지 큐 모듈 2(127), 터치 메시지 큐 모듈(128), 상태 메시지 큐 모듈(129)이 있다.FIG. 2 is a configuration diagram illustrating the configuration of the applications 100 and 130 and the queue module 120 of FIG. 1. The modules configuring the applications 100 and 130 include the HMI module 100, the RG module 131, RP module 132, MMG module 133, MD module 134, sound module 135, the queue module 120, HMI message queue module 1 121, virtual driving queue module 122, Continuous message queue module 123, non-continuous message queue module 124, external communication message queue module 125, core message queue module 1 126, core message queue module 2 127, touch message queue module 128 ), There is a status message queue module 129.

도 2를 참조하면, HMI(Human Man Interface) 모듈(100)은 터치 패널의 화면을 갱신하는 콜백 함수를 가진다. 즉, 터치 메시지 큐 모듈(128), 외부 통신 메시지 큐 모듈(125) 또는 상태 메시지 큐 모듈(129) 중 어느 하나로부터 메시지가 전달되면, 입력된 메시지에 따라 콜백 함수를 실행시킴으로써, 터치 패널의 화면을 갱신한다. HMI 모듈(100)은 GUI(Graphic User Interface) 모듈이라고도 한다.Referring to FIG. 2, the Human Man Interface (HMI) module 100 has a callback function for updating a screen of a touch panel. That is, when a message is transmitted from any one of the touch message queue module 128, the external communication message queue module 125, or the status message queue module 129, the screen of the touch panel is executed by executing a callback function according to the input message. Update the. The HMI module 100 may also be referred to as a graphical user interface (GUI) module.

RG(Route Guidance) 모듈(131)은 경로 안내에 관한 콜백 함수를 가진다. 즉, 코어 메시지 큐 모듈 1(126)로부터 메시지가 전달되면, 입력된 메시지에 따라 콜백 함수를 실행시킴으로써, 경로를 안내한다.The Route Guidance (RG) module 131 has a callback function for route guidance. That is, when a message is delivered from the core message queue module 1 126, the path is guided by executing a callback function according to the input message.

RP(Route Planning) 모듈(132)은 경로 탐색에 대한 콜백 함수를 가진다. 즉, 코어 메시지 큐 모듈 1(126)로부터 메시지가 전달되면, 입력된 메시지에 따라 콜백 함수를 실행시킴으로써, 경로를 탐색한다. 바람직하게는, 경로 탐색이 완료되면, 실행 메시지를 코어 메시지 큐 모듈 2(127)로 전달한다.Route Planning (RP) module 132 has a callback function for route discovery. That is, when a message is delivered from core message queue module 1 126, the path is searched by executing a callback function according to the input message. Preferably, when the path search is complete, the execution message is forwarded to core message queue module 2 (127).

MMG(Map MatchinG) 모듈(133)은 맵 매칭에 대한 콜백 함수를 가진다. 즉, 메시지가 전달되면, 위성으로부터 수신된 GPS 정보에 따라 차량의 위치 정보를 5Hz, 즉 1초에 5번 갱신하고, 갱신된 차량의 위치 정보를 포함한 메시지를 코어 메시지 큐 모듈 2(127)로 전달한다. MMG (Map MatchinG) module 133 has a callback function for map matching. That is, when the message is delivered, the location information of the vehicle is updated 5 Hz, that is, five times per second, according to the GPS information received from the satellite, and the message including the updated location information of the vehicle is transmitted to the core message queue module 2 127. To pass.

MD(Map Display) 모듈(134)은 맵 디스플레이에 관한 콜백 함수를 가진다. 즉, 메시지가 전달되면, 입력된 메시지에 따라 콜백 함수를 실행시킴으로써, 차량의 위치를 맵과 함께 디스플레이한다. 바람직하게는, 맵 디스플레이가 완료되면, 실행 메시지를 코어 메시지 큐 모듈 2(127)로 전달한다.Map Display (MD) module 134 has a callback function for map display. That is, when the message is delivered, the location of the vehicle is displayed together with the map by executing the callback function according to the input message. Preferably, when the map display is completed, the execution message is passed to the core message queue module 2 127.

사운드 모듈(135)은 음향에 관한 콜백 함수를 가진다. 즉, 메시지가 전달되면, 콜백 함수를 실행시킴으로써, 음성을 출력한다.The sound module 135 has a callback function for sound. In other words, when the message is delivered, the voice is output by executing the callback function.

큐 모듈(120) 중 HMI(Human Man Interface) 메시지 큐 모듈 1(121)은 HMI 큐 모듈의 콜백 함수 및 메시지 감시 쓰레드 읽기를 위해 사용된다.Among the queue modules 120, a human man interface (HMI) message queue module 1 121 is used for reading a callback function and a message monitoring thread of the HMI queue module.

큐 모듈(120) 중 가상주행용 큐 모듈(122)은 가상 주행을 위한 데이터를 저장하는 큐로, 가상 주행시에는 GPS로부터 오는 GPS 데이터를 무시하기 위해 별도로 설계된다.The virtual driving queue module 122 of the queue module 120 is a queue for storing data for virtual driving, and is designed separately to ignore GPS data coming from the GPS during virtual driving.

큐 모듈(120) 중 연속적 메시지 큐 모듈(123)은 연속적 메시지를 저장하기 위한 큐이다. 즉, 도 2의 각 모듈은 상호 간에 메시지를 받은 모듈이 다시 메시지를 생성하고, 생성된 메시지를 다른 모듈로 전달하도록 구성되는바, 이를 위해 별도의 연속적 메시지 큐 모듈(123)을 둘 필요가 있다.The continuous message queue module 123 of the queue module 120 is a queue for storing continuous messages. That is, each module of FIG. 2 is configured so that modules receiving messages from each other again generate a message and deliver the generated message to another module. For this purpose, it is necessary to have a separate continuous message queue module 123. .

큐 모듈(120) 중 비연속적 메시지 큐 모듈(124)은 연속적 메시지 큐 모듈(123)과 달리, 다른 메시지를 생성하지 않는 비연속적 메시지를 저장하기 위한 큐이다. 비연속적 메시지는 예컨대, 화면 터치나 하드키에 대한 메시지이다.The non-continuous message queue module 124 of the queue module 120 is a queue for storing non-continuous messages that do not generate other messages, unlike the continuous message queue module 123. Non-continuous messages are, for example, messages on screen touches or hard keys.

큐 모듈(120) 중 외부통신 메시지 큐 모듈(125)은 하드 키, 즉 현재지 버튼이나 목적지 버튼 등 터치 패널의 외부에 부착된 하드웨어 버튼을 누름으로써 입력되는 값을 저장하기 위한 큐이다.The external communication message queue module 125 of the queue module 120 is a queue for storing a value input by pressing a hard key, that is, a hardware button attached to the outside of a touch panel such as a current button or a destination button.

큐 모듈(120) 중 코어 메시지 큐 모듈 1(126)은 외부통신 메시지 큐 모듈(125), 가상주행용 큐 모듈(122), 연속적 메시지 큐 모듈(123), 비연속적 메시지 큐 모듈(124), 코어 메시지 큐 모듈 2(127), 터치 메시지 큐 모듈(128) 등으로부터 입력된 메시지를 분석하고, 분석에 기초하여 해당 코어 모듈로 메시지를 전달함으로써, 해당 모듈의 콜백 함수를 호출한다.The core message queue module 1 126 of the queue module 120 includes an external communication message queue module 125, a virtual driving queue module 122, a continuous message queue module 123, a non-continuous message queue module 124, The callback function of the module is called by analyzing the message input from the core message queue module 2 127, the touch message queue module 128, and the like, and delivering the message to the core module based on the analysis.

큐 모듈(120) 중 코어 메시지 큐 모듈 2(127)는 RG 모듈(131), RP 모듈(132), MMG 모듈(133), MD 모듈(134), 사운드 모듈(135)로부터 전달된 메시지를 수신하여 코어 메시지 큐 모듈(126)로 전달하거나, 추후 디버깅을 위해 상태 메시지 큐 모듈(129)로 전달한다.The core message queue module 2 127 of the queue module 120 receives messages transmitted from the RG module 131, the RP module 132, the MMG module 133, the MD module 134, and the sound module 135. To the core message queue module 126 or to the status message queue module 129 for later debugging.

큐 모듈(120) 중 터치 메시지 큐 모듈(128)은 터치 패널을 통해 사용자의 터치에 의해 입력된 메시지를 저장하기 위한 큐이다.The touch message queue module 128 of the queue module 120 is a queue for storing a message input by a user's touch through the touch panel.

큐 모듈(120) 중 상태 메시지 큐 모듈(129)은 코어 메시지 큐 모듈 2(127)로부터 전달된 코어 모듈들(131, 132, 133, 134)의 메시지, 또는 HMI 모듈(100)의 메시지 또는 큐 모듈(120) 내의 각 모듈들의 메시지를 저장한다. 저장된 메시지는 추후 디버깅을 위해 사용된다.The status message queue module 129 of the queue module 120 is a message of the core modules 131, 132, 133, and 134 delivered from the core message queue module 2 127, or a message or queue of the HMI module 100. Stores messages of each module in module 120. The saved message is used for later debugging.

한편, 도 2에 도시된 바와 같이 큐 모듈(120) 각각은 메시지 감시용 쓰레드(121a 내지 129a)를 가지고 있으며, 각각의 쓰레드(121a 내지 129a)는 콜백 함수를 호출하는 메시지의 도착을 감시하고, 도착한 메시지를 분석하여 해당 기능의 콜백 함수를 호출하기 위해 코어 메시지 큐 모듈(126)로 메시지를 전달한다.Meanwhile, as shown in FIG. 2, each of the queue modules 120 has message monitoring threads 121a to 129a, and each thread 121a to 129a monitors the arrival of a message calling a callback function. The message arrives is analyzed and passed to the core message queue module 126 to call the function's callback function.

도 3은 본 발명의 일 실시예에 따른 흐름도이다.3 is a flowchart according to an embodiment of the present invention.

도 3을 참조하면, 단계 300에서 코어 모듈(100, 130) 각각의 콜백 함수와 콜백 함수를 호출하기 위한 메시지를 운영체제, 바람직하게는 실시간 운영체제(RTOS)에 등록한다. 차후 실시간 운영체제는 필요한 경우 각각의 메시지에 따라 코어 모듈들(100, 130)에 저장된 콜백 함수를 호출하여 실행할 수 있다.Referring to FIG. 3, in step 300, a callback function and a message for calling the callback function of each of the core modules 100 and 130 are registered in an operating system, preferably a real-time operating system (RTOS). Afterwards, the real-time operating system may call and execute callback functions stored in the core modules 100 and 130 according to respective messages if necessary.

단계 301에서, 코어 메시지 큐 모듈 2(127)는 맵 매칭 모듈(133)로부터 메시지를 수신한다. 위에서 설명한 바와 같이, 맵 매칭 모듈(133)은 이벤트에 따라 5Hz, 즉 1초에 5번 차량의 위치정보를 포함하는 메시지를 생성하며, 코어 메시지 큐 모듈 2(127)은 이렇게 생성된 메시지를 수신한다. In step 301, core message queue module 2 127 receives a message from map matching module 133. As described above, the map matching module 133 generates a message including the location information of the vehicle at 5 Hz, that is, 5 times per second according to the event, and the core message queue module 2 127 receives the generated message. do.

단계 302에서, 코어 메시지 큐 모듈 1(126)은 코어 메시지 큐 모듈 2(127)로부터 메시지를 전달받고, 전달받은 메시지를 분석하여 해당 코어 모듈의 콜백 함수를 호출한다.In step 302, the core message queue module 1 126 receives a message from the core message queue module 2 127, analyzes the received message, and calls a callback function of the corresponding core module.

단계 303에서, 해당 코어 모듈이 콜백 함수를 실행한 후에는 실행 메시지를 코어 메시지 큐 모듈 2(127)로 전달한다. 전달된 실행 메시지는 위에서 설명된 바와 같이 상태 메시지 큐 모듈(129)로 전달됨으로써, 추후 디버깅 용도로 사용될 수 있다.In step 303, after the core module executes the callback function, the execution message is delivered to core message queue module 2 127. The forwarded execution message is forwarded to the status message queue module 129 as described above, so that it can be used for later debugging purposes.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 본 발명의 일 실시예에 따른 미들웨어 장치인 큐 모듈(120)를 포함하는 임베디드 시스템의 구성도이다.1 is a block diagram of an embedded system including a queue module 120 as a middleware device according to an embodiment of the present invention.

도 2는 도 1의 애플리케이션(100, 130)과 큐 모듈(120)의 구성을 도시하는 구성도이다.FIG. 2 is a diagram illustrating the configuration of the applications 100 and 130 and the queue module 120 of FIG. 1.

도 3은 본 발명의 일 실시예에 따른 흐름도이다.3 is a flowchart according to an embodiment of the present invention.

Claims (11)

실시간 운영체제가 제공하는 코어 메시지 큐 모듈에서, 상기 실시간 운영체제상에서 동작하는 애플리케이션의 호출하고자 하는 콜백 함수를 포함한 메시지를 소정의 주기로 수신하고, 상기 수신된 메시지를 분석하고, 상기 분석에 기초하여 상기 애플리케이션의 해당 코어 모듈의 콜백 함수를 호출하는 단계;In a core message queue module provided by a real-time operating system, a message including a callback function to be called by an application operating on the real-time operating system is received at predetermined intervals, the received message is analyzed, and the analysis of the application is performed based on the analysis. Calling a callback function of the corresponding core module; 상기 해당 코어 모듈로부터 전송되는 메시지로, 상기 호출된 콜백 함수가 실행된 후 실행 결과에 대한 메시지를 수신하는 단계를 포함하며,Receiving a message for the execution result after the called callback function is executed as a message transmitted from the corresponding core module, 상기 메시지는 네비게이션에 관한 것이며, 상기 애플리케이션의 해당 코어 모듈은 적어도 경로 안내에 대한 콜백 함수를 가지는 RG(Route Guidance) 모듈, 경로 탐색에 대한 콜백 함수를 가지는 RP(Route Planning) 모듈, 맵 매칭에 대한 콜백 함수를 가지는 MMG(Map Matching) 모듈, 맵 디스플레이에 관한 콜백 함수를 가지는 MD(Map Display) 모듈, 음향에 대한 콜백 함수를 가지는 사운드 모듈을 포함하는 것을 특징으로 하는 메시지 처리 방법.The message relates to navigation, wherein the core module of the application includes at least a Route Guidance (RG) module with a callback function for route guidance, a Route Planning (RP) module with a callback function for route navigation, and a map match. MMG (Map Matching) module having a callback function, MD (Map Display) module having a callback function for map display, a sound module having a callback function for the sound. 삭제delete 제1항에 있어서, 상기 메시지 처리 방법은The method of claim 1, wherein the message processing method is 디버깅을 위해 상기 수신된 메시지를 저장하는 단계를 더 포함하는 것을 특징으로 하는 메시지 처리 방법.Storing the received message for debugging. 제1항에 있어서, 상기 소정의 주기는The method of claim 1, wherein the predetermined period is 0.2초인 것을 특징으로 하는 메시지 처리 방법.Message processing method, characterized in that 0.2 seconds. 제1항에 있어서, 상기 생성된 메시지는The method of claim 1, wherein the generated message GPS 정보에 기초하여 생성된 차량의 위치 정보를 포함하는 것을 특징으로 하는 메시지 처리 방법.Message processing method comprising the position information of the vehicle generated based on the GPS information. 제1항, 제3항 내지 제5항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 저장한 컴퓨터로 독출 가능한 기록매체.A computer-readable recording medium storing a program for executing the method of any one of claims 1 and 3 to 5 on a computer. 실시간 운영체제상에서 동작하는 애플리케이션의 호출하고자 하는 콜백 함수를 포함한 메시지를 소정의 주기로 수신하고, 상기 수신된 메시지를 분석하고, 상기 분석에 기초하여 애플리케이션의 해당 코어 모듈의 콜백 함수를 호출하는 제1 코어 메시지 큐 모듈; 및A first core message that receives a message including a callback function to be called by an application operating on a real-time operating system at predetermined intervals, analyzes the received message, and calls a callback function of a corresponding core module of the application based on the analysis. Cue module; And 상기 해당 코어 모듈로부터 전송되는 메시지로, 상기 호출된 콜백함수가 실행된 후 실행 결과에 대한 메시지를 수신하는 제2 코어 메시지 큐모듈을 포함하며,A message transmitted from the corresponding core module, the second core message queue module receiving a message about an execution result after the called callback function is executed; 상기 제1 코어 메시지 큐 모듈 및 상기 제2 코어 메시지 큐 모듈은 실시간 운영체제가 제공하는 모듈이며, 상기 메시지는 네비게이션에 관한 것이며, 상기 애플리케이션의 해당 코어 모듈은 적어도 경로 안내에 대한 콜백 함수를 가지는 RG(Route Guidance) 모듈, 경로 탐색에 대한 콜백 함수를 가지는 RP(Route Planning) 모듈, 맵 매칭에 대한 콜백 함수를 가지는 MMG(Map Matching) 모듈, 맵 디스플레이에 관한 콜백 함수를 가지는 MD(Map Display) 모듈, 음향에 대한 콜백 함수를 가지는 사운드 모듈을 포함하는 것을 특징으로 하는 메시지 기반의 미들웨어 장치.The first core message queue module and the second core message queue module are modules provided by a real-time operating system, the message relates to navigation, and the corresponding core module of the application has at least an RG having a callback function for route guidance. Route Guidance (RP) module, Route Planning (RP) module with callback function for route search, Map Matching (MMG) module with callback function for map matching, Map Display (MD) module with callback function for map display, Message-based middleware device comprising a sound module having a callback function for the sound. 삭제delete 제7항에 있어서, 상기 미들웨어 장치는The method of claim 7, wherein the middleware device 디버깅을 위해 상기 수신된 메시지를 저장하기 위한 상태 메시지 큐 모듈을 더 포함하는 것을 특징으로 하는 메시지 기반의 미들웨어 장치.The message-based middleware device further comprises a status message queue module for storing the received message for debugging. 제7항에 있어서, 상기 소정의 주기는8. The method of claim 7, wherein the predetermined period is 0.2초인 것을 특징으로 하는 메시지 기반의 미들웨어 장치.Message-based middleware device, characterized in that 0.2 seconds. 제7항에 있어서, 상기 생성된 메시지는The method of claim 7, wherein the generated message is GPS 정보에 기초하여 생성된 차량의 위치 정보를 포함하는 것을 특징으로 하는 메시지 기반의 미들웨어 장치.Message-based middleware device comprising the location information of the vehicle generated based on the GPS information.
KR1020070126097A 2007-12-06 2007-12-06 Message-based middleware apparatus using queue module of real time operating system and method for managing message KR100962959B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070126097A KR100962959B1 (en) 2007-12-06 2007-12-06 Message-based middleware apparatus using queue module of real time operating system and method for managing message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070126097A KR100962959B1 (en) 2007-12-06 2007-12-06 Message-based middleware apparatus using queue module of real time operating system and method for managing message

Publications (2)

Publication Number Publication Date
KR20090059308A KR20090059308A (en) 2009-06-11
KR100962959B1 true KR100962959B1 (en) 2010-06-10

Family

ID=40989443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070126097A KR100962959B1 (en) 2007-12-06 2007-12-06 Message-based middleware apparatus using queue module of real time operating system and method for managing message

Country Status (1)

Country Link
KR (1) KR100962959B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229264B1 (en) * 2011-03-04 2013-02-04 삼성탈레스 주식회사 Common meessage distributor and method for transmitting window message thereof
CN112527522A (en) * 2020-12-04 2021-03-19 中国航空工业集团公司成都飞机设计研究所 Partitioned message subscribing and publishing method based on two-stage data pool

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100298210B1 (en) * 1998-12-01 2001-08-07 오길록 Server apparatus embedded in switch and request message processing method using the server aparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100298210B1 (en) * 1998-12-01 2001-08-07 오길록 Server apparatus embedded in switch and request message processing method using the server aparatus

Also Published As

Publication number Publication date
KR20090059308A (en) 2009-06-11

Similar Documents

Publication Publication Date Title
CN109523187B (en) Task scheduling method, device and equipment
EP3217394B1 (en) Method and user device for providing context awareness service using speech recognition
US8984437B2 (en) Controlling display of a plurality of windows
KR20200010537A (en) Method and apparatus for providing context aware service in a user device
EP1764690B1 (en) Information processing device and display control method
CN110741431A (en) Cross-device handover
CN113110941A (en) Managing delivery of code and dependency data using application containers
KR102373451B1 (en) Dynamically configurable application control elements
CN113377366B (en) Control editing method, device, equipment, readable storage medium and product
JP2019036953A (en) Route guidance method and system using video call
CN113377614B (en) Call chain information generation method and device, electronic equipment and storage medium
KR102527107B1 (en) Method for executing function based on voice and electronic device for supporting the same
WO2024037086A1 (en) Travel information sharing method and apparatus, computer device, and storage medium
US10089159B2 (en) Processing non-spatial input by multiple program elements of a computer program executed on a computer
KR100962959B1 (en) Message-based middleware apparatus using queue module of real time operating system and method for managing message
CN110908629A (en) Electronic equipment operation method and device, electronic equipment and storage medium
CN117971154A (en) Multimodal response
KR20130108952A (en) Implementation method of pip by using separate application package on android platform
KR20200108272A (en) Method and system for providing chat rooms in three-dimensional form and non-transitory computer-readable recording media
KR102131347B1 (en) Method for generating learning data of machine learning and system thereof
CN111459596A (en) Information processing method, information processing apparatus, electronic device, and medium
KR20210073966A (en) Method, system, and computer program for sharing content to chat room in picture-in-picture mode
CN115333877B (en) Information processing method, device, terminal and storage medium
KR20140092596A (en) System and method for providing service menu based on application service, and apparatus applied to the same
EP4187205A2 (en) Navigating method and apparatus, and medium

Legal Events

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

Payment date: 20130530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140515

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150512

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160518

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee