KR100370548B1 - Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method - Google Patents

Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method Download PDF

Info

Publication number
KR100370548B1
KR100370548B1 KR10-2000-0053958A KR20000053958A KR100370548B1 KR 100370548 B1 KR100370548 B1 KR 100370548B1 KR 20000053958 A KR20000053958 A KR 20000053958A KR 100370548 B1 KR100370548 B1 KR 100370548B1
Authority
KR
South Korea
Prior art keywords
service
real
server
embedded system
software development
Prior art date
Application number
KR10-2000-0053958A
Other languages
Korean (ko)
Other versions
KR20020021237A (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 KR10-2000-0053958A priority Critical patent/KR100370548B1/en
Publication of KR20020021237A publication Critical patent/KR20020021237A/en
Application granted granted Critical
Publication of KR100370548B1 publication Critical patent/KR100370548B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법에 관한 것임.The present invention relates to a real-time middleware device and a service method for providing an integrated software development framework of an embedded system.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은, 임베디드 시스템(Embedded System)상에서 원격 프로시져 호출(RPC) 방식을 기반으로 명명 서비스(Naming Service)와 인터페이스 정의 언어(IDL) 컴파일러를 결합함으로써, 실시간 성능을 보장하고 플랫폼 및 네트워크 프로토콜 등에 대하여 독립성을 확보하며, 시스템 및 소프트웨어 요소들의 재구성을 용이하게 하는 임베디드 시스템(Embedded System)의 통합 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법을 제공하고자 함.The present invention combines a Naming Service and an Interface Definition Language (IDL) compiler based on a remote procedure call (RPC) method on an embedded system to ensure real-time performance and to provide platform and network protocols. It aims to provide a real-time middleware device that provides independence and provides an integrated framework of an embedded system that facilitates reconfiguration of system and software elements and a service method thereof.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 본 발명의 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 있어서, 클라이언트/서버간에 서비스를 요청하고 제공하기 위하여 인터페이스 기능을 수행하기 위한 인터페이스 수단 및 시스템 내부에 존재하는 자원에 대하여 논리적인 이름을 부여하고, 그 이름을 통하여 물리적인 주소를 반환함으로써 외부에서의 접근이 가능하도록 하는 명명 서비스 기능부, CPU(Central Processing Unit)가 한번에 복수개의 쓰레드를 처리하는 쓰레드기능부, 요청한 서비스에 대하여 일정 시간 내에 결과가 오지 않는 경우 오류가 발생하였음을 알리는 시간초과 기능부 및 장치 독립적인 데이터 구조를 사용하는 외부 데이터 표현 기능부를 포함하는 내부 기능 제공 수단을 포함함.The present invention is a real-time middleware device providing an integrated software development framework of the embedded system of the present invention, the interface means for performing an interface function to request and provide a service between the client / server and resources existing within the system A naming service function that allows access from the outside by giving a logical name to and returning a physical address through the name, and a thread function that processes multiple threads at a time by the central processing unit (CPU), And means for providing internal functions, including a timeout function indicating an error has occurred and an external data representation function using a device independent data structure if a result does not come within a certain time for the requested service.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 실시간 미들웨어 장치 등에 이용됨.The present invention is used in a real-time middleware device.

Description

임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법{Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method}Real-time middleware apparatus providing an integrated software development frameworks of embedded system and its service method

본 발명은 분산 요소 기반의 소프트웨어 개발 방법으로서의 미들웨어에 관한 것으로서, 특히 임베디드 시스템(Embedded System)에서의 분산 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법에 관한 것이다.The present invention relates to middleware as a distributed element-based software development method, and more particularly, to a real-time middleware device providing a distributed software development framework in an embedded system and a service method thereof.

일반적으로 분산 시스템은 다층의 클라이언트/서버 구조의 실질적인 구조를 취한다. 즉, 비즈니스 계층과 자료 접근 계층간의 분리가 아니라 시스템 내의 구성요소나 다른 시스템 상에 있는 구성요소에서 제공하는 어떤 서비스라도 이용 가능하도록 애플리케이션의 모든 기능을 드러내는 투명한 시스템(Transparent System)이라 할 수 있으며, 이러한 분산 시스템을 가능하도록 지원해주는 것이 미들웨어이다. 미들웨어는 분산형 컴퓨팅을 보다 쉽게 구현한다는 목표 하에 여러 기종간의 차이를 극복하도록 범용적으로 개발된 소프트웨어라고 할 수 있다.In general, distributed systems take the practical structure of a multi-tiered client / server architecture. That is, it is not a separation between the business layer and the data access layer, but a transparent system that exposes all the functions of an application so that any service provided by a component in the system or a component on another system can be used. It is middleware that supports this distributed system. Middleware is a general purpose software developed to overcome the differences between different models with the goal of making distributed computing easier.

또한, 실시간 미들웨어란 시간제약, 스케쥴링, 서비스 신뢰성, 장애에 대한 허용 등의 요소를 갖춘 미들웨어를 의미한다. 여기서, 시간제약 요소라 함은 외부의 서비스 요청에 대하여 제한 시간 내에 처리가 이루어지도록 하는 기능으로서, 만일 제한된 시간 내에 결과를 출력시키지 못하면 그 시스템은 주어진 작업을 수행하는 데 실패하였다고 말할 수 있다. 한편, 스케쥴링 요소라 함은 일정한 자원에 대한 접근을 정해진 순서에 따라 처리해 주는 것으로서, 다수의 클라이언트가 서버에게 서비스를 요청하였을 때 해당 서비스들이 시간적으로 충돌을 일으키지 않고정확하게 수행될 수 있도록 조절하는 기능이다. 또한, 서비스 신뢰성 요소란 프로그램, 시스템 또는 하드웨어 장치가 일정시간 이상 주어진 기능을 정상적으로 수행할 수 있는 능력을 의미한다. 마지막으로 장애에 대한 허용 요소란 시스템 내의 일정 부분에 장애가 발생했을 때, 해당 장애가 시스템의 중단을 초래하지 않도록 하는 기능을 의미한다.In addition, real-time middleware refers to middleware with elements such as time constraints, scheduling, service reliability, and fault tolerance. Here, the time constraint element is a function that allows processing to be performed within a limited time for an external service request, and if the result is not output within the limited time, it may be said that the system has failed to perform a given task. On the other hand, the scheduling element is a function that processes access to a certain resource in a predetermined order. When a plurality of clients request a service from a server, the scheduling element is controlled so that the services can be executed accurately without causing a time conflict. . In addition, the service reliability factor refers to a program, a system, or a hardware device capable of performing a given function normally for a predetermined time or more. Finally, the factor of fault tolerance refers to the ability to prevent a failure of a system when a failure occurs in a part of the system.

보통 소프트웨어 개발자들이 개발하는 과정에서 부딪히게 되는 두 가지 환경적인 문제점이 있는데, 하나는 이기종간의 네트워킹과 운영 문제이고, 다른 하나는 네트워크 애플리케이션 개발시 운영체제의 설비 부족문제이다. 즉, 두개 혹은 그 이상의 시스템 간에 프로세싱을 실행하기 위해서는 서로 다른 운영체제나 서버 소프트웨어간 이종의 네트워킹 혹은 프로토콜을 위해 필요한 내용을 전달하는 통신 기능이 필요하다. 이 때, 각기 다른 하드웨어, DBMS (Data Base Management System), 프로토콜, 애플리케이션, 데이터 포맷 등을 중간에서 효율적으로 연결하는 역할을 하는 것이 미들웨어의 기능이다.There are usually two environmental problems that software developers encounter during development. One is heterogeneous networking and operation problems, and the other is lack of operating system facilities when developing network applications. In other words, processing between two or more systems requires a communication function that delivers the necessary content for heterogeneous networking or protocols between different operating systems or server software. At this time, the function of middleware is to efficiently connect different hardware, DBMS (Data Base Management System), protocol, application, data format, and so on.

미들웨어가 속한 종래 기술들은 다음과 같다.The prior art to which the middleware belongs is as follows.

RPC(Remote Procedure Calls)는 미들웨어 중에서 가장 광범위하게 사용되며, 기타 다른 미들웨어 시스템의 하부 구조로 이용되는 미들웨어이다. RPC는 사용자에게 원격지에 있는 함수를 호출할 수 있는 방법을 제공한다. RPC는 IDL(Interface Definition Language) 과 IDL 컴파일러를 제공하는데 사용자는 IDL을 이용해서 원하는 함수를 작성한다. 이러한 RPC를 제공하는 것으로는 Sun/USL ONC(Open Network Computing)에서 제공하는 RPC와 DCE(Distributed Computing Environment)에서 제공하는 RPC를 그 예로 들 수 있다.Remote Procedure Calls (RPCs) are the most widely used middleware and are middleware used as the infrastructure of other middleware systems. RPC provides a way for users to call a remote function. RPC provides the Interface Definition Language (IDL) and IDL compilers. You use IDL to write the functions you want. Examples of such RPC include RPC provided by Sun / USL Open Network Computing (ONC) and RPC provided by Distributed Computing Environment (DCE).

메시지 큐잉 미들웨어 (Message Oriented Middleware, MOM) 는 비연결적인 비동기 통신을 제공한다. 즉, 클라이언트와 서버의 연결은 로컬 큐와 원격 큐 사이에서 보내기(Send)와 받기(Receive) 명령을 서로 교환함으로써 구축 되는데, 클라이언트와 서버는 메시지에 대한 응답을 기다리지 않고 계속 수행된다. 통신에 관련된 일은 큐 매니저(Queue Manager)가 관장한다.Message Oriented Middleware (MOM) provides connectionless asynchronous communication. In other words, the client-server connection is established by exchanging Send and Receive commands between the local queue and the remote queue. The client and server continue to run without waiting for a response to the message. Queue managers are responsible for the communication.

종래의 마이크로소프트 사에서 개발한 객체(Object) 기반 미들웨어인 DCOM(Distributed Component Object Model)는 COM(Component Object Model)이 네트워크에 걸쳐 분산되어 있다. 그리고 객체 클라이언트는 마치 객체가 자신의 어드레스 영역에 있는 것처럼 객체를 이해한다. 즉, 객체가 로컬에 있든 원격 기계에 있든지 개의치 않고 다룰 수 있는 서비스를 제공한다. 그러나, 이 DCOM은 오로지 윈도우즈(Windows) 플랫폼에서만 지원된다는 한계가 있다.In the distributed component object model (DCOM), which is an object-based middleware developed by a conventional Microsoft company, a component object model (COM) is distributed over a network. The object client then understands the object as if it were in its address space. That is, they provide services that can be handled regardless of whether the object is local or on a remote machine. However, this DCOM is limited to being supported only on the Windows platform.

또한, 자바(Java) RMI(Remote Method Invocation)는 자바 객체를 사용하는 분산 프로그래밍을 위한 간단하고 직접적인 모델을 제공한다. RMI를 기반으로 하는 시스템은 어떠한 자바 가상 머신에서도 높은 이식과 수행이 가능하다.In addition, Java Remote Method Invocation (RMI) provides a simple and straightforward model for distributed programming using Java objects. Systems based on RMI can be highly portable and run on any Java virtual machine.

한편, CORBA(Common Object Request Broker Architecture) 는 OMG(Object Management Group)라는 컨소시엄에서 제안한 표준안으로서, 객체 지향 기술을 기반으로 한 분산 애플리케이션 프로그램을 통합할 수 있는 표준 기술이라 할 수 있다. CORBA에서는 컴포넌트의 인터페이스를 정의하기 위한 표준 메커니즘을 제공하며, 개발자의 특정 언어를 사용하는 이들 인터페이스의 구현을 쉽게 하는 도구들을 제공한다.On the other hand, CORBA (Common Object Request Broker Architecture) is a standard proposed by a consortium called Object Management Group (OMG), and can be called a standard technology that can integrate distributed application programs based on object-oriented technology. CORBA provides a standard mechanism for defining components' interfaces, and provides tools that make it easy to implement these interfaces using your specific language.

그러나, 앞에서 살펴 본 객체 지향 기술을 기반으로 한 종래의 객체 미들웨어인 DCOM, Java RMI, CORBA 등은 비록 다양한 서비스들과 높은 신뢰성을 갖고는 있다 하겠으나, 객체 지향 개발 방법에 대한 사전 이해를 반드시 필요로 하며, 현실적으로 개발자에게 많은 훈련과 노력을 요구한다는 문제점을 내포하고 있다. 아울러, 위에서 언급한 미들웨어들은 범용 컴퓨터 환경만을 주요 대상으로 하여 개발되고 적용되어 왔다. 따라서, 임베디드 시스템(Embedded System) 이 갖는 많은 제약과 특성들을 제대로 반영하지 못하는 한계를 갖고 있다. 예를 들어, 미들웨어를 수행하기 위하여 필요로 하는 많은 메모리와 CPU 등의 자원이 불충분하고, 한 이유로 인한 실시간 시스템이 요구하는 처리 성능을 제대로 발휘하지 못하고 있다. 또한, 프로시져 또는 객체의 속성(attribute)과 연산(operation)에 대한 인터페이스(Interface)만을 제공함으로 인해 파일 접근, 프로그램 수행, 쓰레드 수행 등을 위해서는 각각 별도의 솔루션을 필요로 하는 문제가 있다.However, DCOM, Java RMI, and CORBA, which are the conventional object middleware based on the object-oriented technology described above, have high reliability with various services, but require a prior understanding of the object-oriented development method. In reality, it involves a lot of training and hard work for developers. In addition, the above-mentioned middlewares have been developed and applied mainly for general purpose computer environments. Therefore, there is a limit that does not properly reflect many constraints and characteristics of the embedded system. For example, a large amount of resources such as memory and CPU are required for executing middleware, and the processing performance required by a real-time system for one reason is not properly exhibited. In addition, since only interfaces of attributes and operations of procedures or objects are provided, there is a problem in that separate solutions are required for file access, program execution, and thread execution.

본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 임베디드 시스템(Embedded System)상에서 원격 프로시져 호출(RPC) 방식을 기반으로 명명 서비스(Naming Service)와 인터페이스 정의 언어(IDL) 컴파일러를 결합함으로써, 실시간 성능을 보장하고 플랫폼 및 네트워크 프로토콜 등에 대하여 독립성을 확보하며, 시스템 및 소프트웨어 요소들의 재구성을 용이하게 하는 임베디드 시스템(Embedded System)의 통합 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법을 제공하는데 그 목적이 있다.The present invention is proposed to solve the above problems, and combines a naming service and an interface definition language (IDL) compiler based on a remote procedure call (RPC) scheme on an embedded system. By providing a real-time middleware device that guarantees real-time performance, secures independence of platform and network protocol, and provides an integrated framework of embedded system that facilitates reconfiguration of system and software elements, and a service method thereof. Its purpose is to.

또한, 본 발명은, 분산된 임베디드 시스템(Embedded System)의 특성이 반영된 인터페이스를 제공하며, 실시간 시스템으로서의 기능을 보장하기 위하여 시간초과(Timeout), 쓰레드(Thread), 라이브러리를 제공하고, 시스템과 소프트웨어 요소들의 유연한 재구성을 위하여 명명 서비스(Naming Service)를 통하여 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스 방법을 제공하는데 다른 목적이 있다.In addition, the present invention provides an interface that reflects the characteristics of a distributed embedded system, and provides a timeout, a thread, a library, and a system and software to ensure its function as a real-time system. Another object is to provide a real-time middleware device and a service method thereof that provide an integrated software development framework of an embedded system through a naming service for flexible reconfiguration of the elements.

또한, 본 발명은, 실시간 미들웨어를 사용하여 모든 요소들을 구성할 경우에 별도의 장비없이 소결합 장애 허용 시스템(Loosely coupled fault tolerant system)을 실현할 수 있도록 하는 클러스터링 수단을 이용하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치 및 그 서비스방법을 제공하는데 또 다른 목적이 있다.In addition, the present invention, an integrated software development frame of an embedded system using a clustering means to realize a loosely coupled fault tolerant system without any equipment when configuring all elements using real-time middleware Another object is to provide a real-time middleware device that provides a work and a service method thereof.

도 1은 본 발명이 적용되는 실시간 미들웨어의 기능 및 인터페이스에 대하여 설명하기 위한 구성 예시도.1 is a configuration example for explaining the function and interface of the real-time middleware to which the present invention is applied.

도 2는 본 발명에 따른 명명 서비스의 계층적인 구성 예시도.2 is an exemplary hierarchical configuration of a naming service according to the present invention;

도 3은 본 발명에 따른 실시간 미들웨어의 메시지 헤더 프로토콜 구성 예시도.3 is an exemplary message header protocol configuration of a real-time middleware according to the present invention.

도 4는 본 발명에 따른 원격 프로시져 호출 프로토콜 구성 예시도.4 is an exemplary configuration of a remote procedure call protocol according to the present invention.

도 5는 본 발명에 따른 원격 프로그램 수행 프로토콜 구성 예시도.5 is an exemplary configuration of a remote program execution protocol according to the present invention.

도 6은 본 발명에 따른 원격 메모리 접근 프로토콜 구성 예시도.6 is an exemplary configuration diagram of a remote memory access protocol according to the present invention.

도 7은 본 발명에 따른 원격 파일 접근 프로토콜 구성 예시도.7 is an exemplary configuration of a remote file access protocol according to the present invention.

도 8은 본 발명에 따른 원격 객체 접근 프로토콜 구성 예시도.8 is an exemplary configuration of a remote object access protocol according to the present invention.

도 9는 본 발명에 따른 명명 서비스의 일실시예 처리 흐름도.9 is a flowchart of one embodiment processing of a naming service in accordance with the present invention;

도 10a 및 도 10b 는 본 발명에 따른 실시간 미들웨어 서버의 서비스 일실시예 처리 흐름도.10A and 10B are a flowchart illustrating a service embodiment of a real-time middleware server according to the present invention.

도 11은 본 발명에 따른 클라이언트의 원격 프로시져 호출 방법에 대한 일실시예 처리 흐름도.11 is an embodiment processing flow diagram for a method for remote procedure call of a client according to the present invention.

도 12는 본 발명에 따른 서버의 원격 프로시져 호출 처리 방법에 대한 일실시예 처리 흐름도.12 is an embodiment processing flow diagram for a method of processing a remote procedure call of a server according to the present invention.

도 13은 본 발명에 따른 IDL 규약의 구성 예시도.Figure 13 is an illustration of the configuration of the IDL protocol according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

101 : 임베디드 시스템(Embedded System)101: Embedded System

102 : 범용 컴퓨터102: general purpose computer

110 : 인터페이스부(Interfaces)110: Interfaces

120 : UDP/IP, IPC 프로토콜120: UDP / IP, IPC protocol

130 : 실시간 미들웨어 기능부(Facilities)130: real-time middleware functionality (Facilities)

201 : 주 명명 서버(Master Name Server)201: Master Name Server

202 : 하위 명명 서버(Second Group Name Server)202: Second Group Name Server

203 : 서버203 server

204 : 클라이언트204: client

205 : 상위 명명 서버(First Group Name Server)205: First Group Name Server

상기의 목적을 달성하기 위하여, 본 발명의 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치는, 클라이언트/서버간에 서비스를 요청하고 제공하기 위하여 인터페이스 기능을 수행하기 위한 인터페이스 수단 및 시스템 내부에 존재하는 자원에 대하여 논리적인 이름을 부여하고, 그 이름을 통하여 물리적인 주소를 반환함으로써 외부에서의 접근이 가능하도록 하는 명명 서비스 기능부, CPU(Central Processing Unit)가 한번에 복수개의 쓰레드를 처리하는 쓰레드 기능부, 요청한 서비스에 대하여 일정 시간 내에 결과가 오지 않는 경우 오류가 발생하였음을 알리는 시간초과 기능부 및 장치 독립적인 데이터 구조를 사용하는 외부 데이터 표현 기능부를 포함하는 내부 기능 제공 수단을 포함하는 것을 특징으로 한다.In order to achieve the above object, a real-time middleware device providing an integrated software development framework of the embedded system of the present invention, the interface means for performing an interface function to request and provide a service between the client / server and the system inside The naming service function, a CPU (Central Processing Unit) that processes multiple threads at once, assigns logical names to existing resources and makes them accessible from outside by returning a physical address. A function unit, an internal function providing means including a time-out function unit for notifying that an error has occurred if a result is not returned within a predetermined time for the requested service, and an external data representation function unit using a device-independent data structure. It is done.

또한, 본 발명의 목적을 달성하기 위하여 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 내부 제공 수단은, 복수대의 서버를 서로 클러스터링하는 클러스터링 기능부, 여러 서버에 대하여 해당 서비스가 동시에 수행되도록 하는 중복 기능부, 하나의 프로그램이 해당 자원을 사용하고 있는 경우 다른 프로그램으로 하여금 그 자원의 사용을 금지시키는 기능을 하는 록 기능부, 제품의 공급자와 사용자간의 계약사항을 유지시키는 기능을 하는 라이센스 기능부 및 작성된 프로그램에서 발생되는 문제를 해결하는 작업을 효율적으로 할 수 있도록 지원하는 기능을 하는 디버그 기능부를 더 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the internal providing means of the real-time middleware device for providing an integrated software development framework of the embedded system, the clustering function unit for clustering a plurality of servers, the corresponding service for multiple servers at the same time Redundancy function that allows execution of a resource, lock function that prohibits another program from using the resource if one program is using the resource, and maintains the contract between the supplier and the user of the product. The apparatus may further include a debug function unit which functions to efficiently solve a problem occurring in the license function unit and the created program.

또한, 본 발명의 목적을 달성하기 위하여, 상기 클러스터링 기능부는, 실시간 미들웨어를 사용하여 모든 요소들을 구성할 경우에 별도의 장비없이 소결합 장애 허용 시스템이 실현되도록 지원하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the clustering function, when configuring all the elements using the real-time middleware, characterized in that to support the uncoupled fault tolerance system without additional equipment is realized.

또한, 본 발명의 목적을 달성하기 위하여 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 인터페이스 수단은, 미들웨어 내의 클라이언트가 서비스를 요청하고 서버가 해당 서비스를 제공하기 위하여 클라이언트는 물리적으로 분리된 프로시져를 원격으로 호출하는 원격호출수단 및 서버가 그 수행의 결과를 클라이언트에게 반환하는 결과반환수단을 포함하는 것을 특징으로 한다.In addition, the interface means of the real-time middleware device for providing an integrated software development framework of the embedded system to achieve the object of the present invention, the client in the middleware, the client physically to request the service and the server to provide the service And remote call means for remotely invoking the separated procedure and result return means for the server to return the results of its execution to the client.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 인터페이스 수단은, 원격으로 프로시져를 호출할 수 있도록 하는 원격 프로시져 호출 기능부, 원격으로 라이브러리를 호출할 수 있도록 하는 원격 라이브러리 호출 기능부, 원격으로 쓰레드를 수행할 수 있도록 하는 원격 쓰레드 수행 기능부, 원격으로 파일을 접근할 수 있도록 하는 원격 파일 접근 기능부, 원격으로 메모리를 접근할 수 있도록 하는 원격 메모리 접근 기능부, 원격으로 프로그램을 수행할 수 잇도록 하는 원격 프로그램 수행 기능부 및 원격으로 객체를 수행할 수 있도록 하는 원격 객체수행 기능부를 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the interface means of the real-time middleware device providing an integrated software development framework of the embedded system, the remote procedure call function to enable the procedure to be called remotely, the library remotely Remote library call function to enable calling, remote thread execution function to run threads remotely, remote file access function to access files remotely, and memory access to remotely. And a remote memory access function, a remote program execution function to enable a program to be executed remotely, and a remote object execution function to enable an object to be executed remotely.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 명명 서비스 기능부는, 해당 노드에서 수행되는 서버들을 분산 관리하기 위하여 임베디드 시스템 상의 각 노드에 배치되고 논리적 구성에 따라 계층적으로 배치된 적어도 하나의 하위 명명 서버(Name Server) 및 상기 하위 명명 서버를 포함하는 전체 시스템의 구성을 관리하기 위하여 최상위에 배치된 주 명명 서버(Master Name Server)를 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the naming service function of the real-time middleware device that provides the integrated software development framework of the embedded system, is arranged in each node on the embedded system to distribute and manage the servers performed in the node And at least one subordinate name server arranged in a hierarchical manner according to a logical configuration and a master name server disposed at the top to manage the configuration of the entire system including the subordinate named servers. Characterized in that.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 명명 서비스 기능부는, 임베디드 시스템 상에서 실시간 미들웨어 내의 서비스를 제공하는 서버의 물리적인 위치가 동적으로 변경 되어도, 사전 정의된 논리적인 주소를 사용하는 클라이언트에서는 그 소프트웨어의 변경이나 재 컴파일 등의 작업 없이 서비스를 구현할 수 있도록 지원하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the naming service function of the real-time middleware device providing an integrated software development framework of the embedded system, the physical location of the server that provides services in the real-time middleware on the embedded system is dynamically Even if it is changed, the client using the predefined logical address can be implemented to implement the service without changing or recompiling the software.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치는 인터페이스 정의 언어를 컴파일하기 위한 인터페이스 정의 언어 컴파일러 수단 및 상기 인터페이스 정의 언어 컴파일러 수단에 의하여 컴파일 옵션을 플랫폼에 맞게 지정하여 상기 플랫폼에 대한 맵핑을 구현하기 위한 인터페이스 정의 언어(IDL) 규약 제공 수단을 더 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, a real-time middleware device providing an integrated software development framework of the embedded system is selected by the interface definition language compiler means for compiling interface definition language and the interface definition language compiler means. It is characterized in that it further comprises an interface definition language (IDL) protocol providing means for implementing the mapping for the platform by specifying according to the platform.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 인터페이스 정의 언어 규약 제공 수단은, 원격 서버명들, 라이브러리들, 상수 정의들, 데이터 유형 정의들, 프로시져 또는 라이브러리 정의들, 메모리 정의들, 쓰레드 정의들 및 프로그램 정의들을 제공하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the interface definition language protocol providing means of the real-time middleware device providing an integrated software development framework of the embedded system, remote server names, libraries, constant definitions, data type definition , Procedural or library definitions, memory definitions, thread definitions, and program definitions.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 상기 인터페이스 정의 언어 컴파일러 수단은, 소프트웨어를 개발하고 수행하고자 하는 임베디드 시스템(Embedded System)의 플랫폼과 네트워크 프로토콜 및 개발 언어 등에 관계없이 공통의 단일한 인터페이스를 정의하고 그 인터페이스를 구현하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the interface definition language compiler means of a real-time middleware device that provides an integrated software development framework of the embedded system, the platform of the embedded system (Embedded System) to develop and perform software It is characterized by defining a single common interface and implementing the interface regardless of network protocol and development language.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 적용되는 실시간 미들웨어 서비스 방법에 있어서, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치의 임베디드 시스템(Embedded System)의 통합 소프트 웨어 개발 프레임워크를 제공하는 실시간 미들웨어를 구현하기 위한 프로토콜은, 모든 상호 접속 수단에 공통이면서 클라이언트/서버 사이에 서비스를 요청하고 제공하기 위한 메시지 프로토콜; 원격으로 프로시져를 호출하기 위한 프로시져 프로토콜; 원격으로 라이브러리를 호출하기 위한 라이브러리 프로토콜; 원격으로 쓰레드를 호출하기 위한 프로시져 프로토콜; 원격으로 파일을 접근하기 위한 파일 프로토콜; 원격으로 메모리에 접근하기 위한 메모리 프로토콜; 원격으로 프로그램을 수행하기 위한 프로그램 프로토콜; 및 원격으로 객체를 수행하기 위한 객체 수행 프로토콜을 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, in the real-time middleware service method applied to a real-time middleware device providing an integrated software development framework of the embedded system, the real-time middleware device providing an integrated software development framework of the embedded system Protocols for implementing real-time middleware that provide an integrated software development framework for embedded systems include: a message protocol for requesting and providing services between clients / servers, common to all interconnection means; A procedure protocol for calling a procedure remotely; A library protocol for calling a library remotely; Procedure protocol for invoking threads remotely; File protocols for accessing files remotely; A memory protocol for accessing memory remotely; A program protocol for executing a program remotely; And an object execution protocol for remotely executing the object.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 적용되는 실시간 미들웨어 서비스 방법은, 명명 서비스를 수행하는 명명 서비스 처리과정; 미들웨어가 실시간으로 처리를 행하는 미들웨어 서버 실시간 처리과정; 원격 프로시져 호출을 요청하기 위하여 클라이언트측에서 처리되는 클라이언트측 처리과정; 및 클라이언트가 요청한 원격 프로시져 호출 서비스의 처리를 위하여 서버측의 스케쥴링된 쓰레드에서 처리되는 서버측 처리과정을 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, a real-time middleware service method applied to a real-time middleware device providing an integrated software development framework of an embedded system, the naming service processing process for performing a naming service; Middleware server real-time processing process that the middleware performs the processing in real time; Client-side processing that is processed at the client side to request a remote procedure call; And a server-side process performed in a scheduled thread on the server side for processing of a remote procedure call service requested by a client.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 미들웨어 서비스 방법의 상기 명명 서비스 처리과정은, 현재의 명명 서버를 인식하여 통신을 초기화하는 제 1 단계; 메시지를 수신하고, 수신된 메시지에 나타나는 서비스를 처리하는 제 2 단계; 및 서비스에 대한 처리 결과를 전송함으로써 서비스의 수행을 완료하는 제 3 단계를 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the naming service process of the middleware service method for providing an integrated software development framework of the embedded system, the first step of recognizing the current naming server to initialize the communication; A second step of receiving a message and processing a service appearing in the received message; And a third step of completing the performance of the service by transmitting the processing result for the service.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 미들웨어 서비스 방법의 상기 미들웨어 서버 실시간 처리과정은, 명명 서버에 등록하여 서버를 초기화하는 제 1 단계; 메시지를 수신하고, 수신된 메시지를 처리하는 제 2 단계; 처리 큐에 존재하는 서비스를 처리 가능한 쓰레드에게 스케쥴링하는 제 3 단계; 분할된 메시지를 조합하여 서비스를 처리하는 제 4 단계; 및 메시지처리 이외의 주기적으로 발생하는 서비스를 처리하는 제 5 단계를 포함하는 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the middleware server real-time processing of the middleware service method for providing an integrated software development framework of the embedded system, the first step of registering the name server to initialize the server; A second step of receiving a message and processing the received message; Scheduling a service existing in the processing queue to a processable thread; A fourth step of processing the service by combining the divided messages; And a fifth step of processing periodically occurring services other than message processing.

또한, 본 발명의 목적을 달성하기 위하여, 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 미들웨어 서비스 방법의 상기 클라이언트측 처리과정은, 초기화 및 데이터를 마샬링하는 제 1 단계; 해당 서비스를 제공할 서버의 위치 정보를 얻어 메시지를 전송하는 제 2 단계; 및 모든 메시지의 전송이 완료되면 서버로부터 처리 결과값을 수신하고 처리 결과값을 반환하여 프로시져 호출을 완료하는 제 3 단계로 이루어진 것을 특징으로 한다.In addition, in order to achieve the object of the present invention, the client-side processing of the middleware service method for providing an integrated software development framework of the embedded system, the first step of the initialization and marshaling data; A second step of obtaining location information of a server to provide a corresponding service and transmitting a message; And a third step of receiving the processing result value from the server and returning the processing result value when the transmission of all the messages is completed to complete the procedure call.

또한, 본 발명의 목적을 달성하기 위하여 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 미들웨어 서비스 방법의 서버측 처리과정은, 프로시져 수행 요청을 접수하여 해당 프로시져 아이디(ID)를 검색하는 제 1 단계; 및 요청된 프로시져를 호출하여 처리하는 제 2 단계를 포함하는 것을 특징으로 한다.한편, 본 발명에 따른 상세한 설명을 설명하기에 앞서, 본 발명이 제공하는 각 기능들에 대한 정의를 살펴보면 다음과 같다.1. 명명 서비스 : 시스템 내부에 존재하는 자원(즉, 서버)에 대하여 논리적인 이름을 부여하고, 그 이름을 통하여 물리적인 주소를 반환함으로써 외부에서의 접근이 가능하도록 하는 서비스2. 클러스터링 : 복수 대의 컴퓨터를 연결하여 하나의 시스템처럼 작동하도록 만드는 방법으로서, 일반적으로 복수 대의 서버를 서로 클러스터링하여 강력한 처리가 요구되는 작업을 수행한다. 만일 클러스터링된 서버 중 하나가 다운될 경우 운영체제는 다른 서버를 대체하여 작업을 진행하므로 사용자는 서버가 다운되었는지의 여부를 인식하지 못하고 계속 작업을 진행할 수 있다.3. 쓰레드 기능(멀티 쓰레드) : CPU가 한번에 복수개의 쓰레드를 처리하는 것으로서, 하나의 소프트웨어에서 여러 기능을 실행할 수 있다는 점에서 한번에 복수개의 소프트웨어를 실행시킬 수 있는 다중작업(multitasking)과는 다른 개념이다. 이런 작업의 예로는 문서편집기에서 문서를 팩스로 전송하는 도중에 계속해서 문서 작성을 하는 것을 들 수 있다.4. 시간 초과 : 임의의 서버에 대하여 서비스를 요청할 때 서비스를 처리해야 할 서버가 비정상적으로 작동하거나 네트워크 등에서의 문제로 인하여 서비스가 불가능한 상황에서 계속적으로 서비스를 기다리는 것이 아니라, 일정 시간 내에 결과가 오지 않을 경우 오류가 발생했음을 알리고 다른 처리를 할 수 있도록 하는 것을 말한다.5. 중복 : 일반적으로 하나의 서비스는 하나의 서버에 대하여 수행되지만, 여러 서버에 대하여 해당 서비스가 동시에 수행되도록 하는 것을 말한다.6. 록 : 공유 자원을 복수개의 프로그램이 사용하는 경우 효율적이며 데이터 무결성을 보장하기 위하여 사용되는 방법으로서, 하나의 프로그램이 해당 자원을 사용하고 있을 때 다른 프로그램으로 하여금 그 사용을 금지시키는 것을 말한다.7. 라이센스 : 제품의 공급자와 사용자간의 계약사항을 유지시켜 주기 위한 기능을 말한다.8. 디버그 : 작성된 프로그램에서 발생되는 문제를 해결하는 작업을 효율적으로 할 수 있도록 지원하는 기능을 말한다.9. 외부 데이터 표현 : 여러 기계 장치간의 차이점을 극복하기 위하여 장치 독립적인 데이터 구조를 사용하는 방법을 말한다.In addition, the server-side processing of the middleware service method for providing an integrated software development framework of the embedded system to achieve the object of the present invention, the first step of receiving a procedure execution request to retrieve the procedure ID (ID); And a second step of calling and processing the requested procedure. Meanwhile, before describing the detailed description of the present invention, the definitions of the functions provided by the present invention are as follows. .One. Naming service: A service that gives a logical name to a resource (that is, a server) that exists inside the system, and makes it accessible from the outside by returning a physical address through the name. Clustering: A method of connecting multiple computers to make them work as a single system. In general, multiple servers are clustered together to perform tasks that require powerful processing. If one of the clustered servers goes down, the operating system replaces the other server and the user can continue working without knowing whether the server is down. Thread functionality (multithreading): The CPU handles multiple threads at once, which is different from multitasking in that multiple software can be executed at one time in that it can execute multiple functions in one software. An example of this would be to continue writing while the document editor is faxing. 4. Timeout: When requesting a service for any server, if the server that needs to handle the service does not work abnormally or the service is not available due to a problem in the network, etc. It indicates that an error has occurred and allows other processing. Redundancy: In general, one service is performed on one server, but the service is executed simultaneously on multiple servers. Lock: A method used to ensure efficient and data integrity when a shared resource is used by multiple programs, which means that when one program is using the resource, another program is prohibited from using it. License: This is the function to maintain the contract between the supplier and the user of the product. Debug: A feature that allows you to efficiently troubleshoot problems with your program. External Data Representation: A method that uses device-independent data structures to overcome differences between different mechanical devices.

이하, 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 임베디스 시스템(Embedded System)의 통합 소프트웨어 개발 프레임워크'를 설명하면 다음과 같다.Hereinafter, an integrated software development framework of an embedded system according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명이 적용되는 실시간 미들웨어의 기능 및 인터페이스에 대하여 설명하기 위한 구성 예시도로서, 도면을 참조하면, 실시간 미들웨어 기능부(130)는 명명 서비스(Naming Service, 131), 클러스터링(Clustering, 132), 멀티 쓰레딩(Multi-threading, 133), 록킹(Locking, 136), 시간초과(Timeout, 134), 라이센싱(Licensing, 137), 디버그(Debug, 138), 외부 데이터 표현(XDR ; eXternal Data Representation, 139), 중복(Replication, 135) 등의 내부 기능을 제공하며, 인터페이스부(110)는 클라이언트(204)/서버(203)간에 서비스를 요청하고 제공하는 원격 프로시져 호출(Procedure, 111), 원격 라이브러리 호출(Library : 112), 원격 쓰레드 수행(Thread : 113), 원격 파일 접근(File : 114), 원격 메모리 접근(Memory : 115), 원격 프로그램 수행(Program : 116), 객체(Object) 수행(117) 기능 등을 제공한다. 즉, 소프트웨어 개발시 클라이언트(204) 측에서는 실시간 미들웨어가 제공하는 상기의 인터페이스부(110)를 사용하여 서버(203)측에 존재하는 요소들에 접근함으로써 서비스를 제공받을 수 있게 된다.FIG. 1 is an exemplary configuration diagram illustrating a function and an interface of a real-time middleware to which the present invention is applied. Referring to the drawings, the real-time middleware function unit 130 may include a naming service 131, clustering, and the like. 132), Multi-threading (133), Locking (136), Timeout (134), Licensing (137), Debug (Debug, 138), External data representation (XDR; eXternal Data Representation (139), redundancy (Replication, 135), such as internal functions, and the interface unit 110 is a remote procedure call (Procedure, 111) for requesting and providing a service between the client (204) / server (203), Remote library call (Library: 112), remote thread execution (Thread: 113), remote file access (File: 114), remote memory access (Memory: 115), remote program execution (Program: 116), object execution (117) provide functions and the like. That is, in the software development, the client 204 side may receive a service by accessing elements existing on the server 203 side using the interface unit 110 provided by the real-time middleware.

이러한 서비스들은 도 1에서와 같이 범용 컴퓨터(102)에서 뿐만 아니라 임베디드 시스템(Embedded System, 101)에서도 동일한 방식으로 제공될 수 있으며, 서비스 요청을 전달하고 그에 대한 응답을 반환하기 위한 방법으로서 UDP/IP 그리고, IPC 프로토콜(120)을 사용할 수 있다. 또한, 각 서비스들은 한 시스템에서 뿐만 아니라 여러 시스템 상에 분산되어질 수 있으며, 이러한 분산 환경에서 효율적으로 서비스를 제공하기 위한 방법인 명명 서비스(131) 구성이 하기의 도 2에 나타나 있다.These services can be provided in the same way in the embedded system 101 as well as in the general purpose computer 102 as shown in FIG. 1, and are UDP / IP as a way to forward service requests and return responses. And, IPC protocol 120 can be used. In addition, each service may be distributed not only in one system but also in several systems, and a naming service 131 configuration, which is a method for efficiently providing a service in such a distributed environment, is shown in FIG. 2.

도 2는 본 발명에 따른 명명 서비스(NS : Naming Service, 131)의 계층적인 구성 예시도로서, 주 명명 서버(MS : Master Name Server, 201)를 정점으로 상위 및 하위 명명 서버(first group and second group Name Server)들이 트리 구조로 연결되어 있음을 나타낸다. 시스템 별로 존재하는 각각의 하위 명명 서버(202)들은 서버(203)의 인증 및 등록, 클라이언트의 요청에 따른 서버 주소의 제공, 그리고 서버의 상태 체크 등의 기능을 수행한다. 가장 하위 명명 서버(202)들은 자신이 속한 시스템 내의 서버(203)들을 관리하며, 상위 명명 서버(205)들은 역시 자신이 속한 시스템 내의 서버들과 함께 자신보다 한 단계 낮은 하위 명명 서버(202)및 그에 속한 서버(203)들을 함께 관리한다. 최상위의 주 명명 서버(201)는 전체 시스템 내의 모든 서버에 대한 정보와 상위 명명 서버, 하위 명명 서버 및 기능서버를 포함하는 명명 서버(Name Server)들의 정보를 갖게 되며, 필요에 따라 정보를 제공할 수 있다.2 is an exemplary hierarchical configuration of a naming service (NS) 131 according to the present invention. The upper and lower naming servers are referred to as a master naming server (MS) 201 (first group and second). group Name Servers) are connected in a tree structure. Each of the lower naming servers 202 existing for each system performs functions such as authentication and registration of the server 203, provision of a server address according to a client's request, and check of a server's status. The lowermost naming servers 202 manage servers 203 in their systems, and the upper naming servers 205, along with the servers in their systems, are one level lower than themselves, and Servers 203 belonging to it are managed together. The primary primary naming server 201 has information about all servers in the entire system and information on the name servers, including the parent naming server, the child naming server, and the function server, and provides information as needed. Can be.

도 2를 참조하여 서버(203)의 등록 및 서비스 제공과정을 설명하면 다음과 같다.Referring to Figure 2 describes the registration and service providing process of the server 203 as follows.

도 2에서 서버(203)가 작동된 후 인증을 요청하고 자신을 정식 등록하기 위하여, 자신이 속한 시스템 내의 하위 명명 서버(202)에게 등록을 요청한다. 주 명명 서버(201)만이 해당 서버(203)에 대한 인증을 처리할 수 있으므로 해당 서버(203)의 등록 요청은 계층적으로 상위로 전달되어 최종적으로 주 명명 서버(201)에 도달하게 된다. 주 명명 서버(201)는 인증 처리를 한 후 그 결과를 통보하게 되는데, 등록 요청이 전달된 경로를 역으로 거슬러 가서 해당 서버(203)에 이르게 된다. 이렇게 등록된 서버(203)는 비로소 자신이 갖고 있는 서비스를 제공할 수 있게 된다. 이러한 서비스를 이용하기 위하여 클라이언트(204)는 서비스를 제공할 서버(203)의 위치를 사전에 파악하여야 하는데, 이것은 클라이언트(204)가 속한 하위 명명 서버(202)에게 요구함으로써 런-타임 시에 동적 방법으로 제공받을 수 있게 된다.여기서, 동적방법이란 다음의 의미를 내포하고 있다.클라이언트가 특정 서버에 대하여 서비스를 요청할 때, 클라이언트는 서버의 주소를 알아야만 그 주소를 통하여 서비스를 요청하고 그 결과를 받게 되는데, 이러한 주소가 프로그램이 수행되기 전에 결정되는 경우를 정적 방법이라 하고, 프로그램이 수행되어 필요로 할 때 주소 정보를 얻게 되는 것을 동적 방법이라 한다. 이렇게 제공받은 주소 정보를 이용하여 클라이언트(204)는 해당 서버(203)가 제공하는 서비스를 이용할 수 있게 된다.In FIG. 2, after the server 203 is operated, a request is made to the subordinate naming server 202 in the system to which it belongs to request authentication and register itself. Since only the primary naming server 201 can process authentication for the server 203, the registration request of the server 203 is transferred hierarchically to finally reach the primary naming server 201. The primary naming server 201 notifies the result after performing the authentication process, and goes back to the path through which the registration request is delivered, and reaches the corresponding server 203. The server 203 registered in this way can finally provide a service he has. In order to use this service, the client 204 must know in advance the location of the server 203 to provide the service, which can be dynamically requested at runtime by requesting the subordinate naming server 202 to which the client 204 belongs. In this case, the dynamic method implies the following meanings: When a client requests a service for a particular server, the client must know the server's address to request the service through the address and output the result. When this address is determined before the program is executed, the static method is called. The dynamic method is when the program is executed and needs address information. Using the provided address information, the client 204 can use the service provided by the server 203.

