JPH0736680A - 並列化プログラム開発支援装置 - Google Patents
並列化プログラム開発支援装置Info
- Publication number
- JPH0736680A JPH0736680A JP5202056A JP20205693A JPH0736680A JP H0736680 A JPH0736680 A JP H0736680A JP 5202056 A JP5202056 A JP 5202056A JP 20205693 A JP20205693 A JP 20205693A JP H0736680 A JPH0736680 A JP H0736680A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- program
- unit
- development support
- 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.)
- Withdrawn
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 プログラム中の並列化できる可能性のある箇
所を自動的に検出し、それを知らせる並列化プログラム
開発支援装置を提供すること 【構成】 公知のコンパイラ1に開発支援装置2が接続
される。すなわち、プログラム解析部4を共有し、その
プログラム解析部にて所定の処理を行うブロック単位に
分割し、解析ツリー生成部13にてブロックの依存関係
を検出してツリー構造を生成する。ツリー化をすること
により分岐され互いに依存関係のないブロック同士は並
列処理可能であることがわかるのでそれをブロックエン
トリー部14にて検出し、各ブロック名,プログラムの
行番号並びに関連する他のブロックについてテーブルを
作成し、二次記憶部15に格納する。表示用データ作成
部16では、二次記憶部に格納されたデータに基づいて
依存関係のない並列化可能なブロックを抽出し、少なく
とも並列可能なブロックに関する情報を出力する。
所を自動的に検出し、それを知らせる並列化プログラム
開発支援装置を提供すること 【構成】 公知のコンパイラ1に開発支援装置2が接続
される。すなわち、プログラム解析部4を共有し、その
プログラム解析部にて所定の処理を行うブロック単位に
分割し、解析ツリー生成部13にてブロックの依存関係
を検出してツリー構造を生成する。ツリー化をすること
により分岐され互いに依存関係のないブロック同士は並
列処理可能であることがわかるのでそれをブロックエン
トリー部14にて検出し、各ブロック名,プログラムの
行番号並びに関連する他のブロックについてテーブルを
作成し、二次記憶部15に格納する。表示用データ作成
部16では、二次記憶部に格納されたデータに基づいて
依存関係のない並列化可能なブロックを抽出し、少なく
とも並列可能なブロックに関する情報を出力する。
Description
【0001】
【産業上の利用分野】本発明は、並列化プログラム開発
支援装置に関するものである。
支援装置に関するものである。
【0002】
【発明の背景】従来、アプリケーションの高速処理等の
ための並列化プログラムを作成する場合、プログラマー
が予め並列化することを意識して作成しなければならな
かった。また、多くの場合、並列化を意識せずにプログ
ラムを作成するが、係る場合に、作成後並列化しようと
すると、プログラマーは自分でプログラムリスト全体を
再検討しながら並列化用のプログラムを修正・作成しな
ければならず、その作業は煩雑である。しかも、プログ
ラムの容量が大きくなればなるほど、並列化できるとこ
ろを検出することも困難となる。
ための並列化プログラムを作成する場合、プログラマー
が予め並列化することを意識して作成しなければならな
かった。また、多くの場合、並列化を意識せずにプログ
ラムを作成するが、係る場合に、作成後並列化しようと
すると、プログラマーは自分でプログラムリスト全体を
再検討しながら並列化用のプログラムを修正・作成しな
ければならず、その作業は煩雑である。しかも、プログ
ラムの容量が大きくなればなるほど、並列化できるとこ
ろを検出することも困難となる。
【0003】また、コンパイラが自動的に並列化を行う
ものもあったが、これも予めコンパイルできるようにプ
ログラムを作成する必要があり、その適用範囲も狭く汎
用性に欠けるものであった。
ものもあったが、これも予めコンパイルできるようにプ
ログラムを作成する必要があり、その適用範囲も狭く汎
用性に欠けるものであった。
【0004】本発明は、上記した背景に鑑みてなされた
もので、その目的とするところは、たとえプログラマー
が並列化のことを意識せずに作成したプログラムであっ
ても、並列化できる可能性のあるところを自動的に検出
し、それを知らせることによりプログラム開発の支援を
行うことのできる並列化プログラム開発支援装置を提供
することにある。
もので、その目的とするところは、たとえプログラマー
が並列化のことを意識せずに作成したプログラムであっ
ても、並列化できる可能性のあるところを自動的に検出
し、それを知らせることによりプログラム開発の支援を
行うことのできる並列化プログラム開発支援装置を提供
することにある。
【0005】
【課題を解決するための手段】上記した目的を達成する
ために、本発明に係る並列化プログラム開発支援装置で
は、与えられたプログラムを所定の処理を行うブロック
単位に分割するブロック分割手段4と、そのブロック分
割手段により分割されたブロックの依存関係を検出しツ
リー構造を生成する解析ツリー生成手段13と、解析ツ
リー生成手段の出力を受け、少なくとも前記各ブロック
を構成するプログラム部位の存在箇所並びにそのブロッ
クが接続される親ブロックと子ブロックの情報を関連付
けるとともに記憶手段15に格納する手段14と、前記
記憶手段に格納された前記関連付けられた情報に基づい
て、相互に依存関係のない並列化可能なブロックを抽出
すると共に、少なくともその並列可能なブロックに関す
る情報を出力する手段16とから構成した。
ために、本発明に係る並列化プログラム開発支援装置で
は、与えられたプログラムを所定の処理を行うブロック
単位に分割するブロック分割手段4と、そのブロック分
割手段により分割されたブロックの依存関係を検出しツ
リー構造を生成する解析ツリー生成手段13と、解析ツ
リー生成手段の出力を受け、少なくとも前記各ブロック
を構成するプログラム部位の存在箇所並びにそのブロッ
クが接続される親ブロックと子ブロックの情報を関連付
けるとともに記憶手段15に格納する手段14と、前記
記憶手段に格納された前記関連付けられた情報に基づい
て、相互に依存関係のない並列化可能なブロックを抽出
すると共に、少なくともその並列可能なブロックに関す
る情報を出力する手段16とから構成した。
【0006】
【作用】プログラムをブロック分割手段に入力すると、
そこにおいて所定の処理を行うブロック単位に分割し、
その分割されれたブロックを解析ツリー生成手段13に
送り、相互の依存関係・接続関係を検出してツリー構造
を生成する。ツリー化をすることにより、各ブロックの
接続関係は明確になり、あるブロックから分岐され互い
に依存関係のないブロックがあるとそのブロック同士は
並列処理可能であることがわかるのでそれを検出し記憶
手段に格納する。そして情報を出力する手段により、上
記記憶手段に格納されたデータを読み出すと共に依存関
係のない並列化可能なブロックを抽出し、少なくとも並
列可能なブロックに関する情報を出力する。すると、プ
ログラマー等は、係る出力された情報を見ることによ
り、一連のプログラムの中で並列可能な箇所を容易に認
識することができるため、係る並列化情報に基づいて並
列化プログラミングを行うことになる。
そこにおいて所定の処理を行うブロック単位に分割し、
その分割されれたブロックを解析ツリー生成手段13に
送り、相互の依存関係・接続関係を検出してツリー構造
を生成する。ツリー化をすることにより、各ブロックの
接続関係は明確になり、あるブロックから分岐され互い
に依存関係のないブロックがあるとそのブロック同士は
並列処理可能であることがわかるのでそれを検出し記憶
手段に格納する。そして情報を出力する手段により、上
記記憶手段に格納されたデータを読み出すと共に依存関
係のない並列化可能なブロックを抽出し、少なくとも並
列可能なブロックに関する情報を出力する。すると、プ
ログラマー等は、係る出力された情報を見ることによ
り、一連のプログラムの中で並列可能な箇所を容易に認
識することができるため、係る並列化情報に基づいて並
列化プログラミングを行うことになる。
【0007】
【実施例】以下、本発明に係る並列化プログラム開発支
援装置の好適な実施例を添付図面を参照にして詳述す
る。図1は本発明の一実施例の全体構成を示している。
同図に示すように、公知のコンパイラ1に本発明の並列
化プログラム開発支援装置2を接続している。すなわ
ち、コンパイラ1は、原始言語(ソースコード)を生成
する(一部拡張された場合には、コンパイラ処理可能な
現資源語で書かれたプログラムに変換することも行われ
る)プリプロセス処理部(プリコンパイラ)3の出力
(原子プログラム)を、プログラム解析モジュール4に
送り、ここにおいて与えられた原始プログラムの文字列
を意味のある基本単位の字句に分割分化すると共に、原
子言語として許されている構文であるか否かのチェッ
ク,文がどの様な階層構成になっているか等の構文解析
を行うようになっている。
援装置の好適な実施例を添付図面を参照にして詳述す
る。図1は本発明の一実施例の全体構成を示している。
同図に示すように、公知のコンパイラ1に本発明の並列
化プログラム開発支援装置2を接続している。すなわ
ち、コンパイラ1は、原始言語(ソースコード)を生成
する(一部拡張された場合には、コンパイラ処理可能な
現資源語で書かれたプログラムに変換することも行われ
る)プリプロセス処理部(プリコンパイラ)3の出力
(原子プログラム)を、プログラム解析モジュール4に
送り、ここにおいて与えられた原始プログラムの文字列
を意味のある基本単位の字句に分割分化すると共に、原
子言語として許されている構文であるか否かのチェッ
ク,文がどの様な階層構成になっているか等の構文解析
を行うようになっている。
【0008】そして、その構文解析結果を次段の意味解
析部5に送り、そこにおいて構文解析された結果をもと
に、意味的な正しさのチェックを行い、変数宣言されて
いる場合にはその変数の名前,型等の情報を記号表に登
録し、また、実行文を認識した場合にはその実行文の内
容の特定,その文中に使用されている変数などのチェッ
クをし、それに対応する内部形式を生成した後、係る意
味解析結果を最適化部6に送る。
析部5に送り、そこにおいて構文解析された結果をもと
に、意味的な正しさのチェックを行い、変数宣言されて
いる場合にはその変数の名前,型等の情報を記号表に登
録し、また、実行文を認識した場合にはその実行文の内
容の特定,その文中に使用されている変数などのチェッ
クをし、それに対応する内部形式を生成した後、係る意
味解析結果を最適化部6に送る。
【0009】最適化部6では、与えられた内部形式等を
検査し、冗長な処理をなくし、実行速度のより速い命
令,より小さい目的プログラムの生成を可能にするべく
中間言語の改良を行うようになっている。そして、上記
各処理の結果が、最終段のコード生成部7に与えられ、
アセンブリ言語,機械語などの目的コードに変換するよ
うになっている。なお、上記した各モジュール3〜7
は、従来公知のコンパイラと同様であるため、各部の機
能の詳細な説明は省略する。
検査し、冗長な処理をなくし、実行速度のより速い命
令,より小さい目的プログラムの生成を可能にするべく
中間言語の改良を行うようになっている。そして、上記
各処理の結果が、最終段のコード生成部7に与えられ、
アセンブリ言語,機械語などの目的コードに変換するよ
うになっている。なお、上記した各モジュール3〜7
は、従来公知のコンパイラと同様であるため、各部の機
能の詳細な説明は省略する。
【0010】次に開発支援装置2について詳述すると、
本例では上記プログラム解析モジュール4を含み、その
プログラム解析モジュール4から出力される解析結果に
基づいて所定の処理を行うものである。そして、説明の
便宜上プログラム解析モジュール4の内部構成について
説明する。
本例では上記プログラム解析モジュール4を含み、その
プログラム解析モジュール4から出力される解析結果に
基づいて所定の処理を行うものである。そして、説明の
便宜上プログラム解析モジュール4の内部構成について
説明する。
【0011】図2に示すように、プログラム解析部4
は、大域ブロックに対して解析を行う大域ブロック依存
解析部11と、小ブロックに対して解析を行う小ブロッ
ク依存解析部12とから構成されている。ここで大域ブ
ロックとは、例えば複数のプログラムを合成して1つの
新たなプログラムを生成したような場合には、合成前の
各プログラムの単位が大域ブロックとなり、関数,ファ
イル名が変わるような大きな単位である。また、小ブロ
ックとは、一つのループを構成する部分や、if条件文
の及ぶ範囲などのある処理を実行し得る単位をいう。
は、大域ブロックに対して解析を行う大域ブロック依存
解析部11と、小ブロックに対して解析を行う小ブロッ
ク依存解析部12とから構成されている。ここで大域ブ
ロックとは、例えば複数のプログラムを合成して1つの
新たなプログラムを生成したような場合には、合成前の
各プログラムの単位が大域ブロックとなり、関数,ファ
イル名が変わるような大きな単位である。また、小ブロ
ックとは、一つのループを構成する部分や、if条件文
の及ぶ範囲などのある処理を実行し得る単位をいう。
【0012】そして、大域ブロック依存解析部11で
は、具体的にはファイル依存解析部11aにて、プログ
ラム中の「ファイル」,「関数」,「ジャンプ」を検出
し、その単位で分割して各大域ブロックと設定する。そ
して、関数依存解析部14にて各大域ブロック中に存在
する変数を参照することにより各大域ブロック間の依存
関係を検出する。
は、具体的にはファイル依存解析部11aにて、プログ
ラム中の「ファイル」,「関数」,「ジャンプ」を検出
し、その単位で分割して各大域ブロックと設定する。そ
して、関数依存解析部14にて各大域ブロック中に存在
する変数を参照することにより各大域ブロック間の依存
関係を検出する。
【0013】小ブロック依存解析部12は、構文解析部
12a並びに字句解析部12bを有し、与えられた各大
域ブロック毎に上記した構文解析並びに字句解析を行い
各小ブロック間の依存関係を検出する。また係る処理と
並列にそのブロック内を小ブロックに分割する。この分
割処理は、分岐命令単位に行う。すなわち、プログラム
を走査して分岐命令を検出し、原則として1つの分岐命
令から次の分岐命令の1つ上までが1つの小ブロックを
構成する。但し1のループ内に別のループが存在する入
子構造の場合には、一番外枠が小ブロックの単位とな
る。
12a並びに字句解析部12bを有し、与えられた各大
域ブロック毎に上記した構文解析並びに字句解析を行い
各小ブロック間の依存関係を検出する。また係る処理と
並列にそのブロック内を小ブロックに分割する。この分
割処理は、分岐命令単位に行う。すなわち、プログラム
を走査して分岐命令を検出し、原則として1つの分岐命
令から次の分岐命令の1つ上までが1つの小ブロックを
構成する。但し1のループ内に別のループが存在する入
子構造の場合には、一番外枠が小ブロックの単位とな
る。
【0014】そして、上記プログラム解析部4の出力
が、解析ツリー生成部13に与えられる。この解析ツリ
ー生成部13では、内蔵するブロックレベル分割部13
aにより、与えられた小ブロック間の依存関係に基づい
てそれぞれ各ブロックをノードとしたツリーが生成され
るとともに、各小ブロックにレベル値が設定される。こ
のレベル値は、ツリーの頂点の小ブロックを1とし、以
下、分岐が起こるごとにレベル値をインクリメントする
ようになっている。したがって、図3に示すように複数
のブロック(ブロック3とブロック7)であってもそれ
が直列接続されている(分岐しない)ような場合には、
それらは同一のレベル値が設定される。また、あるブロ
ック(ブロック4)から複数のブロック(ブロック5と
ブロック6)に分岐されたような場合には、係る複数の
ブロックも同一レベルとなる。
が、解析ツリー生成部13に与えられる。この解析ツリ
ー生成部13では、内蔵するブロックレベル分割部13
aにより、与えられた小ブロック間の依存関係に基づい
てそれぞれ各ブロックをノードとしたツリーが生成され
るとともに、各小ブロックにレベル値が設定される。こ
のレベル値は、ツリーの頂点の小ブロックを1とし、以
下、分岐が起こるごとにレベル値をインクリメントする
ようになっている。したがって、図3に示すように複数
のブロック(ブロック3とブロック7)であってもそれ
が直列接続されている(分岐しない)ような場合には、
それらは同一のレベル値が設定される。また、あるブロ
ック(ブロック4)から複数のブロック(ブロック5と
ブロック6)に分岐されたような場合には、係る複数の
ブロックも同一レベルとなる。
【0015】さらに、この解析ツリー生成部13は、ブ
ロック修正部13bを有し、上記ブロックレベル分割部
13aによってレベル分割されたブロック構造に基づい
てブロックの統合処理を行う。具体的には、直列接続さ
れたブロックを統合して新たな単一のブロックとして再
定義するようにしている。すなわち、図3の例に従って
説明すると、例えばレベル1のブロック1とブロック2
を統合して新たなブロックとして定義(ブロックA)す
る。そして、この定義は、ソースプログラムの行番号で
行うようにしている。係るブロック修正を行うことによ
り図3に示すツリー構造が図4に示すように再定義され
る。
ロック修正部13bを有し、上記ブロックレベル分割部
13aによってレベル分割されたブロック構造に基づい
てブロックの統合処理を行う。具体的には、直列接続さ
れたブロックを統合して新たな単一のブロックとして再
定義するようにしている。すなわち、図3の例に従って
説明すると、例えばレベル1のブロック1とブロック2
を統合して新たなブロックとして定義(ブロックA)す
る。そして、この定義は、ソースプログラムの行番号で
行うようにしている。係るブロック修正を行うことによ
り図3に示すツリー構造が図4に示すように再定義され
る。
【0016】この様に再定義するのは、並列処理可能な
ブロック(モジュール)と不可能なブロック(モジュー
ル)とを明確化するためである。つまり、例えば図3に
示すブロック3とブロック4は、いずれもブロック2の
後に処理されるべきものでありしかも両者の間で変数の
参照などの依存関係が存在しないため並列実行可能であ
ることを意味する。同様にブロック7とブロック4との
間でも何等依存関係がないため並列処理が可能である
が、ブロック7はブロック3の後に処理されるものであ
り、すぐにブロック4と並列処理可能か否かの判断が困
難な場合がある。特に、プログラムの容量が増大し、ツ
リー構造が複雑化した場合にはなおさらである。しか
し、図4に示すように統合して再定義したツリー構造で
は並列処理が可能であるか否かがより簡単に判別するこ
とができるようになる。
ブロック(モジュール)と不可能なブロック(モジュー
ル)とを明確化するためである。つまり、例えば図3に
示すブロック3とブロック4は、いずれもブロック2の
後に処理されるべきものでありしかも両者の間で変数の
参照などの依存関係が存在しないため並列実行可能であ
ることを意味する。同様にブロック7とブロック4との
間でも何等依存関係がないため並列処理が可能である
が、ブロック7はブロック3の後に処理されるものであ
り、すぐにブロック4と並列処理可能か否かの判断が困
難な場合がある。特に、プログラムの容量が増大し、ツ
リー構造が複雑化した場合にはなおさらである。しか
し、図4に示すように統合して再定義したツリー構造で
は並列処理が可能であるか否かがより簡単に判別するこ
とができるようになる。
【0017】一方、この様にしてブロック修正された結
果が次段のブロックエントリー部14に送られ、ここに
おいて与えられたツリー構造に基づいてブロックエント
リーテーブル(図5参照)が作成され、二次記憶部15
に格納される。具体的には、エントリーテーブル生成部
14aにて各ブロックの依存関係を検出し、そのブロッ
クのレベル値,ブロック名(再定義されたもの)並びに
ソースプログラムの行番号(ブロック修正部13bで定
義されている)と、そのブロックと接続関係(依存関
係)にある親ブロック名並びに子ブロック名のテーブル
を作成する。そして、その様にして作成されたテーブル
が書込み部14bを介して二次記憶部15に格納され
る。
果が次段のブロックエントリー部14に送られ、ここに
おいて与えられたツリー構造に基づいてブロックエント
リーテーブル(図5参照)が作成され、二次記憶部15
に格納される。具体的には、エントリーテーブル生成部
14aにて各ブロックの依存関係を検出し、そのブロッ
クのレベル値,ブロック名(再定義されたもの)並びに
ソースプログラムの行番号(ブロック修正部13bで定
義されている)と、そのブロックと接続関係(依存関
係)にある親ブロック名並びに子ブロック名のテーブル
を作成する。そして、その様にして作成されたテーブル
が書込み部14bを介して二次記憶部15に格納され
る。
【0018】さらに、この二次記憶部15に格納された
テーブルデータは、表示用データ作成部16により読み
出され、並列化情報、すなわちブロックの依存関係グラ
フ(図4に示すツリー)化し、並列化可能なブロックの
ソースプログラムの行番号を抽出し、それを図外の表示
装置,プリンタなどの出力装置に対して出力するように
なっている。これにより、プログラム作成者等は、出力
された情報に基づいて並列化可能なブロック(モジュー
ル)を容易に認識することができ、その情報に基づいて
ソースプログラムに対して並列化処理可能になるように
所定の修正処理を施す。すなわち、並列化を意識しない
で作成したプログラムに対し、本装置を実行することに
より並列化可能な箇所を自動的に検出することができ、
開発支援が行われ、並列化プログラムの開発に要する労
力・時間が軽減する。
テーブルデータは、表示用データ作成部16により読み
出され、並列化情報、すなわちブロックの依存関係グラ
フ(図4に示すツリー)化し、並列化可能なブロックの
ソースプログラムの行番号を抽出し、それを図外の表示
装置,プリンタなどの出力装置に対して出力するように
なっている。これにより、プログラム作成者等は、出力
された情報に基づいて並列化可能なブロック(モジュー
ル)を容易に認識することができ、その情報に基づいて
ソースプログラムに対して並列化処理可能になるように
所定の修正処理を施す。すなわち、並列化を意識しない
で作成したプログラムに対し、本装置を実行することに
より並列化可能な箇所を自動的に検出することができ、
開発支援が行われ、並列化プログラムの開発に要する労
力・時間が軽減する。
【0019】そして、かかる機能をデバッガに取り入れ
ることにより、デバッグ効率が向上する。また、並列コ
ンパイラの性能評価にも使用することができる。さらに
は、専用ユーザインタフェースでプログラムの依存関係
や並列情報が表示されるため、プログラム構造分析や並
列化プログラミングのトレーニングに有効に機能する。
すなわち、並列化を意識して作成したプログラムを本装
置に入力することにより、並列状態をツリー構造という
視覚で簡単に認識できるため、自己が行った並列化プロ
グラミングの評価ができるのである。
ることにより、デバッグ効率が向上する。また、並列コ
ンパイラの性能評価にも使用することができる。さらに
は、専用ユーザインタフェースでプログラムの依存関係
や並列情報が表示されるため、プログラム構造分析や並
列化プログラミングのトレーニングに有効に機能する。
すなわち、並列化を意識して作成したプログラムを本装
置に入力することにより、並列状態をツリー構造という
視覚で簡単に認識できるため、自己が行った並列化プロ
グラミングの評価ができるのである。
【0020】
【発明の効果】以上のように、本発明に係る並列化プロ
グラム開発支援装置では、並列化可能なブロック(プロ
グラムの所定のモジュール)を自動的に検出し、表示等
の出力がされる。すなわち、検出困難な並列化可能な箇
所が自動的に抽出されるため、開発に要する時間・労力
が短縮される。また、ブロック分割手段で分割された所
定のブロックを統合する手段を設けた場合には、より各
ブロックの接続状況が明確になり、並列プログラミング
の開発支援効率が上昇する。
グラム開発支援装置では、並列化可能なブロック(プロ
グラムの所定のモジュール)を自動的に検出し、表示等
の出力がされる。すなわち、検出困難な並列化可能な箇
所が自動的に抽出されるため、開発に要する時間・労力
が短縮される。また、ブロック分割手段で分割された所
定のブロックを統合する手段を設けた場合には、より各
ブロックの接続状況が明確になり、並列プログラミング
の開発支援効率が上昇する。
【図1】本発明に係る開発支援装置の好適な一実施例を
示すブロック図である。
示すブロック図である。
【図2】本実施例の開発支援装置の内部構造を示すブロ
ック図である。
ック図である。
【図3】解析ツリー生成部のブロックレベル分割部の作
用を説明する図である。
用を説明する図である。
【図4】解析ツリー生成部のブロックレベル修正部の作
用を説明する図である。
用を説明する図である。
【図5】二次記憶部に格納されるテーブルのデータ構造
の一例を示す図である。
の一例を示す図である。
2 並列化プログラム開発支援装置 4 プログラム解析部(ブロック分割部) 13 解析ツリー生成部 13a ブロックレベル分割部 13b ブロック修正部 14 ブロックエントリー部(記憶手段に格納する手
段) 15 二次記憶部(記憶手段) 16 表示用データ作成部(情報を出力する手段)
段) 15 二次記憶部(記憶手段) 16 表示用データ作成部(情報を出力する手段)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 茂木 義則 京都府京都市右京区花園土堂町10番地 オ ムロン株式会社内
Claims (2)
- 【請求項1】 与えられたプログラムを所定の処理を行
うブロック単位に分割するブロック分割手段と、 そのブロック分割手段により分割されたブロックの依存
関係を検出しツリー構造を生成する解析ツリー生成手段
と、 解析ツリー生成手段の出力を受け、少なくとも前記各ブ
ロックを構成するプログラム部位の存在箇所並びにその
ブロックが接続される親ブロックと子ブロックの情報を
関連付けるとともに記憶手段に格納する手段と、 前記記憶手段に格納された前記関連付けられた情報に基
づいて、相互に依存関係のない並列化可能なブロックを
抽出すると共に、少なくともその並列可能なブロックに
関する情報を出力する手段とを備えた並列化プログラム
開発支援装置。 - 【請求項2】 前記解析ツリー生成手段が、前記分割さ
れたブロックの接続関係を検出し、直列接続されたブロ
ック同士を統合して新たなブロックとして再定義するブ
ロック修正手段を備えた請求項1に記載の並列化プログ
ラム開発支援装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5202056A JPH0736680A (ja) | 1993-07-23 | 1993-07-23 | 並列化プログラム開発支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5202056A JPH0736680A (ja) | 1993-07-23 | 1993-07-23 | 並列化プログラム開発支援装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0736680A true JPH0736680A (ja) | 1995-02-07 |
Family
ID=16451216
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5202056A Withdrawn JPH0736680A (ja) | 1993-07-23 | 1993-07-23 | 並列化プログラム開発支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0736680A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003529808A (ja) * | 1999-01-13 | 2003-10-07 | エービー イニティオ ソフトウェア コーポレーション | スクリプト駆動ツールの並列処理アプリケーション |
| JP2006154971A (ja) * | 2004-11-25 | 2006-06-15 | Matsushita Electric Ind Co Ltd | プログラム変換装置、プログラム変換実行装置およびプログラム変換方法、プログラム変換実行方法。 |
| JP2007241642A (ja) * | 2006-03-08 | 2007-09-20 | Kubota Systems Inc | 解析方法、解析装置及びコンピュータプログラム |
| JP2009271572A (ja) * | 2008-04-30 | 2009-11-19 | Mitsubishi Electric Corp | 制御システム開発支援装置 |
| JPWO2008072334A1 (ja) | 2006-12-14 | 2010-03-25 | 富士通株式会社 | コンパイル方法及びコンパイラ |
| US7712079B2 (en) | 2002-12-27 | 2010-05-04 | International Business Machines Corporation | Program editing apparatus, program editing method, and program for splitting a program file |
| JP2012510661A (ja) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
| WO2014128920A1 (ja) * | 2013-02-22 | 2014-08-28 | 三菱電機株式会社 | システム開発装置、方法およびプログラム |
| JP2021140501A (ja) * | 2020-03-05 | 2021-09-16 | 日立Astemo株式会社 | モデル並列化装置および方法 |
-
1993
- 1993-07-23 JP JP5202056A patent/JPH0736680A/ja not_active Withdrawn
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003529808A (ja) * | 1999-01-13 | 2003-10-07 | エービー イニティオ ソフトウェア コーポレーション | スクリプト駆動ツールの並列処理アプリケーション |
| US7712079B2 (en) | 2002-12-27 | 2010-05-04 | International Business Machines Corporation | Program editing apparatus, program editing method, and program for splitting a program file |
| JP2006154971A (ja) * | 2004-11-25 | 2006-06-15 | Matsushita Electric Ind Co Ltd | プログラム変換装置、プログラム変換実行装置およびプログラム変換方法、プログラム変換実行方法。 |
| JP2007241642A (ja) * | 2006-03-08 | 2007-09-20 | Kubota Systems Inc | 解析方法、解析装置及びコンピュータプログラム |
| JPWO2008072334A1 (ja) | 2006-12-14 | 2010-03-25 | 富士通株式会社 | コンパイル方法及びコンパイラ |
| JP2009271572A (ja) * | 2008-04-30 | 2009-11-19 | Mitsubishi Electric Corp | 制御システム開発支援装置 |
| JP2012510661A (ja) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
| JP2015207318A (ja) * | 2008-12-01 | 2015-11-19 | ケーピーアイティ テクノロジーズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
| WO2014128920A1 (ja) * | 2013-02-22 | 2014-08-28 | 三菱電機株式会社 | システム開発装置、方法およびプログラム |
| TWI475344B (zh) * | 2013-02-22 | 2015-03-01 | Mitsubishi Electric Corp | 系統開發裝置、方法及程式 |
| KR20150119314A (ko) * | 2013-02-22 | 2015-10-23 | 미쓰비시덴키 가부시키가이샤 | 시스템 개발 장치, 방법 및 프로그램 |
| US10295976B2 (en) | 2013-02-22 | 2019-05-21 | Mitsubishi Electric Corporation | System development device, system development method, and system development program |
| JP2021140501A (ja) * | 2020-03-05 | 2021-09-16 | 日立Astemo株式会社 | モデル並列化装置および方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100385399C (zh) | 用于多个异常处理模型的中间表示的方法和系统 | |
| EP1918812A1 (en) | A software development system | |
| Favre | Preprocessors from an abstract point of view | |
| Long et al. | Consistent code generation from UML models | |
| CA2418670A1 (en) | Method and system for generating executable code for formatiing and printing complex data structures | |
| KR20090011974A (ko) | 컴파일 대상 파일 추출 방법 | |
| JPH0736680A (ja) | 並列化プログラム開発支援装置 | |
| EP2535813B1 (en) | Method and device for generating an alert during an analysis of performance of a computer application | |
| JPH10187461A (ja) | 言語処理方式 | |
| JP2000242485A (ja) | プログラミング言語変換プログラム開発支援システム、方法及び記録媒体 | |
| JP3584204B2 (ja) | 原始プログラム自動変換装置 | |
| Hermenegildo et al. | An Automatic Documentation Generator for (C) LP-Reference Manual | |
| Tselikis | Introduction to C++ | |
| JP2002132502A (ja) | 言語機能解釈による分散オブジェクト自動生成システム及び方法 | |
| KR100279731B1 (ko) | 칠 언어에 대한 제어 흐름 표시방법 | |
| Kay et al. | An XSLT compiler written in XSLT: can it perform | |
| JP2977642B2 (ja) | Fortranコンパイル処理装置 | |
| JP2003330731A (ja) | プロジェクト管理ファイル生成装置 | |
| Henkel et al. | Case study: Debugging a discovered specification for java. util. arraylist by using algebraic interpretation | |
| Mössenböck | Compiler Construction | |
| JP2000132405A (ja) | インライン展開処理装置及び方法 | |
| Sigg | Yeti 2-tinyos 2. x eclipse plugin | |
| JP2720643B2 (ja) | プログラムジェネレータ生成装置 | |
| JPH07141165A (ja) | 情報処理装置 | |
| JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001003 |