JP3847932B2 - プログラム作成支援装置およびそのプログラム記憶媒体 - Google Patents
プログラム作成支援装置およびそのプログラム記憶媒体 Download PDFInfo
- Publication number
- JP3847932B2 JP3847932B2 JP35922197A JP35922197A JP3847932B2 JP 3847932 B2 JP3847932 B2 JP 3847932B2 JP 35922197 A JP35922197 A JP 35922197A JP 35922197 A JP35922197 A JP 35922197A JP 3847932 B2 JP3847932 B2 JP 3847932B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- class diagram
- logical information
- logical
- 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 - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は,オブジェクト指向プログラム等の開発をコンピュータを利用して支援するプログラム作成支援装置およびそのプログラム記憶媒体に関する。
【0002】
【従来の技術】
オブジェクト指向プログラムの開発において,設計ドキュメントの一つであるクラス図からプログラムを大まかに自動生成し,その後に開発者が自動生成されたプログラムに手を加えて,目的とする実働可能(意図した仕様を満足する)プログラムを作成するという装置がある。例えば,米国 Interactive Development Environment社のSoftware through Pictures ,米国 Rational 社のRational Rose 等が,このようなオブジェクト指向プログラム作成支援装置を実現するソフトウェア製品である。
【0003】
これらの従来の装置では,プログラム中の自動生成された部分(以下,「自動生成部分」という)と開発者が手入力で追加した部分(以下,「追加部分」という)との区別を,プログラム中に特殊コメントを埋め込むという方法で行っている。
【0004】
図16は,従来技術を説明するための図である。
例えば,新しくオブジェクト指向プログラムを開発する場合には,図16(A)に示すように,まず設計ドキュメントとして,クラスおよび各クラスの関係を定義したクラス図50を作成し,これをオブジェクト指向プログラム作成支援装置に入力する。オブジェクト指向プログラム作成支援装置は,論理情報抽出部60によってクラス図50を解析し,これから論理情報を抽出する。次にプログラム生成部70では,論理情報抽出部60が抽出した論理情報をプログラムの論理情報(以下,「プログラム論理情報」という)に変換し,これをもとにプログラム80を自動生成する。
【0005】
この自動生成されたプログラム80は,通常,プログラムの大まかな枠組みのようなものであり,このままでは完全なものではない。そこで,不足している部分については,プログラム開発者が手入力により追加編集し,実働可能プログラムとする。図中の編集後プログラム81の例では,「XXX」,「YYY」のテキストがエディタ等を用いて加えられている。
【0006】
ところで,一般にプログラム開発では一度で開発が終了することはなく,多くの場合,バグの修正や機能変更・機能拡張などにより,開発したプログラムの変更が必要になる。例えば,図16(B)に示すように,クラス図50を機能変更等のために変更後クラス図51に変更した場合,これをもとに同様に論理情報抽出部60,プログラム生成部70によってプログラムを自動生成すると,新たに生成されたプログラム82では,プログラム80に対して手入力で追加編集した「XXX」,「YYY」の情報は,失われてしまうことになる。
【0007】
このようなプログラムの変更時における情報の喪失を防止するため,従来技術では,例えば図16(C)に示すように,元のプログラム80に対して追加・変更した部分については,その部分について特殊コメント(図の例では「//##保護開始」と「//##保護終了」)を付け,その編集後プログラム83をプログラム生成部70が参照して,自動生成部分と追加部分とを区別し,追加部分を残した形で新たなプログラム84を生成するようにしている。
【0008】
図17は,従来技術による編集後プログラムの例を示す。図17において,特殊コメント「//## begin Person:: ・・・」および「//## end Person:: ・・・」で囲まれた部分は「追加部分」を示している。
【0009】
「追加部分」は,このような「preserve=yes」という記述を含む特殊コメントで保護されており,クラス図が変更された場合に,変更したクラス図をもとにプログラムを再度自動生成しても,特殊コメントで保護された「追加部分」は,そのまま新しいプログラム中に出力されるようになっている。
【0010】
【発明が解決しようとする課題】
しかし,従来のような,プログラム中の自動生成部分と追加部分とを特殊コメントにより区別する方法には,以下のような問題点がある。
【0011】
1)プログラム編集時の危険性
プログラム編集時に,誤って特殊コメントを変更もしくは削除してしまうと,プログラムの自動生成機構が自動生成部分と追加部分とを区別できなくなる。その結果,追加部分が失われてしまうという危険性がある。
【0012】
2)生成されたプログラムの読解性と保守性
現実の利用では,プログラム中の特殊コメントはおびただしい量になる。このため,このような方法で作成されたプログラムは,読解性や保守性が低下するという問題がある。
【0013】
本発明は,従来方法では特殊コメントにより行っていた自動生成部分と追加部分との区別を,特殊コメントなしで行うことができる新しい技術を提供し,プログラム編集時の安全性,および読解性や保守性に優れたプログラムの生成を保証することを目的とする。
【0014】
【課題を解決するための手段】
図1は,本発明の原理説明図である。
図1において,設計ドキュメント20は,オブジェクト指向プログラムにおけるクラスを定義するクラス図であって,プログラムを自動生成するための情報を定義するものである。設計ドキュメント20は,開発者が設計ドキュメントエディタ(クラス図エディタ等)を用いて作成する。変更後設計ドキュメント21は,設計ドキュメント20を修正や機能変更などのために設計ドキュメントエディタにより変更したものである。
【0015】
プログラム22は,設計ドキュメント20から論理情報更新部5,プログラム生成部6等によって自動生成されたオブジェクト指向プログラムであり,編集後プログラム23は,設計ドキュメント20に基づいて自動生成されたプログラム22に,開発者による追加部分が加えられたオブジェクト指向プログラムである。
【0016】
変更後設計ドキュメント21から変更後のプログラム24を自動生成するときに本発明が用いられる。
論理情報抽出部1は,クラス図等の設計ドキュメント20および変更後設計ドキュメント21を解析し,設計ドキュメント中に混在する論理情報,レイアウト情報等から論理情報(d1,d2)を抽出する手段である。
【0017】
差分抽出部2は,設計ドキュメント20の論理情報d1と変更後設計ドキュメント21の論理情報d2との差分情報dを抽出する手段である。設計ドキュメント20の論理情報d1は,もし以前に論理情報抽出部1から抽出したものを論理情報管理部4に保存していたならば,それを使用することができる。
【0018】
プログラム論理情報抽出部3は,編集後プログラム23からプログラム論理情報p1を抽出する手段である。
論理情報管理部4は,論理情報抽出部1によって抽出した論理情報d1等を,後のプログラム改訂時における差分抽出処理で使用できるようにするために保存しておく手段である。
【0019】
論理情報更新部5は,差分情報dを参照して,プログラム論理情報p1と差分情報dから得られるプログラム論理情報とをマージし,新たなプログラム論理情報p2を生成する手段である。
【0020】
プログラム生成部6は,プログラム論理情報p2に基づいてプログラムを自動生成する手段である。
本発明の作用は以下のとおりである。
【0021】
論理情報抽出部1で,設計ドキュメント20および変更後設計ドキュメント21からそれぞれ論理情報d1,d2を抽出すると,差分抽出部2で,これらの論理情報の木構造マッチングを行い,差分情報dを生成する。一方,プログラム論理情報抽出部3では,編集後プログラム23からプログラム論理情報p1を抽出する。
【0022】
論理情報更新部5では,差分抽出部2で得た差分情報dをもとに,プログラム論理情報p1を更新し,プログラム論理情報p2を生成する。このプログラム論理情報p2は,実質的に,変更後設計ドキュメント21から抽出した論理情報d2と編集後プログラム23に含まれる追加部分の情報とを組み合わせたものとなる。
【0023】
プログラム生成部6は,このプログラム論理情報p2に基づいて変更後のプログラム24を生成するので,編集後プログラム23の追加部分を失わずに,変更後設計ドキュメント21から新しい変更後のプログラム24が自動生成されることになる。
【0024】
【発明の実施の形態】
以下,最近よく用いられているJava言語によるオブジェクト指向プログラムの自動生成を例に,図2〜図12を用いて本発明の実施の形態を説明する。
【0025】
図2は,新規プログラム作成時の処理動作の説明図である。
最初に,クラス図エディタ等で作成されたクラス図30を入力する(a)。
図3は,入力されるクラス図の例を示す。図3のクラス図30はUML表記法により表わしたものであり,オブジェクトとして一つのクラス(Person)を持ち,このクラスは四つのデータメンバと二つのメンバ関数を持つことを示している。
【0026】
論理情報抽出部11は,クラス図30の中に混在する様々な情報を解析して論理情報A1を抽出し,論理情報A1を差分抽出部12に渡す(b)。差分抽出部12は,新規プログラム作成の場合には,論理情報A1をそのまま論理情報更新部15に渡す。また,クラス図30の変更によるプログラムの改訂の際に使用できるようにするために,抽出した論理情報A1を論理情報管理部14に保存する。論理情報とは,クラス図の論理構造や構成要素等に関する情報である。図4は,図3に示すクラス図に記述されている情報を示すオブジェクトモデルの図である。
【0027】
論理情報更新部15では,論理情報A1をプログラム論理情報Pに変換する(c)。プログラム生成部16では,プログラム論理情報Pからプログラム31を自動生成し(d),プログラムのソースファイルとして出力する。
【0028】
図5は,図3に示すクラス図から自動生成されたプログラムの例を示す。
この図5に示すプログラムは,オブジェクト指向言語の一つであるJava言語により記述されたものである。ここでは,メンバ関数person,printの内容が定まっていないので,開発者は,これらの関数の内容を手入力により記述する。
【0029】
図6は,開発者により追加部分を加えた編集後プログラムの例を示す。メンバ関数personおよびprintの動作部分の記述が追加されている。
図7は,図6に示す編集後プログラムの記述内容をオブジェクトモデルとして示す図である。図7のオブジェクトモデルでは,プログラムのメンバ関数personおよびprintの追加部分に対応して,これらのメンバ関数の動作部分を表す「person_body」,「print_body」が追加されている。
【0030】
図8は,プログラム改訂時の処理動作を説明する図である。
開発者は,図2で説明したようにして図3に示すクラス図から自動生成されたプログラム31(図5)に,関数や変数の内容等の追加部分を加えるなどの編集を行う。この結果が前述した図6の編集後プログラムである。例えば図8のクラス図30は,図3に示すクラス図であり,編集後プログラム33は,図6の編集後プログラムである。
【0031】
さらに,図2において説明したクラス図を,機能変更等のためにプログラムの編集とは別の変更を行った場合には,以下のようにプログラム改訂の処理を行う。
【0032】
変更前のクラス図30から抽出した論理情報A1を,論理情報管理部14から取り出して差分抽出部12に渡す(e)。なお,変更前のクラス図30の論理情報A1を論理情報管理部14に保存していない場合には,論理情報抽出部11によりクラス図30を解析して論理情報A1を抽出し,差分抽出部12に渡す。
【0033】
また,変更後のクラス図32を入力して(f),論理情報抽出部11により論理情報A2を抽出する(g)。抽出した論理情報A2は,後のプログラム改訂時のために必要に応じて論理情報管理部14に保存する。
【0034】
図9は,変更後のクラス図の例を示す。図9は,図3のクラス図に「名前を設定する」というメンバ関数set_nameを追加したものである。図10は,図9に示す変更後のクラス図のオブジェクトモデルを示す。図10のオブジェクトモデルには,図4に示すオブジェクトモデルにメンバ関数set_nameの論理構造が追加されている。
【0035】
論理情報抽出部11が抽出した論理情報A2は,差分抽出部12に渡され,差分抽出部12では,論理情報A1と論理情報A2との変更点(差分)を論理構造の形で差分情報Aとして抽出する(h)。
【0036】
一方,編集後プログラム33(図6)を入力して(i),プログラム論理情報抽出部13により,プログラムの論理情報Bを抽出し,論理情報更新部15に渡す(j)。この論理情報Bは,図7のオブジェクトモデルで表されるような論理構造に関する情報である。
【0037】
論理情報更新部15では,差分情報Aに基づき,論理情報Bを用いてプログラムの論理構造を改訂して新しいプログラム論理情報B′を生成する(k)。すなわち,差分情報Aと論理情報Bとの対応関係を調べることによって,自動生成部分と開発者の編集による追加部分とを区別することができるので,プログラム論理情報Bにおける元の自動生成部分で変更が必要な部分を,追加部分を残した形で,差分情報Aから得られるプログラム論理情報によって改訂する。
【0038】
図11は,新たなプログラム論理情報B′をオブジェクトモデルの形式で示した図である。図11に示すように,開発者による追加部分である「person_body」,「print_body」と,クラス図の変更により追加された部分「set_name」とが,最初の図4のオブジェクトモデルに対して追加されたものとなっている。
【0039】
プログラム生成部16では,プログラム論理情報B′から変更後のプログラム34を自動生成する(l)。なお,プログラム論理情報B′から変更後のプログラム34を自動生成する処理自体は従来と同様でよく,既知の技術である。
【0040】
図12は,生成された変更後のプログラムの例を示す。図12に示すプログラムは,開発者による追加部分とクラス図の変更により追加された部分とがマージされている。これにより,変更したクラス図の論理情報が編集後プログラムに反映され,新たな改訂後のプログラムが自動生成されたことが分かる。
【0041】
図12に示すプログラムは,図17に示す従来技術による編集後プログラムにより生成するプログラムに比べて,改訂に必要な情報を記述する特殊コメント(//##…preserve=yes…等)がないことから誤変更が防止され,また,読解性に優れていることは明らかである。
【0042】
図3および図13〜図15を用いて,本発明の実施の形態における処理の流れを説明する。
図13は,全体の処理フローチャートである。
【0043】
変更前の設計ドキュメント(クラス図30)の論理情報A1を論理情報管理部14から取り出す(S1)。また,論理情報抽出部11により,変更後の設計ドキュメント(変更後のクラス図32)から論理情報A2を抽出する(S2)。差分抽出部12により,論理情報A1と論理情報A2との差分情報Aを抽出する(S3)。
【0044】
一方,プログラム論理情報抽出部13により,編集後プログラム33からプログラム論理情報Bを抽出する(S4)。差分情報Aをもとにプログラム論理情報Bを更新してプログラム論理情報B′とし(S5),プログラム生成部16により,プログラム論理情報B′をもとに変更後のプログラム34を生成する(S6)。
【0045】
図14は,差分情報抽出処理の処理フローチャートである。
差分抽出部12による差分情報抽出処理(図13のステップS3の処理)は,木探索のアルゴリズムにより行う。
【0046】
ステップS101では,空の木Aを作成する。
ステップS102では,論理情報A1と論理情報A2の根を照合する。
ステップS103では,論理情報A1と論理情報A2の根が一致したかどうかを判定する。一致した場合にはステップS104の処理へ進み,一致しない場合には処理を終了する。
【0047】
ステップS104では,論理情報A1の部分木を一つ取り出し,その根をa1とする。
ステップS105では,a1をAに付加しa1′とする。
【0048】
ステップS106では,a1はA2の部分木に存在するかどうかを判定する。a1がA2の部分木に存在する場合にはステップS108の処理へ進み,a1がA2の部分木に存在しない場合にはステップS107の処理へ進む。
【0049】
ステップS107では,a1′に「新規」のフラグを立てる。
ステップS108では,論理情報A2の部分木を一つ取り出し,その根をa2とする。
【0050】
ステップS109では,a2をAに付加し,a2′とする。
ステップS110では,a2はA1の部分木に存在するかどうかを判定する。a2がA1の部分木に存在する場合にはステップS112の処理へ進み,a2がA1の部分木に存在しない場合にはステップS111の処理へ進む。
【0051】
ステップS111では,a2′に「削除」のフラグを立てる。
ステップS112では,a1から始まる木をA1,a2から始まる木をA2として,「開始2」からの再帰的処理により論理情報の差分を抽出する。すなわち,このステップS112は,「開始2」よりステップS102以降の処理を再帰的に呼び出すことにより実行する。
【0052】
ステップS113では,A2の部分木をすべて処理したかどうかを判定する。A2の部分木をすべて処理した場合には,ステップS114の処理へ進み,A2にまだ処理していない部分木がある場合には,ステップS108の処理へ戻って同様に処理を繰り返す。
【0053】
ステップS114では,A1の部分木をすべて処理したかどうかを判定する。A1の部分木をすべて処理した場合には,差分情報抽出処理を終了し,A1にまだ処理していない部分木がある場合には,ステップS104の処理へ戻る。
【0054】
図15は,プログラムの論理情報更新処理の処理フローチャートである。
論理情報更新部15によるプログラム論理情報更新処理(図13のステップS5の処理)は,木探索のアルゴリズムにより行う。
【0055】
ステップS201では,差分情報Aと論理情報Bの根を照合する。
ステップS202では,差分情報Aと論理情報Bの根が一致したかどうかを判定する。一致している場合にはステップS203の処理を進み,一致していない場合には処理を終了する。
【0056】
ステップS203では,Aの部分木を一つ取り出し,その根をaとする。
ステップS204では,aに「新規」のフラグが立っているかどうかを判定する。aに「新規」のフラグが立っている場合にはステップS210の処理へ進み,aに「新規」のフラグが立っていない場合にはステップS205の処理へ進む。
【0057】
ステップS205では,Bの部分木を一つ取り出し,その根をbとする。
ステップS206では,aとbとを照合する。
ステップS207では,aとbとが一致したかどうかを判定する。一致した場合にはステップS208の処理へ進み,一致しない場合にはステップS212の処理へ進む。
【0058】
ステップS208では,aに「削除」のフラグが立っているかどうかを判定する。aに「削除」のフラグが立っている場合にはステップS209の処理へ進み,aに「削除」のフラグが立っていない場合にはステップS211の処理へ進む。
【0059】
ステップS209では,bに「無効」のフラグを立て,ステップS211の処理へ進む。
ステップS210では,aを根とする部分木をBに付加する。
【0060】
ステップS211では,aから始まる木をA,bから始まる木をBとして,「開始(ステップS201)」からの再帰的処理により論理情報を更新する。
ステップS212では,Bの部分木をすべて処理したかどうかを判定する。Bの部分木をすべて処理した場合には,ステップS213の処理へ進み,Bにまだ処理していない部分木がある場合には,ステップS205の処理へ戻る。
【0061】
ステップS213では,Aの部分木をすべて処理したかどうかを判定する。Aの部分木をすべて処理した場合には,処理を終了し,Aにまだ処理していない部分木がある場合には,ステップS203の処理へ戻って,同様に処理を繰り返す。
【0062】
なお,論理情報抽出部11,プログラム論理情報抽出部13およびプログラム生成部16の処理の流れについては,従来技術により既知であるため,ここでの詳しい説明は省略する。
【0063】
【発明の効果】
以上説明したように,本発明によれば,クラス図からのプログラム自動生成において,プログラム生成後に独立してプログラムを編集・変更したような場合に,従来技術の問題点であった追加部分の消失の危険性をなくし,さらに,特殊コメント等の必要がないので,生成されたプログラムの読解性および保守性を高めることができるようになる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】新規プログラム作成時の処理動作を説明する図である。
【図3】クラス図の例を示す図である。
【図4】図3に示すクラス図に記述されている情報を示すオブジェクトモデルの図である。
【図5】自動生成されたプログラム例を示す図である。
【図6】編集後プログラムの例を示す図である。
【図7】図6に示すプログラムのオブジェクトモデルを示す図である。
【図8】プログラム改訂時の処理動作を説明する図である。
【図9】変更後のクラス図の例を示す図である。
【図10】図9に示すクラス図のオブジェクトモデルを示す図である。
【図11】論理情報更新部により改訂された論理情報のオブジェクトモデルを示す図である。
【図12】生成されたプログラム例を示す図である。
【図13】本発明の実施の形態における全体の処理フローチャートである。
【図14】本発明の実施の形態における差分情報抽出処理の処理フローチャートである。
【図15】本発明の実施の形態におけるプログラム論理情報更新処理の処理フローチャートである。
【図16】従来技術を説明するための図である。
【図17】従来技術による編集後プログラムの例を示す図である。
【符号の説明】
1 論理情報抽出部
2 差分抽出部
3 プログラム論理情報抽出部
4 論理情報管理部
5 論理情報更新部
6 プログラム生成部
20 設計ドキュメント
21 変更後設計ドキュメント
22 プログラム
23 編集後プログラム
24 変更後のプログラム
Claims (2)
- オブジェクト指向プログラムにおけるクラスを定義する設計ドキュメントであるクラス図からプログラムの全部または一部を自動生成することにより,オブジェクト指向プログラムの開発をコンピュータを利用して支援するプログラム作成支援装置において,
前記クラス図を解析し,クラス図の論理情報を抽出する論理情報抽出手段と,
変更する前のクラス図および変更後のクラス図から抽出したそれぞれのクラス図の論理情報の差分情報を,木構造で表される各論理情報の木構造マッチングによって抽出する差分抽出手段と,
変更する前のクラス図から生成され編集されたオブジェクト指向プログラムから抽出したプログラム論理情報を前記差分情報を用いて変更し,新たなプログラム論理情報を生成する論理情報更新手段と,
前記新たなプログラム論理情報からオブジェクト指向プログラムを生成するプログラム生成手段とを備える
ことを特徴とするプログラム作成支援装置。 - オブジェクト指向プログラムにおけるクラスを定義する設計ドキュメントであるクラス図からプログラムの全部または一部を自動生成することにより,オブジェクト指向プログラムの開発を支援するプログラム作成支援装置のコンピュータに実行させるためのプログラムを格納した記憶媒体であって,
前記コンピュータを,
前記クラス図を解析し,クラス図の論理情報を抽出する論理情報抽出手段と,
変更する前のクラス図および変更後のクラス図から抽出したそれぞれのクラス図の論理情報の差分情報を,木構造で表される各論理情報の木構造マッチングによって抽出する差分抽出手段と,
変更する前のクラス図から生成され編集されたオブジェクト指向プログラムから抽出したプログラム論理情報を前記差分情報を用いて変更し,新たなプログラム論理情報を生成する論理情報更新手段と,
前記新たなプログラム論理情報からオブジェクト指向プログラムを生成するプログラム生成手段として
機能させるためのプログラム作成支援装置のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35922197A JP3847932B2 (ja) | 1997-12-26 | 1997-12-26 | プログラム作成支援装置およびそのプログラム記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35922197A JP3847932B2 (ja) | 1997-12-26 | 1997-12-26 | プログラム作成支援装置およびそのプログラム記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11191063A JPH11191063A (ja) | 1999-07-13 |
JP3847932B2 true JP3847932B2 (ja) | 2006-11-22 |
Family
ID=18463381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35922197A Expired - Fee Related JP3847932B2 (ja) | 1997-12-26 | 1997-12-26 | プログラム作成支援装置およびそのプログラム記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3847932B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234379A (ja) * | 2007-03-22 | 2008-10-02 | Daikin Ind Ltd | ソフトウェア生成装置ならびにソフトウェア生成方法 |
JP4412674B2 (ja) | 2007-04-18 | 2010-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | モデル駆動型開発を支援する装置及び方法 |
JP5111308B2 (ja) * | 2008-09-05 | 2013-01-09 | 株式会社エヌ・ティ・ティ・データ | モデル指向開発支援装置、モデル指向開発支援方法及びモデル指向開発支援プログラム |
JP6667387B2 (ja) * | 2016-06-28 | 2020-03-18 | 三菱電機株式会社 | 規則変換支援装置および規則変換支援プログラム |
JP2021124852A (ja) * | 2020-02-04 | 2021-08-30 | 富士通株式会社 | 修正パターンのデータ駆動型合成 |
-
1997
- 1997-12-26 JP JP35922197A patent/JP3847932B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11191063A (ja) | 1999-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4330285B2 (ja) | 機械翻訳用辞書登録装置、機械翻訳用辞書登録方法、機械翻訳装置、機械翻訳方法及び記録媒体 | |
JPS61282935A (ja) | プログラムにおける属性割当て検査方法及び装置 | |
JP2007034813A (ja) | 複数自然言語のソフトウェア説明書生成システム | |
US20040225964A1 (en) | Method and system for storing pending changes to data | |
JPH0830620A (ja) | 構造検索装置 | |
Neubauer et al. | XMLText: from XML schema to Xtext | |
JP5147240B2 (ja) | リバーシブルなデザイン・ツリーの変換のための方法とシステム | |
JP2006202308A (ja) | グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 | |
JP3847932B2 (ja) | プログラム作成支援装置およびそのプログラム記憶媒体 | |
US7478370B2 (en) | Relationship management for data modeling in an integrated development environment | |
JP4724387B2 (ja) | プログラム変換プログラム、プログラム変換装置およびプログラム変換方法 | |
JP2008225898A (ja) | 変換装置、変換プログラム及び変換方法 | |
JP3476881B2 (ja) | 仕様書の生成装置 | |
JPH02112068A (ja) | テキスト簡略表示方式 | |
JP3759630B2 (ja) | スパイラル型オブジェクト指向ソフトウェアの開発支援システム | |
Minas | Syntax definition with graphs | |
JP3003459B2 (ja) | プログラム作成支援装置 | |
JP2008186311A (ja) | 複数種類の自然言語でコメントが記述されたソースファイルのファイル変換システム | |
JPH05298081A (ja) | 仕様抽出装置 | |
JP2003216428A (ja) | オブジェクト指向プログラミング支援装置 | |
JP4154164B2 (ja) | 知識再利用システム | |
JPH10269066A (ja) | 日本語によるシェル自動作成装置 | |
JP6301783B2 (ja) | ソースコード自動生成装置、及びプログラム | |
JP2004287695A (ja) | プログラム開発支援装置及びプログラム開発支援方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Burke | Improving the natural language translation of formal software specifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060726 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060824 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |