JP2008176364A - Program segmentation support apparatus - Google Patents

Program segmentation support apparatus Download PDF

Info

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
Application number
JP2007006659A
Other languages
Japanese (ja)
Other versions
JP4996262B2 (en
Inventor
Yukihiko Kawarazuka
有希彦 河原塚
Shigeto Oeda
成人 大條
Shinya Imanishi
真也 今西
Masaki Wakabayashi
正樹 若林
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.)
Hitachi Ltd
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clarion Co Ltd, Hitachi Ltd filed Critical Clarion Co Ltd
Priority to JP2007006659A priority Critical patent/JP4996262B2/en
Publication of JP2008176364A publication Critical patent/JP2008176364A/en
Application granted granted Critical
Publication of JP4996262B2 publication Critical patent/JP4996262B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reflect a program component scale or conditions of a component group desired by the user in the program segmentation without performing trial-and-error in the segmentation of the program, and to enable a user to know a proper division place of a program. <P>SOLUTION: A symbol information analyzing part 14 extracts a symbol from a program to analyze a reference relationship between the symbols. A component group designation part 17 presents a reference relationship between the analyzed symbols to a user, and accepts from the user, the setting of the component group for classifying each symbol and the designation to which component group each symbol is made to belong, An inter-component group reference relationship analyzing part 19 analyzes a reference relationship between the designated component groups according to the designation of the component group accepted by the component group designation part 17. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 Patent Document 1, when a user designates an arbitrary program fragment in a source code for the purpose of facilitating understanding of information related to a specific part (program fragment) constituting the program and the outside, the program A technique for extracting information on the variable reference relationship between a fragment and the outside for each variable is disclosed.

特許文献2では、ソフトウェアを構成するモジュールの構造化を促進し、独立性、保守性および再利用性の高いモジュールの作成を目的とし、モジュール内のブロックの特性データを測定し、測定した特性データに基づきモジュール分割の指針をユーザに提示する技術が開示されている。   Patent Document 2 promotes the structuring of the modules that make up the software, measures the characteristic data of the blocks in the module for the purpose of creating modules with high independence, maintainability, and reusability. Based on the above, a technique for presenting a guide for module division to a user is disclosed.

特開2005−18114号公報JP 2005-18114 A 特開2004−295425号公報JP 2004-295425 A

上記特許文献1では、プログラム中の指定した箇所と外部とのインターフェース情報を抽出することはできるが、複数箇所での変数、関数、領域の選択と参照関係の抽出に関しては考慮はなされていない。さらに、特許文献1にてプログラム分割箇所における参照関係を解析しても、その箇所は参照関係が疎となる最も適切な分割箇所であるかどうかは分からない。ユーザは分割箇所を変更しながら試行錯誤的に解析を行い、その結果を見ながら適切な分割箇所を探す必要があった。   In the above-mentioned Patent Document 1, interface information between a designated location in the program and the outside can be extracted, but no consideration is given to selection of variables, functions, and regions at multiple locations and extraction of reference relationships. Furthermore, even if the reference relationship at the program division location is analyzed in Patent Document 1, it is not known whether the location is the most appropriate division location where the reference relationship is sparse. The user needs to perform analysis by trial and error while changing the division part, and find an appropriate division part while looking at the result.

上記特許文献2では、モジュール構造化支援装置は、解析結果を基に自動的にプログラム分割指針を提示する。このためユーザは、解析対象のプログラムを指定するだけで、プログラムの適切な分割箇所を知ることができる。その半面、プログラム分割箇所及び分割規模は装置に予め設定されている条件に従って自動的に決定されてしまうため、ユーザが所望する部品規模や部品グループの条件を反映させることができなかった。   In Patent Document 2, the module structuring support apparatus automatically presents a program division guideline based on the analysis result. For this reason, the user can know the appropriate division | segmentation part of a program only by designating the analysis object program. On the other hand, the program division location and the division scale are automatically determined according to the conditions set in advance in the apparatus, and thus the parts scale and part group conditions desired by the user cannot be reflected.

さらに特許文献1と特許文献2の技術を組み合わせようとした場合、プログラムを部品化し部品グループの要素を指定するために用いる共通の変数をどのように設定するかという課題がある。   Furthermore, when trying to combine the techniques of Patent Document 1 and Patent Document 2, there is a problem of how to set a common variable used for converting a program into a part and specifying an element of a part group.