도 3은 본 발명에 따른 실시간 미들웨어의 메시지 헤더 프로토콜 구성 예시도로서, 클라이언트(204)와 서버(203) 그리고 명명 서버들(201, 202)간에 송수신되는 메시지의 공통 헤더 프로토콜을 보이고 있다. 하나의 서비스는 일정한 크기의 여러 메시지로 단편화될 수 있으며, 또한 서비스는 각 서비스의 주체(201, 202, 203, 204)간에 메시지 단위로 송수신된다. 이렇게 단편화되어 수신되는 메시지는 최종 수신측에서 조립된다. 메시지 헤더는 서비스의 유형, 사용되는 네트워크 프로토콜, 서비스의 처리 상태, 서비스 처리 번호, 서비스 길이 등 서비스에 대한 기본 정보와 함께 메시지 개수, 메시지 번호, 메시지 길이 등분된 메시지의 신뢰성 있는 전송을 위한 메시지 정보들로 구성된다. 또한, 실제 서비스의 내용은 메시지 헤더 이후의 데이터 영역에 실리게 된다. 각 서비스들을 구현하기 위해서는 이러한 메시지 헤더와 함께 데이터 영역에 실리는 서비스별 세부 프로토콜을 필요로 하는데 이에 관하여는 도 4 내지 도 8에 각각 예시되어 있다.3 is an exemplary message header protocol configuration of a real-time middleware according to the present invention, and shows a common header protocol of messages transmitted and received between the client 204 and the server 203 and the naming servers 201 and 202. A service may be fragmented into several messages of a certain size, and a service may be transmitted and received in message units between the subjects 201, 202, 203, and 204 of each service. This fragmented message is assembled at the final receiver. The message header contains basic information about the service, such as the type of service, the network protocol used, the processing status of the service, the service processing number, and the service length, along with message information for reliable transmission of the message count, message number, and message length. It consists of In addition, the contents of the actual service are carried in the data area after the message header. In order to implement each service, a detailed protocol for each service carried in the data area is required along with the message header, which is illustrated in FIGS. 4 to 8.

도 4는 본 발명에 따른 원격 프로시져 호출(111) 프로토콜에 대한 구성 예시도이다.4 is an exemplary configuration diagram of a remote procedure call 111 protocol according to the present invention.

도 4에 도시된 바와 같이, 클라이언트(204)는 호출하고자 하는 프로시져 아이디(ID)와 프로시져에 전달될 인수의 개수, 각 인수들의 데이터 유형과 크기 그리고, 인수의 값 등의 정보를 서버(203)에 전달함으로써 원격으로 프로시져를 호출할 수 있다. 서버(203)는 그러한 정보를 바탕으로 해당 프로시져를 검색하여 호출한 뒤, 그 결과값을 반환하게 된다. 프로시져의 처리 흐름도는 도 11과 도 12에 나타나 있다.As illustrated in FIG. 4, the client 204 may provide information, such as a procedure ID (ID), a number of arguments to be passed to the procedure, a data type and size of each argument, and a value of the argument, to the server 203. You can call a procedure remotely by passing it to. The server 203 retrieves and calls the procedure based on the information, and returns the result. The flow chart of the procedure is shown in FIGS. 11 and 12.

한편, 여기서 도시하지 않은 원격 라이브러리 호출(112)과 원격 쓰레드 수행(113) 서비스의 프로토콜 또한 도 4에 도시된 원격 프로시져 호출의 프로토콜 구성과 동일한 구조를 갖도록 구성할 수 있다.Meanwhile, the protocol of the remote library call 112 and the remote thread execution 113 service, which is not shown here, may also be configured to have the same structure as the protocol configuration of the remote procedure call shown in FIG. 4.

도 5는 본 발명에 따른 원격 프로그램 수행(116) 프로토콜에 대한 구성 예시도로서, 클라이언트는 수행할 프로그램명과 인수들을 서버에 전달함으로써 원격으로 프로그램을 수행할 수 있게 한다.5 is an exemplary configuration diagram of the remote program execution 116 protocol according to the present invention, and the client may remotely execute a program by passing a program name and arguments to be executed to a server.

도 6은 본 발명에 따른 원격 메모리 접근(115) 프로토콜에 대한 구성 예시도로서, 클라이언트는 접근할 메모리의 ID와 접근 유형, 옵셋 그리고 데이터를 서버에 전달함으로써 원격으로 메모리에 대해 접근할 수 있게 된다.6 is an exemplary configuration diagram of the remote memory access 115 protocol according to the present invention, and the client can access the memory remotely by passing the ID, access type, offset, and data of the memory to be accessed to the server. .

도 7은 본 발명에 따른 원격 파일 접근(114) 프로토콜에 대한 구성 예시도로서, 클라이언트는 접근할 파일의 디스크립터와 접근 유형 그리고, 접근 유형별 기타 정보와 데이터를 서버에 전달함으로써 원격으로 파일을 접근할 수 있게 된다.FIG. 7 is an exemplary configuration diagram of a remote file access 114 protocol according to the present invention. A client may access a file remotely by delivering a descriptor and an access type of a file to be accessed, and other information and data for each access type to a server. It becomes possible.

도 8은 본 발명에 따른 원격 객체 수행(117) 프로토콜에 대한 구성 예시도로서, 클라이언트는 수행할 객체(Object)의 ID(identification)와 멤버 ID, 접근 유형, 전달될 인수의 개수, 각 인수들의 데이터 유형과 크기 그리고, 인수의 값 등의 정보를 서버에 전달함으로써 원격으로 객체(Object)를 수행할 수 있게 된다.8 is an exemplary configuration diagram of a remote object execution 117 protocol according to the present invention, in which a client identifies an ID and a member ID, an access type, the number of arguments to be passed, and each argument of an object to be performed. By passing information such as data type and size, and the value of arguments to the server, you can run objects remotely.

도 9는 본 발명에 따른 명명 서비스(Naming Service)의 일실시예 처리 흐름도로서, 이에 대하여 구체적으로 설명하면 다음과 같다.9 is a flowchart illustrating an embodiment of a naming service according to the present invention, which will be described in detail below.

도 9에 도시된 바와 같이, 명명 서버는 그 위치에 따라 주 명명 서버(201), 상위 명명 서버(205) 혹은 하위 명명 서버(202)로 구분된다. 주 명명 서버(201)는 디스크(903)가 존재하는 사전 지정된 시스템에서 수행되는 명명 서버로서, 디스크(903) 상에 기록되어 있는 이름표(Name Table)와 클러스터 표(Cluster Table)라는 정보를 읽어 들여 내부적으로 초기화하게 된다(902). 모든 명명 서버는 메시지의 송·수신을 위하여 통신을 초기화 한 뒤(904), 클라이언트(204), 서버(203) 또는 다른 명명 서버들로부터 메시지 수신을 대기한다(905).이어서, 메시지가 수신되면(905), 메시지가 나타내는 서비스의 종류를 판별하여(906) 서버 등록, 서버 주소 요청 혹은 서버 상태 체크 등의 서비스를 처리하고(907), 각 서비스에 대한 처리 결과를 메시지 송신측에 전송한다(908). 명명 서버 자신의 상태를 출력할 주기가 되면(909), 서버 주소 정보 리스트를 화면에 출력하게 된다(910). 하나의 서비스를 수행하면 다시 메시지를 수신하기(905) 위하여 회귀하여 위의 과정을 반복하게 된다.As shown in Fig. 9, a naming server is divided into a main naming server 201, an upper naming server 205, or a lower naming server 202 according to its location. The primary naming server 201 is a naming server that runs on a pre-designated system where the disk 903 resides, and reads information called a name table and a cluster table recorded on the disk 903. Internally initialized (902). All naming servers initiate communication (904) for sending and receiving messages, and then wait for receiving messages from clients 204, server 203, or other naming servers (905). (905), the type of service indicated by the message is determined (906) to process services such as server registration, server address request or server status check (907), and the processing result for each service is transmitted to the message sender ( 908). When the cycle of outputting the status of the naming server itself is performed (909), the server address information list is displayed on the screen (910). When one service is performed, the process is repeated to receive a message again (905) and the above process is repeated.

도 10a 및 도 10b 는 본 발명에 따른 실시간 미들웨어 서버의 서비스 일실시예 처리 흐름도로서, 상세히 설명하면 다음과 같다.10A and 10B are flowcharts illustrating an embodiment of a service of a real-time middleware server according to the present invention.

도 10a 및 도 10b에 도시된 바와 같이, 서버(203)가 수행되면, 먼저 통신을 위한 핸들러를 생성하고(1001), 자신이 속한 시스템의 명명 서버에게 등록을 요청한다(1002).이어서, 정상적으로 등록되었다는 결과를 수신한(1003) 이후에 클러스터링(Clustering)된 다른 서버와 메모리 동기화(1004) 및 초기화(Initialization) 프로시져와 쓰레드 수행(1005), 그리고 쓰레드 풀(Thread Pool) 생성(1006) 등 초기화 작업을 수행한다. 초기화 작업이 완료된 이후에야 서비스가 가능한 상태로 되며, 클라이언트(204)로부터 메시지를 수신하게 된다(1007). 수신한 메시지가 분할된 서비스의 첫 메시지인 경우(1008), 처리 큐에 해당 서비스를 삽입한다(1009). 그리고, 수신된 메시지는 별도의 메시지 리스트에 삽입한다(1010). 수신한 메시지에 대한 처리 이후에 처리 큐를 검색하여 수행 가능한 서비스가 존재할 경우(1011), 쓰레드 풀(Pool) 내의 처리 가능한 쓰레드에게 서비스를 스케쥴링한다(1012). 스케쥴링된 쓰레드는 해당 서비스의 분할된 메시지들을 조합하고(1013), 서비스의 종류에 따라(1015) 프로시져 호출, 프로그램 수행, 메모리 접근, 파일 접근, 쓰레드 수행 등을 처리하게 된다(1016). 세부적인 서비스의 처리와 관련해서는 대표적으로 프로시져 호출에 대해 도 12에 나타나 있다(1016). 서비스 처리를 마친 후, 시간초과(Timeout)된 서비스를 삭제하고(1017) 서버 록을 점검하며(1018) 서버(203)에게 자신의 상태를 보고한다(1019). 그 이후에는 계속적으로 서비스를 수행하기 위하여 메시지 수신(1007) 작업부터 위의 과정을 반복한다.As shown in FIGS. 10A and 10B, when the server 203 is performed, first, a handler for communication is created (1001), and a registration request is requested (1002) from a naming server of a system to which it belongs. After receiving the result of registration (1003), initialization such as memory synchronization (1004), initialization procedure and thread execution (1005), and thread pool creation (1006) with other clustered servers. Do the work. After the initialization operation is completed, the service becomes available, and a message is received from the client 204 (1007). If the received message is the first message of the divided service (1008), the service is inserted into the processing queue (1009). The received message is inserted into a separate message list (1010). If there is a service that can search and process the processing queue after processing the received message (1011), the service is scheduled to the processable thread in the thread pool (1012). The scheduled thread combines the divided messages of the corresponding service (1013) and processes the procedure call, program execution, memory access, file access, thread execution, etc. according to the type of service (1015) (1016). Regarding the processing of detailed services, a procedure call is typically shown in FIG. 12 (1016). After the service is finished, the service timeout is deleted (1017), the server lock is checked (1018), and its status is reported to the server 203 (1019). After that, the above process is repeated from the message receiving operation 1007 to continuously perform the service.

도 11은 본 발명에 따른 클라이언트의 원격 프로시져 호출 방법에 대한 일실시예 처리 흐름도로서, 이를 구체적으로 설명하면 다음과 같다.11 is a flowchart illustrating a method for calling a remote procedure of a client according to the present invention, which will be described in detail below.

도 11에 도시된 바와 같이, 먼저 서비스를 요청하는 클라이언트(204)에서 핸들러를 생성한 뒤(1101), 해당 프로시져의 스터브(Stub)를 호출하면(1102) 스터브(Stub) 내부에서 호출하고자 하는 프로시져의 아이디(ID)가 부여된다(1103). 프로시져 ID는 개발자에 의해 명시적으로 부여되거나, IDL(Interface Definition Language) 컴파일러에 의해 자동으로 부여되는 프로시져 고유 번호이다.그리고, 서비스 데이터를 구성하는 프로시져 호출시 전달되는 인수들을 마샬링하여 하나의 서비스 데이터를 작성한다(1104). 서비스는 그 서비스의 총 길이가 최대 허용 길이를 초과하지 않는 범위 내에서 실현될 수 있다(1105). 해당 서비스를 제공할 서버의 위치 정보를 얻기 위하여 명명 서버(Name Server)에게 요청하고(1106) 서비스의 각 메시지들을 순서대로 전송한다(1107). 데이터의 신뢰성을 위하여 각 메시지가 전송된 뒤 서버는 해당 메시지의 정상 수신 여부를 통보하며 클라이언트는 이 긍정(ACK : ACKnowledgement) 메시지를 수신한(1108) 이후에야 다음 메시지를 전송하게 된다(1109). 서버가 모든 메시지를 처리한 후 클라이언트가 서버로부터 처리 결과값 및 시간 초과를 수신하여(1110) 시간을 초과하여도 결과값이 수신되지 않은 지의 여부를 판단하고(1111), 시간 내에 수신되면 결과값을 반환함으로써 프로시져 호출을 완료한다(1112). 만일 지정된 오류 발생 시간을 초과하여도 결과값이 수신되지 않는 경우에는 오류값을 반환하게 된다(1113).As shown in FIG. 11, first, after creating a handler in the client 204 requesting a service (1101), and calling the stub of the procedure (1102), the procedure to be called inside the stub (Stub) ID is given (1103). A procedure ID is a procedure-specific number that is either explicitly given by the developer or automatically given by the Interface Definition Language (IDL) compiler, and is a single piece of service data by marshaling the arguments passed in the procedure call that make up the service data. (1104). A service may be realized (1105) within a range in which the total length of the service does not exceed the maximum allowed length. In order to obtain location information of a server to provide a corresponding service, a name server is requested (1106), and each message of a service is sequentially transmitted (1107). After each message is sent for reliability of data, the server notifies whether the message is normally received, and the client transmits the next message only after receiving the acknowledgment (ACK) message (1108) (1109). After the server has processed all the messages, the client receives the processing result and timeout from the server (1110), and determines whether or not the result is received even if it exceeds the time (1111). The procedure call is completed by returning (1112). If the result value is not received even if the specified error occurrence time is exceeded, an error value is returned (1113).

