JP2008176364A - Program segmentation support apparatus - Google Patents
Program segmentation support apparatus Download PDFInfo
- Publication number
- JP2008176364A JP2008176364A JP2007006659A JP2007006659A JP2008176364A JP 2008176364 A JP2008176364 A JP 2008176364A JP 2007006659 A JP2007006659 A JP 2007006659A JP 2007006659 A JP2007006659 A JP 2007006659A JP 2008176364 A JP2008176364 A JP 2008176364A
- Authority
- JP
- Japan
- Prior art keywords
- group
- symbol
- program
- component
- inter
- 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
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、プログラムを分割し、プログラム部品の集合として再構成するプログラム部品化支援装置に関する。 The present invention relates to a program componentization support apparatus that divides a program and reconfigures it as a set of program components.
C言語をはじめとするプログラム言語により記述されたプログラムは、関数やメソッド等のプログラム言語の持つ機能により、プログラムをモジュール化し再利用することが可能である。しかし、保守による機能拡張を続けたソフトウェアは、モジュール同士が相互に参照して依存関係が複雑になることが多く、その結果、プログラムの再利用及びメインテナンスが困難になる。既存資産のプログラムの再利用性及びメインテナンス性を高めるには、既存資産であるプログラムを、モジュール間の参照関係が疎であるプログラム部品に分割することがポイントであるが、いかに効率よく分割するかがソフトウェア開発における課題の1つとなっている。 A program written in a program language such as C language can be reused by modularizing the program with functions of the program language such as functions and methods. However, software that continues to expand its functions by maintenance often has a complicated dependency relationship with each other because modules refer to each other. As a result, it is difficult to reuse and maintain a program. To improve the reusability and maintenance of existing asset programs, it is important to divide existing asset programs into program parts that have sparse reference relationships between modules. Is one of the challenges in software development.
こうした課題に対して、プログラムのソースコードを解析しソースコード中の参照関係をユーザに提示する技術や、自動でソフトウェアの分割指針を提示する技術などが提案されている。 In order to deal with such problems, a technique for analyzing the source code of a program and presenting a reference relationship in the source code to a user, a technique for automatically presenting a software division guideline, and the like have been proposed.
特許文献1では、プログラムを構成する特定の部分(プログラム断片)と外部とのインターフェースに関する情報の理解を容易にすることを目的として、ユーザがソースコード中の任意のプログラム断片を指定すると、そのプログラム断片と外部との変数参照関係の情報を変数ごとに抽出する技術が開示されている。
In
特許文献2では、ソフトウェアを構成するモジュールの構造化を促進し、独立性、保守性および再利用性の高いモジュールの作成を目的とし、モジュール内のブロックの特性データを測定し、測定した特性データに基づきモジュール分割の指針をユーザに提示する技術が開示されている。
上記特許文献1では、プログラム中の指定した箇所と外部とのインターフェース情報を抽出することはできるが、複数箇所での変数、関数、領域の選択と参照関係の抽出に関しては考慮はなされていない。さらに、特許文献1にてプログラム分割箇所における参照関係を解析しても、その箇所は参照関係が疎となる最も適切な分割箇所であるかどうかは分からない。ユーザは分割箇所を変更しながら試行錯誤的に解析を行い、その結果を見ながら適切な分割箇所を探す必要があった。
In the above-mentioned
上記特許文献2では、モジュール構造化支援装置は、解析結果を基に自動的にプログラム分割指針を提示する。このためユーザは、解析対象のプログラムを指定するだけで、プログラムの適切な分割箇所を知ることができる。その半面、プログラム分割箇所及び分割規模は装置に予め設定されている条件に従って自動的に決定されてしまうため、ユーザが所望する部品規模や部品グループの条件を反映させることができなかった。
In
さらに特許文献1と特許文献2の技術を組み合わせようとした場合、プログラムを部品化し部品グループの要素を指定するために用いる共通の変数をどのように設定するかという課題がある。
Furthermore, when trying to combine the techniques of
本発明の目的は、ユーザが試行錯誤することなく適切なプログラム分割箇所を知ることができ、ユーザにより指定されたプログラム部品規模や部品グループの条件を反映させたプログラム部品化支援装置を提供することである。 An object of the present invention is to provide a program componentization support device that allows a user to know an appropriate program division location without trial and error and reflects the program component scale and component group conditions specified by the user. It is.
本発明のプログラム部品化支援装置は、指定されたプログラムからシンボルを抽出し、抽出したシンボル間の参照関係を解析するシンボル情報解析部と、シンボル情報解析部で解析したシンボル間の参照関係をユーザに提示し、ユーザから、各シンボルを分類させるための部品グループの設定と各シンボルをどの部品グループに所属させるかの指定を受け付ける部品グループ指定部と、シンボル情報解析部の解析結果を参照して、部品グループ指定部にて受け付けた部品グループの指定に従い、指定された部品グループ間の参照関係を解析する部品グループ間参照関係解析部と、部品グループ間参照関係解析部の解析結果を表示させる表示制御部を備える。 The program componentization support apparatus of the present invention extracts symbols from a specified program, analyzes a reference relationship between the extracted symbols, and a reference relationship between symbols analyzed by the symbol information analysis unit. Refer to the analysis result of the symbol group analysis unit and the component group specification unit that accepts the setting of the component group for classifying each symbol and the specification of which component group each symbol belongs to from the user. Display that displays the analysis results of the inter-part group reference relationship analysis unit and the inter-part group reference relationship analysis unit that analyze the reference relationship between the specified component groups according to the specification of the component group received by the component group specification unit A control unit is provided.
また前記部品グループ指定部は、前記シンボルを分類する際に一部のシンボルについてはその所属先を一旦未定とするグレーグループに収容して受け付け、前記部品グループ間参照関係解析部は、該グレーグループをどの部品グループに所属させるべきかを判定して部品グループを再構成する。その際前記部品グループ間参照関係解析部は、再構成後の部品グループ間の参照量が最小となるように前記グレーグループの所属先を決定する。 The component group designating unit accepts and accepts a part of symbols belonging to a gray group whose affiliation is temporarily undecided when classifying the symbols, and the inter-component group reference relationship analysis unit To which part group should belong, and the part group is reconfigured. At this time, the inter-part group reference relationship analysis unit determines the affiliation destination of the gray group so that the reference amount between the reconfigured part groups is minimized.
さらに、ユーザから前記部品グループ間の参照指針の指定を受け付ける部品グループ間参照指針指定部を有し、前記部品グループ間参照関係解析部は、上記部品グループ間参照指針指定部にて受け付けた参照指針の指定を満足するように前記グレーグループの所属先を決定する。その際前記部品グループ間参照関係解析部は、前記グレーグループの所属先を変えた各種配置パターンについて前記指定された参照指針との一致度を求め、該一致度が最大となるもののうち、前記部品グループ間の参照量が最小となる配置パターンを最適構成として決定する。 Furthermore, it has an inter-part group reference guideline specification unit that receives a specification of a reference guideline between the component groups from a user, and the inter-part group reference relationship analysis unit receives the reference guideline received by the inter-part group reference guide specification unit The gray group affiliation destination is determined so as to satisfy the designation. At that time, the inter-part group reference relationship analyzing unit obtains a degree of coincidence with the designated reference guide for various arrangement patterns in which the gray group belongs, and among the parts having the largest degree of coincidence, the part An arrangement pattern that minimizes the reference amount between groups is determined as the optimum configuration.
本発明のプログラム部品化支援装置によれば、ユーザ所望のプログラム部品規模や部品グループの条件を反映させて、適切な分割箇所でプログラムを部品化でき、ユーザの利便性が向上する。 According to the program componentization support apparatus of the present invention, a program can be divided into parts at appropriate division locations by reflecting the user-desired program component scale and component group conditions, and the convenience for the user is improved.
以下、本発明の実施の形態を図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明によるプログラム部品化支援装置の実施例1を示すブロック構成図である。本装置は、例えばパソコンに解析用ソフトウェアを搭載して以下の機能を実現する。初めに用語の定義をすると、「シンボル」とは関数名、変数名である。また、プログラムの分割単位である「プログラム部品」はシンボルで構成され、「部品グループ」とは、プログラム部品の集合である。以下、構成各部の説明をする。 FIG. 1 is a block diagram showing a first embodiment of a program componentization support apparatus according to the present invention. For example, this apparatus implements the following functions by installing analysis software in a personal computer. When terms are first defined, “symbols” are function names and variable names. A “program part” that is a program division unit is composed of symbols, and a “part group” is a set of program parts. Hereinafter, each part of the configuration will be described.
ユーザ入力部11は、ユーザからのデータ入力や処理要求を受け付ける。対象プログラム指定部12は解析対象となるプログラムを指定し、プログラム記憶部13に指定されたプログラムを記憶する。
The
シンボル情報解析部14は、プログラム記憶部13に記憶されたプログラムを参照し、関数、変数といったシンボル情報を解析し、その後解析したシンボル情報を用いて、シンボル間の参照関係を解析する。シンボル情報記憶部15には、解析したシンボル情報をシンボルテーブル(図4)として記憶する。参照関係記憶部16には、解析したシンボル間の参照関係をシンボル間参照関係テーブル(図6)として記憶する。
The symbol
部品グループ指定部17は、参照関係記憶部16に記憶されたシンボル間参照関係を基に、ユーザによりそのシンボルを所属させる部品グループを指定し、部品グループ指定情報記憶部18には、指定されたシンボルの所属先を部品グループ配置テーブル(図8)として記憶する。部品グループ間参照関係解析部19は、部品グループ指定情報記憶部18の情報を基に、部品グループ間の参照関係を解析し、解析結果記憶部20に解析結果を部品グループ間参照関係テーブル(図9)として記憶する。表示制御部21は、ユーザ入力部11からの要求を受けると解析結果を表示させる。
Based on the inter-symbol reference relationship stored in the reference
図2は、実施例1に係るプログラム部品化支援装置の全体の処理を示すフローチャートである。以下、処理の順に説明する。 FIG. 2 is a flowchart illustrating the overall processing of the program componentization support apparatus according to the first embodiment. Hereinafter, it demonstrates in order of a process.
(ステップS101)ユーザはプログラム指定部12にて、解析対象とするプログラムの指定を行う。
(Step S101) The user designates a program to be analyzed in the
(ステップS102)シンボル情報解析部14にて、シンボルの抽出を行う。シンボルの抽出では、プログラム中で使われている関数名と、すべての関数から参照可能なグローバル変数の変数名を抽出する。具体的には、ソースコードの字句解析を行い単語列に分割し、単語列を基に、言語の構文規則から構文を解釈することにより抽出する。抽出したシンボルには、それぞれにIDを割り当てる。抽出した結果は、シンボルテーブル(図4)としてシンボル情報記憶部15に記憶する。また、プログラムを実行させてメモリアクセスのログを取り、メモリアドレスとシンボルの対応付けを行うという、動的解析手法を用いて求めることができる。
(Step S102) The symbol information analysis unit 14 extracts symbols. In the symbol extraction, the function names used in the program and the variable names that can be referenced from all functions are extracted. Specifically, the lexical analysis of the source code is performed and divided into word strings, and extracted by interpreting the syntax from the syntax rules of the language based on the word strings. An ID is assigned to each extracted symbol. The extracted result is stored in the symbol
(ステップS103)シンボル情報解析部14にてシンボル間の参照関係の解析を行う。プログラム中全ての関数において、関数内で参照しているシンボルを抽出し、シンボル間参照関係テーブル(図6)を作成し、参照関係記憶部16に記憶する。
(Step S103) The symbol
(ステップS104)表示制御部21は、S103で行ったシンボル間の参照関係の解析結果を参照関係記憶部16から読み出し表示する。表示例を図7に示す。
(Step S104) The
(ステップS105)ユーザは部品グループ指定部17にて、S101で入力したプログラムを複数の部品グループに分割する。その際、S104で出力したシンボル間の参照関係の解析結果からシンボルをどの部品グループに所属するかを指定し、指定した内容を部品グループ指定情報記憶部18に格納する。部品グループの設定を行う際、ユーザに対し部品グループ配置テーブル(図8)を表示する。
(Step S <b> 105) The user divides the program input in S <b> 101 into a plurality of component groups at the component
(ステップS106)部品グループ間参照関係解析部19にて、部品グループ間の参照関係を解析する。これの詳細は図3で説明する。
(Step S106) The inter-part group reference
(ステップS107)表示制御部21は、S106で解析した部品グループ間参照関係を図10に示すように表示する。
(Step S107) The
このように本実施例の処理では、ユーザはステップS105にて部品グループの分割の指定を行うことができる。その際、シンボルの参照関係の解析結果を見てシンボルをどの部品グループに所属するかを指定できることに特徴がある。 As described above, in the processing according to the present exemplary embodiment, the user can designate the division of the component group in step S105. At that time, it is possible to specify which part group the symbol belongs to by looking at the analysis result of the reference relation of the symbol.
図3は、図2におけるステップS106(部品グループ間参照関係解析部19)の処理を、詳細に記述したフローチャートである。 FIG. 3 is a flowchart describing in detail the processing of step S106 (part group reference relationship analysis unit 19) in FIG.
(ステップS1061)S102で検出した全てのシンボルを調査するためにシンボル調査カウンタを用意する。図6に示すIDの順で調査を進めるため、まず用意したシンボル調査カウンタの値を1で初期化し、調査対象となるシンボルのIDが1のもの、図6でいえばfunc1を調査対象にする。 (Step S1061) A symbol survey counter is prepared for investigating all symbols detected in S102. In order to proceed with the investigation in the order of the IDs shown in FIG. 6, first, the value of the prepared symbol investigation counter is initialized to 1, and the ID of the symbol to be examined is 1, and in FIG. .
(ステップS1062)調査対象のシンボルが所属する部品グループを取得する。部品グループは、S105で設定した部品グループ配置テーブル(図8)を参照することにより求める。 (Step S1062) The part group to which the investigation target symbol belongs is acquired. The component group is obtained by referring to the component group arrangement table (FIG. 8) set in S105.
(ステップS1063)調査対象シンボルが参照するシンボルを取得する。シンボルの取得には、S103で解析したシンボル間参照関係テーブル(図6)を参照して求める。 (Step S1063) A symbol referred to by the investigation target symbol is acquired. The symbol is obtained by referring to the inter-symbol reference relationship table (FIG. 6) analyzed in S103.
(ステップS1064)S1063で取得したシンボルの所属する部品グループとシンボル種別を、部品グループ配置テーブル(図8)とシンボルテーブル(図4)より取得する。 (Step S1064) The component group to which the symbol acquired in S1063 belongs and the symbol type are acquired from the component group arrangement table (FIG. 8) and the symbol table (FIG. 4).
(ステップS1065)上記S1062からS1064により、ID=1のシンボルの所属する部品グループと、そのシンボルが参照するシンボルの所属する部品グループが求まる。求めた部品グループ間参照関係から、解析結果記憶部20に記憶している部品グループ間参照関係テーブル(図9)を更新する。
(Step S1065) From S1062 to S1064, the component group to which the symbol of ID = 1 belongs and the component group to which the symbol referred to by the symbol belongs are obtained. The inter-part group reference relation table (FIG. 9) stored in the analysis
(ステップS1066)S1063で取得したすべての参照先シンボルに対して、前記S1064の処理を実行したかを判定する。NOであればS1064に戻り、YESであれば次のS1067に進む。 (Step S1066) It is determined whether or not the process of S1064 has been executed for all the reference destination symbols acquired in S1063. If NO, the process returns to S1064, and if YES, the process proceeds to the next S1067.
(ステップS1067)次に、調査対象であるすべてのシンボルに対し部品グループの所属と参照関係の調査を行ったかどうかを判定する。シンボルカウンタの値が、図6に示すIDの値の最大値(ID=8)に達したかどうかを判定する。NOであればS1068へ進み、YESであればステップS106の処理を終了する。 (Step S1067) Next, it is determined whether or not the affiliation of the part group and the reference relationship have been investigated for all the symbols to be investigated. It is determined whether or not the value of the symbol counter has reached the maximum ID value (ID = 8) shown in FIG. If NO, the process proceeds to S1068, and if YES, the process of step S106 is terminated.
(ステップS1068)シンボル調査カウンタをインクリメントして、S1062に戻り次のシンボルを調査する。このようにして、部品グループ間参照関係テーブル(図9)を完成させる。 (Step S1068) The symbol check counter is incremented, and the process returns to S1062 to check the next symbol. In this way, the inter-part group reference relationship table (FIG. 9) is completed.
以下、上記処理の各ステップで扱うデータについて具体例で説明する。
図4は、ステップS102においてシンボル情報解析部14により解析したシンボル情報解析結果を示すシンボルテーブルの例である。IDは、対象プログラムから抽出したシンボルごとに一意に割り振られた番号を示す。SYMBOL_NAMEは、抽出されたシンボル名を示す。KINDは、抽出されたシンボルの種別が、関数であるか変数であるかを示す。図4では、例えばシンボル名func1のIDは1、種類は関数である。
Hereinafter, data handled in each step of the above process will be described with specific examples.
FIG. 4 is an example of a symbol table showing the symbol information analysis result analyzed by the symbol
図5は、解析対象プログラムの一例で、ステップS103にてシンボル間の参照関係の解析を説明する図である。(a)は、解析対象のソースコードの抜粋を記載したもので、プログラムはC言語で記述された場合である。(b)は、(a)のソースコードにおけるシンボル参照関係を示す。図では、1つの関数(例えばfunc3)に着目し、内部で参照しているシンボルの参照関係を示す。関数を四角形、変数を楕円形で表記し、参照元から参照先に向け矢印を引いている。 FIG. 5 is an example of a program to be analyzed, and is a diagram for explaining the analysis of the reference relationship between symbols in step S103. (A) shows an excerpt of the source code to be analyzed, and the program is written in C language. (B) shows the symbol reference relationship in the source code of (a). In the figure, attention is focused on one function (for example, func3), and the reference relationship of symbols that are referred to internally is shown. The function is represented by a rectangle, the variable is represented by an ellipse, and an arrow is drawn from the reference source to the reference destination.
図6は、ステップS103にてシンボル間の参照関係を解析して作成したシンボル間参照関係テーブルの例を示す図である。図4と同様に、IDはシンボルごとに割り振られた番号、SYMBOL_NAMEは抽出されたシンボル名である。REFERENCEは、当該シンボルが参照する参照先のシンボルのIDを示す。例えばシンボルfunc3は、ID2,ID7のシンボルを参照しているから、すなわちfunc2,var1を参照していることを示す。 FIG. 6 is a diagram illustrating an example of the inter-symbol reference relationship table created by analyzing the reference relationship between symbols in step S103. As in FIG. 4, ID is a number assigned to each symbol, and SYMBOL_NAME is the extracted symbol name. REFERENCE indicates the ID of a reference symbol referenced by the symbol. For example, the symbol func3 refers to the symbols ID2 and ID7, that is, indicates that the func2 and var1 are referenced.
図7は、ステップS104にてシンボル間の参照関係を表示した一例を示す図である。図6のテーブルの内容をビジュアルに示す。図7の凡例は図5(b)と同様である。 FIG. 7 is a diagram showing an example in which the reference relationship between symbols is displayed in step S104. The contents of the table in FIG. 6 are shown visually. The legend of FIG. 7 is the same as that of FIG.
図8は、ステップS105にて、プログラムを部品グループに分割するために用いる部品グループ配置テーブルの例を示す図である。部品グループに分割するために、各シンボルがどの部品グループに所属するかを設定する。GROUPは部品グループを示し、ここでは2つの部品グループGroup1,Group2に分割する。そして、シンボルfunc1,func2,func4はGroup1に所属するように、他のシンボルfunc3,func5,func6,var1,var2はGroup2に所属するように設定している(所属を○印で示す)。部品グループは、任意のグループ数であってもよい。
FIG. 8 is a diagram showing an example of a component group arrangement table used for dividing the program into component groups in step S105. In order to divide into parts groups, it is set to which part group each symbol belongs. GROUP indicates a part group, and is divided into two
図9は、ステップS106にて、部品グループ間の参照関係を解析して作成した部品グループ間参照関係テーブルの一例を示す図である。このテーブルは、部品グループ間の参照の強さを数値(参照量)で定量的に表したものである。 FIG. 9 is a diagram illustrating an example of a reference relationship table between component groups created by analyzing the reference relationship between component groups in step S106. This table quantitatively represents the strength of reference between component groups by a numerical value (reference amount).
図10は、ステップS107にて、部品グループ間参照関係テーブル(図9)を基に部品グループ間の参照関係を表示した画面の一例である。表示ウィンドウ31は解析結果を表示する領域であり、ユーザはカーソル35を操作し表示切替ボタンを選択することで、表示制御部21により表示内容を切り替えることができる。
FIG. 10 is an example of a screen that displays the reference relationship between component groups based on the reference relationship table between component groups (FIG. 9) in step S107. The
図10(a)は、全体表示ボタン32を選択し、部品グループ全体を表示した場合である。この表示ではシンボルは表示されず、部品グループ間の参照関係が表示される。参照は矢印にて示され、矢印の太さで参照量を示している。本例では、Group1とGroup2が相互参照しており、Group1からGroup2への参照量がより多いことを示している。この表示により、部品グループ間の関係を俯瞰的につかむことができる。
FIG. 10A shows a case where the
図10(b)は、Symbolボタン33を選択し、各シンボル間の参照関係を表示した場合である。この表示では、部品グループ内のシンボル間の参照関連図が表示され、部品グループ間の詳細な参照関係を知ることができる。
FIG. 10B shows the case where the
図10(c)は、Metricsボタン34を選択し、図9の部品グループ間参照関係テーブルの形式で表示した場合である。この表示では、部品グループ間の参照量を数値で知ることができる。
FIG. 10C shows the case where the
このように実施例1では、まず対象プログラム中の各シンボルの参照関係を解析して出力する。ユーザはその出力結果を見て、各シンボルを複数の部品グループのいずれに所属させるかを指定する。次に、ユーザによって指定された部品グループ間のシンボル参照関係を解析し出力する。これにより、部品グループ間の依存関係が明らかとなり、ユーザに対し部品化指針を提供することができる。その際、ユーザはシンボルの参照関係を見ながら参照関係が疎となる箇所で分割できるとともに、分割する部品規模、部品グループ単位をユーザの所望する条件を反映させることができるので利便性が向上する。また本実施例では、プログラムを解析し、部品グループの要素を指定するために共通の変数としてシンボルを用いているので、一貫した処理が可能となる。 Thus, in the first embodiment, first, the reference relationship of each symbol in the target program is analyzed and output. The user looks at the output result and designates which symbol group each symbol belongs to. Next, the symbol reference relationship between the component groups designated by the user is analyzed and output. Thereby, the dependency relationship between the component groups is clarified, and a componentization guideline can be provided to the user. At that time, the user can divide the reference relationship while observing the reference relationship of the symbols, and can reflect the conditions desired by the user because the divided component size and component group unit can be reflected. . In this embodiment, since a symbol is used as a common variable for analyzing a program and designating an element of a part group, consistent processing is possible.
次に、本発明によるプログラム部品化支援装置の実施例2について説明する。実施例2の装置構成は前記実施例1(図1)と同様であるが、実施例1に次の機能を追加している。 Next, a second embodiment of the program componentization support apparatus according to the present invention will be described. The apparatus configuration of the second embodiment is the same as that of the first embodiment (FIG. 1), but the following functions are added to the first embodiment.
部品グループ指定部17は、参照関係記憶部16に記憶されたシンボル名を基に、ユーザがそのシンボルを所属させる部品グループを指定するが、その際部品グループだけでなく所属先を一旦未定とするグレーグループを設ける。部品グループ指定情報記憶部18は、部品グループ指定部17にて指定されたシンボルが所属する部品グループとグレーグループの設定を、グレーグループ設定テーブル(図12)として記憶する。部品グループ間参照関係解析部19は、部品グループ指定情報記憶部18の情報を基に、グレーグループをどの部品グループに所属させるべきかを判定し、判定結果に従い再構成した部品グループ間の参照関係を解析する。このように実施例2では、グレーグループを設定することで、より的確なプログラム部品化を実現させるものである。
Based on the symbol name stored in the reference
図11は、実施例2に係るプログラム部品化支援装置の全体の処理を示すフローチャートである。ここで、ステップS201からステップS205の動作は、実施例1(図2のS101からS105)と同様のため説明を省略する。 FIG. 11 is a flowchart illustrating the overall processing of the program componentization support apparatus according to the second embodiment. Here, the operation from step S201 to step S205 is the same as that of the first embodiment (S101 to S105 in FIG. 2), and the description thereof is omitted.
(ステップS206)S205において、ユーザは各シンボルをどの部品グループに所属させるかを指定するが、どの部品グループに所属させるかを特定できないシンボルについては、部品グループ指定部17にてグレーグループ設定テーブルを作成し、所属未定シンボルを一旦このグレーグループに収容する。グレーグループの設定については、図12で述べる。
(Step S <b> 206) In S <b> 205, the user designates which part group each symbol belongs to, but a symbol that cannot be specified to which part group belongs to the part
(ステップS207)部品グループ間参照関係解析部19は、グレーグループをどの部品グループに所属させるべきかの判定処理を行う。まず、グレーグループを各部品グループに配置した際の部品グループ間の参照量を算出し、部品グループ判定テーブル(図14)を作成する。そして、部品グループ間の参照量が最小となるようにグレーグループの配置を決定する。
(Step S207) The inter-part group reference
(ステップS208)S207の判定結果に基づき、解析結果記憶部20の部品グループ配置テーブルを更新する。表示制御部21は、グレーグループを最適に配置した部品グループの構成または部品グループ間参照関係を表示する。表示形式は実施例1(図10)の場合と同様である。
(Step S208) The component group arrangement table in the analysis
図12は、図11におけるステップS206のグレーグループ設定テーブルの一例を示す図である。この例では、部品グループ(Group1とGroup1)の他に、所属先が未定のシンボルを収容するグレーグループを2個(Gray1とGray2)作成している。そして、シンボルfunc3,func4,var1を所属先未定のシンボルとし、func3,var1はグレーグループGray1に、func4はグレーグループGray2に収容している。その際ユーザは、シンボル間の参照関係(図6及び図7)を参照することで、参照関係の強いシンボル同士を、同一のグレーグループに設定することができる。図12では、参照関係にあるfunc3とvar1とを、同一のグレーグループGray1に設定している。このように、関係のあるシンボル同士を同一のグレーグループに設定することにより、グレーグループ単位での参照関係の判別を容易にすることができる。グレーグループの数は所属未定のシンボル数の状況に応じて、適宜増加すればよい。
FIG. 12 is a diagram showing an example of the gray group setting table in step S206 in FIG. In this example, in addition to the component groups (
図13は、図12のようにグレーグループを指定した際の、シンボル間の参照関係を示す図である。 FIG. 13 is a diagram showing a reference relationship between symbols when a gray group is designated as shown in FIG.
図14は、ステップS207にて、部品グループ間参照関係解析部19により作成した部品グループ判定テーブルの一例を示す図である。指定したグレーグループを各部品グループに配置させた場合の、部品グループ間の参照量を解析したものである。部品グループ間の参照量を求める際は、図3記載のフローチャートと同様の処理を行う。
FIG. 14 is a diagram showing an example of a component group determination table created by the inter-component group reference
GRAY_GROUP_NAMEは、グレーグループの名称であり、ここではGray1とGray2が存在する。GROUP_PATTERNは、上記グレーグループを、どの部品グループに配置するかを示す配置パターンである。本例では部品グループが2グループ、グレーグループが2グループあるため、配置パターンの組み合わせは2×2=4通り存在する。このため4パターンの試行を行う。 GRAY_GROUP_NAME is the name of the gray group, and here Gray1 and Gray2 exist. GROUP_PATTERN is an arrangement pattern indicating in which component group the gray group is arranged. In this example, since there are two component groups and two gray groups, there are 2 × 2 = 4 combinations of arrangement patterns. For this reason, four patterns are tried.
部品グループ間の参照量として、「Metrics:Func Ref」は関数参照量を、「Metrics:Var Ref」は変数参照量を、「Metrics:SUM」は上記「Metrics:Func Ref」と「Metrics:Var Ref」の合計を示す。例えば配置パターン(a)の場合は、Gray1、Gray2ともGroup1に配置しており、関数参照が2箇所、変数参照が1箇所、参照量の合計は3箇所であることを示している。 As reference amounts between component groups, “Metrics: Func Ref” is a function reference amount, “Metrics: Var Ref” is a variable reference amount, and “Metrics: SUM” is “Metrics: Func Ref” and “Metrics: Var”. The total of “Ref” is shown. For example, in the case of the arrangement pattern (a), both Gray1 and Gray2 are arranged in Group1, indicating that there are two function references, one variable reference, and a total of three reference amounts.
各配置パターンのうち参照量の合計が最小となるもの、すなわち「Metrics:SUM」の値が最小となるは配置パターン(d)の場合で、Gray1をGroup1に、Gray2をGroup2に配置した場合である。 Of the arrangement patterns, the one having the smallest reference amount, that is, the value of “Metrics: SUM” is the smallest in the arrangement pattern (d), in which Gray1 is arranged in Group1 and Gray2 is arranged in Group2. is there.
図15は、図14の部品グループ判定テーブルの内容を、各配置パターンにおけるシンボル間の参照関係を示す図として表したものである。図15(a)〜(d)は、図14の配置パターン(a)〜(d)に対応している。図15(d)は、Gray1をGroup1に、Gray2をGroup2に配置した場合で、Group1とGroup2の参照量は1関数0変数となり参照量が最小となることが分かる。
FIG. 15 shows the contents of the component group determination table of FIG. 14 as a diagram showing the reference relationship between symbols in each arrangement pattern. FIGS. 15A to 15D correspond to the arrangement patterns (a) to (d) in FIG. FIG. 15D shows that when Gray1 is placed in Group1 and Gray2 is placed in Group2, the reference amount of Group1 and Group2 becomes one
前記実施例1の場合には、ユーザが指定した部品グループ間のシンボル参照関係は図9に示すように合計5箇所(参照量=5)であった。これに対し本実施例2では、所属未定のシンボルを収容するグレーグループを設定し、グレーグループの所属先を参照量が最小となるように自動的に判定処理を実施する。その結果、図14(d)のように部品グループ間参照関係は1箇所となり、参照関係がより少ない部品グループに分割できる。 In the case of the first embodiment, the symbol reference relationship between the component groups designated by the user is a total of five locations (reference amount = 5) as shown in FIG. On the other hand, in the second embodiment, a gray group that accommodates symbols whose affiliation is undetermined is set, and the determination processing is automatically performed so that the reference amount of the gray group affiliation destination is minimized. As a result, as shown in FIG. 14D, the reference relationship between the component groups is one place, and the component groups can be divided into component groups with fewer reference relationships.
このように実施例2では、入力されたプログラム中の各シンボルをユーザの所望する部品規模、部品グループ単位で分割するだけでなく、所属先を一旦未定とするグレーグループを設けてその所属先を部品グループ間の参照量が最小になるように自動的に配置するので、参照関係が最小になる箇所でプログラムを分割することができる。 As described above, in the second embodiment, not only the symbols in the input program are divided by the part size and part group desired by the user, but also a gray group whose affiliation is temporarily determined is provided and the affiliation is determined. Since the arrangement is automatically performed so that the reference amount between the component groups is minimized, the program can be divided at a location where the reference relationship is minimized.
図16は、本発明によるプログラム部品化支援装置の実施例3を示すブロック構成図である。ここでは、前記実施例1、実施例2と異なる構成の部分について説明する。 FIG. 16 is a block diagram showing a third embodiment of the program componentization support apparatus according to the present invention. Here, a description will be given of parts having configurations different from those of the first and second embodiments.
部品グループ間参照指針指定部22は、ユーザから部品グループ間の参照指針を受け付け部品グループ間参照指針指定テーブル(図18)を作成する。部品グループ間参照指針記憶部23は、作成した部品グループ間参照指針指定テーブルを記憶する。部品グループ間参照関係解析部19は、部品グループ指定情報記憶部18の情報と部品グループ間参照指針記憶部23の情報を基に、グレーグループをどの部品グループに所属させるべきかを判定し、判定結果に従い再構成した部品グループ間の参照関係を解析する。このように実施例3では、部品グループ間のシンボル参照指針を指定することで、よりユーザの要望に応える形でプログラムを分割するものである。
The inter-part group reference
図17は、実施例3に係るプログラム部品化支援装置の全体の処理を示すフローチャートである。ここで、ステップS301からステップS306の動作は、実施例2(図11のS201からS206)と同様のため説明を省略する。 FIG. 17 is a flowchart illustrating the overall processing of the program componentization support apparatus according to the third embodiment. Here, the operations from step S301 to step S306 are the same as those in the second embodiment (S201 to S206 in FIG. 11), and thus description thereof is omitted.
(ステップS307)ステップS306にて部品グループ指定部17によりグレーグループを指定した後、ユーザは部品グループ間参照指針指定部22にて、部品グループ間参照指針を指定する。参照指針の指定には、図18に示すテーブルを利用する。参照指針とは、部品グループ間の参照関係の許可/不許可をユーザが指定するものである。例えばライブラリのように、他のプログラム部品から参照されるがそのプログラム部品は他のプログラム部品を参照しない、というプログラム部品を作成する場合などにこのような参照指針の指定は有効となる。指定した部品グループ間参照指針指定テーブルは、部品グループ間参照指針記憶部23に記憶される。
(Step S307) After the gray group is designated by the part
(ステップS308)部品グループ間参照関係解析部19にて、グレーグループを所属させる部品グループを変えた各種配置パターンについて、部品グループ関参照指針指定テーブル(図18)で指定した参照指針条件をどれだけ満足するかを判定する。そして判定結果を「POLICY_MATCH」という指標で表現した部品グループ判定テーブル(図19)を作成する。
(Step S308) In the inter-part group reference
(ステップS309)S308の判定結果に基づき、解析結果記憶部20に記憶された部品グループ配置テーブルを、グレーグループを最適に配置した構成に更新する。そして表示制御部21は、グレーグループを最適に配置した部品グループの構成または部品グループ間参照関係を表示する。表示形式は実施例1(図10)の場合と同様である。
(Step S309) Based on the determination result of S308, the component group arrangement table stored in the analysis
図18は、ステップS307にて、部品グループ間の参照指針を指定した部品グループ間参照指針指定テーブルの一例を示す図である。ユーザは、部品グループ間参照指針指定部22にて、部品グループ間参照指針指定テーブルを編集する。図18では、2個の部品グループ間の参照関係を指定したもので、対象となる部品グループから参照先部品グループへ参照を許す場合は○印を、参照を許さない場合は×印を付している。ここでは、Group1からGroup2への参照を許し、Group2からGroup1への参照を許さないように指定している。
FIG. 18 is a diagram showing an example of the inter-part group reference guide designation table in which the reference guide between the component groups is designated in step S307. The user edits the inter-part group reference guide specification table in the inter-part group reference
図19は、ステップS308にて、部品グループ間参照関係解析部19により判定した部品グループ判定テーブルの一例を示す図である。グレーグループを各部品グループに配置させた各配置パターンにおいて、前記図14で述べた部品グループ間の参照量(Metrics)を解析するとともに、部品グループ間参照指針に指定された条件をどれだけ満足しているかを示す指標「POLICY_MATCH」を設けている。
FIG. 19 is a diagram showing an example of a component group determination table determined by the inter-component group reference
「POLICY_MATCH」記載の値は、Metrics算出の際に求めた部品グループ間の参照ごとに、その参照が部品グループ間参照指針指定テーブル(図18)に記載の参照指針を満たしているかを判定する。例えば、Group1からGroup2に参照があった場合には図18の指針(○印)を満たし、Group2からGroup1に参照があった場合には図18の指針(×印)を満たさない。このようにして全ての参照に対して指針を満足する割合(参照指針との一致度)を求め、百分率で表示している。
The value described in “POLICY_MATCH” determines whether or not the reference satisfies the reference guideline described in the inter-part group reference guide specification table (FIG. 18) for each reference between the part groups obtained in the calculation of Metrics. For example, when a reference is made from
算出した「POLICY_MATCH」の値を比較し、その値(一致度)が最大となるもののうち、参照量が最小となる配置パターンを最適構成と判定する。本例では、配置パターン(a)と(d)とが共に「POLICY_MATCH」=100%となる。このうち、部品グループ間参照関係が最小「Metrics:SUM」=1となるパターン(d)を最適構成とする。 The calculated “POLICY_MATCH” values are compared, and the arrangement pattern having the smallest reference amount among the ones having the largest value (matching degree) is determined as the optimum configuration. In this example, the arrangement patterns (a) and (d) are both “POLICY_MATCH” = 100%. Among these, the pattern (d) in which the reference relationship between component groups is the minimum “Metrics: SUM” = 1 is set as the optimum configuration.
前記実施例2の場合には、所属未定のシンボルを収容するグレーグループを設定し、グレーグループの所属先を参照量が最小となるように自動的に判定した。これに対し実施例3では、ユーザはさらに部品グループ間のシンボル参照指針を指定することができ、その参照指針を最も満足するようにグレーグループの所属先を自動的に判定するものである。 In the case of the second embodiment, a gray group that accommodates symbols whose affiliation is undetermined is set, and the affiliation destination of the gray group is automatically determined so that the reference amount is minimized. On the other hand, in the third embodiment, the user can further specify a symbol reference guideline between component groups, and the gray group affiliation destination is automatically determined so as to satisfy the reference guideline most.
このように実施例3では、入力されたプログラム中の各シンボルをユーザの所望する部品規模、部品グループ単位で分割するだけでなく、ユーザの所望する部品グループ間の参照条件を反映させることができるので、よりユーザの要望に応える形でプログラムを分割することができる。 As described above, in the third embodiment, not only can each symbol in the input program be divided by the part size and part group desired by the user, but also the reference conditions between the part groups desired by the user can be reflected. Therefore, it is possible to divide the program in a form that more meets the user's request.
本発明によれば、ソフトウェア開発における保守業務等でプログラムを好適に部品化するプログラム部品化支援装置を提供し、既存資産のプログラムの再利用性及びメインテナンス性の向上に大きく寄与する。 According to the present invention, a program componentization support apparatus that suitably converts a program into a maintenance work in software development or the like is provided, which greatly contributes to improvement of reusability and maintenance of existing asset programs.
11…ユーザ入力部、12…対象プログラム指定部、13…プログラム記憶部、14…シンボル情報解析部、15…シンボル情報記憶部、16…参照関係記憶部、17…部品グループ指定部、18…部品グループ指定情報記憶部、19…部品グループ間参照関係解析部、20…解析結果記憶部、21…表示制御部、22…部品グループ間参照指針指定部、23…部品グループ間参照指針記憶部。
DESCRIPTION OF
Claims (5)
該シンボル情報解析部で解析したシンボル間の参照関係をユーザに提示し、ユーザから、各シンボルを分類させるための部品グループの設定と各シンボルをどの部品グループに所属させるかの指定を受け付ける部品グループ指定部と、
上記シンボル情報解析部の解析結果を参照して、上記部品グループ指定部にて受け付けた部品グループの指定に従い、指定された部品グループ間の参照関係を解析する部品グループ間参照関係解析部と、
該部品グループ間参照関係解析部の解析結果を表示させる表示制御部を備えることを特徴とするプログラム部品化支援装置。 A symbol information analysis unit that extracts symbols from a specified program and analyzes the reference relationship between the extracted symbols;
A component group that presents a reference relationship between symbols analyzed by the symbol information analysis unit and accepts a setting of a component group for classifying each symbol and designation of which component group each symbol belongs to from the user A designated part;
With reference to the analysis result of the symbol information analysis unit, according to the specification of the component group received by the component group specification unit, the reference relationship analysis unit between the component groups for analyzing the reference relationship between the specified component groups,
A program componentization support apparatus comprising: a display control unit that displays an analysis result of the inter-part group reference relationship analysis unit.
前記部品グループ指定部は、前記シンボルを分類する際に一部のシンボルについてはその所属先を一旦未定とするグレーグループに収容して受け付け、
前記部品グループ間参照関係解析部は、該グレーグループをどの部品グループに所属させるべきかを判定して部品グループを再構成することを特徴とするプログラム部品化支援装置。 In the program componentization support apparatus according to claim 1,
The component group designating unit accommodates and accepts a part of a symbol in a gray group where the affiliation is temporarily determined when classifying the symbol,
The inter-part group reference relation analyzing unit determines which part group the gray group should belong to, and reconfigures the part group.
前記部品グループ間参照関係解析部は、再構成後の部品グループ間の参照量が最小となるように前記グレーグループの所属先を決定することを特徴とするプログラム部品化支援装置。 In the program componentization support apparatus according to claim 2,
The inter-part group reference relationship analysis unit determines the affiliation destination of the gray group so that the reference amount between the reconfigured part groups is minimized.
ユーザから前記部品グループ間の参照指針の指定を受け付ける部品グループ間参照指針指定部を有し、
前記部品グループ間参照関係解析部は、上記部品グループ間参照指針指定部にて受け付けた参照指針の指定を満足するように前記グレーグループの所属先を決定することを特徴とするプログラム部品化支援装置。 In the program componentization support apparatus according to claim 2,
Having an inter-part group reference guideline designation unit that accepts designation of a reference guideline between the part groups from a user;
The inter-part group reference relation analyzing unit determines the affiliation of the gray group so as to satisfy the designation of the reference guide received by the inter-part group reference guide designating unit. .
前記部品グループ間参照関係解析部は、前記グレーグループの所属先を変えた各種配置パターンについて前記指定された参照指針との一致度を求め、該一致度が最大となるもののうち、前記部品グループ間の参照量が最小となる配置パターンを最適構成として決定することを特徴とするプログラム部品化支援装置。 In the program componentization support apparatus according to claim 4,
The inter-part group reference relationship analysis unit obtains a degree of coincidence with the designated reference guide for various arrangement patterns in which the gray group belongs, and among the parts having the maximum degree of coincidence, A program componentization support apparatus characterized in that an arrangement pattern that minimizes the reference amount is determined as an optimal configuration.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007006659A JP4996262B2 (en) | 2007-01-16 | 2007-01-16 | Program parts support equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007006659A JP4996262B2 (en) | 2007-01-16 | 2007-01-16 | Program parts support equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008176364A true JP2008176364A (en) | 2008-07-31 |
JP4996262B2 JP4996262B2 (en) | 2012-08-08 |
Family
ID=39703363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007006659A Expired - Fee Related JP4996262B2 (en) | 2007-01-16 | 2007-01-16 | Program parts support equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4996262B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203777A (en) * | 2011-03-28 | 2012-10-22 | Hitachi Ltd | Software component preparation support device and method |
JP2013015958A (en) * | 2011-07-01 | 2013-01-24 | Hitachi Ltd | Dependence evaluation device among software development deliverable and evaluation method |
JPWO2019012674A1 (en) * | 2017-07-13 | 2019-07-25 | 株式会社日立製作所 | Integrated analysis management system of program and integrated analysis management method therefor |
JP2022510227A (en) * | 2018-11-29 | 2022-01-26 | バンティック インコーポレイテッド | Rule-based allocation for event-driven applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03144729A (en) * | 1989-10-30 | 1991-06-20 | Matsushita Electric Ind Co Ltd | Device and method for automatic software formation |
JPH0520037A (en) * | 1991-07-09 | 1993-01-29 | Mitsubishi Electric Corp | Module distribution system |
JPH08314702A (en) * | 1995-05-19 | 1996-11-29 | Nec Corp | Visual programming system and graphic program editing method |
JP2000020298A (en) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | Software development supporting device |
-
2007
- 2007-01-16 JP JP2007006659A patent/JP4996262B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03144729A (en) * | 1989-10-30 | 1991-06-20 | Matsushita Electric Ind Co Ltd | Device and method for automatic software formation |
JPH0520037A (en) * | 1991-07-09 | 1993-01-29 | Mitsubishi Electric Corp | Module distribution system |
JPH08314702A (en) * | 1995-05-19 | 1996-11-29 | Nec Corp | Visual programming system and graphic program editing method |
JP2000020298A (en) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | Software development supporting device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203777A (en) * | 2011-03-28 | 2012-10-22 | Hitachi Ltd | Software component preparation support device and method |
JP2013015958A (en) * | 2011-07-01 | 2013-01-24 | Hitachi Ltd | Dependence evaluation device among software development deliverable and evaluation method |
JPWO2019012674A1 (en) * | 2017-07-13 | 2019-07-25 | 株式会社日立製作所 | Integrated analysis management system of program and integrated analysis management method therefor |
JP2022510227A (en) * | 2018-11-29 | 2022-01-26 | バンティック インコーポレイテッド | Rule-based allocation for event-driven applications |
JP7387734B2 (en) | 2018-11-29 | 2023-11-28 | バンティック インコーポレイテッド | Rules-based assignment for event-driven applications |
Also Published As
Publication number | Publication date |
---|---|
JP4996262B2 (en) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7124398B2 (en) | Rapid GUI refacing of a legacy application | |
EP3338179B1 (en) | Graphical representation of data in a program code editor | |
US6757889B1 (en) | Source program checking device and program and method for same | |
US20060004528A1 (en) | Apparatus and method for extracting similar source code | |
JP5398499B2 (en) | Method, system and computer program for joint creation of visualization dashboard | |
CN108027721B (en) | Techniques for configuring a general program using controls | |
JP2009129179A (en) | Program parallelization support device and program parallelization support method | |
JP2008506183A (en) | Import automatically generated content | |
EP3103002B1 (en) | Batch generation of links to documents based on document name and page content matching | |
US9557989B2 (en) | Comparison and merging of IC design data | |
US20150356280A1 (en) | Systems and methods for determining compatibility between software licenses | |
AU2015211150A1 (en) | Document page identifiers from selected page region content | |
JP4996262B2 (en) | Program parts support equipment | |
CN113283216A (en) | Webpage content display method, device, equipment and storage medium | |
US7769773B1 (en) | Relevant rule inspector for hierarchical documents | |
JP5651050B2 (en) | Data generation apparatus and data generation program | |
US20040044954A1 (en) | Data-bidirectional spreadsheet | |
JP2006285707A (en) | Business specification creation support system and method | |
CN103049504A (en) | Semi-automatic instrumentation method based on source code inquiring | |
JP2006294019A (en) | Generic software requirement analyzer | |
JP2006277127A (en) | Method for comparing correction program | |
US20030154462A1 (en) | Software maintenance material generation apparatus and generation program therefor | |
JP2009053767A (en) | Program analysis device and program analysis method | |
Schroeder et al. | Flexible automatic converting of NC programs. A cross-compiler for structured text | |
JP2011113298A (en) | Shared source code analysis system, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070116 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080409 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080409 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120307 |
|
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: 20120424 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120511 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |