This application claims priority to and the benefit of Korean Patent Application No. 10-2014-0049503 filed in the Korean Intellectual Property Office on Apr. 24, 2014, the entire contents of which are incorporated herein by reference.
The present invention relates to a function module e modularizing method in a data distribution service and a modularizing apparatus thereof.
A cyber physical system (CPS) is a system in which elements of a cyber system and actual physical system elements are closely associated and combined. In the CPS, the cyber system flexibly adapts to a change of a physical environment and reconfigures the system by analyzing a physical system to improve reliability. Various communication middleware which can be used under a CPS environment are proposed and in particular, a data distribution service (DDS) communication middleware proposed by OMG is suitable for usage under the CPS environment. A DDS is first made by the necessity of standardization of a data centered publication and subscription programming model in a distribution system. The DDS assists rapid and easy message transmission in a system in which a message is frequently transferred. The DDS aims at rapidly and easily processing data transmission among a plurality of nodes which are complexly entangled.
A DDS standard is constituted by an RTTS layer taking charge of transmitting and receiving data and processing network data, a DCPS layer providing an interface for data transmission and reception based on publication/subscription to a user, and a DLRL layer providing an object based access interface to user data. The user can arbitrarily use a DDS communication function based on the DDS standard. However, since the DDS standard as a standard for the publication/subscription based data transmission and reception does not propose a standard for addition of a new function except for the standard, when a new user function is added, the case of violating the structure of a DDS communication middleware occurs.
The present invention has been made in an effort to provide a modularizing method and a modularizing apparatus in which a user or a developer can create/add a function module without violating a DDS middleware structure in a standard specification range.
The technical objects of the present invention are not limited to the aforementioned technical objects, and other technical objects, which are not mentioned above, will be apparent to those skilled in the art from the following description.
An exemplary embodiment of the present invention provides a modularizing apparatus modularizing a function module in DDS middleware, including: a DCPS module providing an interface with an application program; and a library module creating the function module, classifying the created function module for each function and storing the classified function module, and providing a function module corresponding to a request by the DCPS module to the DCPS module.
The library module may include: a connection module providing an interface with the DCPS module; a creation module initializing and creating the function module; a classification module classifying the created function module for each function and storing the classified function module; and a management module searching for the classification module and transferring the function module corresponding to the request by the DCPS module to the DCPS module through the connection module.
The creation module may initialize and create the function module by using function module distinguishing information, a function module creation function, and a function module setting variable.
The function module distinguishing information may include at least one of a name of the function module, a characteristic of the function module, and importance of the function module.
The function module setting variable may have any one of bool, integer, float, and string values.
The creation module may be defined as a structure including a common setting function for initializing the function module.
The function module may include at least one of an RTPS module, a QoS module, a TypeSupport module, and a UDP module.
Another exemplary embodiment of the present invention provides a modularizing method modularizing a function module in DDS middleware, including: configuring a common setting function for initializing the function module; initializing the function module by executing the common setting function; and creating the function module by using function module distinguishing information, a function module creation function, and a function module setting variable.
The method may further include classifying the created function module for each function and storing the classified function module.
The method may further include transferring a function module corresponding to a request by a DCPS module in the created function module to the DCPS module.
According to exemplary embodiments of the present invention, in a modularizing method and a modularizing apparatus, a user or a developer can create/add a function module without violating a DDS middle structure in a standard specification range.
The exemplary embodiments of the present invention are illustrative only, and various modifications, changes, substitutions, and additions may be made without departing from the technical spirit and scope of the appended claims by those skilled in the art, and it will be appreciated that the modifications and changes are included in the appended claims.
The exemplary embodiments of the present invention are illustrative only, and various modifications, changes, substitutions, and additions may be made without departing from the technical spirit and scope of the appended claims by those skilled in the art, and it will be appreciated that the modifications and changes are included in the appended claims.
Objects of the present invention are not limited the aforementioned object and other objects and advantages of the present invention, which are not mentioned can be appreciated by the following description and will be more apparently know by the exemplary embodiments of the present invention. It can be easily known that the objects and advantages of the present invention can be implemented by the means and a combination thereof described in the appended claims.
It should be understood that the appended drawings are not necessarily to scale, presenting a somewhat simplified representation of various features illustrative of the basic principles of the invention. The specific design features of the present invention as disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes will be determined in part by the particular intended application and use environment.
In the figures, reference numbers refer to the same or equivalent parts of the present invention throughout the several figures of the drawing.
Hereinafter, some exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. When reference numerals refer to components of each drawing, it is to be noted that although the same components are illustrated in different drawings, the same components are referred to by the same reference numerals as possible. In describing the exemplary embodiments of the present invention, when it is determined that the detailed description of the known art related to the present invention may obscure the understanding of the present invention, the detailed description thereof will be omitted.
Terms such as first, second, A, B, (a), (b), and the like may be used in describing the components of the exemplary embodiments according to the present invention. The terms are only used to distinguish a constituent element from another constituent element, but nature or an order of the constituent element is not limited by the terms. Unless otherwise defined, all terms used herein including technological or scientific terms have the same meaning as those generally understood by a person with ordinary skill in the art to which the present invention pertains. Terms which are defined in a generally used dictionary should be interpreted to have the same meaning as the meaning in the context of the related art, and are not interpreted as an ideally or excessively formal meaning unless clearly defined in the present invention.
The present invention relates to a function module modularizing method in a data distribution service (DDS) and a modularizing apparatus thereof, and more particularly, to a modularizing method and a method thereof that implement an RTPS standard layer and a user function module to a service plug-in form in a DDS to allow the RTPS layer to interwork with a DCPS layer when a user needs and modularizes a function module developed by the user to use the modularized function module in a DDS application in case of need. In the specification, ‘modularizing’ may mean an operation that allows the user to initialize and create various function which may be used in the DDS by the unit of a module.
Referring to
The DCPS module 110 may be defined as a DCPS layer defined in a data distribution service (DDS) standard. For example, the DCPS module 110 is an interface having a data publishing/subscribing function provided to an application program and the application program may publish/subscribe desired data without recognizing a counterpart which will exchange data through the DCPS module 110. The DCPS module 110 may provide an API in a read( )write( )mode to provide a data exchange function between application programs in the read/write mode.
The library module 120 may manage a function module (e.g., service plug-in) which may be used in a DDS. For example, the library module 120 may modularize the function module. That is, the library module 120 may initialize and create the function module, and classify the created function module for each function and store the classified function module. The library module 120 may search for a function module corresponding to a request by the DCPS module 110 and provide the searched function module to the DCPS module 110. The function module may include, for example, an RTPS module, a QoS module, a TypeSupport module, a UDP socket management module, and the like.
The module 130 may be defined as a set of the created function modules. A DDS user may dynamically load a desired function module through the DCPS module 110 and the library module 120.
That is, in the present invention, the library module 120 may provide all functions so that the function module created in the DDS is initialized, created, classified, and searched to be used in the DCPS module 110.
In detail,
Referring to
The library module 120 may include a connection module 121, a management module 122, a storage module 123, and a creation module 124. The connection module 121, the management module 122, the storage module 123, and the creation module 124 may be implemented as a structure.
The library module 120 as a highest structure for interlocking with the DCPS module 110 may use the function module in the DCPS module 110 through the connection module 121. For example, the connection module 121 may be defined as DomainFactory depending on the DDS standard.
In order for a developer or a user of DDS middleware to use the function module by using the DCPS module 110, the connection module 121 may provide domain participant information of the DCPS module 110 to use the function module and reference information regarding the management module 121 that manages the function module. The domain participant information may mean information used in the DCPS module 110 in order to provide a correlation with the DCPS module 110 using the DDS middleware. That is, the connection module 121 is a start point for a DDS application program to use the DDS middleware and may be used as an entry point for using the function module in the DCPS module 110.
The management module 122 may be defined as a highest structure for managing the function module. The management module 122 may provide the reference information regarding the storage module 123 in order to store and manage all function modules created in the DDS middleware. For example, the management module 122 may include reference information regarding the connection module 121 and reference information regarding the storage module 123. The reference information regarding the connection module 121 may mean information on a reference structure of the DomainFactory. The reference information regarding the storage module 123 may mean information on a classification structure that classifies the function module. In one aspect, it may be appreciated that the management module 122 provides a management start point for the function module used in the DDS.
The classification module 123 may be defined as a structure that classifies the function module as a unique function type. The classification module 123 as a structure that classifies the function module according to a characteristic (e.g., a function) of each module may provide the reference information regarding the creation module 124, module classification type information, and a module initialization setting flag. The reference information regarding the creation module 124 may mean reference information on a function module initialization and creation structure. The module classification type information may mean type information used to classify the function module. The module initialization setting flag may mean information indicating whether initialization and creation of the function module are completed.
The creation module 124 may be defined as a structure that performs the initialization for creating the function module and creates the function module by using setting information. The creation module 124 will be described in more detail with reference to
Referring to
The function module distinguishing information may include a function module name, a function module characteristic, and function module importance, and the like for identifying the function module. The function module creation function may include a creator function for creating the function module and a delete function for deleting the function module. For example, when the function is to be created, a desired function module may be created by registering the creator function in the function module creation function. When the function module is to be deleted, the function module may be deleted by registering the delete function in the function module creation function.
The function module setting variable may mean a variable set in the function module when the function module is created by executing the function module creation function. A type of a variable which is supportable in the function module setting variable may include all data types including a bool, an integer, a character, and a string.
Referring to
First, referring to
The process of configuring the creation module 124 is constituted by configuring a common setting function in order to provide a standardized function module initializing process (S100), defining a creation module setting interface that provides a setting code by changing the common setting function to be suitable for initializing each function module (S200), and calling the creation module 124 in order to initialize the creation module 124 by initializing each function module (S300).
The creation module 124 as a structure including creation and setting information regarding the function module used in the DDS may create the function module by setting the function module distinguishing information, the function module creation function, and the function module setting variable included in the creation module 124.
Referring to
When the name may be changed to a function name corresponding to each name##module_entry (S120) and a variable pointer is set in the creation module (S130).
The function module distinguishing information is set by using name information (S140), the function module creation function is set (S150), and the function module setting variable is set (S150).
The common setting function is ended through #define module_define_end( ) (S160). The common setting function is configured through steps S110 to S160 described above.
Referring to
In step S210, module_define_start is converted into name##_module_entry to create the setting code by converting the common setting function to be suitable for each function module and step S210 may correspond to step S110 of
Step S220 as a step of registering the function module creation function in the creation module 124 based on the setting code converted to be suitable for the function module may correspond to step S150 of
Step S230 as a step of setting the function module variable (e.g., a variable for initialization) in the creation module 124 may correspond to step S160 of
Step S240 as a step of ending an initialization step for each function module as Module_define_end( )may correspond to step S170 of
Referring to
A right code (that is, a code below #define module_define_start(name)) of
In detail,
Each function module executes the common setting function for the initialization created in
In step S440, the function module distinguishing information, the function module creation function, and the function module variable setting step for the creation module (124) structure for initializing each function module are performed.
That is, the steps of
In detail,
When the common setting function to create the function module in the creation module is configured through the steps illustrated in
Referring to
The processors 1100 may be a central processing unit (CPU) or a semiconductor device that processes commands stored in the memory 1300 and/or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a read only memory (ROM) and a random access memory (RAM).
Therefore, steps of a method or an algorithm described in association with the exemplary embodiments disclosed in the specification may be directly implemented by hardware and software modules executed by the processor 1100, or a combination thereof. The software module may reside in storage media (that is, the memory 1300 and/or the storage 1600) such as a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, and a CD-ROM. The exemplary storage medium is coupled to the processor 1100 and the processor 1100 may read information from the storage medium and write the information in the storage medium. As another method, the storage medium may be integrated with the processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. As yet another method, the processor and the storage medium may reside in the user terminal as individual components.
Various exemplary embodiments of the present invention have been just exemplarily described, and various changes and modifications may be made by those skilled in the art to which the present invention pertains without departing from the scope and spirit of the present invention. Accordingly, the embodiments disclosed herein are intended not to limit but to describe the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited to the embodiments. The scope of the present invention may be interpreted by the appended claims and all the technical spirit in the equivalent range thereto are intended to be embraced by the claims of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2014-0049503 | Apr 2014 | KR | national |