IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コミッサリア ア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴの特許一覧

特許7638879データフローシステムを検証するための方法
<>
  • 特許-データフローシステムを検証するための方法 図1A
  • 特許-データフローシステムを検証するための方法 図1B
  • 特許-データフローシステムを検証するための方法 図1C
  • 特許-データフローシステムを検証するための方法 図2
  • 特許-データフローシステムを検証するための方法 図3
  • 特許-データフローシステムを検証するための方法 図4
  • 特許-データフローシステムを検証するための方法 図5
  • 特許-データフローシステムを検証するための方法 図6
  • 特許-データフローシステムを検証するための方法 図7
  • 特許-データフローシステムを検証するための方法 図8
  • 特許-データフローシステムを検証するための方法 図9A
  • 特許-データフローシステムを検証するための方法 図9B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-21
(45)【発行日】2025-03-04
(54)【発明の名称】データフローシステムを検証するための方法
(51)【国際特許分類】
   G06F 15/82 20060101AFI20250225BHJP
   G06F 30/10 20200101ALI20250225BHJP
   G06F 30/20 20200101ALI20250225BHJP
【FI】
G06F15/82 660C
G06F30/10 200
G06F30/20
【請求項の数】 11
(21)【出願番号】P 2021550039
(86)(22)【出願日】2020-02-26
(65)【公表番号】
(43)【公表日】2022-04-14
(86)【国際出願番号】 FR2020050377
(87)【国際公開番号】W WO2020174186
(87)【国際公開日】2020-09-03
【審査請求日】2023-02-22
(31)【優先権主張番号】1902028
(32)【優先日】2019-02-27
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】502124444
【氏名又は名称】コミッサリア ア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ディナ・イロフティ
(72)【発明者】
【氏名】ポール・デュブリュレ
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2005/0257194(US,A1)
【文献】米国特許出願公開第2012/0030646(US,A1)
【文献】米国特許出願公開第2014/0237459(US,A1)
【文献】特開平11-003367(JP,A)
【文献】特表2006-522406(JP,A)
【文献】米国特許出願公開第2017/0286342(US,A1)
【文献】特開平06-348482(JP,A)
【文献】特開平04-062671(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/82
G06F 11/36
G06F 8/34
G06F 30/10
G06F 30/20
(57)【特許請求の範囲】
【請求項1】
検証デバイスのマイクロプロセッサによって実行され、デジタル信号を処理するための検証方法であって、
前記検証デバイスは、単方向通信接続によって互いに接続されたアクターを含むデータフローシステムによってモデル化され、各アクターは、入力データを受信するように、および出力データを送達するように構成されている、検証方法において、
判定された生産レートおよび消費レートを有する前記アクターを含むデータフローグラフによって表されるデータフローシステムを検証するステップを備え、
前記検証するステップにおいて、増分的に証明することであって、前記データフローグラフ全体を再考することなく、前記データフローグラフの第1の現在の部分を前記データフローグラフの第2の現在の部分に接続する現在の単方向接続の整合性が各増分において局所的に証明される、ことが行われる、検証方法。
【請求項2】
・前記現在の単方向接続によって接続された起点アクターおよび目標アクターを定義するステップであって、前記起点アクターおよび前記目標アクターは、それぞれ、前記データフローグラフの前記第1および第2の現在の部分に属し、前記起点アクターおよび前記目標アクターは、それぞれ、単一の現在の繰返ベクトルに、または前記データフローグラフの前記第1および第2の現在の部分を表す2つの現在の繰返ベクトルに属し得る起点成分xおよび目標成分xによって定義される、ステップと、
・前記現在の単方向接続に、前記起点アクターに対する生産レートrおよび前記目標アクターに対する消費レートrを割り当てるステップと、
・前記現在の単方向接続の局所整合性のインジケータを証明するステップであって、局所整合性の前記インジケータは、前記生産レートrかける前記起点成分xの積が、前記消費レートrかける前記目標成分xの積と等しいかどうかを調べる、ステップと、
・前記データフローグラフの前記第1および第2の現在の部分を表す、得られる現在の繰返ベクトルを定義するステップと、
を含むことを特徴とする、請求項1に記載の検証方法。
【請求項3】
前記現在の単方向接続が局所整合性の前記インジケータを証明するケースでは、
前記方法は、
・前記起点アクターおよび前記目標アクターが、起点繰返ベクトルおよび目標繰返ベクトルと呼ばれる2つの相異なる現在の繰返ベクトルに関連付けられる場合、前記得られた現在の繰返ベクトルは、前記起点繰返ベクトルおよび前記目標繰返ベクトルを連結することによって構築される、ステップと、
・前記起点アクターおよび前記目標アクターが、単一の現在の繰返ベクトルに関連付けられる場合、前記得られた現在の繰返ベクトルは前記単一の現在の繰返ベクトルと等しい、ステップと、
を含むことを特徴とする、請求項2に記載の検証方法。
【請求項4】
前記現在の単方向接続が局所整合性の前記インジケータを証明しないケースでは、
前記方法は、
・前記起点アクターおよび前記目標アクターが、起点および目標繰返ベクトルと呼ばれる2つの相異なる現在の繰返ベクトルに関連付けられる場合、生産係数cおよび消費係数cと呼ばれる2つの自然数が計算され、一方における、前記生産係数cかける前記生産レートrかける前記起点成分xの積と、他方における、前記消費係数cかける前記消費レートrかける前記目標成分xの積との間の等価性を証明し、前記得られた現在の繰返ベクトルは、前記生産係数cで乗算した後の起点繰返ベクトルを、前記消費係数cで乗算した後の前記目標繰返ベクトルと連結することによって構築される、ステップと、
・前記起点アクターおよび前記目標アクターが、単一の現在の繰返ベクトルに関連付けられる場合、前記現在の単方向接続は非整合と識別される、ステップと、
を含むことを特徴とする、請求項2に記載の検証方法。
【請求項5】
前記生産係数cおよび消費係数cは、式
【数1】
によって与えられ、上式で、
m=ppcm(r,r)およびd=pgcd(x,x
であることを特徴とする、請求項4に記載の検証方法。
【請求項6】
前記データフローグラフの第1および第2の現在の部分の間の新たな単方向接続の追加動作を含むことを特徴とする、請求項2から5のいずれか一項に記載の検証方法。
【請求項7】
初期繰返ベクトルと呼ばれる単一の繰返ベクトルによって表される前記データフローグラフからの、単方向接続の消去動作を含み、
前記動作は、
・前記単方向接続の前記消去の後、前記データフローグラフが、第1および第2のデータフロー部分グラフに分割される場合、第1の繰返ベクトルは、前記第1のデータフロー部分グラフに対する前記初期繰返ベクトルの成分をまとめることによって構築され、第2の繰返ベクトルは、前記第2のデータフロー部分グラフに対する前記初期繰返ベクトルの成分をまとめることによって構築される、ステップ、および
・前記単方向接続の前記消去の後、前記グラフが接続されたままである場合、前記初期繰返ベクトルは修正されない、ステップ、
に従うことを特徴とする、請求項2から5のいずれか一項に記載の検証方法。
【請求項8】
単方向接続の修正の動作を含み、
前記動作は、
・前記単方向接続によって接続された前記起点アクターおよび前記目標アクターに対する新たな生産r’および消費r’レートを割り当てるステップ、
・請求項7に記載の単方向接続の前記消去動作を適用するステップ、ならびに、
・請求項6に記載の単方向接続の前記追加動作を適用するステップ、
に従うことを特徴とする、請求項6および7に記載の検証方法。
【請求項9】
その唯一の成分xが1に等しい追加繰返ベクトルを各追加目標アクターに割り当てることによって、前記データフローグラフの、その構築またはその修正中に、前記整合性の前記証明を含み、前記追加目標アクターは、前記現在の単方向接続によって、構築または修正される前記現在のデータフローグラフに属す起点アクターに接続されることを特徴とする、請求項2から8のいずれか一項に記載の検証方法。
【請求項10】
判定された生産レートおよび消費レートを有するアクターを含むデータフローグラフによって表されるデータフローシステムを検証するためのデバイスであって、
前記デバイスは、
・前記データフローグラフの第1および第2の現在の部分に関するデータを獲得するように構成された獲得モジュール(9)と、
・前記データフローグラフ全体を再考することなく、各増分において、前記データフローグラフの前記第1の現在の部分を前記データフローグラフの前記第2の現在の部分に接続する現在の単方向接続の局所整合性を証明することによって、前記データフローシステムの整合性を増分的に証明するように構成された監視モジュール(11)と、
を含むことを特徴とする、デバイス
【請求項11】
前記データフローシステムは、医療撮像システム、コンピュータビジョンシステム、ビデオ符号化および圧縮システム、オーディオサンプリング周波数をコンバートするためのシステム、ワイヤレス通信システム用のツールを設計するためのシステム、マルチチャネル音声強調システム、搭載システムという処理システムのいずれか1つのうちのシステムであることを特徴とする、請求項10に記載のデバイス
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データフローシステムを検証するための方法およびデバイスに関し、より詳細には、システムの整合性の証明に関する。
【背景技術】
【0002】
本発明は、具体的なアプリケーションが、それらの間でデータを交換するために、あらかじめ定義されたインターフェース機能を使うシステムに適用される。特に、本発明は、単方向通信チャネル(または接続)によって互いに接続された、アクターと呼ばれる成分(またはタスク)を含む、同期タイプのデータフローシステム(またはアプリケーション)すべてに適用される。これらのシステムはしばしば、それらの性能を分析するのに適した実行セマンティクスを提供するので、信号処理アプリケーションの挙動を記述するのに使われる。性能の分析のための最も一般的な基準は、バッファメモリの寸法決定の、ビットレートの、または待ち時間の最適化に直接関連する。これらの最適化問題の解決における第1のステップは、バッファメモリサイズについての上限の存在およびブロッキングの不在など、いくつかのプロパティを証明することを伴う。これらのプロパティは有利には、以下で説明する、整合性の、およびデッドロックの不在のプロパティを証明することによって、データフローシステムにおいて決定可能である。
【0003】
データフローシステムは概して、データフローグラフによってモデル化される。データフローグラフは、アクターがノード(または頂点)によって、通信チャネルが弧によって表されるデータフロー構造を記述する。データフローグラフの各アクターは、ポートのセットを用意している。各ポートは、通信チャネルのエンドポイントを表す。アクターは概して、それらの入力ポートから入力データを読み取ること、それらのタスクを実行すること、およびそれらの出力ポートに出力データを置くことを伴う、アクティブ化または発火(firing)と呼ばれる周期的挙動を有する。発火は、アクターがその入力ポート上に十分な情報を用意しているときにのみ起こり得る。出力ポート上で送られ、または入力ポートから受信されるデータの量は、トークンの数によって指定される。生産(または消費)レートは、アクターが、発火したときに送る(または受信する)ことができるトークンの数を表す。同期タイプのデータフローでは、消費および生産レートは一定であることに留意されたい。
【0004】
データフローシステムは、データフローグラフの各アクターが、発火するたびに同じ量のデータを生産し、使うので、静的に計画されてよい。その上、消費および生産レートがすべて固定されているのであれば、同期データフローシステム用に、定期的プログラムが構築されてよい。有効な定期的スケジュールでは、各アクターは、グラフがその初期状態に戻る前に、チャネル上で最初に同じ数のトークンを有して、ある特定の回数だけアクティブ化する(すなわち、発火する)。
【0005】
概して、SDFデータフローシステムの計画中に、有効繰返ベクトルが構築される。繰返ベクトルとは、その成分が正の整数であり、その次元が、データストリームグラフに属すアクターの数と等しいベクトルである。ベクトルの各成分は、アクターに対応し、定期的プログラム中にアクターによってトリガされる発火の数を指定する。所与のグラフについて、複数の繰返ベクトルが見つかる場合がある。最小繰返ベクトルは、最小ノルムを有し、最小の定期的スケジュールに対応する。繰返ベクトルは、データフローシステムの妥当性を証明するために使われることに留意されたい。
【0006】
実際、データフローシステムの有効な定期的計画を見つけるために、システムをモデル化するデータフローグラフは、整合性の、およびデッドロックの不在のプロパティを証明しなければならない。整合性のプロパティは、実行の期間中、データフローグラフ中のトークンが、単方向チャネル上で蓄積しないという事実に関する。非ゼロ繰返ベクトルの存在は、データフローグラフの整合性のための必要条件であること、すなわち、有効な定期的スケジュールを有することが知られている[2]。その上、デッドロックの不在(活性ともいう)のプロパティは、アクターが、それらの入力において、発火を続けるために十分なトークンを有することを意味する。整合性の、およびデッドロックの不在のプロパティは独立していることに留意されたい。
【0007】
図1A図1Cは、従来技術による、整合性の、およびデッドロック不在のプロパティを示す2つのアクターをもつデータフローグラフの例を示す。
【0008】
図1Aの例は、整合性はあるがデッドロックを有するグラフを示す。実際、このグラフG1は、チャネル上でトークンが蓄積しないので、整合性がある。アクターAはトークンを生産し、トークンはアクターBによって消費され、次いで、アクターBは発火し、トークンを生産し、このトークンはアクターAによって消費され、以下同様に続く。グラフG1に対応する繰返ベクトルはX1=(1 1)であり、これは、アクターAおよびBの各々が、グラフG1がその初期状態に戻る前に一度アクティブ化する(発火する)ことを意味する。ただし、チャネル上に初期トークンがないので、このグラフG1にはデッドロックがないわけではなく、これは、アクターAもアクターBも発火を開始することができないことを意味する。
【0009】
図1Bの例は、非整合であるが、デッドロックが不在であるグラフG2を示す。BからAに進む単方向チャネルは、初期トークンを含む。アクターAは、この初期トークンを消費し、別のトークンを生産し、この別のトークンはアクターBによって消費される。次いで、アクターBは、発火ごとに2つのトークンを生産し、そうすることによって、アクターAは、その入力において、発火を続けるのに十分なトークンを有する。ただし、トークンは、後者による消費のリズムがアクターBによる生産のリズムほど速くないので、アクターAの入力ポート上で蓄積し続ける。このケースでは、このグラフG2について繰返ベクトルを見つけることができず、これは、整合性がないことを意味する。
【0010】
対照的に、図1Cの例は、整合性の、および活性(すなわち、デッドロックの不在)のプロパティの両方を満たすグラフG3を示す。実際、アクターAは、その入力ポートにおいて2つの初期トークンを消費し、出力ポートにおいてトークンを生産する。次いで、アクターBは、トークンを消費し、その出力ポートにおいて2つのトークンを生産しており、これは、グラフG3がその初期状態に戻ることを意味する。グラフG3に対応する繰返ベクトルはしたがって、X3=(1 1)である。そのような(非ゼロ)繰返ベクトルの存在は、グラフG3は整合性があることを意味する。その上、[1、2]において提案される、デッドロックの不在の証明法は、繰返ベクトルによって指定された回数だけ、各ノードをトリガすることを伴う。データフローグラフは、このテスト中にデッドロックを有していない場合、いかなるデッドロックも有していない。
【0011】
所与のデータフローグラフについて繰返ベクトルを見つけることができない場合、このグラフに対応するいかなるデータフローシステムも、デッドロックされるか、または上限なしで、バッファメモリサイズ以内となるかのいずれかであるので、整合性のプロパティは重要である。
【0012】
現在、概して従来技術において整合性の証明のために使われる形式は、データストリームグラフの「トポロジー行列」と呼ばれる行列の抽出に基づく。この形式は、同期データフローグラフについてのLeeおよびMesserschmitt[1、2]によって記載される。トポロジー行列は、グラフが接続される方式、およびグラフ中の各アクターが各発火において送るか、または受信し得る情報の量を記述する。トポロジー行列は概して、文字ガンマΓによって特定される。データフローグラフの各アクターは、トポロジー行列Γ中に列を有し、各チャネル(接続)は行に割り当てられる。したがって、トポロジー行列Γの第(i,j)の入力は、チャネルi上のノードjの生産の、または消費のレートに対応する。慣例により、生産レートは正の数によって特定され、消費レートは負の数によって特定される。
【0013】
上記定義によると、図1A図1Cに示されるグラフG1、G2およびG3に対応するトポロジー行列Γ1、Γ2およびΓ3は、
【数1】
の通りである。
【0014】
ここでXと記される非ゼロ繰返ベクトルは、任意選択で、以下の行列式、
【数2】
を解くことによって見つけることができる。
【0015】
非ゼロ繰返ベクトルXの存在は、バッファメモリサイズが有限のままである定期的スケジュールの存在にとって必要条件である。グラフG1、G2およびG3についての行列式の解決は、上で示したベクトルを与え、すなわち、X1=(1 1)、X2=(0 0)およびX3=(1 1)である。
【0016】
したがって、非ゼロ繰返ベクトルXがあるかどうかを証明することができるためには、データフローグラフを全体的に構築することが最初に必要である。言い換えると、データフローシステムは、システムに整合性があるかどうかを証明することができる前に、その最終形でなければならない。
【0017】
この方法は、時間および計算に関して非常にコストがかかり、データフローシステムが非整合であると判断されているケースでは、方法は、この非整合性に責任がある要素を検出させることができない。その上、新たなタスクまたはアクターが、すでに整合性があるデータフローシステムに追加された場合、それに合わせて修正されたデータフローシステム全体が、後者に整合性があるままかどうかを決定する前にもう一度再考されなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0018】
したがって、本発明の目的は、特に、新たなタスクが追加されるケースにおける、整合性の高速で簡単な証明を可能にすることによって、ならびに非整合要素の識別を可能にすることによって、上述した欠点を克服する、同期タイプのデータフローシステムを検証するための方法を提案することである。
【課題を解決するための手段】
【0019】
本発明は、判定された生産レートおよび消費レートを有するアクターを含むデータフローグラフによって表されるデータフローシステムを検証するための方法に関し、前記方法は、データフローグラフの第1の現在の部分をデータフローグラフの第2の現在の部分に接続する現在の単方向接続の整合性が、各増分において局所的に証明される増分的証明を特徴とする。
【0020】
この方法は、アクター(または接続)が消去され、追加され、または修正され得る柔軟なトポロジーを、データフローグラフが有することができるようにする。
【0021】
有利には、方法は、
・前記現在の単方向接続によって接続された起点および目標アクターを定義するステップであって、起点および目標アクターは、それぞれ、データフローグラフの前記第1および第2の現在の部分に属し、起点および目標アクターは、それぞれ、単一の現在の繰返ベクトルに、またはデータフローグラフの前記第1および第2の現在の部分を表す2つの現在の繰返ベクトルに属し得る起点xおよび目標x成分によって定義される、ステップと、
・前記現在の単方向接続に、起点アクターに対する生産レートrおよび目標アクターに対する消費レートrを割り当てるステップと、
・前記現在の単方向接続の局所整合性のインジケータを証明するステップであって、局所整合性の前記インジケータは、前記生産レートrかける前記起点成分xの積が、前記消費レートrかける前記目標成分xの積と等しいかどうかを調べる、ステップと、
・データフローグラフの前記第1および第2の現在の部分を表す、得られる現在の繰返ベクトルを定義するステップと、
を含む。
【0022】
したがって、整合性は、データフローグラフの構築中に、または新たな接続の追加中に、データフローグラフ全体を再考することなく、局所的に証明され得る。実際、新たな接続の整合性は、前のグラフの状態を考慮に入れることによって評価され得る。
【0023】
有利には、前記現在の単方向接続が局所整合性のインジケータを証明するケースでは、前記方法は、
・起点および目標アクターが、起点および目標繰返ベクトルと呼ばれる2つの相異なる現在の繰返ベクトルに関連付けられる場合、得られた現在の繰返ベクトルは、前記起点および目標繰返ベクトルを連結することによって構築される、ステップと、
・起点および目標アクターが、単一の現在の繰返ベクトルに関連付けられる場合、得られた現在の繰返ベクトルは前記単一の現在の繰返ベクトルと等しい、ステップと、
を含む。
【0024】
したがって、新たな接続が追加されるたびに、この新たな接続は整合性があるかどうかを直接知ることができる。
【0025】
有利には、前記現在の単方向接続が局所整合性のインジケータを証明しないケースでは、前記方法は、
・起点および目標アクターが、起点および目標繰返ベクトルと呼ばれる2つの相異なる現在の繰返ベクトルに関連付けられる場合、生産係数cおよび消費係数cと呼ばれる2つの自然数が計算され、一方における、前記生産係数cかける前記生産レートrかける前記起点成分xの積と、他方における、前記消費係数cかける前記消費レートrかける前記目標成分xの積との間の等価性を証明し、得られた現在の繰返ベクトルは、生産係数cで乗算した後の起点繰返ベクトルを、消費係数cで乗算した後の目標繰返ベクトルと連結することによって構築される、ステップと、
・起点および目標アクターが、単一の現在の繰返ベクトルに関連付けられる場合、現在の単方向接続は非整合と識別される、ステップと、
を含む。
【0026】
したがって、この方法は、データフローシステムのどの要素が非整合であるかを識別できるようにする。
【0027】
有利には、生産cおよび消費c係数は、以下の式、
【数3】
によって与えられ、
ここで、
【数4】
である。
【0028】
有利には、方法は、データフローグラフの第1および第2の現在の部分の間の新たな単方向接続の追加の動作を含む。
【0029】
したがって、方法は、モジュール式データフローシステム用に効果的に使われ得る。
【0030】
有利には、方法は、初期繰返ベクトルと呼ばれる単一の繰返ベクトルによって表されるデータフローグラフからの、単方向接続の消去の動作を含み、この動作は、
・前記単方向接続の消去の後、データフローグラフが、第1および第2のデータフロー部分グラフに分割される場合、第1の繰返ベクトルは、前記第1のデータフロー部分グラフに対する前記初期繰返ベクトルの成分をまとめることによって構築され、第2の繰返ベクトルは、前記第2のデータフロー部分グラフに対する初期繰返ベクトルの成分をまとめることによって構築される、ステップ、および
・前記単方向接続の消去の後、グラフが接続されたままである場合、前記初期繰返ベクトルは修正されない、ステップに従う。
【0031】
有利には、方法は、単方向接続の修正の動作を含み、この動作は、
・前記単方向接続によって接続された起点および目標アクターに対する新たな生産r’および消費r’レートを割り当てるステップ、
・単方向接続の消去の動作を適用するステップ、ならびに
・単方向接続の追加の動作を適用するステップに従う。
【0032】
有利には、方法は、その唯一の成分xが1に等しい追加繰返ベクトルを各追加目標アクターに割り当てることによって、データフローグラフの構築中に、その整合性の証明するステップを含み、前記追加目標アクターは、前記現在の単方向接続によって、構築される前記現在のデータフローグラフに属す起点アクターに接続される。
【0033】
本発明は、前の特徴のいずれか1つによる検証方法を使うことによって設計されたデジタル信号を処理するためのシステムも対象とし、前記処理システムは、単方向通信接続によって互いに接続されたアクターを含むデータフローシステムによってモデル化され、各アクターは、入力データを受信するように、および出力データを送達するように構成される。
【0034】
有利には、前記システムは、医療撮像システム、コンピュータビジョンシステム、ビデオ符号化および圧縮システム、オーディオサンプリング周波数をコンバートするためのシステム、ワイヤレス通信システム用のツールを設計するためのシステム、マルチチャネル音声強調システム、搭載システムという処理システムのいずれか1つのうちのシステムである。
【0035】
本発明は、判定された生産レートおよび消費レートを有するアクターを含むデータフローグラフによって表されるデータフローシステムを検証するためのデバイスも対象とし、前記システムは、
・データフローグラフの第1および第2の現在の部分に関するデータを獲得するように構成された獲得モジュールと、
・各増分において、データフローグラフの第1の現在の部分をデータフローグラフの第2の現在の部分に接続する現在の単方向接続の局所整合性を証明することによって、前記データフローシステムの整合性を増分的に証明するように構成された監視モジュールと、
を含む。
【0036】
本発明による、デバイスの、および方法の他の詳細および利点は、添付の図面を参照して、情報および非限定的目的のために以下に挙げる説明を読むと、より明らかになる。
【図面の簡単な説明】
【0037】
図1A】従来技術による、整合性の、およびデッドロック不在のプロパティを示す2つのアクターをもつデータフローグラフの例を示す図である。
図1B】従来技術による、整合性の、およびデッドロック不在のプロパティを示す2つのアクターをもつデータフローグラフの例を示す図である。
図1C】従来技術による、整合性の、およびデッドロック不在のプロパティを示す2つのアクターをもつデータフローグラフの例を示す図である。
図2】本発明の一実施形態による、データフローシステムを検証するためのデバイスおよび方法を概略的に示す図である。
図3】本発明の実施形態による、接続の整合性の証明を示すデータフローグラフである。
図4】本発明の好ましい実施形態による、データフローシステムを検証するための方法のステップを示すフローチャートである。
図5図4の方法による、データフローグラフの構築を概略的に示す図である。
図6】本発明の方法による、2つの相異なるグラフの接続を概略的に示す図である。
図7】本発明の好ましい実施形態による、消去の動作を含む検証方法のステップを示すフローチャートである。
図8】本発明の好ましい実施形態による、修正動作を含む検証方法のステップを示すフローチャートである。
図9A】本発明による、マルチチャネル音声強調デバイスをモデル化するデータフローシステムにおける整合性の証明を例として示す図である。
図9B】本発明による、マルチチャネル音声強調デバイスをモデル化するデータフローシステムにおける整合性の証明を例として示す図である。
【発明を実施するための形態】
【0038】
本発明の原理は、データフローシステムの整合性を増分的および局所的に証明することである。本発明は、アクターが、判定された(すなわち、定義された、または定量化可能な)消費および生産レートを有するデータフローシステムに、特に関係する。たとえば、システムは、SDFタイプ(同期データフロー)の同期データフローシステムまたは同期および周期的データフローシステムであってよい。
【0039】
図2は、本発明の一実施形態による、データフローシステムを検証するためのデバイスおよび方法を概略的に示す。
【0040】
検証デバイス1は、マイクロプロセッサ5およびメモリ7を含む計算器またはコンピュータ3のような、情報を処理するための機械を含むハードウェア手段によって実装される。マイクロプロセッサ5は、コンピュータのメモリ7に記憶されるとともに、データフローシステムの検証を実装するように設計された、プログラムコード命令を含む1以上のコンピュータプログラムを実行するように構成される。
【0041】
本発明によると、検証デバイス1は、獲得モジュール9および監視モジュール11を含む。
【0042】
獲得モジュール9は、現在のデータフローグラフに関するデータと、より具体的には、データフローグラフの第1および第2の現在の部分ならびにこれらの2つの部分の間の現在の接続に関するデータとを獲得するように構成される。データフローグラフの第1または第2の現在の部分は、少なくとも単一のアクターを含むグラフの一部を意味する。
【0043】
概して、データフローグラフは、単方向通信接続(すなわち、チャネル)を通して、定量化可能な情報をそれらの間で交換する、独立したアクターを含む。アクターは、ソフトウェア(たとえばアプリケーション)および/またはハードウェア(たとえば、センサ、カメラ、プローブ、マイクロプロセッサなど)エンティティであってよい。アクターはノード(または頂点)によって、通信接続は弧によって表される。各アクターは、指定された量のデータを消費すること、このデータの処理を実践する(または実践しない)こと、および指定された量のデータを、新たなアクターに向けられた、その出力ポート上で生産することを目標にして、その入力ポート上で、指定された量のデータを受信するのを待つように構成され、各々がこの挙動を無期限に繰り返す。消費/処理/放出の周期的プロセスは、規定により、アクティブ化または発火と呼ばれる。
【0044】
同期データフローでは、アクターすべてが、判定された(定量化可能な)消費および生産レートを有し、これらのレートは、データフローグラフの構築中に知られている。データフローグラフのノードは、タスクが特定の順序で実行されることが可能であるために、様々な計算ユニットにわたってマップされてよい。この手順は、計画と呼ばれ、静的に(コンパイル時)または動的に(実行時)実践され得る。
【0045】
監視モジュール11は、データフローグラフの第1の現在の部分をデータフローグラフの第2の現在の部分に接続する現在の単方向接続の局所整合性を各増分において証明することによって、データフローシステムの整合性を増分的に証明するように構成される。
【0046】
その上、デッドロックの不在は、繰返ベクトルによって指定された回数だけ、各ノードをトリガすることによって証明され得ることに留意されたい。このテストの間、どのデッドロックも明らかにならない場合、データフローグラフはしたがって、いかなるロッキングも有していない。
【0047】
以降、Xは繰返ベクトルを示し、xは、繰返ベクトルXの第iの成分を示す。慣例により、アクターが作成されたとき、値が1に等しい単一の成分のみを含む繰返ベクトルは、それに関連付けられると見なされる。
【0048】
その上、本発明による、整合性の局所的であり増分的な証明は、以下の前提およびその推論に、ならびにそれらの含意に基づく。
前提:データフローグラフGが、整合性があり、有効繰返ベクトルXを有する場合、kXも、任意の自然数k(すなわち、k∈Z)について、有効繰返ベクトルである。
推論:n個のアクターおよび有効繰返ベクトルX=[x... x]をもつ、整合性があるデータフローグラフについて検討する。追加設計制約により、ベクトルXの第iの成分は修正されなければならないと仮定する。x*は、ベクトルXの第iの成分の新たな値を示す。したがって、データフローグラフの整合性を保存するために、ベクトルXの他の成分xすべての値(すなわち、x、j=1~n、およびj≠n)が、x*/xで乗算されなければならない。
【0049】
したがって、それぞれ、生産レートrおよび消費レートrを有するとともに、それぞれ、成分xおよびxによって表される、2つのアクターaおよびaの間に、新たな単方向接続が作成されると、新たな単方向接続は、整合性のプロパティを満たす、生産係数cおよび消費係数cと呼ばれる2つの自然数cおよびc(すなわち、c∈Zおよびc∈Z)を見つけることができる場合、整合性があると見なされる。このプロパティは、以下の式による、一方における、生産係数cかける生産レートrかける起点成分xの積と、他方における、消費係数cかける消費レートrかける目標成分xの積との間の等価性である。
=c (3)
【0050】
実際、図3は、上の式(3)による、接続の整合性の証明を示すデータフローグラフである。
【0051】
より具体的には、図3の例は、新たなアクターC、およびアクターBとアクターCとの間の新たな接続を追加することによって、図1Cの整合グラフG3の修正から得られたグラフG4を示す。この修正は、図1Cに示される初期グラフG3の修正として、または特に、図3のグラフG4の反復構築におけるステップとしてのいずれかと見ることができることに留意されたい。両方のケースにおいて、修正は、アクターBとアクターCとの間の新たな接続を追加することを伴う。XおよびXを、それぞれ、初期グラフG3の、およびアクターCの繰返ベクトルとする。このケースでは、初期グラフG3に関連付けられた繰返ベクトルXの第2の成分xは1に等しく(すなわち、x=1)、慣例により、アクターCの繰返ベクトルXの唯一の成分xは1に等しい(すなわち、x=1)。この新たな接続において、アクターBはトークンを生産し、このことはr=1であることを意味し、アクターCは2つのトークンを消費し、このことはr=2であることを意味する。初期グラフG3に対応する繰返ベクトルXはX=(1 1)であることが、上で示された。接続から得られた新たな繰返ベクトルX’を計算するためには、上の式(3)を証明する2つの自然数cおよびcを見つければ十分である。式(3)中の既知の変数を置き換えることによって、c=2cが与えられる。その上、c=2およびc=1を選ぶことによって、最小繰返ベクトルが判定され得る。したがって、新たな繰返ベクトルX’中の、アクターBおよびCに対応する値は、それぞれ、x*=c=2およびx*=c=1である。このケースでは、整合性のプロパティは、上で言及した比率で保存される。その上、上の推論によると、アクターAに対応する繰返ベクトルの成分も変えられなければならない。したがって、アクターBおよびCの接続の後、図3のグラフの新たな繰返ベクトルX’はX’=(2 2 1)である。
【0052】
図3のグラフG4について、新たなトポロジー行列Γを計算する必要はまったくないことに留意されたい。係数cおよびcを見つけ、次いで、上記推論を適用するだけで十分である。それにもかかわらず、上で見つかった新たな繰返ベクトルX’=(2 2 1)は、
【数5】
によって与えられるトポロジー行列で、式(2)を満たすことに留意されたい。
【0053】
以降、成分xの起点アクターaおよび成分xの目標アクターaと呼ばれる2つのアクターが接続される一般的ケースについて、式(3)を満たすように係数cおよびcを選ぶ1つのやり方について示す。特に、c=x/rおよびc=x/rを選ぶことによって、また、それらを式(3)中で置き換えることによって、
【数6】
が与えられる。
【0054】
この式は当然ながら、常に真である。ただし、このパラメータ選択は、係数cおよびcについての値全体を保証するわけではない。したがって、これらの係数が全体的であるためには、上の等式(5)が、生産rおよび消費rレートの最小公倍数ppcmで乗算され、それぞれ、起点および目標アクターの成分xおよびxの最大公約数pgcdによって除算される。こうすることにより、
【数7】
の生産係数cおよび消費係数cが与えられる。
【0055】
式(6)による係数cおよびcは、式(3)の整合性の条件を満たす。
【0056】
最小繰返ベクトルを判定するために、繰返ベクトルの初期成分は、それらの最大公約数
【数8】
によって定義される係数で乗算されるだけである。
【0057】
式(7)中で定義される係数cおよびcは、当然ながら、等式(3)を証明する。たとえば、アクターaとaとの間に新たな接続が確立されると、グラフの整合性のプロパティを保存するために、アクターaに対応する繰返ベクトルの成分xがcで乗算され、アクターaに対応する成分xが係数cで乗算される。
【0058】
図4は、本発明の好ましい実施形態による、データフローシステムを検証するための方法のステップを示すフローチャートである。
【0059】
この方法では、データフローグラフの第1の現在の部分をデータフローグラフの第2の現在の部分に接続する、現在の単方向接続の整合性が証明される。
【0060】
ステップE1において、起点アクターaおよび目標アクターaを接続する現在の単方向接続が定義される。起点アクターaおよび目標アクターaは、それぞれ、データフローグラフの第1および第2の現在の部分に属する。起点アクターaおよび目標アクターaに関連付けられた起点成分x’および目標成分x”が定義される。概して、起点成分x’および目標成分x”は、それぞれ、グラフの第1および第2の現在の部分を表す単一の現在の繰返ベクトルX’に、またはグラフの第1および第2の現在の部分を表す2つの相異なる現在の繰返ベクトルX’およびX”に属し得ることに留意されたい。
【0061】
現在の単方向接続の定義は、起点アクターaに対しての生産レートrの、および目標アクターaに対しての消費レートrの割り当てを含む。
【0062】
たとえば、データフローグラフは構築中であると、および起点アクターaと目標アクターaとの間に新たな現在の接続が確立されると見なされ得る。このケースは、以下のtable 1(表1)に記述されるアルゴリズムにおいて要約される。このアルゴリズムでは、データフローグラフの第1および第2の現在の部分にそれぞれ対応する2つの繰返ベクトルX’およびX”が検討される。ベクトルX’の第iの成分のインデックスはiと記され、ベクトルX”の第jの成分のインデックスはjと記される。ベクトルX’の成分x’に対応する生産レートはrと記され、ベクトルX”の成分x”に対応する消費レートはrと記される。演算「ppcm」および「pgcd」は、それぞれ、「lcm」および「gcd」と記される。その上、新たなグラフに対応する、得られた繰返ベクトルは、Xと記される。
【0063】
【表1】
【0064】
ステップE2において、無意味な演算を回避するために、現在の単方向接続の局所整合性のインジケータ(アルゴリズムの行1)が、最初に証明される。局所整合性のこのインジケータは、生産レートrかける起点成分xの積が、消費レートrかける目標成分xの積と等しい(すなわち、r*x=r*x)かどうかを調べる。このテストの結果にかかわらず、2つのケースが以下のステップにおいて検討される。2つのアクターが2つの異なる繰返ベクトルに由来する、すなわち、新たな接続の前には2つのアクターの間に接続がなかった第1のケース、および2つのアクターが同じグラフに由来する、すなわち、同じ繰返ベクトルを有する第2のケースである。これらの2つの異なるケースの結果に従って、データフローグラフの第1および第2の現在の部分を表す、得られる現在の繰返ベクトルが、ステップE4~E6またはE8~E9において定義される。
【0065】
実際、ステップE2のテストが肯定的である場合、すなわち、現在の単方向接続が局所整合性のインジケータを証明するケースでは、アルゴリズムの行2において、整合性フラグ(c_flag)が真であると見なされ、ステップE3が実践される。そうでない場合、ステップE7が実践される。
【0066】
ステップE3~E6は、現在の単方向接続が局所整合性のインジケータを証明するケースに関する。より具体的には、ステップE3は、起点アクターaおよび目標アクターaが、起点繰返ベクトルX’および目標繰返ベクトルX”と呼ばれる、2つの相異なる現在の繰返ベクトルに関連付けられているかどうかを証明するためのテストである(すなわち、現在の単方向接続の前には起点アクターaと目標アクターaとの間に接続がなかったケース)。yesの場合、ステップE4が実践され、そうでない場合、ステップE6が実践される。
【0067】
ステップE4は、2つのアクターが2つの異なる繰返ベクトルに由来し、新たな接続は整合性があるケースに関する。このケースでは、得られた現在の繰返ベクトルXは、起点繰返ベクトルX’および目標繰返ベクトルX”を連結することによって構築され、グラフが整合性ありと見なされるステップE5において停止する。これは、上記アルゴリズムの行3~6に対応する。
【0068】
ステップE6は、起点アクターaおよび目標アクターaが単一の現在の繰返ベクトルに関連付けられている(すなわち、同じグラフに由来する)ケースに関する。したがって、このケースでは、得られた現在の繰返ベクトルXは、単一の現在の繰返ベクトルX’に等しい。言い換えると、関連付けることが望まれる2つのアクターが、同じ繰返ベクトルに由来し、整合性のインジケータが真であるならば、単一の現在の繰返ベクトルX’は修正されず、グラフが整合性ありと見なされるステップE5において停止する。これは、上記アルゴリズムの行18~20に対応する。
【0069】
ただし、ステップE2の結果が否定である場合、すなわち、現在の単方向接続が局所整合性のインジケータを証明しない場合、ステップE7~E9が調べられる。
【0070】
ステップE7は、起点アクターaおよび目標アクターaが、起点繰返ベクトルX’および目標繰返ベクトルX”と呼ばれる2つの相異なる現在の繰返ベクトルに関連付けられているかどうかが証明されるステップE3のものと同様のテストである。noの場合、ステップE8が実践され、そうでない場合、ステップE10が実践される。
【0071】
ステップE8において、上の式(3)を証明する2つの自然数(すなわち、生産係数cおよび消費係数c)が計算される。言い換えると、新たな接続が整合性なしであれば、式(7)において定義される係数cおよびcは、上記アルゴリズムの行8~14において計算される。
【0072】
ステップE9において、得られた現在の繰返ベクトルX(アルゴリズムの行15)は、一方における、生産係数cで乗算した後の起点繰返ベクトルX’を、他方における、消費係数cで乗算した後の目標繰返ベクトルX”と連結することによって構築される。次いで、グラフが整合性ありと見なされるステップE5において停止する。
【0073】
ステップE10は、起点アクターaおよび目標アクターaが単一の現在の繰返ベクトルに関連付けられており(すなわち、アクターが同じグラフに由来する)、現在の単方向接続は非整合であると識別される(すなわち、得られたグラフは整合性がない)ケースに関する。これは、アルゴリズムの行22~24に対応する。
【0074】
図5は、図4の方法による、グラフの構築を概略的に示す。
【0075】
より具体的には、図5のグラフG5の構築は、上で示されたアルゴリズムの適用である。この例によると、4つのアクターA、B、CおよびDが作成され、それらの各々は繰返ベクトルX=(1)を有する。単方向接続は、(A→B)、(A→C)、(B→D)、および(C→D)の順序で確立される。接続(A→B)の後、アルゴリズムによる計算が、c=3、c=2およびX=(3 2)という値を与えるが、それは、2つのアクターが2つの異なる繰返ベクトルに由来するからである。同様に、接続(A→C)が確立されたとき、c=1、c=3およびX=(3 2 3)である。接続(B→D)は、アルゴリズム中の行12~14の重要性を際立たせる。実際、行12の前には、c=c=2である。ただし、これらの係数を使うことによって、行15でのように、繰返ベクトルXの更新中は、最小繰返ベクトルが取得されず、これは、係数をdで除算することの利益を説明する(行13および14)。アルゴリズムの行17および18に表されるケースは、繰返ベクトルが変わらない接続(C→D)を示し、同じことが、接続(C→D)、X=(3 2 3 1)の後で成り立つ。
【0076】
図5の例は実際には、所与のグラフG5へのアルゴリズムの適用を示す。この例に基づいて、行8~14は、最小繰返ベクトルを取得するのに必要な整数係数のセットを保証することが観察される。その上、本発明の方法による局所整合性の証明は、非常に有利には、要求される動作の数が最小までどのように削減されるかを示し、これは、特に、モジュール式アプリケーションのケースにおいて非常に有利である。
【0077】
図6は、本発明の方法による、2つの相異なるグラフの接続を概略的に示す。
【0078】
図6の例はモジュール式データフローアプリケーションであり、ここで、図5に示すデータフローグラフG5が、図3に示すデータフローグラフG4に追加されて、新たなグラフG6を形成する。整合性のプロパティは、2つのグラフG4およびG5についてすでに証明されているので、第1のグラフG4のアクターB1と第2のグラフG5のアクターB2との間の新たな接続のみが証明されなければならない。上記アルゴリズムを、入力X’=(2 2 1)、X”=(3 2 3 1)、i=2、j=2、r=1、およびr=5とともに適用することによって、c=5およびc=1が与えられる。アルゴリズムの出力によって与えられる、得られた繰返ベクトルは、X=(10 10 5 3 2 3 1)である。グラフG6の得られた現在の繰返ベクトルXは、生産係数c=5で乗算した後のグラフG4の第1の繰返ベクトルX’を、グラフG5の第2の繰返ベクトルX”と連結することによって構築されることに留意されたい。消費係数c=1なので、最後の4つの成分は、第2の繰返ベクトルX”のものと同一であることに留意されたい。
【0079】
図6の例は実際には、2つの整合グラフG4およびG5が接続されると、本発明による方法が、整合性のプロパティを局所的に証明できるようにし、そうすることによって、もはや、得られたグラフG6の整合性を証明し直す必要がないことを示す。実際、本発明による方法は、新たな接続を証明し、2つの初期繰返ベクトルから、得られた繰返ベクトルを演繹するだけである。これは、新たなトポロジー行列が計算されなければならず、新たな行列式が解かれなければならない、従来技術の従来の方法に対して、非常に重要な利点である。
【0080】
その上、図6に記載されるモジュール式アプリケーションは、3つのアクターが最初に作成され、互いに接続される第1の部分グラフG4の構築、次いで、4つの他のアクターが作成され、互いに接続される、第2の部分グラフG5の構築として見ることもでき、最終的には、2つの部分グラフG4およびG5が互いに接続されて、得られるグラフG6を形成する。
【0081】
整合性は、その唯一の成分xが1に等しい追加繰返ベクトルを各追加目標アクターaに割り当てることによって、各部分グラフG4、G5の構築中に証明されることに留意されたい。追加目標アクターaは、現在の単方向接続によって、構築されるデータフロー部分グラフに属す起点アクターaに接続される。
【0082】
図7は、本発明の好ましい実施形態による、消去の動作を含む検証方法のステップを示すフローチャートである。
【0083】
この方法では、データフローグラフの整合性は、このグラフからの単方向接続の消去中に証明される。
【0084】
ステップE21において、所与の接続がデータフローグラフから消去される。
【0085】
ステップE22は、初期データフローグラフが2つの相異なる部分に分かれるかどうかを証明するためのテストである。データフローグラフが2つの相異なる部分に分かれる場合、ステップE23が実践され、そうでない場合、ステップE26が実践される。
【0086】
ステップE23は、単方向接続の消去の後、データフローグラフが第1および第2のデータフロー部分グラフに分かれるケースに関する。このケースでは、第1の繰返ベクトルX’が、第1のデータフロー部分グラフに対して初期繰返ベクトルの成分をまとめることによって構築され、第2の繰返ベクトルX”が、第2のデータフロー部分グラフに対して初期繰返ベクトルの成分をまとめることによって構築される。
【0087】
任意選択で、ステップE24において、第1の繰返ベクトルX’を、その成分のgcdで除算することによって、また、第2の繰返ベクトルX”を、その成分のgcdで除算することによって、第1および第2の最小繰返ベクトルX*およびX**が構築される。
【0088】
ステップE25において、2つの相異なる、整合性があるデータフローグラフが取得される。
【0089】
ステップE26は、単方向接続の消去の後、データフローグラフが接続されたままであるケースに関する。このケースでは、初期繰返ベクトルはしたがって、修正されない。
【0090】
ステップE27において、依然として単一の整合グラフがある。
【0091】
図8は、本発明の好ましい実施形態による、修正の動作を含む検証方法のステップを示すフローチャートである。
【0092】
この方法では、データフローグラフの整合性は、このグラフの単方向接続の修正中に証明される。
【0093】
ステップE31において、データフローグラフの所与の接続が、この単方向接続によって接続された起点アクターaおよび目標アクターaに対する新たな生産レートr’および消費レートr’を割り当てることによって修正される。
【0094】
ステップE32において、図7の方法のステップによる単方向接続の消去の動作が適用される。
【0095】
ステップE33において、新たな生産レートr’および消費レートr’による、図4の方法によって記述される単方向接続の追加の動作が適用される。
【0096】
ステップE34において、修正された整合性のあるグラフが取得される。
【0097】
上に提示した例および実施形態は、整合性のプロパティの局所的証明の利点を際立たせる。検討される例では、トポロジー行列の計算は必要ないこと、および最小繰返ベクトルが非常に効率的に、また、非常にわずかな計算で見つけられ得ることがわかり得る。別の利点は、非整合要素が識別され得ること、およびその整合性を決定するために、グラフ全体を再考する必要がないことにある。
【0098】
その上、本発明による方法は、データフローグラフの構築中に、増分的に適用され得ることに留意されたい。代替として、グラフの構築後に、その接続の各々に適用されてもよい。
【0099】
本発明は、データフローをもつシステムすべてに適用される。特に、デジタル信号を処理するためのシステムに適用される。実際、処理システムは、単方向通信接続によって互いに接続されたアクターを含むデータフローシステムによってモデル化され得る。各アクターは、入力データを受信するように、および出力データを送達するように構成される。
【0100】
たとえば、デジタル信号を処理するためのシステムは、医療撮像システム、コンピュータビジョンシステム、ビデオ符号化および圧縮システム、オーディオサンプリング周波数をコンバートするためのシステム、ワイヤレス通信システム用のツールを設計するためのシステム、搭載システムなどであってよい。
【0101】
したがって、信号を処理するためのシステムは、グラフの構築中に適用され得る増分的手法に従って構築されるデータフローグラフによってモデル化され得る。非整合グラフの構築は、非整合要素が識別されるとすぐに停止され得る。
【0102】
その上、信号を処理するためのシステムのモデル化は、モジュール式に実践され得る。車両における搭載型衝突防止システムをモデル化することが所望され、カメラビジョンモジュールにレーダモジュールを追加することが所望されると仮定する。レーダおよびビジョンモジュールの各々は、整合グラフによって記述されると仮定する。2つのモジュールの組合せの整合性は、2つのグラフの間の接続の追加など、組合せによって生成された修正のみを証明することによって、本発明に従って判定することができ、したがって、整合性を証明するのに要求される動作の数を削減することができる。
【0103】
図9は、本発明による、マルチチャネル音声強調デバイスをモデル化するデータフローシステムにおける整合性の証明を例として示す。
【0104】
マルチチャネル音声強調デバイス21は、4つのマイクロフォンM1~M4からなるネットワークに接続される。これらの4つのマイクロフォンM1~M4に由来するノイズのある信号は、デバイス21中に備えられる信号処理ユニット23、25、27および29のセットによって処理されて、出力31において強調音声の信号が抽出される。実際、音声強調デバイス21は、時間的整列または同期のためのユニット23、短時間フーリエ変換(STFT)ユニット25、ポストフィルタリングで信号を改良するためのユニット27および追加または合成のためのユニット29を含む。
【0105】
特に、ポストフィルタリングでの音声強調のためのユニット27は、第1のMVDR(最小分散無歪応答)空間フィルタリングモジュール33、ポストフィルタリングを推定するための第2のモジュール35および第3のポストフィルタリングモジュール37を含む。フーリエ変換ユニット25に由来する信号e1~e4は、一方では第1の空間フィルタリングモジュール33(ビームフォーマ)中に、および他方ではポストフィルタリングを推定するための第2のモジュール35に注入される。その上、第1のモジュール33および第2のモジュール35の出力信号は、第3のポストフィルタリングモジュール37に注入され、後者の出力信号は合成ユニット29に注入される。モジュール33、35および37の各々は、アクターのセットを含み得ることに留意されたい。したがって、ポストフィルタリングモジュール37は、本発明の方法による、アクターすべてについて整合性のプロパティが証明されるデータフローグラフによってモデル化され得る。
【0106】
その上、整合性のプロパティが、このアプリケーションのモジュール33、35、37すべてについて証明されると、それらのうちのいくつかは修正されてよい。たとえば、マルチチャネル音声強調アプリケーションは、ポストフィルタリングモジュール37用にMcCowanポストフィルタを使うと仮定する。このフィルタは、ノイズのスペクトル密度の、より正確な推定を取得するために、Wienerポストフィルタによって置き換えられてよい。このケースでは、モジュールすべてについて整合性のプロパティをもう一度証明する必要はない。実際、新たなポストフィルタリングモジュールが整合性のプロパティを証明する場合、このことは、他のモジュールの整合性のプロパティに影響せず、そこから、アプリケーション全体が、本発明の方法に従って、整合性のプロパティを証明すると結論付けられる。
【符号の説明】
【0107】
1 検証デバイス、3 計算器,コンピュータ、5 マイクロプロセッサ、7 メモリ、9 獲得モジュール、11 監視モジュール、21 マルチチャネル音声強調デバイス、23 信号処理ユニット、25 信号処理ユニット,フーリエ変換ユニット、27 信号処理ユニット、29 信号処理ユニット,合成ユニット、31 出力、33 第1のMVDR(最小分散無歪応答)空間フィルタリングモジュール、35 第2のモジュール、37 第3のポストフィルタリングモジュール
(参考文献)
1. Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proceedings of the IEEE 75(9), 1235{1245 (1987).
2. Lee, E.A., Messerschmitt, D.G.: Static scheduling of synchronous data flow programs for digital signal processing; IEEE Transactions on computers 100(1), 24{35 (1987).
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7
図8
図9A
図9B