JP2006048236A - Idl compilation system, idl compilation method and idl compiler - Google Patents
Idl compilation system, idl compilation method and idl compiler Download PDFInfo
- Publication number
- JP2006048236A JP2006048236A JP2004225847A JP2004225847A JP2006048236A JP 2006048236 A JP2006048236 A JP 2006048236A JP 2004225847 A JP2004225847 A JP 2004225847A JP 2004225847 A JP2004225847 A JP 2004225847A JP 2006048236 A JP2006048236 A JP 2006048236A
- Authority
- JP
- Japan
- Prior art keywords
- component
- definition
- interface
- idl
- function
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、IDL定義データをコンパイルして、アプリケーションソフトウェアのコンポーネントで用いられるスタブやスケルトンを生成するIDLコンパイル装置、IDLコンパイル方法及びIDLコンパイラに関する。 The present invention relates to an IDL compiling device, an IDL compiling method, and an IDL compiler that compile IDL definition data and generate stubs and skeletons used in application software components.
Common Object Request Broker Architecture (CORBA)技術を利用したアプリケーションソフトウェアのソフトウェアコンポーネント(コンポーネント)で用いられるスタブやスケルトンを生成するために、Interface Definition Language (IDL)コンパイラが用いられる。図11は、IDLコンパイラの構成の一例を示すブロック図である。図11に示すように、IDLコンパイラ1101は、IDL定義解析部1111及びコード生成部1113を含む。IDLコンパイラ1101は、CORBA技術を利用したコンポーネント間通信で送受信されるデータのデータ型の定義であるIDL定義1102を入力し、コンポーネントで用いられるスタブ1103やスケルトン1104を生成する。
An Interface Definition Language (IDL) compiler is used to generate stubs and skeletons used in software components (components) of application software using Common Object Request Broker Architecture (CORBA) technology. FIG. 11 is a block diagram showing an example of the configuration of the IDL compiler. As shown in FIG. 11, the
IDL定義解析部1111は、入力したIDL定義1102を解析する。また、IDL定義解析部1111は、IDLコンパイラ1101の各構成部が使用可能なデータ形式にIDL定義1102を変換し、IDL定義解析情報912を生成する。コード生成部1113は、IDL定義解析情報912にもとづいて、クライアント機能をもつコンポーネントで用いられるスタブ1103を生成する。また、コード生成部1113は、IDL定義解析情報912にもとづいて、サーバ機能をもつコンポーネントで用いられるスケルトン1104を生成する。
The IDL
また、IDLコンパイラの例として、例えば、特許文献1には、インタフェース定義ファイルにもとづいて字句解析及び構文解析を行い、クライアントスタブやサーバスケルトン、ルーティングプログラムを生成するIDLコンパイラが記載されている。 As an example of an IDL compiler, for example, Patent Document 1 describes an IDL compiler that performs lexical analysis and syntax analysis based on an interface definition file to generate a client stub, a server skeleton, and a routing program.
図11や特許文献1に記載されたIDLコンパイラは、大規模なアプリケーションソフトウェアのコンポーネントで使用できるように、一般に様々なコンポーネントの機能に対応した汎用的なスタブやスケルトンを生成する。そのため、IDLコンパイラが生成するスタブやスケルトンのファイルサイズが大きく、メモリを必要以上に使用してしまう。また、組み込み機器等に用いる場合にはコンポーネントの機能や構成を予め予測できるにもかかわらず、IDLコンパイラは、コンポーネントに不要な機能を多く含んだスタブやスケルトンを生成してしまう。 The IDL compiler described in FIG. 11 and Patent Document 1 generally generates general-purpose stubs and skeletons corresponding to the functions of various components so that they can be used as components of large-scale application software. Therefore, the file size of the stub and skeleton generated by the IDL compiler is large, and the memory is used more than necessary. In addition, when used in an embedded device or the like, the IDL compiler generates a stub or skeleton including many functions unnecessary for the component, although the function and configuration of the component can be predicted in advance.
必要な機能だけを含むスタブやスケルトンを生成するために、組み込みアプリケーションソフトウェアの開発者がコンポーネントで必要となる機能だけを抜き出したりIDL定義情報を分割して、個別にスタブやスケルトンを生成することが考えられる。しかし、コンポーネントで必要となる機能を抜き出したりIDL定義情報を分割したりする作業が必要となり、ソフトウェア開発者の作業負担が大きい。 In order to generate stubs and skeletons that include only the necessary functions, the developer of the embedded application software can extract only the functions that are required by the components or divide the IDL definition information and generate stubs or skeletons individually. Conceivable. However, it is necessary to extract functions necessary for components and to divide IDL definition information, which places a heavy burden on software developers.
そこで、本発明は、コンポーネントに不要な機能を含まない軽量なスタブやスケルトンを自動生成できるIDLコンパイル装置、IDLコンパイル方法及びIDLコンパイラを提供することを目的とする。 Therefore, an object of the present invention is to provide an IDL compiling device, an IDL compiling method, and an IDL compiler that can automatically generate a lightweight stub or skeleton that does not include unnecessary functions in a component.
本発明によるIDLコンパイル装置は、ソフトウェアで用いられるインタフェースの定義を示すインタフェース定義データ(例えば、IDL定義2)にもとづいて、スタブ又はスケルトンを生成するIDLコンパイル装置であって、ソフトウェアに含まれるコンポーネントで用いられる機能の定義を示すコンポーネント定義データ(例えば、コンポーネント定義6)を入力するコンポーネント定義入力手段(例えば、コンポーネント定義解析部53によって実現される)と、コンポーネント定義入力手段が入力したコンポーネント定義データにもとづいて、インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出するインタフェース抽出手段(例えば、コンポーネント機能解析部55によって実現される)と、インタフェース抽出手段が抽出したインタフェースに対応するコードを生成し、生成したコードを含むスタブ又はスケルトンを生成するコード生成手段(例えば、コンポーネントコード生成部57によって実現される)とを備えたことを特徴とする。 An IDL compiling device according to the present invention is an IDL compiling device that generates a stub or a skeleton based on interface definition data (for example, IDL definition 2) indicating a definition of an interface used in software, and is a component included in software. Component definition input means (for example, realized by the component definition analysis unit 53) for inputting component definition data (for example, component definition 6) indicating the definition of the function used, and component definition data input by the component definition input means Based on the interface defined in the interface definition data, an interface extraction means (for example, a component) that extracts an interface corresponding to a function used in the component. And a code generation unit (for example, realized by the component code generation unit 57) that generates a code corresponding to the interface extracted by the interface extraction unit and generates a stub or skeleton including the generated code. And the like.
また、コンポーネント定義入力手段は、ソフトウェアに含まれる複数のコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力し、インタフェース抽出手段は、コンポーネント定義データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースをコンポーネントごとに抽出し、コード生成手段は、インタフェース抽出手段が抽出したインタフェースに対応するコードを含むスタブ又はスケルトンをコンポーネントごとに生成するものであってもよい。そのような構成によれば、1つのインタフェース定義データにもとづいて、複数のコンポーネント用のスタブやスケルトンを自動生成する。従って、各コンポーネント用にインタフェース定義データを分割して使用する場合と比較して、インタフェース定義データを容易に管理することができる。 The component definition input means inputs component definition data indicating the definition of functions used in a plurality of components included in the software, and the interface extraction means corresponds to the functions used in the components based on the component definition data. The interface may be extracted for each component, and the code generation unit may generate a stub or skeleton including a code corresponding to the interface extracted by the interface extraction unit for each component. According to such a configuration, stubs and skeletons for a plurality of components are automatically generated based on one interface definition data. Therefore, the interface definition data can be easily managed as compared with the case where the interface definition data is divided and used for each component.
また、IDLコンパイル装置は、コンポーネント定義入力手段が入力したコンポーネント定義データの内容を解析し、解析結果を含むコンポーネント定義解析データ(例えば、コンポーネント定義解析情報54)を生成するコンポーネント定義解析手段(例えば、コンポーネント定義解析部53によって実現される)を備え、インタフェース抽出手段は、コンポーネント定義解析手段が生成したコンポーネント定義解析データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースを抽出するものであってもよい。 Further, the IDL compiling device analyzes the content of the component definition data input by the component definition input unit, and generates component definition analysis data (for example, component definition analysis information 54) including the analysis result (for example, component definition analysis information 54). And the interface extracting unit extracts an interface corresponding to the function used in the component based on the component definition analysis data generated by the component definition analyzing unit. Good.
また、IDLコンパイル装置は、インタフェース定義データを入力するインタフェース定義入力手段(例えば、IDL定義解析部51によって実現される)と、インタフェース入力手段が入力したインタフェース定義データの内容を解析し、解析結果を含むインタフェース定義解析データ(例えば、IDL定義解析情報52)を生成するインタフェース定義解析手段(例えば、IDL定義解析部51によって実現される)とを備え、インタフェース抽出手段は、インタフェース定義解析手段が生成したインタフェース定義解析データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースを抽出するものであってもよい。 The IDL compiling device analyzes the contents of the interface definition data input by the interface definition input means (for example, realized by the IDL definition analysis unit 51) for inputting the interface definition data and the interface input means, and outputs the analysis result. Interface definition analysis means (for example, realized by the IDL definition analysis unit 51) that generates interface definition analysis data (for example, IDL definition analysis information 52) including the interface definition analysis means generated by the interface definition analysis means An interface corresponding to a function used in a component may be extracted based on the interface definition analysis data.
また、インタフェース抽出手段は、コンポーネント定義解析手段が生成したコンポーネント定義解析データ、及びインタフェース定義解析手段が生成したインタフェース定義解析データにもとづいて、コンポーネントで用いられる機能を解析し、解析結果を含むコンポーネント機能解析データ(例えば、コンポーネント機能解析情報56)を生成し、コード生成手段は、インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、コンポーネントで用いられる機能に対応するコードを生成するものであってもよい。 The interface extraction means analyzes the function used in the component based on the component definition analysis data generated by the component definition analysis means and the interface definition analysis data generated by the interface definition analysis means, and includes a component function including the analysis result. Analysis data (for example, component function analysis information 56) is generated, and the code generation unit generates a code corresponding to a function used in the component based on the component function analysis data generated by the interface extraction unit. Also good.
また、コード生成手段は、インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、処理対象のコンポーネントがコンポーネントとは別のコンポーネントの機能を利用するか否かを判断し、処理対象のコンポーネントとは別のコンポーネントの機能を利用すると判断すると、処理対象のコンポーネントとは別のコンポーネントの機能に対応するコードを含むスタブを生成するものであってもよい。 The code generation means determines whether the processing target component uses a function of a component different from the component based on the component function analysis data generated by the interface extraction means. If it is determined that the function of another component is used, a stub including a code corresponding to the function of a component different from the component to be processed may be generated.
また、コード生成手段は、インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、処理対象のコンポーネントがコンポーネントとは別のコンポーネントに利用させる機能をもつか否かを判断し、処理対象のコンポーネントとは別のコンポーネントに利用させる機能をもつと判断すると、処理対象のコンポーネントとは別のコンポーネントに利用させる機能に対応するコードを含むスケルトンを生成するものであってもよい。 Further, the code generation means determines whether or not the processing target component has a function to be used by a component different from the component based on the component function analysis data generated by the interface extraction means. When it is determined that has a function to be used by another component, a skeleton including a code corresponding to a function to be used by a component different from the component to be processed may be generated.
本発明によるIDLコンパイル方法は、ソフトウェアで用いられるインタフェースの定義を示すインタフェース定義データにもとづいて、スタブ又はスケルトンを生成するIDLコンパイル方法であって、ソフトウェアに含まれるコンポーネントで用いられる機能の定義を含むコンポーネント定義データを入力するコンポーネント定義入力ステップと、入力したコンポーネント定義データにもとづいて、インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出するインタフェース抽出ステップと、抽出したインタフェースに対応するコードを生成し、生成したコードを含むスタブ又はスケルトンを生成するコード生成ステップとを含むことを特徴とする。 An IDL compiling method according to the present invention is an IDL compiling method for generating a stub or a skeleton based on interface definition data indicating a definition of an interface used in software, and includes definition of functions used in components included in the software. A component definition input step for inputting component definition data, an interface extraction step for extracting an interface corresponding to a function used in the component from the interfaces defined by the interface definition data based on the input component definition data, and extraction A code generation step of generating a code corresponding to the interface and generating a stub or skeleton including the generated code.
また、IDLコンパイル方法は、コンポーネント定義入力ステップで、ソフトウェアに含まれる複数のコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力し、インタフェース抽出ステップで、コンポーネント定義データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースをコンポーネントごとに抽出し、コード生成ステップで、抽出したインタフェースに対応するコードを含むスタブ又はスケルトンをコンポーネントごとに生成するものであってもよい。そのような構成によれば、1つのインタフェース定義データにもとづいて、複数のコンポーネント用のスタブやスケルトンを自動生成する。従って、各コンポーネント用にインタフェース定義データを分割して使用する場合と比較して、インタフェース定義データを容易に管理することができる。 In the IDL compilation method, component definition data indicating the definition of functions used in a plurality of components included in the software is input in the component definition input step, and used in the component based on the component definition data in the interface extraction step. An interface corresponding to a function to be extracted may be extracted for each component, and a stub or skeleton including code corresponding to the extracted interface may be generated for each component in the code generation step. According to such a configuration, stubs and skeletons for a plurality of components are automatically generated based on one interface definition data. Therefore, the interface definition data can be easily managed as compared with the case where the interface definition data is divided and used for each component.
本発明によるIDLコンパイラは、ソフトウェアで用いられるインタフェースの定義を示すインタフェース定義データにもとづいて、スタブ又はスケルトンを生成するためのIDLコンパイラであって、コンピュータに、ソフトウェアに含まれるコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力する処理と、入力したコンポーネント定義データにもとづいて、インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出する処理と、抽出したインタフェースに対応するコードを生成し、生成したコードを含むスタブ又はスケルトンを生成する処理とを実行させることを特徴とする。 An IDL compiler according to the present invention is an IDL compiler for generating a stub or a skeleton based on interface definition data indicating a definition of an interface used in software, and includes functions used by components included in the software on a computer. A process for inputting component definition data indicating a definition, a process for extracting an interface corresponding to a function used in the component from the interfaces defined by the interface definition data based on the input component definition data, and the extracted interface And a process of generating a stub or skeleton including the generated code.
本発明によれば、コンポーネント定義データにもとづいて、インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられるインタフェースを抽出する。そして、抽出したインタフェースに対応するコードを生成し、生成したコードを含むスタブやスケルトンを生成する。従って、コンポーネントに不要な機能を含まない軽量なスタブやスケルトンを自動生成することができる。 According to the present invention, based on the component definition data, the interface used by the component is extracted from the interfaces defined by the interface definition data. Then, a code corresponding to the extracted interface is generated, and a stub and a skeleton including the generated code are generated. Accordingly, it is possible to automatically generate a lightweight stub or skeleton that does not include unnecessary functions in the component.
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明によるIDLコンパイラの構成の一例を示す説明図である。本実施の形態では、情報処理装置のCPUが図1に示すIDLコンパイラに従って動作することによってIDLコンパイル装置が実現される。本実施の形態では、IDLコンパイル装置は、アプリケーションソフトウェアで用いられるインタフェースの定義を示すインタフェース定義データをコンパイルして、スタブやスケルトンを生成する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing an example of the configuration of an IDL compiler according to the present invention. In the present embodiment, the IDL compiling device is realized by the CPU of the information processing device operating according to the IDL compiler shown in FIG. In this embodiment, the IDL compiling device compiles interface definition data indicating interface definitions used in application software, and generates stubs and skeletons.
図1に示すように、IDLコンパイラ5は、IDL定義解析部51、コンポーネント定義解析部53、コンポーネント機能解析部55及びコンポーネントコード生成部57を含む。本実施の形態では、IDLコンパイラ5は、図11に示す構成要素に加えて、コンポーネント定義解析部53及びコンポーネント機能解析部55を含む点で、図11に示す従来のIDLコンパイラ1101と異なる。また、本実施の形態では、IDLコンパイラ5のコンポーネントコード生成部57の機能が、図11に示す従来のIDLコンパイラ1101のコード生成部1113の機能と異なる。
As shown in FIG. 1, the
IDLコンパイラ5は、インタフェース定義データとして、CORBA技術を利用したソフトウェアコンポーネント(以下、単にコンポーネントという)間通信で送受信されるデータのデータ型(以下、IDL型という)の定義を含むIDL定義2を入力する。また、IDLコンパイラ5は、IDL定義2に加えて、アプリケーションソフトウェアに含まれる複数のコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力する。本実施の形態では、IDLコンパイラ5は、コンポーネント定義データとして、各コンポーネントが他のコンポーネントに提供する機能や、各コンポーネントが使用する他のコンポーネントの機能、各コンポーネントが内部で使用する機能の定義を含むコンポーネント定義6を入力する。
The
また、IDLコンパイラ5は、IDL定義2及びコンポーネント定義6にもとづいて、各コンポーネントで用いられるコンポーネント用スタブ7やコンポーネント用スケルトン8を生成する。なお、本実施の形態では、IDLコンパイラ5が生成する等の表現を用いるが、実際には、情報処理装置のCPUがIDLコンパイラ5に従って処理を実行する。
The
IDL定義解析部51は、IDL定義解析手順を実行して、IDL定義2に含まれるIDL型の解析を行い、IDL定義解析情報52を生成する機能を備える。本実施の形態では、IDL定義解析部51は、文字列等の形式で記載されたIDL定義2に含まれるIDL型を解析する。また、IDL定義解析部51は、解析結果にもとづいて、IDL定義2をIDLコンパイラ5の各構成部が使用可能なデータ形式に変換したデータであるIDL定義解析情報52を生成する。
The IDL
コンポーネント定義解析部53は、コンポーネント定義解析手順を実行して、コンポーネント定義6の解析を行い、コンポーネント定義解析情報54を生成する機能を備える。本実施の形態では、コンポーネント定義解析部53は、文字列等の形式で記載されたコンポーネント定義6を解析する。また、コンポーネント定義解析部53は、解析結果にもとづいて、コンポーネント定義6をIDLコンパイラ5の各構成部が使用可能なデータ形式に変換したデータであるコンポーネント定義解析情報54を生成する。
The component
コンポーネント機能解析部55は、コンポーネント機能解析手順を実行して、各コンポーネントが必要とする機能の解析を行い、コンポーネント機能解析情報56を生成する機能を備える。すなわち、コンポーネント機能解析部55は、インタフェース定義データ(IDL定義2)で定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出し、コンポーネント機能解析情報56を生成する機能を備える。本実施の形態では、コンポーネント機能解析部55は、IDL定義解析情報52及びコンポーネント定義解析情報54にもとづいて、各コンポーネントが必要とする機能及び各コンポーネントが必要としない機能をコンポーネントごとに解析する。また、コンポーネント機能解析部55は、解析結果を含むデータであるコンポーネント機能解析情報56を生成する。
The component
コンポーネントコード生成部57は、コンポーネントコード生成手順を実行して、コンポーネント機能解析情報56にもとづいて各コンポーネント用のスタブやスケルトンを生成する機能を備える。すなわち、コンポーネントコード生成部57は、コンポーネント機能解析部55が抽出したインタフェースに対応するコードを生成し、生成したコードを含むスタブやスケルトンを生成する機能を備える。本実施の形態では、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいて、コンポーネントが必要とする機能だけを含むコンポーネント用スタブ7やコンポーネント用スケルトン8を、コンポーネントごとに生成して出力する。
The component
次に、動作について具体例を用いて説明する。図2は、CORBA技術を利用したアプリケーションソフトウェアの一例を示す説明図である。図2に示すように、アプリケーションソフトウェア9は、CORBA技術を利用したコンポーネントX91及びコンポーネントY92を含む。
Next, the operation will be described using a specific example. FIG. 2 is an explanatory diagram showing an example of application software using the CORBA technology. As shown in FIG. 2, the
また、図3は、図2に示すアプリケーションソフトウェア9全体で用いられるIDL型のIDL定義2の例を示す説明図である。本実施の形態では、アプリケーションソフトウェア9全体で2つの構造体S1,S2のIDL型と、2つのインタフェースI1,I2のIDL型とが用いられる。そのため、図3に示すように、本実施の形態では、IDL定義2は、構造体S1の定義21、構造体S2の定義22、インタフェースI1の定義23及びインタフェースI2の定義24を含む。
FIG. 3 is an explanatory diagram showing an example of IDL
また、図4は、図2に示す各コンポーネント91,92で用いられる機能のコンポーネント定義6の例を示す説明図である。図4に示すように、本実施の形態では、コンポーネント定義6は、コンポーネントX91に対応するコンポーネントX定義61と、コンポーネントY92に対応するコンポーネントY定義62とを含む。
FIG. 4 is an explanatory diagram showing an example of a
また、図5は、図2に示す各コンポーネント91,92で用いられるスタブ及びスケルトンを生成する場合のIDLコンパイラ5の具体的な構成の一例を示すブロック図である。本実施の形態では、図2に示すアプリケーションソフトウェア9のコンポーネントX91及びコンポーネントY92が用いるスタブやスケルトンを、IDLコンパイラ5が生成する場合の動作を説明する。本実施の形態では、IDLコンパイラ5は、図3に示すIDL定義2及び図4に示すコンポーネント定義6を入力し解析する。そして、IDLコンパイラ5は、図5に示すように、解析結果にもとづいて、コンポーネントX用スタブ71、コンポーネントY用スタブ72及びコンポーネントX用スケルトン81を生成する。
FIG. 5 is a block diagram showing an example of a specific configuration of the
図6は、IDLコンパイラ5が実行するIDLコンパイル手順の処理の一例を示す流れ図である。IDLコンパイラ5は、IDLコンパイル手順の実行を開始すると、IDL定義2を解析するIDL定義解析手順を実行する(ステップS200)。ステップS200において、IDLコンパイラ5は、ファイル等からIDL定義2を読み込み、IDL定義2で定義されたIDL型がもつ要素やオペレーション、引数等の解析を行い、IDL定義解析情報52を生成する。
FIG. 6 is a flowchart showing an example of processing of the IDL compilation procedure executed by the
また、IDLコンパイラ5は、コンポーネント定義6を解析するコンポーネント定義解析手順を実行する(ステップS300)。ステップS300において、IDLコンパイラ5は、ファイル等からコンポーネント定義6を読み込こむ。また、IDLコンパイラ5は、読み込んだコンポーネント定義6にもとづいて、各コンポーネントが他のコンポーネントに提供する機能や、各コンポーネントが使用する他のコンポーネントの機能を解析する。そして、IDLコンパイラ5は、解析結果にもとづいてコンポーネント定義解析情報54を生成する。
The
また、IDLコンパイラ5は、各コンポーネントが必要とする機能を解析するコンポーネント機能解析手順を実行する(ステップS400)。ステップS400において、IDLコンパイラ5は、IDL定義解析情報52及びコンポーネント定義解析情報54にもとづいて、各コンポーネントが必要とするIDL型を抽出したり、抽出したIDL型のうち不要な機能があるか否か解析する。また、IDLコンパイラ5は、解析結果を含むコンポーネント機能解析情報56を生成する。
Further, the
また、IDLコンパイラ5は、スタブやスケルトンを生成するコンポーネントコード生成手順を実行する(ステップS500)。ステップS500において、IDLコンパイラ5は、コンポーネント機能解析情報56にもとづいて、各コンポーネントが用いるスタブやスケルトンを生成する。
Further, the
図7は、ステップS200のIDL定義解析手順の処理の一例を示す流れ図である。ステップS200のIDL定義解析手順において、IDLコンパイラ5のIDL定義解析部51は、ファイル等に保存されているIDL定義2を読み込む(ステップS201)。
FIG. 7 is a flowchart showing an example of processing of the IDL definition analysis procedure in step S200. In the IDL definition analysis procedure in step S200, the IDL
IDL定義解析部51は、読み込んだIDL定義2で定義されているIDL型がどのような要素やオペレーション、引数をもつかを解析する(ステップS202)。また、IDL定義解析部51は、IDL定義解析情報52を生成し、生成したIDL定義解析情報52に解析結果の内容を書き込む。
The IDL
IDL定義解析部51は、IDL定義2で定義されている全てのIDL型の解析を終了したか否かを判断する(ステップS203)。全てのIDL型の解析を終了していない(未解析のIDL型がある)と判断した場合、IDL定義解析部51は、未解析のIDL型についてステップS202の処理を繰り返し実行し、IDL定義解析情報52に解析結果の内容を書き込んで加える。
The IDL
ステップS203で全てのIDL型の解析を終了した(未解析のIDL型がない)と判断した場合、IDL定義解析部51は、生成したIDL定義解析情報52をコンポーネント機能解析部55に送信(出力)する(ステップS204)。
If it is determined in step S203 that analysis of all IDL types has been completed (no unanalyzed IDL type), the IDL
本実施の形態では、IDL定義解析部51は、図3に示すIDL定義2にもとづいて、アプリケーションソフトウェア9で用いられるIDL型が構造体S1型、構造体S2型、インタフェースI1型及びインタフェースI2型である旨の解析内容を含むIDL定義解析情報52を生成する。
In the present embodiment, the IDL
例えば、IDL定義解析部51は、構造体S1型がlong型の要素e1をもち、構造体S2型がfloat 型の要素e2をもつ旨の解析内容を含むIDL定義解析情報52を生成する。また、IDL定義解析部51は、インタフェースI1型がオペレーションop1_1 ,op1_2 をもち、オペレーションop1_1 が引数として構造体S1型の要素をもち、オペレーションop1_2 が引数として構造体S2型の要素をもつ旨の解析内容を含むIDL定義解析情報52を生成する。また、IDL定義解析部51は、インタフェースI2型がオペレーションop2_1 ,op2_2 をもち、オペレーションop2_1 が引数として構造体S1型の要素をもち、オペレーションop2_2 が引数として構造体S2型の要素をもつ旨の解析内容を含むIDL定義解析情報52を生成する。
For example, the IDL
図8は、ステップS300のコンポーネント定義解析手順の処理の一例を示す流れ図である。ステップS300のコンポーネント定義解析手順において、IDLコンパイラ5のコンポーネント定義解析部53は、ファイル等に保存されているコンポーネント定義6を読み込む(ステップS301)。
FIG. 8 is a flowchart illustrating an example of the process of the component definition analysis procedure in step S300. In the component definition analysis procedure of step S300, the component
コンポーネント定義解析部53は、読み込んだコンポーネント定義6で定義されている各コンポーネントがどのような機能を他のコンポーネントに提供するかや、他のコンポーネントのどのような機能を使用するかを解析する(ステップS302)。また、コンポーネント定義解析部53は、コンポーネント定義解析情報54を生成し、生成したコンポーネント定義解析情報54に解析結果の内容を書き込む。
The component
コンポーネント定義解析部53は、コンポーネント定義6で定義されている全てのコンポーネントの解析を終了したか否かを判断する(ステップS303)。全てのコンポーネントの解析を終了していない(未解析のコンポーネントの定義がある)と判断した場合、コンポーネント定義解析部53は、未解析のコンポーネントについてステップS302の処理を繰り返し実行し、コンポーネント定義解析情報54に解析結果の内容を書き込んで加える。
The component
ステップS303で全てのコンポーネントの解析を終了した(未解析のコンポーネントの定義がない)と判断した場合、コンポーネント定義解析部53は、生成したコンポーネント定義解析情報54をコンポーネント機能解析部55に送信(出力)する(ステップS304)。
If it is determined in step S303 that the analysis of all components has been completed (there is no definition of unanalyzed components), the component
本実施の形態では、コンポーネント定義解析部53は、図4に示すコンポーネント定義6にもとづいて、コンポーネントX91及びコンポーネントY92で用いられる機能の定義の解析内容を含むコンポーネント定義解析情報54を生成する。
In the present embodiment, the component
例えば、コンポーネント定義解析部53は、コンポーネントX91が、サーバ機能として、他のコンポーネントにインタフェースI1型で定義される全機能と、インタフェースI2型のop2_1 で定義される機能とを提供する旨の解析内容を含むコンポーネント定義解析情報54を生成する。また、コンポーネント定義解析部53は、コンポーネントX91が、クライアント機能として、インタフェースI1型で定義される機能を使用する旨の解析内容を含むコンポーネント定義解析情報54を生成する。また、コンポーネント定義解析部53は、コンポーネントY92が、クライアント機能として、他のコンポーネントが提供するインタフェースI1型のop1_1 の機能を使用する旨の解析内容を含むコンポーネント定義解析情報54を生成する。
For example, the component
図9は、ステップS400のコンポーネント機能解析手順の処理の一例を示す流れ図である。ステップS400のコンポーネント機能解析手順において、IDLコンパイラ5のコンポーネント機能解析部55は、IDL定義解析部51からのIDL定義解析情報52を受信(入力)する(ステップS401)。また、コンポーネント機能解析部55は、コンポーネント定義解析部53からのコンポーネント定義解析情報54を受信(入力)する(ステップS402)。
FIG. 9 is a flowchart showing an example of the component function analysis procedure in step S400. In the component function analysis procedure of step S400, the component
コンポーネント機能解析部55は、入力したコンポーネント定義解析情報54から、各コンポーネントの機能に対応するインターフェース型を抽出する(ステップS403)。本実施の形態では、コンポーネント機能解析部55は、コンポーネントX91に対応するインタフェース型として、インタフェースI1型及びインタフェースI2型を抽出して取得する。また、コンポーネント機能解析部55は、コンポーネントY92に対応するインタフェース型として、インタフェースI1型を抽出して取得する。
The component
また、コンポーネント機能解析部55は、入力したIDL定義解析情報52から、ステップS403で取得したインタフェース型の情報と、ステップS403で取得したインタフェース型で提供されるオペレーションの引数となっているIDL型の情報とを抽出する(ステップS404)。
Further, the component
本実施の形態では、コンポーネント機能解析部55は、コンポーネントX91について、インタフェースI1型と、インタフェースI1型がもつオペレーションop1_1 の引数である構造体S1型と、オペレーションop1_2 の引数である構造体S2型との情報を抽出する。また、コンポーネント機能解析部55は、コンポーネントX91について、インタフェースI2型と、インタフェースI2型がもつオペレーションop2_1 ,op2_2 の引数である構造体S1型及び構造体S2型との情報を抽出する。また、同様に、コンポーネント機能解析部55は、コンポーネントY92について、インタフェースI1型と、構造体S1型及び構造体S2型との情報を抽出する。
In the present embodiment, for the component X91, the component
また、コンポーネント機能解析部55は、コンポーネント定義解析情報54とステップS404で抽出したIDL型の情報とにもとづいて、抽出したIDL型の機能のうちいずれが必要な機能又は不要な機能であるかを解析し、省略できる機能を抽出する(ステップS405)。また、コンポーネント機能解析部55は、コンポーネント機能解析情報56を生成し、生成したコンポーネント機能解析情報56に解析結果の内容を書き込む。
Also, the component
コンポーネント機能解析部55は、全てのコンポーネントの解析を終了したか否かを判断する(ステップS406)。全てのコンポーネントの解析を終了していない(未解析のコンポーネントがある)と判断した場合、コンポーネント機能解析部55は、未解析のコンポーネントについてステップS403以降の処理を繰り返し実行し、コンポーネント機能解析情報56に解析結果の内容を書き込んで加える。
The component
ステップS406で全てのコンポーネントの解析を終了した(未解析のコンポーネントがない)と判断した場合、コンポーネント機能解析部55は、生成したコンポーネント機能解析情報56をコンポーネントコード生成部57に送信(出力)する(ステップS407)。
If it is determined in step S406 that the analysis of all components has been completed (there is no unanalyzed component), the component
本実施の形態では、コンポーネント機能解析部55は、IDL定義解析情報52及びコンポーネント定義解析情報54にもとづいて、コンポーネントX91及びコンポーネントY92が必要とする機能の解析内容を含むコンポーネント機能解析情報56を生成する。
In the present embodiment, the component
例えば、コンポーネント機能解析部55は、コンポーネントX91について、スタブとして、インタフェースI1型の全ての機能と構造体S1型及び構造体S2型をオペレーションの引数として送信する機能とが必要であり、インタフェースI2型の機能が必要でない旨の解析内容を含むコンポーネント機能解析情報56を生成する。また、コンポーネント機能解析部55は、コンポーネントX91について、スケルトンとして、インタフェースI1型の全ての機能と、構造体S1型及び構造体S2型をオペレーションの引数として受信する機能と、インタフェースI2型のop2_1 の機能とが必要である旨の解析内容を含むコンポーネント機能解析情報56を生成する。
For example, the component
また、コンポーネント機能解析部55は、コンポーネントY92について、スタブとして、インタフェースI1型のオペレーションop1_1 の機能と構造体S1型をオペレーションの引数として送信する機能とが必要であり、オペレーションop1_2 の機能と構造体S1型を受信する機能と構造体S2の送受信を行う機能とが不要である旨の解析内容を含むコンポーネント機能解析情報56を生成する。また、コンポーネント機能解析部55は、コンポーネントY92について、他のコンポーネントに提供する機能がなく、スケルトンが不要である旨の解析内容を含むコンポーネント機能解析情報56を生成する。
Further, the component
図10は、ステップS500のコンポーネントコード生成手順の処理の一例を示す流れ図である。ステップS500のコンポーネントコード生成手順において、IDLコンパイラ5のコンポーネントコード生成部57は、コンポーネント機能解析部55からのコンポーネント機能解析情報56を受信(入力)する(ステップS501)。
FIG. 10 is a flowchart showing an example of the component code generation procedure in step S500. In the component code generation procedure of step S500, the component
コンポーネントコード生成部57は、入力したコンポーネント機能解析情報56にもとづいて、処理対象のコンポーネントが他のコンポーネントの機能を使用する(利用する)か否かを判断する(ステップS502)。他のコンポーネントの機能を使用しないと判断した場合、コンポーネントコード生成部57は、ステップS503の処理を実行せずに、そのままステップS504の処理を実行する。
Based on the input component
ステップS502で処理対象のコンポーネントが他のコンポーネントの機能を使用すると判断した場合、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいてコード生成を行い、処理対象のコンポーネントに対応するコンポーネント用スタブを生成する(ステップS503)。すなわち、コンポーネントコード生成部57は、処理対象のコンポーネントが使用する他のコンポーネントの機能に対応するコードを含むコンポーネント用スタブを生成する。
If it is determined in step S502 that the processing target component uses the function of another component, the component
コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいて、処理対象のコンポーネントが他のコンポーネントに提供する機能が存在するか否かを判断する(ステップS504)。他のコンポーネントに提供する機能がないと判断した場合、コンポーネントコード生成部57は、ステップS505の処理を実行せずに、そのままステップS506の処理を実行する。
Based on the component
ステップS504で処理対象のコンポーネントが他のコンポーネントに提供する機能があると判断した場合、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいてコード生成を行い、処理対象のコンポーネントに対応するコンポーネント用スケルトンを生成する(ステップS505)。すなわち、コンポーネントコード生成部57は、処理対象のコンポーネントが他のコンポーネントに提供する機能に対応するコードを含むコンポーネント用スケルトンを生成する。
When it is determined in step S504 that the component to be processed has a function provided to another component, the component
コンポーネントコード生成部57は、全てのコンポーネントについて処理を終了したか否かを判断する(ステップS506)。全てのコンポーネントについて処理を終了していない(未処理のコンポーネントが存在する)と判断した場合、コンポーネントコード生成部57は、ステップS502以降の処理を繰り返し実行し、未処理のコンポーネントのコード生成を行う。全てのコンポーネントについて処理を終了した(未処理のコンポーネントが存在する)と判断した場合、コンポーネントコード生成部57は、コンポーネントコード生成手順の処理を終了する。
The component
本実施の形態では、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいて、コンポーネントX91について、コンポーネントX用スタブ71及びコンポーネントX用スケルトン81を生成する。また、コンポーネントコード生成部57は、コンポーネントY92について、コンポーネントY用スタブ72を生成する。
In the present embodiment, the component
例えば、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいて、インタフェースI1型、構造体S1型及び構造体S2型についてのコードを含むコンポーネントX用スタブ71を生成する。また、コンポーネントコード生成部57は、インタフェースI1型の全機能とインタフェースI2型のop2_1 の機能についてのコードを含むコンポーネントX用スケルトン81を生成する。すなわち、コンポーネントX用スケルトン81ではインタフェースI2型のop2_2 の機能が使用されないので、コンポーネントコード生成部57は、インタフェースI2型のop2_2 の機能を省略したコードを含むコンポーネントX用スケルトン81を生成する。そのようにすることによって、コンポーネントコード生成部57は、コードサイズの小さいコンポーネントX用スケルトン81を生成する。
For example, based on the component
また、コンポーネントコード生成部57は、コンポーネント機能解析情報56にもとづいて、インタフェースI1型のop1_1 の機能を含むコンポーネントY用スタブ72を生成する。すなわち、コンポーネントY用スタブ72ではインタフェースI1型のop1_2 の機能が使用されないので、コンポーネントコード生成部57は、インタフェースI1型のop1_2 の機能を省略したコードを含むコンポーネントY用スタブ72を生成する。そのようにすることによって、コンポーネントコード生成部57は、コードサイズの小さいコンポーネントY用スタブ72を生成する。
Further, the component
なお、本実施の形態では、コンポーネントY92は他のコンポーネントに提供する機能をもたないので、コンポーネントコード生成部57は、コンポーネントY92に対応するスケルトンを生成しない。
In the present embodiment, since the component Y92 does not have a function to be provided to other components, the component
以上のように、本実施の形態によれば、IDLコンパイラ5は、コンポーネント定義6にもとづいて、各コンポーネントが必要とするIDL定義を解析して、各コンポーネントが使用するIDL型を抽出する。また、IDLコンパイラ5は、抽出したIDL型で提供される機能のうち必要な機能と不要な機能とを解析することによって、コンポーネントが使用しないコードを含まないスタブやスケルトンを生成する。従って、コンポーネントに不要なデータ型や機能を含まない軽量なスタブやスケルトンを自動生成することができる。
As described above, according to the present embodiment, the
特に、本実施の形態によれば、コンポーネントの機能や構成を予め予測できる組み込み機器等において、組み込みアプリケーションソフトウェアのコンポーネントに不要な機能を含まない軽量なスタブやスケルトンを自動生成することができる。従って、組み込み機器ソフトウェア向けのスタブやスケルトンを生成するIDLコンパイラを実装する用途に適用することができる。 In particular, according to the present embodiment, it is possible to automatically generate a lightweight stub or skeleton that does not include an unnecessary function in a component of the embedded application software in an embedded device or the like that can predict the function and configuration of the component in advance. Therefore, the present invention can be applied to a purpose of mounting an IDL compiler that generates a stub or skeleton for embedded device software.
また、本実施の形態によれば、IDLコンパイラ5は、1つのIDL定義2にもとづいて、複数のコンポーネント用のスタブやスケルトンを自動生成する。従って、各コンポーネント用にIDL定義2を分割して使用する場合と比較して、IDL定義2を容易に管理することができる。
Further, according to the present embodiment, the
本発明は、IDL定義データをコンパイルしてスタブやスケルトンを生成するIDLコンパイラに適用できる。特に、本発明を用いることによって、コンポーネントに不要なデータ型や機能を含まない軽量なスタブやスケルトンを自動生成することができる。また、組み込み機器ソフトウェア向けのスタブやスケルトンを生成するIDLコンパイラを実装する用途に適用することができる。 The present invention can be applied to an IDL compiler that compiles IDL definition data and generates stubs and skeletons. In particular, by using the present invention, lightweight stubs and skeletons that do not include unnecessary data types and functions in components can be automatically generated. Further, the present invention can be applied to an application for mounting an IDL compiler that generates a stub or skeleton for embedded device software.
2 IDL定義
5 IDLコンパイラ
6 コンポーネント定義
7 コンポーネント用スタブ
8 コンポーネント用スケルトン
51 IDL定義解析部
52 IDL定義解析情報
53 コンポーネント定義解析部
54 コンポーネント定義解析情報
55 コンポーネント機能解析部
56 コンポーネント機能解析情報
57 コンポーネントコード生成部
71 コンポーネントX用スタブ
72 コンポーネントY用スタブ
81 コンポーネントX用スケルトン
2
Claims (10)
前記ソフトウェアに含まれるコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力するコンポーネント定義入力手段と、
前記コンポーネント定義入力手段が入力したコンポーネント定義データにもとづいて、前記インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出するインタフェース抽出手段と、
前記インタフェース抽出手段が抽出したインタフェースに対応するコードを生成し、前記生成したコードを含むスタブ又はスケルトンを生成するコード生成手段と
を備えたことを特徴とするIDLコンパイル装置。 An IDL compiling device that generates a stub or a skeleton based on interface definition data indicating a definition of an interface used in software,
Component definition input means for inputting component definition data indicating the definition of functions used in the components included in the software;
Based on the component definition data input by the component definition input means, an interface extraction means for extracting an interface corresponding to a function used in the component among the interfaces defined by the interface definition data;
An IDL compiling device comprising: code generation means for generating code corresponding to the interface extracted by the interface extraction means and generating a stub or skeleton including the generated code.
インタフェース抽出手段は、前記コンポーネント定義データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースをコンポーネントごとに抽出し、
コード生成手段は、前記インタフェース抽出手段が抽出したインタフェースに対応するコードを含むスタブ又はスケルトンをコンポーネントごとに生成する
請求項1記載のIDLコンパイル装置。 The component definition input means inputs component definition data indicating the definition of functions used in a plurality of components included in the software,
The interface extracting means extracts, for each component, an interface corresponding to a function used in the component based on the component definition data.
The IDL compiling device according to claim 1, wherein the code generation unit generates a stub or a skeleton including a code corresponding to the interface extracted by the interface extraction unit for each component.
インタフェース抽出手段は、前記コンポーネント定義解析手段が生成したコンポーネント定義解析データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースを抽出する
請求項1又は請求項2記載のIDLコンパイル装置。 Component definition analysis means for analyzing the contents of the component definition data input by the component definition input means and generating component definition analysis data including the analysis results;
The IDL compiling device according to claim 1, wherein the interface extraction unit extracts an interface corresponding to a function used in the component based on the component definition analysis data generated by the component definition analysis unit.
前記インタフェース入力手段が入力したインタフェース定義データの内容を解析し、前記解析結果を含むインタフェース定義解析データを生成するインタフェース定義解析手段とを備え、
インタフェース抽出手段は、前記インタフェース定義解析手段が生成したインタフェース定義解析データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースを抽出する
請求項3記載のIDLコンパイル装置。 Interface definition input means for inputting interface definition data;
Analyzing the contents of the interface definition data input by the interface input means, and comprising interface definition analysis means for generating interface definition analysis data including the analysis results,
The IDL compiling device according to claim 3, wherein the interface extraction unit extracts an interface corresponding to a function used in a component based on the interface definition analysis data generated by the interface definition analysis unit.
コード生成手段は、前記インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、前記コンポーネントで用いられる機能に対応するコードを生成する
請求項4記載のIDLコンパイル装置。 The interface extraction unit analyzes the function used in the component based on the component definition analysis data generated by the component definition analysis unit and the interface definition analysis data generated by the interface definition analysis unit, and the component function analysis including the analysis result Generate data,
The IDL compiling device according to claim 4, wherein the code generation unit generates a code corresponding to a function used in the component based on the component function analysis data generated by the interface extraction unit.
インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、処理対象のコンポーネントが当該コンポーネントとは別のコンポーネントの機能を利用するか否かを判断し、
前記処理対象のコンポーネントとは別のコンポーネントの機能を利用すると判断すると、前記処理対象のコンポーネントとは別のコンポーネントの機能に対応するコードを含むスタブを生成する
請求項5記載のIDLコンパイル装置。 Code generation means
Based on the component function analysis data generated by the interface extraction means, determine whether the component to be processed uses the function of a component different from the component,
The IDL compiling device according to claim 5, wherein if it is determined that a function of a component different from the processing target component is used, a stub including a code corresponding to a function of a component different from the processing target component is generated.
インタフェース抽出手段が生成したコンポーネント機能解析データにもとづいて、処理対象のコンポーネントが当該コンポーネントとは別のコンポーネントに利用させる機能をもつか否かを判断し、
前記処理対象のコンポーネントとは別のコンポーネントに利用させる機能をもつと判断すると、前記処理対象のコンポーネントとは別のコンポーネントに利用させる機能に対応するコードを含むスケルトンを生成する
請求項5又は請求項6記載のIDLコンパイル装置。 Code generation means
Based on the component function analysis data generated by the interface extraction means, determine whether the component to be processed has a function to be used by a component different from the component,
The skeleton including a code corresponding to a function used by a component different from the processing target component is generated when it is determined that the component has a function used by a component different from the processing target component. 6. The IDL compiling device according to 6.
前記ソフトウェアに含まれるコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力するコンポーネント定義入力ステップと、
前記入力したコンポーネント定義データにもとづいて、前記インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出するインタフェース抽出ステップと、
前記抽出したインタフェースに対応するコードを生成し、前記生成したコードを含むスタブ又はスケルトンを生成するコード生成ステップと
を含むことを特徴とするIDLコンパイル方法。 An IDL compiling method for generating a stub or a skeleton based on interface definition data indicating a definition of an interface used in software,
A component definition input step for inputting component definition data indicating a definition of a function used in a component included in the software;
An interface extraction step for extracting an interface corresponding to a function used in a component from the interfaces defined in the interface definition data based on the input component definition data;
A code generation step of generating a code corresponding to the extracted interface and generating a stub or a skeleton including the generated code.
インタフェース抽出ステップで、前記コンポーネント定義データにもとづいて、コンポーネントで用いられる機能に対応するインタフェースをコンポーネントごとに抽出し、
コード生成ステップで、前記抽出したインタフェースに対応するコードを含むスタブ又はスケルトンをコンポーネントごとに生成する
請求項8記載のIDLコンパイル方法。 In the component definition input step, input component definition data indicating the definition of functions used by multiple components included in the software.
In the interface extraction step, an interface corresponding to the function used in the component is extracted for each component based on the component definition data.
The IDL compiling method according to claim 8, wherein a stub or a skeleton including a code corresponding to the extracted interface is generated for each component in the code generation step.
コンピュータに、
前記ソフトウェアに含まれるコンポーネントで用いられる機能の定義を示すコンポーネント定義データを入力する処理と、
前記入力したコンポーネント定義データにもとづいて、前記インタフェース定義データで定義されるインタフェースのうち、コンポーネントで用いられる機能に対応するインタフェースを抽出する処理と、
前記抽出したインタフェースに対応するコードを生成し、前記生成したコードを含むスタブ又はスケルトンを生成する処理と
を実行させるためのIDLコンパイラ。 An IDL compiler that generates stubs or skeletons based on interface definition data indicating interface definitions used in software,
On the computer,
A process of inputting component definition data indicating a definition of a function used in a component included in the software;
Based on the input component definition data, a process of extracting an interface corresponding to a function used in the component from the interfaces defined by the interface definition data;
An IDL compiler for generating a code corresponding to the extracted interface and generating a stub or skeleton including the generated code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004225847A JP4371000B2 (en) | 2004-08-02 | 2004-08-02 | IDL compiling device, IDL compiling method, and IDL compiler |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004225847A JP4371000B2 (en) | 2004-08-02 | 2004-08-02 | IDL compiling device, IDL compiling method, and IDL compiler |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006048236A true JP2006048236A (en) | 2006-02-16 |
JP4371000B2 JP4371000B2 (en) | 2009-11-25 |
Family
ID=36026733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004225847A Expired - Fee Related JP4371000B2 (en) | 2004-08-02 | 2004-08-02 | IDL compiling device, IDL compiling method, and IDL compiler |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4371000B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146383A (en) * | 2006-12-11 | 2008-06-26 | Nec Corp | Compilation device, method, and program |
-
2004
- 2004-08-02 JP JP2004225847A patent/JP4371000B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146383A (en) * | 2006-12-11 | 2008-06-26 | Nec Corp | Compilation device, method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP4371000B2 (en) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100661393B1 (en) | Web site management system and method applying web programming environment | |
JP5679989B2 (en) | Debug pipeline | |
JPH08202545A (en) | Object-oriented system and method for generation of target language code | |
US7917899B2 (en) | Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus | |
US10269087B2 (en) | Language translation using preprocessor macros | |
CN108595171B (en) | Object model generation method, device, equipment and storage medium | |
JP2007141173A (en) | Compiling system, debug system and program development system | |
CN111427583A (en) | Component compiling method and device, electronic equipment and computer readable storage medium | |
KR101826828B1 (en) | System and method for managing log data | |
JP2008276735A (en) | Program code converter and program code conversion method | |
JP2008165342A (en) | Source code creating method, device and program | |
JPH08263299A (en) | Method for converting program | |
JP2009230677A (en) | Property generation system and property verification system | |
JP4371000B2 (en) | IDL compiling device, IDL compiling method, and IDL compiler | |
JP7260150B2 (en) | WEBSITE DESIGN SUPPORT DEVICE, WEBSITE DESIGN SUPPORT METHOD, AND PROGRAM | |
JP6175306B2 (en) | Control program dividing apparatus, control program dividing method and recording medium therefor | |
JPH11296359A (en) | Program development support tool | |
JP2004133630A (en) | Programming method, program conversion apparatus, program and storage medium | |
Di Martino et al. | Automatic dynamic data structures recognition to support the migration of applications to the cloud | |
JP2006277560A (en) | Software development support device, design document generation program and design document generating method | |
JP2009217720A (en) | Program generating device and program generating method | |
JP2007114934A (en) | Compiler system | |
JP2006146731A (en) | Program, storage medium, assembler device, compiler device, simulator device and emulator device | |
Sidou et al. | A platform for data handling, analysis and evaluation of environmental engineering issues and simulation control | |
JP2004246924A (en) | Application generator development support device and application generator development support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051121 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090811 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090824 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130911 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |