(57)【要約】【課題】プログラム作成者が多数のルールを学ぶ負担を少なくすることが可能なプログラム開発支援装置およびプログラム開発支援方法を提供する。【解決手段】統合Ｉ／Ｆ部２ｃは、入力部３にて受け付けられたプログラム内の所定形式の実行指示を、入力部３が受け付けた指定情報にて指定された特定のソフトウェアに対応する形式に変換し、その特定のソフトウェアを実行している処理部に、その変換された実行指示に基づく特定の処理を実行させる。【選択図】図１
2007133820.tif 000002
【特許請求の範囲】
【請求項１】
特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置であって、
特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納する格納部と、
前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報と、所定形式の前記実行指示を含むプログラムと、を受け付ける入力部と、
前記指定情報にて指定された特定のソフトウェアを実行する処理部と、
前記入力部が受け付けたプログラムを実行するプログラム実行部と、
前記プログラム実行部が実行するプログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理部に、該変換された実行指示に基づく前記特定の処理を実行させ、該処理部の処理結果を所定形式に変換して前記プログラム実行部に戻す統合インタフェース部と、を含むプログラム開発支援装置。
【請求項２】
請求項１に記載のプログラム開発支援装置において、
前記格納部は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、
前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成するプログラム生成部を、さらに含むプログラム開発支援装置。
【請求項３】
請求項１または２に記載のプログラム開発支援装置において、
前記ソフトウェアは、前記特定の処理を関数で実行し、
前記実行指示は、引数である、プログラム開発支援装置。
【請求項４】
請求項１ないし３のいずれか１項に記載のプログラム開発支援装置において、
前記ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアである、プログラム開発支援装置。
【請求項５】
特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納し、特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置が行うプログラム開発支援方法であって、
前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報を受け付ける指定情報受付ステップと、
所定形式の前記実行指示を含むプログラムを受け付けるプログラム受付ステップと、
前記指定情報にて指定された特定のソフトウェアを実行する処理ステップと、
前記入力部が受け付けたプログラムを実行するプログラム実行ステップと、
前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理ステップで、該変換された実行指示に基づく前記特定の処理を実行させ、その処理結果を所定形式に変換する制御ステップと、を含むプログラム開発支援方法。
【請求項６】
請求項５に記載のプログラム開発支援方法において、
前記プログラム開発支援装置は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、
前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成するプログラム生成ステップを、さらに含むプログラム開発支援方法。
【請求項７】
請求項５または６に記載のプログラム開発支援方法において、
前記ソフトウェアは、前記特定の処理を関数で実行し、
前記実行指示は、引数である、プログラム開発支援方法。
【請求項８】
請求項５ないし７のいずれか１項に記載のプログラム開発支援方法において、
前記ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアである、プログラム開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム開発支援装置およびプログラム開発支援方法に関し、特には、プログラム作成者の負担を軽減することが可能なプログラム開発支援装置およびプログラム開発支援方法に関する。
【背景技術】
【０００２】
コンピュータ分野では、複数種類のプラットフォーム（例えば、ＯＳ）が存在する。
【０００３】
プログラムは、自己に対応するプラットフォーム上でしか動作しない。このため、従来、プログラム作成者は、複数のプラットフォームに対応したソフトウェアまたはソフトウェア部品を作成する場合、プラットフォーム別に、ソフトウェアまたはソフトウェア部品を作成していた。
【０００４】
また、複数種類のライブラリおよびミドルウェアも存在する。プログラムは、自己に対応するライブラリおよびミドルウェア上でしか動作しない。よって、従来、プログラム作成者は、プラットフォームが同じでも、ライブラリまたはミドルウェアが異なる場合、ライブラリとミドルウェアとの組合せごとに、ソフトウェアまたはソフトウェア部品を作成していた。
【０００５】
なお、特許文献１（特開平２−２７２６２７号公報）には、いろいろな言語で記載されたプログラムで、共通のライブラリを呼び出すことが可能なコンピュータシステムが記載されている。
【特許文献１】特開平２−２７２６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
プログラム作成者は、複数種類のプラットフォーム、複数種類のライブラリ、および、複数種類のミドルウェアのそれぞれに対応するソフトウェアを、別々に作成しなければならない。
【０００７】
このため、プログラム作成者は、複数種類のプラットフォーム、複数種類のライブラリ、および、複数種類のミドルウェアの使い方（ルール）を習得しなければならない。
【０００８】
また、特許文献１に記載のコンピュータシステムでは、共通のライブラリ、換言すると、特定のライブラリしか使用できない。このため、プログラム作成者は、その特定のライブラリと異なる所定のライブラリに対応するプログラムを作成する場合、その所定のライブラリの使い方（ルール）を習得しなければならない。
【０００９】
プログラムを開発するために多数のルールを学ぶことは、プログラム作成者にとって大きな負担である。
【００１０】
本発明の目的は、プログラム作成者が多数のルールを学ぶ負担を少なくすることが可能なプログラム開発支援装置およびプログラム開発支援方法を提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のプログラム開発支援装置は、特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置であって、特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納する格納部と、前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報と、所定形式の前記実行指示を含むプログラムと、を受け付ける入力部と、前記指定情報にて指定された特定のソフトウェアを実行する処理部と、前記入力部が受け付けたプログラムを実行するプログラム実行部と、前記プログラム実行部が実行するプログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理部に、該変換された実行指示に基づく前記特定の処理を実行させ、該処理部の処理結果を所定形式に変換して前記プログラム実行部に戻す統合インタフェース部とを含む。
【００１２】
また、本発明のプログラム開発支援方法は、特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納し、特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置が行うプログラム開発支援方法であって、前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報を受け付ける指定情報受付ステップと、所定形式の前記実行指示を含むプログラムを受け付けるプログラム受付ステップと、前記指定情報にて指定された特定のソフトウェアを実行する処理ステップと、前記入力部が受け付けたプログラムを実行するプログラム実行ステップと、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理ステップで、該変換された実行指示に基づく前記特定の処理を実行させ、その処理結果を所定形式に変換する制御ステップとを含む。
【００１３】
上記発明によれば、受け付けられたプログラム内の所定形式の実行指示が、指定情報にて指定された特定のソフトウェアに対応する形式に変換され、その特定のソフトウェアを実行する処理部が、その変換された実行指示に基づいて特定の処理を実行し、その実行結果が、所定形式に変換されてプログラム実行部に返される。
【００１４】
このため、実行指示が所定形式で作成されていれば、その実行指示は、複数のソフトウェアのいずれでも実行可能となり、また、プログラム作成者は、その処理結果によって、プログラムの動作確認を行える。
【００１５】
したがって、プログラム作成者は、所定形式の実行指示を含むプログラムを作成すれば、そのプログラムを、実行指示の形式が互いに異なる複数のソフトウェアに実行させることが可能になる。
【００１６】
よって、プログラム作成者は、ソフトウェアごとに、別々にプログラムを作成する必要がなくなり、プログラム作成者が各ソフトウェアの使い方（ルール）を学ぶ負担を少なくすることが可能になる。その結果、プログラム作成者は、インタフェースの違いを意識せずにソフトウェア開発を行うことが可能になる。
【００１７】
なお、前記プログラム開発支援装置は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成することが望ましい。
【００１８】
上記の発明によれば、プログラム作成者は、インタフェースの違いを意識せずにプログラムを生成できる。
【００１９】
また、前記処理部は、前記特定の処理を関数で実行し、前記実行指示は、引数であることが望ましい。
【００２０】
また、前記処理部は、プラットフォーム、ライブラリまたはミドルウェアであることが望ましい。
【発明の効果】
【００２１】
本発明によれば、プログラム作成者が多数のルールを学ぶ負担を少なくすることが可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施例を、図面を参照して説明する。
【００２３】
図１は、本発明の一実施例のプログラム開発支援装置１００を示したブロック図である。
【００２４】
図１において、本プログラム開発支援装置は、例えば、プログラム開発および操作確認用ＰＣ（パーソナルコンピュータ）である。
【００２５】
本プログラム開発支援装置は、メモリ１と、ＣＰＵ２と、入力部３とを含む。
【００２６】
メモリ１は、コンピュータにて読み取り可能な記録媒体であり、システムプログラム１ａ１および１ａ２と、統合Ｉ／Ｆ（インタフェース）プログラム１ｂと、開発中プログラム１ｃとを格納する。なお、開発中プログラム１ｃは、プログラム作成者にて作成され、入力部３で受け付けられる。
【００２７】
システムプログラム１ａ１は、ライブラリＡ１０ａと、ミドルウェアＡ１０ｂと、プラットフォームＡ１０ｃとを含む。プラットフォームＡ１０ｃは、例えば、ＯＳである。
【００２８】
システムプログラム１ａ２は、ライブラリＡ１０ａと、ミドルウェアＢ２０ｂと、プラットフォームＢ２０ｃとを含む。
【００２９】
ライブラリＡ１０ａと、ミドルウェアＡ１０ｂと、プラットフォームＡ１０ｃと、ライブラリＡ１０ａと、ミドルウェアＢ２０ｂと、プラットフォームＢ２０ｃは、ソフトウェアである。
【００３０】
なお、ミドルウェアＢ２０ｂは、ミドルウェアＡ１０ｂと異なる。また、プラットフォームＢ２０ｃは、例えば、プラットフォームＡ１０ｃと異なるＯＳである。
【００３１】
ミドルウェアＡ１０ｂとミドルウェアＢ２０ｂとは、ＣＰＵ２にて実行されると、処理Ａを実行させる旨の実行指示に基づいて、処理Ａを実行する。しかしながら、ミドルウェアＡ１０ｂとミドルウェアＢ２０ｂでは、実行指示の形式が異なる。なお、処理Ａは、例えば、関数を使用した処理である。
【００３２】
プラットフォームＡ１０ｃとプラットフォームＢ２０ｃとは、ＣＰＵ２にて実行されると、処理Ｂを実行させる旨の実行指示に基づいて、処理Ｂを実行する。しかしながら、プラットフォームＡ１０ｃとプラットフォームＢ２０ｃでは、実行指示の形式が異なる。なお、処理Ｂは、例えば、関数を使用した処理である。
【００３３】
ＣＰＵ２は、処理部２ａおよび２ｂと、統合Ｉ／Ｆ部２ｃと、開発中プログラム実行部２ｄと、プログラム生成部２ｅとを含む。
【００３４】
ＣＰＵ２は、コンピュータの一例であり、メモリ１に格納された種々のプログラムを読み取り、その読み取られたプログラムを実行することによって、処理部２ａおよび２ｂと、統合Ｉ／Ｆ部２ｃと、開発中プログラム実行部２ｄとを実現する。
【００３５】
具体的には、ＣＰＵ２は、システムプログラム１ａ１を実行して処理部２ａを生成し、システムプログラム１ａ２を実行して処理部２ｂを生成し、統合Ｉ／Ｆプログラム１ｂを実行して統合Ｉ／Ｆ部２ｃを生成し、開発中プログラム１ｃを実行して開発中プログラム実行部２ｄを生成する。
【００３６】
処理部２ａは、プラットフォームＡ実行部２ａ１と、ライブラリＡ／ミドルウェアＡ実行部２ａ２とを含み、また、処理部２ｂは、プラットフォームＢ実行部２ｂ１と、ライブラリＡ／ミドルウェアＢ実行部２ｂ２とを含む。
【００３７】
さらに言えば、ＣＰＵ２は、システムプログラム１ａ１内のプラットフォームＡ１０ｃを実行してプラットフォームＡ実行部２ａ１を生成し、システムプログラム１ａ１内のライブラリＡ１０ａおよびミドルウェアＡ１０ｂを実行してライブラリＡ／ミドルウェアＡ実行部２ａ２を生成する。
【００３８】
また、ＣＰＵ２は、システムプログラム１ａ２内のプラットフォームＢ２０ｃを実行してプラットフォームＢ実行部２ｂ１を生成し、システムプログラム１ａ２内のライブラリＡ１０ａおよびミドルウェアＢ２０ｂを実行してライブラリＡ／ミドルウェアＢ実行部２ｂ２を生成する。
【００３９】
入力部３は、プログラム作成者から、開発中プログラム１ｃを受け付ける。開発中プログラム１ｃは、所定形式の実行指示を含む。
【００４０】
また、入力部３は、複数のソフトウェアのいずれかを特定のソフトウェアとして指定する指定情報を受け付ける。なお、本実施例では、特定のソフトウェアとして、システムプログラム１ａ１または１ａ２が指定される。
【００４１】
ＣＰＵ２は、入力部３が開発中プログラム１ｃを受け付けると、開発中プログラム１ｃをメモリ１に格納する。
【００４２】
また、ＣＰＵ２は、入力部３が指定情報を受け付けると、その指定情報にて指定されたソフトウェア（システムプログラム１ａ１または１ａ２）を実行し、また、その指定情報を統合Ｉ／Ｆ部２ｃに提供する。
【００４３】
なお、ＣＰＵ２は、入力部３が指定情報を受け付けると、システムプログラム１ａ１および１ａ２を実行してもよい。
【００４４】
また、ＣＰＵ２のプログラム生成部２ｅは、入力部３が指定情報を受け付けると、開発中プログラム１ｃと、統合Ｉ／Ｆプログラム１ｂとを含む統合プログラムを生成する。なお、統合Ｉ／Ｆプログラム１ｂは、開発中プログラム１ｃに含まれる所定形式の実行指示を、その指定情報にて指定された特定のソフトウェアに対応する形式に変換し、その変換された実行指示に基づく特定の処理を、その特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる。
【００４５】
開発中プログラム実行部２ｄは、開発中プログラム１ｃに示された所定形式の実行指示を実行する際、その所定形式の実行指示を統合Ｉ／Ｆ部２ｃに提供する。
【００４６】
統合Ｉ／Ｆ部２ｃは、所定形式の実行指示を、指定情報にて指定されたソフトウェアに対応する形式に変換する。なお、この変換処理は、例えば、演算で行われる。
【００４７】
統合Ｉ／Ｆ部２ｃは、その変換された実行指示を、指定情報にて指定されたソフトウェアを実行している処理部に提供する。その処理部は、その提供された実行指示に基づいて特定の処理を実行し、その処理結果を統合Ｉ／Ｆ部２ｃに提供する。統合Ｉ／Ｆ部２ｃは、その処理結果を所定の形式に変換して開発中プログラム実行部２ｄに提供する。
【００４８】
プログラム作成者は、その処理結果を見て、開発中のプログラムが、予定されていた機能を有しているかを判定する。
【００４９】
次に、動作を説明する。
【００５０】
以下では、プログラム作成者がＣ言語プログラムで開発中プログラムを作成した例を説明する。
【００５１】
また、以下では、開発中プログラム実行部２ｄ、統合Ｉ／Ｆ部２ｃおよび各処理部（プラットフォーム実行部とライブラリ／ミドルウェア実行部）は、特定の処理を関数で実行し、また、実行指示として、引数が用いられる。また、統合Ｉ／Ｆ部２ｃは、すでに指定情報を受け付けているとする。
【００５２】
ステップＳ１では、開発中プログラム実行部２ｄは、開発プログラム１ｃ中の任意の関数にしたがって、その任意の関数にて指定された統合Ｉ／Ｆ部２ｃ内の統一Ｉ／Ｆ関数に、その任意の関数にて指定された引数を設定する。なお、この引数は、所定形式である。統合Ｉ／Ｆ部２ｃは、統一Ｉ／Ｆ関数に引数が設定されると、ステップＳ２を実行する。
【００５３】
ステップＳ２では、統合Ｉ／Ｆ部２ｃは、引数が設定された統一Ｉ／Ｆ関数を実行し、指定情報にて指定されたソフトウェア内の関数の中から、引数が設定された統一Ｉ／Ｆ関数にあらかじめ対応づけられた関数を選定し、開発中プログラム実行部２ｄにて設定された引数を、その選定された関数に応じた形式に変換する。統合Ｉ／Ｆ部２ｃは、引数の変換が修了すると、ステップＳ３を実行する。
【００５４】
ステップＳ３では、統合Ｉ／Ｆ部２ｃは、引数が設定された統一Ｉ／Ｆ関数にしたがって、その選定された関数に、その変換された引数を設定する。その選定された関数を有する処理部は、引数が設定されると、ステップＳ４を実行する。
【００５５】
ステップＳ４では、その処理部は、その引数が設定された関数を実行する。その処理部は、その関数の実行が修了すると、ステップＳ５を実行する。
【００５６】
ステップＳ５では、その処理部は、その実行結果を、戻り値として統合Ｉ／Ｆ部２ｃに返す。統合Ｉ／Ｆ部２ｃは、戻り値を受け付けると、ステップＳ６を実行する。
【００５７】
ステップＳ６では、統合Ｉ／Ｆ部２ｃは、その戻り値を、所定の形式、具体的には、統合Ｉ／Ｆ部２ｃの戻り値として予め設定された形式に変換する。統合Ｉ／Ｆ部２ｃは、戻り値の形式を変換すると、ステップＳ７を実行する。
【００５８】
ステップＳ７では、統合Ｉ／Ｆ部２ｃは、その変換された戻り値を、統合Ｉ／Ｆ部２ｃの戻り値として、開発中プログラム実行部２ｄに返す。
【００５９】
プログラム作成者は、その戻り値を見て、開発中のプログラムが、予定されていた機能を有しているかを判定する。
【００６０】
図２は、開発中プログラム１ｃの一例を示した説明図である。
【００６１】
図２において、ret=alti_sin（*in_a,*out_r）が、任意の関数１ｃ１の一例であり、「int alti_sin」が統一Ｉ／Ｆ関数を示し、「float *in_a, float *out_r」が所定形式の引数を示す。
【００６２】
この場合、開発中プログラム実行部２ｄは、統合Ｉ／Ｆ部２ｃ内の統一Ｉ／Ｆ関数「int alti_sin」に、引数「float *in_a, float *out_r」を設定する。
【００６３】
図３は、統合Ｉ／Ｆプログラム１ｂの一例、具体的には、統一Ｉ／Ｆ関数「int alti_sin」を示した説明図である。
【００６４】
このとき、指定情報がプラットフォームＡを示していると、統合Ｉ／Ｆ部２ｃは、統一Ｉ／Ｆ関数「int alti_sin」にしたがって、所定形式の引数「*in_a,*out_r」（表現上はinput_data,output_data）を、統一Ｉ／Ｆ関数「int alti_sin」に対応するプラットフォームＡの関数「void vsip_vcos_f」に応じた形式の「const vsip_vview_f *a, const vsip_vview_f *r」に変換する。
【００６５】
統合Ｉ／Ｆ部２ｃは、プラットフォームＡの関数「void vsip_vcos_f」に、引数「const vsip_vview_f *a, const vsip_vview_f *r」を設定する。
【００６６】
プラットフォームＡ実行部２ａ１は、引数「const vsip_vview_f *a, const vsip_vview_f *r」が設定された関数「void vsip_vcos_f」を実行する。
【００６７】
プラットフォームＡ実行部２ａ１は、その実行結果を、戻り値として、統合Ｉ／Ｆ部２ｃに提供する。
【００６８】
統合Ｉ／Ｆ部２ｃは、その戻り値を、統合Ｉ／Ｆ部２ｃの戻り値として予め設定された形式に変換する。統合Ｉ／Ｆ部２ｃは、その変換された戻り値を、統合Ｉ／Ｆ部２ｃの戻り値として、開発中プログラム実行部２ｄに返す。
【００６９】
図４は、図２および３に示した関数、引数および戻り値を示した説明図である。
【００７０】
なお、指定情報がプラットフォームＢを示していると、統合Ｉ／Ｆ部２ｃは、統一Ｉ／Ｆ関数「int alti_sin」にしたがって、所定形式の引数「*in_a,*out_r」（input_data,output_data）を、統一Ｉ／Ｆ関数「int alti_sin」に対応するプラットフォームＢの関数に応じた形式に変換する。例えば、統合Ｉ／Ｆ部２ｃは、所定形式の引数に、プラットフォームＢの関数が必要とするパラメータを追加する。
【００７１】
統合Ｉ／Ｆ部２ｃは、そのプラットフォームＢの関数に、変換された引数を設定する。
【００７２】
プラットフォームＢ実行部２ｂ１は、引数が設定された関数を実行する。
【００７３】
プラットフォームＡ実行部２ｂ１は、その実行結果を、戻り値として、統合Ｉ／Ｆ部２ｃに提供する。
【００７４】
統合Ｉ／Ｆ部２ｃは、その戻り値を、統合Ｉ／Ｆ部２ｃの戻り値として予め設定された形式に変換する。統合Ｉ／Ｆ部２ｃは、その変換された戻り値を、統合Ｉ／Ｆ部２ｃの戻り値として、開発中プログラム実行部２ｄに返す。
【００７５】
図５は、本プログラム開発支援装置を用いたプログラム開発システムを示したブロック図である。なお、図５において、図１に示したものと同一のものには同一符号を附してある。
【００７６】
図５において、本プログラム開発システムは、プログラム開発支援装置１００と、構成管理用サーバ２００と、構成管理用サーバ操作用ＰＣ３００とを含む。
【００７７】
構成管理用サーバ２００は、ソフトウェアのバージョン管理を行い、また、ソースプログラムの一括管理を行う。
【００７８】
構成管理用サーバ操作用ＰＣ３００は、構成管理用サーバ２００に保存されているソースプログラムを取り出し、また、ソースプログラムを構成管理用サーバ２００に登録する。
【００７９】
プログラム開発支援装置１００は、ソフトウェア（プログラム）を作成し、また、構成管理用サーバ操作用ＰＣ３００にて取り出されたソースプログラムの修正を行い、また、作成または修正したプログラムの実行および試験を行う。
【００８０】
図６は、本プログラム開発システムの動作を説明するためのフローチャートである。
【００８１】
以下、図６を参照して、本プログラム開発システムの動作を説明する。
【００８２】
ステップＳ１０１では、構成管理用サーバ２００が立ち上げられ、ステップＳ１０２では、構成管理用サーバ操作用ＰＣ３００が立ち上げられる。
【００８３】
その後、ステップＳ１０３で、構成管理用サーバ２００は、構成管理用サーバ操作用ＰＣ３００と接続し、ステップＳ１０４で、構成管理用サーバ操作用ＰＣ３００は、構成管理用サーバ２００への接続を確認する。
【００８４】
一方、ステップＳ１０５では、プログラム開発支援装置１００は、プログラム作成者からの入力に基づいて、モジュールごとに機能構成を作成する。
【００８５】
その後、ステップＳ１０６では、プログラム開発支援装置１００は、プログラム作成者からの入力に基づいて、モジュールを構成する細部機能に対する関数の詳細を作成する。
【００８６】
その後、ステップＳ１０７では、プログラム開発支援装置１００は、プログラム作成者からの入力に基づいて、関数の詳細をもとにプログラムを作成する。なお、ステップＳ１０７は、構成に関するすべての関数が作成されるまで行われる（ステップＳ１０８）。
【００８７】
構成に関するすべての関数が作成されると、プログラム開発支援装置１００は、ステップＳ１０９を実行する。
【００８８】
ステップＳ１０９では、プログラム開発支援装置１００は、作成したモジュールごとに、そのモジュールに記載された関数を実行するソフトウェアを示す指示情報を受け付け、各モジュールが、その指示情報に示されたソフトウェアに応じてコンパイルされるように設定する。このコンパイルは、プログラム生成部２ｅにて実行される。
【００８９】
その後、ステップＳ１１０では、プログラム開発支援装置１００は、モジュール別に、機能動作を確認する。なお、この動作は、上述したように、統合Ｉ／Ｆ部２ｃを用いて実行される。
【００９０】
ステップＳ１１０での確認の結果、各モジュールが、求められる機能を満たしていないと、ステップＳ１０７が実行され、一方、各モジュールが、求められる機能を満たしていると、ステップＳ１１２が実行される。
【００９１】
ステップＳ１１２では、プログラム開発支援装置１００は、作成したモジュールを構成管理用サーバ２００へ登録する手続きを行う。具体的には、プログラム開発支援装置１００は、構成管理用サーバ操作用ＰＣ３００に、登録するモジュール（関数、プログラム等）を提供する。構成管理用サーバ操作用ＰＣ３００は、モジュールを受け付けると、ステップＳ１１３を実行する。
【００９２】
ステップＳ１１３では、構成管理用サーバ操作用ＰＣ３００は、構成管理サーバ２００にログインする。
【００９３】
その後、ステップＳ１１４で、構成管理用サーバ操作用ＰＣ３００は、モジュールの登録手続きを行う。具体的には、構成管理用サーバ操作用ＰＣ３００は、機能確認が完了したモジュール群を、構成管理用サーバ２００に提供する。
【００９４】
その後、ステップＳ１１５で、構成管理用サーバ２００は、そのモジュール群を登録する。
【００９５】
その後、ステップＳ１１６で、構成管理用サーバ操作用ＰＣ３００は、登録完了を通知する。具体的には、構成管理用サーバ操作用ＰＣ３００は、登録完了をプログラム開発支援装置１００に通知する。
【００９６】
その後、ステップＳ１１７で、プログラム開発支援装置１００は、モジュール登録完了を確認する。
【００９７】
本実施例によれば、統合Ｉ／Ｆ部２ｃは、受け付けられたプログラム内の所定形式の実行指示を、指定情報にて指定された特定のソフトウェアに対応する形式に変換し、その特定のソフトウェアを実行する処理部に、その変換された実行指示に基づく特定の処理を実行させ、その処理結果を所定形式に変換して開発中プログラム実行部２ｄに戻す。
【００９８】
このため、実行指示が所定形式で作成されていれば、その実行指示は、複数のソフトウェアのいずれでも実行可能となり、また、プログラム作成者は、その処理結果によって、プログラムの動作確認を行える。
【００９９】
したがって、プログラム作成者は、所定形式の実行指示を含むプログラムを作成すれば、そのプログラムを、実行指示の形式が互いに異なる複数のソフトウェアに実行させることが可能になる。
【０１００】
よって、プログラム作成者は、ソフトウェアごとに、別々にプログラムを作成する必要がなくなり、プログラム作成者が各処理部の使い方（ルール）を学ぶ負担を少なくすることが可能になる。その結果、プログラム作成者は、インタフェースの違いを意識せずにソフトウェア開発を行うことが可能になる。
【０１０１】
また、システムとしてオーバーヘッドが大きくならないようにすることが可能になる。
【０１０２】
また、プログラム生成部２ｅは、開発中プログラム１ｃと、統合Ｉ／Ｆプログラム１ｂとを含むプログラムを生成する。プログラム生成部２ｅにて生成されたプログラムは、様々なシステムで利用できるようなプログラム（モジュール）になる。よって、プログラム作成者は、インタフェースの違いを意識せずにプログラムを生成できる。
【０１０３】
また、開発ごとに使用するライブラリの使い方／手順の違いによる習熟時間による遅延を軽減することが可能となる。
【０１０４】
また、同じ機能を有するプログラムの他システムでの流用または再利用が可能となる。
【０１０５】
よって、システムごとに作成していた同じ機能のプログラムを重複して作成するためにかかる工数を抑えられる。統一したインタフェースを用いることで、プログラム開発手順を共通化することが可能となる。同じ機能のプログラムを再利用することができ、部品化および再利用の比率を増やすことが可能となる。
【０１０６】
なお、ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアであってもよく、適宜変更可能である。
【０１０７】
本実施例は、ソフトウェア開発分野、特には、通信Ｉ／Ｆを有するソフトウェア開発分野、組込み用信号処理モジュールを用いたソフトウェア開発分野、ＧＵＩを用いたソフトウェア開発分野での利用が考えられる。
【０１０８】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【０１０９】
【図１】本発明の一実施例のプログラム開発支援装置１００を示したブロック図である。
【図２】開発中プログラム１ｃの一例を示した説明図である。
【図３】統合Ｉ／Ｆプログラム１ｂの一例を示した説明図である。
【図４】関数、引数および戻り値を示した説明図である。
【図５】プログラム開発システムを示したブロック図である。
【図６】プログラム開発システムの動作を説明するためのフローチャートである。
【符号の説明】
【０１１０】
１      メモリ
１ａ１  システムプログラム
１ａ２  システムプログラム
１ｂ    統合Ｉ／Ｆプログラム
１ｃ    開発中プログラム
１０ａ    ライブラリＡ
１０ｂ    ミドルウェアＡ
１０ｃ    プラットフォームＡ
２０ｂ    ミドルウェア２０ｂ
２０ｃ    プラットフォームＢ
２      ＣＰＵ
２ａ    処理部
２ａ１  プラットフォームＡ実行部
２ａ２  ライブラリＡ／ミドルウェアＡ実行部
２ｂ    処理部
２ｂ１  プラットフォームＢ実行部
２ｂ２  ライブラリＡ／ミドルウェアＢ実行部
２ｃ    統合Ｉ／Ｆ部
２ｄ    開発中プログラム実行部
３      入力部
１００      プログラム開発支援装置
２００      構成管理用サーバ
３００      構成管理用サーバ操作用ＰＣ
【図１】
2007133820.tif 000003
【図２】
2007133820.tif 000004
【図３】
2007133820.tif 000005
【図４】
2007133820.tif 000006
【図５】
2007133820.tif 000007
【図６】
2007133820.tif 000008