Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5253286B2 - Common data flow extraction system and common data flow extraction method - Google Patents
[go: Go Back, main page]

JP5253286B2 - Common data flow extraction system and common data flow extraction method - Google Patents

Common data flow extraction system and common data flow extraction method Download PDF

Info

Publication number
JP5253286B2
JP5253286B2 JP2009110860A JP2009110860A JP5253286B2 JP 5253286 B2 JP5253286 B2 JP 5253286B2 JP 2009110860 A JP2009110860 A JP 2009110860A JP 2009110860 A JP2009110860 A JP 2009110860A JP 5253286 B2 JP5253286 B2 JP 5253286B2
Authority
JP
Japan
Prior art keywords
data flow
common
common data
steps
reference data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009110860A
Other languages
Japanese (ja)
Other versions
JP2010262359A (en
Inventor
友美 竹内
孝行 峯岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009110860A priority Critical patent/JP5253286B2/en
Publication of JP2010262359A publication Critical patent/JP2010262359A/en
Application granted granted Critical
Publication of JP5253286B2 publication Critical patent/JP5253286B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のアプリケーションのデータフロー記述から、共通に存在するデータフロー記述を抽出して出力する共通データフロー抽出システムおよび共通データフロー抽出方法に関する。   The present invention relates to a common data flow extraction system and a common data flow extraction method for extracting and outputting a common data flow description from data flow descriptions of a plurality of applications.

単一の回路上で回路構成を切り替えながら複数種類のアプリケーションを実現するプラットフォーム回路や動的再構成回路では、汎用性の高すぎるデータパスを用いると充分な性能がでなかったり、回路規模が膨大になりすぎたりする問題がある。そこで、実現する機能をある程度絞り、性能と回路規模の最適化を図ったデータパス回路を用いることで、この問題を解決する。   In platform circuits and dynamic reconfiguration circuits that realize multiple types of applications while switching the circuit configuration on a single circuit, using a data path that is too versatile may not provide sufficient performance, or the circuit scale may be enormous There is a problem of becoming too much. Therefore, this problem is solved by using a data path circuit that narrows the functions to be realized to some extent and optimizes performance and circuit scale.

従来、このような回路に用いられる共通データフローの検出としては、例えば、特許文献1に記載されているものがあった。この検出装置は、ディジタル回路動作についてデータフローグラフ中、一または複数の条件分岐から一つの条件分岐を選択し、この条件分岐に含まれる節点集合をいくつかのグループに分け、分けられたグループのそれぞれをサブグラフとする処理を一または複数の条件分岐に対して行って複数のサブグラフを得る。そして、これら複数のサブグラフを比較して同一サブグラフを検出する。更に、データフローグラフ中の各条件分岐に含まれる節点を一定法則でグループに分けてそれぞれをサブグラフとし、それらサブグラフを比較することにより同一サブグラフを検出するものである。   Conventionally, as a common data flow detection used in such a circuit, for example, there is one described in Patent Document 1. This detection device selects one conditional branch from one or more conditional branches in the data flow graph for digital circuit operation, divides the node set included in the conditional branch into several groups, and A plurality of subgraphs are obtained by performing the processing of subgraphs for one or a plurality of conditional branches. The plurality of subgraphs are compared to detect the same subgraph. Furthermore, the nodes included in each conditional branch in the data flow graph are divided into groups according to a certain rule to make them subgraphs, and the same subgraph is detected by comparing the subgraphs.

特開2006−139427号公報JP 2006-139427 A

しかしながら、上記従来のような共通データフローを検出するシステムは、単一プログラムのデータフロー内からサブグラフと呼ばれる同一の処理機能を検出するシステムであるため、複数種類のアプリケーションプログラムを入力とすることができず、複数アプリケーション間で共通に存在する機能処理の抽出ができないという問題があった。   However, since the system for detecting a common data flow as described above is a system for detecting the same processing function called a subgraph from the data flow of a single program, a plurality of types of application programs may be input. There is a problem in that it is impossible to extract function processing that exists in common among a plurality of applications.

この発明は、上記問題点を解決するためになされたもので、複数アプリケーションを考慮した用意すべきデータパス回路の機能を自動的に決定することのできる共通データフロー抽出システムおよび共通データフロー抽出方法を得ることを目的とする。   The present invention has been made to solve the above problems, and a common data flow extraction system and a common data flow extraction method capable of automatically determining the function of a data path circuit to be prepared in consideration of a plurality of applications. The purpose is to obtain.

この発明に係る共通データフロー抽出システムは、複数のアプリケーションのデータフロー記述を解析して比較し、これら複数のアプリケーションのデータフロー記述間で共通に存在するデータフロー記述を抽出し、共通に存在するデータフロー記述を出力する共通データフロー抽出手段を備えたものである。   The common data flow extraction system according to the present invention analyzes and compares data flow descriptions of a plurality of applications, extracts data flow descriptions that exist in common among the data flow descriptions of the plurality of applications, and exists in common. A common data flow extracting means for outputting a data flow description is provided.

この発明の共通データフロー抽出システムは、複数のアプリケーションのデータフロー記述間で共通に存在するデータフロー記述を抽出して出力するようにしたので、複数アプリケーションを考慮した用意すべきデータパス回路の機能を自動的に決定することができ、プラットフォーム回路や動的再構成回路設計の効率化を図ることができる。   Since the common data flow extraction system of the present invention extracts and outputs the data flow description that exists in common among the data flow descriptions of a plurality of applications, the function of the data path circuit to be prepared in consideration of the plurality of applications Can be automatically determined, and the efficiency of the platform circuit and dynamic reconfigurable circuit design can be improved.

この発明の実施の形態1による共通データフロー抽出システムを示す構成図である。It is a block diagram which shows the common data flow extraction system by Embodiment 1 of this invention. この発明の実施の形態1による共通データフロー抽出システムにおける共通データフロー例と共通データフロー抽出結果を用いた回路例を示す説明図である。It is explanatory drawing which shows the example of a circuit using the common dataflow example in the common dataflow extraction system by Embodiment 1 of this invention, and a common dataflow extraction result. この発明の実施の形態2による共通データフロー抽出システムを示す構成図である。It is a block diagram which shows the common data flow extraction system by Embodiment 2 of this invention. この発明の実施の形態3による共通データフロー抽出システムの共通データフロー抽出手段の構成図である。It is a block diagram of the common data flow extraction means of the common data flow extraction system by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出方法を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the common data flow extraction method by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出方法を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the common data flow extraction method by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出方法を示すフローチャート(その3)である。It is a flowchart (the 3) which shows the common data flow extraction method by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出方法を示すフローチャート(その4)である。It is a flowchart (the 4) which shows the common data flow extraction method by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出方法を示すフローチャート(その5)である。It is a flowchart (the 5) which shows the common data flow extraction method by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出システムにおけるアプリケーションaのデータフロー展開例の説明図である。It is explanatory drawing of the data flow expansion | deployment example of the application a in the common data flow extraction system by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出システムにおけるアプリケーションbのデータフロー展開例の説明図である。It is explanatory drawing of the data flow expansion example of the application b in the common data flow extraction system by Embodiment 3 of this invention. この発明の実施の形態3による共通データフロー抽出システムにおける共通データフロー抽出例の説明図である。It is explanatory drawing of the common data flow extraction example in the common data flow extraction system by Embodiment 3 of this invention.

実施の形態1.
図1は、この発明の実施の形態1による共通データフロー抽出システムの構成図である。
図示の共通データフロー抽出システムは、共通データフロー抽出手段1を備えている。この共通データフロー抽出手段1は、入力されるアプリケーションaのデータフロー記述2aとアプリケーションbのデータフロー記述2bを解析して両者を比較し、アプリケーションaとアプリケーションbとで共通するデータフロー部分を共通データフロー3として出力する手段である。データフローを記述する言語は、データフローを表現できる言語であれば、種類は問わない。また、ここでは二つのアプリケーションのデータフローを入力する例を示したが、三つ以上でもよい。
Embodiment 1 FIG.
FIG. 1 is a configuration diagram of a common data flow extraction system according to Embodiment 1 of the present invention.
The illustrated common data flow extraction system includes common data flow extraction means 1. The common data flow extraction unit 1 analyzes the input data flow description 2a of the application a and the data flow description 2b of the application b, compares them, and shares a common data flow part between the application a and the application b. It is a means for outputting as data flow 3. The language for describing the data flow is not limited as long as it is a language that can express the data flow. In addition, although an example in which the data flows of two applications are input is shown here, three or more may be used.

図2は、実施の形態1の共通データフロー抽出システムによって抽出される共通データフローの例(図中(a)に示す)と、この共通データフロー抽出結果を用いて構成した回路構成の例(図中(b)に示す)である。
図2(a)において、アプリケーションaのデータフロー記述2aと、アプリケーションbのデータフロー記述2bを共通データフロー抽出手段1に入力した結果、アプリケーションaのデータフロー記述2aとアプリケーションbのデータフロー記述2bに共通するデータフローとして、共通データフロー(A)3が抽出されたものとする。これにより、図2(b)において、共通データフロー(A)は共通ブロック(A)6として1ブロックのみ設け、図2(a)において共通データフローとして抽出されなかった残りのデータフロー(B),(C)および(D)については、図2(b)において共通化はされずに、それぞれ、ブロック(B)7、ブロック(C)8およびブロック(D)9として設けるような構成例が考えられる。尚、これら共通ブロック(A)6とその他のブロック(B)〜(D)は接続手段10によって相互に接続されている。
FIG. 2 shows an example of a common data flow extracted by the common data flow extraction system of the first embodiment (shown in (a) in the figure) and an example of a circuit configuration configured using this common data flow extraction result ( (Shown in (b)).
In FIG. 2A, as a result of inputting the data flow description 2a of the application a and the data flow description 2b of the application b to the common data flow extracting means 1, the data flow description 2a of the application a and the data flow description 2b of the application b are obtained. It is assumed that a common data flow (A) 3 is extracted as a data flow common to the. Thus, in FIG. 2B, only one block is provided as the common block (A) 6 in the common data flow (A), and the remaining data flow (B) not extracted as the common data flow in FIG. , (C) and (D) are not shared in FIG. 2 (b), and there are configuration examples provided as block (B) 7, block (C) 8 and block (D) 9, respectively. Conceivable. The common block (A) 6 and the other blocks (B) to (D) are connected to each other by the connecting means 10.

以上のように、実施の形態1の共通データフロー抽出システムによれば、複数のアプリケーションのデータフロー記述を解析して比較し、これら複数のアプリケーションのデータフロー記述間で共通に存在するデータフロー記述を抽出し、共通に存在するデータフロー記述を出力する共通データフロー抽出手段1を備えたので、複数アプリケーションを考慮した用意すべきデータパス回路の機能を自動的に決定することができ、動的再構成回路やプラットフォーム回路など、複数アプリケーションを同一回路上で動作させる回路のアーキテクチャ検討を効率化することが可能となる。   As described above, according to the common data flow extraction system of the first embodiment, the data flow descriptions of a plurality of applications are analyzed and compared, and the data flow descriptions that exist in common among the data flow descriptions of the plurality of applications. Since the common data flow extraction means 1 for extracting the common data flow description and outputting the common data flow description is provided, it is possible to automatically determine the function of the data path circuit to be prepared in consideration of a plurality of applications. It becomes possible to improve the efficiency of architecture studies of circuits that operate multiple applications on the same circuit, such as reconfigurable circuits and platform circuits.

実施の形態2.
図3は、この発明の実施の形態2による共通データフロー抽出システムを示す構成図である。
図において、アプリケーションaの動作記述4aおよびアプリケーションbの動作記述4bは、CプログラムやRTL記述等で記述された動作記述である。データフロー展開手段5a,5bは、複数のアプリケーション動作記述を解析し、データフロー記述に展開する手段である。共通データフロー抽出手段1以降の構成は実施の形態1と同様である。
Embodiment 2. FIG.
FIG. 3 is a block diagram showing a common data flow extraction system according to Embodiment 2 of the present invention.
In the figure, the operation description 4a of the application a and the operation description 4b of the application b are operation descriptions described by a C program, an RTL description, or the like. The data flow expansion means 5a and 5b are means for analyzing a plurality of application operation descriptions and expanding them into data flow descriptions. The configuration after the common data flow extraction means 1 is the same as that of the first embodiment.

アプリケーションaの動作記述4aおよびアプリケーションbの動作記述4bは、それぞれ、データフロー展開手段5aおよび5bに入力され、データフロー展開手段5a,5bは、それぞれ、アプリケーションaのデータフロー記述2aおよびアプリケーションbのデータフロー記述2bに展開する。
共通データフロー抽出手段1は、データフロー展開手段5a,5bで展開されたアプリケーションaのデータフロー記述2aとアプリケーションbのデータフロー記述2bを解析して両者を比較し、アプリケーションaとアプリケーションbとで共通するデータフロー部分を共通データフロー3として出力する。尚、出力される共通データフロー3は、この共通データフロー抽出システムに入力された動作記述と同様のCプログラムやRTL記述か、あるいは、データフロー記述でもよい。また、ここでは二つのアプリケーションの動作記述を入力する例を示したが、三つ以上でもよい。
The operation description 4a of the application a and the operation description 4b of the application b are input to the data flow expansion means 5a and 5b, respectively. The data flow expansion means 5a and 5b are respectively the data flow description 2a of the application a and the application b. The data flow description 2b is expanded.
The common data flow extraction unit 1 analyzes the data flow description 2a of the application a and the data flow description 2b of the application b which are expanded by the data flow expansion units 5a and 5b, and compares the data flow description 2a. A common data flow part is output as a common data flow 3. The common data flow 3 to be output may be a C program or RTL description similar to the operation description input to the common data flow extraction system, or a data flow description. In addition, although an example in which operation descriptions of two applications are input is shown here, three or more may be used.

また、上記共通データフロー抽出システムにおいて、入力するアプリケーションの動作記述をC言語とし、上記共通データフロー抽出システムの出力をRTL記述としてもよい。
また、上記共通データフロー抽出システムにより抽出した共通データフローを、ソフトウェアコンパイラにおいて基本演算を定義するファイル形式として出力すれば、上記共通データフローを共通データパス回路として実装している動的再構成回路やプラットフォーム回路のためのソフトウェアコンパイラ生成の効率化を図ることも可能である。
In the common data flow extraction system, the operation description of the input application may be C language, and the output of the common data flow extraction system may be the RTL description.
In addition, if the common data flow extracted by the common data flow extraction system is output as a file format that defines basic operations in a software compiler, a dynamic reconfiguration circuit that implements the common data flow as a common data path circuit It is also possible to improve the efficiency of software compiler generation for platform circuits.

以上のように、実施の形態2の共通データフロー抽出システムによれば、C言語またはRTL言語による複数のアプリケーション動作記述を解析し、データフロー記述に展開するデータフロー展開手段を備え、共通データフロー抽出手段は、データフロー展開手段で展開された複数のアプリケーションのデータフロー記述を解析するようにしたので、C言語やRTL言語による複数のアプリケーション動作記述に対しても、その共通データフローを抽出することができる。   As described above, according to the common data flow extraction system of the second embodiment, the common data flow is provided with data flow expansion means for analyzing a plurality of application operation descriptions in C language or RTL language and expanding them into data flow descriptions. Since the extracting means analyzes the data flow descriptions of a plurality of applications developed by the data flow developing means, the common data flow is extracted even for a plurality of application operation descriptions in C language or RTL language. be able to.

実施の形態3.
実施の形態3の共通データフロー抽出システムは、実施の形態1または2における共通データフロー抽出手段1をデータフロー比較部と共通データフロー抽出部を用いて構成したものである。
図4は、実施の形態3の共通データフロー抽出システムにおける共通データフロー抽出手段の構成図である。
図において、共通データフロー抽出手段は、第1入力部101a、第2入力部101b、データフロー比較部102、共通データフロー抽出部103、目標深さ段数記憶部104、一致段数記憶部105を備えている。また、データフロー比較部102は、基準データフロー深さ段数記憶部102aと、非基準データフロー深さ段数記憶部102bとを有している。ここで、共通データフロー抽出手段1はコンピュータを用いて実現され、データフロー比較部102および共通データフロー抽出部103は、それぞれの機能に対応したソフトウェアと、これを実行するためのCPUやメモリ等のハードウェアから構成されている。あるいは、データフロー比較部102や共通データフロー抽出部103を専用のハードウェアで構成してもよい。
Embodiment 3 FIG.
In the common data flow extraction system of the third embodiment, the common data flow extraction means 1 in the first or second embodiment is configured using a data flow comparison unit and a common data flow extraction unit.
FIG. 4 is a configuration diagram of common data flow extraction means in the common data flow extraction system of the third embodiment.
In the figure, the common data flow extraction means includes a first input unit 101a, a second input unit 101b, a data flow comparison unit 102, a common data flow extraction unit 103, a target depth step number storage unit 104, and a matching step number storage unit 105. ing. In addition, the data flow comparison unit 102 includes a reference data flow depth step number storage unit 102a and a non-reference data flow depth step number storage unit 102b. Here, the common data flow extraction unit 1 is realized using a computer, and the data flow comparison unit 102 and the common data flow extraction unit 103 include software corresponding to each function, a CPU and a memory for executing the software, and the like. It consists of hardware. Alternatively, the data flow comparison unit 102 and the common data flow extraction unit 103 may be configured with dedicated hardware.

第1入力部101aおよび第2入力部101bは、例えば、図1〜図3に示したアプリケーションaのデータフロー記述2aやアプリケーションbのデータフロー記述2bのように、比較対象とするデータフローの入力部である。尚、ここでは二つのアプリケーションのデータフロー記述に対して二つの入力部としたが、三つ以上のデータフロー記述に対しては三つ以上の入力部としてもよい。データフロー比較部102は、複数のアプリケーションのデータフロー記述の最終点を起点として演算段数毎に演算種類を比較する機能を有している。基準データフロー深さ段数記憶部102aは、基準データフローとなるデータフローの深さ段数の値を保持し、非基準データフロー深さ段数記憶部102bは、非基準データフローとなるデータフローの深さ段数の値を保持する記憶部である。共通データフロー抽出部103は、データフロー比較部102で、予め定めた目標段数分の一致段数が得られた場合に、目標段数のデータフロー記述部分を共通データフローとして抽出する機能を有している。目標深さ段数記憶部104は、外部から設定されるか、あるいは初期値として予め設定される目標段数の値を保持する記憶部である。一致段数記憶部105は、データフロー比較部102での比較の結果、一致した段数の値を保持する記憶部である。   The first input unit 101a and the second input unit 101b are used to input a data flow to be compared, such as the data flow description 2a of the application a and the data flow description 2b of the application b illustrated in FIGS. Part. Here, two input units are used for the data flow descriptions of two applications, but three or more input units may be used for three or more data flow descriptions. The data flow comparison unit 102 has a function of comparing calculation types for each number of calculation stages starting from the final point of data flow descriptions of a plurality of applications. The reference data flow depth step storage unit 102a holds the value of the depth step number of the data flow serving as the reference data flow, and the non-reference data flow depth step storage unit 102b is the depth of the data flow serving as the non-reference data flow. This is a storage unit that holds the value of the number of steps. The common data flow extraction unit 103 has a function of extracting the data flow description portion of the target number of steps as a common data flow when the data flow comparison unit 102 obtains the same number of matching steps as the target number of steps. Yes. The target depth step number storage unit 104 is a storage unit that holds a value of the target step number that is set from the outside or is preset as an initial value. The coincidence stage number storage unit 105 is a storage unit that holds values of the number of stages that coincide as a result of comparison in the data flow comparison unit 102.

次に、実施の形態3の共通データフロー抽出システムの動作について説明する。
図5−1〜図5−5は、実施の形態3の共通データフロー抽出システムによる共通データフロー抽出方法を示すフローチャートである。
<ステップST1>共通データフローの目標深さ段数を設定する。この目標深さ段数の値は目標深さ段数記憶部104に記憶される。
<ステップST2>データフロー比較部102は、第1,第2入力部101a,101bより入力された複数ある抽出対象データフローの深さ段数を測る。
<ステップST3>上記ステップST2で求めた複数の抽出データフローの深さ段数のうち、最小深さ段数であるデータフローを基準データフローとして、その深さ段数の値を基準データフロー深さ段数記憶部102aで保持する。また、他方のデータフローを非基準データフローとしてその深さ段数の値を非基準データフロー深さ段数記憶部102bに保持する。
<ステップST4a,ST4b>データフロー比較部102は、ステップST1で設定した目標深さ段数と、ステップST3で求めた基準データフローの深さ段数を比較し、目標深さ段数の方が大きければ、目標深さ段数の値を基準データフローの深さ段数の値に変更する。即ち、目標深さ段数記憶部104の値を基準データフロー深さ段数記憶部102aの深さ段数の値で変更する。一方、基準データフローの深さ段数が目標深さ段数以上であれば、変更しない。
Next, the operation of the common data flow extraction system of Embodiment 3 will be described.
FIGS. 5-1 to 5-5 are flowcharts illustrating a common data flow extraction method by the common data flow extraction system according to the third embodiment.
<Step ST1> The target depth step number of the common data flow is set. The value of the target depth step number is stored in the target depth step storage unit 104.
<Step ST2> The data flow comparison unit 102 measures the number of depth stages of a plurality of extraction target data flows input from the first and second input units 101a and 101b.
<Step ST3> Among the plurality of extracted data flow depth steps obtained in step ST2, the data flow having the minimum depth step is used as a reference data flow, and the value of the depth step number is stored as the reference data flow depth step number. It is held by the unit 102a. Further, the other data flow is set as a non-reference data flow, and the value of the depth step number is held in the non-reference data flow depth step number storage unit 102b.
<Steps ST4a, ST4b> The data flow comparison unit 102 compares the target depth step number set in step ST1 with the reference data flow depth step number obtained in step ST3, and if the target depth step number is larger, The target depth step value is changed to the reference data flow depth step value. That is, the value of the target depth step number storage unit 104 is changed with the value of the depth step number of the reference data flow depth step number storage unit 102a. On the other hand, if the number of depth steps of the reference data flow is equal to or greater than the target depth step, no change is made.

<ステップST5a,ST5b>目標深さ段数が0より大きければ、基準データフローの起点をデータフローの最下点、即ち、データフローの最終演算子に設定する。これは、基準データフローの起点段番号を0に設定することと等しい。一方、目標深さ段数が0であれば、共通データフローが抽出されなかったものとして処理を終了する。
<ステップST6a,ST6b>“基準データフローの深さ段数−目標深さ段数”が“基準データフローの起点段番号”以上であれば、非基準データフローの起点を最下点に設定、即ち、非基準データフローの起点段番号を0に設定する。一方、“基準データフローの深さ段数−目標深さ段数”が“基準データフローの起点段番号”より小さければ、現“目標深さ段数”の共通データフローは抽出されなかったものとして、ステップST18の処理に移る。
<Steps ST5a and ST5b> If the target depth step number is larger than 0, the starting point of the reference data flow is set to the lowest point of the data flow, that is, the final operator of the data flow. This is equivalent to setting the starting stage number of the reference data flow to 0. On the other hand, if the target depth step number is 0, it is determined that the common data flow has not been extracted, and the process ends.
<Steps ST6a, ST6b> If “the number of steps in the reference data flow−the number of steps in the target depth” is equal to or greater than the “starting step number of the reference data flow”, the starting point of the non-reference data flow is set to the lowest point, Set the starting stage number of the non-reference data flow to 0. On the other hand, if “the depth step of the reference data flow−the target depth step” is smaller than the “starting step number of the reference data flow”, it is determined that the common data flow of the current “target depth step” has not been extracted. The process proceeds to ST18.

データフロー比較部102は、比較を開始する前の前処理として、次のステップST7〜ステップST10を実行する。
<ステップST7a,ST7b>“非基準データフローの深さ段数−目標深さ段数”が“非基準データフローの起点段番号”以上であれば、一致段数記憶部105の一致段数を0にリセットする。一方、“非基準データフローの深さ段数−目標深さ段数”が“非基準データフローの起点段番号”より小さければ、現基準データフローの起点では共通データフローが抽出されなかったものとして、ステップST17の処理に移る。
<ステップST8>比較段数を0にリセットする。
<ステップST9>基準データフローの起点段を基準データフローの比較段に設定する。
<ステップST10>非基準データフローの起点段を非基準データフローの比較段に設定する。
<ステップST11a,ST11b>データフロー比較部102は、基準データフローの比較段と非基準データフローの比較段の演算種類を比較し、演算種類が一致するかを判定する。
<ステップST12a,ST12b>ステップST11の比較の結果、演算種類が一致するならば、一致段数記憶部105における一致段数をカウントアップする。結果、一致段数と目標深さ段数が等しくなると、共通データフロー抽出部103は、共通データフローが抽出されたものとしてこれを出力し、処理を終了する。一致段数が目標深さ段数に達していなければ、以下、データフロー比較部102は、ステップST13からの処理を継続する。一方、演算種類が一致しないならば、ステップST16の処理に移る。
The data flow comparison unit 102 executes the following steps ST7 to ST10 as preprocessing before starting the comparison.
<Steps ST7a, ST7b> If “the number of non-reference data flow depth steps−the number of target depth steps” is equal to or greater than the “starting step number of the non-reference data flow”, the number of matching steps in the matching step number storage unit 105 is reset to zero. . On the other hand, if “the depth step number of the non-reference data flow−the target depth step number” is smaller than the “starting step number of the non-reference data flow”, the common data flow is not extracted at the starting point of the current reference data flow. The process proceeds to step ST17.
<Step ST8> The number of comparison stages is reset to zero.
<Step ST9> The starting stage of the reference data flow is set to the comparison stage of the reference data flow.
<Step ST10> The starting stage of the non-reference data flow is set to the comparison stage of the non-reference data flow.
<Steps ST11a and ST11b> The data flow comparison unit 102 compares the operation types of the comparison stage of the reference data flow and the comparison stage of the non-reference data flow, and determines whether the operation types match.
<Steps ST12a and ST12b> As a result of the comparison in step ST11, if the operation types match, the number of matching stages in the matching stage number storage unit 105 is counted up. As a result, when the coincidence step number and the target depth step number become equal, the common data flow extraction unit 103 outputs the common data flow as extracted, and ends the processing. If the number of matching steps does not reach the target depth step, the data flow comparison unit 102 continues the process from step ST13. On the other hand, if the operation types do not match, the process proceeds to step ST16.

<ステップST13>基準データフローの比較段を1段さかのぼる。
<ステップST14>非基準データフローの比較段を1段さかのぼる。
<ステップST15a,ST15b>比較段数を1カウントアップする。比較段数が目標深さ段数に達したら、以下、ステップST16からの処理を行う。一方、比較段数が目標深さ段数に達していなければ、ステップST11〜ステップST15の処理を繰り返す。
<ステップST16>上記ステップST15までの比較で共通データフローが抽出できなかったため、非基準データフローの起点を1段さかのぼる。即ち、非基準データフローの起点段番号を1カウントアップし、ステップST7〜ステップST16を繰り返す。
<ステップST17>上記ステップST16までの比較、即ち、基準データフローの起点はそのままに、非基準データフローの起点を1段ずつさかのぼっての比較では共通データフローが抽出されなかったものとして、基準データフローの起点を1段さかのぼる。即ち、基準データフローの起点番号を1カウントアップする。
<ステップST18>上記ステップST17までの比較、即ち、現設定の目標深さ段数では共通データフローが抽出されなかったものとして、目標深さ段数を1カウントダウンし、再び、ステップST5〜ステップST17の処理を繰り返す。
<Step ST13> The comparison stage of the reference data flow is traced back by one stage.
<Step ST14> The comparison stage of the non-reference data flow is traced back by one stage.
<Steps ST15a and ST15b> The number of comparison stages is incremented by one. When the comparison step number reaches the target depth step number, processing from step ST16 is performed. On the other hand, if the comparison step number does not reach the target depth step number, the processes of steps ST11 to ST15 are repeated.
<Step ST16> Since the common data flow could not be extracted in the comparison up to step ST15, the starting point of the non-reference data flow is traced back by one step. That is, the starting stage number of the non-reference data flow is incremented by 1, and steps ST7 to ST16 are repeated.
<Step ST17> It is assumed that the common data flow is not extracted in the comparison up to the above step ST16, that is, the comparison of the reference data flow is performed one step after the start of the non-reference data flow without changing the reference data flow. Go back one step in the flow. That is, the starting point number of the reference data flow is incremented by one.
<Step ST18> Comparison up to the above step ST17, that is, assuming that the common data flow is not extracted with the currently set target depth step number, the target depth step number is counted down by 1, and the processing of step ST5 to step ST17 is performed again. repeat.

次に、共通データフロー抽出の具体例を説明する。
図6(a)はアプリケーションaのCプログラム記述である。これを、データフロー展開手段5a(実施の形態2における図3参照)によってデータフロー展開したものが、図6(b)のデータフローである。一方、図7(a)はアプリケーションbのCプログラム記述であり、同様にデータフロー展開手段5bによってデータフロー展開したものが、図7(b)のデータフローである。上記アプリケーションaのデータフローとアプリケーションbのデータフローに対し、実施の形態3の方法により共通データフロー抽出を実施した例が図8である。
Next, a specific example of common data flow extraction will be described.
FIG. 6A shows the C program description of application a. The data flow shown in FIG. 6B is obtained by developing the data flow by the data flow development means 5a (see FIG. 3 in the second embodiment). On the other hand, FIG. 7A shows a C program description of the application b. Similarly, the data flow expanded by the data flow expansion means 5b is the data flow of FIG. 7B. FIG. 8 shows an example in which common data flow extraction is performed on the data flow of application a and the data flow of application b by the method of the third embodiment.

<ステップST1>共通データフローの目標深さ段数を5段に設定する。
<ステップST2>抽出対象データフローであるアプリケーションaとアプリケーションbのデータフローの深さ段数をそれぞれ測る。アプリケーションaの深さ段数は9段、アプリケーションbの深さ段数は4段である。
<ステップST3>ステップST2で求めた複数の抽出データフローの深さ段数のうち、アプリケーションbの深さ段数が最小であるため、アプリケーションbのデータフローを基準データフローとする。
<ステップST4a,ST4b>ステップST1で設定した目標深さ段数5段と、ステップST3で求めた基準データフローの深さ段数4段を比較し、目標深さ段数の方が大きいため、目標深さ段数の値を基準データフローの深さ段数4段に変更する。
<Step ST1> The target depth step number of the common data flow is set to five steps.
<Step ST2> The depth steps of the data flows of the application a and the application b, which are extraction target data flows, are measured. The number of depth steps for application a is nine, and the number of depth steps for application b is four.
<Step ST3> Since the number of depth steps of the application b is the smallest among the number of depth steps of the plurality of extracted data flows obtained in step ST2, the data flow of the application b is set as a reference data flow.
<Steps ST4a and ST4b> The target depth step number 5 is compared with the target depth step number 4 because the target depth step number is larger. The value of the number of steps is changed to four depth steps of the reference data flow.

<ステップST5a,ST5b>目標深さ段数が4段と“0”より大きいため、基準データフローの起点をデータフローの最下点に設定する。
<ステップST6a,ST6b>“基準データフローの深さ段数[4段]−目標深さ段数[4段]”が“基準データフローの起点段番号[0]”以上であるため、非基準データフローの起点を最下点に設定、即ち、非基準データフローの起点段番号を“0”に設定する。
<ステップST7a,ST7b>“非基準データフローの深さ段数[9段]−目標深さ段数[4段]”が“非基準データフローの起点段番号[0]”以上であるため、一致段数を0にリセットする。
<ステップST8>比較段数を0にリセットする。
<ステップST9>基準データフローの起点段[0]を基準データフローの比較段に設定する。
<ステップST10>非基準データフローの起点段[0]を非基準データフローの比較段に設定する。
<ステップST11a,ST11b>基準データフロー(アプリケーションbのデータフロー)の比較段[0]と非基準データフロー(アプリケーションaのデータフロー)の比較段[0]の演算種類、即ち、“―(減算)”と“+(加算)”を比較する。このとき、減算と加算は演算種類が等しいものとして考えると、比較が一致する。
<ステップST12a,ST12b>演算種類が一致したため、一致段数はカウントアップされて“1段”となる。この段階では、一致段数“1段”は目標深さ段数“4段”に達していないため、以下、ステップST13からの処理を継続する。
<Steps ST5a, ST5b> Since the target depth step number is 4 and larger than “0”, the starting point of the reference data flow is set to the lowest point of the data flow.
<Steps ST6a and ST6b> Since “the number of reference data flow depth steps [4 steps] −the target depth step number [4 steps]” is equal to or greater than “the reference data flow starting step number [0]”, the non-reference data flow Is set to the lowest point, that is, the starting stage number of the non-reference data flow is set to “0”.
<Steps ST7a, ST7b> Since the number of depth steps [9 steps] -target depth step [4 steps] of the non-reference data flow is equal to or greater than the “starting step number [0] of the non-reference data flow”, the number of matching steps Is reset to 0.
<Step ST8> The number of comparison stages is reset to zero.
<Step ST9> The starting stage [0] of the reference data flow is set as the comparison stage of the reference data flow.
<Step ST10> The starting stage [0] of the non-reference data flow is set as the comparison stage of the non-reference data flow.
<Steps ST11a and ST11b> Operation types of the comparison stage [0] of the reference data flow (application b data flow) and the comparison stage [0] of the non-reference data flow (application a data flow), that is, “-(subtraction) ) ”And“ + (addition) ”. At this time, if the subtraction and the addition are considered to have the same operation type, the comparison matches.
<Steps ST12a and ST12b> Since the operation types match, the number of matching stages is counted up to “1 stage”. At this stage, since the number of matching stages “1 stage” has not reached the target depth stage number “4 stages”, the processing from step ST13 is continued.

<ステップST13>基準データフローの比較段を1段さかのぼる。即ち、アプリケーションbの比較段は“1”となる。
<ステップST14>非基準データフローの比較段を1段さかのぼる。即ち、アプリケーション1の比較段は“1”となる。
<ステップST15a,ST15b>比較段数を1カウントアップし、比較段数を“1段”とする。比較段数“1段”が目標深さ段数“4段”に達していないため、上記ステップST11〜ステップST15(ループ4)の処理を繰り返す。
<ステップST11a−2,ST11b−2>基準データフローの比較段[1]と非基準データフローの比較段[1]の演算種類、即ち、“演算なし”と“+(加算)”、“+(加算)”と“+(加算)”を比較する。このとき、片方の演算種類の比較が一致しないため、ステップST16の処理へ移る。
<Step ST13> The comparison stage of the reference data flow is traced back by one stage. That is, the comparison stage of the application b is “1”.
<Step ST14> The comparison stage of the non-reference data flow is traced back by one stage. That is, the comparison stage of application 1 is “1”.
<Steps ST15a and ST15b> The number of comparison stages is incremented by 1, and the number of comparison stages is set to “1 stage”. Since the comparison stage number “1 stage” has not reached the target depth stage number “4 stages”, the processes of step ST11 to step ST15 (loop 4) are repeated.
<Steps ST11a-2, ST11b-2> Operation types of the comparison stage [1] of the reference data flow and the comparison stage [1] of the non-reference data flow, that is, “no operation”, “+ (addition)”, “+ (Addition) "and" + (addition) "are compared. At this time, since the comparison of one of the calculation types does not match, the process proceeds to step ST16.

<ステップST16>上記ステップST15までの比較で共通データフローが抽出できなかったため、非基準データフローの起点を1段さかのぼり、非基準データフローの起点段番号を“1”に更新し、上記ステップST7〜ステップST15(ループ3)の処理を繰り返す。
<ステップST7a−2,ST7b−2>“非基準データフローの深さ段数[9段]−目標深さ段数[4段]”が“非基準データフローの起点段番号[1]”以上であるため、一致段数を0にリセットする。
<ステップST8−2>比較段数を0にリセットする。
<ステップST9−2>基準データフローの起点段[0]を基準データフローの比較段に設定する。
<ステップST10−2>非基準データフローの起点段[1]を非基準データフローの比較段に設定する。
<ステップST11a−3,ST11b−3>基準データフロー(アプリケーションb)の比較段[0]と非基準データフロー(アプリケーションa)の比較段[1]の演算種類、即ち、“+(加算)”と“+(加算)”を比較し、比較が一致する。
<ステップST12a−2,ST12b−2>演算種類が一致したため、一致段数はカウントアップされて“1段”となる。この段階では、一致段数“1段”は目標深さ段数“4段”に達していないため、以下ステップST13−2からの処理を継続する。
<Step ST16> Since the common data flow could not be extracted in the comparison up to step ST15, the starting point of the non-reference data flow is traced back by one step, the starting step number of the non-reference data flow is updated to “1”, and step ST7 -Repeat the process of step ST15 (loop 3).
<Steps ST7a-2, ST7b-2> “Non-reference data flow depth step number [9 steps] −Target depth step number [4 steps]” is not less than “Non-reference data flow start step number [1]” Therefore, the number of matching stages is reset to zero.
<Step ST8-2> The number of comparison stages is reset to zero.
<Step ST9-2> The starting stage [0] of the reference data flow is set as the comparison stage of the reference data flow.
<Step ST10-2> The starting stage [1] of the non-reference data flow is set as the comparison stage of the non-reference data flow.
<Steps ST11a-3 and ST11b-3> Operation types of the comparison stage [0] of the reference data flow (application b) and the comparison stage [1] of the non-reference data flow (application a), that is, “+ (addition)” And “+ (addition)” are compared, and the comparisons match.
<Steps ST12a-2, ST12b-2> Since the operation types match, the number of matching stages is counted up to “1 stage”. At this stage, since the number of matching stages “1 stage” has not reached the target depth stage number “4 stages”, the process from step ST13-2 is continued.

<ステップST13−2>基準データフローの比較段を1段さかのぼる。即ち、アプリケーションbの比較段は“1”となる。
<ステップST14−2>非基準データフローの比較段を1段さかのぼる。即ち、アプリケーション1の比較段は“2”となる。
<ステップST15a−2,ST15b−2>比較段数を1カウントアップし、比較段数を“1段”とする。比較段数“1段”が目標深さ段数“4段”に達していないため、ステップST11〜ステップST15(ループ4)の処理を繰り返す。
<ステップST11a−4,ST11b−4>アプリケーションbの比較段[1]とアプリケーションaの比較段[2]の演算種類、即ち、“+(加算)”と“+(加算)”、“+(加算)”と“+(加算)”を比較し、比較が一致する。
<ステップST12a−3,ST12b−3>演算種類が一致したため、一致段数はカウントアップされて“2段”となる。この段階では、一致段数“2段”は目標深さ段数“4段”に達していないため、以下、ステップST13−3からの処理を継続する。
<Step ST13-2> The comparison stage of the reference data flow is traced back by one stage. That is, the comparison stage of the application b is “1”.
<Step ST14-2> The comparison stage of the non-reference data flow is traced back by one stage. That is, the comparison stage of application 1 is “2”.
<Steps ST15a-2 and ST15b-2> The number of comparison stages is incremented by 1, and the number of comparison stages is set to “1 stage”. Since the comparison stage number “1 stage” has not reached the target depth stage number “4 stages”, the processing of step ST11 to step ST15 (loop 4) is repeated.
<Steps ST11a-4 and ST11b-4> The operation types of the comparison stage [1] of the application b and the comparison stage [2] of the application a, that is, “+ (addition)”, “+ (addition)”, “+ ( Addition) ”and“ + (addition) ”are compared, and the comparisons match.
<Steps ST12a-3, ST12b-3> Since the operation types match, the number of matching stages is counted up to “2 stages”. At this stage, the number of coincidence steps “2 steps” has not reached the target depth step number “4 steps”, and hence the processing from step ST13-3 is continued.

<ステップST13−3>基準データフローの比較段を1段さかのぼる。即ち、アプリケーションbの比較段は“2”となる。
<ステップST14−3>非基準データフローの比較段を1段さかのぼる。即ち、アプリケーション1の比較段は“3”となる。
<ステップST15a−3,ST15b−3>比較段数を1カウントアップし、比較段数を“2段”とする。比較段数“2段”が目標深さ段数“4段”に達していないため、ステップST11〜ステップST15(ループ4)の処理を繰り返す。
<ステップST11a−5,ST11b−5>アプリケーションbの比較段[2]とアプリケーションaの比較段[3]の演算種類、即ち、“+(加算)”と“+(加算)”、“+(加算)”と“+(加算)”、“+(加算)”と“+(加算)”、“+(加算)”と“+(加算)”を比較し、比較が一致する。
<ステップST12a−4,ST12b−4>演算種類が一致したため、一致段数はカウントアップされて“3段”となる。この段階では、一致段数“3段”は目標深さ段数“4段”に達していないため、以下、ステップST13−4からの処理を継続する。
<Step ST13-3> The comparison stage of the reference data flow is traced back by one stage. That is, the comparison stage of application b is “2”.
<Step ST14-3> The comparison stage of the non-reference data flow is traced back by one stage. That is, the comparison stage of application 1 is “3”.
<Steps ST15a-3, ST15b-3> The number of comparison stages is incremented by 1, and the number of comparison stages is set to “2 stages”. Since the comparison step number “2 steps” has not reached the target depth step number “4 steps”, the processing of step ST11 to step ST15 (loop 4) is repeated.
<Steps ST11a-5 and ST11b-5> Operation types of the comparison stage [2] of the application b and the comparison stage [3] of the application a, that is, “+ (addition)”, “+ (addition)”, “+ ( “Addition” ”and“ + (addition) ”,“ + (addition) ”and“ + (addition) ”,“ + (addition) ”and“ + (addition) ”are compared, and the comparisons match.
<Steps ST12a-4, ST12b-4> Since the operation types match, the number of matching stages is counted up to “3 stages”. At this stage, the number of coincidence steps “3 steps” has not reached the target depth step number “4 steps”, so the processing from step ST13-4 is continued.

<ステップST13−4>基準データフローの比較段を1段さかのぼる。即ち、アプリケーションbの比較段は“3”となる。
<ステップST14−4>非基準データフローの比較段を1段さかのぼる。即ち、アプリケーション1の比較段は“4”となる。
<ステップST15−4>比較段数を1カウントアップし、比較段数を“3段”とする。比較段数“3段”が目標深さ段数“4段”に達していないため、ステップST11〜ステップST15(ループ4)の処理を繰り返す。
<ステップST11a−6,ST11b−6>アプリケーションbの比較段[3]とアプリケーションaの比較段[4]の演算種類、即ち、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”、“×(乗算)”と“×(乗算)”を比較し、比較が一致する。
<ステップST12a−5,ST12b−5>演算種類が一致したため、一致段数はカウントアップされて“4段”となる。一致段数“4段”が目標深さ段数“4段”に達したため、共通データフローが抽出されたものとして、処理を終了する。
以上のようにして、複数のアプリケーションに共通するデータフローを抽出することが可能である。
<Step ST13-4> The comparison stage of the reference data flow is traced back by one stage. That is, the comparison stage of the application b is “3”.
<Step ST14-4> The comparison stage of the non-reference data flow is traced back by one stage. That is, the comparison stage of application 1 is “4”.
<Step ST15-4> The number of comparison stages is incremented by 1, and the number of comparison stages is set to “3 stages”. Since the comparison stage number “3” does not reach the target depth stage “4”, the processes of step ST11 to step ST15 (loop 4) are repeated.
<Steps ST11a-6 and ST11b-6> The operation types of the comparison stage [3] of the application b and the comparison stage [4] of the application a, that is, “× (multiplication)” and “x (multiplication)”, “× ( "Multiplication)" and "X (Multiplication)", "X (Multiplication)" and "X (Multiplication)", "X (Multiplication)" and "X (Multiplication)", "X (Multiplication)" and "X (Multiplication)" ) "," X (multiplication) "and" x (multiplication) "," x (multiplication) "and" x (multiplication) "," x (multiplication) "and" x (multiplication) " Match.
<Steps ST12a-5, ST12b-5> Since the types of calculation match, the number of matching stages is counted up to “4 stages”. Since the coincidence step number “4 steps” has reached the target depth step number “4 steps”, it is assumed that the common data flow has been extracted, and the processing is terminated.
As described above, a data flow common to a plurality of applications can be extracted.

以上のように、実施の形態3の共通データフロー抽出システムによれば、共通データフロー抽出手段として、複数のアプリケーションのデータフロー記述の最終点を起点として演算段数毎に演算種類を比較するデータフロー比較部102と、データフロー比較部102で、予め定めた目標段数分の一致段数が得られた場合に、目標段数のデータフロー記述部分を共通データフローとして抽出する共通データフロー抽出部103とを備えたので、複数のアプリケーション間で共通に存在するデータフローを容易かつ確実に抽出することができる。   As described above, according to the common data flow extraction system of the third embodiment, as a common data flow extraction unit, a data flow that compares operation types for each number of operation stages starting from the final point of data flow descriptions of a plurality of applications. The comparison unit 102 and the common data flow extraction unit 103 that extracts the data flow description portion of the target number of steps as a common data flow when the matching number of steps corresponding to the predetermined number of target steps is obtained by the data flow comparison unit 102 Since it is provided, it is possible to easily and reliably extract a data flow that exists in common among a plurality of applications.

また、実施の形態3の共通データフロー抽出方法によれば、抽出する共通データフローの目標深さ段数を設定し、共通データフロー抽出対象である複数のアプリケーションのデータフロー記述のそれぞれの深さを計測し、複数のアプリケーションのデータフローのうち最も深さが小さいアプリケーションのデータフローを基準データフローとし、基準データフローの深さが目標深さ段数よりも小さい場合は、目標深さ段数を基準データフローの深さの値に変更するステップと、一致段数を初期化後、複数のアプリケーションのデータフローの最終点を起点とし、それぞれのデータフローを一段ずつさかのぼりながら演算種類の一致/不一致を判定し、一致の場合は一致段数をカウントアップして引き続き一段データフローをさかのぼって判定を継続し、不一致の場合は一致段数を0にリセットして基準データフローではないデータフローの起点を一段上にずらして新たに判定を開始するステップと、一致段数が目標深さ段数に達した場合は、一致したデータフロー部分を共通データフローとして抽出するステップと、一致段数が目標深さ段数に達する前に基準データフローではないデータフローの最上段まで判定が終了した場合は、一致段数を0にリセットして基準データフローの起点を一段上にずらして新たに判定を開始するステップと、一致段数が目標深さ段数に達する前に基準データフローの最上段まで判定が終了した場合は、一致段数を0にリセットして目標深さ段数を1減らして、再度各データフローの最終点を起点として判定を行うステップとを備えたので、複数のアプリケーション間で共通に存在するデータフローを容易かつ確実に抽出することができる。   Further, according to the common data flow extraction method of the third embodiment, the target depth level of the common data flow to be extracted is set, and the depths of the data flow descriptions of the plurality of applications that are the common data flow extraction target are set. Measure and use the data flow of the application with the smallest depth among the data flows of multiple applications as the reference data flow. If the depth of the reference data flow is smaller than the target depth step number, use the target depth step number as the reference data flow. After initializing the step of changing to the flow depth value and the number of matching stages, the final point of the data flow of multiple applications is used as the starting point, and whether or not the operation type matches or does not match is determined by going back each data flow step by step. If there is a match, count up the number of matching steps and continue to go back one step in the data flow If there is a discrepancy, reset the number of matching steps to 0, shift the starting point of the data flow that is not the reference data flow up one step, and start a new determination, and the number of matching steps reaches the target depth step Is the step of extracting the matching data flow part as a common data flow, and when the determination is completed up to the uppermost stage of the data flow that is not the reference data flow before the matching stage number reaches the target depth stage number, the matching stage number is set to 0. If the determination is completed up to the top level of the reference data flow before the number of matching steps reaches the target depth step A step of resetting the number of steps to 0, reducing the number of target depth steps by one, and determining again from the final point of each data flow as a starting point. The data flow that exists in common can be easily and reliably extracted between publication.

1 共通データフロー抽出手段、2a アプリケーションaのデータフロー記述、2b アプリケーションbのデータフロー記述、3 共通データフロー、4a アプリケーションaの動作記述、4b アプリケーションbの動作記述、5a,5b データフロー展開手段、101a 第1入力部、101b 第2入力部、102 データフロー比較部、102a 基準データフロー深さ段数記憶部、102b 非基準データフロー深さ段数記憶部、103 共通データフロー抽出部、104 目標深さ段数記憶部、105 一致段数記憶部。   DESCRIPTION OF SYMBOLS 1 Common data flow extraction means, 2a Data flow description of application a, 2b Data flow description of application b, 3 Common data flow, 4a Operation description of application a, 4b Operation description of application b, 5a, 5b Data flow expansion means, 101a First input unit, 101b Second input unit, 102 Data flow comparison unit, 102a Reference data flow depth level storage unit, 102b Non-reference data flow depth level storage unit, 103 Common data flow extraction unit, 104 Target depth Step number storage unit, 105 Matching step number storage unit.

Claims (4)

複数のアプリケーションのデータフロー記述を解析して比較し、これら複数のアプリケーションのデータフロー記述間で共通に存在するデータフロー記述を抽出し、当該共通に存在するデータフロー記述を出力する共通データフロー抽出手段を備えたことを特徴とする共通データフロー抽出システム。   Common data flow extraction that analyzes and compares data flow descriptions of multiple applications, extracts data flow descriptions that exist in common among the data flow descriptions of these multiple applications, and outputs the data flow descriptions that exist in common A common data flow extraction system characterized by comprising means. C言語またはRTL言語による複数のアプリケーション動作記述を解析し、データフロー記述に展開するデータフロー展開手段を備え、共通データフロー抽出手段は、前記データフロー展開手段で展開された前記複数のアプリケーションのデータフロー記述を解析することを特徴とする請求項1記載の共通データフロー抽出システム。   Analyzing a plurality of application operation descriptions in C language or RTL language and providing data flow expansion means for expanding the data into a data flow description, and a common data flow extraction means includes data of the plurality of applications expanded by the data flow expansion means 2. The common data flow extraction system according to claim 1, wherein the flow description is analyzed. 共通データフロー抽出手段は、
複数のアプリケーションのデータフロー記述の最終点を起点として演算段数毎に演算種類を比較するデータフロー比較部と、
前記データフロー比較部で、予め定めた目標段数分の一致段数が得られた場合に、当該目標段数のデータフロー記述部分を共通データフローとして抽出する共通データフロー抽出部とを備えたことを特徴とする請求項1または請求項2記載の共通データフロー抽出システム。
The common data flow extraction means is
A data flow comparison unit that compares operation types for each number of operation steps starting from the final point of the data flow description of multiple applications;
The data flow comparison unit includes a common data flow extraction unit that extracts a data flow description portion of the target number of steps as a common data flow when the number of matching steps corresponding to a predetermined target number of steps is obtained. The common data flow extraction system according to claim 1 or 2.
請求項1から請求項3のうちのいずれか1項記載の共通データフロー抽出システムが実行する共通に存在するデータフロー記述を抽出する共通データフロー抽出方法であって、
抽出する共通データフローの目標深さ段数を設定し、共通データフロー抽出対象である複数のアプリケーションのデータフロー記述のそれぞれの深さを計測し、前記複数のアプリケーションのデータフローのうち最も深さが小さいアプリケーションのデータフローを基準データフローとし、当該基準データフローの深さが前記目標深さ段数よりも小さい場合は、当該目標深さ段数を前記基準データフローの深さの値に変更するステップと、
一致段数を初期化後、前記複数のアプリケーションのデータフローの最終点を起点とし、それぞれのデータフローを一段ずつさかのぼりながら演算種類の一致/不一致を判定し、一致の場合は前記一致段数をカウントアップして引き続き一段データフローをさかのぼって判定を継続し、不一致の場合は一致段数を0にリセットして前記基準データフローではないデータフローの起点を一段上にずらして新たに判定を開始するステップと、
前記一致段数が前記目標深さ段数に達した場合は、一致したデータフロー部分を共通データフローとして抽出するステップと、
前記一致段数が前記目標深さ段数に達する前に前記基準データフローではないデータフローの最上段まで判定が終了した場合は、前記一致段数を0にリセットして前記基準データフローの起点を一段上にずらして新たに判定を開始するステップと、
前記一致段数が前記目標深さ段数に達する前に基準データフローの最上段まで判定が終了した場合は、前記一致段数を0にリセットして前記目標深さ段数を1減らして、再度各データフローの最終点を起点として判定を行うステップとを備えたことを特徴とする共通データフロー抽出方法。
A common data flow extraction method for extracting a common data flow description executed by the common data flow extraction system according to claim 1, comprising:
Set the target depth level of the common data flow to be extracted, measure the depths of the data flow descriptions of the multiple applications that are the common data flow extraction target, A data flow of a small application is set as a reference data flow, and when the depth of the reference data flow is smaller than the target depth step number, the target depth step number is changed to a depth value of the reference data flow step; ,
After initializing the number of matching stages, starting from the final point of the data flow of the plurality of applications, it is determined whether the operation type matches or does not match while going back through each data flow step by step. If there is a match, the number of matching stages is counted up. And continuing the determination by going back one step of the data flow, and resetting the number of matching steps to 0 in the case of inconsistency, shifting the starting point of the data flow that is not the reference data flow one step upward, and starting a new determination; ,
When the number of matching steps reaches the target depth step number, extracting the matched data flow portion as a common data flow; and
If the determination is completed up to the highest level of the data flow that is not the reference data flow before the number of matching steps reaches the target depth step number, the number of matching steps is reset to 0 and the starting point of the reference data flow is increased by one step. A step of starting a new determination after shifting to
When the determination is completed up to the uppermost stage of the reference data flow before the coincidence step number reaches the target depth step number, the coincidence step number is reset to 0, the target depth step number is reduced by 1, and each data flow is again performed. And a step of making a determination starting from the last point of the common data flow extraction method.
JP2009110860A 2009-04-30 2009-04-30 Common data flow extraction system and common data flow extraction method Expired - Fee Related JP5253286B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009110860A JP5253286B2 (en) 2009-04-30 2009-04-30 Common data flow extraction system and common data flow extraction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009110860A JP5253286B2 (en) 2009-04-30 2009-04-30 Common data flow extraction system and common data flow extraction method

Publications (2)

Publication Number Publication Date
JP2010262359A JP2010262359A (en) 2010-11-18
JP5253286B2 true JP5253286B2 (en) 2013-07-31

Family

ID=43360385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009110860A Expired - Fee Related JP5253286B2 (en) 2009-04-30 2009-04-30 Common data flow extraction system and common data flow extraction method

Country Status (1)

Country Link
JP (1) JP5253286B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6257421B2 (en) * 2014-04-03 2018-01-10 三菱電機株式会社 Circuit design support device and circuit design support program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165712B2 (en) * 2004-11-10 2008-10-15 シャープ株式会社 Data flow graph same subgraph detection device, high-level synthesis device, data flow graph same subgraph detection method, data flow graph same subgraph detection control program, and readable recording medium

Also Published As

Publication number Publication date
JP2010262359A (en) 2010-11-18

Similar Documents

Publication Publication Date Title
CN105138335A (en) Function call path extracting method and device based on control flow diagram
US9092577B2 (en) Method for generating test data for evaluating program execution performance
JP2019003385A (en) Analysis device, analysis program, and analysis method
JPH07160744A (en) Autonomous evolution hardware design system
CN103314360A (en) Data dependency analysis auxiliary device, data dependency analysis auxiliary program, and data dependency analysis auxiliary method
WO2016056236A1 (en) Information processing device, information processing method, and recording medium
JP5253286B2 (en) Common data flow extraction system and common data flow extraction method
JP5169322B2 (en) Variable optimization apparatus, variable optimization program, compiler, variable optimization method, and compilation method
CN111580821B (en) Script binding method and device, electronic equipment and computer readable storage medium
JP6289748B2 (en) Control logic diagram analysis apparatus and control logic diagram analysis method
JP6854248B2 (en) Boundary search test support device and boundary search test support method
CN113391795B (en) A method and system for implementing adaptive mapping between application scenarios and software development kits
JP2015069400A (en) Software test system
JPH1063537A (en) Property verification method and device
JP2017194892A (en) Test case generation program and test case generation method
JP2009169694A (en) High level synthesis method, high level synthesis apparatus and program
US20090235223A1 (en) Program generation apparatus and program generation method
CN112651198A (en) Method for dividing non-causal circuit and method for gate-level circuit parallel simulation
JP6175306B2 (en) Control program dividing apparatus, control program dividing method and recording medium therefor
JP5755861B2 (en) Test case generation apparatus, test case generation method, and test case generation program
JP5164920B2 (en) Test data generation method, apparatus and program
US20210034333A1 (en) Boolean multi-flow programming
KR101673151B1 (en) Method and Apparatus for Analyzing Relationship Change of Program Source and DB Schema
JP6369102B2 (en) Software test support system
CN117149663B (en) Multi-target detection algorithm deployment method and device, electronic equipment and medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130416

R150 Certificate of patent or registration of utility model

Ref document number: 5253286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees