JP4892354B2 - グラフィカルプログラミング環境における入力データのブロック処理 - Google Patents

グラフィカルプログラミング環境における入力データのブロック処理 Download PDF

Info

Publication number
JP4892354B2
JP4892354B2 JP2006547439A JP2006547439A JP4892354B2 JP 4892354 B2 JP4892354 B2 JP 4892354B2 JP 2006547439 A JP2006547439 A JP 2006547439A JP 2006547439 A JP2006547439 A JP 2006547439A JP 4892354 B2 JP4892354 B2 JP 4892354B2
Authority
JP
Japan
Prior art keywords
block
data
input data
processing
blocks
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.)
Active
Application number
JP2006547439A
Other languages
English (en)
Other versions
JP2007524156A (ja
Inventor
ホーマン ザリンコーブ,
ドナルド, ポール, 2世 オリフィーノ,
ナーバン ルースラモールシー,
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.)
MathWorks Inc
Original Assignee
MathWorks Inc
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 MathWorks Inc filed Critical MathWorks Inc
Publication of JP2007524156A publication Critical patent/JP2007524156A/ja
Application granted granted Critical
Publication of JP4892354B2 publication Critical patent/JP4892354B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

関連出願
本出願は、その内容が本願中に引用をもって援用された、2003年12月22日提出の米国特許出願第10/744,654号の利益を主張するものである。
本発明は、概略的にはグラフィカルプログラミング環境に関し、より詳細には、グラフィカルプログラミング環境における入力データのブロック処理の実行方法及びシステムに関する。前記入力データのブロック処理においては、入力データが、前記入力データのより小さな部分である複数のデータブロックに分割され、前記複数のデータブロックがそれぞれ処理される。
コンピュータ、マイクロコントローラ、FPGA及びカスタムハードウェアなどの特定用途向け計算ハードウェア上で実行可能な計算が記述されたブロック図には、様々な種類がある。そのような多様なブロック図には、マサチューセッツ州ネーティックのThe MathWorks社製のSimulink(登録商標)などの時間ベースブロック図、マサチューセッツ州ネーティックのThe MathWorks社製のStateflow(登録商標)などの状態ベースフローチャート及びデータフロー図が含まれる。これらの様々な形のブロック図は、これらの図を実行する方法が記されているという点で共通している。
これまでに、技術者や科学者らは、フィードバック制御理論及び信号処理などの数多くの科学的分野において、時間ベースブロック図を用いて動的システムを学習、設計、デバッグ及び改良してきた。挙動が経時的に変化する特徴を持つ動的システムは、実社会における多くのシステムを代表するシステムである。Simulink(登録商標)などのソフトウェアパッケージの出現により、時間ベースブロック図によるモデリングの重要性は、ここ数年の間に一層高まっている。これらのパッケージが提供する洗練されたソフトウェアプラットフォームに含まれる充実した支援ツールにより、動的システムの分析及び設計を効率的、体系的にかつ低コストで行うことが可能である。
動的システムとは(それが自然のものであっても人工のものであっても)、その応答が、いかなる所定の時点においても、加えられた刺激、その現在の状態及び現在の時点の関数であるシステムである。そのようなシステムは、単純なシステムから高度に複雑なシステムまで多岐にわたる。物理的な動的システムには、落下物体、地球の自転、(筋肉、関節などの)生体力学システム、(遺伝子の発現、タンパク質経路などの)生化学的システム、気象及び気候パターンシステムなどが含まれる。人工の又は工学的な動的システムの例には、弾むボール、片端に分銅が結び付けられたばね、自動車、航空機、大型電化製品の制御システム、通信ネットワーク、可聴信号処理、原子炉、株式市場などが含まれる。工学、自然科学、教育及び経済学などの様々な分野の専門家らは、動的システムの数学的モデルを構築することにより、前記システムの時間の経過に伴う挙動の変化をよりよく理解しようとする。そのような数学的モデルは「より優れた」システムの構築を支援するが、ここで「より優れた」とは、例えば品質、製品化までの時間、コスト、速さ、大きさ、電力消費、堅牢性などの様々な特性の基準によって定義されうる。これらの数学的モデルは、(人体又は自動車のアンチロックブレーキシステムなどの)既存のシステムの分析、デバッグ及び修理も支援する。これらのモデルは、物理的システムを司る原理に基づいて他者を教育する目的を果たす場合もある。これらのモデル及び結果は、多くの場合、人間同士の科学的コミュニケーション媒体として利用される。「モデルベースデザイン」という用語は、動的システムの開発、分析及び検証におけるブロック図モデルの利用を意味するものとして用いられる。
グラフィカルプログラミング環境が、データを入力して所望の出力データセットを得る一連のデータ操作を実行する複数のカスケード状の構成要素からなるデータ処理システムを実装するためのツールを提供する場合もある。多くの用途においては、そのようなデータ処理システムは、入力データの処理をリアルタイムに実行して出力データを生成するために必要とされる。
イメージ又はビデオ処理システムを含めた多くの用途においては、入力データは多次元のマトリックスを持ち、大量の処理対象のデータを含む。そのような大量の信号の処理済みのコピーを一時的に記憶するには、大きなメモリ容量が必要とされる。或いは、上記動作を、入力信号をデータブロックと呼ばれるより小さな複数のセグメントに分割し、各データブロックに対して同じ処理を行って、処理された信号を再構築することによって実行することも可能である。このような種類の処理はブロック処理として知られている。ブロック処理では、データブロックのサイズが入力信号よりもはるかに小さいので、一時的記憶に要するメモリ容量が大幅に減少される。
発明の概要
本発明は、グラフィカルプログラミング環境における入力データのブロック処理を実行するための方法及びシステムを提供する。本発明のブロック処理においては、入力データはいかなる次元数を有してもよい。処理対象の入力信号は、複数のデータブロックに分割される。ユーザが入力データのデータブロックへの分割方法を指定してもよく、例えば処理対象の入力データのサイズ及びデータブロックのサイズをデザインすることで、入力信号がある総数の処理対象のデータブロックへと分割されてもよい。入力データの各ブロックを処理するためのデータ処理関数をユーザが指定してもよい。処理済みのデータの複数のブロックは、再構築されて出力データを生成する。出力データのサイズが入力データのサイズよりも小さいか又はこれと等しい場合には、本発明は、処理済みのデータのブロックが入力データのブロックに上書きされる、入力データのインプレースブロック処理を実行することが可能である。本発明のブロック処理における入力データの処理に要するメモリ領域が節約されるように、出力データと入力データとがメモリ領域を共有してもよい。
本発明の一局面によれば、グラフィカルプログラミング環境を提供する電子装置における入力データのブロック処理を実行するための一方法が提供される。図形要素が前記電子装置のディスプレイ上に表示され、前記図形要素にデータを入力できるようになっている。前記図形要素は、入力データのブロック処理を実行するブロック処理モデルを表している。ユーザによる前記図形要素の操作に応答して、前記ブロック処理モデルの制御データを入力するためのユーザインターフェースが設けられる。前記制御データは、前記ブロック処理モデルの動作モードを設定する。前記ブロック処理モデルは、前記ブロック処理モデルの前記制御データに基づき、前記入力データのブロック処理を実行する。
本発明の別の一局面によれば、グラフィカルプログラミング環境を提供する電子装置における入力データのブロック処理を実行するための一方法が提供される。入力データが、ユーザによって入力された制御データに基づき、複数のブロックに分割される。あるブロックを前記入力信号内で特定するために、前記入力データの前記ブロックに対してインデックスが生成される。前記データブロックは、前記ブロックの前記インデックスに基づいて選択され、処理される。処理された前記データは、出力データ内のある位置へと割り当てられるが、前記出力データ内での前記処理されたデータの位置は、前記ブロックの前記インデックスによって決定される。
本発明の更に別の一局面によれば、入力データのブロック処理を実行するためのシステムが提供される。前記システムは、グラフィカルプログラミング環境を提供する電子装置内で実装される。前記システムには、前記入力データを受け取り、前記入力データを複数のデータブロックに分割するためのイテレータが含まれる。前記システムには、前記入力データの一ブロックを処理するためのデータ処理装置も含まれる。前記イテレータは、前記データ処理装置が前記複数のブロックのそれぞれについて前記入力データのデータ処理を繰り返すことを可能にする。
本発明の更に別の一局面によれば、グラフィカルプログラミング環境を提供する電子装置における入力データのブロック処理を実行するためのシステムが提供される。前記システムには、前記入力データの各ブロックのポインタを繰り返し生成するためのポインタジェネレータが含まれる。前記システムには、前記ポインタによって指定された前記入力データの各ブロックを処理するためのデータ処理装置も含まれる。前記ポインタは、メモリ領域内での各データブロックの位置を表す。
本発明は、入力データのブロック処理により、大量のデータのリアルタイムでの処理を可能にする。更に、本発明は、前記入力データのサイズが出力データのサイズよりも大きいか又はこれと等しい場合に、前記入力データのインプレース処理を可能にする。この結果、本発明は、前記入力データの処理に要するメモリ領域を節減させる。
発明の詳細な説明
本発明の実施例は、電子装置によって提供されるブロック図プログラミング環境などのグラフィカルプログラミング環境に関する。ブロック図とは、実社会におけるシステムを、弧(線と呼ばれる)によって相互に接続された、図式を含む複数のノード(ブロックと呼ばれる)を用いて表したものである。ブロックは、前記システムによって処理されるデータに対する操作を実行する機能的実体である。線は、前記様々なブロック間でのデータ(信号と呼ばれる)の伝送を表す。ブロック図がグラフィカルプログラミング環境の一例であり、本発明を例えば状態フローチャートプログラミング環境などの別の種類のグラフィカルプログラミング環境に応用可能であることが当業者に理解されよう。
本発明の実施例のグラフィカルプログラミング環境は、入力データのブロック処理を実行するブロック処理ブロックを提供する。ブロック処理ブロックは、前記ブロック図環境における機能ノードであり、入力データ全体を一度に処理するのではなく、前記入力データをデータブロックと呼ばれるセクション(前記入力信号のより小さな部分)単位で処理する。ブロック処理ブロックは、前記入力データを受け取り、前記ブロック処理ブロックによる処理対象の前記入力データを複数のブロックに分割する。ブロック処理ブロックは、前記入力データの各ブロックを繰り返し処理し、この結果生じた処理済みデータの複数のブロックを結合させて出力データを生成する。本発明の実施例では、ブロック処理ブロックが単一のブロック内に設けられているが、前記ブロック処理が、ブロック処理ブロックの複数の構成要素を含んでもよい複数のブロック単位で実行されてもよいことが当業者に理解されよう。
ブロック処理ブロックは、ユーザによる前記ブロック処理ブロックの動作モードの選択に基づき、入力データのデータ処理を複数のブロックで実行する。前記ブロック処理ブロックの前記動作モードは、データブロックのサイズや処理対象の入力データのサイズなどの前記ブロック処理ブロックのパラメータを入力するユーザによって決定される。出力データのサイズが入力データのサイズよりも小さいか又はこれと等しい場合には、前記ブロック処理ブロックが前記入力データのインプレース処理を実行してもよい。入力データのインプレースブロック処理では、処理済みのデータのブロックが入力データのブロックに上書きされる。この結果、出力データがメモリ領域を入力データと共有するので、前記出力データに要するメモリ領域が節減される。
図1は、本発明の実施例のモデルを表すために複数のブロックが利用されるグラフィカルプログラミング環境の一例である。環境100には、ブロックライブラリブロック110、エディタ120、シミュレータ130及びコードジェネレータ140が含まれる。コードジェネレータ140が、本発明の実施例のモデル向けのソースコードを生成してもよい。
ブロックライブラリ110には、システムのモデリング及びシミュレーションを支援する特定用途向けモデルの複数のブロックが含まれる。ブロックライブラリ110内の複数のブロックは、モデリング及びシミュレーションツール130を用いてデザインされたシステムのモデルに組み込まれる。ブロックライブラリ100から供給されるブロックは、本発明の実施例においては長方形のブロックで表される。モデルが他の図形記号又は文字記号で表されてもよいことが当業者に理解されよう。ブロックライブラリ110から供給されるモデルブロックには、入力データをブロック単位で処理するためのブロック処理ブロック300(図3を参照のこと)が含まれる。ブロックライブラリ110に、ブロック処理関数を実行するために組み合わせることの可能な、ブロック処理ブロックの複数の構成要素ブロックが更に含まれてもよい。本発明の実施例のブロック処理が、前記ブロック処理ブロックの複数の構成要素が含まれてもよい複数のブロック単位で実行されてもよいことが当業者に理解されよう。ブロックライブラリ110の例として、マサチューセッツ州ネーティックのThe MathWorks社製のSimulink(登録商標)BlocksetシリーズのDSP Blockset、Fixed−point Blockset及びCommunications Blocksetなどが挙げられる。Blocksetシリーズは、対象システム及び前記対象システムのサブシステム向けモデルの開発及び組み込みのためのモデル及びユーティリティを提供する。
エディタ120及びシミュレータ130は、対象システムのモデリング、シミュレーション及び分析のためのグラフィカルシミュレーション及びプロトタイピング環境を提供する。エディタ120は、ブロックライブラリ110から供給された複数のブロックを対象システムに組み込む。エディタ120によってデザインされた対象システムは、前記デザインされた対象システムの挙動を分析するために、シミュレータ130によってシミュレートされる。エディタ120及びシミュレータ130の例として、マサチューセッツ州ネーティックのThe MathWorks社製のSimulink(登録商標)が挙げられる。BlocksetはSimulink(登録商標)上で動作する。
Simulink(登録商標)は、ユーザが対象システムのブロック図をデザインし、前記システムの挙動をシミュレートし、前記システムの性能を分析し、前記システムのデザインを改良することを可能にする。Simulink(登録商標)は、ユーザが対象システムのブロック図モデルの製図を可能にするユーザインターフェースを使用して対象システムをデザインすることを可能にする。ブロックライブラリ110内の全てのブロックは、ユーザが対象システムのブロック図を作成する際にユーザによって使用可能である。各ユーザが、このモデルブロックをカスタマイズして、(a)ブロックを何らかのカスタムフォーマットに再構成し、(b)使用していないブロックを削除し、(c)自らがデザインしたカスタムブロックを追加することが可能であってもよい。ブロックが、ブロックライブラリ110から、(マウス又はキーボードなどの)何らかの人間−機械インターフェースを用いてウィンドウ(即ちモデル描画面)へとドラッグされてもよい。Simulink(登録商標)には、対象システムのブロック図表現を描く、編集する、注釈を付ける、保存する、印刷するなどの作業をユーザが実行できるようにするブロック図エディタが含まれる。ブロック図エディタは、ユーザによるブロック図モデルの下書きを可能にする、グラフィカルユーザインターフェース(GUI)の構成要素である。Simulink(登録商標)には、グラフィカルエディタとの対話を可能にする命令セットを有する文字インターフェースも含まれる。ユーザは、この文字インターフェースを用いて、ブロック図の編集作業を自動的に実行する特定のスクリプトを書くことが可能である。Simulink(登録商標)は、ユーザが前記デザインした対象システムをシミュレートして、前記システムの挙動を判定することも可能にする。Simulink(登録商標)には、ブロック図をコンパイル及びリンクして、コード生成及び/又はブロック図モデルのシミュレーションに使用される前記モデルの「メモリ内実行可能な」バージョンを作成するタスクを実行するブロック図実行エンジンが含まれる。
コードジェネレータ140は、エディタ120を用いてデザインされたモデルのブロック図から、カスタマイズ可能なCコードディレクトリを生成する。コードジェネレータ140は、ソースコードを自動的に生成することにより、エディタ120内でデザインされたモデルの迅速なプロトタイピング、ハードウェアインザループシミュレーション及び迅速なデスクトップシミュレーションを可能にする。コード生成ツール140が、組み込まれたシステムアプリケーション向けの有効なソースコードを生成してもよい。ソースコードが、コードジェネレータ140内で生成されるコードの一例であり、コードジェネレータ140が、前記モデル向けの例えばAdaなどの別のコードを生成してもよいことが当業者に理解されよう。マサチューセッツ州ネーティックのThe Mathworks社製のReal−Time Workshopは、コード生成ツール140の一例である。
グラフィカルプログラミング環境100がブロック図プログラミング環境に限定されず、例えば状態フローチャートのグラフィカルプログラミング環境などのいかなるその他のグラフィカルプログラミング環境も含むことが当業者に理解されよう。マサチューセッツ州ネーティックのThe Mathworks社製のStateflow(登録商標)は、状態フローチャートモデリング環境の一例を提供する。Stateflow(登録商標)は、イベント駆動型モデルのモデリング及びデザインのためのグラフィカルな環境を提供する。Stateflow(登録商標)は、複数のモデルの階層的なかつ並列な状態と、前記複数の状態間のイベント駆動型の遷移とをグラフィカルに表現する状態フローチャートをユーザが作成することを可能にする。Stateflow(登録商標)とシームレスにインターフェースされたSimulink(登録商標)が、Stateflow(登録商標)によって作成された状態フローチャートに基づいてモデルを実行し、前記モデルの挙動を分析してもよい。
図2は、本発明の実施例の実施に適した電子装置200の一例である。電子装置200には、ネットワークインターフェース230と、モデム240と、補助記憶装置250と、主記憶装置260と、マイクロプロセッサ270と、モニタ280と、キーボード/マウス290とが含まれる。マイクロプロセッサ270は、グラフィカルプログラミング環境100内のソフトウェアツールが適切に実行されるように、電子装置200の各構成要素を制御する。電子装置200は、キーボード/マウス290を介して、例えばブロック処理ブロック300の動作モードを設定するための制御データなどの、対象システムのデザイン及びシミュレーションの制御に必要なデータを受け取る(図3を参照のこと)。電子装置200は、グラフィカルプログラミング環境100内で生成された結果を、モニタ280に表示する。主記憶装置260は、電子装置200の動作及びグラフィカルプログラミング環境100の実行のためにマイクロプロセッサ270によって迅速にアクセスされることを要するコードを補助記憶装置250から取り出し、これをマイクロプロセッサ270へと送る。補助記憶装置250は通常、アプリケーション向けのソフトウェアツールを格納している。詳細には、補助記憶装置250には、ブロックライブラリ110用のコード251と、エディタ120用のコード252と、シミュレータ130用のコード253とが含まれる。ネットワークインターフェース230及びモデム240は、電子装置200が、例えばインターネット、イントラネット、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)及びMAN(メトロポリタンエリアネットワーク)などの通信ネットワークを介して他の電子装置と通信を行うことを可能にする。このような通信機能により、本発明の分散実装が可能であってもよい。
図3は、図1に図示された本発明の実施例のグラフィカルプログラミング環境100内のブロックライブラリ110によって提供されるブロック処理ブロック300の一例である。ブロック処理ブロック300は、グラフィカルプログラミング環境内でブロック処理動作を実行可能な反復システムを実装する。ブロック処理ブロック300は、入力データを受け取って出力データを生成する。入力データがいかなる次元数を有してもよい。例えば、イメージ又はビデオ処理システムにおいては、入力データはマトリックスの次元数を有し、大量の処理対象のデータを含む。ブロック処理ブロック300には、入力データに対するデータ処理関数を実行するデータ処理装置310を表すサブブロックが含まれる。データ処理装置310の前記データ処理関数が、ユーザによって特定されてもよい。例えば、ブロック処理ブロック300は、単一のDCT(離散コサイン変換)データ処理装置310を用いて、512×512入力データの各8×8ブロックを処理する。
ブロック処理ブロック300は、入力データを複数のブロックに分割し、前記入力データの各ブロックをデータ処理装置310に送り、処理済みの前記データの各ブロックを出力データ内の適切な位置へと配置することによって、出力データを作成する。ブロック処理ブロック300の動作モードは、ブロック処理ブロック300の、例えばブロックのサイズや、入力データのうちでブロック処理が実行される範囲などのパラメータを特定するユーザによって決定される。ブロック処理ブロック300の前記パラメータは、図4を参照してより詳細に説明される。ブロック処理ブロック300の予め定められた動作モードに基づき、入力データ全体又は入力データの一部分が複数のブロックに分割される。データ処理装置310によって、前記入力データの各ブロックに対してデータ処理関数が実行される。前記入力データの前記複数のブロックの処理に伴って、前記処理済みのデータの複数のブロックを同じ順序で再びアセンブルすることにより、出力データが再構成される。
ブロック処理ブロック300を、イメージ圧縮及び音声コーディングを含めた数多くの用途に利用してもよい。JPEG(ジョイント・フォトグラフィック・エキスパート・グループ)イメージ圧縮法においては、入力された大量のイメージデータがブロック処理によって圧縮可能であるようなJPEGイメージ圧縮アルゴリズムを実行するように、データ処理装置310が選択されてもよい。圧縮段階においては、入力されたイメージは複数のブロックに分割され、各ブロックは、DCT(離散コサイン変換)変換を実行するデータ処理装置310によって処理される。復元段階においては、各ブロックに対して逆DCTが実行され、最終的に出力データが再構成される。ブロック処理ブロック300をMPEG(ムービング・ピクチャー・エキスパート・グループ)ビデオ圧縮で用いてもよいことが当業者に理解されよう。音声コーディングの場合には、音声信号が10乃至30ミリ秒のフレーム内で処理される。通常は、入力されたフレームは2乃至4個のサブフレームに細分化され、データ処理装置310がこれらのサブフレームのサンプルに対して同じ一連の動作を実行可能である。これらの音声コーディングサブフレームのサンプルが、サブフレーム境界をまたいで重複していてもよい。この重複は、下記に図5Aを参照しながらより詳細に説明される。
図4は、図3に図示された本発明の実施例におけるブロック処理ブロック300の動作モードを設定するためにブロック処理ブロック300にパラメータを入力するためのグラフィカル・ユーザインターフェース(GUI)400の一例である。GUI400が例示的なものであり、ブロック処理ブロック300のパラメータが、例えばコマンドラインインターフェースなどのテキストユーザインターフェースを介して入力されてもよいことが当業者に理解されよう。GUI400は、ユーザがブロック処理ブロック300のパラメータを入力するための幾つかの空白を提供する。前記パラメータに、ブロック当たりの行数410、ブロック当たりの列数420、重複行430、重複列440、入力データのサイズ450及び境界値460が含まれてもよい。GUI400における前記パラメータが例示的なものであり、GUI400が、例えばデータ処理装置310のデータ処理関数や、入力データを処理する複数のブロックの順序などの更なるパラメータを入力するための空白を提供してもよいことが当業者に理解されよう。入力データを処理する複数のブロックの順序については、下記に図5C乃至5Eを参照しながらより詳細に説明する。
ブロック当たりの行数410及びブロック当たりの列数420は、入力データ内のブロックのサイズを決定する。GUI400に、ブロックのサイズを決定する、例えば処理対象の入力データの行方向のブロックの数及び処理対象の入力データの列方向のブロックの数などの別のパラメータ群が含まれてもよいことが、当業者に理解されよう。
重複行430及び重複列440は、各ブロックと隣接するブロックとの重複を決定する。これらの重複は、ブロック処理の際にその値が考慮されるデータブロックの外側の余分な行及び列である。図5Aは、入力データ内の各ブロックの重複行及び列を説明する入力データの一例である。図5Aでは、本発明の実施例の入力データが複数のデータブロックに分割されており、これらのデータブロックは、8×8マトリックスサイズである。入力データの各ブロックは、隣接するブロックと2列及び1行ずつ重複している。各8×8ブロックは、上下が1行ずつ、左右が2列ずつ重複している。陰影をつけた部分520が重複を表す。GUI400に、パディングのための境界値460を入力する空白が含まれてもよい。図5Bは、本発明の実施例における入力データのパディング過程を説明する入力データの一例である。入力データは、複数のブロックに分割され、各ブロックは8×8マトリックスサイズである。これらのブロックが入力データと完全に一致しない場合には、ブロックが処理対象の入力データと一致するように、入力データの下側及び右側の陰影をつけた範囲530にパディング値が付加される。更に、図5Aに図示された重複が、入力データの境界510を超えて拡張される。このパディング過程では、入力データの境界510の外側の重複520にもパディング値が付加される。
処理対象の入力データを処理する複数のブロックの順序を、ユーザがコード語生成関数であるインデックスジェネレータを選択することによって選択してもよい。これらのデータブロックが、ユーザが特定するいかなる任意の順序で処理されてもよい。例えば、これらのブロックが、図5C乃至5Eにそれぞれ図示されるように、水平(行)方向、垂直(列)方向又はジグザグ方向に処理されてもよい。図5C乃至5Eに図示される順序が例示的なものであり、これらのブロックが、例えば主対角線方向及び副対角線方向などのその他の順序で処理されてもよいことが当業者に理解されよう。これらのブロックが、ユーザが規定した順序で処理されてもよい。例えば、ユーザがブロックを処理するための「1、3、5、7、9・・・」などの特定の順序を入力すると、入力データのブロックは、ブロック1、ブロック3、ブロック5、ブロック7、ブロック9・・・の順序で処理される。
図6は、本発明の実施例における入力データのブロック処理を実行するブロック処理ブロック600の一例である。ブロック処理ブロック600には、イテレータ610とデータ処理装置620とが含まれる。イテレータ610は、入力データを受け取って出力データを出力する。ユーザが選択したブロック処理ブロック600の動作モードに基づき、イテレータ610は、処理対象の入力データの一ブロックを選択して、前記選択された入力データのブロックをデータ処理装置620へと送る。データ処理装置620が、前記選択された入力データのブロックを処理し、前記処理済みデータのブロックをイテレータ610へと戻すと、イテレータ610は前記処理済みデータのブロックを出力データ内に配置する。現在処理中のブロックが、環境100内で目に見えるように表示されてもよい。この表示がデバッグ処理で有用であってもよい。処理済みデータのブロックのサイズが、ユーザが規定したデータ処理装置620のデータ処理関数によっては入力データのブロックのサイズと異なっていてもよいことが当業者に理解されよう。処理済みデータのブロックの出力データ内での位置は、前記選択されたブロックの入力データ内での位置に基づいて決定される。ブロック処理ブロック600は、処理対象の入力データの全ブロックについてこれらのステップを繰り返す。
図7は、本発明の実施例における入力データのブロック処理を実行するブロック処理ブロックの別の一例700である。ブロック処理ブロック700には、インデックスジェネレータ710、セレクタ720、データ処理装置730及び割り当て装置740が含まれる。セレクタ720及び割り当て装置740が入力データを受け取り、割り当て装置740が出力データを生成する。インデックスジェネレータ710が、入力データのブロックについて、一般に1つ又は複数の整数を含むコード語又はインデックスを生成する。ブロック処理ブロックの動作モードに基づき、インデックスジェネレータ710は、ブロック処理の繰り返しの際に、入力データのどの要素がブロックを形成するために選択されるのかを正確に特定する一連のコード語又はインデックスを繰り返し生成する。前記ブロックインデックスは、処理対象の入力データのブロック及び処理済みのデータのブロックの出力データ内での位置の双方を特定するように決定される。前記インデックスジェネレータによって生成された前記ブロックインデックスが、スカラ又はベクトルであってもよい。前記ブロックインデックスは、ブロックに含まれる全てのサンプルを個別に特定する。前記スカラ又はベクトルインデックスの大きさは、データブロックの大きさよりも小さくなくてはならない。前記インデックスジェネレータは、入力信号のサブユニットを個別に特定する一般化されたアドレス指定スキームを実行可能である。この一般化されたアドレス指定スキームにおいては、前記入力信号のサブユニットを構成している複数のサンプルは、必ずしもメモリ内で互いに隣接していなくてもよい。i=1、2、3、・・・、nを繰り返しインデックスとすると、サブユニット要素のアドレスは、前記繰り返しインデックスに適用されるいかなる関数f(i)であってもよい。例えば、ブロックインデックスのコード語が、iの単純な線形関数であるf(i)=a+biとして規定され、ここでaが開始インデックス、bがインデックス増分であってもよい。ブロックインデックスの別の一例に、ブロックの[開始行、終了行]及び[開始列、終了列]が含まれていてもよい。インデックスが、例えば各ブロックの開始行/列からの終了行/列のオフセットを用いた別の形であってもよいことが当業者に理解されよう。セレクタ720及び割り当て装置740が、入力データのブロックインデックスを受け取る。セレクタ720が、前記ブロックインデックスに基づいて一ブロックを選択し、前記選択されたブロックをデータ処理装置730へと送る。データ処理装置730は、前記送られた入力データブロックを処理し、処理済みのデータブロックを出力する。割り当て装置740が前記処理済みのデータブロックを受け取り、前記入力データブロックのインデックスに基づいて、前記処理済みのデータブロックを出力データ内に割り当てる。セレクタ720及び割り当て装置740に別のインデックスジェネレータを用いてもよいことが当業者に理解されよう。ブロック処理ブロック700は、これらのステップを、処理対象の入力データブロックの全てについて繰り返す。ブロック処理ブロック700が、入力データのインプレース処理を実行してもよく、この場合、出力データは入力データとメモリ領域を共有する必要がある。インプレース処理においては、出力データは入力データに上書きされる。インプレースブロック処理は、下記に図8を参照しながらより詳細に説明される。
図8は、本発明の実施例における入力データのインプレースブロック処理を実行可能なブロック処理ブロックの更に別の一例800である。ブロック処理ブロック800には、ポインタジェネレータ810及びデータ処理装置820が含まれる。ポインタジェネレータ810及びデータ処理装置820は、入力データを受け取る。ポインタジェネレータ810は、ユーザによって選択されたブロック処理ブロック800の動作モードに基づき、各入力データブロックへのポインタを生成する。ある入力データブロックへのポインタは、前記ブロックのメモリ領域内での位置を表す。前記ブロックのポインタに、前記ブロックの第1の要素へのポインタが含まれてもよい。前記ブロックへのポインタに、前記メモリ領域内の前記ブロックを特定することの可能な、例えば前記ブロックの最後の要素へのポインタなどの前記ブロックの別の要素へのポインタが含まれてもよいことが当業者に理解されよう。前記入力データブロックへのポインタは、データ処理装置820へと送られる。データ処理装置820は、前記ポインタによって特定された前記入力データブロックを処理する。前記入力データブロックの処理が完了すると、データ処理装置820は、前記処理済みのデータブロックを、ポインタジェネレータ810から受け取った前記ブロックへのポインタによって特定される前記メモリ領域内の位置に上書きする。ブロック処理ブロック800は、処理対象の入力データブロックの全てについてこれらのステップを繰り返す。このようにして、繰り返し処理の終了時には、出力データが完全に形成される。前記入力データのインプレース処理において、一般には入力データのサイズが出力データのサイズよりも大きいか又はこれと等しいことが当業者に理解されよう。
要約すると、本発明の実施例は、グラフィカルプログラミング環境における入力データのブロック処理を提供する。本発明の前記実施例は、入力データのブロック処理を実行するブロック処理ブロックを提供する。前記入力データのブロック処理が、前記ブロック処理ブロックの構成要素である複数のブロック単位で実行されてもよいことが当業者に理解されよう。前記入力データ内の処理対象の部分は複数のブロックに分割され、前記入力データの複数のブロックは、ユーザによって指定された順序で処理される。処理済みの前記データブロックは、前記入力データブロックが処理されるのと並行して同じ順序で結合される。本発明の前記実施例は、処理済みのデータブロックが前記入力データブロックに対応するメモリ領域に上書きされる、入力データのインプレース処理も提供する。前記入力データのインプレース処理によって、出力データが入力データとメモリ領域を共有し、出力データ用のメモリ領域を節約することが可能となる。
以上のように、本発明が上述の目的を達成することが理解されよう。本発明の範囲から逸脱することなく幾つかの変更を加えてもよいことから、上述の説明に含まれるか又は添付の図面に示される事項は全て、単に例示的なものであり、限定的なものではないと解釈されるべきことを意図されている。例えば、本発明の実施例は、入力データのデータ処理を行ういかなるグラフィカルプログラミング環境において実施されてもよい。図に示されたステップの順序及び構成を、本発明の範囲から逸脱することなく変更可能であり、またここに含まれる記載が、本発明を説明する数多くの適切な記載の一例に過ぎないことが当業者に理解されよう。
本発明の上述の特徴、利点並びにその他の特徴及び局面は、添付の図面と関連させながら詳細な説明を参考にすることにより、より十二分に理解されるであろう。
図1は、本発明の実施例のモデルを表すために複数のブロックが利用されるグラフィカルプログラミング環境の一例である。 図2は、本発明の実施例の実施に適した電子装置である。 図3は、図1に示す本発明の実施例のグラフィカルプログラミング環境において提供されるブロック処理モデルで使用されるブロックの一例である。 図4は、図3に示す本発明の実施例のブロック処理ブロックのパラメータを入力して、前記ブロック処理ブロックの動作モードを設定するためのグラフィカルユーザインターフェース(GUI)の一例である。 図5Aは、本発明の実施例において、図4に示すGUIを介して入力される各ブロックの重複列及び行を説明する、入力データの一例である。 図5Bは、本発明の実施例における入力データのパディング過程を説明する、入力データの一例である。 図5Cは、本発明の実施例において、入力データを水平(行方向)に処理する複数のブロックの順序を説明する、入力データの一例である。 図5Dは、本発明の実施例において、入力データを垂直(列方向)に処理する複数のブロックの順序を説明する、入力データの一例である。 図5Eは、本発明の実施例において、入力データをジグザグ方向に処理する複数のブロックの順序を説明する、入力データの一例である。 図6は、本発明の実施例のブロック処理ブロックの一例である。 図7は、本発明の実施例のブロック処理ブロックの別の一例である。 図8は、本発明の実施例のブロック処理ブロックの更に別の一例である。

