(57)【要約】  構成カンバスと機器カンバスとを有するコンピュータを使用して、処理システムをプログラミングする方法。この方法は、各々が機能オブジェクトと関連するオブジェクト・アイコンを、構成カンバス上に配置するステップを含む。実行経路は、オブジェクト・アイコン間で自動的にルートされる。データ・フロー経路が、さらに、オブジェクト・アイコン間に生成される。少なくとも１つの視覚機器が機器カンバス上に配置される。視覚機器と関連する機器アイコンが、一時的ペイン上に自動的に配置される。機器アイコンは、一時的ペインから移動されて、機器アイコンを構成カンバス上に配置する。次いで、データ・フロー経路が、機器アイコンとオブジェクト・アイコンの１つとの間に生成されて、機器カンバス上の視覚機器が、構成カンバス上の処理構成と動作可能に接続されるようになる。或いは、少なくとも１つの機器アイコンを、まず、構成カンバス上に配置することができる。機器アイコンと関連する視覚機器が、次いで、一時的ペイン上に自動的に配置される。視覚機器は、次いで、一時的ペインから機器カンバス上に移動される。
2007524176.tif 000002
【特許請求の範囲】
【請求項１】
構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して、少なくとも１つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、少なくとも１つの視覚機器とを含む処理システムをプログラミングする方法であって、
各々が複数の機能オブジェクトと関連する複数のオブジェクト・アイコンを、前記構成カンバス上の複数の異なる位置に配置するステップと、
処理構成を定義するために、前記複数のオブジェクト・アイコンが前記構成カンバス上に配置された場合に、複数の実行経路を、前記複数のオブジェクト・アイコンの各々の間に自動的にルートするステップと、
データ・フロー経路を、前記構成カンバス上の前記オブジェクト・アイコン間に生成するステップと、
少なくとも１つの視覚機器を前記機器カンバス上に配置するステップと、
前記視覚機器が前記機器カンバス上に配置された場合に、前記視覚機器と関連する機器アイコンを前記一時的ペイン上に自動的に配置するステップと、
前記機器アイコンを前記一時的ペインから移動して、前記機器アイコンを前記構成カンバス上に配置するステップと、
データ・フロー経路を、前記構成カンバス上の前記処理構成内の前記機器アイコンと前記オブジェクト・アイコンの少なくとも１つとの間に生成して、前記機器カンバス上の前記視覚機器が前記構成カンバス上の前記処理構成と動作可能に接続されるようにするステップと、
を含む方法。
【請求項２】
前記処理構成を動作させて、前記機能オブジェクトが、前記アイコン間の前記実行経路の順番で関連する機能を実行し、データが、前記アイコン間の前記データ・フロー経路に沿って通るようにするステップをさらに含む請求項１に記載の方法。
【請求項３】
前記オブジェクト・アイコンの少なくとも１つを異なる位置に移動させて、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートし、前記処理システムは、リアルタイムで前記実行経路が再ルートされるように動作するステップをさらに含む請求項２に記載の方法。
【請求項４】
前記処理システムを動作させるステップが、前記カンバス上で視認した場合に、前記アイコン間の前記実行経路を、左から右への順番で動作させるステップとしてさらに定義される請求項３に記載の方法。
【請求項５】
前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的な方位に基づいて、前記複数の実行経路を、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項１に記載の方法。
【請求項６】
前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的に左から右への方位に基づいて、前記複数の実行経路を、前記カンバス上で視認した場合に、左から右に、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項５に記載の方法。
【請求項７】
前記オブジェクト・アイコンの少なくとも１つを異なる位置に移動して、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートするステップをさらに含む請求項５に記載の方法。
【請求項８】
前記視覚機器を操作して、前記データ・フロー経路に沿って通るデータ値をリアルタイムで自動的に変更するステップをさらに含む請求項１に記載の方法。
【請求項９】
前記視覚機器を前記機器アイコンとリンクさせるステップをさらに含み、前記機器カンバス上の前記視覚機器と前記構成カンバス上の前記視覚機器との間で切り替えるためのコマンドを与えるステップをさらに含む請求項１に記載の方法。
【請求項１０】
データ・フロー経路を前記オブジェクト・アイコン間に生成するステップが、前記カンバス上の前記実行経路のルーティングとは別個に、データ・フロー経路を前記カンバス上の前記オブジェクト・アイコン間に生成して、前記実行経路と前記データ・フロー経路とが互いに独立するようにするステップとしてさらに定義される請求項１に記載の方法。
【請求項１１】
前記プロセッサと関連するプロセッサ・アイコンを前記カンバス上に配置するステップをさらに含む請求項１に記載の方法。
【請求項１２】
前記アイコンの方位に基づいて、実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つに自動的にルートするステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つにルートするステップが、前記カンバス上で左から右に視認した場合に、前記オブジェクト・アイコンの最も左の位置に基づいて、前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つに自動的にルートするステップとしてさらに定義される請求項１２に記載の方法。
【請求項１４】
構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して、少なくとも１つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、少なくとも１つの視覚機器とを含む処理システムをプログラミングする方法であって、
各々が複数の機能オブジェクトと関連する複数のオブジェクト・アイコンを、前記構成カンバス上の複数の異なる位置に配置するステップと、
処理構成を定義するために、前記複数のオブジェクト・アイコンが前記構成カンバス上に配置された場合に、複数の実行経路を、前記複数のオブジェクト・アイコンの各々の間に自動的にルートするステップと、
データ・フロー経路を、前記構成カンバス上の前記オブジェクト・アイコン間に生成するステップと、
少なくとも１つの視覚機器を前記機器カンバス上に配置するステップと、
前記視覚機器が前記機器カンバス上に配置された場合に、前記視覚機器と関連する機器アイコンを前記一時的ペイン上に自動的に配置するステップと、
データ・フロー経路を、前記構成カンバス上の前記処理構成内の前記機器アイコンと前記オブジェクト・アイコンの少なくとも１つとの間に生成するステップと、
前記機器カンバス上の前記視覚機器が、前記構成カンバス上の前記処理構成と動作可能に接続されるように、前記視覚機器を前記一時的ペインから移動して、前記視覚機器を前記機器カンバス上に配置するステップと、
を含む方法。
【請求項１５】
前記処理構成を動作させて、前記機能オブジェクトが、前記アイコン間の前記実行経路の順番で関連する機能を実行し、データが、前記アイコン間の前記データ・フロー経路に沿って通るようにするステップをさらに含む請求項１４に記載の方法。
【請求項１６】
前記オブジェクト・アイコンの少なくとも１つを異なる位置に移動させて、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートし、前記処理システムは、リアルタイムで前記実行経路が再ルートされるように動作するステップをさらに含む請求項１５に記載の方法。
【請求項１７】
前記処理システムを動作させるステップが、前記カンバス上で視認した場合に、前記アイコン間の前記実行経路を、左から右への順番で動作させるステップとしてさらに定義される請求項１６に記載の方法。
【請求項１８】
前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的な方位に基づいて、前記複数の実行経路を、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項１４に記載の方法。
【請求項１９】
前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的に左から右への方位に基づいて、前記複数の実行経路を、前記カンバス上で視認した場合に、左から右に、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項１８に記載の方法。
【請求項２０】
前記オブジェクト・アイコンの少なくとも１つを異なる位置に移動して、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートするステップをさらに含む請求項１８に記載の方法。
【請求項２１】
前記視覚機器を操作して、前記データ・フロー経路に沿って通るデータ値をリアルタイムで自動的に変更するステップをさらに含む請求項１４に記載の方法。
【請求項２２】
前記視覚機器を前記機器アイコンとリンクさせるステップをさらに含み、前記機器カンバス上の前記視覚機器と前記構成カンバス上の前記視覚機器との間で切り替えるためのコマンドを与えるステップをさらに含む請求項１４に記載の方法。
【請求項２３】
データ・フロー経路を前記オブジェクト・アイコン間に生成するステップが、前記カンバス上の前記実行経路のルーティングとは別個に、データ・フロー経路を前記カンバス上の前記オブジェクト・アイコン間に生成して、前記実行経路と前記データ・フロー経路とが互いに独立するようにするステップとしてさらに定義される請求項１４に記載の方法。
【請求項２４】
前記プロセッサと関連するプロセッサ・アイコンを前記カンバス上に配置するステップをさらに含む請求項１４に記載の方法。
【請求項２５】
前記アイコンの方位に基づいて、実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つに自動的にルートするステップをさらに含む請求項２４に記載の方法。
【請求項２６】
前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つにルートするステップが、前記カンバス上で左から右に視認した場合に、前記オブジェクト・アイコンの最も左の位置に基づいて、前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの１つに自動的にルートするステップとしてさらに定義される請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願との相互参照）
本特許出願は、２００４年２月２５日に出願された米国仮特許出願番号第６０／５４７，５８８号に基づく優先権及び利益を主張するものである。
【０００２】
本発明は、処理システムと、この処理システムをプログラミングする方法に関する。
【背景技術】
【０００３】
データ処理は、事実上制限のない様々な作業を達成するために、多数の異なる製造及びビジネス関連用途に使用されている。データ処理システムが採用される１つの分野は、オートマトン、制御、データ収集、及び機器装備の分野である。実際の機器又はアクチュエータ、例えば、ロードセル、調水弁、又はサーボモータといったものは、リアルタイムでデータ・ストリームを生成し、又は、リアルタイムのコマンド・ストリームを必要とする。データ処理システムを含むコンピュータは機器とインターフェースして、データを収集し、分析して、適切なコマンドを生成する。このデータ収集、並びに、様々な他の作業を達成するように実施される従来技術のデータ処理システムは、異なる設計構成を使用しており、典型的には、ネットワーク様式に系統化されている。ネットワークは、バス又は線形トポロジ、星型トポロジ、環型トポロジ及び同様なもののような様々な構成で配置することができる。ネットワーク内には、典型的には、複数のノード及び該ノードの各々と相互接続する通信リンクがある。ノードは、処理システムの一部であり、機器の各々に接続されて、該機器により出力されるデータを個々に収集する。ノードは、さらに、コンピュータ、端末、ワークステーション、他のアクチュエータ、付加的なデータ・コレクタ、センサ、その他同様なものとすることができる。ノードは、典型的には、プロセッサ、メモリ、及び種々の他のハードウェア・コンポーネント及びソフトウェア・コンポーネントを有する。ノードは、ネットワーク内の通信リンク上で互いに通信して、情報を取得し、送信する。典型的な適用例においては、様々な異なる経路において通信する幾多のノードがあるとすることができる。
【０００４】
処理システムのユーザは、多くの場合、ユーザが処理システムをプログラミングし、使用することを助けるために、物理システムの概念モデルを開発し、これを必要とする。ノードを使用して、この種のデータ処理システムをプログラミングすることは、専門のプログラマーであっても、困難な作業となることがある。従来技術の処理システムを効率的にプログラミングする前に、プログラマーは、幾多の微細で複雑なことを習得しなければならない。数式を使用して処理システムをプログラミングする作業、数学的ステップその他のこうした手順は、さらにプログラミング工程を複雑にする。処理システムを制御するのに用いられるコンピュータ・プログラムは、典型的には、例えば、機械コード、Ｃ、Ｃ＋＋、又はパスカルといった通常のテキスト形式のプログラミング言語で書かれている。応答性リアルタイム性能は、通常、プログラマーが、マルチスレッドでリアルタイムのオペレーティング・システムを学び、これを採用することを必要とする。これらのプログラミング言語及びオペレーティング・システムは、直感的に使用できるものではなく、データ処理システムにより必要とされるデータを収集し、分析するのに良好に適応されているものではない。
【０００５】
処理システムのユーザ及びプログラマーは、たいてい、専門のプログラマーではなく、したがって、多くの場合、より理解しやすく、直感的に使用できる高レベルのプログラミング技術を必要とする。コンピュータのプログラミングにおいて高度に訓練されていないユーザによるコンピュータ及び処理システムの使用が増加しつつあることで、現行のシステムをより容易に用いて実施するデータ処理システムのプログラミングの必要性がもたらされた。
【０００６】
従来技術は、上で挙げられたプログラミング言語に対して、データ処理システムのプログラミングにおける改善点を考慮した。米国特許番号第４，９０１，２２１号、第４，９１４，５６８号、及び第５，３０１，３０１号を参照されたい。これらの従来技術の文書において開示されるプログラミング技術は、データ処理システムをプログラミングする際に、図表を用いてユーザを助けることを試みるものである。しかし、これらのプログラミング技術は、多数の欠陥を有する。具体的には、これらの手法は、パーソナル・コンピュータを中心とするものであり、本来、分散されたマルチプロセシング・ノードのシステムを取り扱うものではない。プログラミング構成を完了させるのに度外れの数のステップがあり、多数の特徴が直感的に使用できるものではないまま残っている。さらに、処理システムのユーザ又はプログラマーに、多数の不必要な制約がある。最後に、処理システムは、プログラミング工程中、又はプロセシング・システムの動作中、動的に変化することができない。
【０００７】
したがって、相対的に容易で直感的に使用することができる処理システムをプログラミングする方法を開発することが望ましい。さらに、プログラミング方法は、多目的に使用でき、かつ、ユーザが完全に処理システムをカスタマイズすることを可能にするように制約が制限されているものであるべきである。また、プログラミング方法は、マルチプロセシング分散システムに適応可能なものであるべきである。最後に、プログラミング方法は、ユーザがプログラミング・ステップを視覚的に概念化することを助けるように、本質的に図表的なものであるべきであり、かつ、プログラミング工程中及び動作中の両方において動的に変化できるものであるべきである。
【発明の開示】
【０００８】
本発明は、構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して処理システムをプログラミングする方法を含む。処理システムは、少なくとも１つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、少なくとも１つの視覚機器とを含む。この方法は、各々が第１の複数の機能オブジェクトと関連する第１の複数のオブジェクト・アイコンを、構成カンバス上の複数の異なる位置に配置するステップを含む。複数の実行経路は、処理構成を定義するために、第１の複数のオブジェクト・アイコンが構成カンバス上に配置された場合に、第１の複数のオブジェクト・アイコンの各々の間に自動的にルートされる。データ・フロー経路は、構成カンバス上のオブジェクト・アイコン間に生成される。少なくとも１つの視覚機器が機器カンバス上に配置される。視覚機器に関連する機器アイコンは、一時的ペイン上に自動的に配置される。機器アイコンは、一時的ペインから移動されて、機器アイコンを構成カンバス上に配置する。この方法は、データ・フロー経路を、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも１つとの間に生成して、機器カンバス上の視覚機器が構成カンバス上の処理構成と動作可能に接続されるようにするステップを含む。或いは、少なくとも１つの機器アイコンを、まず、構成カンバス上に配置することができる。機器アイコンと関連する視覚機器は、次いで、一時的ペイン上に自動的に配置される。データ・フロー経路は、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも１つとの間に生成される。代替的な方法は、機器カンバス上の視覚機器が、構成カンバス上の処理構成と動作可能に接続されるように、視覚機器を一時的ペインから移動して、視覚機器を機器カンバス上に配置することを含む。
【０００９】
したがって、本発明は、極めて多目的に、しかし直感的に使用することができる図表的なプログラミング技術を生成する処理システムをプログラミングする改善された方法を含む。以下により詳細に考察されるように、プログラミング方法は、本質的に動的なものであり、かつプログラミング工程中及び動作中の両方において動的に変化できるものである。
【発明を実施するための最良の形態】
【００１０】
本発明の利点は、以下の詳細な説明を参照し、添付の図面と関連して考慮した場合に、より理解されるように、容易に理解されるであろう。
【００１１】
幾つかの図にわたり、同様の番号が同様の又は対応する部分を示す図面を参照すると、１つの想定される処理システムの適用例の概略図が、図１において、全体を１０として示されている。具体的には、処理システム１０は、複数のノードを有する分散マルチプロセシング・システム１０として構成される。１つの想定される分散マルチプロセシング・システム１０の適用例は、例えば、車両の試験中に、データをコンパイルし、分析するためのものである。当業者であれば、本発明の処理システム１０は幾多の適用例を有しており、後に続くデータ収集及び車両試験に関する説明は例示的な目的に過ぎず、本発明の範囲を制限することを意図するものではないことを理解するであろう。
【００１２】
図１に示すように、サーボ弁１４をもつ油圧アクチュエータ１２が概略的に示される。油圧アクチュエータ１２は、乗り物といった試験片１６上に作用する。ロードセル１８及び変位変換器２０はアクチュエータ１２に接続されて、フォース及び変位といった信号をインターフェース２２に与える。インターフェース２２は、さらに、サーボ弁１４に接続されて、必要な制御信号を与える。インターフェース２２は、図においてはノード１として表示が付されるサーボ・コントローラ・ノードの一部であることが好ましい。ノード１は、さらに、１つ又はそれ以上のプロセッサ及び通信インターフェース２４を含む。ノード１のプロセッサは、デジタル信号プロセッサ（ＤＳＰ）であることが好ましい。ノード１は、次いで、通信リンク２６によりルーティング・ハブ２８に接続される。図示のように、さらに、ハブ２８に接続される他のノード及びホスト・ノードがある。任意数のノードをハブ２８に接続することができ、これらのノードは、あらゆる好適な数及び種類のプロセッサを有する。ホスト・ノードは、モニタ３２、キーボード３４、マウス３６、及び他の好適な周辺デバイスのいずれかと併せてＰＣプロセッサ３０を有することが好ましい。ホスト・ノードは、バス・インターフェース３８、１つ又はそれ以上のＤＳＰプロセッサ、及び通信インターフェース４０を有するＤＳＰカードを含む。ノード１におけるように、ホスト・ノードの通信インターフェース４０は、通信リンク２６により、ホスト・ノードをハブ２８に接続する。さらにノード１におけるように、ホスト・ノードにおけるプロセッサの種類又は大きさに関して制限はない。ハブ２８及びノード構成の特定で独特な構造、並びに、ノード自体の詳細は、同時係属中の米国特許出願連続番号０９／６９２，８５２号、及び第０９／９８２，６０１号に開示されており、これらの開示は、引用によりここに組み入れられる。
【００１３】
背景技術部分で上述されたように、従来技術の処理システムは、プログラムするのが困難で、直感的に使用できるものではないことがある。図１に示す分散マルチプロセシング・システムの論理的発展形態もまた、プログラムするのが困難とすることができる。したがって、本発明は、これらの必要性に対処するために発明された。本発明は、以下に詳細に述べられる、本質的に図表的で、極めて多目的にかつ直感的に使用することができる分散マルチプロセシング・システムをプログラミングするための幾多の改善された方法を含む。プログラミング方法は、さらに、本質的に動的なものであり、プログラミング工程中及び動作中の両方において変更することができる。
【００１４】
図２ないし図１０を参照すると、プログラミング方法に用いられる基本的なコンポーネントの多くが示されている。ブランクのコンピュータ・モニタの起動画面を図２に示す。この画面又はウィンドウは、視覚構成エディタ（ＶＣＥ）として表示が付される。ＶＣＥ又は起動画面上に示される特徴の多くは、ウィンドウをベースとするシステムに典型的なものである。ＶＣＥは、プロジェクトを作成し、編集し、稼動させ、監視するために、ユーザにより採用される環境である。用語ＲＥＤＧＲＩＤ（登録商標）は、米国特許局による登録商標であり、本特許出願におけるこの用語のどのような使用も、決して、このマークに利用可能な強さ及び／又は保護を減少させるものではないことに注目されたい。さらに、本特許出願に用いられる視覚構成エディタ及びＶＣＥ、並びに、ＲＥＤＧＲＩＤ（登録商標）マークに隣接する図表表示は、決して、これらの登録商標に利用可能な強さ及び／又は保護を減少させるものではない。
【００１５】
図３は、新規プロジェクト作成コマンド、プロジェクト・ファイルを開くコマンド、及びプロジェクトを保存するコマンドを含む起動画面のファイル・メニューを示す。図４は起動画面の表示メニューを示し、図５は起動画面のツール・メニューを示す。表示メニューは、図６に示すようにユーザが、選択的に、種々のペインを開くことを可能にする。図６を参照すると、起動画面上に、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインが開かれている。ペインは、浮動していてもよいし、又は、ドック可能であってもよく、要望に応じて大きさを変更することができる。これらのペインの各々は、以下に詳細に述べられるように、ユーザが、プロジェクトを作成するか、修正するか、又は実行する場合に、特定の目的を有する。図５のツール・メニューは、特定の複雑な作業を実行するように設計された高レベルのソフトウェア特徴を含む。これらのソフトウェア特徴は、ユーザ及びその他同様なものを助けることに特化した計算プログラムとすることができる。したがって、ソフトウェア特徴は、効率の良い労力節約デバイスである。
【００１６】
システム設定ペイン又はプロセッサ・ペインを、図７に、より詳細に示す。システム設定ペインは、現在ユーザに利用可能なプロセッサのすべてのツリー表示を示す。プロセッサは、ノードの下で系統化される。本例においては、２つの利容易可能なノードがある。一方のノードはローカル・ノードであり、これは、上述のホスト・ノードの別名である。換言すると、ローカル・ノードは、コンピュータの一部である。ローカル・ノードは、３８６として表示が付されるＰＣプロセッサを含み、５つの区別できる事象がプロセッサ・ペインにおいて識別される。以下でより詳細に述べられるように、ＰＣプロセッサの下で識別される事象を別個に処理システムにおいて使用して、実行経路を開始することができる。他方の利用可能なノードは、ＲＥＤｇｒｉｄＤＳＰカードであり、これは、上述のノード１の特定の名称である。上述のように、ＲＥＤｇｒｉｄ（登録商標）は登録商標であり、本出願においては、想定される実施形態の説明を助けるためだけに用いられる。ノード１は、「１」及び「２」と表示が付される２つのプロセッサを含む。プロセッサはＤＳＰであり、この各々は、ユーザが選択することができる３つの事象を含むことが好ましい。しかし、この特定の処理システムの実施においては、ＤＳＰは、ノード１の下のこれらのプロセッサの各々は処理システムにおいて一度だけ使用することができるように設計されるが、各々の事象を個々に選択することができるようにＤＳＰを実施することが可能であるので、このことは、決して、本発明を制限するものではない。
【００１７】
上述の事象は、プロセッサの様々な異なる実行速度を区別する。リアルタイムの処理システムにおいては、ユーザは、典型的には、実行経路が周期的な様式において、特定の速度で繰り返されることを要求する。換言すると、以下でさらに詳細に述べられる実行経路は反復的かつ連続的なものとすることができる。ユーザは、制御されているデバイスのニーズに基づいてこれらのパラメータを選択し、次いで、プロセッサの事象及び速度を、これにしたがって選択することができる。周期的な事象に加えて、非周期的な様式で実行を開始することができる利用可能な事象があることがある。
【００１８】
ツールボックス・ペインを、より詳細に図８及び図９に示す。ツールボックス・ペインは、事実上、特定の適用例のいずれかによる要望に応じて、任意数の項目を有することができる。フォルダの例は、描画オブジェクト、非繰り返しオブジェクト、基本形状、及び視覚機器を含むことができる。描画オブジェクトは、ユーザが論理的で理解可能なプロジェクトの構成を作成することを助ける視覚要素である。描画オブジェクトは、一般に、実行可能なオブジェクトではない。視覚機器については、以下にさらに詳細に述べる。
【００１９】
図９に示すように、基本形状フォルダは、サブフォルダ、サブ・サブフォルダ等の大きい部類を含む。基本形状フォルダ内には、複数の機能オブジェクト又は基本形状がある。機能オブジェクトの例を、機器サブ・サブフォルダの下、及びソース・サブ・サブフォルダの下に示す。機能オブジェクトは、機能オブジェクトの各々が特定の機能を実行するように予めプログラムされた基本的な実行可能コード又はコマンドを含む。以下に述べられる機能オブジェクトは、より複雑な作業を実行するように組み立てられ、接続された基本的な要素又は基本構成要素である。機能オブジェクトは、特別に、プロセッサ又はプロセッサの系列上で稼動するように書くことができる。図８の例においては、ホスト及びＳＨＡＲＣという２つの機能オブジェクトの部類がある。ホスト機能オブジェクトは、ＰＣ又はホスト・プロセッサ上でのみ実行されるように設計される。ＳＨＡＲＣ機能オブジェクトは、ＳＨＡＲＣ  ＤＳＰ上でのみ実行されるように設計される。機能オブジェクトの集まりであるユーザ・オブジェクトについては、以下に、より詳細に述べる。
【００２０】
図１０は、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが起動画面上に開かれて、該起動画面の縁に沿ってドックされた状態を示す。明確に示すように、プロパティ・ペイン及びプロジェクト・エクスプローラ・ペインは、現在のところ空である。さらに、同様に、現在のところ空の未使用ペイン又は一時的ペインは、視覚から隠れている。
【００２１】
図１１ないし図１６を参照すると、プログラミング方法、並びに、プロジェクトの開始に使用される付加的な基本コンポーネントが示されている。図１１に示すように、ユーザは、ファイル・メニューを開き、新規／プロジェクト・コマンドを選択することにより開始する。図１２は、起動画面内の新規プロジェクト作成ウィンドウを示し、ユーザは、プロジェクトに「Ｓｉｍｐｌｅ  Ｐｒｏｊｅｃｔ」という名称を割り当てる。図１３に示すように、ここで、ブランクの構成カンバスが、その縁に沿って開いたまま残っていたシステム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインと共に表示される。プロジェクト・エクスプローラは、ここで、ツリーの始まりを示し、カンバス上のプロジェクトを追跡する。
【００２２】
プロジェクトが開始すると、３つの新しいメニューの選択肢が表示される。図１４に示すように、構成カンバスの編集メニューは、よく知られたウィンドウ編集制御部を含む。図１５に示すように、構成カンバスの挿入メニューは、ユーザに、構成カンバスに挿入することができる描画オブジェクトのリストを与える。上述のツールボックス・ペインにおける描画フォルダは、同じ描画オブジェクトのリストを含む。図１６は、構成カンバスの制御メニューを示し、これは、完了したプロジェクトの実行を制御するための選択肢を含む。ユーザを助けるために、実行制御部が、さらに画面のツールバー上に配置される。
【００２３】
図１７ないし図３１を参照すると、ここで、上で開始された処理システムの「Ｓｉｍｐｌｅ  Ｐｒｏｊｅｃｔ」といった基本プロジェクト、並びに、多数の他の特徴をプログラミングする方法が詳細に説明されている。図１７に示すように、プロセッサの１つと関連するプロセッサ・アイコンがカンバス上に配置される。具体的には、プロセッサ・ペインからの事象の１つは、選択したものをカンバス上にドラッグ・アンド・ドロップすることにより移動されて、カンバス上にプロセッサ・アイコンを作成する。本例においては、ＲＥＤｇｒｉｄ  ＤＳＰカード・ノードの下の「１」ＤＳＰがカンバス上に移動される。ユーザは、具体的には、ＩＲＱ２事象を選択し、この事象は、プロセッサの表示付けにおいて識別される。ＩＲＱ２事象は、１秒当たり２０，４８０回だけ実行経路を実行する反復事象である。このプロセッサにおける事象のすべては、ここで、影が付けられて、このプロセッサがこのプロジェクトには使用できなくなったことを示す。ここでも、一度選択されたすべての事象が利用不可になることは、処理システム特有の実施の特性であることに注目されたい。さらに、プロセッサによりプロジェクトを開始する必要はなく、ユーザは、処理構成を構築するのに望ましいシーケンスのいずれにもしたがってよい。
【００２４】
図１８に示すように、ユーザは、望ましい機能オブジェクトについてツールボックス・ペインをブラウズし、次いで、第１機能オブジェクトに関連する第１オブジェクト・アイコンをカンバス上の第１の位置に配置する。具体的には、ツールボックス・ペインからの関連する記号がカンバス上にコピーされ、これが第１オブジェクト・アイコンを定義する。本例においては、第１オブジェクト・アイコンは正弦波発生器機能オブジェクトと関連しており、ツールボックス・ペインにおけるソース・フォルダの下の正弦波発生器記号からカンバス上にドラッグ・アンド・ドロップされる。プロジェクト・エクスプローラ・ペインは、自動的に、正弦波発生器をツリーに示し、プロジェクトが修正される度に自動的に更新される。正弦波発生器はハイライト表示され、プロパティ・ペインには、正弦波発生器に関する種々の情報が表される。
【００２５】
図１９ないし図２２を参照すると、プロパティ・ペインがより詳細に示されている。本例においては、浮動加算機能オブジェクトがカンバス上に配置されて、ハイライト表示されている。プロパティ・ペインは、この機能オブジェクトの隣で浮動する状態で示される。プロパティ・ペインは、事実上、プロジェクトにおける機能オブジェクトのすべてのプロパティのすべてを検査し、修正するのに用いられる。例えば、データ信号、コネクタ（データ・ポート）、及び機能オブジェクトの視覚的外観のプロパティを検査及び／又は修正することができる。図１９の例においては、ユーザは、入力１及び入力２について値を入力することができ、このことは、ユーザが入力信号の初期条件を設定することを可能にする。プロパティ・ペインは、さらに、信号、接続、情報、及び映像といった異なる表示を選択するためのミニ・ツールバーにおけるタブを有する。信号表示を図１９に示す。接続表示を図２０に示し、ユーザは、どのようなデータ接続も表示する又は隠すことができる。このことは、ユーザに利用可能な多数の入力及び出力を有するが、必要であるのはほんのわずかだけであり、したがって、視覚クラッタを除去するので、高度に複雑なオブジェクトに有益である。情報表示を図２１に示し、映像表示を図２２に示す。映像表示においては、図表記号がどのように表示され、反応するかというすべての態様を検査し、修正することができる。
【００２６】
作成されている基本プロジェクトに戻ると、図２３は、第２機能オブジェクトに関連する第２オブジェクト・アイコンがカンバス上の第２の位置に配置される状態を示している。第２アイコンの第２の位置は、第１アイコンの第１の位置とは異なるものである。本例においては、第２アイコンは、乱数発生器機能オブジェクトと関連付けられている。図２４及び図２５に示すように、第３機能オブジェクトに関連する第３オブジェクト・アイコンが、次いで、カンバス上の第３の位置に配置される。ここでも第３の位置は、第１の位置及び第２の位置とは異なるものである。本例においては、第３アイコンは、浮動乗算機能オブジェクトと関連付けられている。
【００２７】
本発明の１つの特徴は、アイコン及びプロセッサがカンバス上に配置される実行経路のルーティング及び再ルーティングに関する。図２４及び図２５に示すように、実行経路は、カンバス上の第１オブジェクト・アイコンの第１位置及び第２オブジェクト・アイコンの第２位置に対する第３オブジェクト・アイコンの第３位置の方位に基づいて、第１オブジェクト・アイコン及び第２オブジェクト・アイコンの一方から第３オブジェクト・アイコンに、自動的に、ルートされる。別の方法で述べると、実行経路は、カンバス上の第１オブジェクト・アイコンの第１位置及び第２オブジェクト・アイコンの第２位置に対する第３オブジェクト・アイコンの第３位置の方位に基づいて、第１オブジェクト・アイコン及び第３オブジェクト・アイコンの一方から第２オブジェクト・アイコンに、自動的に、ルートされる。
【００２８】
図２４の例においては、カンバス上で左から右に視認した場合に、第２オブジェクト・アイコンの第２位置が第１オブジェクト・アイコンの第１位置と第３オブジェクト・アイコンの第３位置との間にあるため、実行経路は、第２オブジェクト・アイコンから第３オブジェクト・アイコンに、自動的に、ルートされる。実行経路は、さらに、第２オブジェクト・アイコンがカンバス上に配置されている場合に、自動的に、第１位置における第１オブジェクト・アイコンから第２位置における第２オブジェクト・アイコンにルートされる。換言すると、図２３に示すように、実行経路は、即時かつ自動的に、第２アイコンの相対的な方位に基づいて、第１オブジェクト・アイコンから第２オブジェクト・アイコンにルートされる。
【００２９】
或いは、図２５に示すように、実行経路は、カンバス上で左から右に視認した場合に、第３オブジェクト・アイコンの第３位置が第１オブジェクト・アイコンの第１位置と第２オブジェクト・アイコンの第２位置との間にあるため、実行経路は、第１オブジェクト・アイコンから第３オブジェクト・アイコンにルートされる。この代替的な例においては、第１オブジェクト・アイコンからの実行経路は、第３オブジェクト・アイコンの方位に応答して、実行経路が第３オブジェクト・アイコンに再ルートされるように、自動的に、途切れなく、図２３に示すものからルートされる。さらに、実行経路は、第３オブジェクト・アイコンの方位に応答して、第３位置における第３オブジェクト・アイコンから第２位置における第２オブジェクト・アイコンに自動的にルートされる。したがって、この代替的な例においては、実行経路は、第１アイコンから第３アイコンに、次いで、第２アイコンにルートされる。
【００３０】
実行経路は、さらに、アイコンの方位に基づいて、プロセッサ・アイコンから、第１オブジェクト・アイコン、第２オブジェクト・アイコン、及び第３オブジェクト・アイコンの１つに自動的にルートされる。プロセッサ・アイコンから第１オブジェクト・アイコン、第２オブジェクト・アイコン、及び第３オブジェクト・アイコンの１つへの実行経路は、カンバス上で左から右に視認した場合に、第１オブジェクト、第２オブジェクト、及び第３オブジェクトの最も左の位置に基づいて自動的にルートされる。図１７及び第１８に示す例においては、プロセッサが、まず、カンバス上に配置され、次いで、第１アイコンがカンバス上に配置される。第１アイコンは最も左の位置にあるため、図１８に示す実行経路は、第１アイコンに自動的にルートされる。プロセッサが、まず、カンバス上に配置されることに対する必要はなく、さらに、プロセッサがカンバスの左側の位置に沿って配置されることに対する必要もないことが理解されるべきである。
【００３１】
実行経路は、色の付いた矢印又は独自に構成された矢印により識別することができる。以下でさらに詳細に述べられるように、異なるプロセッサからオブジェクト・アイコンの異なる構成の群にルートされた多数の異なる実行経路があるとすることができる。これらの種類のマルチプロセシング構成においては、異なるプロセッサからルートされた異なる処理構成を識別するために、異なる色の又は異なる構成の矢印を有することが望ましい。現在再視認されている又は修正されている実行経路はツールバー上で識別される。
【００３２】
図２４と図２５を比較すると、本発明の動的性質が示されている。オブジェクト・アイコンは、最初に、図２４に示す方位で、カンバス上に配置することができる。次いで、オブジェクト・アイコンの１つ（本例においては第３オブジェクト・アイコン）を異なる位置に移動することができる。図２５の例においては、浮動乗算（第３オブジェクト・アイコン）が第１アイコンと第２アイコンとの間に移動された。上述のように、実行経路は、カンバス上の他のアイコンに対して移動される第３オブジェクト・アイコンの方位に基づいて、自動的に途切れなく再ルートされる。実行経路及び引き直しプロセスの生成は、リアルタイムで連続的に実行され、アイコンは、一方の方位から別の方位にドラッグされる。
【００３３】
図２４と図２６を比較すると、本発明の動的性質の別の例が示されている。プロセッサ・アイコン及びオブジェクト・アイコンは、最初に、カンバス上に、図２４に示す方位で配置することができる。乱数発生器（第２オブジェクト・アイコン）を、次いで、図２６に示すプロセッサと第１オブジェクト・アイコンとの間の位置に移動することができる。ここで、第２オブジェクト・アイコンは、最も左のアイコンであり、プロセッサからの実行経路は、自動的に途切れなく第２オブジェクト・アイコンに再ルートされる（図２６を参照されたい）。これに応答して、残りの実行経路もまた、実行経路が、ここでは、図２７に示すように、プロセッサから第２オブジェクト・アイコン、第１オブジェクト・アイコン、及び第３オブジェクト・アイコンにルートされるように、再ルートされる。
【００３４】
さらに図２７に示すように、第４機能オブジェクトと関連する第４オブジェクト・アイコンがカンバス上の第４の位置に配置され、第４の位置は、第１の位置、第２の位置、及び第３の位置とは異なるものである。本例においては、第４アイコンは、スコープ機能オブジェクトと関連する。実行経路は、さらに、第４オブジェクト・アイコンがカンバス上に配置されている場合に、第３の位置における第３オブジェクト・アイコンから第４の位置における第４オブジェクト・アイコンに自動的にルートされる。同じ又は異なる機能オブジェクトと関連する任意数の付加的なアイコンがカンバス上に配置されてよいことが理解されるべきである。本例においては、カンバス上に配置された、同様にスコープに関連する１つの付加的なアイコンがある。
【００３５】
機能オブジェクト及び関連のオブジェクト・アイコンの各々は、少なくとも１つの入力及び／又は少なくとも１つの出力を含む。入力及び出力は、データの送受信のためのデータ・ポートとして設計される。図２７Ａは、２つの入力及び１つの出力を有する浮動乗算アイコンを示す。機能オブジェクト及びオブジェクト・アイコンは、要望に応じて、好適な任意数の入力及び／又は出力を有することができることが理解されるべきである。
【００３６】
図２７Ａ及び図２７Ｂを参照すると、オブジェクト・アイコンの各々に関連する別の特徴が示されている。具体的には、第１オブジェクト・アイコン、第２オブジェクト・アイコン、及び第３オブジェクト・アイコンの各々は、数学的記号又は工学的記号といった複数の記号及びテキストといった記述子を含む。カンバス上の空間的制限のために、ユーザにとって、望むときに動的に変更することができる複数の記号及び記述子を有することは有利である。ユーザが機能オブジェクトの機能又は動作を理解するのに、記号単独で十分である場合がある。他の場合には、ユーザは、例えば、入力及び出力のさらなる詳細及び説明を見ることを望む。図２７Ａは、ユーザが視認可能なテキスト識別子を有する浮動乗算アイコンを示す。具体的には、入力及び出力データ・ポートが視認可能である。入力及び出力の表示はユーザにより構成可能である。図示例においては、入力及び出力の名称の第１の文字だけが保存空間に表示される。好ましい実行経路は左から右への様式で進むため、入力は左側の縁上に示され、出力は右側の縁上に示される。図２７Ｂは、ここでは、ユーザに視認可能な記号を有する同じ浮動乗算アイコンを示す。ユーザが特定の入力又は出力を指した場合には、入力又は出力の名称が、視認可能になる。好ましい実施形態においては、オブジェクト・アイコンの各々は、図表記号及びテキスト識別子の両方を含み、記号及び記述子の一方だけがいずれのときにも視認可能である。ユーザがカーソルをオブジェクト上に置いて、表示を動的に変化させることは、さらにより好ましい。
【００３７】
この例示的なプロジェクトにおけるこの時点で、及び図２７に示すように、実行経路はすべて確立された。しかし、好ましい実施形態においては、実行経路は、データ・フロー経路とは独立している。図２８及び図２９を参照すると、データ・フロー経路は、ここで、カンバス上の実行経路のルーティングとは別個に、カンバス上の第１オブジェクト・アイコン、第２オブジェクト・アイコン、第３オブジェクト・アイコン、及び第４オブジェクト・アイコンの間に生成される。具体的には、オブジェクト・アイコン間のデータ・フロー経路の生成は、人為的に、カンバス上のオブジェクト・アイコンの１つからの出力を別のオブジェクト・アイコンの入力に接続することにより実行される。さらにより具体的には、ユーザは、入力又は出力をクリックし、カンバス上のポインタを対向する入力又は出力の方向にドラッグする。許容されるデータ接続が取得された場合には、接続されたデータ・フロー経路を示す実線が描かれる。図２８に示す例においては、乱数発生器の出力は、データ・ポート間のデータ・フロー経路を接続することにより、浮動乗算の入力に接続される。実行経路は、データ・フロー経路の接続により影響されることはない。
【００３８】
図２９は、種々のオブジェクト・アイコン間の完了したデータ・フロー経路を示す。データ・フロー経路は、多数の入力が１つ又はそれ上のオブジェクト・アイコンにより必要とされる場合には、自動的に、１つより多い入力に自動的に分散され、したがって、データ・フロー経路上に分散点を生成することができる。データ・フロー経路の分散は、決して、データの実際の値に影響を与えない。データ・フロー経路を通過するデータの値は、単純に、１つより多いオブジェクト・アイコンに送られる。図示例においては、浮動乗算及びスコープ２の両方が多数の入力を必要とする。したがって、正弦波発生器及び乱数発生器からの出力が分散され、分散点はデータ・フロー経路のこの領域上に配置される。別の機能オブジェクトと関連する分散アイコンは、自動的に、データ・フロー経路上の分散点において生成されることが好ましい。さらに、実行経路は、アイコンの相対的な方位に基づいて、分散点における分散アイコンを含むように、自動的に再ルートされる。或いは、別の機能オブジェクトと関連する分散アイコンは、１つより多い入力が１つ又はそれ以上のアイコンにより必要とされる場合には、データ・フロー経路を分散するように、人為的に、データ・フロー経路上に配置することができる。
【００３９】
図３０及び図３１を参照すると、ここでプロジェクトが完了している。処理システムは、機能オブジェクトが、オブジェクト・アイコン間の実行経路の順番で、関連の機能を実行し、かつ、データがアイコン間のデータ・フロー経路に沿って通るように動作させることができる。処理システムの動作は、さらに、カンバス上で視認された場合に、左から右への順番で、アイコン間の実行経路を動作させるように定義される。したがって、最も左のオブジェクト・アイコンが第１に実行され、そのすぐ右にあるオブジェクトが第２に実行され、特定の実行経路上のオブジェクト・アイコンのすべてが実行されるまで、以下同様である。上述のように、典型的な処理システムは、最も右のオブジェクト・アイコンに関連する機能オブジェクトが実行されると、動作が連続的に繰り返されるように繰り返すものである。好ましい実施形態においては、データ・フロー経路を通過する値は、実行経路の各々のパスの間で保存される。したがって、最後の実行において生成された値は、次の実行のための入力として利用可能とすることができる。動作の順番は、本発明の範囲全体から逸脱することなく、変更することができることが理解されるべきである。
【００４０】
プロジェクトの動作は、停止、一時停止、稼動といったツールバー上のコマンドにより制御される。図３１に示す例においては、スコープ２は、正弦波発生器及び乱数発生器からのオリジナル信号を表示する。スコープ１は、これらの信号のリアルタイムの乗算を表示する。
【００４１】
本発明の別の特徴は、オブジェクト・アイコンの１つを異なる位置に移動して、実行経路を、カンバス上で相対的に移動されたオブジェクト・アイコンの方位に基づいて、自動的に再ルートすることができ、処理システムは、実行経路がリアルタイムで再ルートされるように動作することである。換言すると、処理システムをプログラミングする場合に、詳細に上述されたアイコンの移動及び実行経路の再ルーティングは、処理システムが動作している間にも実行することができ、したがって、本発明の多用性を大いに増加させることができる。
【００４２】
図３２ないし図３６を参照すると、別の完了したプロジェクトが示されている。このプロジェクトにおいては、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインのすべてが画面の右手側にドックされているため、構成カンバスが大きい。上述のように、ペインは、画面上で任意の好適な様式で配置することができる。図３２に示す特定の構成は、構成カンバスの空間を最大にし、ペインすべてに対するアクセスを可能にする。
【００４３】
図３２ないし図３６に示すプロジェクトはマルチプロセシング、すなわち、カンバス上には１つより多いプロセッサが配置されている。図３２に示す構成を生成するためには、第１プロセッサと関連する第１プロセッサ・アイコンがカンバス上に配置される。各々が第１の複数の機能オブジェクトと関連する第１の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第１処理構成を定義するために、第１の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第１の複数の実行経路は、第１プロセッサ・アイコンから第１の複数のオブジェクト・アイコンの各々に自動的にルートされる。同様に、第２プロセッサ・アイコンがカンバス上に配置される。各々が第２の複数の機能オブジェクトと関連する第２の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第２処理構成を定義するために、第２の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第２の複数の実行経路は、第２プロセッサ・アイコンから第２の複数のオブジェクト・アイコンの各々に自動的にルートされる。図示のように、第２処理構成の殆どは、第１処理構成の複製であり、システムにおける冗長性を生成する。最後に、第３プロセッサがカンバス上に配置される。各々が第３の複数の機能オブジェクトと関連する第３の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第３処理構成を定義するために、第３の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第３の複数の実行経路は、第３プロセッサ・アイコンから第３の複数のオブジェクト・アイコンの各々に自動的にルートされる。第１、第２、及び第３の複数の実行経路を区別するために、これらの実行経路は、独自に表示が付される。第１、第２、及び第３の複数の実行経路は、各々の実行経路について独特な色を用いることにより区別されることが好ましい。
【００４４】
第１データ・フロー経路が、カンバス上の第１プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第１の複数のオブジェクト・アイコン間で生成される。本例においては、第１データ・フロー経路は、信号発生器１、信号発生器２、浮動減算１、パワー１、及び平均１の間で生成される。同様に、第２データ・フロー経路が、カンバス上の第２プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第２の複数のオブジェクト・アイコン間で生成される。本例においては、第２データ・フロー経路は、一対の分散アイコン、浮動減算２、パワー２、及び平均２の間で生成される。データ・フロー経路の分散のために、信号発生器１及び信号発生器２は、データを第１及び第２のデータ・フロー経路に送る。最後に、第３データ・フロー経路が、カンバス上の第３プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第３の複数のオブジェクト・アイコン間で生成される。本例においては、第３データ・フロー経路は、第１データ・フロー経路の平均１、第２データ・フロー経路の平均２、浮動減算３、浮動絶対値１、及び計器１の間で生成される。明白に示すように、データ・フロー経路は、カンバス上のオブジェクトのいずれの間でもデータを流すように生成することができる。具体的には、第１、第２、及び第３のデータ・フロー経路の少なくとも１つは、第１の複数のオブジェクト・アイコン、第２の複数のオブジェクト・アイコン、及び第３の複数のオブジェクト・アイコンの少なくとも１つの間で流れるようにルートされて、データが第１、第２、及び第３の処理構成にわたり、及びこれらの間を通るようにする。データ・フロー経路は、さらに、必要に応じて、上で概説された手順によって分散させることができる。ここで完了するこれらの処理構成の生成は、上で概説された方法により実行される。
【００４５】
図３３に示すように、オブジェクト・アイコンは、カンバス上の異なる方位に移動させることができる。データ・フロー経路は、アイコンが移動された場合には修正されない。データ・フロー経路は、単純に、新しい方位に基づいて、引き直される。各々の処理構成の実行経路は、他の処理構成の実行経路と自動的に相互作用することはない。したがって、図３３に示すように、第３処理構成のオブジェクト・アイコンは、カンバスの上部に移動された。第３処理構成のプロセッサからの実行経路は、自動的に、第３処理構成の最も左のオブジェクト・アイコンを辿り、第１及び第２の処理構成の他の実行経路と自動的に相互作用することはない。
【００４６】
図３４は、カンバス内で方位を変化させるオブジェクト・アイコンの別の例である。具体的には、第２処理構成のオブジェクト・アイコン（浮動減算２）がカンバス上の異なる方位に移動される。ここでも、データ・フロー経路は変化せず、オブジェクト・アイコンの新しい方位に基づいて、単純に引き直される。この図は、データ・フロー経路がデータを左から右へ、右から左へ、上から下等に送ることができることを明らかに示す。しかし、データを右から左に送るデータ・フロー経路の影響がある。上述のように、実行経路は、左から右に進む。したがって、データ接続が、後で実行経路に入るオブジェクト・アイコンから作成された場合には、遅延が生じる。したがって、オブジェクト・アイコンを移動して、強制的に、データ・フロー経路がデータを右から左に送るようにすることは、データの通過において遅延を開始させる１つの手段となることがある。図３４の本例においては、浮動減算２アイコンは、後で、第２処理構成の実行経路になる位置に方位付けられているために、パワー２アイコンについてのデータが受け取られないので、単一の遅延が処理システムの反復的な実行において生じる。
【００４７】
詳細に上述されたように、移動されたオブジェクト・アイコンは、以前は最も左のアイコンであったため、第２処理構成の実行経路は再ルートされる。第２処理構成のプロセッサの実行経路は、したがって、新規な最も左のオブジェクト・アイコン（パワー２）に再ルートされる。移動されたオブジェクト・アイコンへの実行経路もまた、ここで、オブジェクト・アイコン（平均２）から移動されたオブジェクト・アイコン（浮動減算２）の左への新規なルートに再ルートされる。ここでも、第１及び第３の処理構成の実行経路が影響を受けることはない。
【００４８】
図３５は、マルチプロセシング環境における実行経路を人為的に再ルートすることができる、本発明のさらに別の特徴を示す。具体的には、再ルートされたオブジェクト・アイコンと関連する第１の複数の実行経路を自動的に除去し、第２の複数の実行経路を再ルートされたオブジェクト・アイコンに自動的にルートすることにより、第１処理構成からの第１の複数のオブジェクト・アイコンの１つが、第２処理構成に再ルートされる。図３５に示す例においては、以前は第１処理構成の実行経路の一部であった信号発生器１が、第２処理構成の実行経路の一部に移動される。この動作は、移動されるべきオブジェクト・アイコン（本例においては信号発生器１）をハイライト表示することにより実行される。次いで、ツールバーを使用することにより、実行経路を変化させる。古い構成（第１処理構成）及び新規な構成（第２処理構成）の両方の実行経路が自動的に再ルートされる。データ・フロー経路が影響を受けることはない。この種の変化は、ユーザにとって実用的な利点を有することができる。具体的には、計算の負担を、ここで、２つのＤＳＰにわたり、より等しく広げることができる。
【００４９】
図３６は、図３５に示す本発明の同様な特徴を示す。しかし、オブジェクト・アイコンが、第１処理構成から第３処理構成に移動されている。したがって、再ルートされたオブジェクト・アイコンに関連する第１の複数の実行経路は、自動的に除去されて、第３の複数の実行経路は、再ルートされたオブジェクト・アイコンに自動的にルートされる。図３６に示す例においては、以前は第１処理構成の実行経路の一部であった信号発生器１が、ここでは、第３処理構成の実行経路の部分に移動されている。ここでも、データ・フロー経路は影響を受けない。
【００５０】
種々の処理構成の中及びこれの外へのオブジェクト・アイコンの移動は、極めて多目的なツールであり、具体的には、第１のプロセッサは第１の機械言語を含むことができ、第２のプロセッサは、第１の機械言語とは異なる第２の機械言語を含むことができる。異なる機械言語の下で動作する処理構成からのオブジェクト・アイコンの再ルーティングは、途切れるものではなく、異なる機械言語により影響されるものではない。
【００５１】
図３６Ａを参照すると、第１処理構成のアイコン間の実行経路、及び第２処理構成のアイコン間の実行経路に同期オブジェクトを挿入して、挿入点においてこれらの実行経路を同期することができる。したがって、これらの処理構成の各々にわたるデータ処理は、挿入点においてリアルタイムで同期される。同期オブジェクトは、マルチプロセシング環境における機能オブジェクトの実行を整合するための単純で図表的手段を与える。認識できることであるが、異なるプロセッサ及び／又は異なる事象を異なる速度で実行することができる。同期オブジェクトは、ユーザが、特別に、同期点を多数のプロセッサの多数の実行経路に強制することを可能にする。特定の実行経路の実行が同期オブジェクトに到達した場合には、実行は、すべての同期実行経路がそれぞれの同期オブジェクトに到達するまで待機する。この時点で、実行経路のすべては、進行することが可能になる。
【００５２】
図３７ないし図４６を参照すると、本発明の視覚機器特徴が詳細に述べられている。視覚機器は、コンピュータのモニタ上に表示され、ユーザが、動作中に処理システムと相互作用することを可能にする制御部及びインジケータを作成することを可能にする。図３７に示すように、コンピュータは、さらに、機器カンバスを含む。機器カンバスは、構成カンバス上に配置されて示される。いずれのときにも複数の機器カンバスが開いていてよいことが理解されるべきである。図３８に示すように、処理システムは、少なくとも１つの視覚機器を含む。視覚機器は、ツールボックス・ペインにおける視覚機器フォルダの下に見出されることが好ましい。
【００５３】
少なくとも１つの視覚機器を図３９に示すように機器カンバス上に配置することができる。具体的には、視覚機器の記号はツールボックス・ペインに配置され、コピーは、機器カンバスにドラッグ・アンド・ドロップされて、視覚機器を定義する。視覚機器は、機器カンバス内に配置され、さらに、要望に応じて、大きさを変更することができる。図示例においては、機器カンバスは、ノブ及び計器を含む。
【００５４】
図４０は、機能オブジェクトと関連する少なくとも１つのオブジェクト・アイコンが構成カンバス上に配置された別の構成カンバスを示す。プロセッサと関連する１つ又はそれ以上のプロセッサ・アイコンもまたカンバス上に配置される。１つ又はそれ以上の実行経路は、処理構成を定義するために、オブジェクト・アイコンが構成カンバス上に配置された場合に、プロセッサ・アイコンとオブジェクト・アイコンとの間に自動的にルートされる。データ・フロー経路もまた、構成カンバス上のプロセッサ・アイコンとオブジェクト・アイコンとの間に生成される。
【００５５】
図３９ないし図４１を参照すると、視覚機器に関連する機器アイコンは、視覚機器が機器カンバス上に配置された場合に、自動的に、未使用ペイン又は一時的ペイン上に配置される。視覚機器は、次いで、一時ペインから移動されて、機器アイコンを構成カンバス上に配置する。本例においては、ノブ及び計器の両方と関連する機器アイコンは、ノブ及び計器が機器カンバス上に配置された場合に、自動的に、未使用ペイン又は一時的ペイン上に配置される。図４０に示すように、ノブは構成カンバスに移動され、計器は未使用ペイン又は一時的ペインに残る。具体的には、ノブは、未使用ペインから構成カンバスにドラッグ・アンド・ドロップされる。図４１は、ノブ及び計器の両方が構成カンバスに移動されて、未使用ペイン又は一時的ペインが再び空になった状態を示す。
【００５６】
図４２に示すように、データ・フロー経路が、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも１つのとの間で生成されて、機器カンバス上の視覚機器が構成カンバス上の処理構成に動作可能に接続されるようになった。ここで処理構成が完了する。
【００５７】
図４３に示すように、処理構成は、機能オブジェクトが、アイコン間の実行経路の順番で関連する機能を実行し、データがアイコン間のデータ・フロー経路に沿って通過するように動作される。視覚機器は、リアルタイムで、データ・フロー経路に沿って通過するデータ値を自動的に変更するように操作することができる。
【００５８】
視覚機器は、機器アイコンにリンクされて、コマンドは、機器カンバス上の視覚機器と構成カンバス上の機器アイコンとの間で切り替えるために開始できるようにすることが好ましい。このコマンドの特徴は、ユーザが、処理構成の種々の表示及び部分の間を迅速に移動することを助けるためのナビゲーション補助である。構成が大きくかつ複雑になるに伴い、機器及びその接続性を追跡することが困難になる。したがって、このコマンドの特徴は、ユーザにとって生産性及び質の補助になり、ユーザは、視覚機器を機器アイコンから迅速に検出することができるようになり、逆もまた同様である。
【００５９】
図４４ないし図４６を参照すると、機器アイコンを構成カンバス上に、及び視覚機器を機器カンバス上に配置するための代替的な手段が示されている。処理構成の生成は上述のもの及び図４２に示すものと同じである。機器アイコン及び視覚機器の位置、及び未使用ペインの相互的な性質において違いがある。本実施形態においては、少なくとも１つの機器アイコンが、第１に、構成カンバス上に配置される。具体的には、機器アイコンに関連する記号がツールボックス・ペインから、直接、構成カンバス上にドラッグされる。機器アイコンが構成カンバス上に配置された場合、機器アイコンと関連する視覚機器は、次いで、未使用ペイン又は一時的ペイン上に自動的に配置され、図４５を参照されたい。データ・フロー経路が、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも１つとの間で生成される。図４６に示すように、視覚機器は、次いで、機器カンバス上の視覚機器が構成カンバス上の処理構成に動作可能に接続されるように、未使用ペイン又は一時的ペインから移動されて、視覚機器を機器カンバス上に配置する。本実施形態の視覚機器は、さらに、機器アイコンとリンクされて、コマンドが機器カンバス上の視覚機器と構成カンバス上の機器アイコンとの間で切り替えるためのコマンドが与えられるようにする。ユーザは、機器アイコン及び視覚機器をそれぞれのカンバス上に配置するいずれの方法も自由に用いてよい。
【００６０】
別の完了した処理構成を図４７ないし図４９に示す。この処理構成は、上述のものと同じ方法により生成される。図４８及び図４９を比較すると、１つのオブジェクト・アイコンに対して別のオブジェクト・アイコンを方位付ける別の例が示されており、この再方位付け中に、実行経路は動的に変化する。本例においては、浮動加算アイコンが浮動減算アイコン及び浮動乗算アイコンに対して移動される。プロパティ・ペインが、さらに、処理構成の隣に示される。浮動加算アイコンが移動されるに伴い、出力が自動的に更新される。具体的には、次コードが浮動減算（図４８）から浮動乗算（図４９）に変化する。同様に、次データが浮動減算（図４８）から浮動乗算（図４９）に変化する。これらの出力は、コード・ポインタ及びデータ・ポインタとして知られており、同時係属中の米国特許出願連続番号第０９／６９２，８５２号及び第０９／９８２，６０１号に具体的に述べられており、これらの開示は引用によりここに組み入れられる。
【００６１】
本発明のさらに付加的な特徴を図５０ないし図５３に示す。処理構成は、ユーザ・オブジェクトを使用して、図５０において生成される。ユーザ・オブジェクトは、機能オブジェクトの特定の形式であり、ユーザがナビゲーション階層を生成することを可能にするように設計される。具体的には、ユーザ・オブジェクトは、他のオブジェクト・アイコンの集合である。ユーザ・オブジェクトは、要望に応じて、保存できるし、再使用できる。図５０のユーザ・オブジェクト１をダブル・クリックすることにより、図５１に示すサブ構成が表示される。入力記号及び出力記号を使用して、データ・フローの方向を示す。図５１のサブ構成内には、ユーザ・オブジェクト２がある。ユーザ・オブジェクト２をダブル・クリックすることにより、図５２に示すサブ・サブ構成が表示される。これは、階層の最低レベルである。ユーザ・オブジェクトの数は、ツールバーにリスト表示される。図５３に示すように、プロジェクト・エクスプローラ・ペインは、処理構成の隣で開かれる。プロジェクト・エクスプローラは、現行の構成の種々の階層を示して、ユーザを助ける。上述のように、プロジェクト・エクスプローラ・ペインは、アイコンが、加えられる、移動される、置き換えられる、削除される等その度に、自動的に再生する。プロジェクト・エクスプローラは、プロジェクト構成に対する重要なナビゲーション・ツール又は索引である。ユーザは、構成全体にわたりアイコンをクリックして、プロジェクト・エクスプローラは、階層におけるアイコンの位置を反映することができる。さらに、ユーザは、プロジェクト・エクスプローラ・ツリー上の記号又は他のオブジェクトをクリックして、選択されたオブジェクト・アイコンを表示することができる。
【００６２】
図５４は、処理システムの油圧サーボコントローラの実施を示す。具体的には、プロジェクト構成は、閉ループのサーボコントローラのために生成された。処理構成の生成は、極めて複雑で、本発明を用いることは、これらの構成のプログラミング及び動作を大いに助けることになることが理解されるべきである。
【００６３】
本発明は、例示的な方法で述べられ、用いられた術語は、制限するためではなく、説明するための言葉の性質をもつことが意図される。ここでは、当業者であれば、上述の教示を考慮すると、本発明の多数の修正及び変形態様が可能であることが明らかであろう。したがって、具体的に述べられるものではなく、特許請求の範囲内で本発明を実施できることが理解されるべきである。
【図面の簡単な説明】
【００６４】
【図１】１つの想定される処理システムの適用例の概略図を示す。
【図２】本発明の処理システムに接続されたコンピュータ・モニタのブランクの起動画面を示す。
【図３】起動画面のファイル・メニューを示す。
【図４】起動画面の表示メニューを示す。
【図５】起動画面のツール・メニューを示す。
【図６】起動画面上にシステム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインが開かれた状態を示す。
【図７】システム設定ペインの詳細である。
【図８】ツールボックス・ペインの詳細である。
【図９】ツールボックス・ペインのさらに別の詳細である。
【図１０】システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが起動画面上に開かれて、該起動画面の縁に沿って配置された状態を示す。
【図１１】ファイル・メニュー及びプロジェクト・コマンドの選択を示す。
【図１２】起動画面内の新規プロジェクト作成ウィンドウを示す。
【図１３】システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが縁に沿って開いた状態のブランクの構成カンバスを示す。
【図１４】構成カンバスの編集メニューを示す。
【図１５】構成カンバスの挿入メニューを示す。
【図１６】構成カンバスの制御メニューを示す。
【図１７】プロセッサ・アイコンが構成カンバス上に配置された、処理構成を作成する際の典型的な第１ステップを示す。
【図１８】正弦波発生器形態のオブジェクト・アイコンを構成カンバス上に配置することによる、処理構成における次のステップを示す。
【図１９】浮動加算機能オブジェクトと相関するプロパティ・ペインの詳細である。
【図２０】プロパティ・ペインの別の詳細である。
【図２１】プロパティ・ペインのさらに別の詳細である。
【図２２】プロパティ・ペインの別の詳細である。
【図２３】乱数発生器形態の別のオブジェクト・アイコンを構成カンバス上に配置するステップを示す。
【図２４】浮動乗算形態のさらに別のオブジェクト・アイコンを構成カンバス上に配置するステップを示す。
【図２５】構成カンバス上への浮動乗算アイコンの代替的な配置を示す。
【図２６】正弦波発生器アイコンに対する乱数発生器アイコンの移動を示す。
【図２７】実行経路のすべてがルートされている状態の構成カンバス上の部分的に完了した処理構成を示す。
【図２７Ａ】浮動乗算アイコンのテキスト記述子を示す図２７の構成カンバス上のオブジェクト・アイコンの幾つかの詳細である。
【図２７Ｂ】浮動乗算アイコンの記号を示す図２７の構成カンバス上のオブジェクト・アイコンの幾つかの別の詳細である。
【図２８】ルートされた実行経路とは独立した単一のデータ・フロー経路を示す図２４の構成カンバス上のオブジェクト・アイコンの詳細である。
【図２９】ルートされている実行経路のすべて、及び接続されているデータ・フロー経路のすべてをもつ構成カンバス上の完了した処理構成を示す。
【図３０】システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインと併せて、図２９の完了した処理構成を示す。
【図３１】動作中の図３０の完了した処理構成を示す。
【図３２】同じ構成カンバス上の３つの完了した処理構成を示す。
【図３３】幾つかのオブジェクト・アイコンが異なる位置に移動された図３２の３つの完了した処理構成を示す。
【図３４】オブジェクト・アイコンの１つが異なる位置に移動された図３２の３つの完了した処理構成を示す。
【図３５】オブジェクト・アイコンの１つが異なる処理構成に移動された図３２の３つの完了した処理構成を示す。
【図３６】オブジェクト・アイコンの１つが異なる処理構成に移動された図３２の３つの完了した処理構成を示す。
【図３６Ａ】処理構成の２つが同期されている図３２の３つの完了した処理構成を示す。
【図３７】構成カンバス上で開かれた機器カンバスを示す。
【図３８】ツールボックス・ペインの別の詳細である。
【図３９】多数の視覚機器で表される機器カンバスを示す。
【図４０】未使用ペインの詳細と併せて部分的に生成された処理構成を示す。
【図４１】未使用ペインの詳細と併せて部分的に生成された処理構成の別の図を示す。
【図４２】別の完了した処理構成を示す。
【図４３】図４２の完了した処理構成の上に重ねられた図３９の機器カンバスを示す。
【図４４】未使用ペインの詳細と併せて部分的に生成された処理構成を示す。
【図４５】幾つかの視覚機器により表された機器カンバスの上に重ねられた未使用ペインを示す。
【図４６】視覚機器が未使用ペインから機器カンバスに移動された、図４５の機器カンバスの上に重ねられた未使用ペインの別の図である。
【図４７】完了した処理構成の別の例である。
【図４８】プロパティ・ペインの詳細と併せて図４７の完了した処理構成を示す。
【図４９】プロパティ・ペインの詳細と併せて図４７の完了した処理構成を示し、浮動減算アイコンに対して浮動加算アイコンを移動することによる、本発明の動的性質を示す。
【図５０】完了した処理構成のさらに別の例を示す。
【図５１】図５０の完了した処理構成の第１ユーザ・オブジェクトの詳細である。
【図５２】図５１の第１ユーザ・オブジェクト内の第２ユーザ・オブジェクトの詳細である。
【図５３】プロジェクト・エクスプローラ・ペインの詳細と併せて図５０の完了した処理構成を示す。
【図５４】完了した処理構成の別の例である。
【図１】
2007524176.tif 000003
【図２】
2007524176.tif 000004
【図３】
2007524176.tif 000005
【図４】
2007524176.tif 000006
【図５】
2007524176.tif 000007
【図６】
2007524176.tif 000008
【図７】
2007524176.tif 000009
【図８】
2007524176.tif 000010
【図９】
2007524176.tif 000011
【図１０】
2007524176.tif 000012
【図１１】
2007524176.tif 000013
【図１２】
2007524176.tif 000014
【図１３】
2007524176.tif 000015
【図１４】
2007524176.tif 000016
【図１５】
2007524176.tif 000017
【図１６】
2007524176.tif 000018
【図１７】
2007524176.tif 000019
【図１８】
2007524176.tif 000020
【図１９】
2007524176.tif 000021
【図２０】
2007524176.tif 000022
【図２１】
2007524176.tif 000023
【図２２】
2007524176.tif 000024
【図２３】
2007524176.tif 000025
【図２４】
2007524176.tif 000026
【図２５】
2007524176.tif 000027
【図２６】
2007524176.tif 000028
【図２７】
2007524176.tif 000029
【図２７Ａ】
2007524176.tif 000030
【図２７Ｂ】
2007524176.tif 000031
【図２８】
2007524176.tif 000032
【図２９】
2007524176.tif 000033
【図３０】
2007524176.tif 000034
【図３１】
2007524176.tif 000035
【図３２】
2007524176.tif 000036
【図３３】
2007524176.tif 000037
【図３４】
2007524176.tif 000038
【図３５】
2007524176.tif 000039
【図３６】
2007524176.tif 000040
【図３６Ａ】
2007524176.tif 000041
【図３７】
2007524176.tif 000042
【図３８】
2007524176.tif 000043
【図３９】
2007524176.tif 000044
【図４０】
2007524176.tif 000045
【図４１】
2007524176.tif 000046
【図４２】
2007524176.tif 000047
【図４３】
2007524176.tif 000048
【図４４】
2007524176.tif 000049
【図４５】
2007524176.tif 000050
【図４６】
2007524176.tif 000051
【図４７】
2007524176.tif 000052
【図４８】
2007524176.tif 000053
【図４９】
2007524176.tif 000054
【図５０】
2007524176.tif 000055
【図５１】
2007524176.tif 000056
【図５２】
2007524176.tif 000057
【図５３】
2007524176.tif 000058
【図５４】
2007524176.tif 000059
【国際調査報告】
2007524176.tif 000060
2007524176.tif 000061
2007524176.tif 000062