本発明の目的は、ユーザが試行錯誤することなく適切なプログラム分割箇所を知ることができ、ユーザにより指定されたプログラム部品規模や部品グループの条件を反映させたプログラム部品化支援装置を提供することである。   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 user input unit 11 accepts data input and processing requests from the user. The target program specifying unit 12 specifies a program to be analyzed, and stores the specified program in the program storage unit 13.

シンボル情報解析部14は、プログラム記憶部13に記憶されたプログラムを参照し、関数、変数といったシンボル情報を解析し、その後解析したシンボル情報を用いて、シンボル間の参照関係を解析する。シンボル情報記憶部15には、解析したシンボル情報をシンボルテーブル(図4)として記憶する。参照関係記憶部16には、解析したシンボル間の参照関係をシンボル間参照関係テーブル(図6)として記憶する。   The symbol information analysis unit 14 refers to the program stored in the program storage unit 13, analyzes symbol information such as a function and a variable, and then analyzes the reference relationship between symbols using the analyzed symbol information. The symbol information storage unit 15 stores the analyzed symbol information as a symbol table (FIG. 4). The reference relationship storage unit 16 stores the analyzed reference relationship between symbols as an inter-symbol reference relationship table (FIG. 6).

部品グループ指定部17は、参照関係記憶部16に記憶されたシンボル間参照関係を基に、ユーザによりそのシンボルを所属させる部品グループを指定し、部品グループ指定情報記憶部18には、指定されたシンボルの所属先を部品グループ配置テーブル(図8)として記憶する。部品グループ間参照関係解析部19は、部品グループ指定情報記憶部18の情報を基に、部品グループ間の参照関係を解析し、解析結果記憶部20に解析結果を部品グループ間参照関係テーブル(図9)として記憶する。表示制御部21は、ユーザ入力部11からの要求を受けると解析結果を表示させる。   Based on the inter-symbol reference relationship stored in the reference relationship storage unit 16, the component group specification unit 17 specifies a component group to which the symbol belongs, and the component group specification information storage unit 18 specifies the specified component group. The symbol affiliation destination is stored as a component group arrangement table (FIG. 8). The inter-part group reference relationship analysis unit 19 analyzes the reference relationship between the component groups based on the information in the component group designation information storage unit 18, and stores the analysis result in the inter-part group reference relationship table (see FIG. 9). When receiving a request from the user input unit 11, the display control unit 21 displays the analysis result.

図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 program designation unit 12.

(ステップ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 information storage unit 15 as a symbol table (FIG. 4). Further, it can be obtained by using a dynamic analysis method in which a program is executed to log a memory access and a memory address is associated with a symbol.

(ステップS103)シンボル情報解析部14にてシンボル間の参照関係の解析を行う。プログラム中全ての関数において、関数内で参照しているシンボルを抽出し、シンボル間参照関係テーブル(図6)を作成し、参照関係記憶部16に記憶する。   (Step S103) The symbol information analysis unit 14 analyzes the reference relationship between symbols. For all functions in the program, symbols referred to in the functions are extracted, an inter-symbol reference relationship table (FIG. 6) is created, and stored in the reference relationship storage unit 16.

(ステップS104)表示制御部21は、S103で行ったシンボル間の参照関係の解析結果を参照関係記憶部16から読み出し表示する。表示例を図7に示す。   (Step S104) The display control unit 21 reads out the reference relationship analysis result between symbols performed in S103 from the reference relationship storage unit 16 and displays it. A display example is shown in FIG.

(ステップ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 group designation unit 17. At this time, the component group to which the symbol belongs is specified from the analysis result of the reference relationship between the symbols output in S104, and the specified content is stored in the component group specification information storage unit 18. When setting the component group, the component group arrangement table (FIG. 8) is displayed to the user.

(ステップS106)部品グループ間参照関係解析部19にて、部品グループ間の参照関係を解析する。これの詳細は図3で説明する。   (Step S106) The inter-part group reference relation analyzing unit 19 analyzes the reference relation between the part groups. Details of this will be described with reference to FIG.

(ステップS107)表示制御部21は、S106で解析した部品グループ間参照関係を図10に示すように表示する。   (Step S107) The display control unit 21 displays the reference relationship between component groups analyzed in S106 as shown in FIG.

このように本実施例の処理では、ユーザはステップ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 result storage unit 20 is updated from the obtained inter-part group reference relation.

(ステップ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 information analysis unit 14 in step S102. ID indicates a number uniquely assigned to each symbol extracted from the target program. SYMBOL_NAME indicates the extracted symbol name. KIND indicates whether the type of the extracted symbol is a function or a variable. In FIG. 4, for example, the ID of the symbol name func1 is 1, and the type is a function.

図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 part groups Group 1 and Group 2 here. The symbols func1, func2, and func4 are set to belong to Group1, and the other symbols func3, func5, func6, var1, and var2 are set to belong to Group2 (affiliation is indicated by a circle). The part group may be an arbitrary number of groups.

図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 display window 31 is an area for displaying the analysis result, and the user can switch the display contents by the display control unit 21 by operating the cursor 35 and selecting the display switching button.

図10(a)は、全体表示ボタン32を選択し、部品グループ全体を表示した場合である。この表示ではシンボルは表示されず、部品グループ間の参照関係が表示される。参照は矢印にて示され、矢印の太さで参照量を示している。本例では、Group1とGroup2が相互参照しており、Group1からGroup2への参照量がより多いことを示している。この表示により、部品グループ間の関係を俯瞰的につかむことができる。   FIG. 10A shows a case where the entire display button 32 is selected and the entire component group is displayed. In this display, no symbol is displayed, and the reference relationship between the component groups is displayed. The reference is indicated by an arrow, and the reference amount is indicated by the thickness of the arrow. In this example, Group 1 and Group 2 are cross-referenced, indicating that the amount of reference from Group 1 to Group 2 is larger. This display makes it possible to grasp the relationship between the component groups from a bird's-eye view.

図10(b)は、Symbolボタン33を選択し、各シンボル間の参照関係を表示した場合である。この表示では、部品グループ内のシンボル間の参照関連図が表示され、部品グループ間の詳細な参照関係を知ることができる。   FIG. 10B shows the case where the Symbol button 33 is selected and the reference relationship between the symbols is displayed. In this display, a reference relation diagram between symbols in the component group is displayed, and a detailed reference relationship between the component groups can be known.

図10(c)は、Metricsボタン34を選択し、図9の部品グループ間参照関係テーブルの形式で表示した場合である。この表示では、部品グループ間の参照量を数値で知ることができる。   FIG. 10C shows the case where the Metrics button 34 is selected and displayed in the form of the inter-part group reference relationship table of FIG. In this display, the reference amount between the component groups can be known numerically.

このように実施例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 relationship storage unit 16, the component group designating unit 17 designates a component group to which the user belongs, and at that time, not only the component group but also the affiliation destination is temporarily determined. Set up a gray group. The component group designation information storage unit 18 stores the settings of the component group and the gray group to which the symbol designated by the component group designation unit 17 belongs as a gray group setting table (FIG. 12). The inter-part group reference relation analyzing unit 19 determines which part group the gray group should belong to based on the information in the part group designation information storage unit 18, and the reference relation between the component groups reconfigured according to the determination result. Is analyzed. As described above, in the second embodiment, a more accurate program component can be realized by setting a gray group.

図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 group designation unit 17 in the gray group setting table. Create and temporarily store the undetermined symbols in this gray group. The setting of the gray group will be described with reference to FIG.

(ステップS207)部品グループ間参照関係解析部19は、グレーグループをどの部品グループに所属させるべきかの判定処理を行う。まず、グレーグループを各部品グループに配置した際の部品グループ間の参照量を算出し、部品グループ判定テーブル(図14)を作成する。そして、部品グループ間の参照量が最小となるようにグレーグループの配置を決定する。   (Step S207) The inter-part group reference relationship analyzing unit 19 performs a process of determining which part group the gray group should belong to. First, a reference amount between component groups when a gray group is arranged in each component group is calculated, and a component group determination table (FIG. 14) is created. The gray group arrangement is determined so that the reference amount between the component groups is minimized.

(ステップS208)S207の判定結果に基づき、解析結果記憶部20の部品グループ配置テーブルを更新する。表示制御部21は、グレーグループを最適に配置した部品グループの構成または部品グループ間参照関係を表示する。表示形式は実施例1(図10)の場合と同様である。   (Step S208) The component group arrangement table in the analysis result storage unit 20 is updated based on the determination result in S207. The display control unit 21 displays the configuration of the component group in which the gray group is optimally arranged or the reference relationship between the component groups. The display format is the same as in the first embodiment (FIG. 10).

図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 (Group 1 and Group 1), two gray groups (Gray 1 and Gray 2) that contain symbols whose affiliation is undetermined are created. The symbols func3, func4, and var1 are symbols to which the affiliation is undetermined, func3 and var1 are accommodated in the gray group Gray1, and func4 is accommodated in the gray group Gray2. At that time, the user can set symbols having a strong reference relationship to the same gray group by referring to the reference relationship between the symbols (FIGS. 6 and 7). In FIG. 12, func3 and var1 having a reference relationship are set to the same gray group Gray1. In this way, by setting related symbols to the same gray group, it is possible to easily determine the reference relationship in units of gray groups. The number of gray groups may be increased as appropriate according to the number of symbols whose affiliation is undetermined.

図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 relationship analysis unit 19 in step S207. This is an analysis of the reference amount between component groups when the specified gray group is arranged in each component group. When obtaining the reference amount between the component groups, the same processing as in the flowchart shown in FIG. 3 is performed.

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 function 0 variable, and the reference amount becomes the minimum.

前記実施例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 guideline specification unit 22 receives a reference guideline between part groups from the user and creates a reference guideline specification table between parts groups (FIG. 18). The inter-part group reference guide storage unit 23 stores the created inter-part group reference guide designation table. The inter-part group reference relationship analysis unit 19 determines which part group the gray group should belong to based on the information in the part group designation information storage unit 18 and the information in the inter-part group reference guide storage unit 23. The reference relationship between the reconfigured parts groups is analyzed according to the result. As described above, in the third embodiment, by specifying the symbol reference guideline between the component groups, the program is divided in a form that more meets the user's request.

図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 group designation unit 17 in step S306, the user designates the inter-part group reference guideline by the inter-part group reference guide designation unit 22. A table shown in FIG. 18 is used to specify the reference guideline. The reference guide is for the user to specify permission / non-permission of a reference relationship between component groups. For example, when a program part is created such that a program part is referred to from another program part, but the program part does not refer to another program part, such as a library, the designation of such a reference guideline is effective. The specified inter-part group reference guide specification table is stored in the inter-part group reference guide storage unit 23.

(ステップS308)部品グループ間参照関係解析部19にて、グレーグループを所属させる部品グループを変えた各種配置パターンについて、部品グループ関参照指針指定テーブル(図18)で指定した参照指針条件をどれだけ満足するかを判定する。そして判定結果を「POLICY_MATCH」という指標で表現した部品グループ判定テーブル(図19)を作成する。   (Step S308) In the inter-part group reference relationship analysis unit 19, how many reference guideline conditions are specified in the part group related reference guide specification table (FIG. 18) for various arrangement patterns in which the part group to which the gray group belongs is changed. Determine if you are satisfied. Then, a part group determination table (FIG. 19) in which the determination result is expressed by an index “POLICY_MATCH” is created.

(ステップS309)S308の判定結果に基づき、解析結果記憶部20に記憶された部品グループ配置テーブルを、グレーグループを最適に配置した構成に更新する。そして表示制御部21は、グレーグループを最適に配置した部品グループの構成または部品グループ間参照関係を表示する。表示形式は実施例1(図10)の場合と同様である。   (Step S309) Based on the determination result of S308, the component group arrangement table stored in the analysis result storage unit 20 is updated to a configuration in which gray groups are optimally arranged. The display control unit 21 displays the configuration of the component group in which the gray group is optimally arranged or the reference relationship between the component groups. The display format is the same as in the first embodiment (FIG. 10).

図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 guide specification unit 22. In FIG. 18, a reference relationship between two component groups is specified, and a circle mark is given to allow reference from the target component group to a reference destination component group, and a mark x is given if reference is not allowed. ing. Here, it is specified that the reference from Group 1 to Group 2 is permitted and the reference from Group 2 to Group 1 is not permitted.

図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 relationship analysis unit 19 in step S308. In each arrangement pattern in which the gray group is arranged in each component group, the reference amount (Metrics) between the component groups described in FIG. 14 is analyzed, and the condition specified in the inter-component group reference guideline is satisfied. An index “POLICY_MATCH” indicating whether or not it is present is provided.

「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 Group 1 to Group 2, the guideline (◯ mark) in FIG. 18 is satisfied, and when a reference is made from Group2 to Group1, the guideline (× mark) in FIG. 18 is not satisfied. In this way, the ratio (degree of coincidence with the reference guideline) that satisfies the guideline for all references is obtained and displayed as a percentage.

算出した「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.

本発明によるプログラム部品化支援装置の実施例1を示すブロック構成図。The block block diagram which shows Example 1 of the program componentization assistance apparatus by this invention. 実施例1に係るプログラム部品化支援装置の全体の処理を示すフローチャート。3 is a flowchart showing overall processing of the program componentization support apparatus according to the first embodiment. 図2におけるステップS106の処理を、詳細に記述したフローチャート。The flowchart which described the process of step S106 in FIG. 2 in detail. シンボル情報解析結果を示すシンボルテーブルの例。The example of the symbol table which shows a symbol information analysis result. シンボル間の参照関係の解析を説明する図。The figure explaining the analysis of the reference relationship between symbols. シンボル間参照関係テーブルの例を示す図。The figure which shows the example of the reference relationship table between symbols. シンボル間の参照関係を表示した一例を示す図。The figure which shows an example which displayed the reference relationship between symbols. 部品グループ配置テーブルの例。An example of a component group arrangement table. 部品グループ間参照関係テーブルの一例を示す図。The figure which shows an example of the reference relationship table between components groups. 部品グループ間の参照関係を表示した画面の一例。An example of a screen displaying a reference relationship between component groups. 実施例2に係るプログラム部品化支援装置の全体の処理を示すフローチャート。9 is a flowchart showing overall processing of the program componentization support apparatus according to the second embodiment. グレーグループ設定テーブルの一例を示す図。The figure which shows an example of a gray group setting table. 図12のようにグレーグループを指定した際のシンボル間の参照関係を示す図。The figure which shows the reference relationship between the symbols at the time of designating a gray group like FIG. 部品グループ判定テーブルの一例を示す図。The figure which shows an example of a component group determination table. 図14の内容をシンボル間の参照関係を示すように表した図。The figure which represented the content of FIG. 14 so that the reference relationship between symbols might be shown. 本発明によるプログラム部品化支援装置の実施例3を示すブロック構成図。The block block diagram which shows Example 3 of the program componentization assistance apparatus by this invention. 実施例3に係るプログラム部品化支援装置の全体の処理を示すフローチャート。10 is a flowchart showing overall processing of the program componentization support apparatus according to the third embodiment. 部品グループ間参照指針指定テーブルの一例を示す図。The figure which shows an example of the reference guideline specification table between component groups. 部品グループ判定テーブルの一例を示す図。The figure which shows an example of a component group determination table.

符号の説明Explanation of symbols

11…ユーザ入力部、12…対象プログラム指定部、13…プログラム記憶部、14…シンボル情報解析部、15…シンボル情報記憶部、16…参照関係記憶部、17…部品グループ指定部、18…部品グループ指定情報記憶部、19…部品グループ間参照関係解析部、20…解析結果記憶部、21…表示制御部、22…部品グループ間参照指針指定部、23…部品グループ間参照指針記憶部。   DESCRIPTION OF SYMBOLS 11 ... User input part, 12 ... Target program designation | designated part, 13 ... Program memory | storage part, 14 ... Symbol information analysis part, 15 ... Symbol information memory | storage part, 16 ... Reference relationship memory | storage part, 17 ... Parts group designation | designated part, 18 ... Parts Group specification information storage unit, 19... Inter-part group reference relationship analysis unit, 20... Analysis result storage unit, 21... Display control unit, 22.

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.
請求項1記載のプログラム部品化支援装置において、
前記部品グループ指定部は、前記シンボルを分類する際に一部のシンボルについてはその所属先を一旦未定とするグレーグループに収容して受け付け、
前記部品グループ間参照関係解析部は、該グレーグループをどの部品グループに所属させるべきかを判定して部品グループを再構成することを特徴とするプログラム部品化支援装置。
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.
請求項2記載のプログラム部品化支援装置において、
前記部品グループ間参照関係解析部は、再構成後の部品グループ間の参照量が最小となるように前記グレーグループの所属先を決定することを特徴とするプログラム部品化支援装置。
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.
請求項2記載のプログラム部品化支援装置において、
ユーザから前記部品グループ間の参照指針の指定を受け付ける部品グループ間参照指針指定部を有し、
前記部品グループ間参照関係解析部は、上記部品グループ間参照指針指定部にて受け付けた参照指針の指定を満足するように前記グレーグループの所属先を決定することを特徴とするプログラム部品化支援装置。
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. .
請求項4記載のプログラム部品化支援装置において、
前記部品グループ間参照関係解析部は、前記グレーグループの所属先を変えた各種配置パターンについて前記指定された参照指針との一致度を求め、該一致度が最大となるもののうち、前記部品グループ間の参照量が最小となる配置パターンを最適構成として決定することを特徴とするプログラム部品化支援装置。
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.
JP2007006659A 2007-01-16 2007-01-16 Program parts support equipment Expired - Fee Related JP4996262B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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