Claims (33)

  1. 実際のシステムを数学的に表すモデルを提供するグラフィカルプログラミング環境に設けられ、入力データのブロック処理を実行するために、入力データを複数のデータブロックに分割するシステムであって:
    前記入力データがマトリックス形式で前記システムに提供され、前記データブロックが入力データを分割したサブマトリックスであり、
    前記グラフィカルプログラミング環境において各データブロックを個別に特定するアドレスを生成するためのインデックスジェネレータと;
    前記インデックスジェネレータによって生成された前記アドレスに基づいて、前記入力データから一つのデータブロックを選択するためのセレクタと;
    各データブロックのマトリックス処理を実行し、前記データブロックに関連した出力を生成するデータ処理装置と;
    前記入力データの前記複数のデータブロックの反復処理を可能にするイテレータと;
    前記アドレスに基づいて処理済みの複数のデータブロックを再びアセンブルして前記システムの出力を生成するための出力ジェネレータと;
    を備えたシステム。
  2. 前記インデックスジェネレータによって生成された前記データブロックアドレスがスカラ又はベクタのいずれかであり、前記データブロックアドレスが、前記データブロック内に含まれる全てのサンプルを個別に特定可能なコード語である、請求項1に記載のシステム。
  3. 前記スカラ又はベクタアドレスの大きさが、前記データブロックの大きさよりも小さくなくてはならない、請求項2に記載のシステム。
  4. 前記インデックスジェネレータが、大きな入力データ構造のデータブロックを個別に特定する一般化されたアドレス指定スキームを実行可能であり、前記入力データのデータブロックを構成している前記複数のサンプルが、必ずしもメモリ内で互いに隣接している要素でなくてもよい、請求項1に記載のシステム。
  5. i=1、2、3、・・・、nをイテレータのインデックスとした場合に、前記複数のブロックのアドレスが前記インデックスに適用される関数f(i)である、請求項2に記載のシステム。
  6. 前記データブロックアドレスのコード語が、iの単純な線形関数であるf(i)=a+biとして規定され、ここでaが開始インデックス、bがインデックス増分である、請求項5に記載のシステム。
  7. 前記インデックスジェネレータに複数の出力が含まれる、請求項1に記載のシステム。
  8. 前記セレクタと前記出力ジェネレータとに異なるインデックスジェネレータが使用される、請求項1に記載のシステム。
  9. 前記セレクタと前記出力ジェネレータとに同じインデックスジェネレータが使用される、請求項1に記載のシステム。
  10. 前記制御パラメータに前記入力データのサイズが含まれる、請求項1に記載のシステム。
  11. 前記制御パラメータに各ブロックのサイズが含まれる、請求項1に記載のシステム。
  12. 前記制御パラメータに、一連の正の整数に対して規定されるインデックスジェネレータコード語生成関数が含まれ、複数のデータブロックがユーザによって指定される任意の順序で処理される、請求項1に記載のシステム。
  13. 前記制御パラメータに、互いに隣接する複数のデータブロック間で重複しているサンプルの数が含まれる、請求項1に記載のシステム。
  14. 前記制御パラメータに、元の入力信号の範囲を超えるアドレスを有するサンプルの境界値が含まれる、請求項1に記載のシステム。
  15. 前記システムに、ブロック図モデリング環境内で実装されるブロック処理モデルが含まれ、前記ブロック処理モデルの動作を表す自動ソースコードが生成される、請求項1に記載のシステム。
  16. 前記ブロック処理モデルが、データフロー及び時間指向シミュレーション環境で使用される、請求項15に記載のシステム。
  17. 前記システムが、前記入力データのサイズが前記出力データのサイズよりも大きいか又はこれと等しい場合に、前記入力データが前記出力データとメモリ領域を共有することの可能なインプレース処理を可能にする、請求項1に記載のシステム。
  18. 実際のシステムを数学的に表すモデルを提供するグラフィカルプログラミング環境に設けられ、入力データのブロック処理を実行するために、入力データを複数のデータブロックに分割するシステムであって:
    前記入力データがマトリックス形式で前記システムに提供され、前記データブロックが入力データを分割したサブマトリックスであり、
    前記グラフィカルプログラミング環境において各データブロックを個別に特定するアドレスを繰り返し生成し、生成された前記アドレスに基づいて、前記入力データから一つのデータブロックを選択するためのブロック処理サブシステムと;
    各データブロックのマトリックス処理を実行し、前記データブロックに関連した出力を生成するデータ処理装置と;
    を備え、
    前記ブロック処理サブシステムが、ユーザによって入力された制御パラメータに基づく前記入力データの複数のデータブロックの反復処理を可能にし、前記アドレスに基づいて処理済みの複数のデータブロックを再びアセンブルして前記システムの出力を生成し、前記制御パラメータに、前記データブロックを処理する前記データ処理装置の仕様が含まれる;
    システム。
  19. 前記制御パラメータに前記入力データのサイズが含まれる、請求項18に記載のシステム。
  20. 前記制御パラメータに各ブロックのサイズが含まれる、請求項18に記載のシステム。
  21. 前記制御パラメータに、一連の正の整数に対して規定される関数を指定する際にユーザによって指定される任意の順序が含まれる、請求項18に記載のシステム。
  22. 現在処理中のデータブロックが前記グラフィカルプログラミング環境内で目に見えるように表示される、請求項18に記載のシステム。
  23. ブロック処理サブシステム毎に専用のブロック処理構造を更に備えた、請求項18に記載のシステム。
  24. 全てのブロック処理サブシステムのための汎用ブロック処理構造を更に備え、各ブロック処理サブシステムの設定及び制御パラメータが制御変数の形で個別に記憶されている、請求項18に記載のシステム。
  25. 前記制御パラメータに、互いに隣接する複数のデータブロック間で重複しているサンプルの数が含まれる、請求項18に記載のシステム。
  26. 前記制御パラメータに、元の入力信号の範囲を超えるアドレスを有するサンプルの境界値が含まれる、請求項18に記載のシステム。
  27. 前記システムに、グラフィカルプログラミング環境内で実装されるブロック処理モデルが含まれ、前記ブロック処理モデルの動作を表す自動ソースコードが生成される、請求項18に記載のシステム。
  28. 前記ブロック処理サブシステムが、データフロー及び時間指向シミュレーション環境で使用される、請求項18に記載のシステム。
  29. 前記入力データのサイズが前記出力データのサイズよりも大きいか又はこれと等しい場合に、前記入力データが前記出力データとメモリ領域を共有可能であることにより、インプレース処理が可能である、請求項18に記載のシステム。
  30. 実際のシステムを数学的に表し、対象システムを設計するために使用されるモデルを提供するグラフィカルプログラミング環境に設けられ、入力データのブロック処理を実行するために、入力データを複数のデータブロックに分割するシステムであって:
    前記入力データがマトリックス形式で前記システムに提供され、前記データブロックが入力データを分割したサブマトリックスであり、
    前記グラフィカルプログラミング環境において各データブロックのメモリ領域内での位置を表すポインタをユーザによって入力された制御パラメータに基づいて繰り返し生成するためのポインタジェネレータと;
    前記ポインタによって指定された各データブロックのマトリックス処理を実行するためのデータ処理装置と;
    を備え、 前記データ処理装置が処理済のデータブロックを前記ポインタによって特定された前記メモリ領域内の位置に上書きすることによって、前記入力データと出力データとがメモリ領域を共有する;
    システム。
  31. 前記制御パラメータに、互いに隣接する複数のデータブロック間で重複しているサンプルの数が含まれる、請求項30に記載のシステム。
  32. 前記制御パラメータに、元の入力信号の範囲を超えるアドレスを有するサンプルの境界値が含まれる、請求項30に記載のシステム。
  33. 前記ブロック処理モデルの動作を表す自動ソースコードが生成される、請求項30に記載のシステム。
JP2006547439A 2003-12-22 2004-12-22 グラフィカルプログラミング環境における入力データのブロック処理 Active JP4892354B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/744,654 2003-12-22
US10/744,654 US7353146B2 (en) 2003-12-22 2003-12-22 Block processing of input data in graphical programming environments
PCT/US2004/043536 WO2005064457A2 (en) 2003-12-22 2004-12-22 Block processing of input data in graphical programming environments

Publications (2)

Publication Number Publication Date
JP2007524156A JP2007524156A (ja) 2007-08-23
JP4892354B2 true JP4892354B2 (ja) 2012-03-07

Family

ID=34678923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006547439A Active JP4892354B2 (ja) 2003-12-22 2004-12-22 グラフィカルプログラミング環境における入力データのブロック処理

Country Status (4)

Country Link
US (2) US7353146B2 (ja)
EP (1) EP1700205A2 (ja)
JP (1) JP4892354B2 (ja)
WO (1) WO2005064457A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353146B2 (en) * 2003-12-22 2008-04-01 The Mathworks, Inc. Block processing of input data in graphical programming environments
US7834876B2 (en) * 2004-12-28 2010-11-16 The Mathworks, Inc. Providing graphic generating capabilities for a model based development process
US8312420B1 (en) * 2005-11-18 2012-11-13 The Mathworks, Inc. System and method for performing structural templatization
US7917514B2 (en) * 2006-06-28 2011-03-29 Microsoft Corporation Visual and multi-dimensional search
US7739221B2 (en) * 2006-06-28 2010-06-15 Microsoft Corporation Visual and multi-dimensional search
US7873500B1 (en) 2006-10-16 2011-01-18 The Mathworks, Inc. Two-way connection in a graphical model
US7405693B2 (en) * 2006-12-19 2008-07-29 Enterprise Electronics Corporation System and method for synthesizing data in a radar system
WO2009057967A2 (en) * 2007-11-01 2009-05-07 Posteck Academy-Industry Foundation Apparatus and method for iterative operation on regular graph
JP2009193181A (ja) * 2008-02-13 2009-08-27 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
US7933939B2 (en) * 2008-04-16 2011-04-26 Quantum Corporation Apparatus and method for partitioning data blocks
EP2350818A4 (en) * 2008-11-03 2013-07-10 Enginelab Inc SYSTEM AND METHOD FOR THE DYNAMIC CONSTRUCTION OF A BEHAVIOR MODEL IN A HARDWARE SYSTEM
US8346800B2 (en) * 2009-04-02 2013-01-01 Microsoft Corporation Content-based information retrieval
US9251554B2 (en) 2012-12-26 2016-02-02 Analog Devices, Inc. Block-based signal processing
CN104216694B (zh) * 2013-06-04 2017-12-08 广州中国科学院软件应用技术研究所 一种业务表单页面与工作流页面的融合方法及系统
EP3055796A1 (en) * 2013-10-09 2016-08-17 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method for managing digital video compression systems
US20150118959A1 (en) * 2013-10-28 2015-04-30 Nicolas Jean Petit Platform framework for wireless media device simulation and design
US9794025B2 (en) 2015-12-22 2017-10-17 Qualcomm Incorporated Systems and methods for communication and verification of data blocks
US10318251B1 (en) * 2016-01-11 2019-06-11 Altair Engineering, Inc. Code generation and simulation for graphical programming
WO2017163590A1 (ja) * 2016-03-24 2017-09-28 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP7156094B2 (ja) * 2019-03-05 2022-10-19 株式会社デンソー 自動コード生成方法、及び自動コード生成プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168139A (ja) * 1992-11-30 1994-06-14 Toshiba Eng Co Ltd コンパイル装置
JPH09297782A (ja) * 1996-05-01 1997-11-18 Babcock Hitachi Kk ブロック線図解析装置及びその方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US5367385A (en) * 1992-05-07 1994-11-22 Picturetel Corporation Method and apparatus for processing block coded image data to reduce boundary artifacts between adjacent image blocks
US5963220A (en) * 1996-02-08 1999-10-05 Industrial Technology Research Institute Mip map/rip map texture linear addressing memory organization and address generator
JP3821316B2 (ja) * 1996-08-06 2006-09-13 ソニー株式会社 演算装置および方法
US6073153A (en) * 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6487574B1 (en) * 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
US8196056B2 (en) * 2001-07-24 2012-06-05 The Mathworks, Inc. Handling parameters in block diagram modeling
US7353146B2 (en) * 2003-12-22 2008-04-01 The Mathworks, Inc. Block processing of input data in graphical programming environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168139A (ja) * 1992-11-30 1994-06-14 Toshiba Eng Co Ltd コンパイル装置
JPH09297782A (ja) * 1996-05-01 1997-11-18 Babcock Hitachi Kk ブロック線図解析装置及びその方法

Also Published As

Publication number Publication date
US8160844B2 (en) 2012-04-17
WO2005064457A3 (en) 2006-08-03
EP1700205A2 (en) 2006-09-13
US20080065964A1 (en) 2008-03-13
WO2005064457A2 (en) 2005-07-14
US20050138045A1 (en) 2005-06-23
US7353146B2 (en) 2008-04-01
JP2007524156A (ja) 2007-08-23

Similar Documents

Publication Publication Date Title
JP4892354B2 (ja) グラフィカルプログラミング環境における入力データのブロック処理
US7865350B1 (en) Partitioning a model in modeling environments
US8046735B1 (en) Transforming graphical objects in a graphical modeling environment
US8359586B1 (en) Code generation
US9774699B2 (en) System and method for transforming graphical models
JP4963232B2 (ja) モデリング環境における階層参照又はリンク
US8046207B2 (en) Digital effects analysis in modeling environments
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
Rudie The integrated discrete-event systems tool
Jayaram et al. Reorganizing CAD assembly models (as-designed) for manufacturing simulations and planning (as-built)
Gupta et al. MATRIXx
CN115657467A (zh) 风电场尾流控制优化方法、装置、设备及存储介质
Waziruddin et al. The process for coercing simulations
JP5031117B2 (ja) 幾何モデルを動的に更新する方法およびシステム
US7782322B2 (en) Plane shape creation system, plane shape creation method and program recording medium
Scott An evaluation of three commercially available integrated design framework packages for use in the Space Systems Design Lab
US8855982B2 (en) Analysis device and simulation method
JP2006293488A (ja) データ処理方法及びデータ処理装置
NAKADA et al. Introduction of Innovative Program OHC-Sim for Oil-Hydraulic Circuit Simulation
CN116384178A (zh) 光电旋转连接器的磨损仿真分析方法、系统、介质及设备
EP4270176A1 (de) Verfahren zur erzeugung von quellcode
CN117034397A (zh) 船体板架的建模方法及装置、设备及介质
Karnopp Retaining analog intuition in a digital world with bond graphs
Herbert Toward Direct Numerical Simulations of Turbine Flows
JPH04233605A (ja) ロボット言語編集装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100922

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101013

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101115

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110823

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110830

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110922

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110930

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Ref document number: 4892354

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250