도 12는 본 발명에 따른 서버의 원격 프로시져 호출 처리 방법에 대한 일실시예 처리 흐름도로서, 클라이언트(204)가 요청한 원격 프로시져 호출 서비스를 처리하는 서버(203)측의 스케쥴링된 쓰레드에서 처리되는 과정에 대한 것이며, 이를 구체적으로 설명하면 다음과 같다.12 is a flowchart illustrating an embodiment of a method for processing a remote procedure call of a server according to the present invention, which is processed in a scheduled thread on the server 203 side that processes a remote procedure call service requested by a client 204. It will be described in detail as follows.

도 12에 도시된 바와 같이, 먼저 프로시져 수행 요청을 접수하면(1201), 서비스 정보에 실려 있는 프로시져 ID와(1202) 프로시져 인수를 얻는다(1203). 프로시져 테이블을 검색하여(1204) 해당 프로시져 ID가 존재하는지 검사한 뒤(1205), 요청된 프로시져를 호출하고(1206) 그 반환값을 마샬링하여(1207) 클라이언트에 그 결과를 전송하게 된다(1208). 만일 해당 프로시져 ID가 존재하지 않는 경우는 오류값을 전송한다(1209).As shown in FIG. 12, when a procedure execution request is first received (1201), a procedure ID and a procedure argument contained in service information are obtained (1203). The procedure table is searched (1204) to check if the procedure ID exists (1205), then the requested procedure is called (1206) and the return value marshaled (1207) and the result sent to the client (1208). . If the procedure ID does not exist, an error value is transmitted (1209).

도 13는 본 발명에 따른 IDL 규약의 구성 예시도이다.13 is a diagram illustrating the configuration of an IDL protocol according to the present invention.

도 13에 도시된 바와 같이, 먼저 IDL 정의는 파일로 저장되며, 각 파일당 하나의 서버명(301)을 갖는다. 그 서버명은 서버(203)의 실제 이름이 된다. 지정한 서버가 가질 수 있는 서비스들을 서버명으로 시작하는 블록 내에 정의할 수 있는 바, 서버의 유형이 노말(NORMAL), 라이브러리(LIBRARY) 또는 파일(FILE)인지 서버의 유형을 지정(1302)할 수 있으며, 서버의 유형이 LIBRARY인 경우 라이브러리 서버의 텍스트 주소(Text Address)(1303)와 라이브러리 서버의 테이블 주소(Table Address)(1304)를 지정할 수 있다.그리고, 참조하는 원격 서버명들(1305)과 참조하는 라이브러리들(1306)을 지정함으로써 소프트웨어 개발을 용이하게 할 수 있도록 지원한다. 아울러, 상수 정의들(1307), 데이터 유형 정의들(1308), 프로시져 또는 라이브러리 정의들(1309), 메모리 정의들(1310), 쓰레드 정의들(1311), 그리고 프로그램 정의들(1312)을 지정할 수 있다.As shown in FIG. 13, the IDL definition is first stored as a file, with one server name 301 for each file. The server name is the actual name of the server 203. The services that a specified server can have can be defined in a block that begins with the server name, allowing you to specify the type of server (1302) whether the server is normal, library, or file. If the server type is LIBRARY, a text address 1303 of the library server and a table address 1304 of the library server may be designated. The remote server names 1305 may be referred to. And by designating libraries 1306 to refer to, to facilitate software development. In addition, constant definitions 1307, data type definitions 1308, procedure or library definitions 1309, memory definitions 1310, thread definitions 1311, and program definitions 1312 can be specified. have.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawing.

본 발명의 임베디드 시스템(Embedded System) 소프트웨어 통합 개발 프레임워크로서의 실시간 미들웨어는, 임베디드 시스템(Embedded System) 소프트웨어 개발에 있어 플랫폼과 네트워크 프로토콜, 그리고 개발 언어에 대한 독립적인 환경을 제공함으로써 개발 시간을 크게 단축해 주며, 새로운 기술의 신속한 도입을 가능케 하여 그 경쟁력을 높이는 효과가 있다.Real-time middleware as an embedded system software integrated development framework of the present invention significantly reduces development time by providing an independent environment for a platform, a network protocol, and a development language for embedded system software development. It enables the rapid introduction of new technology and increases its competitiveness.

또한, 각 플랫폼과 네트워크 프로토콜 등에 대해서 심도 있는 이해를 위한 내/외부 교육 및 시스템 프로그램 작성 등을 위하여 별도의 시간 및 경비 투여나 노력없이 사전 개발되고 검증된 실시간 미들웨어를 사용함으로써 그 기능을 쉽게 적용할 수 있도록 지원해 준다.In addition, it is easy to apply the function by using pre-developed and verified real-time middleware without additional time and expense administration or effort for internal / external education and system program writing for in-depth understanding of each platform and network protocol. To help.

아울러, 범용 컴퓨터 환경에 비해 상대적으로 취약한 개발 환경을 갖고 있는 임베디드 시스템(Embedded System) 상에서 개발되고 수행 되어야 할 소프트웨어를 범용 컴퓨터 상에서 보다 쉽게 시뮬레이션을 할 수 있도록 한 이 기능을 통해 범용 컴퓨터 상에서 지원되는 많은 개발 도구를 사용할 수 있도록 해 주며, 소프트웨어가 수행 되어야 하나 임베디드 시스템(Embedded System)이 갖춰 있지 않은 공간 또는 환경에서도 중단없는 개발을 가능케 해 준다. 아울러 여러 대의 장비가 연동되어야 하는 시스템의 개발에 있어서도 단 한 대의 장비로도 그것을 가능케 해 준다.In addition, this feature makes it easier to simulate software on a general-purpose computer that must be developed and run on an embedded system, which has a development environment that is relatively weaker than a general-purpose computer environment. It allows development tools to be used and enables uninterrupted development even in spaces or environments where software must be run but not embedded systems. In addition, in the development of a system in which several devices should be interlocked, a single device makes it possible.

특히, 본 발명은, 명명 서비스(Naming Service)를 이용함으로써 시스템의 구성(Architecture)을 자유롭게 재구성(restructuring)하는 것이 용이하다. 초기에 설계한 시스템의 구성에 따라 개발된 소프트웨어는 설계된 시스템의 구성 중 많은 부분이 종속적이다. 이러한 종속성은 시험 및 실제 수행을 통해 발생하는 문제의 해결을 위하여 또는 평가의 결과로 합리적인 시스템 구성을 새롭게 반영하기 위하여 시스템을 재구성 하고자 하는 경우, 많은 부분이 새롭게 개발되거나 코드의 수정이 불가피해지게 되며, 그러한 변경의 정당성을 검증하기 위하여 시험을 다시 수행 해야만 하는데, 이러한 상황에서 명명 서비스(Naming Service)는 시스템을 구성하는 소프트웨어 요소들의 위치와 상태 등을 정적.동적으로 관리해 줌으로써 새로운 개발이나 코드의 수정 없이도 재구성을 효과적으로 반영할 수 있게 해 주는 매우 우수한 효과를 갖는다.In particular, the present invention facilitates the free reconstruction of the architecture of the system by using a naming service. Software developed according to the configuration of the initially designed system is dependent on many of the configurations of the designed system. These dependencies are in many cases newly developed or modification of code is inevitable if the system is to be reconfigured to solve problems caused by testing and actual performance or to reflect new rational system configuration as a result of evaluation. In order to verify the validity of such changes, testing must be re-run. In this situation, the Naming Service modifies new development or code by statically and dynamically managing the location and state of the software components that make up the system. It has a very good effect that can effectively reflect the reconstruction without.

Claims (36)

임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 있어서,In a real-time middleware device that provides an integrated software development framework of an embedded system, 클라이언트/서버간에 서비스를 요청하고 제공하기 위하여 인터페이스 기능을 수행하기 위한 인터페이스 수단; 및Interface means for performing an interface function to request and provide a service between the client / server; And 시스템 내부에 존재하는 자원에 대하여 논리적인 이름을 부여하고, 그 이름을 통하여 물리적인 주소를 반환함으로써 외부에서의 접근이 가능하도록 하는 명명 서비스 기능부, CPU(Central Processing Unit)가 한번에 복수개의 쓰레드를 처리하는 쓰레드 기능부, 요청한 서비스에 대하여 일정 시간 내에 결과가 오지 않는 경우 오류가 발생하였음을 알리는 시간초과 기능부 및 장치 독립적인 데이터 구조를 사용하는 외부 데이터 표현 기능부를 포함하는 내부 기능 제공 수단The CPU (Central Processing Unit), a naming service function that allows logical access to resources existing within the system and makes them accessible from the outside by returning physical addresses through the names, allows multiple threads to be executed at once. Internal function providing means including a thread function to process, a timeout function to indicate that an error has occurred if a result is not returned within a certain time for the requested service, and an external data representation function using a device independent data structure. 을 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 내부 기능 제공 수단은,The internal function providing means, 복수대의 서버를 서로 클러스터링하는 클러스터링 기능부Clustering function to cluster multiple servers with each other 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 2 항에 있어서,The method of claim 2, 상기 클러스터링 기능부는,The clustering function unit, 실시간 미들웨어를 사용하여 모든 요소들을 구성할 경우에 별도의 장비없이 소결합 장애 허용 시스템이 실현되도록 지원하는 것을 특징으로 하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.A real-time middleware device that provides an integrated software development framework for an embedded system, characterized in that, when configuring all elements using a real-time middleware, the uncoupled fault-tolerant system is realized without any equipment. 제 2 항에 있어서,The method of claim 2, 상기 내부 기능 제공 수단은,The internal function providing means, 여러 서버에 대하여 해당 서비스가 동시에 수행되도록 하는 중복 기능부Redundancy that allows the service to run simultaneously on multiple servers 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 4 항에 있어서,The method of claim 4, wherein 상기 내부 기능 제공 수단은,The internal function providing means, 하나의 프로그램이 해당 자원을 사용하고 있는 경우 다른 프로그램으로 하여금 그 자원의 사용을 금지시키는 기능을 하는 록 기능부If one program is using the resource, a lock function that allows another program to prohibit the use of that resource. 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 1 항에 있어서,The method of claim 1, 상기 내부 기능 제공 수단은,The internal function providing means, 여러 서버에 대하여 해당 서비스가 동시에 수행되도록 하는 중복 기능부Redundancy that allows the service to run simultaneously on multiple servers 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 6 항에 있어서,The method of claim 6, 상기 내부 기능 제공 수단은,The internal function providing means, 하나의 프로그램이 해당 자원을 사용하고 있는 경우 다른 프로그램으로 하여금 그 자원의 사용을 금지시키는 기능을 하는 록 기능부If one program is using the resource, a lock function that allows another program to prohibit the use of that resource. 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 1 항에 있어서,The method of claim 1, 상기 내부 기능 제공 수단은,The internal function providing means, 하나의 프로그램이 해당 자원을 사용하고 있는 경우 다른 프로그램으로 하여금 그 자원의 사용을 금지시키는 기능을 하는 록 기능부If one program is using the resource, a lock function that allows another program to prohibit the use of that resource. 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 8, 상기 내부 기능 제공 수단은,The internal function providing means, 제품의 공급자와 사용자간의 계약사항을 유지시키는 기능을 하는 라이센스 기능부; 및A license function unit for maintaining a contract between the supplier and the user of the product; And 작성된 프로그램에서 발생되는 문제를 해결하는 작업을 효율적으로 할 수 있도록 지원하는 기능을 하는 디버그 기능부Debug function function that helps to efficiently solve problems that occur in the created program. 를 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 9 항에 있어서,The method of claim 9, 상기 인터페이스 수단은,The interface means, 미들웨어 내의 클라이언트가 서비스를 요청하고 서버가 해당 서비스를 제공하기 위하여, 클라이언트는 물리적으로 분리된 프로시져를 원격으로 호출하는 원격호출수단; 및Remote calling means for remotely invoking a physically separated procedure so that a client in the middleware requests a service and the server provides the service; And 서버가 그 수행의 결과를 클라이언트에게 반환하는 결과반환수단Result return means by which the server returns the result of the execution to the client 을 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system comprising a. 제 9 항에 있어서,The method of claim 9, 상기 인터페이스 수단은,The interface means, 원격으로 프로시져를 호출할 수 있도록 하는 원격 프로시져 호출 기능부;A remote procedure call function to enable the procedure to be called remotely; 원격으로 라이브러리를 호출할 수 있도록 하는 원격 라이브러리 호출 기능부;A remote library call function to enable remote library call; 원격으로 쓰레드를 수행할 수 있도록 하는 원격 쓰레드 수행 기능부;A remote thread execution function to enable a thread to be executed remotely; 원격으로 파일을 접근할 수 있도록 하는 원격 파일 접근 기능부;A remote file access function to allow remote file access; 원격으로 메모리를 접근할 수 있도록 하는 원격 메모리 접근 기능부;A remote memory access function for allowing the memory to be accessed remotely; 원격으로 프로그램을 수행할 수 잇도록 하는 원격 프로그램 수행 기능부; 및A remote program execution function to enable a program to be executed remotely; And 원격으로 객체를 수행할 수 있도록 하는 원격 객체수행 기능부Remote object execution function to enable the object to be executed remotely 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system comprising a. 제 11 항에 있어서,The method of claim 11, 상기 명명 서비스 기능부는,The naming service function unit, 해당 노드에서 수행되는 서버들을 분산 관리하기 위하여, 임베디드 시스템 상의 각 노드에 배치되고 논리적 구성에 따라 계층적으로 배치된 적어도 하나의 하위 명명 서버(Name Server); 및At least one subordinate name server disposed at each node on the embedded system and hierarchically arranged according to a logical configuration in order to distribute and manage servers performed in the corresponding node; And 상기 하위 명명 서버를 포함하는 전체 시스템의 구성을 관리하기 위하여, 최상위에 배치된 주 명명 서버(Master Name Server)Master Name Server located at the top for managing the configuration of the entire system including the lower naming server 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system comprising a. 제 11 항에 있어서,The method of claim 11, 상기 명명 서비스 기능부는,The naming service function unit, 임베디드 시스템 상에서 실시간 미들웨어 내의 서비스를 제공하는 서버의 물리적인 위치가 동적으로 변경되어도, 사전 정의된 논리적인 주소를 사용하는 클라이언트에서는 그 소프트웨어의 변경이나 재 컴파일 등의 작업없이 서비스를 구현할 수 있도록 지원하는 것을 특징으로 하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Even if the physical location of the server providing the service in the real-time middleware on the embedded system is changed dynamically, the client using the predefined logical address can implement the service without changing or recompiling the software. Real-time middleware device providing an integrated software development framework of an embedded system. 제 12 항에 있어서,The method of claim 12, 인터페이스 정의 언어를 컴파일하기 위한 인터페이스 정의 언어 컴파일러 수단; 및Interface definition language compiler means for compiling an interface definition language; And 상기 인터페이스 정의 언어 컴파일러 수단에 의하여 컴파일 옵션을 플랫폼에 맞게 지정하여 상기 플랫폼에 대한 맵핑을 구현하기 위한 인터페이스 정의 언어(IDL) 규약 제공 수단Means for providing an interface definition language (IDL) protocol for implementing a mapping for the platform by specifying a compilation option for the platform by the interface definition language compiler means 을 더 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Real-time middleware device providing an integrated software development framework of an embedded system further comprising. 제 14 항에 있어서,The method of claim 14, 상기 인터페이스 정의 언어 컴파일러 수단은,The interface definition language compiler means, 소프트웨어를 개발하고 수행하고자 하는 임베디드 시스템(Embedded System)의 플랫폼과 네트워크 프로토콜 및 개발 언어 등에 관계없이 공통의 단일한 인터페이스를 정의하고, 그 인터페이스를 구현함을 특징으로 하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.An integrated software development framework for embedded systems characterized by defining a single common interface and implementing the interface regardless of the platform, network protocol and development language of the embedded system to develop and execute software. Real-time middleware device providing. 제 14 항에 있어서,The method of claim 14, 상기 인터페이스 정의 언어(IDL) 규약 제공 수단은,The interface definition language (IDL) protocol provision means, 원격 서버명들, 라이브러리들, 상수 정의들, 데이터 유형 정의들, 프로시져 또는 라이브러리 정의들, 메모리 정의들, 쓰레드 정의들 및 프로그램 정의들을 제공하는 것을 특징으로 하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치.Provides an integrated software development framework for embedded systems characterized by providing remote server names, libraries, constant definitions, data type definitions, procedure or library definitions, memory definitions, thread definitions, and program definitions. Real time middleware device. 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 적용되는 실시간 미들웨어 서비스 방법에 있어서,A real-time middleware service method applied to a real-time middleware device that provides an integrated software development framework of an embedded system, 임베디드 시스템(Embedded System)의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어를 구현하기 위한 프로토콜은,The protocol for implementing real-time middleware that provides an integrated software development framework for embedded systems is 모든 상호 접속 수단에 공통이면서 클라이언트/서버 사이에 서비스를 요청하고 제공하기 위한 메시지 프로토콜;A message protocol common to all interconnection means and for requesting and providing services between clients / servers; 원격으로 프로시져를 호출하기 위한 프로시져 프로토콜;A procedure protocol for calling a procedure remotely; 원격으로 라이브러리를 호출하기 위한 라이브러리 프로토콜;A library protocol for calling a library remotely; 원격으로 쓰레드를 호출하기 위한 프로시져 프로토콜;Procedure protocol for invoking threads remotely; 원격으로 파일을 접근하기 위한 파일 프로토콜;File protocols for accessing files remotely; 원격으로 메모리에 접근하기 위한 메모리 프로토콜;A memory protocol for accessing memory remotely; 원격으로 프로그램을 수행하기 위한 프로그램 프로토콜; 및A program protocol for executing a program remotely; And 원격으로 객체를 수행하기 위한 객체 수행 프로토콜Object Execution Protocol for Remotely Performing Objects 을 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 장치에 적용되는 실시간 미들웨어 서비스 방법에 있어서,A real-time middleware service method applied to a real-time middleware device that provides an integrated software development framework of an embedded system, 명명 서비스를 수행하는 명명 서비스 처리과정;Naming service processing to perform a naming service; 미들웨어가 실시간으로 처리를 행하는 미들웨어 서버 실시간 처리과정;Middleware server real-time processing process that the middleware performs the processing in real time; 원격 프로시져 호출을 요청하기 위하여 클라이언트측에서 처리되는 클라이언트측 처리과정; 및Client-side processing that is processed at the client side to request a remote procedure call; And 클라이언트가 요청한 원격 프로시져 호출 서비스의 처리를 위하여 서버측의 스케쥴링된 쓰레드에서 처리되는 서버측 처리과정Server-side processing performed in the server-side scheduled thread for processing of the remote procedure call service requested by the client. 을 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 18 항에 있어서,The method of claim 18, 상기 명명 서비스 처리과정은,The naming service processing process, 현재의 명명 서버를 인식하여 통신을 초기화하는 제 1 단계;A first step of recognizing a current naming server and initiating communication; 메시지를 수신하고, 수신된 메시지에 나타나는 서비스를 처리하는 제 2 단계; 및A second step of receiving a message and processing a service appearing in the received message; And 서비스에 대한 처리 결과를 전송함으로써 서비스의 수행을 완료하는 제 3 단계Third step of completing the performance of the service by sending the processing result for the service 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 19 항에 있어서,The method of claim 19, 상기 제 1 단계는,The first step is, 현재의 명명 서버(Name Server)가 주 명명 서버(Master Name Server)인지의 여부를 판단하는 단계;Determining whether the current Name Server is a Master Name Server; 상기 주 명명 서버가 디스크 상의 정보를 읽어 들여 내부적으로 초기화하는 단계; 및The primary naming server reading information on the disk and initializing it internally; And 메시지의 송수신을 위하여 모든 명명 서버가 통신을 초기화하는 단계Initializing communication by all naming servers to send and receive messages. 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 19 항에 있어서,The method of claim 19, 상기 제 2 단계는,The second step, 클라이언트, 서버 또는 다른 명명 서버로부터 메시지를 수신하는 단계;Receiving a message from a client, server or other naming server; 수신된 메시지가 나타내는 서비스의 종류를 판별하는 단계; 및Determining a type of service indicated by the received message; And 서비스의 종류에 따라 서버 등록서비스, 서버 주소 요청 서비스, 서버 상태 체크 서비스 중 하나를 처리하는 단계Processing one of the server registration service, server address request service, and server status check service according to the type of service 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 19 항에 있어서,The method of claim 19, 상기 제 3 단계는,The third step, 각 서비스에 대한 처리 결과를 메시지 송신측에 전송하는 단계;Transmitting a processing result for each service to a message sender; 명명 서버가 자신의 상태를 출력할 주기가 되었는지를 판단하는 단계;Determining whether the naming server has come to output its status; 서버 주소 정보 리스트를 화면에 출력하는 단계; 및Outputting a list of server address information to a screen; And 서버 등록, 서버 주소 요청, 서버 상태 체크 중 하나의 서비스의 수행을 완료한 후, 다시 메시지를 수신하는 단계로 회귀하는 단계After completing the service of server registration, server address request, and server status check, return to receiving the message again. 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 18 항에 있어서,The method of claim 18, 상기 미들웨어 서버 실시간 처리과정은,The middleware server real time processing process, 명명 서버에 등록하여 서버를 초기화하는 제 1 단계;Registering with a naming server to initialize the server; 메시지를 수신하고, 수신된 메시지를 처리하는 제 2 단계;A second step of receiving a message and processing the received message; 처리 큐에 존재하는 서비스를 처리 가능한 쓰레드에게 스케쥴링하는 제 3 단계;Scheduling a service existing in the processing queue to a processable thread; 분할된 메시지를 조합하여 서비스를 처리하는 제 4 단계; 및A fourth step of processing the service by combining the divided messages; And 메시지처리 이외의 주기적으로 발생하는 서비스를 처리하는 제 5 단계5th step of processing periodically occurring services other than message processing 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23 항에 있어서,The method of claim 23, 상기 제 1 단계는,The first step is, 서버가 작동되면 통신을 위한 핸들러를 생성하는 단계;Generating a handler for communication when the server is operated; 자신이 속한 시스템의 명명 서버에게 등록을 요청하는 단계;Requesting registration from a naming server of a system to which the system belongs; 정상적으로 등록되었다는 결과를 수신하는 단계;Receiving a result of being registered normally; 클러스터링(Clustering)된 다른 서버와 메모리 동기화를 이루는 단계;Achieving memory synchronization with another clustered server; 초기화를 위하여 초기화(Initialization) 프로시져와 쓰레드를 수행하는 단계; 및Performing an initialization procedure and thread for initialization; And 초기화를 위하여 쓰레드 풀(Tread Pool)을 생성하는 단계Creating a Thread Pool for Initialization 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23 항에 있어서,The method of claim 23, 상기 제 2 단계는,The second step, 클라이언트로부터 메시지를 수신하는 단계;Receiving a message from a client; 수신한 메시지가 분할된 서비스의 첫 메시지인지의 여부를 판단하는 단계;Determining whether the received message is the first message of the divided service; 첫 메시지이면 처리 큐에 해당 서비스를 삽입하고, 아니면 삽입하지 아니하는 단계; 및Inserting the corresponding service into the processing queue if the message is the first message, or not inserting the corresponding service; And 수신된 메시지를 별도의 메시지 리스트에 삽입하는 단계Inserting received messages into a separate message list 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23 항에 있어서,The method of claim 23, 상기 제 3 단계는,The third step, 수신한 메시지에 대한 처리 이후에 처리 큐를 검색하여 수행 가능한 서비스가 존재하는지의 여부를 판단하여 수행 가능한 서비스가 없으면 메시지를 수신하는 단계로 회귀하는 단계; 및Searching for a processing queue after processing the received message, determining whether there is a service that can be performed, and if there is no service that can be performed, returning to the step of receiving a message; And 수행 가능한 서비스가 있으면 쓰레드 풀 내의 처리 가능한 쓰레드에게 서비스를 스케쥴링하는 단계Scheduling services to processable threads in the thread pool, if any 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23 항에 있어서,The method of claim 23, 상기 제 4 단계는,The fourth step, 스케쥴링된 쓰레드가 해당 서비스의 분할된 메시지들을 조합하는 단계;The scheduled thread combining the partitioned messages of the service; 메시지 조합의 오류 여부를 판단하여 오류가 있으면 메시지를 수신하는 단계로 회귀하는 단계;Determining whether a message combination is in error and returning to receiving the message if there is an error; 메시지 조합에 오류가 없으면 서비스의 종류를 판단하는 단계; 및Determining the type of service if there is no error in the message combination; And 서비스의 종류에 따라 서비스를 처리하는 단계Processing the service according to the type of service 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23 항에 있어서,The method of claim 23, 상기 제 5 단계는,The fifth step, 서비스 처리를 완료한 후, 시간초과(Timeout)된 서비스를 삭제하는 단계;Deleting the service timed out after completing the service processing; 서버 록을 점검하는 단계;Checking the server lock; 명명 서버에게 자신의 상태를 보고하는 단계; 및Reporting its status to the naming server; And 이후에는 계속적인 서비스의 수행을 위하여 메시지를 수신하는 단계로 회귀하는 단계Thereafter, returning to the step of receiving a message for continuous service execution. 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 23항 내지 제 27 항 중 어느 한 항에 있어서,The method according to any one of claims 23 to 27, 상기 수신된 메시지는 프로시져 호출, 프로그램 수행, 메모리 접근, 파일 접근, 쓰레드 수행 중 하나인 것을 특징으로 하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.The received message is a real-time middleware service method for providing an integrated software development framework of an embedded system, characterized in that the procedure call, program execution, memory access, file access, thread execution. 제 18 항에 있어서,The method of claim 18, 상기 클라이언트측 처리과정은,The client-side processing, 초기화 및 데이터를 마샬링하는 제 1 단계;Initializing and marshalling data; 해당 서비스를 제공할 서버의 위치 정보를 얻어 메시지를 전송하는 제 2 단계; 및A second step of obtaining location information of a server to provide a corresponding service and transmitting a message; And 모든 메시지의 전송이 완료되면 서버로부터 처리 결과값을 수신하고 처리 결과값을 반환하여 프로시져 호출을 완료하는 제 3 단계The third step of receiving the processing result from the server and returning the processing result when completing the transmission of all messages to complete the procedure call. 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 30 항에 있어서,The method of claim 30, 상기 제 1 단계는,The first step is, 서비스를 요청하는 클라이언트에서 핸들러를 생성하는 단계;Creating a handler at the client requesting the service; 해당 프로시져의 스터브(Stub)를 호출하는 단계;Calling a stub of the procedure; 스터브(Stub) 내부에서 호출하고자 하는 프로시져의 아이디(ID)가 부여되는 단계;Granting an ID of a procedure to be called in a stub; 프로시져 호출시 전달되는 인수들을 마샬링하여 하나의 서비스 데이터를 작성하는 단계; 및Marshalling arguments passed in the procedure call to create one service data; And 작성된 서비스 데이터의 총 길이가 최대 허용 길이를 초과하는지를 판단하는 단계Determining if the total length of the created service data exceeds the maximum allowed length 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 30 항에 있어서,The method of claim 30, 상기 제 2 단계는,The second step, 초과하지 않으면 해당 서비스를 제공할 서버의 위치 정보를 얻는 단계;If not exceeding, obtaining location information of a server to provide a corresponding service; 서버로 서비스의 각 메시지들을 순서대로 전송하는 단계;Transmitting each message of the service in order to the server; 각 메시지가 전송된 뒤 서버가 해당 메시지의 정상 수신 여부를 통보하며 클라이언트는 이 긍정(ACK) 메시지를 수신한 후, 다음 메시지를 전송하는 단계; 및After each message is sent, the server notifies whether or not the message is normally received, and after the client receives the acknowledgment message, transmitting the next message; And 클라이언트가 모든 메시지를 전송하였는지를 판단하여 아니면 서버로 메시지를 전송하는 단계로 회귀하는 단계Determining whether the client has sent all messages or returning to sending the message to the server 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 30 항에 있어서,The method of claim 30, 상기 제 3 단계는,The third step, 서버가 모든 메시지를 처리한 후, 클라이언트가 서버로부터 처리 결과값 및 시간 초과를 수신하는 단계;After the server has processed all the messages, the client receiving processing results and timeouts from the server; 시간을 초과하여도 결과값이 수신되지 않은지의 여부를 판단하는 단계;Determining whether a result value has not been received even if it exceeds time; 시간 내에 수신되면 결과값을 반환하여 프로시져 호출을 완료하는 단계; 및Returning a result value if received in time to complete the procedure call; And 지정된 오류 발생 시간을 초과하여도 결과값이 수신되지 않는 경우에는 오류값을 반환하는 단계If no result is received after exceeding the specified error occurrence time, return the error value. 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 18 항에 있어서,The method of claim 18, 상기 서버측 처리과정은,The server side processing, 프로시져 수행 요청을 접수하여 해당 프로시져 아이디(ID)를 검색하는 제 1 단계; 및Receiving a procedure execution request and retrieving a corresponding procedure ID; And 요청된 프로시져를 호출하여 처리하는 제 2 단계Second step of calling and processing the requested procedure 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 34 항에 있어서,The method of claim 34, wherein 상기 제 1 단계는,The first step is, 프로시져 수행 요청을 접수하는 단계;Accepting a request to perform a procedure; 서비스 정보에 실려 있는 프로시져 ID를 얻는 단계;Obtaining a procedure ID contained in the service information; 프로시져 인수를 얻는 단계;Obtaining procedure arguments; 프로시져 테이블을 검색하는 단계; 및Retrieving a procedure table; And 해당 프로시져 ID가 존재하는지 검사하는 단계Steps to check that the procedure ID exists 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a. 제 34 항에 있어서,The method of claim 34, wherein 상기 제 2 단계는,The second step, 존재하면 요청된 프로시져를 호출하는 단계;Invoking the requested procedure, if present; 반환값을 마샬링하는 단계;Marshaling the return value; 클라이언트에 그 결과를 전송하는 단계; 및Sending the result to the client; And 만일 해당 프로시져 ID가 존재하지 않는 경우는 오류값을 전송하는 단계If the procedure ID does not exist, sending an error value 를 포함하는 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를 제공하는 실시간 미들웨어 서비스 방법.Real-time middleware service method providing an integrated software development framework of an embedded system comprising a.
KR10-2000-0053958A 2000-09-14 2000-09-14 Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method KR100370548B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0053958A KR100370548B1 (en) 2000-09-14 2000-09-14 Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0053958A KR100370548B1 (en) 2000-09-14 2000-09-14 Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method

