JP2018005315A - 規則変換支援装置および規則変換支援プログラム - Google Patents

規則変換支援装置および規則変換支援プログラム Download PDF

Info

Publication number
JP2018005315A
JP2018005315A JP2016127349A JP2016127349A JP2018005315A JP 2018005315 A JP2018005315 A JP 2018005315A JP 2016127349 A JP2016127349 A JP 2016127349A JP 2016127349 A JP2016127349 A JP 2016127349A JP 2018005315 A JP2018005315 A JP 2018005315A
Authority
JP
Japan
Prior art keywords
rule
metamodel
influence
source code
file
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.)
Granted
Application number
JP2016127349A
Other languages
English (en)
Other versions
JP6667387B2 (ja
Inventor
健太郎 金井
Kentaro Kanai
健太郎 金井
晃徳 権藤
Akinori Gondo
晃徳 権藤
良二 河内
Ryoji Kawachi
良二 河内
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2016127349A priority Critical patent/JP6667387B2/ja
Publication of JP2018005315A publication Critical patent/JP2018005315A/ja
Application granted granted Critical
Publication of JP6667387B2 publication Critical patent/JP6667387B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】メタモデルが編集された際のソースコードの生成を支援できるようにすることを目的とする。【解決手段】差分抽出部110は、第1のメタモデルと第2のメタモデルとのメタモデル差分を抽出する。影響分析部120は、第1の規則ファイルから、メタモデル差分に対応する影響規則を特定する。規則編集部130は、影響規則を編集することによって、第2の規則ファイルを生成する。表示部192は、第2の規則ファイルを表示する。【選択図】図1

Description

本発明は、メタモデルが編集された際のソースコードの生成に関するものである。
ソフトウェアの開発を効率化するために、UML(Unified Modeling Language)を用いて記述されたモデルからソースコードを自動で生成する技術が広く普及している。
モデルからソースコードを生成するためのソフトウェアまたはハードウェアをソースコード生成器と呼ぶ。
モデルの規則を定義するものをメタモデルと呼ぶ。モデルはメタモデルに従って作成されている必要がある。
ソースコード生成器は、入力となるモデルに対応するメタモデルに従って作成されている必要がある。
モデルで表現したい内容の要求に応じて、メタモデルに変更が生じることがある。
メタモデルに変更が生じると、変更前のメタモデルに従って作成されているモデルを、変更後のメタモデルに対応するモデルに変換する必要が生じる場合がある。
その場合、変更前のメタモデルに従って作成されたソースコード生成器を、変更後のメタモデルに対応するソースコード生成器に変換する必要が生じる。
特許文献1には、変更前のメタモデルに従って作成されたモデルを変更後のメタモデルに対応するモデルに変換するための技術が開示されている。
特許文献1に開示された技術は、メタモデルの変更に応じてモデルを変換するためのソースコード等を自動で生成する技術である。
つまり、特許文献1に開示された技術は、メタモデルの変更に応じてソースコード生成器を変換する技術ではない。
そのため、特許文献1に開示された技術では、メタモデルの変更の影響が及ぶ箇所をソースコード生成器から抽出することはできない。
特開2008−262551号公報
本発明は、メタモデルが編集された際のソースコードの生成を支援できるようにすることを目的とする。
本発明の規則変換支援装置は、
第1のソースコードモデルに基づいて第1のソースコードを生成するためのソースコード規則を含んだ第1の規則ファイルと、前記第1のソースコードモデルを生成するための第1のメタモデルと、前記第1のメタモデルを編集して得られる第2のメタモデルとを記憶する記憶部と、
前記第1のメタモデルと前記第2のメタモデルとの差分をメタモデル差分として抽出する差分抽出部と、
前記第1の規則ファイルから前記メタモデル差分に対応するソースコード規則を影響規則として特定する影響分析部とを備える。
本発明によれば、第1のメタモデルが第2のメタモデルに編集された際にメタモデル差分に対応する影響規則を特定することができる。特定された影響規則が編集されることにより、第2の規則ファイルを得ることが可能となる。そして、第2の規則ファイルに基づいて、第2のソースコードを生成することが可能となる。
実施の形態1における規則変換支援装置100の構成図。 実施の形態1における記憶部191の構成図。 実施の形態1におけるソースコード生成器204の関係図。 実施の形態1における第1のメタモデル210を示す図。 実施の形態1における第1のソースコードモデル211を示す図。 実施の形態1における第1の規則ファイル212を示す図。 実施の形態1における第1のソースコード213を示す図。 実施の形態1における第2のメタモデル220を示す図。 実施の形態1における規則変換支援方法のフローチャート。 実施の形態1における合成メタモデル230を示す図。 実施の形態1における第1の規則ファイル212[タグ付き]を示す図。 実施の形態1における第2の規則ファイル222を示す図。 実施の形態における規則変換支援装置100のハードウェア構成図。
実施の形態および図面において、同じ要素または互いに相当する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略する。
実施の形態1.
規則変換支援装置100について、図1から図12に基づいて説明する。
***構成の説明***
図1に基づいて、規則変換支援装置100の構成を説明する。
規則変換支援装置100は、プロセッサ901とメモリ902と補助記憶装置903とディスプレイ904といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)であり、他のハードウェアを制御する。具体的には、プロセッサ901は、CPU、DSPまたはGPUである。CPUはCentral Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、GPUはGraphics Processing Unitの略称である。
メモリ902は揮発性の記憶装置である。メモリ902は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ902はRAM(Random Access Memory)である。
補助記憶装置903は不揮発性の記憶装置である。具体的には、補助記憶装置903は、ROM、HDDまたはフラッシュメモリである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
プロセッサ901とメモリ902と補助記憶装置903とをまとめたハードウェアを「プロセッシングサーキットリ」という。
ディスプレイ904は、画像等を表示する表示装置である。具体的には、ディスプレイ904は液晶ディスプレイである。ディスプレイ904はモニタともいう。
規則変換支援装置100は、差分抽出部110と影響分析部120と規則編集部130といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
補助記憶装置903には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ902にロードされて、プロセッサ901によって実行される。
さらに、補助記憶装置903にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ902にロードされて、プロセッサ901によって実行される。
つまり、プロセッサ901は、OSを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ902、補助記憶装置903、プロセッサ901内のレジスタまたはプロセッサ901内のキャッシュメモリといった記憶装置に記憶される。
メモリ902は、規則変換支援装置100で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部191として機能する。但し、他の記憶装置が記憶部191として機能してもよい。
ディスプレイ904は画像等を表示する表示部192として機能する。
規則変換支援装置100は、プロセッサ901を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
図2に基づいて、記憶部191の構成を説明する。
記憶部191には、第1のメタモデル210、第1の規則ファイル212、第2のメタモデル220および第2の規則ファイル222などが記憶される。
第1の規則ファイル212は、第1のソースコードモデルに基づいて第1のソースコードを生成するためのソースコード規則を含んだファイルである。
第1のメタモデル210は、第1のソースコードモデルを生成するためのメタモデルである。
第2のメタモデル220は、第1のメタモデル210を編集して得られるメタモデルである。
第2の規則ファイル222は、第1の規則ファイル212を編集して得られるファイルである。
第1の規則ファイル212、第1のメタモデル210、第2のメタモデル220および第2の規則ファイル222の詳細については後述する。
***動作の説明***
規則変換支援装置100の動作は規則変換支援方法に相当する。また、規則変換支援方法の手順は規則変換支援プログラムの手順に相当する。
図3に基づいて、メタモデル200とソースコードモデル201と規則ファイル202とソースコード203とソースコード生成器204との関係を説明する。
ソースコード203が実行されることによって、複数の要素を有するデータが処理される。
ソースコードモデル201は、処理されるデータに含まれる要素同士の関係を表すモデルである。具体的には、ソースコードモデル201はUMLモデルである。
メタモデル200は、ソースコードモデル201の上位のモデルであり、ソースコードモデル201の規則となる情報を有する。
規則ファイル202には、ソースコードモデル201に基づいてソースコード203を生成するためのソースコード規則が含まれる。
ソースコード生成器204は、ソースコード203を生成するソフトウェアまたはハードウェアである。
ソースコードモデル201は、メタモデル200に基づいて生成される。
ソースコード生成器204は、ソースコードモデル201と規則ファイル202とに基づいて、ソースコード203を生成する。
第1のメタモデル210および第2のメタモデル220は、メタモデル200である。
第1の規則ファイル212および第2の規則ファイル222は、規則ファイル202である。
図4に基づいて、第1のメタモデル210の具体例を説明する。
第1のメタモデル210は、テーブルを構成する要素が定義されたメタモデル200である。
第1のメタモデル210は、<<Enum>>、[Table]、[Column]、[PrimaryKay]および[ForeignKey]といった要素を含んでいる。
[Table]は、[name]という要素を有する。[name]は文字列である。
[Table]は、0個以上の[Column]を持つことができる。[Table]は、1個の[PrimaryKey]を持つ。[Table]は、0個以上の[ForeignKey]を持つことができる。
図5に基づいて、図4の第1のメタモデル210に基づいて生成される第1のソースコードモデル211を説明する。
第1のソースコードモデル211は、「Customer」と「ItemOrder」といった要素を含んでいる。
「Customer」および「ItemOrder」は、図4の[Table]に対応する要素である。
「Customer」において、Customerという文字列は、図4の[Table]の[name]に対応する要素である。
「Customer」は、「CustomerID」、「CustomerName」および「CustomerAddress」といった要素を持っている。これらの要素は、図4の[Column]に対応する要素である。
さらに、「Customer」は、図4の[PrimaryKey]に対応する要素として、「CustomerID」を参照する要素を持っている。
「Customer」は、図4の[ForeignKey]に対応する要素を持っていない。
「ItemOrder」において、ItemOrderという文字列は、図4の[Table]の[name]に対応する要素である。
「ItemOrder」は、「OrderID」、「OrderData」、「OrderNum」および「CustomerID」といった要素を持っている。これらの要素は、図4の[Column]に対応する要素である。
さらに、「ItemOrder」は、図4の[PrimaryKey]に対応する要素として、「OrderID」を参照する要素を持っている。
さらに、「ItemOrder」は、図4の[ForeignKey]に対応する要素として、「CustomerID」を参照する要素を持っている。
図6に基づいて、図4の第1のメタモデル210に対応する第1の規則ファイル212を説明する。
第1の規則ファイル212は、(A)、(B)および(C)の規則データを含んでいる。
(A)の規則データは、図4の[Table]に対応する規則データであり、第1から第9のソースコード規則を含んでいる。
(B)の規則データは、図4の[PrimaryKey]から参照される[Column]に対応する規則データであり、第1から第7のソースコード規則を含んでいる。
(C)の規則データは、図4の[ForeignKey]から参照される[Column]に対応する規則データであり、第1から第12のソースコード規則を含んでいる。
図7に、図5の第1のソースコードモデル211と図6の第1の規則ファイル212とに基づいて生成される第1のソースコード213を示す。
第1のソースコード213は、CustomerテーブルとItemOrderテーブルとを生成するためのソースコード203である。
図8に基づいて、図4の第1のメタモデル210を編集して得られる第2のメタモデル220を説明する。
第2のメタモデル220は、図4の第1のメタモデル210が以下の(1)から(3)のように編集されることによって得られたメタモデル200である。
(1)図4の[Column]に[Nullable]という要素が追加された。
(2)図4の[PrimaryKey]が[PK]という要素に変更された。
(3)図4の[ForeignKey]が削除された。
図9に基づいて、規則変換支援方法を説明する。
ステップS110は差分抽出処理である。
ステップS110において、差分抽出部110は、第1のメタモデル210と第2のメタモデル220との差分を抽出する。
抽出される差分をメタモデル差分という。
具体的には、差分抽出部110は、第1のメタモデル210に含まれる要素と第2のメタモデル220に含まれる要素とを互いに比較し、比較結果に基づいて追加要素と変更要素と削除要素とを抽出する。
抽出される追加要素、変更要素および削除要素がメタモデル差分である。
追加要素は、第2のメタモデル220に追加された要素である。
図4の第1のメタモデル210と図8の第2のメタモデル220とを互いに比較すると、第2のメタモデル220の[Column]に[Nullable]が追加されている。この[Nullable]は第1のメタモデル210には存在しない。
したがって、[Nullable]は追加要素である。
変更要素は、第1のメタモデル210と第2のメタモデル220とに共通する要素であって一部異なる要素である。言い換えると、変更要素は、第1のメタモデル210と第2のメタモデル220とで互いに対応する要素のうち、一部異なる要素である。
図4の第1のメタモデル210と図8の第2のメタモデル220とを互いに比較すると、primaryKeysという属性を有する要素が共通している。第1のメタモデル210における要素の名称は[PrimaryKey]であり、第2のメタモデル220における要素の名称は[PK]であり、互いの要素の名称が異なる。
したがって、第1のメタモデル210における[PrimaryKey]および第2のメタモデル220における[PK]は変更要素である。
削除要素は、第1のメタモデル210から削除された要素である。
図4の第1のメタモデル210と図8の第2のメタモデル220とを互いに比較すると、第1のメタモデル210から[ForeignKey]が削除されている。この[ForeignKey]は第2のメタモデル220に存在しない。
したがって、[ForeignKey]は削除要素である。
さらに、差分抽出部110は、以下のようにメタモデル差分にタグを付記する。
まず、差分抽出部110は、第1のメタモデル210と第2のメタモデル220とを用いて、合成メタモデル230を生成する。合成メタモデル230は、第1のメタモデル210と第2のメタモデル220とを合成して得られるメタモデル200である。つまり、合成メタモデル230は、第1のメタモデル210が有する要素と第2のメタモデル220が有する要素とを有する。
そして、差分抽出部110は、合成メタモデル230の中で追加要素に追加タグを付記する。
また、影響分析部120は、合成メタモデル230の中で変更要素に変更タグを付記する。
また、影響分析部120は、合成メタモデル230の中で削除要素に削除タグを付記する。
図10に基づいて、図4の第1のメタモデル210と図8の第2のメタモデル220とに対応する合成メタモデル230においてメタモデル差分にタグが付記された後の合成メタモデル230を説明する。
<<Added>>は追加タグである。<<Change>>は変更タグである。<<Deleted>>は削除タグである。
合成メタモデル230は、図4の第1のメタモデル210が有する要素と図8の第2のメタモデル220が有する要素とを有している。
追加要素である[Nullable]には追加タグが付記されている。
変更前の変更要素である[PrimaryKey]には変更タグが付記されている。また、変更後の追加要素である[PK]には<<updated>>という参照が付記されている。
削除要素である[ForeignKey]、[ForeignKey]の参照元および[ForeignKey]の参照先には削除タグが付記されている。
図9に戻り、ステップS120から説明を続ける。
ステップS120は影響分析処理である。
ステップS120において、影響分析部120は、第1の規則ファイル212から、ステップS110で抽出されたメタモデル差分に対応するソースコード規則を特定する。特定されるソースコード規則を影響規則という。
メタモデル差分に対応するソースコード規則とは、メタモデル差分の影響を受けるソースコード規則である。
具体的には、影響分析部120は、以下のように影響規則を特定する。
まず、影響分析部120は、ステップS110で生成された合成メタモデル230から、タグが付記された要素を抽出する。抽出される要素がメタモデル差分である。
そして、影響分析部120は、第1の規則ファイル212に含まれる規則データに対して構文解析および字句解析を行い、メタモデル差分の影響を受けるソースコード規則を特定する。特定されるソースコード規則が影響規則である。
さらに、影響分析部120は、以下のように影響規則にタグを付記する。
影響分析部120は、第1の規則ファイル212の中で追加要素に対応する影響規則に追加タグを付記する。
影響分析部120は、第1の規則ファイル212の中で変更要素に対応する影響規則に変更タグを付記する。
影響分析部120は、第1の規則ファイル212の規則ファイルの中で削除要素に対応する影響規則に削除タグを付記する。
図6の第1の規則ファイル212の規則データ(A)において、第3行から第5行までのソースコード規則は、追加要素[Nullable]の影響を受けるソースコード規則である。
したがって、規則データ(A)において第3行から第5行までのソースコード規則は、追加要素[Nullable]に対応する影響規則である。
そこで、影響分析部120は、規則データ(A)において第3行から第5行までのソースコード規則に追加タグを付記する。
図6の第1の規則ファイル212の規則データ(B)において、第3行から第5行までのソースコード規則は、追加要素[Nullable]の影響を受けるソースコード規則である。
したがって、規則データ(B)において第3行から第5行までのソースコード規則は、追加要素[Nullable]に対応する影響規則である。
そこで、影響分析部120は、規則データ(B)において第3行から第5行までのソースコード規則に追加タグを付記する。
図6の第1の規則ファイル212の規則データ(B)において、第1行のソースコード規則は、変更要素[PraimaryKey]および変更要素[PK]の影響を受けるソースコード規則である。
したがって、規則データ(B)において第1行のソースコード規則は、変更要素[PraimaryKey]および変更要素[PK]に対応する影響規則である。
そこで、影響分析部120は、規則データ(B)において第1行のソースコード規則に変更タグを付記する。
図6の第1の規則ファイル212の規則データ(A)において、第8行のソースコード規則は、削除要素[ForeignKey]の影響を受けるソースコード規則である。
したがって、規則データ(A)において第8行のソースコード規則は、削除要素[ForeignKey]に対応する影響規則である。
そこで、影響分析部120は、規則データ(A)において第1行のソースコード規則に削除タグを付記する。
図6の第1の規則ファイル212の規則データ(C)において、第1行から第12行までのソースコード規則は、削除要素[ForeignKey]の影響を受けるソースコード規則である。
したがって、規則データ(C)において第1行から第12行までのソースコード規則は、削除要素[ForeignKey]に対応する影響規則である。
そこで、影響分析部120は、規則データ(C)において第1行から第12行までのソースコード規則に削除タグを付記する。
図11に基づいて、図6の第1の規則ファイル212において影響規則にタグが付記された後の第1の規則ファイル212を説明する。
規則データ(A)において第3行から第5行までの影響規則には追加タグが付記されている。
規則データ(A)において第8行の影響規則には削除タグが付記されている。
規則データ(B)において第1行の影響規則には変更タグが付記されている。
規則データ(B)において第3行から第5行までの影響規則には追加タグが付記されている。
規則データ(C)において第1行から第12行までの影響規則には削除タグが付記されている。
図9に戻り、ステップS130から説明を続ける。
ステップS130は規則編集処理である。
ステップS130において、規則編集部130は、追加要素と変更要素と削除要素とのうちのメタモデル差分の種類に基づいて影響規則を編集することによって、第2の規則ファイル222を生成する。
具体的には、規則編集部130は、追加タグと変更タグと削除タグとのうちの影響規則に付記されたタグに基づいて影響規則を編集することによって、第2の規則ファイル222を生成する。
但し、規則編集部130は、影響規則が編集条件を満たす場合に影響規則を編集する。
編集条件は、編集可能規則と編集不可規則とのそれぞれの条件である。
編集可能規則は、自動で編集することができる影響規則である。
編集不可規則は、自動で編集することができない影響規則である。
具体的には、追加要素に対応する影響規則は、追加すべき内容が不明であるため、編集不可規則である。
また、変更要素に対応する影響規則は、変更の前後の内容が判明しているため、編集可能規則である。
また、削除要素に対応する影響規則は、削除すればよいため、編集可能規則である。
さらに、規則編集部130は、第2の規則ファイル222の中で影響規則に対応する箇所にメタモデル差分の種類を記す。
具体的には、規則編集部130は、第2の規則ファイル222の中で影響規則に対応する箇所に影響規則に付記されたタグを記す。
図12に基づいて、図11の第1の規則ファイル212を編集することによって生成される第2の規則ファイル222を説明する。
第2の規則ファイル222は、図11の第1の規則ファイル212と同じく、規則データ(A)と規則データ(B)と規則データ(C)とを含んでいる。
規則データ(A)において第3行から第5行までの影響規則には追加タグが付記されている。追加要素に対応する影響規則は編集不可規則であるため、規則データ(A)において第3行から第5行までの影響規則は編集されていない。
規則データ(A)において第8行には削除タグが付記されている。削除要素に対応する影響規則は編集可能規則であるため、規則データ(A)において第8行の影響規則は削除されている。
規則データ(B)において第1行の影響規則には変更タグが付記されている。変更要素に対応する影響規則は編集可能規則であるため、規則データ(B)において第1行の影響規則は編集されている。具体的には、PrimaryKeyという文字列がPKという文字列に変更されている。
規則データ(B)において第3行から第5行までの影響規則には追加タグが付記されている。追加要素に対応する影響規則は編集不可規則であるため、規則データ(B)において第3行から第5行までの影響規則は編集されていない。
規則データ(C)において第1行から第12行まで削除タグが付記されている。削除要素に対応する影響規則は編集可能規則であるため、規則データ(C)において第1行から第12行までの影響規則は削除されている。
図9に戻り、ステップS140を説明する。
ステップS140において、表示部192は、ステップS130で生成された第2の規則ファイル222を表示する。
***実施の形態1の効果***
メタモデル200の変更に伴う規則ファイル202の影響箇所を漏れなく抽出し、自動変換が可能な影響箇所を自動で変換することが可能となる。これにより、規則ファイル202の編集漏れおよび規則ファイル202の編集の省力化を図ることができる。その結果、ソフトウェア開発を効率化することが可能となる。
***実施の形態の補足***
実施の形態において、規則変換支援装置100の機能はハードウェアで実現してもよい。
図13に、規則変換支援装置100の機能がハードウェアで実現される場合の構成を示す。
規則変換支援装置100は処理回路990を備える。処理回路990はプロセッシングサーキットリともいう。
処理回路990は、差分抽出部110と影響分析部120と規則編集部130と記憶部191といった「部」の機能を実現する専用の電子回路である。
具体的には、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
規則変換支援装置100は、処理回路990を代替する複数の処理回路を備えてもよい。複数の処理回路は、「部」の機能を分担する。
規則変換支援装置100の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、「部」の機能の一部をソフトウェアで実現し、「部」の機能の残りをハードウェアで実現してもよい。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
100 規則変換支援装置、110 差分抽出部、120 影響分析部、130 規則編集部、191 記憶部、192 表示部、200 メタモデル、201 ソースコードモデル、202 規則ファイル、203 ソースコード、204 ソースコード生成器、210 第1のメタモデル、211 第1のソースコードモデル、212 第1の規則ファイル、213 第1のソースコード、220 第2のメタモデル、222 第2の規則ファイル、230 合成メタモデル、901 プロセッサ、902 メモリ、903 補助記憶装置、904 ディスプレイ、990 処理回路。

