(57)【要約】【課題】  ソースプログラムから段階的に生成される各世代のプログラムを意識せずにターゲットプログラムの最適化を実行する。【解決手段】  ファイル名記憶手段１により、ソースファイル１ａａ、アセンブルファイル１ｂａ、オブジェクトファイル１ｃａのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名が記憶される。そのプログラムファイルは、プログラムファイル編集手段２によって編集される。その後、ファイル名管理手段３により、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名が、ファイル名記憶手段１から削除される。【選択図】  図１
2006277457.tif 000002
【特許請求の範囲】
【請求項１】
プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
【請求項２】
前記プログラムファイル編集手段は、前記最新のターゲットプログラムの生成元となるプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする請求項１記載のプログラム開発管理装置。
【請求項３】
プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
【請求項４】
前記プログラムファイルに対して実行された編集内容と同様の編集内容を、他の世代のプログラムファイルに対して実行する編集反映手段をさらに有することを特徴とする請求項３記載のプログラム開発管理装置。
【請求項５】
前記プログラムファイル編集手段は、前記フラグが設定されたプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする請求項３記載のプログラム開発管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムファイルを管理するプログラム開発管理装置に関し、特に、プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置に関する。
【背景技術】
【０００２】
現在、高級言語で作成されたソースプログラムは、コンパイルやアセンブル等を経てオブジェクトプログラムに変換され、ターゲットプログラムとして実際に使用されている。さらに、実際に使用可能なターゲットプログラムを開発するため、様々な工夫がなされている。
【０００３】
例えば、プログラム開発者の負担を軽減させたターゲットプログラム開発方法として、ソースプログラムに対してコンパイルやアセンブル等を実行する過程における中間表現を有するオブジェクトプログラムを生成する方法が存在している。この方法では、この中間表現を使用することで、オブジェクトプログラムを最適化し、ターゲットプログラムを生成している（例えば、特許文献１参照）。
【０００４】
また、効率的なターゲットプログラム開発方法として、高級言語プログラムが正確にアセンブルされたことの確認について、自動で確認できる方法が存在している（例えば、特許文献２参照）。
【０００５】
また、所定のプログラムを記憶するプロジェクトの内容を解析するための情報を格納するメイクファイルを用意し、そのメイクファイルの内容を解析する方法が存在している（例えば、特許文献３参照）。
【特許文献１】特開２００３−２０８３１７号公報
【特許文献２】特開２００３−０１５９１０号公報
【特許文献３】特開２００１−２１６１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１によって開示された技術では、ソースプログラムから段階的に生成される各世代のプログラムにおいて、オブジェクトプログラムに対してのみ最適化が実行される。
【０００７】
また、特許文献２によって開示された技術では、ソースプログラムとなる高級言語プログラムから段階的に生成される各世代のプログラムにおいて、ソースプログラムに対してのみ最適化が実行される。
【０００８】
また、特許文献３によって開示された技術では、ソースプログラムから段階的に生成される各世代のプログラムにおいて、所定の世代のプログラムに対してのみ最適化が実行される。
【０００９】
本発明は、このような点に鑑みてなされたものであり、ソースプログラムから段階的に生成される各世代のプログラムを意識せずにターゲットプログラムの最適化を実行できるプログラム開発管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、上記課題を解決するために、図１に例示するように、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１ａａ、及び、アセンブルファイル１ｂａを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１ｃａを生成する場合で、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを管理するプログラム開発管理装置において、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段１と、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを編集するプログラムファイル編集手段２と、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段１から削除するファイル名管理手段３と、を有することを特徴とするプログラム開発管理装置が提供される。
【００１１】
このようなプログラム開発管理装置によると、ファイル名記憶手段１により、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名が記憶される。そのプログラムファイルは、プログラムファイル編集手段２によって編集される。プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、ファイル名管理手段３により、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名が、ファイル名記憶手段１から削除される。
【００１２】
また、本発明では、上記課題を解決するために、図１に例示するように、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１ａａ、及び、アセンブルファイル１ｂａを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１ｃａを生成する場合で、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを管理するプログラム開発管理装置において、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａに対する編集と変換とによって生成された、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａのファイル名を記憶するファイル名記憶手段１と、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを編集するプログラムファイル編集手段２と、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルのファイル名に、フラグを設定するファイル名管理手段３と、を有することを特徴とするプログラム開発管理装置が提供される。
【００１３】
このようなプログラム開発管理装置によると、ファイル名記憶手段１により、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａに対する編集と変換とによって生成された、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａのファイル名が記憶される。そのプログラムファイルは、プログラムファイル編集手段２によって編集される。プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、ファイル名管理手段３により、編集されたプログラムファイルのファイル名に、フラグが設定される。
【発明の効果】
【００１４】
本発明では、ファイル名記憶手段が、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶し、ファイル名管理手段が、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段から削除するようにする。
【００１５】
このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイルから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。
【００１６】
また、本発明では、ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名を記憶し、ファイル名管理手段が、編集されたプログラムファイルのファイル名に、フラグを設定するようにする。
【００１７】
このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイルから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照して説明する。ここで、まず、本発明の概念について説明し、その後、具体的な本発明の実施の形態について説明する。
まず、本発明の概念について説明する。図１は、本発明の概念図である。
【００１９】
ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１ａａ、及び、アセンブルファイル１ｂａを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１ｃａを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。
【００２０】
なお、ソースファイル１ａａをコンパイルすることでアセンブルファイル１ｂａが生成され、アセンブルファイル１ｂａをアセンブルすることでオブジェクトファイル１ｃａが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名１ａ、アセンブルファイル名１ｂ、及び、オブジェクトファイル名１ｃは、それぞれソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａの名称であるとする。
【００２１】
プログラム開発管理装置は、図１に例示するように、ファイル名記憶手段１、プログラムファイル編集手段２、ファイル名管理手段３、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを有する。また、ファイル名記憶手段１は、ソースファイル名１ａ、アセンブルファイル名１ｂ、及び、オブジェクトファイル名１ｃの中で、チューニング対象のプログラムファイルのファイル名のみを記憶する。ファイル名記憶手段１、プログラムファイル編集手段２、及び、ファイル名管理手段３は、互いに通信する。
【００２２】
ファイル名記憶手段１は、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａのファイル名の中で、最新のターゲットプログラムの生成元であってチューニング対象のプログラムファイルのファイル名のみを記憶する。
【００２３】
プログラムファイル編集手段２は、ソースファイル１ａａ、アセンブルファイル１ｂａ、及び、オブジェクトファイル１ｃａを編集する。
ファイル名管理手段３は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶手段１から削除する。
【００２４】
次に、図１の概念図の動作について説明する。
例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル１ａａとなっているとする。よって、ファイル名記憶手段１には、ソースファイル名１ａのみが記憶されているとする。
【００２５】
その後、ターゲットプログラムを最適化するため、プログラムファイル編集手段２により、アセンブルファイル１ｂａが編集される。その編集されたアセンブルファイル１ｂａの祖先の世代のソースファイル１ａａのファイル名が、ファイル名管理手段３により、ファイル名記憶手段１から削除される。ここで、チューニング対象のプログラムファイルはソースファイル１ａａからアセンブルファイル１ｂａに変更しているので、ファイル名記憶手段１により、チューニング対象のアセンブルファイル１ｂａのファイル名が記憶される。
【００２６】
また、ターゲットプログラムを最適化するため、プログラムファイル編集手段２により、ソースファイル１ａａが編集される。ここで、編集されたソースファイル１ａａの祖先の世代のプログラムファイルは存在しないため、ファイル名管理手段３により、ファイル名記憶手段１は編集されない。
【００２７】
このようにすると、編集すべきプログラムファイルが個別に管理されて特定されるので、ソースファイル１ａａから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。
【００２８】
また、編集すべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由に編集できるので、ターゲットプログラムに対する自由度の高い編集ができる。
【００２９】
なお、ソースファイル１ａａからアセンブルファイル１ｂａを生成し、アセンブルファイル１ｂａからオブジェクトファイル１ｃａを生成しているが、ソースファイル１ａａから生成されないアセンブルファイル１ｂａからオブジェクトファイル１ｃａを生成してもよい。
【００３０】
以下、具体的な本発明の実施の形態について説明する。ここで、第１の実施の形態から第２の実施の形態まで順次説明する。
｛第１の実施の形態｝
まず、第１の実施の形態について説明する。図２は、第１の実施の形態のシステム構成図である。
【００３１】
ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１１ａ、及び、アセンブルファイル１１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１１ｃを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。
【００３２】
なお、ソースファイル１１ａをコンパイルすることでアセンブルファイル１１ｂが生成され、アセンブルファイル１１ｂをアセンブルすることでオブジェクトファイル１１ｃが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名１８ａ、アセンブルファイル名１８ｂ、及び、オブジェクトファイル名１８ｃは、それぞれソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃの名称であるとする。
【００３３】
プログラム開発管理装置は、ファイル管理部１１、オプション管理部１２、ビルド部１３、デバッグ部１４、性能情報データベース１５、チューニング部１６、フィードバック部１７、及び、ファイル名記憶部１８から構成される。ファイル管理部１１、オプション管理部１２、ビルド部１３、デバッグ部１４、性能情報データベース１５、チューニング情報データベース１５ａ、チューニング部１６、フィードバック部１７、及び、ファイル名記憶部１８は、互いに通信する。
【００３４】
ファイル管理部１１は、各世代のプログラムファイルとしてのソースファイル１１ａ、アセンブルファイル１１ｂ、オブジェクトファイル１１ｃを管理する。
オプション管理部１２は、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等の設定を管理する。その設定に基づいたビルド部１３は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１１ａ、及び、アセンブルファイル１１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１１ｃを生成する。
【００３５】
デバッグ部１４は、生成されたターゲットプログラムをデバッグする。そのデバッグ結果について、性能情報データベース１５は、ターゲットプログラムの性能情報として記憶する。このターゲットプログラムの性能情報、つまり、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃに対する性能情報に基づき、チューニング部１６は、プログラム開発者にとって理解しやすいチューニング情報を生成し、チューニング情報データベース１５ａに記憶させる。その後、チューニング部１６は、チューニング情報に基づき、それぞれに対するチューニングデータを生成する。また、チューニング部１６は、各チューニングデータに基づき、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃをチューニングする。ここで、性能情報、及び、チューニングデータは、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃ毎に分類される。
【００３６】
フィードバック部１７は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部１８から削除する。その結果として、ファイル名記憶部１８は、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
【００３７】
なお、チューニングは、手動で実行されてもよいし、予めチューニング条件を設定して自動で実行されてもよい。
次に、図２のシステム構成図の動作について説明する。
【００３８】
例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル１１ａとなっているとする。よって、ファイル名記憶部１８には、ソースファイル名１８ａのみが記憶されているとする。
【００３９】
その後、ターゲットプログラムを最適化するため、チューニング部１６により、アセンブルファイル１１ｂがチューニングされる。そのチューニングされたアセンブルファイル１１ｂの祖先の世代のソースファイル１１ａのファイル名が、フィードバック部１７により、ファイル名記憶部１８から削除される。ここで、チューニング対象のプログラムファイルはソースファイル１１ａからアセンブルファイル１１ｂに変更しているので、ファイル名記憶部１８により、チューニング対象のアセンブルファイル１１ｂのファイル名が記憶される。
【００４０】
また、ターゲットプログラムを最適化するため、チューニング部１６により、ソースファイル１１ａがチューニングされる。ここで、チューニングされたソースファイル１１ａの祖先の世代のプログラムファイルは存在しないため、フィードバック部１７により、ファイル名記憶部１８は編集されない。
【００４１】
次に、ファイル名記憶部１８の記憶内容について説明する。図３は、第１の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
まず、図３（Ａ）に例示するように、ファイル名記憶部１８に、７つのファイル名が記憶されている。具体的には、ファイル名記憶部１８に、ソースファイル名１８ａとして”ａ．ｃ”、”ｂ．ｃ”、及び、”ｃ．ｃ”が記憶され、アセンブルファイル名１８ｂとして”ｄ．ｓ”、及び、”ｅ．ｓ”が記憶され、オブジェクトファイル名１８ｃとして”ｆ．ｏ”、及び、”ｇ．ｏ”が記憶されている。
【００４２】
その後、図３（Ｂ）に例示するように、”ｃ．ｃ”がアセンブルされて生成された”ｃ．ｓ”がチューニングされ、ファイル名記憶部１８において、”ｃ．ｃ”が削除されて最新のターゲットプログラムの生成元となる”ｃ．ｓ”が記憶される。
【００４３】
次に、性能情報データベース１５について説明する。図４は、性能情報データベースの例を示す図である。
性能情報データベース１５は、図４に例示するように、アドレス、命令名、関数名、Ｔａｋｅｎ数、Ｎｏｔ＿Ｔａｋｅｎ数、及び、Ｔａｋｅｎ率を有する。性能情報データベース１５において、横方向に並べられた各項目は、互いに関連する。
【００４４】
アドレスは、アセンブルファイル１１ｂから生成されたオブジェクトファイル１１ｃにおける命令の番地である。命令名は、ソースファイル１１ａから生成されたアセンブルファイル１１ｂにおける命令の名称である。関数名は、ソースファイル１１ａにおける命令の名称である。Ｔａｋｅｎ数は、分岐命令の分岐予測の的中失敗回数である。Ｎｏｔ＿Ｔａｋｅｎ数は、分岐命令の分岐予測の的中成功回数である。Ｔａｋｅｎ率は、分岐命令の分岐予測の的中成功確率である。
【００４５】
次に、チューニング情報データベース１５ａについて説明する。図５は、チューニング情報データベースの例を示す図である。
チューニング情報データベース１５ａは、図５に例示するように、ファイル種別、及び、チューニング情報を有する。チューニング情報データベース１５ａにおいて、横方向に並べられた各項目は、互いに関連する。
【００４６】
ファイル種別は、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃのいずれかを示す。チューニング情報は、各世代のプログラムファイルに対するチューニング情報である。例えば、ソースファイル１１ａに対するチューニング情報は、Ｆｉｌｅ．ｃの１２行目のｉｆ節のＴａｋｅｎ率が８７％という情報である。また、アセンブルファイル１１ｂに対するチューニング情報は、Ｆｉｌｅ．ｓの８４行目のＢｎｅ分岐命令のＴａｋｅｎ率が８７％という情報である。また、オブジェクトファイル１１ｃに対するチューニング情報は、Ｆｉｌｅ．ｏの０ｘ１２３４番地の０ｘ５６命令（Ｂｎｅ分岐命令）のＴａｋｅｎ率が８７％という情報である。
【００４７】
次に、データキャッシュのチューニングデータの例について説明する。図６は、データキャッシュのチューニングデータの例を示す図である。
データキャッシュのチューニングデータ４１は、図６に例示するように、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃに対するチューニング前のデータ、チューニング後のデータ、及び、チューニング条件を有する。
【００４８】
ここで、チューニング内容は、ソースファイル１１ａ、及び、オブジェクトファイル１１ｃによっては表現できず、アセンブルファイル１１ｂによっては表現できるようになっている。自動でチューニングする場合、データキャッシュのミスが８０％以上というチューニング条件が満たされると、事前データロード命令が追加されるようになっている。その後、アセンブルファイル１１ｂをチューニングするので、ファイル名記憶部１８は、アセンブルファイル１１ｂのファイル名を記憶する。
【００４９】
次に、分岐のチューニングデータの例について説明する。図７は、分岐のチューニングデータの例を示す図である。
分岐のチューニングデータ４２は、図７に例示するように、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃに対するチューニング前のデータ、チューニング後のデータ、及び、チューニング条件を有する。
【００５０】
ここで、チューニング内容は、ソースファイル１１ａ、オブジェクトファイル１１ｃ、及び、アセンブルファイル１１ｂによって表現できるようになっている。自動でチューニングする場合、ｉｆ節またはｅｌｓｅ節の実行頻度が８０％以上というチューニング条件が満たされると、ソースファイル１１ａの場合"#pragma statement if 87"が追加され、アセンブルファイル１１ｂの場合ヒントビットについて”００”から”１１”に変更され、オブジェクトファイル１１ｃの場合ヒントビットについて”００”から”１１”に変更されるようになっている。その後、ファイル名記憶部１８は、それぞれチューニングを実行したプログラムファイルのファイル名を記憶する。
【００５１】
なお、ヒントビットは分岐予測機能としてハードウェアに実装され、"#pragma statement if 87"での表現はコンパイルできるとしている。
次に、第１の実施の形態のプログラム開発管理装置の処理について説明する。図８は、第１の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
【００５２】
｛ステップＳ１１｝ファイル管理部１１は、各世代のプログラムファイルとしてのソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃの管理を開始する。
【００５３】
｛ステップＳ１２｝ファイル名記憶部１８は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
｛ステップＳ１３｝ビルド部１３は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル１１ａ、及び、アセンブルファイル１１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル１１ｃを生成する。
【００５４】
｛ステップＳ１４｝チューニング部１６は、各世代のプログラムファイルとしてのソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃに対する性能情報を取得する。
【００５５】
｛ステップＳ１５｝チューニング部１６は、それぞれに対するチューニングデータを生成する。
｛ステップＳ１６｝チューニング部１６は、チューニングするか否かを判断する。チューニングする場合、処理はステップＳ１７に進み、チューニングしない場合、処理は終了する。
【００５６】
｛ステップＳ１７｝チューニング部１６は、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃをチューニングする。
｛ステップＳ１８｝フィードバック部１７は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部１８から削除する。
【００５７】
次に、チューニングデータの生成処理について説明する。図９は、チューニングデータの生成処理の例を示すフローチャートである。
｛ステップＳ１５ａ｝チューニング部１６は、ソースファイル１１ａ、アセンブルファイル１１ｂ、及び、オブジェクトファイル１１ｃに対する性能情報に基づき、チューニング情報を生成する。
【００５８】
｛ステップＳ１５ｂ｝チューニング部１６は、チューニング情報が生成されたか否かを判断する。生成された場合、処理はステップＳ１５ｃに進み、生成されなかった場合、処理は終了する。
【００５９】
｛ステップＳ１５ｃ｝チューニング部１６は、チューニング内容をソースファイル１１ａで表現できるか否かを判断する。表現できる場合、処理はステップＳ１５ｄに進み、表現できない場合、処理はステップＳ１５ｅに進む。
【００６０】
｛ステップＳ１５ｄ｝チューニング部１６は、ソースファイル１１ａに対するチューニングデータを生成する。
｛ステップＳ１５ｅ｝チューニング部１６は、チューニング内容をアセンブルファイル１１ｂで表現できるか否かを判断する。表現できる場合、処理はステップＳ１５ｆに進み、表現できない場合、処理はステップＳ１５ｇに進む。
【００６１】
｛ステップＳ１５ｆ｝チューニング部１６は、アセンブルファイル１１ｂに対するチューニングデータを生成する。
｛ステップＳ１５ｇ｝チューニング部１６は、チューニング内容をオブジェクトファイル１１ｃで表現できるか否かを判断する。表現できる場合、処理はステップＳ１５ｈに進み、表現できない場合、処理は終了する。
【００６２】
｛ステップＳ１５ｈ｝チューニング部１６は、オブジェクトファイル１１ｃに対するチューニングデータを生成する。
｛ステップＳ１５ｉ｝チューニング部１６は、それぞれに対するチューニングデータを記憶する。
【００６３】
次に、チューニング処理について説明する。図１０は、チューニング処理の例を示すフローチャートである。
｛ステップＳ１７ａ｝チューニング部１６は、ソースファイル１１ａをチューニングするか否かを判断する。チューニングする場合、処理はステップＳ１７ｂに進み、チューニングしない場合、処理はステップＳ１７ｃに進む。
【００６４】
｛ステップＳ１７ｂ｝チューニング部１６は、性能情報、または、チューニング情報に基づき、ソースファイル１１ａをチューニングする。
｛ステップＳ１７ｃ｝チューニング部１６は、アセンブルファイル１１ｂをチューニングするか否かを判断する。チューニングする場合、処理はステップＳ１７ｄに進み、チューニングしない場合、処理はステップＳ１７ｅに進む。
【００６５】
｛ステップＳ１７ｄ｝チューニング部１６は、性能情報、または、チューニング情報に基づき、アセンブルファイル１１ｂをチューニングする。
｛ステップＳ１７ｅ｝チューニング部１６は、性能情報、または、チューニング情報に基づき、オブジェクトファイル１１ｃをチューニングする。
【００６６】
次に、記憶処理について説明する。図１１は、記憶処理の例を示すフローチャートである。
｛ステップＳ１８ａ｝フィードバック部１７は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名が記憶済みか否かを判断する。記憶済みである場合、処理は終了し、記憶済みでない場合、処理はステップＳ１８ｂに進む。
【００６７】
｛ステップＳ１８ｂ｝フィードバック部１７は、編集されたプログラムファイルの祖先の世代のプログラムファイルのファイル名を、ファイル名記憶部１８から削除する。
｛ステップＳ１８ｃ｝ファイル名記憶部１８は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
【００６８】
このようにすると、チューニングすべきプログラムファイルが個別に管理されて特定されるので、ソースファイル１１ａから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。
【００６９】
また、チューニングすべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由にチューニングできるので、最も効果の高いプログラムファイルを選択でき、ターゲットプログラムに対する自由度の高いチューニングができる。
【００７０】
なお、ソースファイル１１ａからアセンブルファイル１１ｂを生成し、アセンブルファイル１１ｂからオブジェクトファイル１１ｃを生成しているが、ソースファイル１１ａから生成されないアセンブルファイル１１ｂからオブジェクトファイル１１ｃを生成してもよい。
【００７１】
また、プログラム開発者にとって理解しやすいチューニング情報を使用しないでチューニングすることもできる。
｛第２の実施の形態｝
次に、第２の実施の形態について説明する。図１２は、第２の実施の形態のシステム構成図である。
【００７２】
ここで、プログラム開発管理装置は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル２１ａ、及び、アセンブルファイル２１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル２１ｃを生成し、ターゲットプログラムを生成している。また、プログラム開発管理装置は、ターゲットプログラムをチューニングする場合、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃの中で、どのプログラムファイルがチューニング対象のプログラムファイルであるかを管理している。
【００７３】
なお、ソースファイル２１ａをコンパイルすることでアセンブルファイル２１ｂが生成され、アセンブルファイル２１ｂをアセンブルすることでオブジェクトファイル２１ｃが生成され、ターゲットプログラムが生成されるとする。また、ソースファイル名２９ａ、アセンブルファイル名２９ｂ、及び、オブジェクトファイル名２９ｃは、それぞれソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃの名称であるとする。
【００７４】
プログラム開発管理装置は、ファイル管理部２１、オプション管理部２２、ビルド部２３、デバッグ部２４、性能情報データベース２５、チューニング情報データベース２５ａ、チューニング部２６、ビルド対象フラグ設定部２８、及び、ファイル名記憶部２９から構成される。ファイル管理部２１、オプション管理部２２、ビルド部２３、デバッグ部２４、性能情報データベース２５、チューニング部２６、ビルド対象フラグ設定部２８、及び、ファイル名記憶部２９は、互いに通信する。
【００７５】
ファイル管理部２１は、各世代のプログラムファイルとしてのソースファイル２１ａ、アセンブルファイル２１ｂ、オブジェクトファイル２１ｃを管理する。
オプション管理部２２は、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等の設定を管理する。その設定と後述するビルド対象フラグとに基づいたビルド部２３は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル２１ａ、及び、アセンブルファイル２１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル２１ｃを生成する。
【００７６】
デバッグ部２４は、生成されたターゲットプログラムをデバッグする。そのデバッグ結果について、性能情報データベース２５は、ターゲットプログラムの性能情報として記憶する。このターゲットプログラムの性能情報、つまり、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃに対する性能情報に基づき、チューニング部２６は、プログラム開発者にとって理解しやすいチューニング情報を生成し、チューニング情報データベース２５ａに記憶させる。その後、チューニング部２６は、チューニング情報に基づき、それぞれに対するチューニングデータを生成する。また、チューニング部２６は、各チューニングデータに基づき、ソースファイル２１ａ、アセンブルファイル２１ｂ、オブジェクトファイル２１ｃをチューニングする。ここで、性能情報、及び、チューニングデータは、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃ毎に分類される。
【００７７】
ビルド対象フラグ設定部２８は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルのファイル名に、ビルド対象フラグを設定する。その結果として、ファイル名記憶部２９は、ビルド対象フラグが設定された最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。また、ファイル名記憶部２９は、プログラムファイルに対する編集と変換とによって生成された、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃのファイル名を記憶する。
【００７８】
なお、チューニングは、手動で実行されてもよいし、予めチューニング条件を設定して自動で実行されてもよい。
また、ビルド対象フラグは、プログラム開発者が手動で設定してもよいし、予め条件を設定して自動で設定してもよい。
【００７９】
次に、図１２のシステム構成図の動作について説明する。
例えば、まず、最新のターゲットプログラムの生成元は、ソースファイル２１ａとなっているとする。よって、ソースファイル名２９ａにビルド対象フラグが設定されているとする。また、ファイル名記憶部２９には、ソースファイル名２９ａ、アセンブルファイル名２９ｂ、及び、オブジェクトファイル名２９ｃが記憶されているとする。
【００８０】
その後、ターゲットプログラムを最適化するため、チューニング部２６により、アセンブルファイル２１ｂがチューニングされる。そのチューニングされたアセンブルファイル２１ｂのファイル名に、ビルド対象フラグ設定部２８により、ビルド対象フラグが設定される。ここで、チューニング対象のプログラムファイルはソースファイル２１ａからアセンブルファイル２１ｂに変更している。
【００８１】
また、ターゲットプログラムを最適化するため、チューニング部２６により、ソースファイル２１ａがチューニングされる。そのチューニングされたソースファイル２１ａのファイル名に、ビルド対象フラグはすでに設定されているので、ビルド対象フラグは編集されない。
【００８２】
次に、ファイル名記憶部２９の記憶内容について説明する。図１３は、第２の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
まず、図１３（Ａ）に例示するように、ファイル名記憶部２９に、７つのファイル名が記憶されている。具体的には、ファイル名記憶部２９に、ソースファイル名２９ａとして”ａ．ｃ”、”ｂ．ｃ”、及び、”ｃ．ｃ”が記憶され、アセンブルファイル名２９ｂとして”ｄ．ｓ”、及び、”ｅ．ｓ”が記憶され、オブジェクトファイル名２９ｃとして”ｆ．ｏ”、及び、”ｇ．ｏ”が記憶されている。
【００８３】
その後、図１３（Ｂ）に例示するように、”ａ．ｃ”、”ｂ．ｃ”、”ｃ．ｃ”、”ｄ．ｓ”、及び、”ｅ．ｓ”がビルドされ、最新のターゲットプログラムの生成元となる”ａ．ｃ”、”ｂ．ｃ”、”ｃ．ｃ”、”ｄ．ｓ”、及び、”ｅ．ｓ”に”％”が設定される。
【００８４】
次に、第２の実施の形態のプログラム開発管理装置の処理について説明する。図１４は、第２の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
｛ステップＳ２１｝ファイル管理部２１は、各世代のプログラムファイルとしてのソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃの管理を開始する。
【００８５】
｛ステップＳ２２｝ファイル名記憶部２９は、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶する。
｛ステップＳ２３｝ビルド部２３は、自動でビルド対象フラグを認識する。
【００８６】
｛ステップＳ２４｝ビルド部２３は、プログラミング言語で作成されたプログラムファイル、例えば、ソースファイル２１ａ、及び、アセンブルファイル２１ｂを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイル、例えば、オブジェクトファイル２１ｃを生成する。
【００８７】
｛ステップＳ２５｝ファイル名記憶部２９は、プログラムファイルに対する編集と変換とによって生成された、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃのファイル名を自動で記憶する。
【００８８】
｛ステップＳ２６｝チューニング部２６は、各世代のプログラムファイルとしてのソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃに対する性能情報を取得する。
【００８９】
｛ステップＳ２７｝チューニング部２６は、それぞれに対するチューニングデータを生成する。
｛ステップＳ２８｝チューニング部２６は、チューニングするか否かを判断する。チューニングする場合、処理はステップＳ２９に進み、チューニングしない場合、処理は終了する。
【００９０】
｛ステップＳ２９｝チューニング部２６は、ソースファイル２１ａ、アセンブルファイル２１ｂ、及び、オブジェクトファイル２１ｃをチューニングする。
｛ステップＳ３０｝ビルド対象フラグ設定部２８は、プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集されたプログラムファイルのファイル名に、ビルド対象フラグを設定する。
【００９１】
ここで、ステップＳ２７の処理とステップＳ２９の処理とは、それぞれ第１の実施の形態におけるステップＳ１５の処理とステップＳ１７の処理と同様である。
なお、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行できる。
【００９２】
このようにすると、ビルド対象フラグによってチューニングすべきプログラムファイルが個別に管理されて特定されるので、ソースファイル２１ａから段階的に生成される各世代のプログラムファイルを意識せずにターゲットプログラムの最適化を実行できる。
【００９３】
また、ビルド対象フラグが設定されたチューニングすべきプログラムファイル、及び、そのプログラムファイルから生成された複数の世代のプログラムファイルを自由にチューニングできるので、最も効果の高いプログラムファイルを選択でき、ターゲットプログラムに対する自由度の高いチューニングができる。
【００９４】
なお、ソースファイル２１ａからアセンブルファイル２１ｂを生成し、アセンブルファイル２１ｂからオブジェクトファイル２１ｃを生成しているが、ソースファイル２１ａから生成されないアセンブルファイル２１ｂからオブジェクトファイル２１ｃを生成してもよい。
【００９５】
また、プログラム開発者にとって理解しやすいチューニング情報を使用しないでチューニングすることもできる。
また、第２の実施の形態のプログラム開発管理装置は、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行できる。この場合のファイル名記憶部２９の記憶内容について説明する。図１５は、第２の実施の形態におけるファイル名記憶部の記憶内容の他の変化例を示す図である。
【００９６】
まず、図１５（Ａ）に例示するように、ファイル名記憶部２９に、図１３（Ｂ）に例示された記憶内容と同様の記憶内容が記憶され、チューニングされた”％ａ．ｃ”、及び、”％ｇ．ｏ”に”＊”が設定されている。
【００９７】
その後、図１５（Ｂ）に例示するように、”％ａ．ｃ＊”、及び、”％ｇ．ｏ＊”に対して実行されたチューニング内容と同様のチューニング内容が、他の世代のプログラムファイルに対して実行され、”％ａ．ｃ＊”に対して”ａ．ｓ＊”、及び、”ａ．ｏ＊”が生成され、”％ｇ．ｏ＊”に対して”ｇ．ｓ＊”が生成される。
【００９８】
ここで、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行する場合において、コンパイル、アセンブル、逆コンパイル、及び、逆アセンブル等によって実行した場合、”＊”が設定されないでファイル名記憶部２９に記憶される。また、Ｃ言語中にアセンブル言語を部分的に挿入する等の細かくて冗長部分のないチューニングを実行して成功した場合、”＊”が設定されてファイル名記憶部２９に記憶される。また、細かくて冗長部分のないチューニングを実行して失敗した場合、非ビルド対象フラグ等が設定されてファイル名記憶部２９に記憶され、または、ファイル名記憶部２９に記憶されない。なお、”ａ．ｓ＊”、及び、”ａ．ｓ”を両方記憶してもよいし、”ａ．ｓ＊”のみを記憶してもよい。
【００９９】
このようにすると、全ての”＊”が設定されている世代のプログラムファイルは同様の論理なので、”＊”が設定されている世代のプログラムファイルをチューニング対象にできる。
【０１００】
なお、あるプログラムファイルに対して実行されたチューニング内容と同様のチューニング内容を、他の世代のプログラムファイルに対して実行する場合、手動で実行してもよいし、予め条件を設定して自動で実行してもよい。
【０１０１】
また、上記の処理機能は、コンピュータによって実現することができる。その場合、プログラム開発管理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記の処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体に記録できる。コンピュータ読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、及び、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ:Hard Disk Drive）、フレキシブルディスク（ＦＤ）、及び、磁気テープ等がある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、及び、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【０１０２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送できる。
【０１０３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行できる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行できる。
【０１０４】
次に、コンピュータとしてのプログラム開発管理装置のハードウェア構成について説明する。図１６は、コンピュータのハードウェア構成の例を示す図である。
コンピュータ３００は、ＣＰＵ（Central Processing Unit）３０１によって装置全体が制御されている。ＣＰＵ３０１には、バス３０７を介してＲＡＭ３０２、ハードディスクドライブ３０３、グラフィック処理装置３０４、入力インタフェース３０５、及び、通信インタフェース３０６が接続されている。
【０１０５】
ＲＡＭ３０２には、ＣＰＵ３０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、ＣＰＵ３０１による処理に必要な各種データが格納される。ＨＤＤ３０３には、ＯＳやアプリケーションプログラムが格納される。
【０１０６】
グラフィック処理装置３０４には、モニタ３１０が接続される。また、グラフィック処理装置３０４は、ＣＰＵ３０１からの命令に従って、画像をモニタ３１０の画面に表示させる。入力インタフェース３０５には、キーボード３２０とマウス３３０とが接続されている。また、入力インタフェース３０５は、キーボード３２０やマウス３３０から送られてくる信号を、バス３０７を介してＣＰＵ３０１に送信する。
【０１０７】
通信インタフェース３０６は、ネットワーク３４０に接続される。通信インタフェース３０６は、ネットワーク３４０を介して、他のコンピュータとの間でデータの送受信を実行する。
【０１０８】
以上のようなハードウェア構成によって、本発明の実施の形態の処理機能を実現することができる。
（付記１）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
【０１０９】
（付記２）  前記プログラムファイル編集手段は、前記最新のターゲットプログラムの生成元となるプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする付記１記載のプログラム開発管理装置。
【０１１０】
（付記３）  コンピュータにより、プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理方法において、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含むことを特徴とするプログラム開発管理方法。
【０１１１】
（付記４）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムにおいて、
コンピュータに、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラム。
【０１１２】
（付記５）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
ファイル名記憶手段が、複数の世代のプログラムファイルのファイル名の中で、最新のターゲットプログラムの生成元となるプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルの祖先の世代のプログラムファイルのファイル名を、前記ファイル名記憶手段から削除するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１１３】
（付記６）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理装置において、
プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するファイル名記憶手段と、
前記各プログラムファイルを編集するプログラムファイル編集手段と、
前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するファイル名管理手段と、
を有することを特徴とするプログラム開発管理装置。
【０１１４】
（付記７）  前記プログラムファイルに対して実行された編集内容と同様の編集内容を、他の世代のプログラムファイルに対して実行する編集反映手段をさらに有することを特徴とする付記６記載のプログラム開発管理装置。
【０１１５】
（付記８）  前記プログラムファイル編集手段は、前記フラグが設定されたプログラムファイル、及び、前記プログラムファイルから生成された各世代のプログラムファイルを編集することを特徴とする付記６記載のプログラム開発管理装置。
【０１１６】
（付記９）  コンピュータにより、プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理方法において、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含むことを特徴とするプログラム開発管理方法。
【０１１７】
（付記１０）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムにおいて、
コンピュータに、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラム。
【０１１８】
（付記１１）  プログラミング言語で作成されたプログラムファイルを１回以上変換することにより、段階的にプログラミング言語の世代を進めて機械語のプログラムファイルを生成する場合で、各世代のプログラムファイルを管理するプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
ファイル名記憶手段が、プログラムファイルに対する編集と変換とによって生成された、複数の世代のプログラムファイルのファイル名を記憶するステップと、
プログラムファイル編集手段が、前記各プログラムファイルを編集するステップと、
ファイル名管理手段が、前記プログラムファイルが編集され、最新のプログラムファイルとして適用された場合、編集された前記プログラムファイルのファイル名に、フラグを設定するステップと、
を含む処理を実行させることを特徴とするプログラム開発管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【０１１９】
【図１】本発明の概念図である。
【図２】第１の実施の形態のシステム構成図である。
【図３】第１の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
【図４】性能情報データベースの例を示す図である。
【図５】チューニング情報データベースの例を示す図である。
【図６】データキャッシュのチューニングデータの例を示す図である。
【図７】分岐のチューニングデータの例を示す図である。
【図８】第１の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
【図９】チューニングデータの生成処理の例を示すフローチャートである。
【図１０】チューニング処理の例を示すフローチャートである。
【図１１】記憶処理の例を示すフローチャートである。
【図１２】第２の実施の形態のシステム構成図である。
【図１３】第２の実施の形態におけるファイル名記憶部の記憶内容の変化例を示す図である。
【図１４】第２の実施の形態のプログラム開発管理装置の処理の例を示すフローチャートである。
【図１５】第２の実施の形態におけるファイル名記憶部の記憶内容の他の変化例を示す図である。
【図１６】コンピュータのハードウェア構成の例を示す図である。
【符号の説明】
【０１２０】
１  ファイル名記憶手段
１ａ  ソースファイル名
１ｂ  アセンブルファイル名
１ｃ  オブジェクトファイル名
１ａａ  ソースファイル
１ｂａ  アセンブルファイル
１ｃａ  オブジェクトファイル
２  プログラムファイル編集手段
３  ファイル名管理手段
【図１】
2006277457.tif 000003
【図２】
2006277457.tif 000004
【図３】
2006277457.tif 000005
【図４】
2006277457.tif 000006
【図５】
2006277457.tif 000007
【図６】
2006277457.tif 000008
【図７】
2006277457.tif 000009
【図８】
2006277457.tif 000010
【図９】
2006277457.tif 000011
【図１０】
2006277457.tif 000012
【図１１】
2006277457.tif 000013
【図１２】
2006277457.tif 000014
【図１３】
2006277457.tif 000015
【図１４】
2006277457.tif 000016
【図１５】
2006277457.tif 000017
【図１６】
2006277457.tif 000018