JP2004362442A - プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体 - Google Patents

プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2004362442A
JP2004362442A JP2003162548A JP2003162548A JP2004362442A JP 2004362442 A JP2004362442 A JP 2004362442A JP 2003162548 A JP2003162548 A JP 2003162548A JP 2003162548 A JP2003162548 A JP 2003162548A JP 2004362442 A JP2004362442 A JP 2004362442A
Authority
JP
Japan
Prior art keywords
design information
template
information
source program
script
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.)
Withdrawn
Application number
JP2003162548A
Other languages
English (en)
Inventor
Minoru Harada
稔 原田
Toyohiko Ueda
豊彦 上田
Nobuo Sumita
伸夫 住田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP2003162548A priority Critical patent/JP2004362442A/ja
Publication of JP2004362442A publication Critical patent/JP2004362442A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ユーザのニーズに合わせてソースプログラムを自動生成することができるようにする。
【解決手段】各記述欄にアドレスが与えられている設計情報フォーマット20に記述された設計情報を取得する手段10と、テンプレート40に記述されたテンプレート情報を取得する手段11と、自動生成しようとするソースプログラム70の記述言語により規定されている所定のルールに従って上記テンプレート情報を書き換えて、上記ソースプログラム70のスクリプト60を生成する手段12と、上記生成したスクリプト60に上記設計情報を上記アドレスに基づいて埋め込んでソースプログラム70を自動生成する手段13とを設けることにより、上記アドレスにより設計情報を特定してスクリプト60を生成することができるようにして、ソースプログラム70を生成する際の制約を可及的に低減させるようにする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、特に、ソースプログラムを自動生成するための用いて好適なものである。
【0002】
【従来の技術】
従来から、プログラムの開発支援のために、予め設定されているテンプレート(雛型)の情報に従ってソースプログラムを自動生成するようにする技術がある(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平9−231063号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、装置内で予め設定されているフォーマットやルールの範囲内でしかテンプレートを作成することができないために、ユーザのニーズに合わせてテンプレートを変更することが困難であった。
また、プログラミングに不得手なユーザでは、ソースプログラムを自動生成する操作を行うことが困難であった。
このように、従来の技術では、ユーザのニーズに合わせてソースプログラムを自動生成することが困難であるという問題点があった。
【0005】
本発明は、上述の問題点に鑑みてなされたものであり、ユーザのニーズに合わせてソースプログラムを自動生成することができるようにすることを目的とする。
【0006】
【課題を解決するための手段】
本発明のプログラム自動生成装置は、所定の言語により記述されるソースプログラムを自動生成するプログラム自動生成装置であって、上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供手段と、上記設計情報フォーマット提供手段により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得手段と、上記設計情報取得手段により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供手段と、上記テンプレート提供手段により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得手段と、上記テンプレート情報取得手段により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成手段と、上記スクリプト生成手段により生成されたスクリプトに、上記設計情報取得手段により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成手段とを有することを特徴としている。
【0007】
本発明のプログラム自動生成方法は、所定の言語により記述されるソースプログラムを自動生成するプログラム自動生成方法であって、上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供処理と、上記設計情報フォーマット提供処理により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得処理と、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供処理と、上記テンプレート提供処理により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得処理と、上記テンプレート情報取得処理により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成処理と、上記スクリプト生成処理により生成されたスクリプトに、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成処理とを行うことを特徴としている。
【0008】
本発明のコンピュータプログラムは、所定の言語により記述されるソースプログラムを自動生成する処理をコンピュータに実行させるためのプログラムであって、上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供処理と、上記設計情報フォーマット提供処理により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得処理と、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供処理と、上記テンプレート提供処理により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得処理と、上記テンプレート情報取得処理により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成処理と、上記スクリプト生成処理により生成されたスクリプトに、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成処理とをコンピュータに実行させることを特徴としている。
【0009】
本発明のコンピュータ読み取り可能な記録媒体は、上記記載のコンピュータプログラムを記録したことを特徴としている。
【0010】
【発明の実施の形態】
次に、図面を参照しながら本発明のプログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体の実施の形態について説明する。
【0011】
図1は、本実施の形態のプログラム自動生成装置の構成の一例を示すブロック図である。
【0012】
図1において、プログラム自動生成装置1は、入力装置2と、表示装置3と、処理装置4とを有している。
入力装置2は、キーボードやマウスなどにより構成される装置であり、ユーザにより実行される操作内容を処理装置4に伝えるようにするための装置である。
【0013】
表示装置3は、ディスプレイなどにより構成される装置であり、処理装置4により実行された処理結果などを表示するための装置である。ユーザは、この表示装置3の表示内容を見ながら、入力装置2を操作する。
【0014】
処理装置4は、制御部5と、設計情報格納部6と、テンプレート情報格納部7と、プログラム生成部8と、ソースプログラム格納部9とを有している。
制御部5は、入力装置2を用いてユーザにより操作された内容に基づいて、後述する設計情報とテンプレート情報とを入力し、上記入力した設計情報とテンプレート情報を、それぞれ設計情報格納部6とテンプレート情報格納部7に格納する。
【0015】
また、制御部5は、入力装置2を用いてユーザにより選択された設計情報とテンプレート情報を、それぞれ設計情報格納部6とテンプレート情報格納部7から読み出して、プログラム生成部8に出力する。
【0016】
さらに、制御部5は、上記出力した設計情報とテンプレート情報とに基づいてプログラム生成部8により生成されたソースプログラムの内容に基づいた表示を行う。そして、表示装置3に表示されたソースプログラムを格納する旨の指示が入力装置2を介してあった場合に、上記生成されたソースプログラムをソースプログラム格納部9に格納する。
【0017】
ここで、図2を参照しながら、設計情報格納部6に格納される設計情報について説明する。
図2に示すように、設計情報は、所定の表計算ソフトにより与えられる設計情報フォーマット20に記述される。
【0018】
図2に示した例では、設計情報フォーマット20はタスク仕様書である。この設計情報フォーマット20には、プログラムで実行されるタスクに関する設計情報が記述される。
【0019】
本実施の形態の設計情報フォーマット(タスク仕様書)20に記述される設計情報の具体的な内容を説明する。
まず、タスク名称21の記述欄には、設計情報フォーマット(タスク仕様書)20で与えられるタスクの名称が記述される。図2に示した例では、設計情報フォーマット(タスク仕様書)20で与えられるタスクの名称は、「第1のサンプル(図中サンプルA)」である。
【0020】
また、略称22の記述欄には、設計情報フォーマット(タスク仕様書)20で与えられるタスクの略称が記述される。図2に示した例では、「第1のサンプル」という名称のタスクの略称は、「D1000T」である。
【0021】
タスク被起動・起動条件23の欄には、設計情報フォーマット(タスク仕様書)20で与えられるタスクが、どのようなタスクにより起動され、また、どのようなタスクを起動するものであるのが記述される。
【0022】
すなわち、タスク被起動・起動条件23内の被起動23aの記述欄に「○」が付されているタスクにより、設計情報フォーマット(タスク仕様書)20で与えられるタスクが起動する。
【0023】
図2に示した例では、タスク名称23cの記述欄に記述されている「ユーザ指示」という名称のタスクにより、設計情報フォーマット(タスク仕様書)20で与えられるタスクが起動される。
【0024】
また、タスク被起動・起動条件21内の起動23bの記述欄に「○」が付されているタスクを、設計情報フォーマット(タスク仕様書)20で与えられるタスクが起動させる。
【0025】
図2に示した例では、タスク名称23cの記述欄に記述されている「第2のサンプル(図中サンプルB)」という名称のタスクと、「第3のサンプル(図中サンプルC)」という名称のタスクを、設計情報フォーマット(タスク仕様書)20で与えられるタスクが起動させる。
【0026】
なお、タスク被起動・起動条件21内の略称23dの記述欄には、タスク名称23cの記述欄に記述されているタスクの略称が記述される。図2に示した例では、「第2のサンプル」という名称のタスクの略称は、「D2000T」である。また、「第3のサンプル」という名称のタスクの略称は、「D3000T」である。
【0027】
さらに、タスク被起動・起動条件23内の起動要因コード23eの記述欄には、タスク名称23cの記述欄に記述されているタスクの起動要因コードが記述される。図2に示した例では、「ユーザ指示」という名称のタスクの起動要因コードは「1」と「2」である。
【0028】
また、「第2のサンプル」という名称のタスクの起動要因コードは「100」である。「第3のサンプル」という名称のタスクの起動要因コードは「200」である。
【0029】
この他、タスク被起動・起動条件23内のリンケージ情報略称23fの記述欄には、タスク名称23cの記述欄に記述されているタスクに関連する情報の略称が記述される。また、起動タイマー名称23gの記述欄には、タスク名称23cの記述欄に記述されているタスクを起動する際に使用するタイマーの名称が記述される。
【0030】
キャンセルタイマー名称23hの記述欄には、タスク名称23cの記述欄に記述されているタスクのタイマーをキャンセルする際のタイマーの名称が記述される。説明23iの記述欄には、タスク名称23cの記述欄に記述されているタスクに関して、その他必要な説明事項が記述される。
【0031】
さらに、図2に示した設計情報フォーマット(タスク仕様書)20で与えられるタスクの番号を記述するためのタスクナンバー(タスクNo.)24の記述欄と、処理の概要を記述するための処理概要25の記述欄と、特記事項を記述するための特記事項26の記述欄なども設けられている。
【0032】
また、設計情報フォーマット(タスク仕様書)20の各記述欄には、各設計情報の所在を表すアドレス情報が与えられている。具体的に説明すると、例えば、タスク名称23cの記述欄に記述されている「第2のサンプル」には、上から7番目で左から3番目というアドレス情報が与えられている。
【0033】
このような内容の設計情報を記述する場合、ユーザは、入力装置2に対し所定の操作を行う。これにより、制御部5は、上記所定の表計算ソフトを起動し、図2に示した設計情報フォーマット20を示したウィンドウ30を表示装置3に表示させる(図3を参照)。
【0034】
ユーザは、入力装置2を操作して、表示装置3に表示された設計情報フォーマット20に、上述した所望の設計情報を書き込み、上記書き込んだ設計情報に所定のファイル名を付して保存するように指示する。制御部5は、上記指示された内容に従って上記書き込まれた設計情報を設計情報格納部6に格納する。
【0035】
このようにして、設計情報格納部6には、ユーザにより記述された設計情報により構成されるファイルが複数格納される。なお、上述したように、これら複数のファイルは、それぞれに付与されたファイル名により区別される。
【0036】
次に、図4を参照しながら、テンプレート情報格納部7に格納されるテンプレート情報について説明する。
図4に示すように、テンプレート情報は、テンプレート40に記述される情報である。なお、本実施の形態では、パール(PERL)言語でソースプログラムを生成する場合を例に挙げて説明する。
【0037】
図4に示した例では、図2に示した「第1のサンプル(サンプルA)」という名称のタスクにより、「第2のサンプル(サンプルB)」という名称のタスクを起動させる際のテンプレート情報(一部)が記述されている。
【0038】
このテンプレート40には、図2に示した設計情報フォーマット20のアドレスを指定するための情報などが、パール言語に基づいてテキスト形式で記述されている。
【0039】
具体的に説明すると、テンプレート40の1行目から5行目には、図2に示した設計情報フォーマット20の左から2列目の起動23bの記述欄に「○」が記述されている場合、その行(図中[$i])の左から3列目の記述欄に記述されている名称のタスクを起動することが記述されている。
【0040】
例えば、設計情報フォーマット20の上から7行目の起動23bの記述欄には、「○」が記述されているので、その行のタスク名称23cの記述欄に記述されている「第2のサンプル(サンプルB)」を起動することになる。
【0041】
テンプレート情報40の6行目には、起動23bの記述欄に「○」が記述されている行の左から4列目の略称23dの欄に記述されているデータを挿入することが記述されている。
【0042】
テンプレート情報40の7行目には、起動23bの欄に「○」が記述されている行の左から5列目の起動要因コード23eの欄に記述されているデータを挿入することが記述されている。
【0043】
また、図4において、行の先頭に、「$C:」を記述することで、その行に記述されているテンプレート情報が、テキストに展開されない情報であることを示すようにしている。一方、行の先頭に「$C:」を記述しないことで、その行に記述されているテンプレート情報が、テキストに展開される情報であることを示すようにしている。
【0044】
このように、図4に示したテンプレート40には、設計情報フォーマット(タスク仕様書)20に記述されている設計情報の内容を識別するための条件分岐処理(テンプレート40の2〜5行目)と、設計情報フォーマット(タスク仕様書)20の各行について同様の条件分岐処理を行うようにするためのループ処理(テンプレート40の1行目)と、設計情報フォーマット(タスク仕様書)20のアドレスを指定し、指定したアドレスに記述されている設計情報を埋め込むようにするためのアドレス指定処理(テンプレート40の4行目及び6〜7行目)とが最低限含まれるテンプレート情報が、パール言語に基づいてテキスト形式で記述される。
【0045】
以上のようなテンプレート情報を記述する場合、ユーザは、入力装置2に対し所定の操作を行う。これにより、制御部5は、所定のテキストエディタを起動し、テンプレート40を表示装置3に表示させる。
【0046】
ユーザは、入力装置2を操作して、表示装置3に表示されたテンプレート40に、図4に示したような所望のテンプレート情報を書き込み、上記書き込んだテンプレート情報に所定のファイル名を付して保存するように指示する。
【0047】
上記テンプレート情報を保存する旨の指示があると、制御部5は、指示された内容に従ってテンプレート情報をテンプレート情報格納部7に格納する。
このようにして、テンプレート情報格納部7には、ユーザにより記述されたテンプレート情報により構成されるファイルが複数格納される。なお、上述したように、これら複数のファイルは、それぞれに付与されたファイル名により区別される。
【0048】
次に、図5〜図10を参照しながら、設計情報格納部6に格納された設計情報と、テンプレート情報格納部7に格納されたテンプレート情報とを呼び出して、ソースプログラムを自動生成する際の処理について説明する。
【0049】
図5は、設計情報とテンプレート情報を呼び出す際に表示装置3に表示されるウィンドウの一例を示した図である。
【0050】
設計情報格納部6に格納された設計情報と、テンプレート情報格納部7に格納されたテンプレート情報とを呼び出す場合、ユーザは、入力装置2に対し所定の操作を行う。これにより、制御部5は、所定のアプリケーション(アプリケーション開発支援ツール)を起動し、図5に示す情報選択用ウィンドウ50を表示装置3に表示させる。
【0051】
図5に示すように、情報選択用ウィンドウ50には、設計情報格納部6に格納された設計情報のファイル名を表示する設計情報選択用ウィンドウ51と、テンプレート情報格納部7に格納されたテンプレート情報のファイル名を表示するテンプレート情報選択用ウィンドウ52とが含まれている。
【0052】
ユーザは、入力装置(マウス)2を操作して、所望の設計情報が記述されているファイルを示すアイコンをドラッグする。図5では、「タスク仕様書01(サンプルA).xls」(図2に示した設計情報が格納されているファイル)をドラッグしていること示している。
【0053】
そして、上記ドラッグしたアイコンを、所望のテンプレート情報が記述されているファイルを示すアイコンに、重ね合わせドロップする。図5では、「(プログラム01_PIIIタスク仕様書→Cセミメインモジュール)」(図4に示したテンプレート情報が格納されているファイル)に、上記ドラッグしたアイコンをドロップすることを示している。
【0054】
このようなユーザによる入力装置2の操作に基づいて、制御部5は、所望の設計情報が格納されているファイルを設計情報格納部6から読み出して、プログラム生成部8の設計情報取得手段10に出力するとともに、所望のテンプレート情報が記述されているファイルをテンプレート情報格納部7から読み出して、プログラム生成部8のテンプレート情報取得手段11に出力する。
【0055】
設計情報取得手段10は、制御部5から出力された設計情報のファイルを所定のワークエリアにコピーする。なお、以下の説明では、このコピーされたファイルをコピー設計情報ファイルと表す。
【0056】
テンプレート情報取得手段11は、制御部5から出力されたテンプレート情報のファイルを所定のワークエリアにコピーする。なお、以下の説明では、このコピーされたファイルをコピーテンプレートファイルと表す。
【0057】
スクリプト生成手段12は、テンプレート情報取得手段11により作成されたコピーテンプレートファイルから、テンプレート情報を読み出す。そして、上記読み出したテンプレート情報を、パール言語で解釈できるように加工して、スクリプト(自動生成用テキスト処理スクリプト)を生成する。
【0058】
具体的に説明すると、例えば、パール言語により定義されているコマンドを予め決められたルールに従って上記読み出したテンプレート情報に付与するなどして、スクリプト60を生成する。図6にスクリプト生成手段12により生成されたスクリプト60の一例を示す。
【0059】
このように本実施の形態では、設計情報を呼び出すためのテンプレート情報を(図4を参照)、パール言語により規定されている所定のルールに基づいた内容に従って書き換えて、ソースプログラムのスクリプト60を生成するようにしている。
【0060】
ソースプログラム生成手段13は、設計情報取得手段10により作成されたコピー設計情報ファイルから、設計情報を読み出す。そして、スクリプト生成手段12により生成されたスクリプト60を実行する。これにより、スクリプト60の該当箇所に上記読み出した設計情報を埋め込んで、ソースプログラムを生成する。
図7に、ソースプログラム生成手段13により生成されたソースプログラムの一例を示す。
【0061】
そして、図8に示すように、制御部5は、上記情報選択用ウィンドウ50の上に、上記生成されたソースプログラムを示すソースプログラム表示用ウィンドウ80を表示させる。
【0062】
そして、ソースプログラム表示用ウィンドウ80に表示されたソースプログラムを保存するための入力装置2を用いた所定の操作が、ユーザにより行われると、制御部5は、図9に示すようなソースプログラム保存用ウィンドウ90を表示装置3に表示させる。
【0063】
このソースプログラム保存用ウィンドウ90の表示内容に基づいて、ユーザが入力装置2を操作し、上記ソースプログラムにファイル名が付され、且つ上記ソースプログラムの格納場所が指定されると、制御部5は、上記ソースプログラム生成手段13により生成されたソースプログラム(ソースプログラム表示用ウィンドウ80に表示されたソースプログラム)をソースプログラム格納部9に格納する。
【0064】
なお、本実施の形態では、ソースプログラム保存用ウィンドウ90に表示されたソースプログラムの一部または全部を別のエディタにコピーしたり、移動したりすることもできるようにしている。
【0065】
具体的に説明すると、図10に示すように、ソースプログラム保存用ウィンドウ90に表示されたソースプログラムの一部(図10の文字が白抜きされている領域)を、ユーザが入力装置(マウス)2を用いて指定し、所定の操作を行うと、制御部5は、上記指定されたソースプログラムの一部を別のエディタに移すためのウィンドウ100をソースプログラム表示用ウィンドウ80の上に表示させる。
【0066】
そして、ウィンドウ100に表示された内容の中から所望の内容が、ユーザによる入力装置(マウス)2の操作により選択されると、制御部5は、上記選択された内容に従って、上記指定されたソースプログラムの一部を別のエディタにコピーしたり、移動したりする。
【0067】
次に、図11のフローチャートを参照しながら、ソースプログラムを自動生成する際のプログラム自動生成装置1の動作の一例を説明する。
まず、最初のステップS1において、制御部5は、所望の設計情報とテンプレート情報とがユーザにより選択されるまで待機する。
【0068】
この選択は、上述したように、表示装置3に表示させた設計情報表示用ウィンドウ51に表示されているアイコンの中から所望のアイコンがドラッグされ、さらに、上記ドラッグされたアイコンが、テンプレート情報表示用ウィンドウ52に表示されているアイコンにドロップされることにより行われる。
【0069】
そして、所望の設計情報とテンプレート情報とがユーザにより選択されると、ステップS2に進み、制御部5は、上記選択された所望の設計情報のファイルと、テンプレート情報のファイルとを、それぞれ設計情報格納部6とテンプレート情報格納部7とから読み出す。
【0070】
そして、上記読み出した設計情報のファイルと、テンプレート情報のファイルとを、それぞれ設計情報取得手段10とテンプレート情報取得手段11とに出力する。
【0071】
次に、ステップS3において、設計情報取得手段10は、ステップS2の処理で制御部5から出力された設計情報のファイルを所定のワークエリアにコピーし、コピー設計情報ファイルを作成する。
【0072】
次に、ステップS4において、テンプレート情報取得手段11は、ステップS2の処理で制御部5から出力されたテンプレート情報のファイルを所定のワークエリアにコピーし、コピーテンプレートファイルを作成する。
なお、これらステップS3とステップS4との処理の順番を入れ替えるようにしてもよい。
【0073】
次に、ステップS5において、スクリプト生成手段12は、ステップS4の処理により作成されたコピーテンプレートファイルから、テンプレート情報を読み出す(図4を参照)。
【0074】
次に、ステップS6において、スクリプト生成手段12は、ステップS5の処理により作成されたテンプレート情報に基づいて、スクリプト60を生成する(図6を参照)。
【0075】
次に、ステップS7において、ソースプログラム生成手段13は、ステップS3の処理により作成されたコピー設計情報ファイルから、設計情報を読み出す。
【0076】
次に、ステップS8において、ソースプログラム生成手段13は、ステップS6の処理により生成されたスクリプト60を実行し、ステップS7の処理により読み出された設計情報をスクリプト60に埋め込む。
【0077】
ステップS9において、制御部5は、ソースプログラム生成手段13によりソースプログラム70が生成されるまで待機し、ソースプログラム70が生成されると、ステップS10に進む。そして、制御部5は、上記生成されたソースプログラム70を示すソースプログラム表示用ウィンドウ80を表示装置3に表示させる(図7、図8を参照)。
【0078】
次に、ステップS11において、制御部5は、上記生成されたソースプログラム70を保存する指示をユーザから受けたか否かを判定する。この判定の結果、上記生成されたソースプログラム70を保存する場合には、ステップS12に進み、制御部5は、ユーザにより指定された格納場所(ソースプログラム格納部9)に、上記生成されたソースプログラム70を格納する。
【0079】
一方、ステップS11において、上記生成されたソースプログラム70を保存する以外の指示をユーザから受けた場合には、ステップS13に進み、制御部5は、ユーザから受けた指示に従って、上記生成されたソースプログラム70に対する追加処理を行い、上記生成されたソースプログラムを保存する指示をユーザから受けるまで、ステップS11の処理とステップS13の処理とを繰り返し行う。
【0080】
なお、ソースプログラム70に対する追加処理とは、上述したように、ソースプログラム70の一部または全部を別のエディタにコピーしたり移動したりするなどの処理である。
【0081】
以上のように本実施の形態では、各記述欄にアドレスが与えられている設計情報フォーマット20に、ソースプログラム70を設計するための設計情報を、ユーザに記述させるようにして、上記設計情報にアドレスを与えるようにする。そして、ソースプログラム70のスクリプト60に、上記設計情報が上記アドレスに基づいて埋め込まれるようにするためのテンプレート情報を、テンプレート40に記述させるようにする。
【0082】
すなわち、本実施の形態では、設計情報をアドレスにより識別するようにしたので、設計情報フォーマット20と、テンプレート40とを自由に決定することができる。
具体的に説明すると、設計情報フォーマット20内のどの位置に、どのような設計情報を記述したとしても、設計情報をアドレスにより識別することができるので、設計情報フォーマットの形式を自由に変更することができる。
【0083】
また、設計情報をアドレスにより識別するような記述がされていれば、テンプレート40の記述内容に大きな制約はなくなるので、テンプレート40を柔軟に変更することができる。
【0084】
このように、本実施の形態では、設計情報フォーマット20と、テンプレート40とを自由に決定することができるので、本実施の形態で例示したパール言語に限らず、どのような言語のソースプログラムであっても、自動生成することができ、プログラミング規約に対して柔軟に対応することができる。また、例えばタスクの起動、被起動などの細かい処理についても、自動生成することができる。
【0085】
また、ソースプログラム70のスクリプト60の一部を使用してテンプレート40にテンプレート情報を記述させるようにし、ソースプログラム70の記述言語により規定されている所定のルールに従って上記テンプレート情報を書き換えて、ソースプログラム70のスクリプト60を生成し、上記生成したスクリプト60を実行して、上記スクリプト60に上記設計情報を埋め込んでソースプログラムを自動生成するようにしたので、ソースプログラム70のスクリプト60を全て記述しなくてもソースプログラムを自動生成することができる。
【0086】
これにより、ソースプログラムの記述言語(本実施の形態ではパール言語)に精通していないユーザであっても、ソースプログラムを容易且つ確実に生成することができる。また、コーディング時間を可及的に短縮することができる。
【0087】
さらに、設計情報のファイルと、テンプレート情報のファイルとを情報選択用ウィンドウ50に表示し、設計情報とテンプレート情報とをドラッグアンドドロップによりユーザに選択させるようにしたので、ソースプログラムを迅速且つ容易に生成することができるようになる。
【0088】
また、本実施の形態では、テンプレート40を基準にしてソースプログラム70を自動生成することにより、一様的なソースプログラム形態とすることができる。基本的にテンプレート40のみがプログラミング規約に沿った形態になっていれば、自動生成されるソースプログラム70もプログラミング規約に沿ったものになるからである。このように本実施の形態では、一様的なソースプログラム70を自動生成することにより、処理ブロックの構造が統一的になるため、プログラムリストの可視性を向上させることができる。
【0089】
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0090】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0091】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0092】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0093】
【発明の効果】
以上説明したように本発明によれば、ソースプログラムのスクリプトに埋め込まれる設計情報とそのアドレス情報とを取得するとともに、上記ソースプログラムのスクリプトに上記設計情報が上記アドレス情報に基づいて埋め込まれるようにテンプレートに記述されたテンプレート情報を取得し、上記取得したテンプレート情報を、ソースプログラムの記述言語で解釈できるように加工して、ソースプログラムのスクリプトを生成し、上記生成したスクリプトに上記取得した設計情報を上記アドレス情報に基づいて埋め込んで、ソースプログラムを生成するようにしたので、上記アドレス情報により上記設計情報を特定してソースプログラムを生成することができる。これにより、上記設計情報の所在位置や内容の制約を受けずに、上記テンプレートを自由にカスタマイズすることができる。
【0094】
また、上記ソースプログラムのスクリプトの一部を使用して上記テンプレート情報を記述できるようにしたので、ユーザは、上記ソースプログラムのスクリプトを全て作成する必要がなくなる。これによりプログラム言語に精通していないユーザであっても、上記ソースプログラムを自動生成させることができる。
【0095】
このように、本発明では、ソースプログラムを自動生成する際の制約を可及的に低減させることができるので、ユーザのニーズに合わせてソースプログラムを自動生成することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態を示し、プログラム自動生成装置の構成の一例を示すブロック図である。
【図2】本発明の実施の形態を示し、設計情報フォーマットに記述される設計情報の一例を示した図である。
【図3】本発明の実施の形態を示し、設計情報フォーマットを表示するウィンドウの一例を示した図である。
【図4】本発明の実施の形態を示し、テンプレートに記述されるテンプレート情報の一例を示した図である。
【図5】本発明の実施の形態を示し、設計情報とテンプレート情報を呼び出す際に表示されるウィンドウの一例を示した図である。
【図6】本発明の実施の形態を示し、スクリプトの一例を示した図である。
【図7】本発明の実施の形態を示し、ソースプログラムの一例を示した図である。
【図8】本発明の実施の形態を示し、ソースプログラムを表示するウィンドウの一例を示した図である。
【図9】本発明の実施の形態を示し、ソースプログラムを保存する際に表示されるウィンドウの一例を示した図である。
【図10】本発明の実施の形態を示し、ソースプログラムの一部を別のエディタに移す際に表示されるウィンドウの一例を示した図である。
【図11】本発明の実施の形態を示し、ソースプログラムを自動生成する際のプログラム自動生成装置の動作の一例を説明するフローチャートである。
【符号の説明】
1 プログラム自動生成装置
2 入力装置
3 表示装置
4 処理装置
5 制御部
6 設計情報格納部
7 テンプレート情報格納部
8 プログラム生成部
9 ソースプログラム格納部
10 設計情報取得手段
11 テンプレート情報取得手段
12 スクリプト生成手段
13 ソースプログラム生成手段
20 設計情報フォーマット
40 テンプレート
60 スクリプト
70 ソースプログラム

Claims (10)

  1. 所定の言語により記述されるソースプログラムを自動生成するプログラム自動生成装置であって、
    上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供手段と、
    上記設計情報フォーマット提供手段により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得手段と、
    上記設計情報取得手段により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供手段と、
    上記テンプレート提供手段により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得手段と、
    上記テンプレート情報取得手段により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成手段と、
    上記スクリプト生成手段により生成されたスクリプトに、上記設計情報取得手段により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成手段とを有することを特徴とするプログラム自動生成装置。
  2. 上記設計情報フォーマット提供手段は、上記設計情報を記述するための記述欄に上記アドレス情報が付与された表形式の設計情報フォーマットを表示装置に表示し、
    上記設計情報取得手段は、上記設計情報フォーマット提供手段によって表示された設計情報フォーマットの記述欄に記述された設計情報を取得することを特徴とする請求項1に記載のプログラム自動生成装置。
  3. 上記テンプレート提供手段は、上記テンプレートを表示装置に表示し、
    上記テンプレート情報取得手段は、上記設計情報フォーマット提供手段によって表示されたテンプレートに記述されたテンプレート情報を取得することを特徴とする請求項1または2に記載のプログラム自動生成装置。
  4. 上記設計情報は、上記ソースプログラムのパラメータを含むことを特徴とする請求項1〜3の何れか1項に記載のプログラム自動生成装置。
  5. 上記テンプレート情報は、上記アドレス情報に基づいて上記設計情報を検索するようにするための情報を含むことを特徴とする請求項1〜4の何れか1項に記載のプログラム自動生成装置。
  6. 所定の言語により記述されるソースプログラムを自動生成するプログラム自動生成方法であって、
    上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供処理と、
    上記設計情報フォーマット提供処理により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得処理と、
    上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供処理と、
    上記テンプレート提供処理により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得処理と、
    上記テンプレート情報取得処理により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成処理と、
    上記スクリプト生成処理により生成されたスクリプトに、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成処理とを行うことを特徴とするプログラム自動生成方法。
  7. 上記設計情報フォーマット提供処理は、上記設計情報を記述するための記述欄に上記アドレス情報が付与された表形式の設計情報フォーマットを表示装置に表示し、
    上記設計情報取得処理は、上記設計情報フォーマット提供処理によって表示された設計情報フォーマットの記述欄に記述された設計情報を取得することを特徴とする請求項6に記載のプログラム自動生成方法。
  8. 上記テンプレート提供処理は、上記テンプレートを表示装置に表示し、
    上記テンプレート情報取得処理は、上記設計情報フォーマット提供処理によって表示されたテンプレートに記述されたテンプレート情報を取得することを特徴とする請求項6または7に記載のプログラム自動生成方法。
  9. 所定の言語により記述されるソースプログラムを自動生成する処理をコンピュータに実行させるためのプログラムであって、
    上記ソースプログラムのスクリプトに埋め込まれる設計情報をユーザに記述させるようにするための設計情報フォーマットを提供する設計情報フォーマット提供処理と、
    上記設計情報フォーマット提供処理により提供された設計情報フォーマットに記述された設計情報を、その所在を表すアドレス情報とともに取得する設計情報取得処理と、
    上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて上記ソースプログラムのスクリプトに埋め込むようにするためのテンプレート情報を、上記ソースプログラムのスクリプトの一部を使用してユーザに記述させるようにするためのテンプレートを提供するテンプレート提供処理と、
    上記テンプレート提供処理により提供されたテンプレートに記述されたテンプレート情報を取得するテンプレート情報取得処理と、
    上記テンプレート情報取得処理により取得されたテンプレート情報を、上記所定の言語で解釈されるように加工して、上記ソースプログラムのスクリプトを生成するスクリプト生成処理と、
    上記スクリプト生成処理により生成されたスクリプトに、上記設計情報取得処理により取得された設計情報を、上記アドレス情報に基づいて埋め込んで、上記ソースプログラムを生成するソースプログラム生成処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
  10. 上記請求項9に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2003162548A 2003-06-06 2003-06-06 プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体 Withdrawn JP2004362442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003162548A JP2004362442A (ja) 2003-06-06 2003-06-06 プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003162548A JP2004362442A (ja) 2003-06-06 2003-06-06 プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2004362442A true JP2004362442A (ja) 2004-12-24

Family

ID=34054668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003162548A Withdrawn JP2004362442A (ja) 2003-06-06 2003-06-06 プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2004362442A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304998A (ja) * 2006-05-12 2007-11-22 Hitachi Software Eng Co Ltd ソースコード生成方法及び装置並びにプログラム
JP2010117945A (ja) * 2008-11-13 2010-05-27 Nippon Steel Corp ネットワークシステムの設計支援システム、方法、プログラム並びにネットワークシステムの設計支援・監視システム
WO2011108193A1 (ja) * 2010-03-05 2011-09-09 日本電気株式会社 プログラム作成支援装置、プログラム、および、情報システム
WO2013178115A1 (zh) * 2012-08-13 2013-12-05 中兴通讯股份有限公司 一种对数据进行处理的方法和设备
JP2017049639A (ja) * 2015-08-31 2017-03-09 富士通株式会社 評価プログラム、手順書評価方法、および評価装置
US10308209B2 (en) 2014-05-28 2019-06-04 Asahi Kasei Kabushiki Kaisha Base fabric for airbag and airbag

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304998A (ja) * 2006-05-12 2007-11-22 Hitachi Software Eng Co Ltd ソースコード生成方法及び装置並びにプログラム
JP2010117945A (ja) * 2008-11-13 2010-05-27 Nippon Steel Corp ネットワークシステムの設計支援システム、方法、プログラム並びにネットワークシステムの設計支援・監視システム
WO2011108193A1 (ja) * 2010-03-05 2011-09-09 日本電気株式会社 プログラム作成支援装置、プログラム、および、情報システム
JP5626333B2 (ja) * 2010-03-05 2014-11-19 日本電気株式会社 プログラム作成支援装置、プログラム、および、情報システム
US9116708B2 (en) 2010-03-05 2015-08-25 Nec Corporation Program creation support apparatus, program, and information system
WO2013178115A1 (zh) * 2012-08-13 2013-12-05 中兴通讯股份有限公司 一种对数据进行处理的方法和设备
US10308209B2 (en) 2014-05-28 2019-06-04 Asahi Kasei Kabushiki Kaisha Base fabric for airbag and airbag
US10773681B2 (en) 2014-05-28 2020-09-15 Asahi Kasei Kabushiki Kaisha Base fabric for airbag and airbag
JP2017049639A (ja) * 2015-08-31 2017-03-09 富士通株式会社 評価プログラム、手順書評価方法、および評価装置

Similar Documents

Publication Publication Date Title
JP4306991B2 (ja) データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体
JP4602650B2 (ja) ナビゲーション生成装置およびプログラム
JP2006059358A (ja) 選択されたオブジェクトに関連する選択可能なソフトウェア機能コントロールを表示する改良されたユーザインタフェース
JP2006119884A (ja) シーケンスプログラムの編集装置
JP5196902B2 (ja) 帳票システムおよび帳票システムの制御方法およびプログラムおよび記録媒体
JPH0850598A (ja) 電子書類検索システム
JP2004362442A (ja) プログラム自動生成装置、プログラム自動生成方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2008027243A (ja) 文書管理装置、文書管理方法およびプログラム
US20140250152A1 (en) Method, Device, Program Product, and Server for Generating Electronic Document Container Data File
JP2008033682A (ja) 文書作成支援装置及び文書作成支援方法
JP2004295577A (ja) オブジェクト選択装置、オブジェクト選択方法及びオブジェクト選択プログラム
JP4455235B2 (ja) 画像処理装置、画像処理装置の制御方法、コンピュータプログラム
JP3586560B2 (ja) データ処理装置
US20030154462A1 (en) Software maintenance material generation apparatus and generation program therefor
JP4006477B2 (ja) 帳票作成装置および帳票作成方法および記憶媒体
JP2003067373A (ja) プログラム、文書処理装置及び文書処理方法
GB2240861A (en) Apparatus and method for adapting computer program from one operating environment to another
JP3969926B2 (ja) 帳票作成装置、帳票作成方法、および記憶媒体
JP4251644B2 (ja) 編集方法及び記録媒体
JP3598594B2 (ja) 文書処理装置及び文書処理方法
JP2009211283A (ja) カーソル管理装置およびコンピュータプログラム
JP3674905B2 (ja) 文書編集装置
JP2006302141A (ja) 表示システム及びその制御方法
JP2004021831A (ja) 表示装置、表示装置のための作画装置、ならびに作画プログラムおよびそれを記録した記録媒体
JP3160926B2 (ja) 文書作成装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905