Publications (2)

Publication Number Publication Date
KR20020021237A KR20020021237A (en) 2002-03-20
KR100370548B1 true KR100370548B1 (en) 2003-02-05

Family

ID=19688606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0053958A KR100370548B1 (en) 2000-09-14 2000-09-14 Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method

Country Status (1)

Country Link
KR (1) KR100370548B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180066301A (en) 2016-12-07 2018-06-19 주식회사 리얼햅틱스 Physical effect integrated authoring system of virtual reality

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351828C (en) * 2002-06-06 2007-11-28 联想(北京)有限公司 File access method based on a distributed file storage system
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
KR100985332B1 (en) * 2003-03-11 2010-10-04 엘지전자 주식회사 digital broadcasting receiver and the operating method
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
KR100759816B1 (en) * 2005-12-08 2007-09-20 한국전자통신연구원 Web-Based Development Environment Providing System and Method for Integrated Configuration of Embedded Linux Kernel and Application
KR100833494B1 (en) * 2006-09-14 2008-05-29 한국전자통신연구원 Apparatus for lightweighting application through duplicating management of application in environment of OSGi middleware for embedded terminal and method thereof
US7992781B2 (en) 2009-12-16 2011-08-09 Visa International Service Association Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
KR101148364B1 (en) * 2010-12-06 2012-05-23 중앙대학교 산학협력단 A dynamic integration among heterogeneous middleware, memory management system and the method for controller in cyber-physical system
KR102007257B1 (en) 2012-03-05 2019-08-05 삼성전자주식회사 System and method for providing guideline of optimizing platform
KR101407725B1 (en) * 2012-10-16 2014-06-13 충남대학교산학협력단 Test Equipments capable of Real Time Communication
CN113535419A (en) * 2020-04-16 2021-10-22 北京沃东天骏信息技术有限公司 Service arranging method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180066301A (en) 2016-12-07 2018-06-19 주식회사 리얼햅틱스 Physical effect integrated authoring system of virtual reality

Also Published As

Publication number Publication date
KR20020021237A (en) 2002-03-20

Similar Documents

Publication Publication Date Title
Schmidt et al. C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks
US7546606B2 (en) System and method using a connector architecture for application integration
Volter et al. Remoting patterns
US6950866B1 (en) XML-based integrated services parsing
US7607128B2 (en) Method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented programming method calls
US6148323A (en) System and method for managing the execution of system management
US8181151B2 (en) Modeling and managing heterogeneous applications
US8095823B2 (en) Server computer component
US8984534B2 (en) Interfacing between a receiving component of a server application and a remote application
US7530081B2 (en) System for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service
US7346921B2 (en) Definition of low-level security rules in terms of high-level security concepts
US20080141139A1 (en) Architecture and Process for Presenting Application Content to Clients
US20090300093A1 (en) Server computer
US7490331B2 (en) Mapping to and from native type formats
KR100370548B1 (en) Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method
WO2003034183A2 (en) System and method using a connector architecture for application integration
WO2017166166A1 (en) System and method for providing runtime tracing for web-based client accessing transactional middleware platform using extension interface
Kinny The Agentis Agent InteractionModel
US20100299677A1 (en) Article of manufacture for programmatically describing web service-driven applications
WO2005119430A2 (en) Method and system for collecting processor information
Fayçal et al. Integrating legacy systems in a SOA using an agent based approach for information system agility
Singhai QuarterWare: A middleware toolkit of software RISC components
KR20040002624A (en) The Apparatus & Method to link Multi Protocol For Component Middleware In Real-Time
Saridogan et al. A Real-Time and Distributed System with Programming Language Abstraction.
McDaniel Jr Corba Technology applied to the San Luis integrated development environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee