JP6482362B2 - ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム - Google Patents
ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム Download PDFInfo
- Publication number
- JP6482362B2 JP6482362B2 JP2015081441A JP2015081441A JP6482362B2 JP 6482362 B2 JP6482362 B2 JP 6482362B2 JP 2015081441 A JP2015081441 A JP 2015081441A JP 2015081441 A JP2015081441 A JP 2015081441A JP 6482362 B2 JP6482362 B2 JP 6482362B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- item
- processing
- exception
- generation unit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 198
- 230000008569 process Effects 0.000 claims description 165
- 238000012545 processing Methods 0.000 claims description 124
- 230000006870 function Effects 0.000 description 205
- 230000006399 behavior Effects 0.000 description 115
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 101000836337 Homo sapiens Probable helicase senataxin Proteins 0.000 description 4
- 102100027178 Probable helicase senataxin Human genes 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
また、ユースケ―ス分析において、ユースケース記述の中のシナリオの1つとしてユースケース図が記述される場合がある。しかし、ユースケース図は要求レベルの形式化されていないテキストであるため、コード生成するには、詳細設計レベルの設計情報との紐付けとコード生成の作り込みが必要であり、作成に時間がかかっている。
また、特許文献2では、階層化された機能項目ごとに、優先順位を記入するようにして、その実行優先順位情報に基づいて、ソースコードを実行することが可能である。
処理の項目を表す処理項目と、前記処理項目に含まれる操作を表す操作情報と、例外処理を表す例外処理情報とを含む処理項目リストを記憶する処理項目リスト記憶部と、
前記処理項目リストに基づいて記述された前記処理項目の振舞いを記述する振舞い記述情報を記憶する振舞い記述情報記憶部と、
前記処理項目を用いて、クラスを定義するソースコードを生成する振舞い記述生成部と、
前記操作情報を用いて、前記操作を定義するソースコードを生成する操作生成部と、
前記例外処理情報を用いて、前記操作の実行中に発生する前記例外処理を表すソースコードを生成する例外記述生成部と、
前記振舞い記述情報を用いて、前記操作の条件分岐を表すソースコードを生成する条件記述生成部と、
前記振舞い記述情報を用いて、前記操作の処理内容を表すソースコードを生成する処理記述生成部とを備える。
図1を用いて、本実施の形態に係るソースコード生成装置20のブロック構成について説明する。
本実施の形態では、物理項目に対して発生しうる例外事象と機能項目に対する処理の優先度と仕様記述方法とコード生成方法とを示す。
ソースコード生成システム800は、処理項目リスト記憶部1071、振舞い記述情報記憶部1081、ソースコード生成装置20、ソースコード30を有する。
ソースコード生成装置20は、取得部40とソースコード生成部50と優先度制御生成部60とを有する。
取得部40は、物理項目リスト102、機能項目リスト103、物理項目の振舞い記述104、機能項目の振舞い記述105を入力とする。
物理項目の振舞い記述104、機能項目の振舞い記述105は、振舞い記述情報108の例である。
処理項目リスト107は、操作として複数の操作1073aを表す操作情報1073を有する。
振舞い記述生成部501は、処理項目1072を用いて、クラスを定義するソースコードを生成する。
操作生成部502は、操作情報1073を用いて、操作を定義するソースコードを生成する。操作生成部502は、複数の操作の各操作を定義するソースコードを生成する。
例外記述生成部503は、例外処理情報1074を用いて、操作の実行中に発生する例外処理を表すソースコードを生成する。例外記述生成部503は、複数の操作の各操作を定義するソースコードに対して例外処理を表すソースコードを割り付ける。
条件記述生成部504は、振舞い記述情報108を用いて、操作の条件分岐を表すソースコードを生成する。
処理記述生成部505は、振舞い記述情報108を用いて、操作の処理内容を表すソースコードを生成する。
振舞い記述生成部501は、物理項目リスト102および機能項目リスト103で定義された全ての物理項目および機能項目毎に1つのクラスを生成する。ここでクラスとは、ソースコードの形式で生成されたものである。クラスの名称には、物理項目および機能項目毎、すなわち処理項目1072毎に定義したラベル名を使用する。
次に、物理項目リスト102および機能項目リスト103、すなわち処理項目リスト107で、自項目の上位階層項目が定義されているものについては、その上位階層の項目から生成されたクラスと親子関係があることを示す継承コードを生成する。振舞い記述生成部501は、生成した継承コードをソースコードの形式で生成されたクラスに追記する。
なお、優先度制御生成部60は無くてもよく、機能の優先順位の制御プログラムを各機能のソースコードに持つ構成でも構わない。
仕様が記述されたインプット仕様書101から、ハードウェアを抽出し、故障、電源断、異常値検出などの発生する可能性のある例外項目の定義を物理項目リスト102に列挙する。また、インプット仕様書101から、ソフトウェアの機能を抽出し、優先度の定義を機能項目リスト103に列挙する。
機能項目リスト103の項目ごとに、機能の振舞いの定義を機能項目の振舞い記述105に記述する。
物理項目リスト102、すなわち処理項目リスト107は、処理項目1072として、複数の処理項目1072aを有する。また、複数の処理項目1072aの各々が上位の階層である親処理項目10721を有する。最上位の処理項目には親処理項目はない。
具体的には、物理項目リスト102には、物理項目ごとに、物理名称である名称とソースコード生成時に用いるラベルとを階層的に記載する。階層が下になるほど物理項目を詳細化する。
物理項目の名称として、センサの階層の下にセンサ1とセンサ2とを記載し、物理項目のラベルとして、センサに対応するSensor、センサ1に対応するSen1、センサ2に対応するSen2と記載する。
例えば、センサが親物理項目、すなわち親処理項目10721であり、センサ1、センサ2が子物理項目、すなわち子処理項目10722となる。
物理項目リスト102の物理項目ごとに、物理項目の振舞い記述104を作成する。図4では「センサ1」についての振舞い記述を記載した。
物理項目の振舞い記述104では、物理項目の名称、概要、目的を記載したあと、物理項目の振舞い記述を記載する。
また、処理を表す処理記述は先頭に・をつける。
図4では、「電源断」という例外処理が起きた場合、電源状態をPOWEROFFにするという処理を記述している。
また、操作に対しては<>のカッコで表し、<>のカッコの中に操作の名称を記載する。
機能項目は、処理の項目であるクラスを表す処理項目1072の例である。
機能項目リスト103、すなわち処理項目リスト107は、処理項目として、複数の処理項目を有し、複数の処理項目の各々に優先度1075が設定される。また、複数の処理項目の各々が上位の階層である親処理項目を有する。最上位の処理項目には親処理項目はない。以下で説明する優先レベルは、優先度1075の例である。
図5の例では、機能項目の欄に、上位階層から順に機能の名称が設定される。大分類が機能A、中分類が機能A1及び機能A2と設定されている。また、大分類が機能B、中分類が機能B1及び機能B2、機能B2の小分類として機能B21及び機能B22と設定されている。なお、ここで機能の名称に使用する名前、すなわち文字列に制限は無い。
例えば、機能Aが親機能項目、すなわち親処理項目であり、機能A1、機能A2が子機能項目、すなわち子処理項目となる。また、子機能項目、すなわち子処理項目を機能B21、機能B22とすると、親機能項目、すなわち親処理項目は機能B2である。
上記優先度は、上位階層の機能が同じである機能同士では固有の値を指定する必要がある。一方、上位階層が異なる機能同士では優先度の値が重複しても良い。図5の例では、上位階層が機能Aである中分類の機能A1と機能A2との優先レベルは、それぞれ1と2である。また、同じ中分類であるが上位階層が機能Bである中分類の機能B1と機能B2との優先レベルについても、それぞれ1と2とが設定されている。
次に、抽出した各操作にラベルを設定する。これは、ソースコード生成の際、メソッド名に使用される。そのため、生成するコードのプログラミング言語仕様に則った命名をする必要がある。
抽出した各属性にラベルを設定する。このラベルは、ソースコード生成の際、フィールド名に使用される。そのため、生成するコードのプログラミング言語仕様に則った命名をする必要がある。
また、抽出した各属性の値域を範囲に設定する。これは、ソースコード生成の際、フィールドの値域に使用される。そのため、フィールドとして存在しえない範囲の値は設定できない。
さらに、抽出した各属性の初期値を設定する。これは、ソースコード生成の際、フィールドの初期化に使用される。そのため、フィールドとして存在しえない範囲の値は設定できない。
機能項目の振舞い記述105では、機能項目リスト103で定義した各機能の振舞いを定義し、各機能が持つ操作毎に、処理内容の詳細を記載する。
次に、検討した「条件」と「処理」とを、擬似言語にて記述する。この擬似言語では、使用する属性を機能項目リスト103に記載の名称と揃え、論理構造のみを記号化する。
つまり、図5の機能項目リスト103における機能A1が持つ操作A及び操作Bについては、図6に示す1つの「機能項目の振舞い記述105」にまとめて記述する。
以上の手順を、機能項目リスト103における全ての機能について実施する。
図7を用いて、本実施の形態に係るソースコード生成装置20におけるソースコード生成方法、ソースコード生成処理S10の動作について説明する。
具体的には、S701において、取得部40は、物理項目リスト102、機能項目リスト103、物理項目の振舞い記述104、機能項目の振舞い記述105を取得する。
振舞い記述生成部501は、取得部40により取得された物理項目の振舞い記述104または機能項目の振舞い記述105に対して、未処理のものが無い場合、処理を終了し、未処理のものが有る場合、S702に処理を進める。
ここで、処理対象の振舞い記述を処理対象振舞い記述とする。
具体的には、S702において、振舞い記述生成部501は、処理対象振舞い記述に基づいて、機能項目リスト103あるいは物理項目リスト102から、処理対象振舞い記述の機能名称あるいは物理名称のラベルを取得しクラスを生成する。
また、例えば、処理対象振舞い記述が機能項目の振舞い記述105の場合、振舞い記述生成部501は、図5の機能項目リスト103に基づいて、「機能A1」についてのソースコードを生成する。まず、振舞い記述生成部501は、機能項目リスト103から振舞い記述「機能A1」のラベルを取得し、機能項目クラス302であるClassA1クラスをソースコードとして生成する。具体的には、振舞い記述生成部501は、図9の1行目の「class ClassA1」を生成する。
処理対象振舞い記述が図5の機能項目リスト103の場合では、振舞い記述生成部501は、機能A1には親の機能項目である「機能A」があるので、「機能A」のラベルClassAを取得する。振舞い記述生成部501は、S702で生成したソースコード「class ClassA1」に対して、親クラス「ClassA」への継承記述を生成する。具体的には、振舞い記述生成部501は、図9の1行目の「:public ClassA」を生成する。
具体的には、S705において、操作生成部502は、機能項目リスト103あるいは物理項目リスト102から、未処理の操作名称のラベルを取得しメソッドを生成する。
また、例えば、操作生成部502は、図5の機能項目リスト103の場合、機能Aには操作「操作A」があるので、ラベルを取得し、メソッドをソースコードとして生成する。具体的には、操作生成部502は、図9の2行目の「void OpeA()」を生成する。
S706において、例外記述生成部503は、処理対象振舞い記述に未処理の例外記述があるか否かを判定する。例外記述生成部503は、未処理の例外記述がある場合、処理をS707に進める。また、例外記述生成部503は、未処理の例外記述が無い場合、処理をS704に進める。
例えば、例外記述生成部503は、図3の物理項目リスト102の場合、センサ1には例外項目「電源断」があるので、「電源断」のラベルを取得し、「起動」メソッドに例外コードを追加する。具体的には、例外記述生成部503は、図8の3行目と5行目のように、ソースコードを生成する。
S708において、条件記述生成部504は、処理対象振舞い記述に未処理の条件記述がある場合、処理をS709に進める。条件記述生成部504は、未処理の条件記述が無い場合、処理をS710に進める。
例えば、条件記述生成部504は、図5の機能項目リスト103の場合、操作「操作A」に条件記述があるので、条件記述内の属性名称「属性B」「属性C」「属性D」「属性E」のラベルを機能項目リスト103から取得し、if文を生成する。具体的には、条件記述生成部504は、図9の3行目と6行目のように、ソースコードを生成する。
S710において、処理記述生成部505は、処理対象振舞い記述に未処理の処理記述が有るか否かを判定する。処理記述生成部505は、未処理の処理記述が有る場合、処理をS711に進める。処理記述生成部505は、未処理の処理記述が無い場合、処理をS701に進める。
例えば、処理記述生成部505は、図5の機能項目リスト103の場合、操作「操作A」に未処理の処理記述があるので、条件記述内の属性名称「属性F」のラベルを取得し、制御文を生成する。具体的には、処理記述生成部505は、図9の4行目と7行目のように、ソースコードを生成する。
以上のソースコード生成処理S10により、図8及び図9に示すようなソースコード30が自動的に出力される。
なお、優先度制御生成部60は、機能項目の各々に設定された優先レベルに基づいて、実行中の機能項目の優先レベルと実行が要求された機能項目の優先レベルとを比較する。優先度制御生成部60は、優先レベルが高い方の機能項目を実行する優先度制御機能を有する優先度制御ソースコード303を生成する。
ソースコード生成装置20はコンピュータである。
ソースコード生成装置20は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図10では、1つのプロセッサ901が図示されているが、ソースコード生成装置20が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリにファイルとして記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
なお、プログラムプロダクトと称されるものは、「部」として説明している機能を実現するプログラムが記録された記憶媒体、記憶装置などであり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
本実施の形態では、主に、実施の形態1と異なる点について説明する。
本実施の形態では、機能項目に対する処理の優先度の仕様記述方法とコード生成方法とについて説明する。
図11を用いて、本実施の形態に係るソースコード生成システム800aのブロック構成につて説明する。
本実施の形態に係るソースコード生成装置20aでは、各機能項目の優先度を考慮し、実行することが可能となる。
優先度制御生成部601は、実行が要求された処理項目の親処理項目と異なる親処理項目を有する実行中の処理項目がある場合には、実行が要求された処理項目の親処理項目の優先度と実行中の処理項目の親処理項目の優先度とを比較する。優先度制御生成部601は、優先度が低い方の親処理項目を有する処理項目の実行を不可とすることで、異なる子項目同士の比較を省略できる。
図12を用いて、本実施の形態に係る優先度制御ソースコード3031を実現する優先度制御部3031aの優先度制御処理の手順について説明する。ここで、優先度制御ソースコード3031の優先度制御機能を実現する構成部を優先度制御部3031aとする。
S1202において、優先度制御部3031aは、優先レベルを判定し、優先レベルが0の場合、S1212の実行許可に進む。
優先レベルが0以外の場合、優先度制御部3031aは、S1203に進み、実行中の機能情報を取得する。
優先度制御部3031aは、実行中機能が有る場合、S1205で異なる親クラスの実行中機能があるか否かを判定する。親クラスとは、親機能項目すなわち親処理項目のことである。
優先度制御部3031aは、異なる親クラスの実行中機能が有る場合、S1207に進む。
優先度制御部3031aは、異なる親クラスの実行中機能が無い場合、S1206に進む。
以上で、優先度制御処理の手順についての説明を終わる。
機能B2の場合、実行許可を判断するためには親クラスである機能Bの優先レベルを考慮して、実行許可判定を行う。親クラスの参照方法は、各言語の継承クラスの参照機能を利用する。
例えば、機能A2が実行要求機能であり、機能B1及び機能B2が実行中機能である場合、機能A2と、機能B1及び機能B2とは親クラスが異なる。そこで親クラス同士の優先レベルを比較すると、機能A2の親クラスである機能Aの優先レベル「1」は、機能B1及び機能B2の親クラスである機能Bの優先レベル「2」よりも低い。そこで、機能A2と機能B1及び機能B2の各々との優先レベルを比較するまでもなく、機能Aは実行不可となる。
本実施の形態に係るソースコード生成装置20aでは、実行中の機能を階層に従って上位機能毎に管理し、優先度比較を段階的に行う。起動する機能の上位機能と、実行中の機能の上位機能同士で比較し、比較対象を絞り込む。次に同一階層の機能同士で優先度を比較する。これにより、比較対象数を減らすことができ、処理時間の短縮を可能とする。
ソースコード生成装置20の機能ブロックは、実施の形態に記載した機能を実現することができれば、任意であり、これらの機能ブロックを、他のどのような組み合わせでファイル管理装置を構成しても構わない。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (8)
- 処理の項目を表す処理項目と、前記処理項目に含まれる操作を表す操作情報と、例外処理を表す例外処理情報とを含む処理項目リストを記憶する処理項目リスト記憶部と、
前記処理項目リストに基づいて記述された前記処理項目の振舞いを記述する振舞い記述情報を記憶する振舞い記述情報記憶部と、
前記処理項目を用いて、クラスを定義するソースコードを生成する振舞い記述生成部と、
前記操作情報を用いて、前記操作を定義するソースコードを生成する操作生成部と、
前記例外処理情報を用いて、前記操作の実行中に発生する前記例外処理を表すソースコードを生成する例外記述生成部と、
前記振舞い記述情報を用いて、前記操作の条件分岐を表すソースコードを生成する条件記述生成部と、
前記振舞い記述情報を用いて、前記操作の処理内容を表すソースコードを生成する処理記述生成部と
を備えるソースコード生成システム。 - 前記処理項目リストは、
前記操作として複数の操作を表す前記操作情報を有し、
前記操作生成部は、
前記複数の操作の各操作を定義するソースコードを生成し、
前記例外記述生成部は、
前記複数の操作の各操作を定義するソースコードに対して前記例外処理を表すソースコードを割り付ける請求項1に記載のソースコード生成システム。 - 前記処理項目リストは、
前記処理項目として、複数の処理項目を有し、前記複数の処理項目の各々に優先度が設定され、
前記ソースコード生成システムは、
前記処理項目の各々に設定された優先度に基づいて、実行中の処理項目の優先度と実行が要求された処理項目の優先度とを比較し、優先度が高い方の処理項目を実行する優先度制御機能を有する優先度制御ソースコードを生成する優先度制御生成部を備える請求項1または2に記載のソースコード生成システム。 - 前記処理項目リストは、
前記処理項目として、複数の処理項目を有し、
前記複数の処理項目の各々に優先度が設定されるとともに、前記複数の処理項目の各々が上位の階層である親処理項目を有し、
実行中の処理項目の親処理項目の優先度と、実行が要求された処理項目の親処理項目の優先度とに基づいて、実行が要求された処理項目の実行の可否を判定する優先度制御機能を有する優先度制御ソースコードを生成する優先度制御生成部を備える請求項1または2に記載のソースコード生成システム。 - 前記優先度制御生成部は、
実行が要求された処理項目の親処理項目と異なる親処理項目を有する実行中の処理項目がある場合には、前記実行が要求された処理項目の親処理項目の優先度と前記実行中の処理項目の親処理項目の優先度とを比較し、優先度が低い方の親処理項目を有する処理項目の実行を不可とする請求項4に記載のソースコード生成システム。 - 処理の項目を表す処理項目と、前記処理項目に含まれる操作を表す操作情報と、例外処理を表す例外処理情報とを含む処理項目リストと、前記処理項目リストに基づいて記述された前記処理項目の振舞いを記述する振舞い記述情報とを取得する取得部と、
前記処理項目を用いて、クラスを定義するソースコードを生成する振舞い記述生成部と、
前記操作情報を用いて、前記操作を定義するソースコードを生成する操作生成部と、
前記例外処理情報を用いて、前記操作の実行中に発生する前記例外処理を表すソースコードを生成する例外記述生成部と、
前記振舞い記述情報を用いて、前記操作の条件分岐を表すソースコードを生成する条件記述生成部と、
前記振舞い記述情報を用いて、前記操作の処理内容を表すソースコードを生成する処理記述生成部と
を備えるソースコード生成装置。 - 処理の項目を表す処理項目と、前記処理項目に含まれる操作を表す操作情報と、例外処理を表す例外処理情報とを含む処理項目リストを記憶する処理項目リスト記憶部と、前記処理項目リストに基づいて記述された前記処理項目の振舞いを記述する振舞い記述情報を記憶する振舞い記述情報記憶部と、振舞い記述生成部と、操作生成部と、例外記述生成部と、条件記述生成部と、処理記述生成部とを備えるソースコード生成システムのソースコード生成方法において、
前記振舞い記述生成部が、前記処理項目を用いてクラスを定義するソースコードを生成し、
前記操作生成部が、前記操作情報を用いて前記操作を定義するソースコードを生成し、
前記例外記述生成部が、前記例外処理情報を用いて前記操作の実行中に発生する前記例外処理を表すソースコードを生成し、
前記条件記述生成部が、前記振舞い記述情報を用いて前記操作の条件分岐を表すソースコードを生成し、
前記処理記述生成部が、前記振舞い記述情報を用いて前記操作の処理内容を表すソースコードを生成するソースコード生成方法。 - 処理の項目を表す処理項目と、前記処理項目に含まれる操作を表す操作情報と、例外処理を表す例外処理情報とを含む処理項目リストと、前記処理項目リストに基づいて記述された前記処理項目の振舞いを記述する振舞い記述情報とを取得する取得処理と、
前記処理項目を用いてクラスを定義するソースコードを生成する振舞い記述生成処理と、
前記操作情報を用いて前記操作を定義するソースコードを生成する操作生成処理と、
前記例外処理情報を用いて前記操作の実行中に発生する前記例外処理を表すソースコードを生成する例外記述生成処理と、
前記振舞い記述情報を用いて前記操作の条件分岐を表すソースコードを生成する条件記述生成処理と、
前記振舞い記述情報を用いて前記操作の処理内容を表すソースコードを生成する処理記述生成処理と
をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015081441A JP6482362B2 (ja) | 2015-04-13 | 2015-04-13 | ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015081441A JP6482362B2 (ja) | 2015-04-13 | 2015-04-13 | ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016201009A JP2016201009A (ja) | 2016-12-01 |
JP6482362B2 true JP6482362B2 (ja) | 2019-03-13 |
Family
ID=57424340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015081441A Active JP6482362B2 (ja) | 2015-04-13 | 2015-04-13 | ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6482362B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167834B (zh) * | 2022-09-08 | 2022-12-23 | 杭州新中大科技股份有限公司 | 一种基于代码数据化的源代码自动生成方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10214191A (ja) * | 1996-11-27 | 1998-08-11 | Toshiba Corp | オブジェクト指向プログラミングに適用される開発支援装置および開発支援方法 |
JP2003208307A (ja) * | 2002-01-16 | 2003-07-25 | Hitachi Software Eng Co Ltd | ソースプログラム生成システム |
JP4354719B2 (ja) * | 2003-03-20 | 2009-10-28 | 三菱電機株式会社 | プログラム開発支援プログラム |
WO2007116490A1 (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Limited | ソースコード生成プログラム、ソースコード生成方法およびソースコード生成装置 |
JP5539921B2 (ja) * | 2011-03-31 | 2014-07-02 | 株式会社キャナリーリサーチ | プログラム開発ツール |
-
2015
- 2015-04-13 JP JP2015081441A patent/JP6482362B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016201009A (ja) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5911562B2 (ja) | ユーザインターフェースおよび入力制御を適応させる方法 | |
US10585826B2 (en) | Using processor types for processing interrupts in a computing device | |
BR112012027950B1 (pt) | método computadorizado de gerenciar uma pluralidade de subbuffers, meio legível por máquina não transitório e aparelho para gerenciar uma pluralidade de subbuffers | |
JP5778296B2 (ja) | 仮想計算機システム、仮想化機構、及びデータ管理方法 | |
CN114222975A (zh) | 使用存储器孔径冲刷顺序的数据保存 | |
EP4231138A1 (en) | Method and apparatus for fixing weak memory ordering problem | |
US20190324782A1 (en) | Class splitting in object-oriented environments | |
US10540151B1 (en) | Graphical customization of a firmware-provided user interface (UI) | |
JP6482362B2 (ja) | ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム | |
JP7082105B2 (ja) | 知識ベースを管理するための方法、装置、設備及び媒体 | |
US11809833B2 (en) | System and method for image localization in knowledge base content | |
JP2013161219A (ja) | コード生成装置、及びコード生成プログラム | |
US20230195666A1 (en) | Providing Platform Management Profiles to Platform Management Drivers on Electronic Devices | |
US11868225B2 (en) | Provided inputs and provided output actions for use in platform management policies for platform management drivers | |
US20230100758A1 (en) | Unique identifier creation and management for elaborated platform | |
US20230205532A1 (en) | Offloading computation based on extended instruction set architecture | |
JP7401252B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US11797738B2 (en) | Test apparatus, computer readable medium, and test method | |
JP7370264B2 (ja) | トレーサビリティ管理装置、トレーサビリティ管理方法、及び、トレーサビリティ管理プログラム | |
US20220414222A1 (en) | Trusted processor for saving gpu context to system memory | |
WO2022195892A1 (ja) | トレース制御装置、エミュレータ、トレース制御方法、および、トレース制御プログラム | |
JP2016139203A (ja) | 設計情報作成方法、設計情報作成装置及びプログラム | |
JP2006163523A (ja) | 動作モデル生成方法および動作モデル生成方法 | |
KR20210095508A (ko) | 전자 장치 및 이의 제어 방법 | |
US20200050783A1 (en) | Information processing device and computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181224 |
|
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: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6482362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |