JP4995071B2 - 処理システムをプログラミングする方法 - Google Patents

処理システムをプログラミングする方法 Download PDF

Info

Publication number
JP4995071B2
JP4995071B2 JP2007501028A JP2007501028A JP4995071B2 JP 4995071 B2 JP4995071 B2 JP 4995071B2 JP 2007501028 A JP2007501028 A JP 2007501028A JP 2007501028 A JP2007501028 A JP 2007501028A JP 4995071 B2 JP4995071 B2 JP 4995071B2
Authority
JP
Japan
Prior art keywords
canvas
icon
icons
configuration
data flow
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
JP2007501028A
Other languages
English (en)
Other versions
JP2007524176A (ja
Inventor
アンドリュー アール オズボーン
チャック コーワム
サラ ブラウン
スティーヴ エイチ ブリアーズ
スティーヴ バーゲス
アラン ニューソン
カイル エム ロデス
Original Assignee
ベプテック インコーポレイテッド
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 ベプテック インコーポレイテッド filed Critical ベプテック インコーポレイテッド
Publication of JP2007524176A publication Critical patent/JP2007524176A/ja
Application granted granted Critical
Publication of JP4995071B2 publication Critical patent/JP4995071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Programmable Controllers (AREA)

Description

(関連出願との相互参照)
本特許出願は、2004年2月25日に出願された米国仮特許出願番号第60/547,588号に基づく優先権及び利益を主張するものである。
本発明は、処理システムと、この処理システムをプログラミングする方法に関する。
データ処理は、事実上制限のない様々な作業を達成するために、多数の異なる製造及びビジネス関連用途に使用されている。データ処理システムが採用される1つの分野は、オートマトン、制御、データ収集、及び機器装備の分野である。実際の機器又はアクチュエータ、例えば、ロードセル、調水弁、又はサーボモータといったものは、リアルタイムでデータ・ストリームを生成し、又は、リアルタイムのコマンド・ストリームを必要とする。データ処理システムを含むコンピュータは機器とインターフェースして、データを収集し、分析して、適切なコマンドを生成する。このデータ収集、並びに、様々な他の作業を達成するように実施される従来技術のデータ処理システムは、異なる設計構成を使用しており、典型的には、ネットワーク様式に系統化されている。ネットワークは、バス又は線形トポロジ、星型トポロジ、環型トポロジ及び同様なもののような様々な構成で配置することができる。ネットワーク内には、典型的には、複数のノード及び該ノードの各々と相互接続する通信リンクがある。ノードは、処理システムの一部であり、機器の各々に接続されて、該機器により出力されるデータを個々に収集する。ノードは、さらに、コンピュータ、端末、ワークステーション、他のアクチュエータ、付加的なデータ・コレクタ、センサ、その他同様なものとすることができる。ノードは、典型的には、プロセッサ、メモリ、及び種々の他のハードウェア・コンポーネント及びソフトウェア・コンポーネントを有する。ノードは、ネットワーク内の通信リンク上で互いに通信して、情報を取得し、送信する。典型的な適用例においては、様々な異なる経路において通信する幾多のノードがあるとすることができる。
処理システムのユーザは、多くの場合、ユーザが処理システムをプログラミングし、使用することを助けるために、物理システムの概念モデルを開発し、これを必要とする。ノードを使用して、この種のデータ処理システムをプログラミングすることは、専門のプログラマーであっても、困難な作業となることがある。従来技術の処理システムを効率的にプログラミングする前に、プログラマーは、幾多の微細で複雑なことを習得しなければならない。数式を使用して処理システムをプログラミングする作業、数学的ステップその他のこうした手順は、さらにプログラミング工程を複雑にする。処理システムを制御するのに用いられるコンピュータ・プログラムは、典型的には、例えば、機械コード、C、C++、又はパスカルといった通常のテキスト形式のプログラミング言語で書かれている。応答性リアルタイム性能は、通常、プログラマーが、マルチスレッドでリアルタイムのオペレーティング・システムを学び、これを採用することを必要とする。これらのプログラミング言語及びオペレーティング・システムは、直感的に使用できるものではなく、データ処理システムにより必要とされるデータを収集し、分析するのに良好に適応されているものではない。
処理システムのユーザ及びプログラマーは、たいてい、専門のプログラマーではなく、したがって、多くの場合、より理解しやすく、直感的に使用できる高レベルのプログラミング技術を必要とする。コンピュータのプログラミングにおいて高度に訓練されていないユーザによるコンピュータ及び処理システムの使用が増加しつつあることで、現行のシステムをより容易に用いて実施するデータ処理システムのプログラミングの必要性がもたらされた。
従来技術は、上で挙げられたプログラミング言語に対して、データ処理システムのプログラミングにおける改善点を考慮した。米国特許番号第4,901,221号、第4,914,568号、及び第5,301,301号を参照されたい。これらの従来技術の文書において開示されるプログラミング技術は、データ処理システムをプログラミングする際に、図表を用いてユーザを助けることを試みるものである。しかし、これらのプログラミング技術は、多数の欠陥を有する。具体的には、これらの手法は、パーソナル・コンピュータを中心とするものであり、本来、分散されたマルチプロセシング・ノードのシステムを取り扱うものではない。プログラミング構成を完了させるのに度外れの数のステップがあり、多数の特徴が直感的に使用できるものではないまま残っている。さらに、処理システムのユーザ又はプログラマーに、多数の不必要な制約がある。最後に、処理システムは、プログラミング工程中、又はプロセシング・システムの動作中、動的に変化することができない。
したがって、相対的に容易で直感的に使用することができる処理システムをプログラミングする方法を開発することが望ましい。さらに、プログラミング方法は、多目的に使用でき、かつ、ユーザが完全に処理システムをカスタマイズすることを可能にするように制約が制限されているものであるべきである。また、プログラミング方法は、マルチプロセシング分散システムに適応可能なものであるべきである。最後に、プログラミング方法は、ユーザがプログラミング・ステップを視覚的に概念化することを助けるように、本質的に図表的なものであるべきであり、かつ、プログラミング工程中及び動作中の両方において動的に変化できるものであるべきである。
本発明は、構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して処理システムをプログラミングする方法を含む。処理システムは、少なくとも1つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、少なくとも1つの視覚機器とを含む。この方法は、各々が第1の複数の機能オブジェクトと関連する第1の複数のオブジェクト・アイコンを、構成カンバス上の複数の異なる位置に配置するステップを含む。複数の実行経路は、処理構成を定義するために、第1の複数のオブジェクト・アイコンが構成カンバス上に配置された場合に、第1の複数のオブジェクト・アイコンの各々の間に自動的にルートされる。データ・フロー経路は、構成カンバス上のオブジェクト・アイコン間に生成される。少なくとも1つの視覚機器が機器カンバス上に配置される。視覚機器に関連する機器アイコンは、一時的ペイン上に自動的に配置される。機器アイコンは、一時的ペインから移動されて、機器アイコンを構成カンバス上に配置する。この方法は、データ・フロー経路を、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも1つとの間に生成して、機器カンバス上の視覚機器が構成カンバス上の処理構成と動作可能に接続されるようにするステップを含む。或いは、少なくとも1つの機器アイコンを、まず、構成カンバス上に配置することができる。機器アイコンと関連する視覚機器は、次いで、一時的ペイン上に自動的に配置される。データ・フロー経路は、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも1つとの間に生成される。代替的な方法は、機器カンバス上の視覚機器が、構成カンバス上の処理構成と動作可能に接続されるように、視覚機器を一時的ペインから移動して、視覚機器を機器カンバス上に配置することを含む。
したがって、本発明は、極めて多目的に、しかし直感的に使用することができる図表的なプログラミング技術を生成する処理システムをプログラミングする改善された方法を含む。以下により詳細に考察されるように、プログラミング方法は、本質的に動的なものであり、かつプログラミング工程中及び動作中の両方において動的に変化できるものである。
本発明の利点は、以下の詳細な説明を参照し、添付の図面と関連して考慮した場合に、より理解されるように、容易に理解されるであろう。
幾つかの図にわたり、同様の番号が同様の又は対応する部分を示す図面を参照すると、1つの想定される処理システムの適用例の概略図が、図1において、全体を10として示されている。具体的には、処理システム10は、複数のノードを有する分散マルチプロセシング・システム10として構成される。1つの想定される分散マルチプロセシング・システム10の適用例は、例えば、車両の試験中に、データをコンパイルし、分析するためのものである。当業者であれば、本発明の処理システム10は幾多の適用例を有しており、後に続くデータ収集及び車両試験に関する説明は例示的な目的に過ぎず、本発明の範囲を制限することを意図するものではないことを理解するであろう。
図1に示すように、サーボ弁14をもつ油圧アクチュエータ12が概略的に示される。油圧アクチュエータ12は、乗り物といった試験片16上に作用する。ロードセル18及び変位変換器20はアクチュエータ12に接続されて、フォース及び変位といった信号をインターフェース22に与える。インターフェース22は、さらに、サーボ弁14に接続されて、必要な制御信号を与える。インターフェース22は、図においてはノード1として表示が付されるサーボ・コントローラ・ノードの一部であることが好ましい。ノード1は、さらに、1つ又はそれ以上のプロセッサ及び通信インターフェース24を含む。ノード1のプロセッサは、デジタル信号プロセッサ(DSP)であることが好ましい。ノード1は、次いで、通信リンク26によりルーティング・ハブ28に接続される。図示のように、さらに、ハブ28に接続される他のノード及びホスト・ノードがある。任意数のノードをハブ28に接続することができ、これらのノードは、あらゆる好適な数及び種類のプロセッサを有する。ホスト・ノードは、モニタ32、キーボード34、マウス36、及び他の好適な周辺デバイスのいずれかと併せてPCプロセッサ30を有することが好ましい。ホスト・ノードは、バス・インターフェース38、1つ又はそれ以上のDSPプロセッサ、及び通信インターフェース40を有するDSPカードを含む。ノード1におけるように、ホスト・ノードの通信インターフェース40は、通信リンク26により、ホスト・ノードをハブ28に接続する。さらにノード1におけるように、ホスト・ノードにおけるプロセッサの種類又は大きさに関して制限はない。ハブ28及びノード構成の特定で独特な構造、並びに、ノード自体の詳細は、同時係属中の米国特許出願連続番号09/692,852号、及び第09/982,601号に開示されており、これらの開示は、引用によりここに組み入れられる。
背景技術部分で上述されたように、従来技術の処理システムは、プログラムするのが困難で、直感的に使用できるものではないことがある。図1に示す分散マルチプロセシング・システムの論理的発展形態もまた、プログラムするのが困難とすることができる。したがって、本発明は、これらの必要性に対処するために発明された。本発明は、以下に詳細に述べられる、本質的に図表的で、極めて多目的にかつ直感的に使用することができる分散マルチプロセシング・システムをプログラミングするための幾多の改善された方法を含む。プログラミング方法は、さらに、本質的に動的なものであり、プログラミング工程中及び動作中の両方において変更することができる。
図2ないし図10を参照すると、プログラミング方法に用いられる基本的なコンポーネントの多くが示されている。ブランクのコンピュータ・モニタの起動画面を図2に示す。この画面又はウィンドウは、視覚構成エディタ(VCE)として表示が付される。VCE又は起動画面上に示される特徴の多くは、ウィンドウをベースとするシステムに典型的なものである。VCEは、プロジェクトを作成し、編集し、稼動させ、監視するために、ユーザにより採用される環境である。用語REDGRID(登録商標)は、米国特許局による登録商標であり、本特許出願におけるこの用語のどのような使用も、決して、このマークに利用可能な強さ及び/又は保護を減少させるものではないことに注目されたい。さらに、本特許出願に用いられる視覚構成エディタ及びVCE、並びに、REDGRID(登録商標)マークに隣接する図表表示は、決して、これらの登録商標に利用可能な強さ及び/又は保護を減少させるものではない。
図3は、新規プロジェクト作成コマンド、プロジェクト・ファイルを開くコマンド、及びプロジェクトを保存するコマンドを含む起動画面のファイル・メニューを示す。図4は起動画面の表示メニューを示し、図5は起動画面のツール・メニューを示す。表示メニューは、図6に示すようにユーザが、選択的に、種々のペインを開くことを可能にする。図6を参照すると、起動画面上に、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインが開かれている。ペインは、浮動していてもよいし、又は、ドック可能であってもよく、要望に応じて大きさを変更することができる。これらのペインの各々は、以下に詳細に述べられるように、ユーザが、プロジェクトを作成するか、修正するか、又は実行する場合に、特定の目的を有する。図5のツール・メニューは、特定の複雑な作業を実行するように設計された高レベルのソフトウェア特徴を含む。これらのソフトウェア特徴は、ユーザ及びその他同様なものを助けることに特化した計算プログラムとすることができる。したがって、ソフトウェア特徴は、効率の良い労力節約デバイスである。
システム設定ペイン又はプロセッサ・ペインを、図7に、より詳細に示す。システム設定ペインは、現在ユーザに利用可能なプロセッサのすべてのツリー表示を示す。プロセッサは、ノードの下で系統化される。本例においては、2つの利容易可能なノードがある。一方のノードはローカル・ノードであり、これは、上述のホスト・ノードの別名である。換言すると、ローカル・ノードは、コンピュータの一部である。ローカル・ノードは、386として表示が付されるPCプロセッサを含み、5つの区別できる事象がプロセッサ・ペインにおいて識別される。以下でより詳細に述べられるように、PCプロセッサの下で識別される事象を別個に処理システムにおいて使用して、実行経路を開始することができる。他方の利用可能なノードは、REDgridDSPカードであり、これは、上述のノード1の特定の名称である。上述のように、REDgrid(登録商標)は登録商標であり、本出願においては、想定される実施形態の説明を助けるためだけに用いられる。ノード1は、「1」及び「2」と表示が付される2つのプロセッサを含む。プロセッサはDSPであり、この各々は、ユーザが選択することができる3つの事象を含むことが好ましい。しかし、この特定の処理システムの実施においては、DSPは、ノード1の下のこれらのプロセッサの各々は処理システムにおいて一度だけ使用することができるように設計されるが、各々の事象を個々に選択することができるようにDSPを実施することが可能であるので、このことは、決して、本発明を制限するものではない。
上述の事象は、プロセッサの様々な異なる実行速度を区別する。リアルタイムの処理システムにおいては、ユーザは、典型的には、実行経路が周期的な様式において、特定の速度で繰り返されることを要求する。換言すると、以下でさらに詳細に述べられる実行経路は反復的かつ連続的なものとすることができる。ユーザは、制御されているデバイスのニーズに基づいてこれらのパラメータを選択し、次いで、プロセッサの事象及び速度を、これにしたがって選択することができる。周期的な事象に加えて、非周期的な様式で実行を開始することができる利用可能な事象があることがある。
ツールボックス・ペインを、より詳細に図8及び図9に示す。ツールボックス・ペインは、事実上、特定の適用例のいずれかによる要望に応じて、任意数の項目を有することができる。フォルダの例は、描画オブジェクト、非繰り返しオブジェクト、基本形状、及び視覚機器を含むことができる。描画オブジェクトは、ユーザが論理的で理解可能なプロジェクトの構成を作成することを助ける視覚要素である。描画オブジェクトは、一般に、実行可能なオブジェクトではない。視覚機器については、以下にさらに詳細に述べる。
図9に示すように、基本形状フォルダは、サブフォルダ、サブ・サブフォルダ等の大きい部類を含む。基本形状フォルダ内には、複数の機能オブジェクト又は基本形状がある。機能オブジェクトの例を、機器サブ・サブフォルダの下、及びソース・サブ・サブフォルダの下に示す。機能オブジェクトは、機能オブジェクトの各々が特定の機能を実行するように予めプログラムされた基本的な実行可能コード又はコマンドを含む。以下に述べられる機能オブジェクトは、より複雑な作業を実行するように組み立てられ、接続された基本的な要素又は基本構成要素である。機能オブジェクトは、特別に、プロセッサ又はプロセッサの系列上で稼動するように書くことができる。図8の例においては、ホスト及びSHARCという2つの機能オブジェクトの部類がある。ホスト機能オブジェクトは、PC又はホスト・プロセッサ上でのみ実行されるように設計される。SHARC機能オブジェクトは、SHARC DSP上でのみ実行されるように設計される。機能オブジェクトの集まりであるユーザ・オブジェクトについては、以下に、より詳細に述べる。
図10は、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが起動画面上に開かれて、該起動画面の縁に沿ってドックされた状態を示す。明確に示すように、プロパティ・ペイン及びプロジェクト・エクスプローラ・ペインは、現在のところ空である。さらに、同様に、現在のところ空の未使用ペイン又は一時的ペインは、視覚から隠れている。
図11ないし図16を参照すると、プログラミング方法、並びに、プロジェクトの開始に使用される付加的な基本コンポーネントが示されている。図11に示すように、ユーザは、ファイル・メニューを開き、新規/プロジェクト・コマンドを選択することにより開始する。図12は、起動画面内の新規プロジェクト作成ウィンドウを示し、ユーザは、プロジェクトに「Simple Project」という名称を割り当てる。図13に示すように、ここで、ブランクの構成カンバスが、その縁に沿って開いたまま残っていたシステム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインと共に表示される。プロジェクト・エクスプローラは、ここで、ツリーの始まりを示し、カンバス上のプロジェクトを追跡する。
プロジェクトが開始すると、3つの新しいメニューの選択肢が表示される。図14に示すように、構成カンバスの編集メニューは、よく知られたウィンドウ編集制御部を含む。図15に示すように、構成カンバスの挿入メニューは、ユーザに、構成カンバスに挿入することができる描画オブジェクトのリストを与える。上述のツールボックス・ペインにおける描画フォルダは、同じ描画オブジェクトのリストを含む。図16は、構成カンバスの制御メニューを示し、これは、完了したプロジェクトの実行を制御するための選択肢を含む。ユーザを助けるために、実行制御部が、さらに画面のツールバー上に配置される。
図17ないし図31を参照すると、ここで、上で開始された処理システムの「Simple Project」といった基本プロジェクト、並びに、多数の他の特徴をプログラミングする方法が詳細に説明されている。図17に示すように、プロセッサの1つと関連するプロセッサ・アイコンがカンバス上に配置される。具体的には、プロセッサ・ペインからの事象の1つは、選択したものをカンバス上にドラッグ・アンド・ドロップすることにより移動されて、カンバス上にプロセッサ・アイコンを作成する。本例においては、REDgrid DSPカード・ノードの下の「1」DSPがカンバス上に移動される。ユーザは、具体的には、IRQ2事象を選択し、この事象は、プロセッサの表示付けにおいて識別される。IRQ2事象は、1秒当たり20,480回だけ実行経路を実行する反復事象である。このプロセッサにおける事象のすべては、ここで、影が付けられて、このプロセッサがこのプロジェクトには使用できなくなったことを示す。ここでも、一度選択されたすべての事象が利用不可になることは、処理システム特有の実施の特性であることに注目されたい。さらに、プロセッサによりプロジェクトを開始する必要はなく、ユーザは、処理構成を構築するのに望ましいシーケンスのいずれにもしたがってよい。
図18に示すように、ユーザは、望ましい機能オブジェクトについてツールボックス・ペインをブラウズし、次いで、第1機能オブジェクトに関連する第1オブジェクト・アイコンをカンバス上の第1の位置に配置する。具体的には、ツールボックス・ペインからの関連する記号がカンバス上にコピーされ、これが第1オブジェクト・アイコンを定義する。本例においては、第1オブジェクト・アイコンは正弦波発生器機能オブジェクトと関連しており、ツールボックス・ペインにおけるソース・フォルダの下の正弦波発生器記号からカンバス上にドラッグ・アンド・ドロップされる。プロジェクト・エクスプローラ・ペインは、自動的に、正弦波発生器をツリーに示し、プロジェクトが修正される度に自動的に更新される。正弦波発生器はハイライト表示され、プロパティ・ペインには、正弦波発生器に関する種々の情報が表される。
図19ないし図22を参照すると、プロパティ・ペインがより詳細に示されている。本例においては、浮動加算機能オブジェクトがカンバス上に配置されて、ハイライト表示されている。プロパティ・ペインは、この機能オブジェクトの隣で浮動する状態で示される。プロパティ・ペインは、事実上、プロジェクトにおける機能オブジェクトのすべてのプロパティのすべてを検査し、修正するのに用いられる。例えば、データ信号、コネクタ(データ・ポート)、及び機能オブジェクトの視覚的外観のプロパティを検査及び/又は修正することができる。図19の例においては、ユーザは、入力1及び入力2について値を入力することができ、このことは、ユーザが入力信号の初期条件を設定することを可能にする。プロパティ・ペインは、さらに、信号、接続、情報、及び映像といった異なる表示を選択するためのミニ・ツールバーにおけるタブを有する。信号表示を図19に示す。接続表示を図20に示し、ユーザは、どのようなデータ接続も表示する又は隠すことができる。このことは、ユーザに利用可能な多数の入力及び出力を有するが、必要であるのはほんのわずかだけであり、したがって、視覚クラッタを除去するので、高度に複雑なオブジェクトに有益である。情報表示を図21に示し、映像表示を図22に示す。映像表示においては、図表記号がどのように表示され、反応するかというすべての態様を検査し、修正することができる。
作成されている基本プロジェクトに戻ると、図23は、第2機能オブジェクトに関連する第2オブジェクト・アイコンがカンバス上の第2の位置に配置される状態を示している。第2アイコンの第2の位置は、第1アイコンの第1の位置とは異なるものである。本例においては、第2アイコンは、乱数発生器機能オブジェクトと関連付けられている。図24及び図25に示すように、第3機能オブジェクトに関連する第3オブジェクト・アイコンが、次いで、カンバス上の第3の位置に配置される。ここでも第3の位置は、第1の位置及び第2の位置とは異なるものである。本例においては、第3アイコンは、浮動乗算機能オブジェクトと関連付けられている。
本発明の1つの特徴は、アイコン及びプロセッサがカンバス上に配置される実行経路のルーティング及び再ルーティングに関する。図24及び図25に示すように、実行経路は、カンバス上の第1オブジェクト・アイコンの第1位置及び第2オブジェクト・アイコンの第2位置に対する第3オブジェクト・アイコンの第3位置の方位に基づいて、第1オブジェクト・アイコン及び第2オブジェクト・アイコンの一方から第3オブジェクト・アイコンに、自動的に、ルートされる。別の方法で述べると、実行経路は、カンバス上の第1オブジェクト・アイコンの第1位置及び第2オブジェクト・アイコンの第2位置に対する第3オブジェクト・アイコンの第3位置の方位に基づいて、第1オブジェクト・アイコン及び第3オブジェクト・アイコンの一方から第2オブジェクト・アイコンに、自動的に、ルートされる。
図24の例においては、カンバス上で左から右に視認した場合に、第2オブジェクト・アイコンの第2位置が第1オブジェクト・アイコンの第1位置と第3オブジェクト・アイコンの第3位置との間にあるため、実行経路は、第2オブジェクト・アイコンから第3オブジェクト・アイコンに、自動的に、ルートされる。実行経路は、さらに、第2オブジェクト・アイコンがカンバス上に配置されている場合に、自動的に、第1位置における第1オブジェクト・アイコンから第2位置における第2オブジェクト・アイコンにルートされる。換言すると、図23に示すように、実行経路は、即時かつ自動的に、第2アイコンの相対的な方位に基づいて、第1オブジェクト・アイコンから第2オブジェクト・アイコンにルートされる。
或いは、図25に示すように、実行経路は、カンバス上で左から右に視認した場合に、第3オブジェクト・アイコンの第3位置が第1オブジェクト・アイコンの第1位置と第2オブジェクト・アイコンの第2位置との間にあるため、実行経路は、第1オブジェクト・アイコンから第3オブジェクト・アイコンにルートされる。この代替的な例においては、第1オブジェクト・アイコンからの実行経路は、第3オブジェクト・アイコンの方位に応答して、実行経路が第3オブジェクト・アイコンに再ルートされるように、自動的に、途切れなく、図23に示すものからルートされる。さらに、実行経路は、第3オブジェクト・アイコンの方位に応答して、第3位置における第3オブジェクト・アイコンから第2位置における第2オブジェクト・アイコンに自動的にルートされる。したがって、この代替的な例においては、実行経路は、第1アイコンから第3アイコンに、次いで、第2アイコンにルートされる。
実行経路は、さらに、アイコンの方位に基づいて、プロセッサ・アイコンから、第1オブジェクト・アイコン、第2オブジェクト・アイコン、及び第3オブジェクト・アイコンの1つに自動的にルートされる。プロセッサ・アイコンから第1オブジェクト・アイコン、第2オブジェクト・アイコン、及び第3オブジェクト・アイコンの1つへの実行経路は、カンバス上で左から右に視認した場合に、第1オブジェクト、第2オブジェクト、及び第3オブジェクトの最も左の位置に基づいて自動的にルートされる。図17及び第18に示す例においては、プロセッサが、まず、カンバス上に配置され、次いで、第1アイコンがカンバス上に配置される。第1アイコンは最も左の位置にあるため、図18に示す実行経路は、第1アイコンに自動的にルートされる。プロセッサが、まず、カンバス上に配置されることに対する必要はなく、さらに、プロセッサがカンバスの左側の位置に沿って配置されることに対する必要もないことが理解されるべきである。
実行経路は、色の付いた矢印又は独自に構成された矢印により識別することができる。以下でさらに詳細に述べられるように、異なるプロセッサからオブジェクト・アイコンの異なる構成の群にルートされた多数の異なる実行経路があるとすることができる。これらの種類のマルチプロセシング構成においては、異なるプロセッサからルートされた異なる処理構成を識別するために、異なる色の又は異なる構成の矢印を有することが望ましい。現在再視認されている又は修正されている実行経路はツールバー上で識別される。
図24と図25を比較すると、本発明の動的性質が示されている。オブジェクト・アイコンは、最初に、図24に示す方位で、カンバス上に配置することができる。次いで、オブジェクト・アイコンの1つ(本例においては第3オブジェクト・アイコン)を異なる位置に移動することができる。図25の例においては、浮動乗算(第3オブジェクト・アイコン)が第1アイコンと第2アイコンとの間に移動された。上述のように、実行経路は、カンバス上の他のアイコンに対して移動される第3オブジェクト・アイコンの方位に基づいて、自動的に途切れなく再ルートされる。実行経路及び引き直しプロセスの生成は、リアルタイムで連続的に実行され、アイコンは、一方の方位から別の方位にドラッグされる。
図24と図26を比較すると、本発明の動的性質の別の例が示されている。プロセッサ・アイコン及びオブジェクト・アイコンは、最初に、カンバス上に、図24に示す方位で配置することができる。乱数発生器(第2オブジェクト・アイコン)を、次いで、図26に示すプロセッサと第1オブジェクト・アイコンとの間の位置に移動することができる。ここで、第2オブジェクト・アイコンは、最も左のアイコンであり、プロセッサからの実行経路は、自動的に途切れなく第2オブジェクト・アイコンに再ルートされる(図26を参照されたい)。これに応答して、残りの実行経路もまた、実行経路が、ここでは、図27に示すように、プロセッサから第2オブジェクト・アイコン、第1オブジェクト・アイコン、及び第3オブジェクト・アイコンにルートされるように、再ルートされる。
さらに図27に示すように、第4機能オブジェクトと関連する第4オブジェクト・アイコンがカンバス上の第4の位置に配置され、第4の位置は、第1の位置、第2の位置、及び第3の位置とは異なるものである。本例においては、第4アイコンは、スコープ機能オブジェクトと関連する。実行経路は、さらに、第4オブジェクト・アイコンがカンバス上に配置されている場合に、第3の位置における第3オブジェクト・アイコンから第4の位置における第4オブジェクト・アイコンに自動的にルートされる。同じ又は異なる機能オブジェクトと関連する任意数の付加的なアイコンがカンバス上に配置されてよいことが理解されるべきである。本例においては、カンバス上に配置された、同様にスコープに関連する1つの付加的なアイコンがある。
機能オブジェクト及び関連のオブジェクト・アイコンの各々は、少なくとも1つの入力及び/又は少なくとも1つの出力を含む。入力及び出力は、データの送受信のためのデータ・ポートとして設計される。図27Aは、2つの入力及び1つの出力を有する浮動乗算アイコンを示す。機能オブジェクト及びオブジェクト・アイコンは、要望に応じて、好適な任意数の入力及び/又は出力を有することができることが理解されるべきである。
図27A及び図27Bを参照すると、オブジェクト・アイコンの各々に関連する別の特徴が示されている。具体的には、第1オブジェクト・アイコン、第2オブジェクト・アイコン、及び第3オブジェクト・アイコンの各々は、数学的記号又は工学的記号といった複数の記号及びテキストといった記述子を含む。カンバス上の空間的制限のために、ユーザにとって、望むときに動的に変更することができる複数の記号及び記述子を有することは有利である。ユーザが機能オブジェクトの機能又は動作を理解するのに、記号単独で十分である場合がある。他の場合には、ユーザは、例えば、入力及び出力のさらなる詳細及び説明を見ることを望む。図27Aは、ユーザが視認可能なテキスト識別子を有する浮動乗算アイコンを示す。具体的には、入力及び出力データ・ポートが視認可能である。入力及び出力の表示はユーザにより構成可能である。図示例においては、入力及び出力の名称の第1の文字だけが保存空間に表示される。好ましい実行経路は左から右への様式で進むため、入力は左側の縁上に示され、出力は右側の縁上に示される。図27Bは、ここでは、ユーザに視認可能な記号を有する同じ浮動乗算アイコンを示す。ユーザが特定の入力又は出力を指した場合には、入力又は出力の名称が、視認可能になる。好ましい実施形態においては、オブジェクト・アイコンの各々は、図表記号及びテキスト識別子の両方を含み、記号及び記述子の一方だけがいずれのときにも視認可能である。ユーザがカーソルをオブジェクト上に置いて、表示を動的に変化させることは、さらにより好ましい。
この例示的なプロジェクトにおけるこの時点で、及び図27に示すように、実行経路はすべて確立された。しかし、好ましい実施形態においては、実行経路は、データ・フロー経路とは独立している。図28及び図29を参照すると、データ・フロー経路は、ここで、カンバス上の実行経路のルーティングとは別個に、カンバス上の第1オブジェクト・アイコン、第2オブジェクト・アイコン、第3オブジェクト・アイコン、及び第4オブジェクト・アイコンの間に生成される。具体的には、オブジェクト・アイコン間のデータ・フロー経路の生成は、人為的に、カンバス上のオブジェクト・アイコンの1つからの出力を別のオブジェクト・アイコンの入力に接続することにより実行される。さらにより具体的には、ユーザは、入力又は出力をクリックし、カンバス上のポインタを対向する入力又は出力の方向にドラッグする。許容されるデータ接続が取得された場合には、接続されたデータ・フロー経路を示す実線が描かれる。図28に示す例においては、乱数発生器の出力は、データ・ポート間のデータ・フロー経路を接続することにより、浮動乗算の入力に接続される。実行経路は、データ・フロー経路の接続により影響されることはない。
図29は、種々のオブジェクト・アイコン間の完了したデータ・フロー経路を示す。データ・フロー経路は、多数の入力が1つ又はそれ上のオブジェクト・アイコンにより必要とされる場合には、自動的に、1つより多い入力に自動的に分散され、したがって、データ・フロー経路上に分散点を生成することができる。データ・フロー経路の分散は、決して、データの実際の値に影響を与えない。データ・フロー経路を通過するデータの値は、単純に、1つより多いオブジェクト・アイコンに送られる。図示例においては、浮動乗算及びスコープ2の両方が多数の入力を必要とする。したがって、正弦波発生器及び乱数発生器からの出力が分散され、分散点はデータ・フロー経路のこの領域上に配置される。別の機能オブジェクトと関連する分散アイコンは、自動的に、データ・フロー経路上の分散点において生成されることが好ましい。さらに、実行経路は、アイコンの相対的な方位に基づいて、分散点における分散アイコンを含むように、自動的に再ルートされる。或いは、別の機能オブジェクトと関連する分散アイコンは、1つより多い入力が1つ又はそれ以上のアイコンにより必要とされる場合には、データ・フロー経路を分散するように、人為的に、データ・フロー経路上に配置することができる。
図30及び図31を参照すると、ここでプロジェクトが完了している。処理システムは、機能オブジェクトが、オブジェクト・アイコン間の実行経路の順番で、関連の機能を実行し、かつ、データがアイコン間のデータ・フロー経路に沿って通るように動作させることができる。処理システムの動作は、さらに、カンバス上で視認された場合に、左から右への順番で、アイコン間の実行経路を動作させるように定義される。したがって、最も左のオブジェクト・アイコンが第1に実行され、そのすぐ右にあるオブジェクトが第2に実行され、特定の実行経路上のオブジェクト・アイコンのすべてが実行されるまで、以下同様である。上述のように、典型的な処理システムは、最も右のオブジェクト・アイコンに関連する機能オブジェクトが実行されると、動作が連続的に繰り返されるように繰り返すものである。好ましい実施形態においては、データ・フロー経路を通過する値は、実行経路の各々のパスの間で保存される。したがって、最後の実行において生成された値は、次の実行のための入力として利用可能とすることができる。動作の順番は、本発明の範囲全体から逸脱することなく、変更することができることが理解されるべきである。
プロジェクトの動作は、停止、一時停止、稼動といったツールバー上のコマンドにより制御される。図31に示す例においては、スコープ2は、正弦波発生器及び乱数発生器からのオリジナル信号を表示する。スコープ1は、これらの信号のリアルタイムの乗算を表示する。
本発明の別の特徴は、オブジェクト・アイコンの1つを異なる位置に移動して、実行経路を、カンバス上で相対的に移動されたオブジェクト・アイコンの方位に基づいて、自動的に再ルートすることができ、処理システムは、実行経路がリアルタイムで再ルートされるように動作することである。換言すると、処理システムをプログラミングする場合に、詳細に上述されたアイコンの移動及び実行経路の再ルーティングは、処理システムが動作している間にも実行することができ、したがって、本発明の多用性を大いに増加させることができる。
図32ないし図36を参照すると、別の完了したプロジェクトが示されている。このプロジェクトにおいては、システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインのすべてが画面の右手側にドックされているため、構成カンバスが大きい。上述のように、ペインは、画面上で任意の好適な様式で配置することができる。図32に示す特定の構成は、構成カンバスの空間を最大にし、ペインすべてに対するアクセスを可能にする。
図32ないし図36に示すプロジェクトはマルチプロセシング、すなわち、カンバス上には1つより多いプロセッサが配置されている。図32に示す構成を生成するためには、第1プロセッサと関連する第1プロセッサ・アイコンがカンバス上に配置される。各々が第1の複数の機能オブジェクトと関連する第1の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第1処理構成を定義するために、第1の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第1の複数の実行経路は、第1プロセッサ・アイコンから第1の複数のオブジェクト・アイコンの各々に自動的にルートされる。同様に、第2プロセッサ・アイコンがカンバス上に配置される。各々が第2の複数の機能オブジェクトと関連する第2の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第2処理構成を定義するために、第2の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第2の複数の実行経路は、第2プロセッサ・アイコンから第2の複数のオブジェクト・アイコンの各々に自動的にルートされる。図示のように、第2処理構成の殆どは、第1処理構成の複製であり、システムにおける冗長性を生成する。最後に、第3プロセッサがカンバス上に配置される。各々が第3の複数の機能オブジェクトと関連する第3の複数のオブジェクト・アイコンがカンバス上の複数の異なる位置に配置される。第3処理構成を定義するために、第3の複数のオブジェクト・アイコンがカンバス上に配置された場合には、第3の複数の実行経路は、第3プロセッサ・アイコンから第3の複数のオブジェクト・アイコンの各々に自動的にルートされる。第1、第2、及び第3の複数の実行経路を区別するために、これらの実行経路は、独自に表示が付される。第1、第2、及び第3の複数の実行経路は、各々の実行経路について独特な色を用いることにより区別されることが好ましい。
第1データ・フロー経路が、カンバス上の第1プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第1の複数のオブジェクト・アイコン間で生成される。本例においては、第1データ・フロー経路は、信号発生器1、信号発生器2、浮動減算1、パワー1、及び平均1の間で生成される。同様に、第2データ・フロー経路が、カンバス上の第2プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第2の複数のオブジェクト・アイコン間で生成される。本例においては、第2データ・フロー経路は、一対の分散アイコン、浮動減算2、パワー2、及び平均2の間で生成される。データ・フロー経路の分散のために、信号発生器1及び信号発生器2は、データを第1及び第2のデータ・フロー経路に送る。最後に、第3データ・フロー経路が、カンバス上の第3プロセッサ・アイコンからの実行経路のルーティングとは別個に、カンバス上の第3の複数のオブジェクト・アイコン間で生成される。本例においては、第3データ・フロー経路は、第1データ・フロー経路の平均1、第2データ・フロー経路の平均2、浮動減算3、浮動絶対値1、及び計器1の間で生成される。明白に示すように、データ・フロー経路は、カンバス上のオブジェクトのいずれの間でもデータを流すように生成することができる。具体的には、第1、第2、及び第3のデータ・フロー経路の少なくとも1つは、第1の複数のオブジェクト・アイコン、第2の複数のオブジェクト・アイコン、及び第3の複数のオブジェクト・アイコンの少なくとも1つの間で流れるようにルートされて、データが第1、第2、及び第3の処理構成にわたり、及びこれらの間を通るようにする。データ・フロー経路は、さらに、必要に応じて、上で概説された手順によって分散させることができる。ここで完了するこれらの処理構成の生成は、上で概説された方法により実行される。
図33に示すように、オブジェクト・アイコンは、カンバス上の異なる方位に移動させることができる。データ・フロー経路は、アイコンが移動された場合には修正されない。データ・フロー経路は、単純に、新しい方位に基づいて、引き直される。各々の処理構成の実行経路は、他の処理構成の実行経路と自動的に相互作用することはない。したがって、図33に示すように、第3処理構成のオブジェクト・アイコンは、カンバスの上部に移動された。第3処理構成のプロセッサからの実行経路は、自動的に、第3処理構成の最も左のオブジェクト・アイコンを辿り、第1及び第2の処理構成の他の実行経路と自動的に相互作用することはない。
図34は、カンバス内で方位を変化させるオブジェクト・アイコンの別の例である。具体的には、第2処理構成のオブジェクト・アイコン(浮動減算2)がカンバス上の異なる方位に移動される。ここでも、データ・フロー経路は変化せず、オブジェクト・アイコンの新しい方位に基づいて、単純に引き直される。この図は、データ・フロー経路がデータを左から右へ、右から左へ、上から下等に送ることができることを明らかに示す。しかし、データを右から左に送るデータ・フロー経路の影響がある。上述のように、実行経路は、左から右に進む。したがって、データ接続が、後で実行経路に入るオブジェクト・アイコンから作成された場合には、遅延が生じる。したがって、オブジェクト・アイコンを移動して、強制的に、データ・フロー経路がデータを右から左に送るようにすることは、データの通過において遅延を開始させる1つの手段となることがある。図34の本例においては、浮動減算2アイコンは、後で、第2処理構成の実行経路になる位置に方位付けられているために、パワー2アイコンについてのデータが受け取られないので、単一の遅延が処理システムの反復的な実行において生じる。
詳細に上述されたように、移動されたオブジェクト・アイコンは、以前は最も左のアイコンであったため、第2処理構成の実行経路は再ルートされる。第2処理構成のプロセッサの実行経路は、したがって、新規な最も左のオブジェクト・アイコン(パワー2)に再ルートされる。移動されたオブジェクト・アイコンへの実行経路もまた、ここで、オブジェクト・アイコン(平均2)から移動されたオブジェクト・アイコン(浮動減算2)の左への新規なルートに再ルートされる。ここでも、第1及び第3の処理構成の実行経路が影響を受けることはない。
図35は、マルチプロセシング環境における実行経路を人為的に再ルートすることができる、本発明のさらに別の特徴を示す。具体的には、再ルートされたオブジェクト・アイコンと関連する第1の複数の実行経路を自動的に除去し、第2の複数の実行経路を再ルートされたオブジェクト・アイコンに自動的にルートすることにより、第1処理構成からの第1の複数のオブジェクト・アイコンの1つが、第2処理構成に再ルートされる。図35に示す例においては、以前は第1処理構成の実行経路の一部であった信号発生器1が、第2処理構成の実行経路の一部に移動される。この動作は、移動されるべきオブジェクト・アイコン(本例においては信号発生器1)をハイライト表示することにより実行される。次いで、ツールバーを使用することにより、実行経路を変化させる。古い構成(第1処理構成)及び新規な構成(第2処理構成)の両方の実行経路が自動的に再ルートされる。データ・フロー経路が影響を受けることはない。この種の変化は、ユーザにとって実用的な利点を有することができる。具体的には、計算の負担を、ここで、2つのDSPにわたり、より等しく広げることができる。
図36は、図35に示す本発明の同様な特徴を示す。しかし、オブジェクト・アイコンが、第1処理構成から第3処理構成に移動されている。したがって、再ルートされたオブジェクト・アイコンに関連する第1の複数の実行経路は、自動的に除去されて、第3の複数の実行経路は、再ルートされたオブジェクト・アイコンに自動的にルートされる。図36に示す例においては、以前は第1処理構成の実行経路の一部であった信号発生器1が、ここでは、第3処理構成の実行経路の部分に移動されている。ここでも、データ・フロー経路は影響を受けない。
種々の処理構成の中及びこれの外へのオブジェクト・アイコンの移動は、極めて多目的なツールであり、具体的には、第1のプロセッサは第1の機械言語を含むことができ、第2のプロセッサは、第1の機械言語とは異なる第2の機械言語を含むことができる。異なる機械言語の下で動作する処理構成からのオブジェクト・アイコンの再ルーティングは、途切れるものではなく、異なる機械言語により影響されるものではない。
図36Aを参照すると、第1処理構成のアイコン間の実行経路、及び第2処理構成のアイコン間の実行経路に同期オブジェクトを挿入して、挿入点においてこれらの実行経路を同期することができる。したがって、これらの処理構成の各々にわたるデータ処理は、挿入点においてリアルタイムで同期される。同期オブジェクトは、マルチプロセシング環境における機能オブジェクトの実行を整合するための単純で図表的手段を与える。認識できることであるが、異なるプロセッサ及び/又は異なる事象を異なる速度で実行することができる。同期オブジェクトは、ユーザが、特別に、同期点を多数のプロセッサの多数の実行経路に強制することを可能にする。特定の実行経路の実行が同期オブジェクトに到達した場合には、実行は、すべての同期実行経路がそれぞれの同期オブジェクトに到達するまで待機する。この時点で、実行経路のすべては、進行することが可能になる。
図37ないし図46を参照すると、本発明の視覚機器特徴が詳細に述べられている。視覚機器は、コンピュータのモニタ上に表示され、ユーザが、動作中に処理システムと相互作用することを可能にする制御部及びインジケータを作成することを可能にする。図37に示すように、コンピュータは、さらに、機器カンバスを含む。機器カンバスは、構成カンバス上に配置されて示される。いずれのときにも複数の機器カンバスが開いていてよいことが理解されるべきである。図38に示すように、処理システムは、少なくとも1つの視覚機器を含む。視覚機器は、ツールボックス・ペインにおける視覚機器フォルダの下に見出されることが好ましい。
少なくとも1つの視覚機器を図39に示すように機器カンバス上に配置することができる。具体的には、視覚機器の記号はツールボックス・ペインに配置され、コピーは、機器カンバスにドラッグ・アンド・ドロップされて、視覚機器を定義する。視覚機器は、機器カンバス内に配置され、さらに、要望に応じて、大きさを変更することができる。図示例においては、機器カンバスは、ノブ及び計器を含む。
図40は、機能オブジェクトと関連する少なくとも1つのオブジェクト・アイコンが構成カンバス上に配置された別の構成カンバスを示す。プロセッサと関連する1つ又はそれ以上のプロセッサ・アイコンもまたカンバス上に配置される。1つ又はそれ以上の実行経路は、処理構成を定義するために、オブジェクト・アイコンが構成カンバス上に配置された場合に、プロセッサ・アイコンとオブジェクト・アイコンとの間に自動的にルートされる。データ・フロー経路もまた、構成カンバス上のプロセッサ・アイコンとオブジェクト・アイコンとの間に生成される。
図39ないし図41を参照すると、視覚機器に関連する機器アイコンは、視覚機器が機器カンバス上に配置された場合に、自動的に、未使用ペイン又は一時的ペイン上に配置される。視覚機器は、次いで、一時ペインから移動されて、機器アイコンを構成カンバス上に配置する。本例においては、ノブ及び計器の両方と関連する機器アイコンは、ノブ及び計器が機器カンバス上に配置された場合に、自動的に、未使用ペイン又は一時的ペイン上に配置される。図40に示すように、ノブは構成カンバスに移動され、計器は未使用ペイン又は一時的ペインに残る。具体的には、ノブは、未使用ペインから構成カンバスにドラッグ・アンド・ドロップされる。図41は、ノブ及び計器の両方が構成カンバスに移動されて、未使用ペイン又は一時的ペインが再び空になった状態を示す。
図42に示すように、データ・フロー経路が、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも1つのとの間で生成されて、機器カンバス上の視覚機器が構成カンバス上の処理構成に動作可能に接続されるようになった。ここで処理構成が完了する。
図43に示すように、処理構成は、機能オブジェクトが、アイコン間の実行経路の順番で関連する機能を実行し、データがアイコン間のデータ・フロー経路に沿って通過するように動作される。視覚機器は、リアルタイムで、データ・フロー経路に沿って通過するデータ値を自動的に変更するように操作することができる。
視覚機器は、機器アイコンにリンクされて、コマンドは、機器カンバス上の視覚機器と構成カンバス上の機器アイコンとの間で切り替えるために開始できるようにすることが好ましい。このコマンドの特徴は、ユーザが、処理構成の種々の表示及び部分の間を迅速に移動することを助けるためのナビゲーション補助である。構成が大きくかつ複雑になるに伴い、機器及びその接続性を追跡することが困難になる。したがって、このコマンドの特徴は、ユーザにとって生産性及び質の補助になり、ユーザは、視覚機器を機器アイコンから迅速に検出することができるようになり、逆もまた同様である。
図44ないし図46を参照すると、機器アイコンを構成カンバス上に、及び視覚機器を機器カンバス上に配置するための代替的な手段が示されている。処理構成の生成は上述のもの及び図42に示すものと同じである。機器アイコン及び視覚機器の位置、及び未使用ペインの相互的な性質において違いがある。本実施形態においては、少なくとも1つの機器アイコンが、第1に、構成カンバス上に配置される。具体的には、機器アイコンに関連する記号がツールボックス・ペインから、直接、構成カンバス上にドラッグされる。機器アイコンが構成カンバス上に配置された場合、機器アイコンと関連する視覚機器は、次いで、未使用ペイン又は一時的ペイン上に自動的に配置され、図45を参照されたい。データ・フロー経路が、構成カンバス上の処理構成内の機器アイコンとオブジェクト・アイコンの少なくとも1つとの間で生成される。図46に示すように、視覚機器は、次いで、機器カンバス上の視覚機器が構成カンバス上の処理構成に動作可能に接続されるように、未使用ペイン又は一時的ペインから移動されて、視覚機器を機器カンバス上に配置する。本実施形態の視覚機器は、さらに、機器アイコンとリンクされて、コマンドが機器カンバス上の視覚機器と構成カンバス上の機器アイコンとの間で切り替えるためのコマンドが与えられるようにする。ユーザは、機器アイコン及び視覚機器をそれぞれのカンバス上に配置するいずれの方法も自由に用いてよい。
別の完了した処理構成を図47ないし図49に示す。この処理構成は、上述のものと同じ方法により生成される。図48及び図49を比較すると、1つのオブジェクト・アイコンに対して別のオブジェクト・アイコンを方位付ける別の例が示されており、この再方位付け中に、実行経路は動的に変化する。本例においては、浮動加算アイコンが浮動減算アイコン及び浮動乗算アイコンに対して移動される。プロパティ・ペインが、さらに、処理構成の隣に示される。浮動加算アイコンが移動されるに伴い、出力が自動的に更新される。具体的には、次コードが浮動減算(図48)から浮動乗算(図49)に変化する。同様に、次データが浮動減算(図48)から浮動乗算(図49)に変化する。これらの出力は、コード・ポインタ及びデータ・ポインタとして知られており、同時係属中の米国特許出願連続番号第09/692,852号及び第09/982,601号に具体的に述べられており、これらの開示は引用によりここに組み入れられる。
本発明のさらに付加的な特徴を図50ないし図53に示す。処理構成は、ユーザ・オブジェクトを使用して、図50において生成される。ユーザ・オブジェクトは、機能オブジェクトの特定の形式であり、ユーザがナビゲーション階層を生成することを可能にするように設計される。具体的には、ユーザ・オブジェクトは、他のオブジェクト・アイコンの集合である。ユーザ・オブジェクトは、要望に応じて、保存できるし、再使用できる。図50のユーザ・オブジェクト1をダブル・クリックすることにより、図51に示すサブ構成が表示される。入力記号及び出力記号を使用して、データ・フローの方向を示す。図51のサブ構成内には、ユーザ・オブジェクト2がある。ユーザ・オブジェクト2をダブル・クリックすることにより、図52に示すサブ・サブ構成が表示される。これは、階層の最低レベルである。ユーザ・オブジェクトの数は、ツールバーにリスト表示される。図53に示すように、プロジェクト・エクスプローラ・ペインは、処理構成の隣で開かれる。プロジェクト・エクスプローラは、現行の構成の種々の階層を示して、ユーザを助ける。上述のように、プロジェクト・エクスプローラ・ペインは、アイコンが、加えられる、移動される、置き換えられる、削除される等その度に、自動的に再生する。プロジェクト・エクスプローラは、プロジェクト構成に対する重要なナビゲーション・ツール又は索引である。ユーザは、構成全体にわたりアイコンをクリックして、プロジェクト・エクスプローラは、階層におけるアイコンの位置を反映することができる。さらに、ユーザは、プロジェクト・エクスプローラ・ツリー上の記号又は他のオブジェクトをクリックして、選択されたオブジェクト・アイコンを表示することができる。
図54は、処理システムの油圧サーボコントローラの実施を示す。具体的には、プロジェクト構成は、閉ループのサーボコントローラのために生成された。処理構成の生成は、極めて複雑で、本発明を用いることは、これらの構成のプログラミング及び動作を大いに助けることになることが理解されるべきである。
本発明は、例示的な方法で述べられ、用いられた術語は、制限するためではなく、説明するための言葉の性質をもつことが意図される。ここでは、当業者であれば、上述の教示を考慮すると、本発明の多数の修正及び変形態様が可能であることが明らかであろう。したがって、具体的に述べられるものではなく、特許請求の範囲内で本発明を実施できることが理解されるべきである。
1つの想定される処理システムの適用例の概略図を示す。 本発明の処理システムに接続されたコンピュータ・モニタのブランクの起動画面を示す。 起動画面のファイル・メニューを示す。 起動画面の表示メニューを示す。 起動画面のツール・メニューを示す。 起動画面上にシステム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、プロパティ・ペイン、及び未使用ペインが開かれた状態を示す。 システム設定ペインの詳細である。 ツールボックス・ペインの詳細である。 ツールボックス・ペインのさらに別の詳細である。 システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが起動画面上に開かれて、該起動画面の縁に沿って配置された状態を示す。 ファイル・メニュー及びプロジェクト・コマンドの選択を示す。 起動画面内の新規プロジェクト作成ウィンドウを示す。 システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインが縁に沿って開いた状態のブランクの構成カンバスを示す。 構成カンバスの編集メニューを示す。 構成カンバスの挿入メニューを示す。 構成カンバスの制御メニューを示す。 プロセッサ・アイコンが構成カンバス上に配置された、処理構成を作成する際の典型的な第1ステップを示す。 正弦波発生器形態のオブジェクト・アイコンを構成カンバス上に配置することによる、処理構成における次のステップを示す。 浮動加算機能オブジェクトと相関するプロパティ・ペインの詳細である。 プロパティ・ペインの別の詳細である。 プロパティ・ペインのさらに別の詳細である。 プロパティ・ペインの別の詳細である。 乱数発生器形態の別のオブジェクト・アイコンを構成カンバス上に配置するステップを示す。 浮動乗算形態のさらに別のオブジェクト・アイコンを構成カンバス上に配置するステップを示す。 構成カンバス上への浮動乗算アイコンの代替的な配置を示す。 正弦波発生器アイコンに対する乱数発生器アイコンの移動を示す。 実行経路のすべてがルートされている状態の構成カンバス上の部分的に完了した処理構成を示す。 浮動乗算アイコンのテキスト記述子を示す図27の構成カンバス上のオブジェクト・アイコンの幾つかの詳細である。 浮動乗算アイコンの記号を示す図27の構成カンバス上のオブジェクト・アイコンの幾つかの別の詳細である。 ルートされた実行経路とは独立した単一のデータ・フロー経路を示す図24の構成カンバス上のオブジェクト・アイコンの詳細である。 ルートされている実行経路のすべて、及び接続されているデータ・フロー経路のすべてをもつ構成カンバス上の完了した処理構成を示す。 システム設定ペイン、プロジェクト・エクスプローラ・ペイン、ツールボックス・ペイン、及びプロパティ・ペインと併せて、図29の完了した処理構成を示す。 動作中の図30の完了した処理構成を示す。 同じ構成カンバス上の3つの完了した処理構成を示す。 幾つかのオブジェクト・アイコンが異なる位置に移動された図32の3つの完了した処理構成を示す。 オブジェクト・アイコンの1つが異なる位置に移動された図32の3つの完了した処理構成を示す。 オブジェクト・アイコンの1つが異なる処理構成に移動された図32の3つの完了した処理構成を示す。 オブジェクト・アイコンの1つが異なる処理構成に移動された図32の3つの完了した処理構成を示す。 処理構成の2つが同期されている図32の3つの完了した処理構成を示す。 構成カンバス上で開かれた機器カンバスを示す。 ツールボックス・ペインの別の詳細である。 多数の視覚機器で表される機器カンバスを示す。 未使用ペインの詳細と併せて部分的に生成された処理構成を示す。 未使用ペインの詳細と併せて部分的に生成された処理構成の別の図を示す。 別の完了した処理構成を示す。 図42の完了した処理構成の上に重ねられた図39の機器カンバスを示す。 未使用ペインの詳細と併せて部分的に生成された処理構成を示す。 幾つかの視覚機器により表された機器カンバスの上に重ねられた未使用ペインを示す。 視覚機器が未使用ペインから機器カンバスに移動された、図45の機器カンバスの上に重ねられた未使用ペインの別の図である。 完了した処理構成の別の例である。 プロパティ・ペインの詳細と併せて図47の完了した処理構成を示す。 プロパティ・ペインの詳細と併せて図47の完了した処理構成を示し、浮動減算アイコンに対して浮動加算アイコンを移動することによる、本発明の動的性質を示す。 完了した処理構成のさらに別の例を示す。 図50の完了した処理構成の第1ユーザ・オブジェクトの詳細である。 図51の第1ユーザ・オブジェクト内の第2ユーザ・オブジェクトの詳細である。 プロジェクト・エクスプローラ・ペインの詳細と併せて図50の完了した処理構成を示す。 完了した処理構成の別の例である。

Claims (24)

  1. 構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して、少なくとも1つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、前記コンピュータ上に表示される制御部及びインジケータを生成する少なくとも1つの視覚機器とを含む分散処理システムを図形的にプログラミングする方法であって、
    各々が複数の機能オブジェクトと関連する複数のオブジェクト・アイコンを、前記構成カンバス上の複数の異なる位置に配置するステップと、
    処理構成を定義するために、前記複数のオブジェクト・アイコンが前記構成カンバス上に配置された場合に、各々が第1オブジェクト・アイコンと第2オブジェクト・アイコンとの間にルートされる複数の実行経路が前記第2オブジェクト・アイコンへの前記第1オブジェクト・アイコンの前記構成カンバス上の相対的な方位に基づいていて、前記複数のオブジェクト・アイコンの各々の間に自動的にルートするステップと、
    前記構成カンバス内で、前記第1オブジェクト・アイコンの出力から前記第2オブジェクト・アイコンの入力への接続を手動で選択することによって、許容されるデータ・フロー経路を、前記構成カンバス上の前記複数のオブジェクト・アイコン間に生成するステップと、
    少なくとも1つの視覚機器を前記機器カンバス上に配置するステップと、
    前記視覚機器が前記機器カンバス上に配置された場合に、前記視覚機器と関連する機器アイコンを前記一時的ペイン上に自動的に配置するステップと、
    前記機器カンバス上の前記視覚機器が前記構成カンバス上の前記機器アイコンにリンクするように、前記機器アイコンを前記一時的ペインから移動して、前記構成カンバス上の前記機器アイコンが前記構成カンバス上の前記処理構成に動作可能に接続される状態で、前記機器アイコンを前記構成カンバス上に配置するステップと、
    データ・フロー経路を、前記構成カンバス上の前記処理構成内の前記機器アイコンと前記オブジェクト・アイコンの少なくとも1つとの間に生成して、前記実行経路と前記データ・フロー経路が互いに独立となるように前記実行経路のルートとは別個に、前記機器カンバス上の前記視覚機器が前記構成カンバス上の前記処理構成と動作可能に接続される、ようにするステップと、
    を含む方法。
  2. 前記処理構成を動作させて、前記機能オブジェクトが、前記アイコンの前記相対的方位に基づい、前記アイコン間の前記実行経路の順番で関連する機能を実行し、データが、
    前記データ・フロー経路に沿ったデータのフローに関連なく、前記アイコンの前記相対的方位に基づいて、前記アイコンの一つから次のアイコンまで連続的に移動する前記実行経路における実行をしながら、前記アイコン間の前記データ・フロー経路に沿って通るようにするステップをさらに含む請求項1に記載の方法。
  3. 前記オブジェクト・アイコンの少なくとも1つを異なる位置に移動させて、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートし、前記処理システムは、リアルタイムで前記実行経路が再ルートされるように動作するステップをさらに含む請求項2に記載の方法。
  4. 前記処理システムを動作させるステップが、前記カンバス上で視認した場合に、前記アイコン間の前記実行経路を、左から右への順番で動作させるステップとしてさらに定義される請求項3に記載の方法。
  5. 前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的に左から右への方位に基づいて、前記複数の実行経路を、前記カンバス上で視認した場合に、左から右に、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項1に記載の方法。
  6. 前記オブジェクト・アイコンの少なくとも1つを異なる位置に移動して、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートするステップをさらに含む請求項1に記載の方法。
  7. 前記視覚機器を操作して、前記データ・フロー経路に沿って通るデータ値をリアルタイムで自動的に変更するステップをさらに含む請求項1に記載の方法。
  8. 前記視覚機器を前記機器アイコンとリンクさせるステップをさらに含み、前記機器カンバス上の前記視覚機器と前記構成カンバス上の前記視覚機器との間で切り替えるためのコマンドを与えるステップをさらに含む請求項1に記載の方法。
  9. データ・フロー経路を前記オブジェクト・アイコン間に生成するステップが、前記カンバス上の前記実行経路のルーティングとは別個に、データ・フロー経路を前記カンバス上の前記オブジェクト・アイコン間に生成して、前記実行経路と前記データ・フロー経路とが互いに独立するようにするステップとしてさらに定義される請求項1に記載の方法。
  10. 前記プロセッサと関連するプロセッサ・アイコンを前記カンバス上に配置するステップをさらに含む請求項1に記載の方法。
  11. 前記アイコンの方位に基づいて、実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つに自動的にルートするステップをさらに含む請求項10に記載の方法。
  12. 前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つにルートするステップが、前記カンバス上で左から右に視認した場合に、前記オブジェクト・アイコンの最も左の位置に基づいて、前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つに自動的にルートするステップとしてさらに定義される請求項11に記載の方法。
  13. 構成カンバスと、機器カンバスと、一時的ペインとを有するコンピュータを使用して、少なくとも1つのプロセッサと、各々が特定の機能を実行するコマンドを含む複数の機能オブジェクトと、前記コンピュータ上に表示される制御部及びインジケータを生成する少なくとも1つの視覚機器とを含む分散処理システムを図形的にプログラミングする方法であって、
    各々が複数の機能オブジェクトと関連する複数のオブジェクト・アイコンを、前記構成カンバス上の複数の異なる位置に配置するステップと、
    処理構成を定義するために、前記複数のオブジェクト・アイコンが前記構成カンバス上に配置された場合に、各々が第1オブジェクト・アイコンと第2アイコン・アイコンとの間でルートされる複数の実行経路が前記第2オブジェクト・アイコンへの前記第1オブジェクト・アイコンの前記構成カンバス上の相対的な方位に基づいていて、前記複数のオブジェクト・アイコンの各々の間に自動的にルートするステップと、
    前記構成カンバス内で、前記第1オブジェクト・アイコンの出力から前記第2オブジェクト・アイコンの入力への接続を手動で選択することによって、許容されるデータ・フロー経路を、前記構成カンバス上の前記複数のオブジェクト・アイコン間に生成するステップと、
    少なくとも1つの視覚機器を前記機器カンバス上に配置するステップと、
    前記視覚機器が前記機器カンバス上に配置された場合に、前記視覚機器と関連する機器アイコンを前記一時的ペイン上に自動的に配置するステップと、
    前記実行経路と前記データ・フロー経路が互いに独立となるように前記実行経路のルートとは別個に、データ・フロー経路を、前記構成カンバス上の前記処理構成内の前記機器アイコンと前記オブジェクト・アイコンの少なくとも1つとの間に生成するステップと、
    前記機器カンバス上の前記視覚機器が前記構成カンバス上の前記機器アイコンにリンクするように、前記視覚機器を前記一時的ペインから移動して、前記機器カンバス上の前記視覚機器が前記構成カンバス上の前記処理構成と動作可能に接続される状態で、前記視覚機器を前記機器カンバス上に配置するステップと、
    を含む方法。
  14. 前記処理構成を動作させて、前記機能オブジェクトが、前記アイコンの前記相対的方位に基づい、前記アイコン間の前記実行経路の順番で関連する機能を実行し、データが、前記データ・フロー経路に沿ったデータのフローに関連なく、前記アイコンの前記相対的方位に基づいて、前記アイコンの一つから次のアイコンまで連続的に移動する前記実行経路における実行をしながら、前記アイコン間の前記データ・フロー経路に沿って通るようにするステップをさらに含む請求項13に記載の方法。
  15. 前記オブジェクト・アイコンの少なくとも1つを異なる位置に移動させて、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートし、前記処理システムは、リアルタイムで前記実行経路が再ルートされるように動作するステップをさらに含む請求項14に記載の方法。
  16. 前記処理システムを動作させるステップが、前記カンバス上で視認した場合に、前記アイコン間の前記実行経路を、左から右への順番で動作させるステップとしてさらに定義される請求項15に記載の方法。
  17. 前記複数の実行経路を、前記複数のオブジェクト・アイコンの間に自動的にルートするステップが、前記オブジェクト・アイコンの相対的に左から右への方位に基づいて、前記複数の実行経路を、前記カンバス上で視認した場合に、左から右に、前記複数のオブジェクト・アイコン間に自動的にルートするステップとしてさらに定義される請求項13に記載の方法。
  18. 前記オブジェクト・アイコンの少なくとも1つを異なる位置に移動して、前記カンバス上で移動された前記オブジェクト・アイコンの方位に基づいて、前記実行経路を自動的に再ルートするステップをさらに含む請求項13に記載の方法。
  19. 前記視覚機器を操作して、前記データ・フロー経路に沿って通るデータ値をリアルタイムで自動的に変更するステップをさらに含む請求項13に記載の方法。
  20. 前記視覚機器を前記機器アイコンとリンクさせるステップをさらに含み、前記機器カンバス上の前記視覚機器と前記構成カンバス上の前記視覚機器との間で切り替えるためのコマンドを与えるステップをさらに含む請求項13に記載の方法。
  21. データ・フロー経路を前記オブジェクト・アイコン間に生成するステップが、前記カンバス上の前記実行経路のルーティングとは別個に、データ・フロー経路を前記カンバス上の前記オブジェクト・アイコン間に生成して、前記実行経路と前記データ・フロー経路とが互いに独立するようにするステップとしてさらに定義される請求項13に記載の方法。
  22. 前記プロセッサと関連するプロセッサ・アイコンを前記カンバス上に配置するステップをさらに含む請求項13に記載の方法。
  23. 前記アイコンの方位に基づいて、実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つに自動的にルートするステップをさらに含む請求項22に記載の方法。
  24. 前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つにルートするステップが、前記カンバス上で左から右に視認した場合に、前記オブジェクト・アイコンの最も左の位置に基づいて、前記実行経路を、前記プロセッサ・アイコンから前記オブジェクト・アイコンの1つに自動的にルートするステップとしてさらに定義される請求項23に記載の方法。
JP2007501028A 2004-02-25 2005-02-25 処理システムをプログラミングする方法 Active JP4995071B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54758804P 2004-02-25 2004-02-25
US60/547,588 2004-02-25
PCT/US2005/006204 WO2005083533A1 (en) 2004-02-25 2005-02-25 Method of programming a processing system

Publications (2)

Publication Number Publication Date
JP2007524176A JP2007524176A (ja) 2007-08-23
JP4995071B2 true JP4995071B2 (ja) 2012-08-08

Family

ID=34910919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007501028A Active JP4995071B2 (ja) 2004-02-25 2005-02-25 処理システムをプログラミングする方法

Country Status (7)

Country Link
US (1) US7992093B2 (ja)
EP (1) EP1719026B1 (ja)
JP (1) JP4995071B2 (ja)
KR (1) KR101169702B1 (ja)
CN (2) CN101976051A (ja)
MX (1) MXPA06009769A (ja)
WO (1) WO2005083533A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864178B2 (en) * 2005-11-09 2011-01-04 National Instruments Corporation Creating machine vision inspections using a state diagram representation
US20080303819A1 (en) * 2007-06-08 2008-12-11 Pierre-Olivier Latour Method and apparatus for comparing program graphs
AT10302U3 (de) 2008-08-04 2009-10-15 Avl List Gmbh Erzeugen einer ablauffähigen konfiguration
US8780114B1 (en) * 2009-08-31 2014-07-15 The Mathworks, Inc. Interactive memory map
CN103699058B (zh) * 2012-05-24 2017-08-25 株式会社堀场制作所 测试系统及设备管理装置
US9152297B2 (en) * 2012-10-25 2015-10-06 Udacity, Inc. Interactive content creation system
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US9804588B2 (en) 2014-03-14 2017-10-31 Fisher-Rosemount Systems, Inc. Determining associations and alignments of process elements and measurements in a process
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US9823626B2 (en) 2014-10-06 2017-11-21 Fisher-Rosemount Systems, Inc. Regional big data in process control systems
US9397836B2 (en) 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10671028B2 (en) 2013-03-15 2020-06-02 Fisher-Rosemount Systems, Inc. Method and apparatus for managing a work flow in a process plant
EP3200131A1 (en) 2013-03-15 2017-08-02 Fisher-Rosemount Systems, Inc. Data modeling studio
US9633408B2 (en) 2013-06-14 2017-04-25 Microsoft Technology Licensing, Llc Coalescing graphics operations
US9430808B2 (en) * 2013-06-19 2016-08-30 Microsoft Technology Licensing, Llc Synchronization points for state information
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10713015B2 (en) * 2016-05-15 2020-07-14 Servicenow, Inc. Visual programming system
USD810760S1 (en) 2016-12-22 2018-02-20 Palantir Technologies, Inc. Display screen or portion thereof with transitional graphical user interface
USD808991S1 (en) 2016-12-22 2018-01-30 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD810101S1 (en) 2016-12-22 2018-02-13 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD1030773S1 (en) * 2020-09-18 2024-06-11 Benjamin Dose Display screen or portion thereof with graphical user interface for recipe visualization

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
JPH09120466A (ja) * 1995-10-25 1997-05-06 Hitachi Ltd 対話型アニメーション作成・再生方法および装置
WO1998040817A1 (fr) * 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7016811B2 (en) * 2001-08-15 2006-03-21 National Instruments Corporation Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US7120877B2 (en) * 2001-04-10 2006-10-10 National Instruments Corporation System and method for creating a graphical program including a plurality of portions to be executed sequentially
US7627860B2 (en) * 2001-08-14 2009-12-01 National Instruments Corporation Graphically deployment of a program with automatic conversion of program type
US7302675B2 (en) * 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US7275235B2 (en) * 2001-08-29 2007-09-25 Molinari Alfred A Graphical application development system for test, measurement and process control applications
MXPA04003556A (es) * 2001-10-17 2004-11-22 Beptech Inc Metodo de comunicacion a traves de un sistema de operacion.
US7624375B2 (en) * 2003-06-12 2009-11-24 National Instruments Corporation Automatically configuring a graphical user interface element to bind to a graphical program

Also Published As

Publication number Publication date
US20050278059A1 (en) 2005-12-15
KR20060134087A (ko) 2006-12-27
WO2005083533A1 (en) 2005-09-09
EP1719026A1 (en) 2006-11-08
JP2007524176A (ja) 2007-08-23
EP1719026B1 (en) 2012-12-26
KR101169702B1 (ko) 2012-08-03
CN101976051A (zh) 2011-02-16
US7992093B2 (en) 2011-08-02
CN1934511A (zh) 2007-03-21
MXPA06009769A (es) 2007-04-23

Similar Documents

Publication Publication Date Title
JP4995071B2 (ja) 処理システムをプログラミングする方法
JP6170212B2 (ja) プロセス制御システム内の操作者インターフェースディスプレイのためのアニメーションおよびイベントの構成
US6854111B1 (en) Library manager for automated programming of industrial controls
US7024631B1 (en) System and method for enabling graphical program polymorphism
US20040056896A1 (en) Customizable drag and drop for industrial software applications
WO2006113934A1 (en) Programming for a graphical user interface
GB2495434A (en) Method Of Assigning Parameters In Recipe Configuration
JPH09258971A (ja) アイコンプログラミング装置
KR101103787B1 (ko) 그래픽 기반 로봇 프로그래밍 시스템
Bernini et al. VIPERS: A data flow visual programming environment based on the Tcl language
Beaudouin-Lafon Human-computer interaction
De Boeck et al. Comparing NiMMiT and data-driven notations for describing multimodal interaction
US10001977B1 (en) System and method for identifying operations based on selected data
JP2003140714A (ja) 図形言語プログラム作成プログラム、及び図形言語プログラム作成装置
US8132146B2 (en) Input of program instructions in imperative programming languages
Homrighausen et al. Tool support for the model-based development of interactive applications-The Fluid approach
Dörner et al. A 3D metaphor for Authoring Realtime Interactive systems supporting different author roles
JP4652072B2 (ja) シミュレーション機能付設計支援装置及び方法並びにシミュレーション機能付運転支援装置及び方法
Chen Graphical User Interface for Cleft Severity Analysis
CN115981622A (zh) 一种可视化编程装置及方法
JPH07306776A (ja) ビジュアルプログラミング方法
Korhonen et al. Algorithm simulation–a novel way to specify algorithm animations
Bennett et al. Learning Objective-C and Xcode
Kameyama et al. Developing a graphical definition system for a spatial parser generator
JPH08212046A (ja) データ処理システムにビジュアル・インタフェースを構築する方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110906

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111206

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4995071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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