Claims (12)

  1. 第1のソースコードモデルに基づいて第1のソースコードを生成するためのソースコード規則を含んだ第1の規則ファイルと、前記第1のソースコードモデルを生成するための第1のメタモデルと、前記第1のメタモデルを編集して得られる第2のメタモデルとを記憶する記憶部と、
    前記第1のメタモデルと前記第2のメタモデルとの差分をメタモデル差分として抽出する差分抽出部と、
    前記第1の規則ファイルから前記メタモデル差分に対応するソースコード規則を影響規則として特定する影響分析部と
    を備える規則変換支援装置。
  2. 前記差分抽出部は、前記第2のメタモデルに追加された追加要素と、前記第1のメタモデルと前記第2のメタモデルとに共通する要素であって一部異なる要素である変更要素と、第1のメタモデルから削除された削除要素とを前記メタモデル差分として抽出する
    請求項1に記載の規則変換支援装置。
  3. 前記影響分析部は、前記第1の規則ファイルの中で前記追加要素に対応する影響規則に追加タグを付記し、前記第1の規則ファイルの中で前記変更要素に対応する影響規則に変更タグを付記し、前記第1の規則ファイルの中で前記削除要素に対応する影響規則に削除タグを付記する
    請求項2に記載の規則変換支援装置。
  4. 前記追加タグと前記変更タグと前記削除タグとのうちの前記影響規則に付記されたタグに基づいて前記影響規則を編集することによって、第2の規則ファイルを生成する規則編集部を備える
    請求項3に記載の規則変換支援装置。
  5. 前記規則編集部は、前記影響規則が編集条件を満たす場合に前記影響規則を編集する
    請求項4に記載の規則変換支援装置。
  6. 前記規則編集部は、前記第2の規則ファイルの中で前記影響規則に対応する箇所に前記影響規則に付記されたタグを記す
    請求項5に記載の規則変換支援装置。
  7. 前記第2の規則ファイルを表示する表示部を備える
    請求項6に記載の規則変換支援装置。
  8. 前記追加要素と前記変更要素と前記削除要素とのうちの前記メタモデル差分の種類に基づいて前記影響規則を編集することによって、第2の規則ファイルを生成する規則編集部を備える
    請求項2に記載の規則変換支援装置。
  9. 前記規則編集部は、前記影響規則が編集条件を満たす場合に前記影響規則を編集する
    請求項8に記載の規則変換支援装置。
  10. 前記規則編集部は、前記第2の規則ファイルの中で前記影響規則に対応する箇所に前記メタモデル差分の種類を記す
    請求項9に記載の規則変換支援装置。
  11. 前記第2の規則ファイルを表示する表示部を備える
    請求項10に記載の規則変換支援装置。
  12. 第1の規則ファイルと第1のメタモデルと第2のメタモデルとを用いる規則変換支援プログラムであり、
    前記第1の規則ファイルは、第1のソースコードモデルに基づいて第1のソースコードを生成するためのソースコード規則を含んだファイルであり、
    前記第1のメタモデルは、前記第1のソースコードモデルを生成するためのメタモデルであり、
    前記第2のメタモデルは、前記第1のメタモデルを編集して得られるメタモデルであり、
    前記第1のメタモデルと前記第2のメタモデルとの差分をメタモデル差分として抽出する差分抽出部と、
    前記第1の規則ファイルから前記メタモデル差分に対応するソースコード規則を影響規則として特定する影響分析部として
    コンピュータを機能させるための規則変換支援プログラム。
JP2016127349A 2016-06-28 2016-06-28 規則変換支援装置および規則変換支援プログラム Active JP6667387B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016127349A JP6667387B2 (ja) 2016-06-28 2016-06-28 規則変換支援装置および規則変換支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016127349A JP6667387B2 (ja) 2016-06-28 2016-06-28 規則変換支援装置および規則変換支援プログラム

Publications (2)

Publication Number Publication Date
JP2018005315A true JP2018005315A (ja) 2018-01-11
JP6667387B2 JP6667387B2 (ja) 2020-03-18

Family

ID=60949314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016127349A Active JP6667387B2 (ja) 2016-06-28 2016-06-28 規則変換支援装置および規則変換支援プログラム

Country Status (1)

Country Link
JP (1) JP6667387B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020057385A (ja) * 2018-09-28 2020-04-09 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH ソースコード作成のためのモデルの変更方法
WO2021059893A1 (ja) * 2019-09-23 2021-04-01 株式会社デンソークリエイト 設計支援ツール

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191063A (ja) * 1997-12-26 1999-07-13 Fujitsu Ltd プログラム作成支援装置およびそのプログラム記憶媒体
JP2008269136A (ja) * 2007-04-18 2008-11-06 Internatl Business Mach Corp <Ibm> モデル駆動型開発を支援する装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191063A (ja) * 1997-12-26 1999-07-13 Fujitsu Ltd プログラム作成支援装置およびそのプログラム記憶媒体
JP2008269136A (ja) * 2007-04-18 2008-11-06 Internatl Business Mach Corp <Ibm> モデル駆動型開発を支援する装置及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020057385A (ja) * 2018-09-28 2020-04-09 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH ソースコード作成のためのモデルの変更方法
JP7396846B2 (ja) 2018-09-28 2023-12-12 ディスペース ゲー・エム・ベー・ハー ソースコード作成のためのモデルの変更方法
WO2021059893A1 (ja) * 2019-09-23 2021-04-01 株式会社デンソークリエイト 設計支援ツール
JP2021051405A (ja) * 2019-09-23 2021-04-01 株式会社デンソークリエイト 設計支援ツール

Also Published As

Publication number Publication date
JP6667387B2 (ja) 2020-03-18

Similar Documents

Publication Publication Date Title
KR101240092B1 (ko) 컴퓨터 플랫폼에서의 방법 및 컴퓨터 플랫폼
JP6070936B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN109254992A (zh) 项目生成方法及系统、计算机系统和计算机可读存储介质
JP2009520268A5 (ja)
US20160019312A1 (en) Database mapping of models for reporting tools in model driven development
US9286228B2 (en) Facilitating caching in an image-processing system
JP2010521033A (ja) ユーザーインターフェース要素を用いた分離、管理および通信
US8997037B2 (en) User customizable queries to populate model diagrams
US8584080B2 (en) Modeling and generating computer software product line variants
JP6667387B2 (ja) 規則変換支援装置および規則変換支援プログラム
US20070236369A1 (en) Configurable importers and resource writers
JP2009053767A (ja) プログラム解析装置、および、プログラム解析方法
JP2010176594A (ja) ソースコードバージョン管理プログラム及びソースコードバージョン管理方法
JP6008456B2 (ja) 装置及びプログラム
JP2006259805A (ja) プロセッサ設計装置、プロセッサ設計方法およびプロセッサ設計プログラム
JP2008165661A (ja) 帳票出力装置、および、業務処理装置
KR101099491B1 (ko) 소모전력 분석방법
JP4120879B2 (ja) プログラム生成システム及び方法とそのプログラム
US9355189B2 (en) Determining dependencies during macro expansion
JP2007265319A (ja) データ処理方法および装置
JP2024003204A (ja) 運転支援装置、運転支援方法及びコンピュータプログラム
CN115268928A (zh) 一种筛选前端无用图片资源的方法及系统
WO2017005025A1 (zh) 一种恢复设备数据的方法和装置
CN116243893A (zh) 一种低代码出码方法
JP2008269275A (ja) ソフトウェア開発支援システム、開発支援方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200120

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: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200225

R150 Certificate of patent or registration of utility model

Ref document number: 6667387

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