JPH07121357A - 並行プログラム系生成方式と装置 - Google Patents
並行プログラム系生成方式と装置Info
- Publication number
- JPH07121357A JPH07121357A JP26712093A JP26712093A JPH07121357A JP H07121357 A JPH07121357 A JP H07121357A JP 26712093 A JP26712093 A JP 26712093A JP 26712093 A JP26712093 A JP 26712093A JP H07121357 A JPH07121357 A JP H07121357A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- module
- program
- message sequence
- storage unit
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 合成結果のプログラムの連結性が常に保証さ
れる、モジュールを独立に作成する手法の並行プログラ
ム合成方法を実現すること。 【構成】 与えられたメッセージシーケンスが構造化さ
れていない場合には該モジュールのコマンド列を動作系
列とし、「選択」要素(A|B)および「継続」要素
(A;B)である場合には、メッセージシーケンス
(A,B)に対し動作系列(A′,B′)を求め、該動
作系列(A′,B′)を用いて「選択」要素(A′|
B′)および「継続」要素(A′;B′)を動作系列と
し、「繰り返し」要素(A)*である場合にはメッセー
ジシーケンス(A)に対して動作系列(A′)を求め、
該動作系列(A′)を用いて「繰り返し」要素(A′)
*を動作系列として、再帰的に各モジュールの持つべき
動作系列を求め、該求められた動作系列を持つモジュー
ルプログラムを生成する手段とを有する。
れる、モジュールを独立に作成する手法の並行プログラ
ム合成方法を実現すること。 【構成】 与えられたメッセージシーケンスが構造化さ
れていない場合には該モジュールのコマンド列を動作系
列とし、「選択」要素(A|B)および「継続」要素
(A;B)である場合には、メッセージシーケンス
(A,B)に対し動作系列(A′,B′)を求め、該動
作系列(A′,B′)を用いて「選択」要素(A′|
B′)および「継続」要素(A′;B′)を動作系列と
し、「繰り返し」要素(A)*である場合にはメッセー
ジシーケンス(A)に対して動作系列(A′)を求め、
該動作系列(A′)を用いて「繰り返し」要素(A′)
*を動作系列として、再帰的に各モジュールの持つべき
動作系列を求め、該求められた動作系列を持つモジュー
ルプログラムを生成する手段とを有する。
Description
【0001】
【産業上の利用分野】本発明は、処理の高速化・分散化
等を目的とした並行システムのプログラムの生成方式に
関し、特に、システム内のモジュールが通信によって情
報交換する並行プログラムの生成方式に関する。
等を目的とした並行システムのプログラムの生成方式に
関し、特に、システム内のモジュールが通信によって情
報交換する並行プログラムの生成方式に関する。
【0002】
【従来の技術】並行に動作するモジュールが互いに通信
しあって処理を進めるシステム、例えば、交換処理等の
通信システムの作成において、従来は、まず各モジュー
ルを独立に作成し、それを組み合わせるという方式がと
られていた。
しあって処理を進めるシステム、例えば、交換処理等の
通信システムの作成において、従来は、まず各モジュー
ルを独立に作成し、それを組み合わせるという方式がと
られていた。
【0003】上述の方式で作成された並行システムの正
しさを保証するには、独立に作成されたモジュールの組
み合せ結果からシステムのグローバル状態を解析する必
要があるが、モジュールの組み合せ数は非常に多く、こ
れを再現する過程で状態爆発が起きるため、並行システ
ムの正しさを保証することは困難であった。
しさを保証するには、独立に作成されたモジュールの組
み合せ結果からシステムのグローバル状態を解析する必
要があるが、モジュールの組み合せ数は非常に多く、こ
れを再現する過程で状態爆発が起きるため、並行システ
ムの正しさを保証することは困難であった。
【0004】これに対し、近年「合成」アプローチによ
る並行プログラム系生成方式が、様々に提案されてい
る。
る並行プログラム系生成方式が、様々に提案されてい
る。
【0005】この「合成」アプローチでは、各モジュー
ルを直接人手によって作成するのではなく、様々な形で
表現された要求仕様から、各モジュールのプログラムを
合成する。合成時にはデッドロックや未定義信号受信等
の誤りが起きないような通信のみがモジュールに付加さ
れるため、この「合成」アプローチによれば、正しい並
行システムのみを作成することができる。
ルを直接人手によって作成するのではなく、様々な形で
表現された要求仕様から、各モジュールのプログラムを
合成する。合成時にはデッドロックや未定義信号受信等
の誤りが起きないような通信のみがモジュールに付加さ
れるため、この「合成」アプローチによれば、正しい並
行システムのみを作成することができる。
【0006】本発明はこの「合成」アプローチに属し、
その中でも要求仕様としてメッセージシーケンスを用い
る並行プログラム系生成方式に関する。ここでメッセー
ジシーケンスとは、モジュールのコマンド(入出力文や
代入文など)の列の組のことを表す。図6にメッセージ
シーケンスの一例を示し、図7に図6に示したメッセー
ジシーケンスに対応する図式表現を示す。
その中でも要求仕様としてメッセージシーケンスを用い
る並行プログラム系生成方式に関する。ここでメッセー
ジシーケンスとは、モジュールのコマンド(入出力文や
代入文など)の列の組のことを表す。図6にメッセージ
シーケンスの一例を示し、図7に図6に示したメッセー
ジシーケンスに対応する図式表現を示す。
【0007】要求仕様としてメッセージシーケンスを用
いる並行プログラム系生成方式としては、従来2つの方
式が知られている。1つは状態名ラベルをメッセージシ
ーケンス中に埋め込んだものを入力とする方式(文献
1:伊藤,他「通信ソフトウェア仕様の設計と解析のた
めのシーケンスチャートと状態遷移図の相互変換」、電
子情報通信学会研究会COMP91−26、文献2:水
野,他「メッセージシーケンス図入力による通信サービ
ス仕様設計方式」、電子情報通信学会論文誌Vol.J
74−B−1,No.12)であり、もう一つは繰り返
しを表現できるメッセージシーケンスを入力とする方式
(文献3:伊藤,市川「並行プロセスを基本とした交換
プログラム仕様の階層的検証法」電子通信学会論文誌V
ol.J69−B No.5、文献4:H.Ichikawa, e
t, al.“SDE:Incremental Specification and Deve
lopment of Communications Software,”IEEE Tra
nsactions on Computers, Vol,40 No.4)
である。
いる並行プログラム系生成方式としては、従来2つの方
式が知られている。1つは状態名ラベルをメッセージシ
ーケンス中に埋め込んだものを入力とする方式(文献
1:伊藤,他「通信ソフトウェア仕様の設計と解析のた
めのシーケンスチャートと状態遷移図の相互変換」、電
子情報通信学会研究会COMP91−26、文献2:水
野,他「メッセージシーケンス図入力による通信サービ
ス仕様設計方式」、電子情報通信学会論文誌Vol.J
74−B−1,No.12)であり、もう一つは繰り返
しを表現できるメッセージシーケンスを入力とする方式
(文献3:伊藤,市川「並行プロセスを基本とした交換
プログラム仕様の階層的検証法」電子通信学会論文誌V
ol.J69−B No.5、文献4:H.Ichikawa, e
t, al.“SDE:Incremental Specification and Deve
lopment of Communications Software,”IEEE Tra
nsactions on Computers, Vol,40 No.4)
である。
【0008】前者の方式では、メッセージシーケンスに
埋め込まれた、状態ラベルをキーにして各モジュールが
合成される。即ち、同一のラベルをもつメッセージシー
ケンス上の点は、各モジュールのプログラムでも同一の
点になるように貼り合わせて、プログラムが合成され
る。しかし、一般にプログラムはグラフとして連結であ
ることが要求されるが、この方式では、合成されるプロ
グラムの連結性が必ずしも確保されない。
埋め込まれた、状態ラベルをキーにして各モジュールが
合成される。即ち、同一のラベルをもつメッセージシー
ケンス上の点は、各モジュールのプログラムでも同一の
点になるように貼り合わせて、プログラムが合成され
る。しかし、一般にプログラムはグラフとして連結であ
ることが要求されるが、この方式では、合成されるプロ
グラムの連結性が必ずしも確保されない。
【0009】これに対し、後者の方式では、メッセージ
シーケンスに状態ラベルを書くことはなく、与えられた
メッセージシーケンスをシステムの初期状態から終了状
態へ至るものと解釈し、各モジュールごとに、与えられ
たメッセージシーケンス内のコマンド列を初期状態から
順に比較し、異なるコマンドがあればそこで分岐をつく
ることにより、プログラムを合成する。
シーケンスに状態ラベルを書くことはなく、与えられた
メッセージシーケンスをシステムの初期状態から終了状
態へ至るものと解釈し、各モジュールごとに、与えられ
たメッセージシーケンス内のコマンド列を初期状態から
順に比較し、異なるコマンドがあればそこで分岐をつく
ることにより、プログラムを合成する。
【0010】上記の方式によれば、合成結果のプログラ
ムの連結性は必ず確保される。しかし、異なるコマンド
があれば必ず分岐が作成されるので、合成できる並行プ
ログラムの範囲に制限があり、適用範囲が限定される。
ムの連結性は必ず確保される。しかし、異なるコマンド
があれば必ず分岐が作成されるので、合成できる並行プ
ログラムの範囲に制限があり、適用範囲が限定される。
【0011】
【発明が解決しようとする課題】従来の合成プログラム
生成方式のうち、状態名ラベルをメッセージシーケンス
中に埋め込む方式では、合成されるプログラムの連結性
が必ずしも確保されないという問題点がある。
生成方式のうち、状態名ラベルをメッセージシーケンス
中に埋め込む方式では、合成されるプログラムの連結性
が必ずしも確保されないという問題点がある。
【0012】また、繰り返しを表現できるメッセージシ
ーケンスを入力とする方式においては、合成できる並行
プログラムの範囲に制限があり、適用範囲が限定される
という問題点がある。
ーケンスを入力とする方式においては、合成できる並行
プログラムの範囲に制限があり、適用範囲が限定される
という問題点がある。
【0013】本発明は上述したような従来の技術が有す
る問題点に鑑みてなされたものであって、合成結果のプ
ログラムの連結性が常に保証され、かつ、モジュールを
独立に作成する手法で開発されていた正しい並行プログ
ラムをすべて網羅することができるメッセージシーケン
スからの並行プログラム合成方法を実現することを目的
とする。
る問題点に鑑みてなされたものであって、合成結果のプ
ログラムの連結性が常に保証され、かつ、モジュールを
独立に作成する手法で開発されていた正しい並行プログ
ラムをすべて網羅することができるメッセージシーケン
スからの並行プログラム合成方法を実現することを目的
とする。
【0014】
【課題を解決するための手段】本発明の並行プログラム
系生成方式は、複数の並行に動作するモジュールが互い
に通信し合うことにより協調動作するシステムの制御プ
ログラムを生成する並行プログラム系生成方式におい
て、予め与えられた、「選択」(A|B)、「継続」
(A;B)および「繰り返し」(A)*の3要素にて構
造化されるメッセージシーケンス、すなわちコマンド列
の組に対して、与えられたメッセージシーケンスが構造
化されていない場合には該モジュールのコマンド列を動
作系列とし、与えられたメッセージシーケンスが「選
択」要素(A|B)および「継続」要素(A;B)であ
る場合には、メッセージシーケンス(A,B)に対し動
作系列(A′,B′)を求め、該動作系列(A′,
B′)を用いて「選択」要素(A′|B′)および「継
続」要素(A′;B′)を動作系列とし、与えられたメ
ッセージシーケンスが「繰り返し」要素(A)*である
場合にはメッセージシーケンス(A)に対して動作系列
(A′)を求め、該動作系列(A′)を用いて「繰り返
し」要素(A′)*を動作系列として、再帰的に各モジ
ュールの持つべき動作系列を求める手段と、前記動作系
列を求める手段にて求められた動作系列を持つモジュー
ルプログラムを生成する手段とを有することを特徴とす
る。
系生成方式は、複数の並行に動作するモジュールが互い
に通信し合うことにより協調動作するシステムの制御プ
ログラムを生成する並行プログラム系生成方式におい
て、予め与えられた、「選択」(A|B)、「継続」
(A;B)および「繰り返し」(A)*の3要素にて構
造化されるメッセージシーケンス、すなわちコマンド列
の組に対して、与えられたメッセージシーケンスが構造
化されていない場合には該モジュールのコマンド列を動
作系列とし、与えられたメッセージシーケンスが「選
択」要素(A|B)および「継続」要素(A;B)であ
る場合には、メッセージシーケンス(A,B)に対し動
作系列(A′,B′)を求め、該動作系列(A′,
B′)を用いて「選択」要素(A′|B′)および「継
続」要素(A′;B′)を動作系列とし、与えられたメ
ッセージシーケンスが「繰り返し」要素(A)*である
場合にはメッセージシーケンス(A)に対して動作系列
(A′)を求め、該動作系列(A′)を用いて「繰り返
し」要素(A′)*を動作系列として、再帰的に各モジ
ュールの持つべき動作系列を求める手段と、前記動作系
列を求める手段にて求められた動作系列を持つモジュー
ルプログラムを生成する手段とを有することを特徴とす
る。
【0015】本発明の並行プログラム系生成装置は、複
数の並行に動作するモジュールが互いに通信し合うこと
により協調動作するシステムの制御プログラムを生成す
る並行プログラム系生成装置において、メッセージシー
ケンスを読み取る入力部と、メッセージシーケンスを記
憶する第1の記憶部と、前記複数のモジュールに対応す
る複数の第2の記憶部からなる動作系列記憶部と、前記
複数のモジュールに対応する複数の第3の記憶部からな
るプログラム記憶部と、生成した並行プログラムを出力
する出力部と、前記入力部、動作系列記憶部、プログラ
ム記憶部および出力部の動作を制御する制御部とを有
し、前記制御部は、前記入力部に、「選択」(A|
B)、「継続」(A;B)および「繰り返し」(A)*
の3要素にて構造化されるメッセージシーケンス、すな
わちコマンド列の組が入力されると、前記第1の記憶部
に記憶させ、与えられたメッセージシーケンスが構造化
されていない場合には該モジュールのコマンド列を動作
系列とし、与えられたメッセージシーケンスが「選択」
要素(A|B)および「継続」要素(A;B)である場
合には、メッセージシーケンス(A,B)に対し動作系
列(A′,B′)を求め、該動作系列(A′,B′)を
用いて「選択」要素(A′|B′)および「継続」要素
(A′;B′)を動作系列とし、与えられたメッセージ
シーケンスが「繰り返し」要素(A)*である場合には
メッセージシーケンス(A)に対して動作系列(A′)
を求め、該動作系列(A′)を用いて「繰り返し」要素
(A′)*を動作系列として、再帰的に各モジュールの
持つべき動作系列を求めて対応する前記第2の記憶部に
記憶させるとともに、記憶された各動作系列を持つモジ
ュールプログラムをそれぞれ生成して対応する前記第3
の記憶部に記憶させ、前記出力部に前記第3の記憶部に
記憶されたモジュールプログラムを出力させることを特
徴とする。
数の並行に動作するモジュールが互いに通信し合うこと
により協調動作するシステムの制御プログラムを生成す
る並行プログラム系生成装置において、メッセージシー
ケンスを読み取る入力部と、メッセージシーケンスを記
憶する第1の記憶部と、前記複数のモジュールに対応す
る複数の第2の記憶部からなる動作系列記憶部と、前記
複数のモジュールに対応する複数の第3の記憶部からな
るプログラム記憶部と、生成した並行プログラムを出力
する出力部と、前記入力部、動作系列記憶部、プログラ
ム記憶部および出力部の動作を制御する制御部とを有
し、前記制御部は、前記入力部に、「選択」(A|
B)、「継続」(A;B)および「繰り返し」(A)*
の3要素にて構造化されるメッセージシーケンス、すな
わちコマンド列の組が入力されると、前記第1の記憶部
に記憶させ、与えられたメッセージシーケンスが構造化
されていない場合には該モジュールのコマンド列を動作
系列とし、与えられたメッセージシーケンスが「選択」
要素(A|B)および「継続」要素(A;B)である場
合には、メッセージシーケンス(A,B)に対し動作系
列(A′,B′)を求め、該動作系列(A′,B′)を
用いて「選択」要素(A′|B′)および「継続」要素
(A′;B′)を動作系列とし、与えられたメッセージ
シーケンスが「繰り返し」要素(A)*である場合には
メッセージシーケンス(A)に対して動作系列(A′)
を求め、該動作系列(A′)を用いて「繰り返し」要素
(A′)*を動作系列として、再帰的に各モジュールの
持つべき動作系列を求めて対応する前記第2の記憶部に
記憶させるとともに、記憶された各動作系列を持つモジ
ュールプログラムをそれぞれ生成して対応する前記第3
の記憶部に記憶させ、前記出力部に前記第3の記憶部に
記憶されたモジュールプログラムを出力させることを特
徴とする。
【0016】
【作用】本発明では、状態名ラベルを用いた方法のよう
に与えられたメッセージシーケンスを直接貼り合わせる
のではなく、モジュールの持つべき動作系列をまず求め
る。与えられた動作系列を持つ連結性をもったモジュー
ルの生成は既存のコンバイラ技術により可能なため、合
成結果のモジュールの連結性が常に確保される。
に与えられたメッセージシーケンスを直接貼り合わせる
のではなく、モジュールの持つべき動作系列をまず求め
る。与えられた動作系列を持つ連結性をもったモジュー
ルの生成は既存のコンバイラ技術により可能なため、合
成結果のモジュールの連結性が常に確保される。
【0017】また、選択と継続と繰り返しの3要素での
メッセージシーケンスの構造化は、言語理論(例えば、
ホップクロフト,ウルマン著「オートマトン・言語理論
・計算論」、サイエンス社、1986参照)でいう正規
表現と同一であり、言語理論の結果から、すべての並行
プログラムの動作系列が表現できる。従ってモジュール
を独立に作成する手法で開発されていた正しい並行プロ
グラムがすべて網羅できる。
メッセージシーケンスの構造化は、言語理論(例えば、
ホップクロフト,ウルマン著「オートマトン・言語理論
・計算論」、サイエンス社、1986参照)でいう正規
表現と同一であり、言語理論の結果から、すべての並行
プログラムの動作系列が表現できる。従ってモジュール
を独立に作成する手法で開発されていた正しい並行プロ
グラムがすべて網羅できる。
【0018】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0019】図1は本発明による一実施例の構成を示す
ブロック図である。図中、1は入力部であり、不図示の
入力装置より入力された、選択と継続と繰り返しの3要
素で構造化されたメッセージシーケンスを読みとる。2
は動作系列記憶部であり、メッセージシーケンスを記憶
する記憶部6とモジュール毎の動作系列を記憶する複数
の記憶部7,8,・・・とから構成される。後者は生成す
る並行プログラム系のモジュールの数だけ存在する。3
はプログラム記憶部であり、モジュール数分のモジユー
ルプログラム記憶部9,10,・・・から構成される。4
は出力部であり、生成結果の並行プログラム系を出力す
る。5は制御部であり、上述した各部の連係を制御す
る。
ブロック図である。図中、1は入力部であり、不図示の
入力装置より入力された、選択と継続と繰り返しの3要
素で構造化されたメッセージシーケンスを読みとる。2
は動作系列記憶部であり、メッセージシーケンスを記憶
する記憶部6とモジュール毎の動作系列を記憶する複数
の記憶部7,8,・・・とから構成される。後者は生成す
る並行プログラム系のモジュールの数だけ存在する。3
はプログラム記憶部であり、モジュール数分のモジユー
ルプログラム記憶部9,10,・・・から構成される。4
は出力部であり、生成結果の並行プログラム系を出力す
る。5は制御部であり、上述した各部の連係を制御す
る。
【0020】図2は上記の実施例における制御部5の処
理手順を示すフローチャートである。なお、以下の説明
において、構造化されたメッセージシーケンスをAと
し、求めるモジュールをIとする。
理手順を示すフローチャートである。なお、以下の説明
において、構造化されたメッセージシーケンスをAと
し、求めるモジュールをIとする。
【0021】制御部5は、メッセージシーケンスが入力
されると、動作系列記憶部3内の記憶部6に格納する
(ステップS1)。続いて、求めるモジュールIを1と
した後に(ステップS2)、全てのモジュールについて
プログラムを生成したかを確認する(ステップS3)。
全てのモジュールについてプログラムが生成されていな
い場合には、記憶部6からモジュールIの動作系列を抽
出し、動作系列記憶部2内のモジュール毎の動作系列を
記憶する複数の記憶部7,8,・・・のうちのいずれかに
格納する(ステップS4)。次に、モジュール動作系列
Iの動作系列を受理する非決定的オートマトンを生成し
(ステップS5)、続いて、ステップS5にて生成され
た非決定的オートマトンを決定性オートマトンに変換
し、最適化を施してプログラム記憶部3内のモジュール
Iに対応するモジユールプログラム記憶部に格納する
(ステップS6)。この後、I=I+1とした後に(ス
テップS7)、ステップS3に戻り、全てのモジュール
についてプログラムを生成したかを確認する。全てのプ
ログラムについてモジュールが生成されている場合に
は、プログラム記憶部3の内容を出力部4に出力させて
(ステップS8)終了とする。
されると、動作系列記憶部3内の記憶部6に格納する
(ステップS1)。続いて、求めるモジュールIを1と
した後に(ステップS2)、全てのモジュールについて
プログラムを生成したかを確認する(ステップS3)。
全てのモジュールについてプログラムが生成されていな
い場合には、記憶部6からモジュールIの動作系列を抽
出し、動作系列記憶部2内のモジュール毎の動作系列を
記憶する複数の記憶部7,8,・・・のうちのいずれかに
格納する(ステップS4)。次に、モジュール動作系列
Iの動作系列を受理する非決定的オートマトンを生成し
(ステップS5)、続いて、ステップS5にて生成され
た非決定的オートマトンを決定性オートマトンに変換
し、最適化を施してプログラム記憶部3内のモジュール
Iに対応するモジユールプログラム記憶部に格納する
(ステップS6)。この後、I=I+1とした後に(ス
テップS7)、ステップS3に戻り、全てのモジュール
についてプログラムを生成したかを確認する。全てのプ
ログラムについてモジュールが生成されている場合に
は、プログラム記憶部3の内容を出力部4に出力させて
(ステップS8)終了とする。
【0022】上述したような本発明の処理系において、
ステップS1では入力処理を行ない、ステップS4では
与えられた構造を保ちながらモジュールの動作系列を求
め、ステップS5とステップS6では、ステップS4で
求められた動作系列を持つ決定性オートマトンを生成す
る。このステップS4からステップS6の処理をモジュ
ールの数だけ繰り返す制御を行なうのが、ステップS
2、ステップS3およびステップS7である。ステップ
S8では生成結果の各モジュールプログラムを出力し
て、並行システムのモジュールを得る。
ステップS1では入力処理を行ない、ステップS4では
与えられた構造を保ちながらモジュールの動作系列を求
め、ステップS5とステップS6では、ステップS4で
求められた動作系列を持つ決定性オートマトンを生成す
る。このステップS4からステップS6の処理をモジュ
ールの数だけ繰り返す制御を行なうのが、ステップS
2、ステップS3およびステップS7である。ステップ
S8では生成結果の各モジュールプログラムを出力し
て、並行システムのモジュールを得る。
【0023】ステップS4の処理、すなわち、各モジュ
ールが持つべき動作系列を求める処理は、以下の再帰的
な手続により行われる。
ールが持つべき動作系列を求める処理は、以下の再帰的
な手続により行われる。
【0024】(1)Aが構造化されていないメッセージ
シーケンスの時は、Aの中のモジュールIのコマンド列
が動作系列である。
シーケンスの時は、Aの中のモジュールIのコマンド列
が動作系列である。
【0025】(2)Aが選択要素(B|C)の形態の時
は、(B′|C′)が動作系列である。ここで、B′と
C′はそれぞれBとCの動作系列である。
は、(B′|C′)が動作系列である。ここで、B′と
C′はそれぞれBとCの動作系列である。
【0026】(3)Aが継続要素(B;C)の形態の時
は、(B′;C′)が動作系列である。ここで、B′と
C′はそれぞれBとCの動作系列である。
は、(B′;C′)が動作系列である。ここで、B′と
C′はそれぞれBとCの動作系列である。
【0027】(4)Aが繰り返し要素(A)*の形態の
時は、(A′)*が動作系列である。ここで、A′はA
の動作系列である。
時は、(A′)*が動作系列である。ここで、A′はA
の動作系列である。
【0028】以上によりモジュールの持つべき動作系列
がコマンドの正規表現の形態で求まる。
がコマンドの正規表現の形態で求まる。
【0029】ステップS5とステップS6における処理
は、正規表現で表現された動作系列からその動作系列を
受理する決定性有限オートマトンを得る手続きであり、
文献エイホ、セシィ、ウルマン著「コンパイラ−原理、
技法、ツール」サイエンス社、1990に示されている
手法を用いるため、ここでは説明しない。
は、正規表現で表現された動作系列からその動作系列を
受理する決定性有限オートマトンを得る手続きであり、
文献エイホ、セシィ、ウルマン著「コンパイラ−原理、
技法、ツール」サイエンス社、1990に示されている
手法を用いるため、ここでは説明しない。
【0030】以下、例を用いて実施例の処理を説明す
る。
る。
【0031】1.以下のExから並行プログラム系を生
成する。
成する。
【0032】Ex=((A;B)*;C;(D|E))* ここで、A,B,C,D,Eは以下のメッセージシーケ
ンスである。
ンスである。
【0033】A=[P1:b,P2:a], B=[P1:P2!(c),P2:P1?(c)], C=[P1:a,P2:b], D=[P1:P2!(d);w,P2:P1?(d)], E=[P1:P2!(e),P2:P1?(e);w], 2.モジユールP1の動作系列は、((b;P2!
(c))*;a;(P2!(d);w|P2!(e))*と
なる。
(c))*;a;(P2!(d);w|P2!(e))*と
なる。
【0034】3.求めた動作系列を受理する非決定性オ
ートマトンを生成する。生成結果を図3に示す。
ートマトンを生成する。生成結果を図3に示す。
【0035】4.非決定性オートマトンを決定性オート
マトンに変換する。変換結果を図4に示す。
マトンに変換する。変換結果を図4に示す。
【0036】5.決定性オートマトンを最適化する。P
2についても同様に処理して、2つのプログラムを得
る。合成されるモジュールプログラムP1,P2を図5に
示す。
2についても同様に処理して、2つのプログラムを得
る。合成されるモジュールプログラムP1,P2を図5に
示す。
【0037】6.出力される並行プログラム系は、上記
のP1とP2の組である。
のP1とP2の組である。
【0038】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載するような効果を奏する。
いるので、以下に記載するような効果を奏する。
【0039】状態名ラベルを用いた方法で連結性を保つ
には、状態名ラベルの厳密な管理が必要であった。さら
にたとえ連結性が保たれていたとしても、並行プログラ
ムの全体像を把握するのが困難であった。本発明によれ
ば、このような問題が解決されるため、並行プログラム
の作成がより容易になる。また従来の合成手法では、合
成できるプログラムの範囲に制約があるため、プロトタ
イプ的な用途にしか適用できなかったが、本発明ではす
べてのプログラムを合成できるため、実用的な並行シス
テムヘの適用が可能になる。
には、状態名ラベルの厳密な管理が必要であった。さら
にたとえ連結性が保たれていたとしても、並行プログラ
ムの全体像を把握するのが困難であった。本発明によれ
ば、このような問題が解決されるため、並行プログラム
の作成がより容易になる。また従来の合成手法では、合
成できるプログラムの範囲に制約があるため、プロトタ
イプ的な用途にしか適用できなかったが、本発明ではす
べてのプログラムを合成できるため、実用的な並行シス
テムヘの適用が可能になる。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】図1に示した実施例の処理手順を示すフローチ
ャートである。
ャートである。
【図3】本発明の実施例による処理例を示す図であり、
求めた動作系列を受理する非決定性オートマトンの生成
例である。
求めた動作系列を受理する非決定性オートマトンの生成
例である。
【図4】本発明の実施例による処理例を示す図であり、
図3に示した非決定性オートマトンを決定性オートマト
ンに変換した状態を示す図である。
図3に示した非決定性オートマトンを決定性オートマト
ンに変換した状態を示す図である。
【図5】本発明の実施例による処理例を示す図であり、
合成されるモジュールプログラムを示す図である。
合成されるモジュールプログラムを示す図である。
【図6】メッセージシーケンスの一例を示す図である。
【図7】図6に示したメッセージシーケンスを図式的に
表した図である。
表した図である。
1 入力部 2 動作系列記憶部 3 プログラム記憶部 4 出力部 5 制御部 6〜10 記憶部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 市川 晴久 東京都千代田区内幸町一丁目1番6号 日 本電信電話株式会社内
Claims (2)
- 【請求項1】 複数の並行に動作するモジュールが互い
に通信し合うことにより協調動作するシステムの制御プ
ログラムを生成する並行プログラム系生成方式におい
て、 予め与えられた、「選択」(A|B)、「継続」(A;
B)および「繰り返し」(A)*の3要素にて構造化さ
れるメッセージシーケンス、すなわちコマンド列の組に
対して、 与えられたメッセージシーケンスが構造化されていない
場合には該モジュールのコマンド列を動作系列とし、 与えられたメッセージシーケンスが「選択」要素(A|
B)および「継続」要素(A;B)である場合には、メ
ッセージシーケンス(A,B)に対し動作系列(A′,
B′)を求め、該動作系列(A′,B′)を用いて「選
択」要素(A′|B′)および「継続」要素(A′;
B′)を動作系列とし、 与えられたメッセージシーケンスが「繰り返し」要素
(A)*である場合にはメッセージシーケンス(A)に
対して動作系列(A′)を求め、該動作系列(A′)を
用いて「繰り返し」要素(A′)*を動作系列として、
再帰的に各モジュールの持つべき動作系列を求める手段
と、 前記動作系列を求める手段にて求められた動作系列を持
つモジュールプログラムを生成する手段とを有すること
を特徴とする並行プログラム系生成方式。 - 【請求項2】 複数の並行に動作するモジュールが互い
に通信し合うことにより協調動作するシステムの制御プ
ログラムを生成する並行プログラム系生成装置におい
て、 メッセージシーケンスを読み取る入力部と、 メッセージシーケンスを記憶する第1の記憶部と、前記
複数のモジュールに対応する複数の第2の記憶部からな
る動作系列記憶部と、 前記複数のモジュールに対応する複数の第3の記憶部か
らなるプログラム記憶部と、 生成した並行プログラムを出力する出力部と、 前記入力部、動作系列記憶部、プログラム記憶部および
出力部の動作を制御する制御部とを有し、 前記制御部は、前記入力部に、「選択」(A|B)、
「継続」(A;B)および「繰り返し」(A)*の3要
素にて構造化されるメッセージシーケンス、すなわちコ
マンド列の組が入力されると、前記第1の記憶部に記憶
させ、 与えられたメッセージシーケンスが構造化されていない
場合には該モジュールのコマンド列を動作系列とし、 与えられたメッセージシーケンスが「選択」要素(A|
B)および「継続」要素(A;B)である場合には、メ
ッセージシーケンス(A,B)に対し動作系列(A′,
B′)を求め、該動作系列(A′,B′)を用いて「選
択」要素(A′|B′)および「継続」要素(A′;
B′)を動作系列とし、 与えられたメッセージシーケンスが「繰り返し」要素
(A)*である場合にはメッセージシーケンス(A)に
対して動作系列(A′)を求め、該動作系列(A′)を
用いて「繰り返し」要素(A′)*を動作系列として、
再帰的に各モジュールの持つべき動作系列を求めて対応
する前記第2の記憶部に記憶させるとともに、記憶され
た各動作系列を持つモジュールプログラムをそれぞれ生
成して対応する前記第3の記憶部に記憶させ、 前記出力部に前記第3の記憶部に記憶されたモジュール
プログラムを出力させることを特徴とする並行プログラ
ム系生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26712093A JPH07121357A (ja) | 1993-10-26 | 1993-10-26 | 並行プログラム系生成方式と装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26712093A JPH07121357A (ja) | 1993-10-26 | 1993-10-26 | 並行プログラム系生成方式と装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07121357A true JPH07121357A (ja) | 1995-05-12 |
Family
ID=17440352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26712093A Pending JPH07121357A (ja) | 1993-10-26 | 1993-10-26 | 並行プログラム系生成方式と装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07121357A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170032739A (ko) | 2015-09-15 | 2017-03-23 | (주)중앙플랜트 | 기액 접촉을 위한 하이브리드 패킹 및 이의 세척 방법 |
US10265676B2 (en) | 2014-04-01 | 2019-04-23 | Ihi Corporation | Method of manufacturing packing and packing |
WO2019151230A1 (ja) | 2018-01-30 | 2019-08-08 | 株式会社Ihi | 充填材、その製造方法及び液膜形成構造 |
US10596484B2 (en) | 2015-09-30 | 2020-03-24 | Ihi Corporation | Packing |
US11298647B2 (en) | 2016-08-01 | 2022-04-12 | Ihi Corporation | Packing and manufacturing method therefor |
-
1993
- 1993-10-26 JP JP26712093A patent/JPH07121357A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10265676B2 (en) | 2014-04-01 | 2019-04-23 | Ihi Corporation | Method of manufacturing packing and packing |
KR20170032739A (ko) | 2015-09-15 | 2017-03-23 | (주)중앙플랜트 | 기액 접촉을 위한 하이브리드 패킹 및 이의 세척 방법 |
US10596484B2 (en) | 2015-09-30 | 2020-03-24 | Ihi Corporation | Packing |
US11298647B2 (en) | 2016-08-01 | 2022-04-12 | Ihi Corporation | Packing and manufacturing method therefor |
WO2019151230A1 (ja) | 2018-01-30 | 2019-08-08 | 株式会社Ihi | 充填材、その製造方法及び液膜形成構造 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sklyarov | Hierarchical finite-state machines and their use for digital control | |
CN110109658B (zh) | 一种基于形式化模型的ros代码生成器及代码生成方法 | |
CN109165131B (zh) | 一种基于Perl的原型验证平台自动化实现方法 | |
JPH07121357A (ja) | 並行プログラム系生成方式と装置 | |
CN113222160A (zh) | 一种量子态的转换方法及装置 | |
CN116579274A (zh) | 一种张量运算加速芯片的自动设计方法 | |
JPH06162139A (ja) | レイアウト検証システム | |
JP3373641B2 (ja) | テスト系列生成装置 | |
CN114365151A (zh) | 神经网络模型转化方法、装置、服务器及存储介质 | |
JP2001043251A (ja) | 高位合成装置および高位合成方法並びにそれに用いられる記録媒体 | |
Beister et al. | Cascade: a tool kernel supporting a comprehensive design method for asynchronous controllers | |
JP2551935B2 (ja) | 図的言語処理方式 | |
Lin et al. | Hierarchical optimization of asynchronous circuits | |
Suri et al. | Framework to represent the software design elements in markup text–Design Markup Language (DGML) | |
JPH09289252A (ja) | 図形処理方法および装置 | |
O’Brien et al. | Synthesis for control-flow-dominated machines | |
JPH11120212A (ja) | 回路設計方法及び装置並びにそのプログラムを記録した記録媒体 | |
Beuche et al. | Variant management for embedded software product lines with pure:: consul and aspectc++ | |
JPH06332971A (ja) | 機能モデル生成装置 | |
JPS6361329A (ja) | プログラム作成装置 | |
Lengauer | An Improved Systolic Array for String Correction | |
JPH0830444A (ja) | 正規表現を用いたメッセージシーケンスチャート抽出方法 | |
JP2708068B2 (ja) | データフロー図作成装置 | |
JP2835082B2 (ja) | 論理回路合成装置 | |
JPH06332978A (ja) | 論理回路合成装置及び論理回路合成方法 |