JP3522141B2 - 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体 - Google Patents

修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体

Info

Publication number
JP3522141B2
JP3522141B2 JP01986899A JP1986899A JP3522141B2 JP 3522141 B2 JP3522141 B2 JP 3522141B2 JP 01986899 A JP01986899 A JP 01986899A JP 1986899 A JP1986899 A JP 1986899A JP 3522141 B2 JP3522141 B2 JP 3522141B2
Authority
JP
Japan
Prior art keywords
program
design information
code
added
correction
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.)
Expired - Lifetime
Application number
JP01986899A
Other languages
English (en)
Other versions
JP2000222195A (ja
Inventor
博美 阿久田
正樹 泉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP01986899A priority Critical patent/JP3522141B2/ja
Priority to US09/477,340 priority patent/US6658645B1/en
Publication of JP2000222195A publication Critical patent/JP2000222195A/ja
Application granted granted Critical
Publication of JP3522141B2 publication Critical patent/JP3522141B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、修正プログラムを
継承したプログラムの自動生成方法、プログラムの自動
生成装置及び修正プログラムを継承したプログラムを自
動生成するプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】設計情報からプログラムコードを自動生
成する自動生成プログラムが実現されている。しかしな
がら、現状の自動生成プログラムでは、そのまま使用で
きるようなプログラムを生成することが難しいので、通
常、自動生成されたプログラムに修正を加えることが多
い。修正が加えられた後、設計情報が変更され、変更さ
れた設計情報からプログラムを自動生成すると、修正さ
れたコードが無視されたプログラムが自動生成されるの
で、再度同じ修正を自動生成されたプログラムに加える
作業が必要があった。
【0003】このような問題を解決するために、修正し
たコードをその後自動生成されるプログラムに自動的に
継承する機能を持った自動生成プログラムも考えられて
いる。
【0004】
【発明が解決しようとする課題】しかしながら、修正箇
所が次にプログラムが自動生成される際に保護されるよ
うにするためには、修正した箇所を自動生成プログラム
が認識できるようにプログラム中に記述しておく必要が
あり、プログラムの修正作業が面倒となるいう問題点が
あった。
【0005】本発明の課題は、プログラムの修正箇所を
記述しなくとも、プログラムの修正箇所を継承したプロ
グラムを自動生成できるようにすることである。
【0006】
【課題を解決するための手段】本発明の修正プログラム
を継承したプログラムの自動生成方法は、旧の設計情報
と最新の設計情報とを記憶し、旧の設計情報と最新の設
計情報とに基づいてプログラムの変更箇所を検索し、前
記旧の設計情報に基づいて自動生成されたプログラムに
修正が加えられた修正プログラムに前記検索された変更
箇所を追加または削除して前記修正プログラムの修正内
容を継承したプログラムを自動生成する。
【0007】上記の発明において、最新の設計情報に基
づいて新規のプログラムを自動生成し、旧の設計情報と
最新の設計情報との差分に基づいて、設計情報の変更に
より削除される第1のコードを前記修正プログラムから
検索し、旧の設計情報と最新の設計情報との差分に基づ
いて、設計情報の変更により追加される第2のコードを
前記新規のプログラムから検索し、前記修正プログラム
から前記第1のコードを削除すると共に、前記修正プロ
グラムに前記第2のコードを追加して前記修正プログラ
ムの修正内容を継承したプログラムを自動生成する。
【0008】請求項1及び2記載の発明によれば、自動
生成されたプログラムに対して修正を加えた修正プログ
ラムに設計情報の変更による変更箇所を追加または削除
することで、修正箇所を継承したプログラムを自動生成
することができる。
【0009】従って、修正箇所が分かるようにプログラ
ム中に記述する必要が無くなるのでプログラムの修正作
業を煩わしくせずに、修正箇所を継承したプログラムを
自動生成することができる。
【0010】また、設計情報の変更により追加または削
除されたコードの前後に追加、削除の区別を示すコメン
トが追加されるので、設計情報の変更によりプログラム
のどの部分が変更されたかを簡単に知ることができる。
【0011】さらに、修正箇所を継承したプログラムを
生成した場合、設計変更の内容や、プログラムの何行目
にどのようなコードが追加または削除されたかがログフ
ァイルとして出力されるので、何時、どのようなコード
の変更が行われたかを知ることができる。
【0012】
【発明の実施の形態】以下、本発明に係るプログラム自
動生成装置及び自動生成されたプログラムに修正の加え
られた修正プログラムの修正内容を継承したプログラム
の自動生成方法を図面を参照しながら説明する。
【0013】図1は、本発明の実施の形態のプログラム
自動生成装置のブロック図、図2はプログラムの生成過
程を示す図である。図1において、前回設計情報記憶部
11は、前回のプログラムの自動生成時に用いられた設
計情報を待避しておくための記憶部であり、プログラム
の自動生成が行われる毎にそのとき用いられた設計情報
が待避される。
【0014】最新設計情報記憶部12は、最新の設計情
報を記憶する記憶部であり、プログラムの自動生成を行
った後に設計情報が変更された場合には、変更後の最新
の設計情報が記憶される。
【0015】プログラム自動生成部13は、設計情報に
基づいてプログラムを自動生成する。自動生成された前
回のプログラム14に対して修正が加えられると、修正
済プログラム15は修正済プログラム記憶部16に記憶
される。
【0016】修正箇所継承部18は、設計情報の変更に
よりコードが追加された場合には、追加された箇所を自
動生成された新規のプログラム17から検索し、設計情
報の変更によりコードが削除された場合には、削除され
た箇所を修正済プログラム15から検索する。そして、
検索により得られた追加箇所を修正済プログラム15に
追加し、削除箇所を修正済プログラム15から削除す
る。
【0017】これにより、修正の加えられた修正済プロ
グラム15に対して、設計情報の変更によるコードの追
加または削除が行われるので、プログラムの修正箇所を
継承したプログラムを自動生成することができる。
【0018】なお、プログラム自動生成部13及び修正
箇所継承部18全体で設計情報からプログラムの修正箇
所を継承したプログラムを自動生成する機能をはたして
いる。
【0019】図2は、プログラムの生成過程の説明図で
ある。1回目の自動生成でプログラムが自動生成される
と、そのときの設計情報が待避される。そして、1回目
の自動生成で生成されたプログラムが実際の業務仕様に
基づいて修正される。
【0020】次に、設計情報が変更されると、変更され
た最新設計情報に基づいて新規のプログラムが自動生成
される。そして、待避してある1回目の設計情報と2回
目の最新設計情報との差分に基づいて、設計情報の変更
により削除されるコードと追加されるコードがプログラ
ムから検索され、業務仕様に基づいて修正された修正済
プログラムにそれらのコードが追加または削除され、修
正済プログラムの修正箇所を継承したプログラムが生成
される。
【0021】次に、以上のような構成のプログラム自動
生成装置において、設計情報に基づいて修正プログラム
を継承したプログラムを自動生成するとき(これをモッ
クアップと呼ぶ)の処理内容を図3及び図4のフローチ
ャートを参照して説明する。
【0022】変更後の現在の設計情報(現在のCASE
データ)と、前回のモックアップ時に待避しておいた設
計情報(MFH300AD.MDB)を照合し、変更点
を抽出し、変更点を示す情報を修正情報リストボックス
に格納する(図3,S11)。修正情報リストボックス
には、再モックアップ支援時、つまりプログラムの自動
生成時に全レコードを削除してから変更点が格納され
る。
【0023】修正情報リストボックスには、例えば、設
計情報の項目であるフォーム、グループ、アクション等
の変更により更新、追加または削除される後述するフォ
ームID、グループID、アクションID等が格納され
る。
【0024】前回自動生成されたプログラムが業務仕様
に基づいて修正されると、修正されたプログラムは修正
済業務BAS(修正済業務プログラム)として記憶され
る。また、現在のCASEデータから生成されたプログ
ラムは新規業務BAS(新規業務プログラム)として記
憶される。
【0025】次に、修正済業務BASと新規業務BAS
をバイナリファイルとしてオープンし、文字コードであ
るユニコードに変換する(S12)。さらに、プログラ
ム中の改行コードを検索して、何バイト目が何行目かを
判定できるような行配列31に展開する(S13)。こ
の行配列31は、図3に示すように1行目から順にそれ
ぞれの行のスタートバイト数とエンドバイト数が記憶さ
れており、あるコードがプログラムの先頭から何バイト
目かが分かれば、行配列31から行番号を求めることが
できる。
【0026】次に、修正情報リストボックスに上書情報
が格納されているか否かを判別する(S14)。修正情
報リストボックスに上書情報が格納されている場合には
(S14,YES)、修正情報リストボックスの上書箇
所を示す情報から上書箇所が修正済業務BASのどの部
分にあたるか検索し、該当するコードを現在の設計情報
の内容で上書更新する。さらに、上書更新により修正済
業務BASの該当する行のバイト数が変化した場合に
は、行配列31のバイト数を修正して行配列31を再展
開する(S15)。
【0027】修正情報リストボックスの1つの上書情報
に関する修正済業務BASの上書が終了したなら、ステ
ップS14に戻り上述した処理を繰り返す。他方、修正
情報リストボックスに上書情報が存在しない場合、ある
いは修正情報リストボックスの上書情報の更新を全て終
了して未処理の上書情報が存在しなくなった場合には
(S14,NO)、ステップS16に進み修正情報リス
トボックスに削除・追加情報が格納されているか否かを
判別する。
【0028】修正情報リストボックスに削除・追加情報
がある場合には(S16,YES)、修正情報リストボ
ックスの修正情報と修正ポイントから削除箇所が修正済
業務BASのどの部分にあたるかを検索し、該当する行
番号を行配列31から取得する。また、修正情報リスト
ボックスの追加情報から追加箇所が新規業務BASのど
の部分にあたるかを検索し、修正済行業務BASの該当
する行番号を行配列31から取得する。
【0029】修正ポイントとは、設計変更の項目により
どのプロシージャが追加、削除、修正されるか示すので
あり、例えば、後述するVisualBasicで記述
された”ワーク項目のテスト”プログラムにおいて、フ
ォームの追加、削除が行われた場合には、ファイルオー
プン処理、フォーム振り分け処理等が変更されること
が、グループの追加が行われた場合には、ファイルオー
プン処理、フォーム振り分け処理、ボタン処理振り分け
等が変更されることが定められている。
【0030】また、追加の場合の修正済業務BASの行
番号は、例えば、設計情報の変更により新規業務BAS
に追加されたプロシージャと同じ名前のプロシージャが
修正済業務BASに存在するか否かを検索し、同じ名前
のプロシージャが存在しない場合には、新規業務BAS
の追加されたプロシージャの先頭行の1つ前の行のコー
ドと一致するコードを修正済業務BASから検索する。
一致するコードが修正済業務BASに存在したなら、そ
の行の次の行がプログラムの先頭から何バイト目かを求
め、そのバイト数と修正済業務BASの行配列31のス
タートバイト、エンドバイトから行番号を取得する。な
お、取得された行番号の直前に追加箇所が追加されるも
のとする。
【0031】次に、処理リストボックス32に修正済業
務BASの追加・削除する行の行番号、追加または削除
の区分、追加または削除する複数行の連番を示すSor
tキー、追加行または削除行の内容を書き込む(S1
8)。変更内容が追加の場合には、処理リストボックス
32の行の欄に追加する行番号を、区分の欄に追加であ
ることを示す”A”を、追加行が既に存在する場合に
は、Sortキーの欄にSortキーの最大値に”1”
を加えた値を、修正内容の欄に追加するコード、コメン
ト等を書き込む。また、修正内容が削除の場合には、同
様に処理リストボックス32に削除行の行番号、修正区
分が削除であることを示す”D”、Sortキー、削除
行の内容を書き込む。
【0032】なお、処理リストボックス32はデータが
自動的に昇順、つまり行番号順に並べ替えられるので、
行の追加、削除を行う場合にデータを並べ変える必要が
無く、テーブルを用いる場合より、必要なデータを速く
取得することができる。
【0033】修正情報リストボックスの1つの修正情報
に基づく修正箇所を処理リストボックス32に追加した
なら、ステップS16に戻り上述した処理を繰り返す。
修正情報ボックス32に未処理の修正情報が存在しなく
なったなら、図4のステップS19に進み以下の処理を
実行する。
【0034】処理リストボックス32のデータを昇順に
読み込み、処理リストボックス32の追加されるコード
の中に業務プロシージャ呼び出しコードがあるか否かを
判別し、業務プロシージャ呼び出しコードがあれば、そ
の呼び出しコードを追加プロシージャリストボックスに
追加する。また、処理リストボックス32の削除される
コードの中に業務プロシージャ呼び出しコードがあれ
ば、削除プロシージャリストボックスにその呼び出しコ
ードを追加する。
【0035】次に、削除プロシージャリストボックス
に、他から呼び出されない業務プロシージャを呼び出す
コードが存在するか否かを判別する(S20)。該当す
るコードが存在する場合には、その業務プロシージャを
修正済業務BASから検索し、該当する業務プロシージ
ャの修正済業務BASにおける行番号を行配列31から
検索し、取得した行番号を削除行の行番号として処理リ
ストボックス32に設定し、ステップS20に戻る(S
21)。
【0036】すなわち、削除プロシージャリストボック
スに登録されている業務プロシージャが、削除しようと
する呼び出しコードのみから呼び出され、修正済業務B
ASの他の部分から呼び出されない場合には、その業務
プロシージャを削除しても修正済業務BASの動作に影
響しないので、修正済業務BAS上の行番号を削除行と
して処理リストボックス32に設定する。
【0037】ステップS20の判別において、削除プロ
シージャボックスに、他から呼び出されない業務プロシ
ージャを呼び出すコードが存在しない場合(S20,N
O)、つまり修正済業務BASの他の部分から呼び出さ
れない全ての業務プロシージャのコード、行番号等を処
理リストボックス32に削除行として設定した場合、あ
るいは削除プロシージャボックスに削除すべきプロシー
ジャが存在しない場合には、ステップS22に進み追加
プロシージャボックスに、修正済業務BASに存在しな
い業務プロシージャを呼び出すコードが登録されている
か否かを判別する。
【0038】修正済業務BASに存在しない業務プロシ
ージャを呼び出すコードが追加プロシージャリストボッ
クスに登録されている場合には(S22,YES)、該
当する業務プロシージャを新規業務BASから検索し、
さらにその業務プロシージャの修正済業務BAS上にお
ける追加位置を示す行番号を行配列31から取得し、取
得した行番号とコードを処理リストボックス32に追加
行として追加する(S23)。
【0039】すなわち、修正済業務BASに存在しない
業務プロシージャを呼び出すコードが追加プロシージャ
ボックスに登録されている場合には、設計情報の変更に
より業務プロシージャが追加された場合であるので、そ
の業務プロシージャを新規業務BASから検索し、さら
にその業務プロシージャを追加する修正済業務BAS上
の行番号を行配列31から取得し、取得した行番号を処
理リストボックス32に設定する。さらに、追加する業
務プロシージャのコードを新規業務BASから取得し、
そのコードを追加内容として処理リストボックス32に
設定する。これにより、設計情報の変更により追加され
る業務プロシージャのコードとその行番号が処理リスト
ボックス32に設定される。
【0040】ステップS22の判別で、追加プロシージ
ャボックスに、修正済業務BASに存在しない業務プロ
シージャを呼び出すコードが無い場合(S22,N
O)、つまり追加プロシージャリストボックスに設定さ
れていて、修正済業務BASに存在しない全ての業務プ
ロシージャの行番号、コードを既に処理リストボックス
32に追加した場合、あるいは追加プロシージャリスト
ボックスに追加する業務プロシージャが登録されていな
い場合には、ステップS24に進み以下の処理を実行す
る。
【0041】処理リストボックス32を昇順に読み込
み、処理リストボックス32の全てのコードについて修
正業務BASへの追加またはコメント化(コードの無効
化)を行う。
【0042】例えば、行を追加する場合で、区分が他の
区分から「追加」に変化したときには(ブレイクしたと
き)、修正済業務BASの追加箇所の先頭に追加行の最
初であることを示す開始コメントを追加し、次に処理リ
ストボックス32のコードを追加し、区分が変化する
か、行番号が連続しなくなったとき(ブレイクしたと
き)、追加箇所の終了を示す終了コメントを追加する。
また、行を削除する場合で、区分が他の区分から「削
除」に変化したとき、修正済業務BASの削除箇所の開
始位置に開始コメント、終了位置に終了コメントを追加
し、削除する行のコードを無効化する。なお、追加また
は削除する行の中に業務プロシージャ呼び出しコードが
あればその業務プロシージャを追加または削除プロシー
ジャリストボックスに追加し、上述した削除プロシージ
ャリストボックス、追加プロシージャリストボックスに
関する処理を実行し、処理リストボックス32にそれら
のプロシージャのコードを設定する。
【0043】上述した全ての処理が正常終了したか否か
を判別し(S25)、正常終了したなら、業務仕様に基
づいて修正された修正済業務BASの修正箇所を継承
し、かつ設計情報の変更に基づいて生成したプログラム
(再モックアップ業務BAS)の追加行、削除行の行番
号、変更内容、生成日時等からなる実行ログを作成する
(S26)。また、再モックアップ業務BASを記憶部
に格納する(S27)。さらに、最新の設計情報(CA
SEデータ)を、次回のプログラムの自動生成のために
MFH300AD.MDBに待避させる(S28)。
【0044】次に、以上のようなプログラムの自動生成
装置において、Visual Basicで記述された
プログラム”ワーク項目のテスト”の修正内容を継承
し、変更された設計情報からプログラムを自動生成する
場合について説明する。以下の例は、”AATEST0
6”のフォームにグループID”4”が追加され、その
グループのアクションとして、F11キーに取消キー
(ESC)、F12キーに入力完了キー(ENT)が割
り当てられ、項目”講習会名”が削除された場合であ
る。
【0045】図5は、旧の設計情報として待避されてい
る”旧CASE_DATA.MDB”のテーブルとその
内容を示し、図6〜図11は、旧の設計情報のテーブル
の内容を示し、図12〜図18は最新の設計情報のテー
ブルの内容を示す図である。
【0046】図5に示すように旧の設計情報は、PRO
JECTテーブル(T_PROJECT)と、グループ
IDマスタテーブル(T_グループIDマスタ)と、ア
クションテーブル(T_アクション)と、フォーム一覧
テーブル(T_フォーム一覧)と、フォームインデック
ステーブル(T_フォームインデックス)と、プログラ
ム一覧テーブル(T_プログラム一覧)と、入出力情報
定義テーブル(T_入出力情報定義)と、グループアク
ション一覧テーブル(T_グループアクション一覧)
と、アクション定義テーブル(T_アクション定義)と
から構成されている。最新の設計情報も同様なテーブル
から構成されている。
【0047】グループIDマスタテーブルには、グルー
プIDとグループコンスタント(グループ名)とが格納
されており、このテーブルからグループIDに対応する
グループ名を知ることができる。
【0048】図6の旧の設計情報のフォームインデック
ステーブル61には、プログラムIDとフォームインデ
ックスとが格納されている。このフォームインデックス
テーブル61から、例えば、プログラムID”AATE
STVE”には、”AATEST06”というフォーム
が1つ設定されていて、それがスタートアップフォーム
であることが分かる。
【0049】図7の旧の設計情報のフォーム一覧テーブ
ル71には、プログラムIDとフォームIDとフォーム
インデックス(通番)が格納されている。このフォーム
一覧テーブル71から、フォームID”AATEST0
6”のフォームのフォームインデックスは”85”であ
ることが分かる。
【0050】旧の設計情報のアクションテーブル81に
は、図8に示すようにプログラムIDとフォームインデ
ックスとグループIDとが格納されている。このアクシ
ョンテーブル81から、例えばプログラムID”AAT
ESTVE”のフォームインデックス”85”のフォー
ムにはグループID”1”と”5”が設定されているこ
とが分かる。
【0051】図9の旧の設計情報のグループアクション
一覧テーブル91には、プログラムIDとフォームイン
デックスとグループIDとアクションIDとアクション
種別とアクション情報1,2が格納されている。このグ
ループアクション一覧テーブル91から、フォームイン
デックス”85”のグループID”1”のグループに
は、アクションID”ENT”、”FIN”が設定さ
れ、グループID”5”のグループには、アクションI
D”ESC”、”NXT”、”BFR”、”ENT”が
設定されていることが分かる。
【0052】図10の旧の設計情報の入出力情報定義テ
ーブル101には、プログラムID、フォームID、S
ORT番号、項目ID、レベル、項目名称、グループI
D等が格納されている。この入出力情報定義テーブル1
00から、フォームID”AATEST06”のフォー
ムには、”お客様コード”から”エンター05”までの
9個の項目が設定されていることが分かる。
【0053】図11の旧の設計情報のアクション定義テ
ーブル111は、どのキーにどのアクションが定義され
ているかを示すものである。グループID”1”のグル
ープにはヘッド部のキーのアクションとして”FIN”
(終了)、”ENT”(入力完了)が定義されており、
グループID”5”のグループにはボディ部のキーのア
クションとして”BFR”(前頁)、”NXT”(次
頁)、”ESC”(取消)、”ENT”(入力完了)が
定義されている。
【0054】次に、最新の設計情報のテーブルの内容を
図12〜図18に示す。図12の最新の設計情報のフォ
ームインデックステーブル121は、図6のフォームイ
ンデックステーブル61と同様な構成を有している。こ
の例では、プログラムID”AATESTVE”のフォ
ームは、”AATEST06”のみでフォームの増減は
ないことが分かる。
【0055】図13の最新の設計情報のフォーム一覧テ
ーブル131も基本的には図7のフォーム一覧テーブル
71と同様な構成を有している。図7ではプログラムI
Dが示されているのに対して、図13ではプログラムI
Dが省略され、フォーム名称が追加されているが、これ
らの図面はテーブルの一部を示したものである。この例
では、フォームの増減はないので、フォームインデック
スも”85”のままで変更されていない。
【0056】図14の最新の設計情報のアクションテー
ブル141には、フォームインデックスとグループID
が格納されている。この例では、フォームID”AAT
EST06”にグループID”4”が追加されているの
で、最新設計情報のアクションテーブル141のフォー
ムインデックス”85”に対してグループID”4”が
追加されている。
【0057】なお、旧の設計情報と最新の設計情報の各
テーブルの情報に基づいて後述する修正情報リストボッ
クスに修正情報が設定される。例えば、特定のフォーム
に対してグループの追加が行われた場合には、グループ
の修正情報リストボックス(L_Z_グループ)にグル
ープに関する修正情報が設定される。
【0058】この例では、図8と図14のアクションテ
ーブル81,141からフォームID”AATEST0
6”にグループID”4”が追加されていることが分か
るので、図15に示すようにグループの修正情報リスト
ボックスには、グループの追加、または削除の区別を示
す情報として”ADD”が、グループのフォームIDと
して”AATEST06”が、追加するグループIDと
して”4”が設定される。
【0059】次に、図16は、最新の設計情報のグルー
プアクション一覧テーブル161を示す図であり、図1
7は、最新の設計情報のアクション定義テーブル171
の内容を示す図である。
【0060】この例では、グループID”4”のグルー
プのF11、F12キーのアクションIDとして”ES
C(取消)”と”ENT(入力完了)”が設定されてい
る。なお、図16のグループアクション一覧テーブル1
61において、グループを追加した場合には、グループ
の追加に伴ってアクションも追加されるのでアクション
の増減のチェックは行わず、既存のグループID”
1”、”5”のグループについてだけアクションIDが
増えているか、それとも減っているかをチェックする。
この場合、グループID”1”、”5”のグループにつ
いてはアクションIDは変更されていないので、後述す
るアクションの修正情報リスト(L_Z_アクション)
にはアクションに関する修正情報は何も設定されないこ
とになる。
【0061】図18は、最新の設計情報の入出力情報定
義テーブル181の一部を示したものである。この例で
は、図10と図18の2つの入出力情報定義テーブル1
01,181から、グループID”4”の項目として”
エンター04ポイント”が追加され、項目ID”COS
NM”の”講習会名”が削除されたことが分かるので、
後述する項目の修正情報リストボックスには、図19に
示すような内容が設定される。
【0062】この場合、旧の設計情報の入出力情報定義
テーブル101には、グループID”5”のグループに
項目として”講習会名”が設定されていたが、最新の設
計情報の入出力情報定義テーブル181では”講習会
名”が削除されているので、後述する項目の処理情報リ
ストボックスには、図19に示すように、追加、削除の
区分として”DLT”が、項目が削除されたフォームI
Dとして”AATEST06”が、項目が削除されたグ
ループIDとして”5”が、削除された項目IDとし
て”COSNM”が、削除された項目のレベルとして”
M”が設定される。レベル”M”は、明細トランザクシ
ョンファイルが追加されるか否か示している。
【0063】図20及び図21は、上述した旧の設計情
報の入出力情報定義テーブル101と最新の設計情報の
入出力情報定義テーブル181の内容を示す図である。
入出力情報定義テーブル101,181には、項目名
と、項目がテキスト型か、コマンドボタン等かを示すタ
イプと、項目の内容が日付/時刻か、日本語か、数字か
などを示す属性と、桁数等が設定される。
【0064】図20と図21の2つの入出力情報定義テ
ーブル101、181を比較すると、図21はグループ
ID4の項目”エンター04ポイント”が追加され、グ
ループID5の”講習会名”が削除されていることが分
かる。
【0065】次に、以上のようなテーブルから作成され
る修正情報リストボックスの構成を説明する。図22
は、上書の修正情報リストボックス(L_Z_RW)2
21の上書情報を示す図である。システム名(SYSN
AME)、プログラム名、グループコンテスト(グルー
プ名)等が変更され場合には、変更前の名前と変更後の
名前が上書の修正情報リストボックス221に格納され
る。そして、再モックアップ時には、この上書情報に基
づいてシステム名、プログラム名等が上書される。
【0066】次に、図23(A)はフォームの修正情報
リストボックス231、図23(B)はグループの修正
情報リストボックス232、図23(C)はアクション
の修正情報リストボックス233、図24は項目の修正
情報リストボックス241をそれぞれ示す図である。
【0067】図23(A)のフォームの修正情報リスト
ボックス(L_Z_フォーム)2311には、修正内容
が追加(ADD)が、削除(DLT)か、更新(UP
D)の何れの区分であるかを示す情報と、追加または削
除された新たなフォームIDと、更新の場合には、新た
なフォームIDと旧のフォームIDと新たなグループI
Dと旧のグループIDとが格納される。そして、上述し
た旧の設計情報のテーブルと最新の設計情報のテーブ
ル、つまり旧の設計情報と最新の設計情報の差分から設
計情報の変更内容が追加、削除、更新の何れであるかが
判断され、変更内容を示す区分が設定される。さらに、
追加または削除するフォームIDが新フォームIDとし
て設定される。また、更新の場合には、更新するフォー
ムID、旧フォームID、新グループID、旧グループ
IDが設定される。 図23(B)のグループの修正情
報リストボックス(L_Z_グループ)232には、同
様に追加または削除の区分を示す情報と、追加または削
除されたグループの属するフォームIDと、追加または
削除されたグループIDと、明細トランザクションファ
イルが加わったか、加わらなかったか、あるいは明細ト
ランザクションファイルが減ったか、減らなかったかを
示す情報が設定される。この明細トランザクションに関
する情報は、グループの追加または削除により明細トラ
ンザクションファイルが増減する場合には、明細トラン
ザクションファイルの増減を示す情報として”M”が、
グループの追加または削除により明細トランザクション
ファイルの増減が無い場合には、その情報として””が
設定される。
【0068】旧の設計情報と最新の設計情報とからフォ
ームの増減に無関係にグループの追加または削除が行わ
れているか否かが判断され、フォームの増減と無関係に
追加または削除されたグループに関する情報のみグルー
プの修正情報リストボックス232に設定される。
【0069】図23(C)のアクションの修正情報リス
トボックス233には、同様に追加または削除の区分を
示す情報と、追加または削除されたアクションの属する
フォームID及びグループIDと、追加または削除され
たアクションIDとが設定される。旧の設計情報と最新
の設計情報とから、フォームやグループの追加または削
除と無関係にアクションの増減やアクション情報の変更
が行われているか否かが判断され、フォームやグループ
と無関係に追加または削除されたアクションに関する情
報のみアクションの修正情報リストボックス233に設
定される。
【0070】図24の項目の修正情報リストボックス
(L_Z_項目)241には、追加または削除の区分を
示す情報と、追加または削除された項目IDと、その項
目の属するフォームID及びグループIDと、レベルと
が設定される。そして、旧の設計情報と最新の設計情報
とからフォームやグループの追加または削除と無関係に
項目の追加または削除が行われているか否かが判断さ
れ、フォームやグループと無関係に追加または削除が行
われた項目に関する情報のみ項目の修正情報リストボッ
クス241に設定される。なお、フォームID、グルー
プID、項目ID、レベル、タイプ、属性の全てが一致
しない場合は項目の追加または削除を行ったものと判断
される。
【0071】次に、”ワーク項目のテスト”プログラム
を例にとり、自動生成されたプログラムを業務仕様に基
づいて修正したプログラムの修正箇所を継承したプログ
ラムを自動生成する場合について説明する。以下の説明
では、自動生成されたプログラムを業務仕様に基づいて
修正したプログラム(修正済業務BAS)と、最新の設
計情報に基づいて自動生成されたプログラム(新規業務
BASと)、プログラムの修正内容を継承して自動生成
されたプログラム(再モックアップ業務BAS)の3つ
のプログラムの関連する部分を用いて、設計情報の変更
により削除または追加されるコードをどのように検索し
て修正箇所を継承したプログラムを自動生成するかにつ
いて説明する。
【0072】先ず、上述した修正情報リストボックスの
修正情報に基づいて、最新の設計情報により追加、削除
されたコードを検索する方法について説明する。図25
は、フォーム、グループ、アクションまたは項目が設計
変更されたときの文字列の検索方法の説明図である。
【0073】フォームが変更された場合には、フォーム
の修正情報リストボックス231に設定されている設計
変更対象のフォームのフォームIDを含む文字列”Ca
se{フォームナンバー}”をプログラムから検索し、
そのフォームナンバーを含む文字列が検出されたなら、
検出された行と”Case”の中の全てのコードを変更
されたコードとして抽出する。
【0074】また、設計変更対象のフォームのファイル
番号を含む文字列”DFNUM{ファイル番号}”を検
索し、そのファイル番号を含む行が検出されたなら、そ
の行とその行に続く3行を変更された行として抽出す
る。さらに、文字列”Close#DFNUM{ファイ
ル番号}を検索し、該当する行を変更されたコードとし
て抽出する。
【0075】グループが変更された場合には、グループ
の修正情報リストボックス232に設定されている設計
変更対象のグループのグループIDに対応するグループ
名を含む文字列”Case F_{グループ名}”をプ
ログラムから検索し、そのグループ名を含む文字列が検
出されたなら、検出された行と”Case”の中の全て
のコードを変更されたコードとして抽出する(図25の
の条件)。
【0076】また、設計変更対象のグループのファイル
番号を含む文字列”DFNUM{ファイル番号}”を検
索し、そのファイル番号を含む行が検出されたなら、そ
の行とその行に続く3行を変更されたコードとして抽出
する(図25のの条件)。さらに、文字列”Clos
e#DFNUM{ファイル番号}”を検索し、該当する
行を変更されたコードとして抽出する(図25のの条
件)。
【0077】アクションが変更された場合には、アクシ
ョンの修正情報リストボックス233に設定されている
設計変更対象のアクションIDに対応するアクション名
を含む文字列”Case A_{アクション名}”をプ
ログラムから検索し、そのアクション名を含む文字列が
検出されたなら、検出された行とその”Case”文の
中の全てのコードを変更されたコードとして抽出する。
【0078】項目が変更された場合には、項目の修正情
報リストボックス241に設定される設計変更対象の項
目の項目IDとその項目の属するフォームIDを含む文
字列”{フォームID}_{トラン種別}.{項目I
D}”を検索し、その項目IDを含む文字列が検出され
たなら、その行を変更されたコードとして抽出する(図
25のの条件)。また、文字列”{明細種別}{フォ
ームID}{項目ID}”を検索し、該当する行を変更
された行として抽出する(図25のの条件)。なお、
項目は全てのプロシージャが対象となる。
【0079】次に、”ワーク項目のテスト”プログラム
において、設計情報の変更によりフォームID”AAT
EST06”のフォームにグループID”4”を追加
し、項目”講習会名”を削除する場合の追加、削除箇所
の検索について説明する。
【0080】設計変更が項目の削除の場合には、図25
の項目に関する検索文字列の条件、に従って、修正
済業務BASから該当する文字列が検索される。図26
〜図28は修正済業務BASのプログラムの一部を示す
図である。この例では、設計情報の変更により項目が削
除されるので、項目の修正情報リストボックス241に
は、旧の設計情報と最新設計情報のテーブルのデータの
差分から、図19に示すように区分が削除であること、
削除される項目のフォームIDが”AATEST06”
であること、削除される項目IDが”COSNM”であ
ることが設定されている。従って、それらの情報から検
索文字列として図25のの条件から、”AATEST
06{フォームID}_M{トラン種別}.COSNM
{項目ID}”が定義され、図25のの条件から、”
M{明細種別}06{フォームナンバー}COSNM
{項目ID}”が定義される。そして、それらの文字列
が修正済業務BASから検索される。なお、フォームナ
ンバーはフォームIDの下2桁で表される。
【0081】その結果、、図26に示すように修正済業
務BASの”291行目”と”302行目”に検索文字
列”AATEST06 M COSNM”が含まれてい
ることが検出される。これは図25のの条件に該当す
るので、それらの行が修正済業務BASの削除箇所とし
て抽出される。
【0082】同様に図27の”486行目”、”487
行目”が、図25の検索文字列のの条件に該当するの
で、それらの行が修正済業務BASの削除箇所として抽
出される。
【0083】さらに、図28の”557行目”と”56
4行目”に検索文字列”M06COSNM”が含まれて
いることが検出され、これは図25のの条件に該当す
るので、それらの行が修正済業務BASの削除箇所とし
て抽出される。
【0084】次に、設計変更がグループの追加の場合に
は、図25の検索文字列の規則に従って、新規業務BA
Sから該当する文字列が検索される。図29〜図32
は、新規業務BASのプログラムの一部を示す図であ
る。この例では、設計情報の変更によりグループID”
4”が追加されているので、グループの修正情報リスト
ボックス232には、図15に示すように区分が追加で
あること、追加するグループのフォームIDが”AAT
EST06”であること、グループIDが”04”であ
ることが設定されている。従って、それらの情報から検
索文字列として図25のの”Case F_BODY
_CARD{グループ名}”と、図25のの”DFN
UM{ファイル番号}”と、の”Close#FUN
UM{ファイル番号}”が定義される。そして、それら
の文字列が新規業務BASから検索される。なお、グル
ープ名は、グループIDを元にグループIDマスタテー
ブルから取得される。
【0085】先ず、図29で新規業務BASの作成日時
が追加される。次に、41行目から55行目のファイル
オープン処理には、”DFNUM{ファイル番号}”で
追加されたコードは存在しないので図25のに該当す
るコードは存在しない。
【0086】次に、図29のプログラムの68行目に検
索文字列”Case F_BODY_CARD”が検出
されると、これは図25のに該当するので、”Cas
e”文の全てのコード、つまり68行目と69行目が追
加コードとして抽出される。そして、それらの追加コー
ドが処理リストボックス32に設定される。この”Ca
se”文の中で、修正済業務BASに存在しないプロシ
ージャ”G1106_GRP4”を呼び出しているの
で、図30の101行目から124行目までに記述され
ているプロシージャ”G1106_GRP4”を、図3
3(B)に示す追加プロシージャリストボックス331
に登録する。
【0087】また、そのプロシージャ”G1106_G
RP4”の中で呼び出されるプロシージャ”G4006
_GRP4_CHK”(図31の245行目から261
行目のコード)も追加プロシージャリストボックス33
1に登録される。
【0088】さらに、プロシージャ”G1106_GR
P4”の中で呼び出されるプロシージャ””G5306
_BODY_M_CREATE”とプロシージャ”G9
106_DSPDATA_BODY_M”を追加プロシ
ージャリストボックス331に登録する。なお、これら
2つのプロシージャは、修正済業務BASに存在してい
るので、最終的にはこれらのプロシージャのコードは処
理リストボックス32には設定されず、プロシージャの
追加は行われない。
【0089】さらに、図31のプロシージャ”G400
6_GRP4_CHK”の中で呼び出されるプロシージ
ャ”G4006_GRP4_CHK1”(図31の26
2行目から266行目のコード)も追加プロシージャリ
ストボックス331に登録される。
【0090】図32の553行目から561行目のファ
イルCLOSE処理には、図35のの検索文字列”C
lose#・・・”は存在しないので、追加されたコー
ドは無いことになる。
【0091】この結果、追加プロシージャリストボック
ス331には、図33(B)に示すようにプロシージ
ャ”G1106_GRP”、”G4006_GRP4_
CHK”、”G5306_BODY_M_CREAT
E”、”G9106_DSPDATA_BODY_
M”、”G4006_GRP4_CHK1”が登録され
る。
【0092】なお、この例では、修正済業務BASから
検出された削除コードの中でプロシージャは呼び出され
ていないので、図33(A)の削除プロシージャリスト
ボックス332には削除プロシージャは何も登録されな
い。
【0093】以上のようにして、新規業務BASから検
索した追加すべきプロシージャが追加プロシージャリス
トボックス331に登録されたなら、次に、追加プロシ
ージャリストボックス331に登録されているプロシー
ジャを修正済業務BASから検索する。そして、修正済
業務BASにそのプロシージャが存在しない場合には、
処理リストボックス32にそのプロシージャのコードを
設定し、そのプロシージャを追加する修正済業務BAS
上の行番号を行配列31から取得する。行番号の取得の
方法としては、例えば、追加するプロシージャの1つ前
の行のコードと一致するコードを修正済業務BASから
検索し、コードが一致する行が存在したなら、その行の
次の行の行番号を修正済業務BASの行配列31から取
得する。そして、追加するプロシージャの行番号を取得
したなら処理リストボックス32に設定する。
【0094】なお、追加プロシージャリストボックス3
31に登録されているプロシージャが修正済業務BAS
に存在する場合には、そのプロシージャは追加する必要
がないので、処理リストボックス32にはそのプロシー
ジャのコードは設定されない。
【0095】追加プロシージャリストボックス331に
登録されている全てのプロシージャについて修正済業務
BASへの追加の要、不要が判断されると、処理リスト
ボックス32には、修正済業務BASから検出した削除
するコードとその行番号と、新規業務BASから検出し
た修正済業務BASに追加するコードと、そのコードの
修正済業務BAS上の行番号が設定される。
【0096】図34〜図39は、修正済業務BASに対
して設計情報の変更に基づく変更を施して自動生成され
た再モックアップ業務BASを示す図である。再モック
アップを行うと、図34の12行目から14行目に示す
ように再モックアップの日時が追加される。
【0097】次に、この例では、グループID”4”が
追加されているので、処理リストボックス32の追加コ
ードから”Case F_BODY_CARD”、”C
all G1106_GRP4”が追加され、コードが
追加されたことが分かるように、コメント行として先頭
行に”ADD START”、最終行に”ADD EN
D”が追加される(図34の69行目から72行目)。
【0098】次に、処理リストボックス32の追加情報
に基づいてプロシージャ”G1106_GRP4”のコ
ードが追加され、コードが追加されたことが分かるよう
に先頭行に”ADD START”、最終行に”ADD
END”が追加される(図35の104行目から12
9行目)。
【0099】次に、処理リストボックス32の追加情報
からプロシージャ”G4006_GRP4_CH
K”、”G4006_GRP4_CHK1”のコードが
追加される(図36の253行目から図37の276行
目)。
【0100】次に、項目”講習会名”が削除されている
ので、処理リストボックス32の削除情報に基づいて”
AATEST06_M.COSNM・・・”が削除さ
れ、設計情報の変更によりコードが削除されたことが分
かるように先頭行に”DLTSTART”、最終行に”
DLT END”が追加される(図37の348行目〜
350行目、361行目〜363行目)。
【0101】同様に、処理リストボックス32の削除情
報に基づいて、図38の”講習会名”に関連するコード
が削除される(図38の547行目から550行目)。
以上のようにして業務仕様に基づいて修正された修正済
業務BASの修正内容を継承したプログラム(再モック
アップ業務BAS)を自動生成することができる。
【0102】この実施の形態によれば、業務仕様に基づ
いて修正したプログラムの修正箇所を識別できるように
コメントを追加しなくとも、修正箇所を継承し、かつ変
更された設計情報に基づいてプログラムを自動生成する
ことができる。また、旧の設計情報と最新の設計情報の
差分から、業務仕様に基づいて修正されたプログラムに
対する追加箇所、削除箇所が分かるので、プログラムを
自動生成する際に、追加または削除された部分が分かる
ように自動的にコメント行を挿入することができ、プロ
グラムの修正箇所が分かり易くなる。
【0103】また、従来の方法で修正プログラムの修正
箇所を継承しようとすると、設計情報からプログラムを
自動生成するプログラムと、プログラムの修正箇所を抽
出し、プログラムの自動生成時にその修正箇所を保護す
るプログラムの2つが必要となり、自動生成プログラム
の仕様変更が発生すると、それらのプログラムを全て変
更しなければならない。これに対して、本発明は、自動
生成プログラムの仕様が変更された場合でも、自動生成
するプログラムを変更するだけでよいのでプログラムの
変更に容易に対処できる。
【0104】次に、図39は、再モックアップ時のログ
を示す図である。変更された設計情報に基づいて再モッ
クアップが行われると、設計変更内容と追加または削除
されたコードの内容とその行番号が出力され、さらに修
正が成功したか否かも出力される。
【0105】従って、設計情報の変更によりプログラム
が何時どのように修正されたか、その履歴を知ることが
できる。さらに、本発明のプログラムの修正内容を継承
したプログラムを自動生成するプログラムを、図40に
示すフロッピーディスク、CDROM等の記録媒体40
01に格納しておいて、その記録媒体4001を情報処
理装置(パーソナルコンピュータ等)4002の媒体駆
動装置(フロッピーディスクドライバー、CDROMド
ライバー等)により読み取り、読み取ったプログラムを
ハードディスク等の記憶装置4003に格納し、そのプ
ログラム実行するようにしてもよい。あるいはプログラ
ムを情報提供者のコンピュータのハードディスク等の記
憶装置4004に記憶しておいて、通信によりユーザの
情報処理装置4002に転送し、ユーザ側の記憶装置4
003に記憶してプログラムを実行するようにしてもよ
い。また、記録媒体4001に記録するプログラムは、
実施の形態に述べたフローチャートの一部の機能を有す
るものであってもよい。
【0106】なお、上述した実施の形態では、旧の設計
情報を保存して最新の設計情報との差分を求めている
が、例えば、設計情報の変更内容を保存し、設計変更情
報に基づいてプログラムの追加または削除箇所を検索す
るようにしても良い。
【0107】さらに、上述した実施の形態はVisua
lBasicのプログラムについて説明したが、対象と
なるプログラムはどのようなものでも良い。また、設計
情報の変更による追加、削除箇所を検索する方法は、修
正情報リストボックス、処理リストボックス等を用いる
方法に限らず、設計変更された情報が何であるか、また
追加、削除される箇所とその内容が分かるものであれば
どのような形態のものでも良い。
【0108】
【発明の効果】本発明によれば、業務仕様に基づいて修
正されたプログラムの修正箇所を継承したプログラムを
自動生成することができるので、プログラムの自動生成
時にプログラムの修正部分が保護されるように修正部分
を識別できるように記述する必要が無くなる。また、プ
ログラムを自動生成する際に、設計情報の変更により追
加または削除された部分が分かるように自動的にコメン
トが挿入されるので、設計情報の変更によりプログラム
がどのように修正されたが分かり易くなる。
【図面の簡単な説明】
【図1】プログラム自動生成装置のブロック図である。
【図2】プログラムの生成過程の説明図である。
【図3】修正プログラムを自動継承する処理のフローチ
ャート(その1)である。
【図4】修正プログラムを自動継承する処理のフローチ
ャート(その2)である。
【図5】再モックアップ支援で使用する旧CASE_D
ATA.MDBのテーブルとその内容を示す図である。
【図6】旧の設計情報のフォームインデックステーブル
を示す図である。
【図7】旧の設計情報のフォーム一覧テーブルを示す図
である。
【図8】旧の設計情報のアクションテーブルを示す図で
ある。
【図9】旧の設計情報のグループアクション一覧テーブ
ルを示す図である。
【図10】旧の設計情報の入出力情報定義テーブルを示
す図である。
【図11】旧の設計情報のアクション定義テーブルの内
容を示す図である。
【図12】最新の設計情報のフォームインデックステー
ブルを示す図である。
【図13】最新の設計情報のフォーム一覧テーブルを示
す図である。
【図14】最新の設計情報のアクションテーブルを示す
図である。
【図15】グループの修正情報リストボックスの内容を
示す図である。
【図16】最新の設計情報のグループアクション一覧テ
ーブルを示す図である。
【図17】最新の設計情報のアクション定義テーブルの
内容を示す図である。
【図18】最新の設計情報の入出力情報定義テーブルを
示す図である。
【図19】項目の修正情報リストボックスの内容を示す
図である。
【図20】旧の設計情報の入出力情報定義テーブルの内
容を示す図である。
【図21】最新の設計情報の入出力情報定義テーブルの
内容を示す図である。
【図22】修正情報リストボックスの上書情報を示す図
である。
【図23】同図(A)〜(C)は、フォーム、グループ
及びアクションの修正情報リストボックスを示す図であ
る。
【図24】項目の修正情報リストボックスを示す図であ
る。
【図25】文字列の検索方法の説明図である。
【図26】修正済業務BASを示す図(その1)であ
る。
【図27】修正済業務BASを示す図(その2)であ
る。
【図28】修正済業務BASを示す図(その3)であ
る。
【図29】新規業務BASを示す図(その1)である。
【図30】新規業務BASを示す図(その2)である。
【図31】新規業務BASを示す図(その3)である。
【図32】新規業務BASを示す図(その4)である。
【図33】同図(A)、(B)は、削除プロシージャリ
ストボックスと追加プロシージャリストボックスを示す
図である。
【図34】再モックアップ業務BASを示す図(その
1)である。
【図35】再モックアップ業務BASを示す図(その
2)である。
【図36】再モックアップ業務BASを示す図(その
3)である。
【図37】再モックアップ業務BASを示す図(その
4)である。
【図38】再モックアップ業務BASを示す図(その
5)である。
【図39】再モックアップのログを示す図である。
【図40】記録媒体を示す図である。
【符号の説明】
11 最新設計情報記憶部 12 前回設計情報記憶部 13 プログラム自動生成部 16 修正済プログラム記憶部 18 修正箇所継承部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平10−21066(JP,A) 特開 平10−49358(JP,A) 特開 平7−160491(JP,A) 特開 平7−56727(JP,A) 特開 平2−236628(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/00

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】旧の設計情報と最新の設計情報とを記憶
    し、 旧の設計情報と最新の設計情報とに基づいてプログラム
    の変更箇所を検索し、前記旧の設計情報に基づいて 自動生成されたプログラム
    に修正が加えられた修正プログラムに前記検索された変
    更箇所を追加または削除して前記修正プログラムの修正
    内容を継承したプログラムを自動生成することを特徴と
    する修正プログラムを継承したプログラムの自動生成方
    法。
  2. 【請求項2】最新の設計情報に基づいて新規のプログラ
    ムを自動生成し、 旧の設計情報と最新の設計情報との差分に基づいて、設
    計情報の変更により削除される第1のコードを前記修正
    プログラムから検索し、 旧の設計情報と最新の設計情報との差分に基づいて、設
    計情報の変更により追加される第2のコードを前記新規
    のプログラムから検索し、 前記修正プログラムから前記第1のコードを削除すると
    共に、前記修正プログラムに前記第2のコードを追加し
    て前記修正プログラムの修正内容を継承したプログラム
    を自動生成することを特徴とする請求項記載の修正プ
    ログラムを継承したプログラムの自動生成方法。
  3. 【請求項3】前記旧の設計情報と最新の設計情報との差
    分に基づいて、プログラムから削除または追加されるコ
    ードを検出するための第1または第2の検索文字列を定
    義し、 設計情報の変更がプログラムのコードの削除の場合に
    は、前記修正プログラムから前記第1の検索文字列を検
    索することで削除すべき第1のコードを検出し、設計情
    報の変更がプログラムのコードの追加の場合には、前記
    新規のプログラムから前記第2の検索文字列を検索する
    ことで追加すべき第2のコードを検出し、 前記修正プログラムから前記第1のコードを削除すると
    共に前記修正プログラムに前記第2のコードを追加する
    ことを特徴とする請求項または記載の修正プログラ
    ムを継承したプログラムの自動生成方法。
  4. 【請求項4】旧の設計情報を記憶する旧設計情報記憶手
    段と、 最新の設計情報を記憶する最新設計情報記憶手段と、 設計情報に基づいてプログラムを自動生成するプログラ
    ム自動生成手段と、 前記旧の設計情報と最新の設計情報とに基づいてプログ
    ラムの変更箇所を検索し、前記旧の設計情報に基づいて
    自動生成されたプログラムに修正が加えられた修正プロ
    グラムに前記検索された変更箇所を追加または削除して
    前記修正プログラムの修正内容を継承したプログラムを
    生成する修正箇所継承手段とを備えることを特徴とする
    プログラム自動生成装置。
  5. 【請求項5】前記プログラム自動生成手段は最新の設計
    情報に基づいて新規のプログラムを自動生成し、 前記修正箇所継承手段は、前記旧の設計情報と最新の設
    計情報との差分に基づいて、設計情報の変更によりプロ
    グラムから削除される第1のコードを前記修正プログラ
    ムから検索し、設計情報の変更により追加される第2の
    コードを前記新規のプログラムから検索し、前記修正プ
    ログラムから前記第1のコードを削除すると共に前記第
    2のコードを追加して前記修正プログラムの修正内容を
    継承したプログラムを生成することを特徴とする請求項
    記載のプログラム自動生成装置。
  6. 【請求項6】前記修正箇所継承手段は、前記旧の設計情
    報と最新の設計情報との差分に基づいて、プログラムか
    ら削除または追加されるコードを検出するための第1ま
    たは第2の検索文字列を定義し、設計情報の変更がプロ
    グラムのコードの削除の場合には、前記修正プログラム
    から前記第1の検索文字列を含むコードを検索すること
    で削除すべき第1のコードを検出し、設計情報の変更が
    プログラムのコードの追加の場合には、前記新規のプロ
    グラムから前記第2の検索文字列を含むコードを検索す
    ることで追加すべき第2のコードを検出し、前記修正プ
    ログラムから前記第1のコードを削除すると共に前記第
    2のコードを追加することを特徴とする請求項または
    記載のプログラム自動生成装置。
  7. 【請求項7】前記修正箇所継承手段は、設計情報の変更
    項目と、追加または削除の何れであるかを示す区分とを
    記憶する修正情報記憶部と、追加または削除の区分と追
    加または削除するコードと前記コードの前記修正プログ
    ラム上の行番号とを記憶する処理リスト記憶部とを有
    し、 前記設計情報の変更項目に基づいて検索文字列を定義
    し、前記修正情報記憶部の区分が削除の場合には、前記
    検索文字列を含むコードを前記修正プログラムから検索
    し、前記修正プログラム上の行番号を取得して、削除す
    べきコードと行番号を前記処理リスト記憶部に登録し、
    前記修正情報記憶部の区分が追加の場合には、前記検索
    文字列を含むコードを前記新規のプログラムから検索
    し、追加すべきコードの前記修正プログラム上の追加位
    置を求め、求めた位置の行番号を取得し、追加すべきコ
    ードと行番号を前記処理リスト記憶部に登録し、前記処
    理リスト記憶部に登録されている行番号に対応するコー
    ドを前記修正プログラムに追加または削除することを特
    徴とする請求項または記載のプログラム自動生成装
    置。
  8. 【請求項8】前記修正箇所継承手段は、設計情報の変更
    により追加または削除されたコードの先頭行及び最終行
    に、追加または削除の開始及び終了であることを示すコ
    メントを追加することを特徴とする請求項または
    載のプログラム自動生成装置。
  9. 【請求項9】設計情報の変更により追加または削除され
    たコードと行番号を示すログファイルを出力する出力手
    段を有することを特徴とする請求項または記載のプ
    ログラム自動生成装置。
  10. 【請求項10】旧の設計情報と最新の設計情報とに基づ
    いてプログラムの変更箇所を検索させ、 前記旧の設計情報に基づいて自動生成されたプログラム
    に修正が加えられた修正プログラムに前記検索された変
    更箇所を追加または削除させ、前記修正プログラムの修
    正内容を継承したプログラムを自動生成させるプログラ
    ムを記録したコンピュータ読み取り可能な記憶媒体。
JP01986899A 1999-01-28 1999-01-28 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体 Expired - Lifetime JP3522141B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01986899A JP3522141B2 (ja) 1999-01-28 1999-01-28 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体
US09/477,340 US6658645B1 (en) 1999-01-28 2000-01-04 Method for automatically generating corrected program inherited program, automatic program generation apparatus, and storage medium storing program for automatically generating corrected program inherited program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01986899A JP3522141B2 (ja) 1999-01-28 1999-01-28 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000222195A JP2000222195A (ja) 2000-08-11
JP3522141B2 true JP3522141B2 (ja) 2004-04-26

Family

ID=12011209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01986899A Expired - Lifetime JP3522141B2 (ja) 1999-01-28 1999-01-28 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US6658645B1 (ja)
JP (1) JP3522141B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973639B2 (en) * 2000-01-25 2005-12-06 Fujitsu Limited Automatic program generation technology using data structure resolution unit
KR20030015260A (ko) * 2000-05-30 2003-02-20 소프트웨어 세이산 기쥬쓰 겐큐쇼 가부시키가이샤 정보처리 장치에 의한 동기 구조를 사용한 처리 방법
US7051278B1 (en) * 2000-07-10 2006-05-23 International Business Machines Corporation Method of, system for, and computer program product for scoping the conversion of unicode data from single byte character sets, double byte character sets, or mixed character sets comprising both single byte and double byte character sets
US7278100B1 (en) 2000-07-10 2007-10-02 International Business Machines Corporation Translating a non-unicode string stored in a constant into unicode, and storing the unicode into the constant
US6907557B2 (en) * 2001-02-22 2005-06-14 National Instruments Corporation System and method for testing a group of related products
US6973643B2 (en) * 2001-08-17 2005-12-06 International Business Machines Corporation Method, system and program for handling errors occurring in function calls
US7493295B2 (en) * 2003-01-17 2009-02-17 Francisco J. Ayala Method, system and computer program for developing cortical algorithms
US7840968B1 (en) * 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7694278B2 (en) * 2004-07-09 2010-04-06 Microsoft Corporation Data cube script development and debugging systems and methodologies
US20060020608A1 (en) * 2004-07-09 2006-01-26 Microsoft Corporation Cube update tool
US20060010058A1 (en) * 2004-07-09 2006-01-12 Microsoft Corporation Multidimensional database currency conversion systems and methods
US7437335B2 (en) * 2004-12-07 2008-10-14 Eric Baum Method and system for constructing cognitive programs
US7640221B2 (en) * 2005-04-15 2009-12-29 Eric Baum Plan and candidate plan based system for achieving one or more goals and sub-goals
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
JP5359704B2 (ja) * 2009-09-07 2013-12-04 キヤノンマーケティングジャパン株式会社 プログラム生成システムおよびプログラム生成装置およびプログラム生成方法およびプログラムならびに記録媒体
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8756566B2 (en) 2011-11-02 2014-06-17 International Business Machines Corporation Parallel development of a software system
US8887010B2 (en) * 2011-12-20 2014-11-11 Business Objects Software Ltd. Application information specifiable by users and third parties
JP5808264B2 (ja) * 2012-01-25 2015-11-10 三菱電機株式会社 コード生成装置及びコード生成方法及びプログラム
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US9063764B2 (en) * 2012-05-24 2015-06-23 Kaseya Limited Automated software script creator and editor
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9904541B2 (en) * 2013-05-09 2018-02-27 Microsoft Technology Licensing, Llc Semantic baselining
EP3061030A4 (en) 2013-10-24 2017-04-19 McAfee, Inc. Agent assisted malicious application blocking in a network environment
JP6185408B2 (ja) * 2014-03-07 2017-08-23 Dmg森精機株式会社 Ncプログラム生成、編集装置
JP7241988B1 (ja) * 2022-06-21 2023-03-17 三菱電機株式会社 プログラム生成装置、プログラム生成方法及びプログラム生成プログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7703078A (nl) * 1977-03-22 1978-09-26 Philips Nv Inrichting voor het genereren en corrigeren van een gebruikersprogramma.
US5287449A (en) * 1987-11-06 1994-02-15 Hitachi, Ltd. Automatic program generation method with a visual data structure display
JPH0236628A (ja) 1988-07-27 1990-02-06 Toshiba Corp 音声信号の送信方式及び送受信方式
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
US5410648A (en) * 1991-08-30 1995-04-25 International Business Machines Corporation Debugging system wherein multiple code views are simultaneously managed
US5485601A (en) * 1992-05-14 1996-01-16 Ching; Hugh Completely automated and self-generating software system
US5481712A (en) * 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
JP2518157B2 (ja) 1993-08-10 1996-07-24 日本電気株式会社 プログラムの改定履歴の生成方法とその装置
US5511135A (en) * 1993-11-29 1996-04-23 International Business Machines Corporation Stylus-input recognition correction manager
JPH07160491A (ja) 1993-12-06 1995-06-23 Nec Corp プログラム修正自動組込み方式
US5675803A (en) * 1994-01-28 1997-10-07 Sun Microsystems, Inc. Method and apparatus for a fast debugger fix and continue operation
JP3386232B2 (ja) * 1994-07-15 2003-03-17 富士通株式会社 テスト計算機システム
US5862379A (en) * 1995-03-07 1999-01-19 International Business Machines Corporation Visual programming tool for developing software applications
JP3329985B2 (ja) * 1995-03-16 2002-09-30 株式会社日立製作所 プログラム修正方法
US5689684A (en) * 1995-06-07 1997-11-18 Motorola, Inc. Method and apparatus for automatically reconfiguring a host debugger based on a target MCU identity
US6067639A (en) * 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
US6058393A (en) * 1996-02-23 2000-05-02 International Business Machines Corporation Dynamic connection to a remote tool in a distributed processing system environment used for debugging
US6275976B1 (en) * 1996-03-15 2001-08-14 Joseph M. Scandura Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications
JPH1021066A (ja) 1996-07-03 1998-01-23 Hitachi Ltd プログラム自動生成方法
JPH1049358A (ja) 1996-08-02 1998-02-20 Nec Corp 改造プログラムの自動生成装置及び方法
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US5895476A (en) * 1996-09-09 1999-04-20 Design Intelligence, Inc. Design engine for automatic reformatting for design and media
US5842020A (en) * 1997-01-31 1998-11-24 Sun Microsystems, Inc. System, method and article of manufacture for providing dynamic user editing of object oriented components used in an object oriented applet or application
US5987247A (en) * 1997-05-09 1999-11-16 International Business Machines Corporation Systems, methods and computer program products for building frameworks in an object oriented environment
US5966541A (en) * 1997-12-04 1999-10-12 Incert Software Corporation Test protection, and repair through binary-code augmentation
US6357021B1 (en) * 1999-04-14 2002-03-12 Mitsumi Electric Co., Ltd. Method and apparatus for updating firmware
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework

Also Published As

Publication number Publication date
JP2000222195A (ja) 2000-08-11
US6658645B1 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
JP3522141B2 (ja) 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体
GB2242549A (en) Naming of database component files to avoid duplication of files
US20070027890A1 (en) Method for improved processing of expression-based data
US6895554B2 (en) Method of document assembly
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
CN115757629A (zh) 多源异构数据增量同步方法、系统、存储介质和电子设备
JP3199959B2 (ja) データ検索装置及び方法
JP2925042B2 (ja) 情報リンク生成方法
JP2001147923A (ja) 類似文書検索装置、類似文書検索方法及び記録媒体
JP3772105B2 (ja) データベース管理装置、方法、プログラム及び記録媒体
JP2822869B2 (ja) ライブラリファイル管理装置
JPH06131232A (ja) データ辞書の多重定義修正支援装置
JPH11232149A (ja) ファイル比較処理方法,装置およびファイルの比較処理プログラムを記憶した媒体
JP6347023B1 (ja) コード自動記述2ソフトウェアを記録した記録媒体
JP3804609B2 (ja) 検索チューニング方法および情報検索システム
JP3318754B2 (ja) ファイル更新処理装置
JP2864418B2 (ja) 文書処理装置
JPH04205173A (ja) 情報検索システム
JPH1165837A (ja) 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体
JP2001325292A (ja) 複合語の類似度判定システム、類似度判定方法及び記録媒体
JPH11161666A (ja) ドキュメントデータ検索方法および装置、並びにドキュメント編集装置
CN118312183A (zh) Sql语句性能检测方法、装置、设备、存储介质
JP3307358B2 (ja) 部分修正コマンド方法及び情報処理装置
JP3018579B2 (ja) 名前検索処理装置
JP2757769B2 (ja) 自動索引作成装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 10

EXPY Cancellation because of completion of term