(57)【要約】      （修正有）【課題】西暦・和暦変換プログラムや英語から日本語への翻訳プログラムのような、人間活動ならではの不規則さを伴うプログラムを作成する場合においても、部品プログラムを利用できるようにする。【解決手段】本プログラム作成プログラムは、入力データ例読取り手段３０１、出力データ例読取り手段３０２、部品プログラムデータ読取り手段３０３、ここの部品プログラムに対し、適切なパラメータを指定することにより入力データ例の一部又は全部から出力データ例の一部又は全部を生成可能か判別する部品プログラム利用可否判別手段３０４、利用可能な部品プログラムについては、そのプログラム名とパラメータを分析結果データとして出力する分析結果データ出力手段３０５を備える。【選択図】図１
2006221596.tif 000002
【特許請求の範囲】
【請求項１】
与えられた２種類のデータの一方を入力データの例、他方を出力データの例とする目的プログラムが、あらかじめ与えられている部品プログラムによりどのように構成されるか分析する為にコンピュータを、入力データ例読取り手段、出力データ例読取り手段、部品プログラムデータ読取り手段、個々の部品プログラムに対し、適切なパラメータを指定する事により入力データ例の一部又は全部から出力データ例の一部又は全部を生成可能か判別する部品プログラム利用可否判別手段、利用可能な部品プログラムについては、そのプログラム名とパラメータを分析結果データとして出力する分析結果データ出力手段として機能させるためのデータ分析プログラム。
【請求項２】
請求項１記載の目的プログラムを作成する為にコンピュータを、請求項１記載の分析結果データ読取り手段、請求項１記載の部品プログラムデータ読取り手段、分析結果データと部品プログラムデータから請求項１記載の目的プログラムを作成する部品プログラム合成手段として機能させるための部品プログラム合成プログラム。
【請求項３】
与えられた２種類のデータの一方を入力データの例、他方を出力データの例とする目的プログラムを作成するために、請求項１記載のデータ分析プログラムと請求項２記載の部品プログラム合成プログラムからなるプログラム作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明はコンピュータプログラムを作成するプログラムに関し、特に、与えられた入出力データ例から目的プログラムを作成するプログラムに関する。
【背景技術】
【０００２】  従来よりプログラム開発の生産性向上を図るための方法が各種提案され、実用化されている。
この一つとして、定型処理を部品プログラム化しこれを再利用する事は広く行われている。また、プログラム化対象処理の入出力データ例を利用しプログラムを自動作成する方法が特開平０８−４４５５０において提案されている。これはプログラム開発過程を基本命令の組合せ最適化問題と捉え、遺伝的アルゴリズムに類似の手法を用いる事によりプロラム開発の自動化を実現している。
【特許文献１】特開平０８−４４５５０  公報
【非特許文献１】「図解でわかる  ソフトウェア開発のすべて」、株式会社日本実業出版社、２０００年、ｐ．１８９
【発明の開示】
【発明が解決しようとする課題】
【０００３】  上記の部品プログラムを利用する方法は、プログラム化対象分野を理解し、プログラム開発の知識を持ち、さらに個々の部品プログラムの仕様を理解している人材の人的労力に依存する。プログラム化対象分野が広くなるにつれ、又プログラムが複雑になるのに伴い、前記条件を満たす人材の育成・確保が難しくなるといった問題がある。【０００４】  又、上記の入出力データ例を用いる方法は、西暦・和暦変換プログラムや英語から日本語への翻訳プログラムのような、人間活動ならではの不規則さを伴うプログラムを作成する場合には、膨大な入出力データ例が必要になり、当方法の適用が現実的ではないといった問題がある。
【課題を解決するための手段】
【０００５】  本発明に係るプログラム作成プログラムは、与えられた２種類のデータの一方を入力データの例、他方を出力データの例とする目的プログラムを作成する為にコンピュータを、入力データ例読取り手段、出力データ例読取り手段、部品プログラムデータ読取り手段、個々の部品プログラムに対し、適切なパラメータを指定する事により入力データ例の一部又は全部から出力データ例の一部又は全部を生成可能か判別する部品プログラム利用可否判別手段、利用可能な部品プログラムについては、そのプログラム名とパラメータを分析結果データとして出力する分析結果データ出力手段、分析結果データと部品プログラムデータから目的プログラムを作成する部品プログラム合成手段、として機能させる事により、上記の課題を解決する。
【発明の効果】
【０００６】  本発明によれば、あらかじめ登録されている部品プログラムと関連する情報、及びプログラム化対象処理の入出力データ例からプログラムを自動作成する事が可能となる。これにより、人的労力の依存を抑え、複雑な目的プログラムを作成する事ができる。
【発明を実施するための最良の形態】
【０００７】  以下に本発明を実施するための最良の形態を図１から図９により説明する。【０００８】  本発明の１実施例のブロック図として図１を示す。図示するように、データ分析処理部１０４は、入力データ例記憶部１０１、出力データ例記憶部１０２、部品プログラムデータ記憶部１０３に記憶されているデータを入力とし、分析結果データ記憶部１０５に分析結果を出力する。部品プログラム合成処理部１０６は、分析結果データ記憶部１０５、部品プログラムデータ記憶部１０３に記憶されているデータを入力とし、目的プログラム記憶部１０７に目的プログラムを出力する。【０００９】  本発明の１実施例により出力された目的プログラムのブロック図として図２を示す。目的プログラム処理部１０９は、入力データ記憶部１０８に記憶されているデータを入力とし、出力データ記憶部１１０に出力データを出力する。【００１０】  入力データ例記憶部１０１及び入力データ記憶部１０８の構成図として図３を示す。本例では表形式である。入力データ例記憶部１０１のｉ行ｊ列の要素をａ（ｉ．ｊ）と表記する。【００１１】  出力データ例記憶部１０２及び出力データ記憶部１１０の構成図として図４を示す。本例では表形式である。出力データ例記憶部１０２のｉ行ｋ列の要素をｂ（ｉ．ｋ）と表記する。【００１２】  なお、本例では入力データ例と出力データ例は各々１種類ずつであるが、入力データ例と出力データ例は複数種類の場合でも当発明の適用が可能である事は明らかである。【００１３】  又、入力データ例と出力データ例は、コンピュータ読み取り可能で分析処理及び部品プログラムが処理可能であれば当発明の適用が可能である事は明らかである。【００１４】  部品プログラムデータ記憶部１０３の構成図として図５を示す。本例では、部品プログラム本体記憶部と部品プログラム毎の分析プログラム記憶部から構成されている。【００１５】  データ分析処理部１０４の処理説明図として図７を示す。入力データ例を読み取り入力データ例記憶部１０１に保存し、出力データ例を読み取り出力データ例記憶部１０２に保存し、部品プログラムデータを読取り部品プログラムデータ記憶部１０３に保存し、さらに部品プログラムデータ記憶部１０３より部品プログラムデータの１要素である部品プログラム毎の分析プログラムを読み取り、入力データ例記憶部１０１と出力データ例記憶部１０２のアドレスをはじめとするパラーメータを入力として部品プログラム毎の分析プログラムを順次実行する。部品プログラム毎の分析プログラムは、条件に合致した場合には部品プログラム名と分析結果を図６の構成を持つ分析結果データ記憶部１０５に保存する。【００１６】  部品プログラム合成処理部１０６の処理説明図として図８を示す。分析結果データ記憶部１０５より分析結果データを読み取り、部品プログラムデータ記憶部１０３より部品プログラムデータの１要素である部品プログラムを読み取り、分析結果データと分析結果に記されている部品プログラム名のプログラムを目的プログラム雛形に保存する。
なお、目的プログラム雛形は、図３と同様の構成の入力データ記憶部、図４と同様の構成の出力データ記憶部、部品プログラム記憶部、図６と同様の構成の分析結果データ記憶部を持ち、図９の論理を持つ。【００１７】  図９は目的プログラム処理部１０９の処理説明図である。入力データを読み取り入力データ記憶部１０８に保存し、目的プログラム内部の分析結果データ記憶部に格納されているデータを１行ずつ読み出し、読み出したデータに名前が記載されている部品プログラムを順次実行する。その際、読み出したデータに記載の分析結果と入力データ記憶部のアドレスと出力データ記憶部のアドレスをはじめとするパラメータを入力とする。部品プログラムは自身の処理に従い出力データ記憶部１１０の全部又は一部に書き込む。分析結果データの読み出しと対応する部品プログラムの実行がすべて終了後、出力データ記憶部１１０の内容を出力し終了する。
【実施例】
【００１８】  英語の商品名、数量、単価からなる英語明細データを入力とし、日本語の商品名、数量、単価と代金からなる日本語代金データを出力とする商品名翻訳・代金計算プログラムを作成する為、図１０の内容の入力データ例、図１１の内容の前記入力データ例に対する出力データ例、図１２、図１３、図１４の論理を持つ部品プログラム、図１５、図１６、図１７の論理を持つ図１２、図１３、図１４の部品プログラムに対する分析プログラムを用意する。なお図１２、図１３、図１４のプログラム名はそれぞれ、部品プログラム（１）、部品プログラム（２）、部品プログラム（３）である。【００１９】  図１２から図１７の部品プログラム及び分析プログラムは図５の部品プログラムデータの構成要素である。なお、図１２に示される部品プログラム（１）の処理内容は、入力データ記憶部１０８のアドレス、出力データ記憶部１１０のアドレス、２つの数値ｊ及びｋから成る配列、入力データ記憶部１０８の最大行数ｉｍａｘをパラメータとし、入力データ記憶部１０８のｉ列要素データを出力データ記憶部１１０のｊ列要素データに書き込むものである。図１３に示される部品プログラム（２）の処理内容は、入力データ記憶部１０８のアドレス、出力データ記憶部１１０のアドレス、２つの数値ｊ及びｋから成る配列、入力データ記憶部１０８の最大行数ｉｍａｘをパラメータとし、入力データ記憶部１０８のｉ行ｊ列の要素ａ（ｉ．ｊ）とｉ行ｊ＋１列の要素ａ（ｉ．ｊ＋１）の積ａ（ｉ．ｊ）×ａ（ｉ．ｊ＋１）の結果を出力データ記憶部１１０のｉ行ｋ列の要素ｂ（ｉ．ｋ）に書き込むものである。図１４に示される部品プログラム（３）の処理内容は、入力データ記憶部１０８のアドレス、出力データ記憶部１１０のアドレス、２つの数値ｊ及びｋから成る配列、入力データ記憶部１０８の最大行数ｉｍａｘををパラメータとし、入力データ記憶部１０８のｊ列要素データを日本語に翻訳し出力データ記憶部１１０のｋ列要素データに書き込むものである。【００２０】  これら入力データ例、出力データ例、部品プログラムデータを入力としてデータ分析処理部１０４を実行する。図７のデータ分析処理の論理に従い図１５、図１６、図１７の分析プログラムを順次実行し、図１８の分析結果データを得る。【００２１】  図１８の分析結果データと図５の部品プログラムデータを入力として部品プログラム合成処理部１０６を実行し、図９の目的プログラムである商品名翻訳・代金計算プログラムを得る。
【図面の簡単な説明】
【００２２】
【図１】本発明の１実施例の形態を示すブロック図
【図２】本発明の１実施例により出力された目的プログラムのブロック図
【図３】入力データ例記憶部１０１及び入力データ記憶部１０８の構成図
【図４】出力データ例記憶部１０２及び出力データ記憶部１１０の構成図
【図５】部品プログラムデータ記憶部１０３の構成図
【図６】分析結果データ記憶部１０５の構成図
【図７】データ分析処理部１０４の処理説明図
【図８】部品プログラム合成処理部１０６の処理説明図
【図９】本発明の１実施例により作成された目的プログラムの処理説明図
【図１０】入力データ例の内容説明図
【図１１】出力データ例の内容説明図
【図１２】部品プログラム（１）の処理説明図
【図１３】部品プログラム（２）の処理説明図
【図１４】部品プログラム（３）の処理説明図
【図１５】部品プログラム（１）の分析プログラムの処理説明図
【図１６】部品プログラム（２）の分析プログラム処理説明図
【図１７】部品プログラム（３）の分析プログラム処理説明図
【図１８】分析結果データ例の内容説明図。
【符号の説明】
【００２３】１０１  入力データ例記憶部
１０２  出力データ例記憶部
１０３  部品プログラムデータ記憶部
１０４  データ分析処理部
１０５  分析結果データ記憶部
１０６  部品プログラム合成処理部
１０７  目的プログラム
１０８  入力データ記憶部
１０９  目的プログラム処理部
１１０  出力データ記憶部
１１１  部品プログラム名
２０１  入出力装置
２０２  記憶装置
２０３  処理装置
３０１  入力データ例読取り手段
３０２  出力データ例読取り手段
３０３  部品プログラムデータ読取り手段
３０４  部品プログラム利用可否判別手段
３０５  分析結果データ出力手段
３０６  部品プログラム合成手段
３０７  目的プログラム出力手段
３０８  分析結果データ読取り手段
【図１】
2006221596.tif 000003
【図２】
2006221596.tif 000004
【図３】
2006221596.tif 000005
【図４】
2006221596.tif 000006
【図５】
2006221596.tif 000007
【図６】
2006221596.tif 000008
【図７】
2006221596.tif 000009
【図８】
2006221596.tif 000010
【図９】
2006221596.tif 000011
【図１０】
2006221596.tif 000012
【図１１】
2006221596.tif 000013
【図１２】
2006221596.tif 000014
【図１３】
2006221596.tif 000015
【図１４】
2006221596.tif 000016
【図１５】
2006221596.tif 000017
【図１６】
2006221596.tif 000018
【図１７】
2006221596.tif 000019
【図１８】
2006221596.tif 000020