Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
プログラム自動生成システム及び方法 - 株式会社野村総合研究所
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社野村総合研究所

発明の名称 プログラム自動生成システム及び方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−241346(P2007−241346A)
公開日 平成19年9月20日(2007.9.20)
出願番号 特願2006−58863(P2006−58863)
出願日 平成18年3月6日(2006.3.6)
代理人 【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
発明者 五反田 基秀 / 高木 重史 / 河本 理愛 / 赤井 敦
要約 課題
プログラムのパターンを限定せずに、幅広いタイプのプログラムの自動生成を可能にするための技術を提供する。

解決手段
第1及び第2の設計書雛形111,112を記憶する詳細設計書雛形記憶部11と、雛形に対する入力に基づいて、第1及び第2の設計書を生成する詳細設計書生成部15と、第1雛形111と対応付けられているソースコード雛形211と、第2の雛形112と対応付けられているソースコード生成規則212を記憶する自動生成規則記憶部21と、第1設計書及びソースコード雛形211に基づいて、スケルトンクラスソースファイルを生成し、第2の設計書及びソースコード生成規則212に基づいて、部品クラスソースファイルを生成するソースファイル生成部23とを備える。
特許請求の範囲
【請求項1】
それぞれ複数の入力項目を備えた、第1及び第2の設計書雛形を記憶する雛形記憶手段と、
第1及び第2の設計書雛形に対する入力に基づいて、第1及び第2の設計書を生成する設計書生成手段と、
前記第1の設計書雛形と対応付けられているソースコード雛形を記憶するソースコード雛形記憶手段と、
前記生成された第1の設計書と、前記第1の設計書雛形と対応付けられているソースコード雛形とに基づいて、ソースコード雛形クラスオブジェクトを出力する手段と、
前記第2の設計書雛形に基づいて、ソースコードを自動生成するための生成規則を記憶する生成規則記憶手段と、
前記生成された第2の設計書と前記生成規則とに基づいてソースコードを生成し、部品クラスオブジェクトを出力する手段と、
前記ソースコード雛形クラスオブジェクトに対するソースコードの入力を受け付ける手段と、を備えるプログラム自動生成システム。
【請求項2】
前記雛形記憶手段には、さらに、データストアのための第3の設計書雛形が記憶されていて、
前記設計書生成手段は、前記第3の設計書雛形に対する入力に基づいて、第3の設計書を生成し、
前記プログラム自動生成システムは、
前記第3の設計書に基づいて、データを格納するためのオブジェクトを生成して出力する手段と、を備える請求項1記載のプログラム自動生成システム。
【請求項3】
前記生成規則は、雛形の入力項目別に、各入力項目に設定されている情報に応じて生成するソースコードを定めるための規則であることを特徴とする請求項1記載のプログラム自動生成システム。
【請求項4】
それぞれ複数の入力項目を備えた、第1及び第2の設計書雛形を雛形記憶手段に格納するステップと、
第1及び第2の設計書雛形に対する入力に基づいて、第1及び第2の設計書を生成するステップと、
前記第1の設計書雛形と対応付けられているソースコード雛形をソースコード雛形記憶手段に格納するステップと、
前記生成された第1の設計書と、前記第1の設計書雛形と対応付けられているソースコード雛形とに基づいて、ソースコード雛形クラスオブジェクトを出力するステップと、
前記第2の設計書雛形に基づいて、ソースコードを自動生成するための生成規則を生成規則記憶手段に格納するステップと、
前記生成された第2の設計書と前記生成規則とに基づいてソースコードを生成し、部品クラスオブジェクトを出力するステップと、
前記ソースコード雛形クラスオブジェクトに対するソースコードの入力を受け付けるステップと、を有するプログラムの自動生成方法。
【請求項5】
コンピュータに実行されると、
それぞれ複数の入力項目を備えた、第1及び第2の設計書雛形を雛形記憶手段に格納するステップと、
第1及び第2の設計書雛形に対する入力に基づいて、第1及び第2の設計書を生成するステップと、
前記第1の設計書雛形と対応付けられているソースコード雛形をソースコード雛形記憶手段に格納するステップと、
前記生成された第1の設計書と、前記第1の設計書雛形と対応付けられているソースコード雛形とに基づいて、ソースコード雛形クラスオブジェクトを出力するステップと、
前記第2の設計書雛形に基づいて、ソースコードを自動生成するための生成規則を生成規則記憶手段に格納するステップと、
前記生成された第2の設計書と前記生成規則とに基づいてソースコードを生成し、部品クラスオブジェクトを出力するステップと、
前記ソースコード雛形クラスオブジェクトに対するソースコードの入力を受け付けるステップと、を行うプログラムの自動生成のためのコンピュータプログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、プログラムの自動生成を行うための技術に関する。
【背景技術】
【0002】
プログラムの自動生成を行うシステムが特許文献1に記載されている。この特許文献1のシステムでは、予めパターン化されたプログラムが用意されていて、これらの組み合わせによってプログラムを自動生成する。
【特許文献1】特開平8−202539号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記先行技術では、予め用意されているプログラムのパターンの範囲内でしかプログラムを自動生成することができない。つまり、既存のパターン以外のものが必要になったときには、このパターンを追加しなければならず、プログラム自動生成システムとしての柔軟性がなかった。
【0004】
そこで、本発明の目的は、パターンを限定せずに、幅広いタイプのプログラムの自動生成を可能にするための技術を提供することである。
【課題を解決するための手段】
【0005】
本発明の一実施態様に従うプログラム自動生成システムは、それぞれ複数の入力項目を備えた、第1及び第2の設計書雛形を記憶する雛形記憶手段と、第1及び第2の設計書雛形に対する入力に基づいて、第1及び第2の設計書を生成する設計書生成手段と、前記第1の設計書雛形と対応付けられているソースコード雛形を記憶するソースコード雛形記憶手段と、前記生成された第1の設計書と、前記第1の設計書雛形と対応付けられているソースコード雛形とに基づいて、ソースコード雛形クラスオブジェクトを出力する手段と、前記第2の設計書雛形に基づいて、ソースコードを自動生成するための生成規則を記憶する生成規則記憶手段と、前記生成された第2の設計書と前記生成規則とに基づいてソースコードを生成し、部品クラスオブジェクトを出力する手段と、前記ソースコード雛形クラスオブジェクトに対するソースコードの入力を受け付ける手段と、を備える。
【0006】
好適な実施形態では、前記雛形記憶手段には、さらに、データストアのための第3の設計書雛形が記憶されていて、前記設計書生成手段は、前記第3の設計書雛形に対する入力に基づいて、第3の設計書を生成するようにしてもよい。前記プログラム製造装置は、前記第3の設計書に基づいて、データを格納するためのオブジェクトを生成して出力する手段と、を備えてもよい。
【0007】
好適な実施形態では、前記生成規則は、雛形の入力項目別に、各入力項目に設定されている情報に応じて生成するソースコードを定めるための規則であってもよい。
【発明を実施するための最良の形態】
【0008】
以下、本発明の一実施形態に係るプログラム自動生成システムについて、図面を参照して説明する。
【0009】
図1は、本実施形態に係るプログラム自動生成システムの機能構成を示す図である。本システムは、予め用意されている詳細設計書の雛形を用いて、ユーザによる詳細設計書の作成を支援する。それとともに、作成された詳細設計書に基づいて、ソースコードを自動生成し、ソースコードを含むソースファイルを生成する。
【0010】
本システムは、例えば汎用的なコンピュータシステムにより構成され、以下に説明する本システム内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【0011】
本システムは、図1に示すように、詳細設計書の雛形を記憶する記憶部11と、入力装置13と、表示装置14と、設計書雛形を利用して詳細設計書を生成する詳細設計書生成部15と、生成された詳細設計書を記憶する設計書記憶部19と、設計書に基づいてソースファイルを自動生成するための自動生成規則の記憶部21と、詳細設計書及び自動生成規則に基づいてソースコードを生成し、そのソースコードを含むソースファイルを出力するソースファイル生成部23と、生成されたソースファイルを記憶するソースファイル記憶部25とを備える。
【0012】
雛形記憶部11には、複数の詳細設計書の雛形が格納されている。各雛形には、一つ以上の入力項目が設けられている。そして、ユーザが各入力項目に対して、それぞれ所望の情報を入力することにより、詳細設計書が作成される。本実施形態では、雛形には、第1雛形111、第2雛形112、及び第3雛形113の3種類の雛形が用意されている。そして、この雛形の各種類には、それぞれ、複数の個別の雛形がある。
【0013】
図2は、各種類別の個別雛形を示す。
【0014】
例えば、第1雛形は、本システムによってスケルトンクラスの関数のソースファイルを自動生成するための雛形である。スケルトンクラスの関数とは、定型的なソースコードのみ(スケルトン)からなる関数である。従って、自動生成されたスケルトンクラスの関数のソースファイルのみで実行することはできず、マニュアルコーディングにより、ソースコードを追加する必要がある。
【0015】
第1雛形には、例えば同図に示すように、設計書の表紙のための「表紙」、スケルトンで定義されるメソッドの処理を記述するための「スケルトンメソッド初期記述」のための雛形が含まれる。
【0016】
第2雛形は、本システムによって部品クラスの関数のソースファイルを自動生成するための雛形である。部品クラスの関数とは、システムにおける部品に相当するような、比較的小規模かつ定型的な処理を行うための関数である。本システムで自動生成された部品クラスの関数のソースファイルは、そのまま実行することができる。
【0017】
第2雛形には、例えば同図に示すように、データの属性チェックなどのための「単体項目チェック呼出」、「属性関連チェック呼出」及び「項目関連チェック呼出」や、データベースとの連携のための項目定義と実行後結果のハンドリングを記述するための「SQL概要」などのための雛形が含まれる。
【0018】
第3雛形は、本システムによってデータオブジェクト(DO)クラスのデータオブジェクトのソースファイルを自動生成するための雛形である。本システムで自動生成されたDOクラスのデータオブジェクトのソースファイルは、そのまま実行することができる。
【0019】
第3雛形には、例えば同図に示すように、データオブジェクトを定義する「レコード編集要領」、及びデータオブジェクトからの出力電文を定義する「出力電文編集要領」のための雛形が含まれる。
【0020】
再び図1を参照すると、設計書生成部15は、上述のユーザの雛形に対する入力に基づいて、設計書を生成する。つまり、雛形を表示装置14に表示して、ユーザが入力装置13で雛形の入力項目にそれぞれ適当に入力した情報に基づいて詳細設計書を生成する。
【0021】
設計書記憶部19は、設計書生成部15で生成された詳細設計書を記憶する。
【0022】
自動生成規則記憶部21は、設計書記憶部19に記憶された詳細設計書に基づいてソースファイルを自動生成するための規則を記憶する。この生成規則は、設計書の個別の雛形ごとに予め定められている。
【0023】
本実施形態では、第1の雛形111に属する個別雛形に対しては、ソースコード雛形211が用意されている。第2及び第3の雛形112,113に属する個別の雛形に対しては、それぞれ、ソースコード生成規則212が用意されている。
【0024】
ソースコード雛形211は、スケルトンクラスの関数のソースファイルを生成するためのソースコードの雛形である。
【0025】
ソースコード生成規則212は、関数(最小単位の部品群)のソースファイル及びDOクラスのデータオブジェクトのソースファイルを生成するための生成規則である。ソースコード生成規則212は、各個別の雛形ごとに用意されている。そして、各個別雛形の入力項目別に、その入力項目に設定されている情報に基づいてどのようなソースコードに変換するかを示す規則が記述されている。
【0026】
ソースファイル生成部23は、設計書記憶部19に格納されている設計書と、自動生成規則記憶部21に格納されている生成規則に基づいて、ソースファイルを生成する。
【0027】
例えば、第1雛形111に基づく設計書の場合、その雛形に対応するソースコード雛形211を自動生成規則記憶部21から取得して、ソースファイルとして出力する。つまり、ソースファイル生成部23は、第1雛形111の入力項目に対して入力された情報を、所定の規則に従ってソースコード雛形221に当てはめることにより、スケルトンクラスソースファイルを生成する。
【0028】
また、第2雛形112及び第3雛形113に基づく設計書の場合、その個別の雛形に対応するソースコード生成規則212を自動生成規則記憶部21から取得する。そして、ソースコード生成規則212で予め定められている規則と、設計書に設定された情報とに基づいてソースコードを生成し、部品クラスまたはDOクラスの各ソースファイルを生成する。例えば、雛形の入力項目ごとに、その入力項目に設定された情報に応じて、異なるソースコードを生成するようになっている。
【0029】
ソースファイル記憶部25は、ソースファイル生成部23で生成されたソースコードファイルが格納される。
【0030】
つぎに、上述のような構成を備えるソースコード自動生成システムにおいて、プログラムを自動生成する処理を、具体例を用いて説明する。
【0031】
図3は、本システムを用いて設計及び製造するアプリケーションシステムの一例である。
【0032】
このアプリケーションシステムは、ユーザから株数310と指値320の入力を受け付けて、株式の現物株式買注文を発注する発注画面300を備える。そして、この発注画面300で、株数と指値の入力を受け付けて、発注ボタン330が押されると、この取引に係る合計金額を算出して、この合計金額を含む発注情報が発注DB80の発注テーブルに格納される。
【0033】
以下、本実施形態に係るシステムを用いて、このアプリケーションシステムの設計及びソースファイルの自動生成を行う場合について説明する。
【0034】
図4は、第1雛形111の「表紙」111Aを示す。
【0035】
「表紙」111Aは、入力項目として、プログラム名称と、プログラムIDと、内部メソッドと、外部メソッドとを有する。そして、このアプリケーションシステムの設計においては、各入力項目には、図4に示すような情報が入力される。
【0036】
図5は、第2雛形112の「単体項目チェック呼出」112Aを示す。
【0037】
「単体項目チェック呼出」112Aは、入力項目として、チェック処理名称と、アーギュメントと、単体項目チェッククラスメソッド名称とを有する。そして、このアプリケーションシステムの設計においては、図5に示すように、アーギュメントには、発注画面300の画面ID(M1001)が設定され、単体項目チェッククラスメソッド名称には、予め用意されている単体項目チェックを行う関数であるUnitCheckerが設定される。
【0038】
図6は、第3雛形113の「レコード編集要領」113Aを示す。
【0039】
「レコード編集要領」113Aは、データオブジェクト間でデータ転送を行うためのデータオブジェクトを設計するためのものである。「レコード編集要領」113Aは、入力項目として、転送元のDO名称及びDO構成項目名称と、転送先のDO名称及びDO構成項目名称とを有する。そして、このアプリケーションシステムの設計においては、図6に示すように、転送元は発注画面300のデータオブジェクトであり、転送先は発注テーブルのデータオブジェクトである。転送元のDO構成項目名称には、銘柄コード、株数、及び指値など、画面を構成する項目のうち、値を持つ項目が設定される。
【0040】
図7は、第2雛形112の「SQL概要」112Bを示す。
【0041】
「SQL概要」112Bは、入力項目として、SQL処理名称と、SQL文と、DO名称と、DO構成項目名称とを有する。そして、このアプリケーションシステムの設計においては、図7に示すように、DO名称及びDO構成項目名称には、データの挿入先である発注テーブルの項目が設定される。
【0042】
設計書の雛形に対して、図4から図7に示すような入力が行われると、設計書生成部15が詳細設計書を生成して、設計書記憶部19に格納する。
【0043】
次に、ソースファイル生成部23は、それぞれの雛形に対応する自動生成規則に基づいて、ソースファイルを生成する。
【0044】
図8は、自動生成されたアプリケーションシステムの構成を示す。
【0045】
つまり、ここでは、図4の「表紙」111Aに基づいて、スケルトンクラスソースファイルの「発注(現物株買)」261が生成される。図5の「単体項目チェック呼出」112A及び図7の「SQL概要」112Bに基づいて、部品クラスの「ユニットチェッククラスメソッド呼出」262と「DB登録」263とが生成される。図6の「レコード編集要領」113Aに基づいて、DOクラスソースファイルの「発注画面→発注テーブルDO」264が生成される。なお、ここで、画面入力される項目の単体チェックを行う関数であるUnitCheker271と、発注画面300のデータオブジェクト272と、発注テーブルのデータオブジェクト273は、予め用意されている。
【0046】
DOクラスの「発注画面データオブジェクト」272は、発注画面300から入力された株数及び指値の値を取得して、保持するデータストアであり、「発注テーブルデータオブジェクト」273は、発注テーブルに格納するためのデータを保持するデータストアである。
【0047】
ここで、スケルトンクラスの「発注(現物株買)」261においては、ユーザによるコーディングが必要である。つまり、ユーザは、入力装置13及び表示装置14を用いて、合計金額の算出のためのソースコード261aを「発注現物株(買)」261に対して追加する。
【0048】
上述のように自動生成されたソースファイルに、一部マニュアルコーディングによりソースコードを追加して完成したシステムは、以下のように動作する。
【0049】
すなわち、「発注(現物株買)」261が部品クラスの「ユニットチェッククラスメソッド呼出」262を呼び出すと、「ユニットチェッククラスメソッド呼出」262がさらにUnitCheker271を呼び出して、発注画面300の株数310及び指値320に入力された値の単体チェックを行う。
【0050】
次に、「発注(現物株買)」261が「発注画面データオブジェクト」272から、発注画面300から株数及び指値を取得して、合計金額の算出のためのソースコード261aが合計金額を算出する。そして、ここで算出された合計金額が、「発注テーブルデータオブジェクト」273に格納される。
【0051】
その後、「発注現物株(買)」261は、「DB登録」263に対してDBへの登録を指示すると、、「発注テーブルデータオブジェクト」273に保持されているデータを発注DB80の発注テーブルへ挿入する。
【0052】
これにより、本実施形態に係るシステムによれば、幅広いタイプのシステムを自動生成することができる。
【0053】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【0054】
【図1】本発明の一実施形態に係るプログラム自動生成システムの機能構成を示す図である。
【図2】各種類別の個別雛形を示す。
【図3】本システムを用いて設計及び製造するアプリケーションシステムの一例を示す。
【図4】第1雛形111の「表紙」111Aを示す。
【図5】第2雛形112の「単体項目チェック呼出」112Aを示す。
【図6】第3雛形113の「レコード編集要領」113Aを示す。
【図7】第2雛形112の「SQL概要」112Bを示す。
【図8】自動生成されたアプリケーションシステムの構成を示す。
【符号の説明】
【0055】
11 詳細設計書雛形記憶部
13 入力装置
14 表示装置
15 詳細設計書生成部
19 詳細設計書記憶部
21 自動生成規則記憶部
23 ソースファイル生成部
25 ソースファイル記憶部




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013