JPH034943B2 - - Google Patents
Info
- Publication number
- JPH034943B2 JPH034943B2 JP61296495A JP29649586A JPH034943B2 JP H034943 B2 JPH034943 B2 JP H034943B2 JP 61296495 A JP61296495 A JP 61296495A JP 29649586 A JP29649586 A JP 29649586A JP H034943 B2 JPH034943 B2 JP H034943B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- objects
- assigned
- priority
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、デジタルシステムに関する。特に、
本発明は、データフロープログラムを、予め割り
当てられたプロセツサ及び優先度を有する個別的
方法の形で実施することによりこのデータフロー
プログラムを実行するマルチプロセツサデジタル
コンピユータシステムに関する。
本発明は、データフロープログラムを、予め割り
当てられたプロセツサ及び優先度を有する個別的
方法の形で実施することによりこのデータフロー
プログラムを実行するマルチプロセツサデジタル
コンピユータシステムに関する。
従来技術の説明
FORTRAN、BASIC及びPASCAL((パスカ
ル)等の従来のコンピユータ言語は、思考の言語
的モデルに基づく。プログラムは、一連の命令が
人間によつて理解されるようにコンピユータによ
つて理解される。従来の言語の場合、プログラム
は、コンピユータによつて命令として「読まれ
る」一連の文からなつている。
ル)等の従来のコンピユータ言語は、思考の言語
的モデルに基づく。プログラムは、一連の命令が
人間によつて理解されるようにコンピユータによ
つて理解される。従来の言語の場合、プログラム
は、コンピユータによつて命令として「読まれ
る」一連の文からなつている。
従来のプログラミング言語の場合、命令(又は
文)のグループは、単位として動作するように呼
ぶことができる手順としてまとめられ得る。これ
らの文のグループは、テキストのパラグラフが文
書における特定のアイデアを構成すると同じよう
に、プログラムの問題領域における1つの概念的
オペレーシヨンを達成する。手順は、他の手順に
対して問題の解決を助けるように呼びかけること
ができる。従来のトツプダウンプログラミングに
おいて、問題は、機能的分解によつて解決するこ
とができ、問題は手順の階層に分解される。各手
順は、必要とされる副手順がプログラミング言語
における幾つかの文として表現するのに十分なほ
ど単純となるまで他の低いレベルの手順を呼ぶ。
文)のグループは、単位として動作するように呼
ぶことができる手順としてまとめられ得る。これ
らの文のグループは、テキストのパラグラフが文
書における特定のアイデアを構成すると同じよう
に、プログラムの問題領域における1つの概念的
オペレーシヨンを達成する。手順は、他の手順に
対して問題の解決を助けるように呼びかけること
ができる。従来のトツプダウンプログラミングに
おいて、問題は、機能的分解によつて解決するこ
とができ、問題は手順の階層に分解される。各手
順は、必要とされる副手順がプログラミング言語
における幾つかの文として表現するのに十分なほ
ど単純となるまで他の低いレベルの手順を呼ぶ。
従来の手順言語におけるプログラムは、通常決
定論的である。これは、各ステツプの後に、プロ
グラムが書かれた順序でもつて限定的な後続者が
続く。我々は、コンピユータが問題の解決におけ
る任意の与えられた点において次に何をするかを
正確に知ることができる。要訳すると、
FORTRAN、BASIC及びPASCALのような従
来のコンピユータ言語は、順次的であり、手順的
であり且つ決定論的である。
定論的である。これは、各ステツプの後に、プロ
グラムが書かれた順序でもつて限定的な後続者が
続く。我々は、コンピユータが問題の解決におけ
る任意の与えられた点において次に何をするかを
正確に知ることができる。要訳すると、
FORTRAN、BASIC及びPASCALのような従
来のコンピユータ言語は、順次的であり、手順的
であり且つ決定論的である。
従来のコンピユータ言語のこれらの特性そのも
のは、特定の型の応用のためのプログラムの開発
を時間のかかる且つ難かしいものにしてしまうこ
とがある。一例は、制御システムの開発にあり、
これは、特有的に直列オペレーシヨンよりもむし
ろ並列オペレーシヨンを含む。これらの型のシス
テムのためのソフトウエア開発は、しばしば、時
間のかかるものであり、直感的でなく、エラーに
落ち入りやすく、非常に問題のある特性を有し、
その結果非常に高価になつてしまう。更に、従来
の言語の順次的特性は、実時間制御機能に必要な
処理速度を達成する上での困難を生じてしまうこ
とがある。
のは、特定の型の応用のためのプログラムの開発
を時間のかかる且つ難かしいものにしてしまうこ
とがある。一例は、制御システムの開発にあり、
これは、特有的に直列オペレーシヨンよりもむし
ろ並列オペレーシヨンを含む。これらの型のシス
テムのためのソフトウエア開発は、しばしば、時
間のかかるものであり、直感的でなく、エラーに
落ち入りやすく、非常に問題のある特性を有し、
その結果非常に高価になつてしまう。更に、従来
の言語の順次的特性は、実時間制御機能に必要な
処理速度を達成する上での困難を生じてしまうこ
とがある。
発明の概要
本発明は、記憶されたデータフロープログラム
に基づいて動作するマルチプロセツサデジタルシ
ステムである。このシステムは、直列オペレーシ
ヨンでなく基本的に並列なオペレーシヨンを発生
するために極度に高速度のプログラムの実行を行
う。
に基づいて動作するマルチプロセツサデジタルシ
ステムである。このシステムは、直列オペレーシ
ヨンでなく基本的に並列なオペレーシヨンを発生
するために極度に高速度のプログラムの実行を行
う。
このコンピユータシステムは、共用メモリにア
クセスする複数のデジタルデータプロセツサを含
んでいる。この共用メモリは、データフロープロ
グラムを、複数のオブジエクト及びこれらの諸オ
ブジエクトのデータフローターミナル間の接続を
定義する1組のデータ構造として記憶する。これ
らの諸オブジエクトはまた、データを操作するた
めのゼロ又はそれ以上のデータフローターミナル
に関連する方法を有している。各方法には、割り
当てられた優先度及びこの方法が実行する割り当
てられたプロセツサが関連している。
クセスする複数のデジタルデータプロセツサを含
んでいる。この共用メモリは、データフロープロ
グラムを、複数のオブジエクト及びこれらの諸オ
ブジエクトのデータフローターミナル間の接続を
定義する1組のデータ構造として記憶する。これ
らの諸オブジエクトはまた、データを操作するた
めのゼロ又はそれ以上のデータフローターミナル
に関連する方法を有している。各方法には、割り
当てられた優先度及びこの方法が実行する割り当
てられたプロセツサが関連している。
このシステムの各プロセツサには、このプロセ
ツサに割り当てられた方法の実施をスケジユール
するためのスケジユーラが関連している。このス
ケジユーリングは、これらの方法に関連する割り
当てられた優先度の関数として実行される。
ツサに割り当てられた方法の実施をスケジユール
するためのスケジユーラが関連している。このス
ケジユーリングは、これらの方法に関連する割り
当てられた優先度の関数として実行される。
方法は、入力データがこの方法に関連する入力
ターミナルの全てに存在すると必ず実行可能にな
る。この時点では、このスケジユーラ手段は、方
法が、その割り当てられた優先度に基づいて、こ
のプロセツサによつて実施されるようにスケジユ
ールする。より高い優先度の方法は、如何なる低
い優先度の方法よりも前に実施され、より高い優
先度の方法は、実施のプロセスにおいて偶然存在
する低い優先度の方法の実施に割り込むことが好
ましい。
ターミナルの全てに存在すると必ず実行可能にな
る。この時点では、このスケジユーラ手段は、方
法が、その割り当てられた優先度に基づいて、こ
のプロセツサによつて実施されるようにスケジユ
ールする。より高い優先度の方法は、如何なる低
い優先度の方法よりも前に実施され、より高い優
先度の方法は、実施のプロセスにおいて偶然存在
する低い優先度の方法の実施に割り込むことが好
ましい。
本発明を用いて、多重デジタルデータプロセツ
サのオペレーシヨンの極度に効率のよい割り当て
が達成される。その結果、全体のデータフロープ
ログラムの極度に高速度の実行が可能となる。
サのオペレーシヨンの極度に効率のよい割り当て
が達成される。その結果、全体のデータフロープ
ログラムの極度に高速度の実行が可能となる。
好適な実施例の詳細な説明
1 システム概説
第1図は、デジタルプロセス及び装置を制御す
るプログラムを開発し且つ実行するのに用いられ
るデジタル制御システム10を示す。システム1
0は、キーボード14から命令及び入力データを
受け且つ表示装置16を通して情報を表示するこ
とによりオペレータ(例えばプログラマ)と対話
するホストコンピユータ12を含んでいる。多重
レベルデータフロープログラムの開発は、ホスト
コンピユータ12において行なわれる。
るプログラムを開発し且つ実行するのに用いられ
るデジタル制御システム10を示す。システム1
0は、キーボード14から命令及び入力データを
受け且つ表示装置16を通して情報を表示するこ
とによりオペレータ(例えばプログラマ)と対話
するホストコンピユータ12を含んでいる。多重
レベルデータフロープログラムの開発は、ホスト
コンピユータ12において行なわれる。
ホストコンピユータ12は、マルチプロセツサ
ユニツト(MPU)18と連絡しており、MPU1
8は、ホストコンピユータ12内で開発されたプ
ログラムを実行する。共通バス及びグローバルメ
モリを共有する複数のデジタル処理ユニツト(マ
イクロコンピユータ等)を含むことが好ましい
MPU18は、トランスジユーサ20を通して制
御環境と対話する。制御システム10の特定の要
求条件に応じて、トランスジユーサ20は、例え
ば、センサ、バルブ、アクチユエータ、モータ、
送信機、受信機及び物理的環境と対話する他の装
置を含むことができる。トランスジユーサ20は
また、デユアルアナログコンバータ回路及びアナ
ログデジタルコンバータ回路を含むのが普通であ
るため、トランスジユーサ20とMPU18との
全ての通信は、MPU18からトランスジユーサ
20へあるいはトランスジユーサ20からMPU
18へ送られるデジタル信号(データ)に基づい
ている。
ユニツト(MPU)18と連絡しており、MPU1
8は、ホストコンピユータ12内で開発されたプ
ログラムを実行する。共通バス及びグローバルメ
モリを共有する複数のデジタル処理ユニツト(マ
イクロコンピユータ等)を含むことが好ましい
MPU18は、トランスジユーサ20を通して制
御環境と対話する。制御システム10の特定の要
求条件に応じて、トランスジユーサ20は、例え
ば、センサ、バルブ、アクチユエータ、モータ、
送信機、受信機及び物理的環境と対話する他の装
置を含むことができる。トランスジユーサ20は
また、デユアルアナログコンバータ回路及びアナ
ログデジタルコンバータ回路を含むのが普通であ
るため、トランスジユーサ20とMPU18との
全ての通信は、MPU18からトランスジユーサ
20へあるいはトランスジユーサ20からMPU
18へ送られるデジタル信号(データ)に基づい
ている。
制御システム10を作動させるために次に
MPU18によつて実行されるデータフロープロ
グラムの開発は、言語的メタフアーでなく視覚的
メタフアーを含む。ホストコンピユータ12は、
表示装置16に多重レベルデータフロープログラ
ムのレベルの各々を命令によつて表示することに
よりユーザと対話する。このプログラムは、種々
のオブジエクトが相互接続されているネツトワー
クダイアグラムの形でもつて表示装置16(通常
はCRTモニタ)に表示される。キーボード14
を通して、オペレータは、表示装置16に現われ
るこれらのオブジエクトを選択し、且つこれらの
オブジエクト間の接続を引き出す。ホストコンピ
ユータ12は、各オブジエクト及び多重レベルシ
ステムの各層に関連する情報を記憶する。この情
報は、ホストコンピユータによつてまた、主オブ
ジエクト及びそれらの接続の平面(単一レベル)
的表現に変換され、次に、MPU18に転送され、
ここで、1組のデータ構造の形に記憶される。
MPU18及びトランスジユーサ20がオペレー
シヨンに移ると、MPU18は、この記憶された
組のデータ構造及びトランスジユーサ20から受
けられたデータに基づくプログラムを実行する。
MPU18によつて実行されるデータフロープロ
グラムの開発は、言語的メタフアーでなく視覚的
メタフアーを含む。ホストコンピユータ12は、
表示装置16に多重レベルデータフロープログラ
ムのレベルの各々を命令によつて表示することに
よりユーザと対話する。このプログラムは、種々
のオブジエクトが相互接続されているネツトワー
クダイアグラムの形でもつて表示装置16(通常
はCRTモニタ)に表示される。キーボード14
を通して、オペレータは、表示装置16に現われ
るこれらのオブジエクトを選択し、且つこれらの
オブジエクト間の接続を引き出す。ホストコンピ
ユータ12は、各オブジエクト及び多重レベルシ
ステムの各層に関連する情報を記憶する。この情
報は、ホストコンピユータによつてまた、主オブ
ジエクト及びそれらの接続の平面(単一レベル)
的表現に変換され、次に、MPU18に転送され、
ここで、1組のデータ構造の形に記憶される。
MPU18及びトランスジユーサ20がオペレー
シヨンに移ると、MPU18は、この記憶された
組のデータ構造及びトランスジユーサ20から受
けられたデータに基づくプログラムを実行する。
第2図は、データフロープログラムの作成及び
実行に含まれるシステムの機能構造の図である。
ホスト12内において、3つの主な機能サブシス
テムが存在する。即ち、アプリケーシヨン、イン
タプリタ及びオブジエクトマネージヤ、並びに通
信マネージヤである。MPU1818内では、2
つの主な機能サブシステムが存在する。即ち、通
信マネージヤ並びにカーネルである。
実行に含まれるシステムの機能構造の図である。
ホスト12内において、3つの主な機能サブシス
テムが存在する。即ち、アプリケーシヨン、イン
タプリタ及びオブジエクトマネージヤ、並びに通
信マネージヤである。MPU1818内では、2
つの主な機能サブシステムが存在する。即ち、通
信マネージヤ並びにカーネルである。
応用サブシステムは、特に特定のシステム応用
のオペレーシヨンをモニタし且つ制御するために
書かれた伝統的なプログラムである。この応用プ
ログラムは、ホストコンピユータ12について書
れ且つ実行され、(キーボード14及び表示装置
16を介して)ユーザとインタフエースする。
のオペレーシヨンをモニタし且つ制御するために
書かれた伝統的なプログラムである。この応用プ
ログラムは、ホストコンピユータ12について書
れ且つ実行され、(キーボード14及び表示装置
16を介して)ユーザとインタフエースする。
インタプリタは、ユーザ命令を受け、諸オブジ
エクト及び諸オブジエクト間のデータフロー接続
を形成する。インタプリタは、インタプリタ命令
の作用を自動的に文書化し且つ表示する図形表示
装置16をサポートする。ユーザからの適当で正
当な命令は、インタプリタによつてオブジエクト
マネージヤに送られる。
エクト及び諸オブジエクト間のデータフロー接続
を形成する。インタプリタは、インタプリタ命令
の作用を自動的に文書化し且つ表示する図形表示
装置16をサポートする。ユーザからの適当で正
当な命令は、インタプリタによつてオブジエクト
マネージヤに送られる。
このオブジエクトマネージヤは、諸オブジエク
トの階層的定義を維持し且つ図形表示に必要なデ
ータを維持する。複合オブジエクトを主オブジエ
クト及びそれらの接続の機能的に同等な単一レベ
ル表現に変換するのはオブジエクトマネージヤで
ある。
トの階層的定義を維持し且つ図形表示に必要なデ
ータを維持する。複合オブジエクトを主オブジエ
クト及びそれらの接続の機能的に同等な単一レベ
ル表現に変換するのはオブジエクトマネージヤで
ある。
通信マネージヤは、オブジエクトマネージヤと
カーネルとの間の通信を与える。主オブジエクト
及びそれらの接続の表現がオブジエクトマネージ
ヤからカーネルに転送されるのは通信マネージヤ
を通して行なわれる。
カーネルとの間の通信を与える。主オブジエクト
及びそれらの接続の表現がオブジエクトマネージ
ヤからカーネルに転送されるのは通信マネージヤ
を通して行なわれる。
MPU18のプロセツサの1つは、主オブジエ
クト並びにデータフロープログラムの単一レベル
表現を形成する接続のためのグローバルメモリ3
2にデータ構造を形成するのに用いられるエグゼ
クチブサブシステムを記憶している。このプロセ
ツサはまた、通信リンクク(即ち通信マネージ
ヤ)を管理するコードを有している。MPU18
のこれらの諸プロセツサは、MPU18の種々の
プロセツサにタスクを割り当てるスケジユーラシ
ステム及び関連成分を含んでいる。これにより、
カーネルに記憶されたデータフロープログラムに
従つて更に早く且つ更に平行なデータの処理が達
成される。「カーネル」と言う用語は、通信マネ
ージヤと並びにカーネルデータ構造、即ちMPU
18内のソフトウエアの全てを組み立てるモジユ
ールと共に取られたMPU18の諸プロセツサの
全てを示している。
クト並びにデータフロープログラムの単一レベル
表現を形成する接続のためのグローバルメモリ3
2にデータ構造を形成するのに用いられるエグゼ
クチブサブシステムを記憶している。このプロセ
ツサはまた、通信リンクク(即ち通信マネージ
ヤ)を管理するコードを有している。MPU18
のこれらの諸プロセツサは、MPU18の種々の
プロセツサにタスクを割り当てるスケジユーラシ
ステム及び関連成分を含んでいる。これにより、
カーネルに記憶されたデータフロープログラムに
従つて更に早く且つ更に平行なデータの処理が達
成される。「カーネル」と言う用語は、通信マネ
ージヤと並びにカーネルデータ構造、即ちMPU
18内のソフトウエアの全てを組み立てるモジユ
ールと共に取られたMPU18の諸プロセツサの
全てを示している。
第3図は、MPU18のブロツク図である。こ
の実施例において、合計N個のプロセツサ22
AA−22Nは、共通バス24に接続されてい
る。各プロセツサ22A−22Nは、局部メモリ
26A−26Nを有しており、これらの局部メモ
リは、それぞれRAM記憶装置28A−28N及
びROM記憶装置30A−30Nの両方を含んで
いる。更に、これらのプロセツサ22A−22N
の全ては、共通のグローバル(大域)メモリ32
にアクセスする。これらのプロセツサ22A−2
2Nが互いに通信し且つデータを共有するのはこ
の共通即ちグローバルメモリ32を通して行なわ
れる。
の実施例において、合計N個のプロセツサ22
AA−22Nは、共通バス24に接続されてい
る。各プロセツサ22A−22Nは、局部メモリ
26A−26Nを有しており、これらの局部メモ
リは、それぞれRAM記憶装置28A−28N及
びROM記憶装置30A−30Nの両方を含んで
いる。更に、これらのプロセツサ22A−22N
の全ては、共通のグローバル(大域)メモリ32
にアクセスする。これらのプロセツサ22A−2
2Nが互いに通信し且つデータを共有するのはこ
の共通即ちグローバルメモリ32を通して行なわ
れる。
バス24にはまた、インタフエース回路34が
接続されている。トランスジユーサ20への且つ
トランスジユーサ20からのデータは、インタフ
エース回路34を通してバス24に連絡してお
り、この後にプロセツサ22A−22N及びグロ
ーバルメモリ32に連絡している。
接続されている。トランスジユーサ20への且つ
トランスジユーサ20からのデータは、インタフ
エース回路34を通してバス24に連絡してお
り、この後にプロセツサ22A−22N及びグロ
ーバルメモリ32に連絡している。
第3図に示されている実施例の場合、ホストコ
ンピユータ12とMPU18との通信は、これも
また通信制御装置として作用するプロセツサ22
Aの1つを通して達成される。オブジエクトマネ
ージヤからの情報は、先ずプロセツサ22Aに供
給され、プロセツサ22Aは次に、必要な情報を
グローバルメモリ32に入れて、プロセツサ22
A−22Nの全てによつて用いられるようにす
る。
ンピユータ12とMPU18との通信は、これも
また通信制御装置として作用するプロセツサ22
Aの1つを通して達成される。オブジエクトマネ
ージヤからの情報は、先ずプロセツサ22Aに供
給され、プロセツサ22Aは次に、必要な情報を
グローバルメモリ32に入れて、プロセツサ22
A−22Nの全てによつて用いられるようにす
る。
スケジユーラのコピーが、局部メモリ26A−
26Nの各々に記憶されている。単一層データフ
ローダイアグラムを説明するデータ構造は、グロ
ーバルメモリ32に記憶される。
26Nの各々に記憶されている。単一層データフ
ローダイアグラムを説明するデータ構造は、グロ
ーバルメモリ32に記憶される。
本明細書において後により詳細に説明されるよ
うに、このスケジユーラは、優先度のより高いタ
スクがプロセツサ22A−22Nの中からの特定
のプロセツサについての完了に対して実行する単
一スタツク割り込み計画を用いて処理速度を大き
く高める。言い換えると、各主オブジエクト方法
は、特定の優先度とこの方法を実行する予定の特
定のプロセツサの両方を有している。データが、
ある方法の場合、すべてのエントリターミナルに
存在するときには、この方法は、この特定のプロ
セツサについてその特定の優先度に従つて実行す
るようにスケジユールされる。
うに、このスケジユーラは、優先度のより高いタ
スクがプロセツサ22A−22Nの中からの特定
のプロセツサについての完了に対して実行する単
一スタツク割り込み計画を用いて処理速度を大き
く高める。言い換えると、各主オブジエクト方法
は、特定の優先度とこの方法を実行する予定の特
定のプロセツサの両方を有している。データが、
ある方法の場合、すべてのエントリターミナルに
存在するときには、この方法は、この特定のプロ
セツサについてその特定の優先度に従つて実行す
るようにスケジユールされる。
2 多重レベルデータフロープログラムの作成
a 複合及び主オブジエクト
本発明において、データフロープログラムのデ
ータは「オブジエクト」と呼ばれる処理ユニツト
の間を流れる。オブジエクトとは、データを受
け、それを処理しこのデータを送るエンテイテイ
である。これらのオブジエクトは、システムの基
本的処理ユニツトであり、処理を概念上の部分に
組織するのに用いられる。システムは、諸オブジ
エクト及びそれらの相互接続のネツトワークの説
明によつて特定される。データフロープログラム
は、従つて、特定の諸オブジエクトを形成し且つ
これらの諸オブジエクト間の接続を特定化するこ
とによつて書かれる。オペレーシヨンの間、デジ
タル信号フローは、諸オブジエクト間を同時に流
れる。
ータは「オブジエクト」と呼ばれる処理ユニツト
の間を流れる。オブジエクトとは、データを受
け、それを処理しこのデータを送るエンテイテイ
である。これらのオブジエクトは、システムの基
本的処理ユニツトであり、処理を概念上の部分に
組織するのに用いられる。システムは、諸オブジ
エクト及びそれらの相互接続のネツトワークの説
明によつて特定される。データフロープログラム
は、従つて、特定の諸オブジエクトを形成し且つ
これらの諸オブジエクト間の接続を特定化するこ
とによつて書かれる。オペレーシヨンの間、デジ
タル信号フローは、諸オブジエクト間を同時に流
れる。
各オブジエクトは、少なくとも1つのターミナ
ルを有するのが普通である。「エントリ」ターミ
ナルは、データが入る時に通るターミナルであり
且つ「結果」ターミナルは、データがオブジエク
トを出る時に通るターミナルである。オブジエク
トは、エントリターミナル、結果ターミナル、又
は両方を有することができあるいはこれらの両方
を持たないこともできる。
ルを有するのが普通である。「エントリ」ターミ
ナルは、データが入る時に通るターミナルであり
且つ「結果」ターミナルは、データがオブジエク
トを出る時に通るターミナルである。オブジエク
トは、エントリターミナル、結果ターミナル、又
は両方を有することができあるいはこれらの両方
を持たないこともできる。
全てのオブジエクト及びターミナルは、それら
が識別される名前を有している。どのオブジエク
トもまた、関連の「オブジエクト型」を有してい
る。オブジエクト型とは、諸オブジエクトの形成
のための説明即ちテンプレートである。オブジエ
クト型は、それを既に情報を含んでいるフアイル
に関連付けることによつて形成することができ、
あるいはフアイルは既存のオブジエクトをテンプ
レートとして用いることにより形成することがで
きる。同一のオブジエクト型から形成される諸オ
ブジエクトは、同等である。一旦形成されるとト
ランスジユーサは修正することができるが、しか
し、勿論、一旦修正されると、このオブジエクト
は元のオブジエクト型の標準と一致することがな
い。
が識別される名前を有している。どのオブジエク
トもまた、関連の「オブジエクト型」を有してい
る。オブジエクト型とは、諸オブジエクトの形成
のための説明即ちテンプレートである。オブジエ
クト型は、それを既に情報を含んでいるフアイル
に関連付けることによつて形成することができ、
あるいはフアイルは既存のオブジエクトをテンプ
レートとして用いることにより形成することがで
きる。同一のオブジエクト型から形成される諸オ
ブジエクトは、同等である。一旦形成されるとト
ランスジユーサは修正することができるが、しか
し、勿論、一旦修正されると、このオブジエクト
は元のオブジエクト型の標準と一致することがな
い。
本発明において、諸オブジエクトは2つのクラ
スに分割される。即ち、複合オブジエクト及び主
オブジエクトである。
スに分割される。即ち、複合オブジエクト及び主
オブジエクトである。
複合オブジエクトは、他のオブジエクトの内部
ネツトワークを有している。複合オブジエクトの
メンバオブジエクトは、他の複合オブジエクトに
あるいは主オブジエクトにあるいはこれら2つの
組合せとなることができる。
ネツトワークを有している。複合オブジエクトの
メンバオブジエクトは、他の複合オブジエクトに
あるいは主オブジエクトにあるいはこれら2つの
組合せとなることができる。
主オブジエクトは、あるシステム内における最
低レベルオブジエクトである。主オブジエクト
は、諸オブジエクト及び接続の内部ネツトワーク
を有していない。この主オブジエクトは、より複
雑なデータフロープログラムを作成する上でプロ
グラマによつて用いられる予め定義されたビルデ
イングブロツクである。
低レベルオブジエクトである。主オブジエクト
は、諸オブジエクト及び接続の内部ネツトワーク
を有していない。この主オブジエクトは、より複
雑なデータフロープログラムを作成する上でプロ
グラマによつて用いられる予め定義されたビルデ
イングブロツクである。
(1) 複合オブジエクト
複合オブジエクトの諸部分は、内部メンバオブ
ジエクト、この複合オブジエクトのターミナル、
及びそれらの間の接続を含んでいる。メンバオブ
ジエクト自体は、複合オブジエクトあるいは主オ
ブジエクトであり得る。複合オブジエクトは、実
際には諸オブジエクトの階層ツリーである。即ち
ここでは、内部ノードが複合オブジエクトであ
り、リーフノード(laef node)が主オブジエク
トである。これらの主オブジエクトは、実際にデ
ータについてオペレーシヨンを実行する諸オブジ
エクトである(これらは実際にデータフロープロ
グラムの実行においてMPU18によつて用いら
れるビルデイングブロツクである)。複合オブジ
エクト間の(及び内の)接続は実際に、主オブジ
エクト間の「回路」を定めている。
ジエクト、この複合オブジエクトのターミナル、
及びそれらの間の接続を含んでいる。メンバオブ
ジエクト自体は、複合オブジエクトあるいは主オ
ブジエクトであり得る。複合オブジエクトは、実
際には諸オブジエクトの階層ツリーである。即ち
ここでは、内部ノードが複合オブジエクトであ
り、リーフノード(laef node)が主オブジエク
トである。これらの主オブジエクトは、実際にデ
ータについてオペレーシヨンを実行する諸オブジ
エクトである(これらは実際にデータフロープロ
グラムの実行においてMPU18によつて用いら
れるビルデイングブロツクである)。複合オブジ
エクト間の(及び内の)接続は実際に、主オブジ
エクト間の「回路」を定めている。
実際、システム全体は、1つの複合オブジエク
ト定義からなつている。このシステムオブジエク
ト(SYSTEM)は、予め定義されたオブジエク
トであり且つユーザがプログラム作成プロセスの
期間中に作成する全てのオブジエクトを含んでい
る。斯くして、どのオブジエクト(SYSTEMを
除く)も、より高いレベルの複合オブジエクトの
一部である。より高いレベルの複合オブジエクト
は、そのオブジエクトの「親」と呼ばれる。
ト定義からなつている。このシステムオブジエク
ト(SYSTEM)は、予め定義されたオブジエク
トであり且つユーザがプログラム作成プロセスの
期間中に作成する全てのオブジエクトを含んでい
る。斯くして、どのオブジエクト(SYSTEMを
除く)も、より高いレベルの複合オブジエクトの
一部である。より高いレベルの複合オブジエクト
は、そのオブジエクトの「親」と呼ばれる。
複合オブジエクトのためのオブジエクト型定義
は、そのオブジエクトのメンバ、ターミナル、接
続、及びこれらの部分のための特定のパラメータ
を規定する。これは、これらの諸部分のどの部分
の実行も規定しない。複合オブジエクトがより低
いレベルにおいて別の型のオブジエクトを含んで
いる場合、このオブジエクト型は、ルツクアツプ
され且つ識別される。斯くして、複合オブジエク
トは、諸オブジエクトの階層を含んでいるが、こ
の複合オブジエクトのためのオブジエクト型定義
は、1つのレベルだけを定義する。
は、そのオブジエクトのメンバ、ターミナル、接
続、及びこれらの部分のための特定のパラメータ
を規定する。これは、これらの諸部分のどの部分
の実行も規定しない。複合オブジエクトがより低
いレベルにおいて別の型のオブジエクトを含んで
いる場合、このオブジエクト型は、ルツクアツプ
され且つ識別される。斯くして、複合オブジエク
トは、諸オブジエクトの階層を含んでいるが、こ
の複合オブジエクトのためのオブジエクト型定義
は、1つのレベルだけを定義する。
(2) 主オブジエクト
主オブジエクトは、本発明に係るシステムにお
いてデータの実際の操作を実行する。このデータ
操作は、「方法」と呼ばれる手順によつて実行さ
れる。方法は、エントリターミナル又はエントリ
諸ターミナルからデータを受け、そのデータを処
理し、このデータを1つ又はそれ以上の結果ター
ミナルを通して送り出せることが普通である手順
である。このデータは、接続を通して他の方法を
含んでいる別の主オブジエクトに流れる。斯くし
て、諸方法は、このSYSTEM内のデータ操作を
実行する実行可能エンテイテイである。
いてデータの実際の操作を実行する。このデータ
操作は、「方法」と呼ばれる手順によつて実行さ
れる。方法は、エントリターミナル又はエントリ
諸ターミナルからデータを受け、そのデータを処
理し、このデータを1つ又はそれ以上の結果ター
ミナルを通して送り出せることが普通である手順
である。このデータは、接続を通して他の方法を
含んでいる別の主オブジエクトに流れる。斯くし
て、諸方法は、このSYSTEM内のデータ操作を
実行する実行可能エンテイテイである。
複合オブジエクト型、型記述フアイルによつて
完全に記述される。主オブジエクト型もまた記述
フアイルを有しているが、これらの機能の実行
は、主言語に書き込まれた「主モジユール」に含
まれている。この主モジユールは、予め定義され
ており、且つシステムに組み込まれている。新し
い主オブジエクト型を形成するために、プログラ
マは、主オブジエクトにおける方法の全ての方法
の挙動を記述するモジユールを書き且つ編集しな
ければならない。この主オブジエクトモジユール
は、新しいカーネルイメージを形成するために他
の全ての主オブジエクトとリンクされていなけれ
ばならない。この新しいイメージは次に、この通
信リンクを用いてMPUシステムに設置される。
完全に記述される。主オブジエクト型もまた記述
フアイルを有しているが、これらの機能の実行
は、主言語に書き込まれた「主モジユール」に含
まれている。この主モジユールは、予め定義され
ており、且つシステムに組み込まれている。新し
い主オブジエクト型を形成するために、プログラ
マは、主オブジエクトにおける方法の全ての方法
の挙動を記述するモジユールを書き且つ編集しな
ければならない。この主オブジエクトモジユール
は、新しいカーネルイメージを形成するために他
の全ての主オブジエクトとリンクされていなけれ
ばならない。この新しいイメージは次に、この通
信リンクを用いてMPUシステムに設置される。
主モジユールは、ゼロ又はそれ以上の方法、例
示変数、手順及び関数、1つの初期化ルーチン、
並びに終了ルーチンを含んでいる。
示変数、手順及び関数、1つの初期化ルーチン、
並びに終了ルーチンを含んでいる。
例示変数は、主オブジエクト型の使用のための
情報を定義する。この主オブジエクト型を用いて
形成された各オブジエクトは、これらの例示変数
のそれ自身のコピーを得られる。これらの変数
は、主オブジエクトの寿命にわたつて存在し且つ
主モジユール内の全てのルーチンに対して使用で
きる。
情報を定義する。この主オブジエクト型を用いて
形成された各オブジエクトは、これらの例示変数
のそれ自身のコピーを得られる。これらの変数
は、主オブジエクトの寿命にわたつて存在し且つ
主モジユール内の全てのルーチンに対して使用で
きる。
これらの手順及び関数は、1つの実施例におい
て、通常のパスカル手順及び関数である。初期化
ルーチンは、主オブジエクトの例が形成されると
実行される。この初期化ルーチンは、例示変数を
初期化し且つ任意のユーザ定義データ構造を割り
当てるのに用いられる。
て、通常のパスカル手順及び関数である。初期化
ルーチンは、主オブジエクトの例が形成されると
実行される。この初期化ルーチンは、例示変数を
初期化し且つ任意のユーザ定義データ構造を割り
当てるのに用いられる。
同様にして、終了ルーチンは、ある主オブジエ
クトが破壊された時に実行される。このルーチン
は、任意のユーザ定義データ構造を割り当て解除
するのにあるいは主オブジエクトが制御する任意
のハードウエア装置をオフにするのに用いること
ができる。多くの場合において、初期化ルーチン
あるいは終了ルーチンは必要でない。
クトが破壊された時に実行される。このルーチン
は、任意のユーザ定義データ構造を割り当て解除
するのにあるいは主オブジエクトが制御する任意
のハードウエア装置をオフにするのに用いること
ができる。多くの場合において、初期化ルーチン
あるいは終了ルーチンは必要でない。
b オブジエクトの表示特性
ホストコンピユータ12は、ユーザの階層デー
タフローのモデルを表示装置16に表示して検査
及び編集を行う。これを行うために、モデル内の
各オブジエクトは、表示装置16を駆動するのに
用いられる表示用情報を有していなければならな
い。この情報は、データフローモデルのオペレー
シヨンには何も影響がなく、これは単に、作成及
び修正プロセスにおいて文書化し且つ直感力のあ
るユーザ対話を助けるものである。
タフローのモデルを表示装置16に表示して検査
及び編集を行う。これを行うために、モデル内の
各オブジエクトは、表示装置16を駆動するのに
用いられる表示用情報を有していなければならな
い。この情報は、データフローモデルのオペレー
シヨンには何も影響がなく、これは単に、作成及
び修正プロセスにおいて文書化し且つ直感力のあ
るユーザ対話を助けるものである。
抵抗やコンデンサのような素子のための標準シ
ンボルを有する電気回路のように、本発明におけ
るどのオブジエクトも「アイコン(icon)」を有
している。アイコンとは、表示装置16における
オブジエクトの図形表現である。オブジエクト型
は、その型を表わすアイコンを含んでいる。この
オブジエクト型から形成されるオブジエクトは、
このアイコンを引き継いでいる。オブジエクトが
表示されると必ず、このアイコンは、オブジエク
トの名前と共に表示される。
ンボルを有する電気回路のように、本発明におけ
るどのオブジエクトも「アイコン(icon)」を有
している。アイコンとは、表示装置16における
オブジエクトの図形表現である。オブジエクト型
は、その型を表わすアイコンを含んでいる。この
オブジエクト型から形成されるオブジエクトは、
このアイコンを引き継いでいる。オブジエクトが
表示されると必ず、このアイコンは、オブジエク
トの名前と共に表示される。
第4A図は、そのオブジエクトの構成メンバオ
ブジエクトのアイコン及び接続を示す「ksys」
と名付けられた複合オブジエクトの表示である。
上の左手の隅には、この親オブジエクトksysの
アイコンが示されている。
ブジエクトのアイコン及び接続を示す「ksys」
と名付けられた複合オブジエクトの表示である。
上の左手の隅には、この親オブジエクトksysの
アイコンが示されている。
あるオブジエクトの諸ターミナルは、アイコン
上のスタブによつて表わされる。接続がターミナ
ルに対して行なわれると、この接続は、ソースタ
ーミナルのスタブから転送先ターミナルのスタブ
へのラインとして表示される。これらの接続は、
ソースから転送先に到達するためにこの接続が表
示装置16のスクリーン上にとり得るルートを決
定するためにそれらに関連する径路を有すること
ができる。
上のスタブによつて表わされる。接続がターミナ
ルに対して行なわれると、この接続は、ソースタ
ーミナルのスタブから転送先ターミナルのスタブ
へのラインとして表示される。これらの接続は、
ソースから転送先に到達するためにこの接続が表
示装置16のスクリーン上にとり得るルートを決
定するためにそれらに関連する径路を有すること
ができる。
この表示装置は、テキストの形でもつてオブジ
エクト型記述フアイルに記憶されるが、ユーザは
まれにしかこの表現のこの形を取り扱うことがな
い。その代わり、インタプリタは、この情報を直
感的な(図形的)方法でもつて編集及びあるいは
操作するための機構を与える。
エクト型記述フアイルに記憶されるが、ユーザは
まれにしかこの表現のこの形を取り扱うことがな
い。その代わり、インタプリタは、この情報を直
感的な(図形的)方法でもつて編集及びあるいは
操作するための機構を与える。
前に論じたように、主オブジエクトは、諸オブ
ジエクト及び接続の内部ネツトワークを有してい
ない。しかしながら、この内部方法及びターミナ
ルは、図形的に表現される。第4B図は、「レベ
ルデツト(leveldet)」と名付けられた主オブジ
エクトの内部メンバの図を示す。主オブジエクト
レベルデツトのアイコンは、表示装置の上の左手
の隅に示されている。
ジエクト及び接続の内部ネツトワークを有してい
ない。しかしながら、この内部方法及びターミナ
ルは、図形的に表現される。第4B図は、「レベ
ルデツト(leveldet)」と名付けられた主オブジ
エクトの内部メンバの図を示す。主オブジエクト
レベルデツトのアイコンは、表示装置の上の左手
の隅に示されている。
この特定の実施例において、この主オブジエク
トレベルデツトは、6つの端子を含んでいる。即
ちエントリ端子「イン」、「スレツシユ」、「hys」
「極性」及び「イネーブル」及び結果ターミナル
「アウト」である。これらの6つのターミナルは、
第4B図の上の左手隅に示されているアイコン上
の6つのスタブによつて表されている。第4B図
に示されている。内部主ダイアグラム上には、こ
れらのターミナルは、それぞれ矢印の形をした箱
によつて表されており、これらの箱は、上の左隅
のアイコン上のスタブの1つに対応している。主
オブジエクトレベルデツトによつて用いられる方
法は、矩形シンボルの中に示されており且つ
「init−thr」、「inithys」、「init−pol」、「enab
−it」
及び「doit」と呼ばれる。
トレベルデツトは、6つの端子を含んでいる。即
ちエントリ端子「イン」、「スレツシユ」、「hys」
「極性」及び「イネーブル」及び結果ターミナル
「アウト」である。これらの6つのターミナルは、
第4B図の上の左手隅に示されているアイコン上
の6つのスタブによつて表されている。第4B図
に示されている。内部主ダイアグラム上には、こ
れらのターミナルは、それぞれ矢印の形をした箱
によつて表されており、これらの箱は、上の左隅
のアイコン上のスタブの1つに対応している。主
オブジエクトレベルデツトによつて用いられる方
法は、矩形シンボルの中に示されており且つ
「init−thr」、「inithys」、「init−pol」、「enab
−it」
及び「doit」と呼ばれる。
C 仮想計算機を定義するための複合オブジエク
トの使用 第5A図−第5E図は、特定の「仮想計算機」
を共に定義する1組の複合オブジエクトを示して
いる。その結果は、特定の所定の制御戦略を実施
することができることができるMPU18及びト
ランスジユーサ20の形の特別オブジエクトレジ
タル制御システムである。次に続くパラグラフ
は、ある実施例として用いるために開発された仮
想計算機を説明している。
トの使用 第5A図−第5E図は、特定の「仮想計算機」
を共に定義する1組の複合オブジエクトを示して
いる。その結果は、特定の所定の制御戦略を実施
することができることができるMPU18及びト
ランスジユーサ20の形の特別オブジエクトレジ
タル制御システムである。次に続くパラグラフ
は、ある実施例として用いるために開発された仮
想計算機を説明している。
第5A図は、「例」として定義された仮想計算
機を表わすダイアグラムを示している。最初にみ
ると、この図は、典型的な閉ループ制御システム
のブロツク図に類似してるように見える。関数発
生器(「fg」)は、命令をプラントから得られたフ
イードバツクと比較するPID制御装置
(「pidctlr」)に命令入力を与える。この制御装置
は、この比較からエラー値を発生し、この値の
PID調整を行い、これを命令としてプラントに出
力する。この関数発生器の出力とプラントフイー
ドバツクは両方共、オシロスコープにモニタする
ことができる。
機を表わすダイアグラムを示している。最初にみ
ると、この図は、典型的な閉ループ制御システム
のブロツク図に類似してるように見える。関数発
生器(「fg」)は、命令をプラントから得られたフ
イードバツクと比較するPID制御装置
(「pidctlr」)に命令入力を与える。この制御装置
は、この比較からエラー値を発生し、この値の
PID調整を行い、これを命令としてプラントに出
力する。この関数発生器の出力とプラントフイー
ドバツクは両方共、オシロスコープにモニタする
ことができる。
しかしながら、第5A図に含まれているこれら
の諸オブジエクトは、これらの関数を実施するた
めに形成されたソフトウエアを表わしていること
を認識することが重要である。これらの諸オブジ
エクトの各々はまた、各々の主オブジエクトが達
成される迄更に分割するより低いレベルのメンバ
オブジエクトを含んでいる。デジタルデータフロ
ーは、伝統的なアナログシステムに見られるアナ
ログ信号を置き換える。
の諸オブジエクトは、これらの関数を実施するた
めに形成されたソフトウエアを表わしていること
を認識することが重要である。これらの諸オブジ
エクトの各々はまた、各々の主オブジエクトが達
成される迄更に分割するより低いレベルのメンバ
オブジエクトを含んでいる。デジタルデータフロ
ーは、伝統的なアナログシステムに見られるアナ
ログ信号を置き換える。
次のパラグラフは、オブジエクト「pidctlr」
及び「プラント」並びにそれらのメンバオブジエ
クトを説明している。
及び「プラント」並びにそれらのメンバオブジエ
クトを説明している。
第5B図は、PID制御装置(「pidctlr」)のメン
バオブジエクトを示している「pidctlr」の機能
は、命令とフイードバツク入力との比較から得ら
れるエラー値を発生し、このエラー値を特定の低
率利得、積分値及び微分値に従つて調整し、その
結果得られる値を命令としてプラントに出力する
ことである。
バオブジエクトを示している「pidctlr」の機能
は、命令とフイードバツク入力との比較から得ら
れるエラー値を発生し、このエラー値を特定の低
率利得、積分値及び微分値に従つて調整し、その
結果得られる値を命令としてプラントに出力する
ことである。
オブジエクト「sumjunct」はプラントフイー
ドバツク(「fdbk」)を関数発生器命令
(「cmnd」)から引き、これによりエラー値(「エ
ラー」)を形成する。「sumjunct」の出力値は、
低率利得(「pgain」)、及び積分(「integ」)及び
微分(「deriv」)計算を実行する諸オブジエクト
に適用され、プラント応答を最適化する。これら
の計算は、応用依存入力パラメータ(「Kp」、
「Ki」、及び「Kd」)に従つて実行される。これ
らの計算から得られる値は、(オブジエクト
「add1」及び「add2」によつて)加算され、飽和
トランスジユーサ(「sat」)を経由して「pidctlr」
出力に適用される。このオブジエクト「sat」は
「pidctlr」の出力を特定の範囲に限定するのに用
いられる。最大値(「maxctl」)が、出力の上限
値を確立するために与えられる。この値はまた、
下限値を確立するためにオブジエクト「neg」に
よつて反転する。制限は、デジタル値のロールオ
ーバ(rollover)要因の故に出力範囲に置かれな
ければならない。受信デバイスの能力(例えば、
13ビツト値を12ビツトデジタルアナログコンバー
タに適用すること)を越える「pidctlr」によつ
て値が出力される場合、このデバイスに対するこ
の値の意味は、意図された意味に対して完全に反
対ではなくても、誤りであり得る。
ドバツク(「fdbk」)を関数発生器命令
(「cmnd」)から引き、これによりエラー値(「エ
ラー」)を形成する。「sumjunct」の出力値は、
低率利得(「pgain」)、及び積分(「integ」)及び
微分(「deriv」)計算を実行する諸オブジエクト
に適用され、プラント応答を最適化する。これら
の計算は、応用依存入力パラメータ(「Kp」、
「Ki」、及び「Kd」)に従つて実行される。これ
らの計算から得られる値は、(オブジエクト
「add1」及び「add2」によつて)加算され、飽和
トランスジユーサ(「sat」)を経由して「pidctlr」
出力に適用される。このオブジエクト「sat」は
「pidctlr」の出力を特定の範囲に限定するのに用
いられる。最大値(「maxctl」)が、出力の上限
値を確立するために与えられる。この値はまた、
下限値を確立するためにオブジエクト「neg」に
よつて反転する。制限は、デジタル値のロールオ
ーバ(rollover)要因の故に出力範囲に置かれな
ければならない。受信デバイスの能力(例えば、
13ビツト値を12ビツトデジタルアナログコンバー
タに適用すること)を越える「pidctlr」によつ
て値が出力される場合、このデバイスに対するこ
の値の意味は、意図された意味に対して完全に反
対ではなくても、誤りであり得る。
次のパラグラフは、「pidctlr」におけるメンバ
オブジエクト「integ」及び「deriv」並びにそれ
らのメンバオブジエクトをより深く論じている。
オブジエクト「integ」及び「deriv」並びにそれ
らのメンバオブジエクトをより深く論じている。
第5C図に示されるように、「integ」のメンバ
オブジエクトは、2つの増幅器オブジエクト
(「gain1」及び「gain2」)及び加算オブジエクト
(「sum」)を含んでいる。入力の実際の積分は
「sum」によつて実行される。このオブジエクト
は、現在のエラー値を前のエラー値の和と加算
し、この和を「integ」出力において表わしてい
る。このオブジエクトは次に、次のエラー値に加
算するための新しい値を保持する。
オブジエクトは、2つの増幅器オブジエクト
(「gain1」及び「gain2」)及び加算オブジエクト
(「sum」)を含んでいる。入力の実際の積分は
「sum」によつて実行される。このオブジエクト
は、現在のエラー値を前のエラー値の和と加算
し、この和を「integ」出力において表わしてい
る。このオブジエクトは次に、次のエラー値に加
算するための新しい値を保持する。
「sum」に適用する前に、現在のエラー値は、
増幅オブジエクト「gain1」及び「gain2」によつ
て基準化される。エントリ「tsamp」によつてセ
ツトされた「gain2」によつて適用される基準化
因数は、サンプリング速度による積分速度の変動
を無くす。エントリ「tc」によつてセツトされた
「gain1」によつて適用された基準化因数は、積分
器の積分速度(時定数)を制御する。
増幅オブジエクト「gain1」及び「gain2」によつ
て基準化される。エントリ「tsamp」によつてセ
ツトされた「gain2」によつて適用される基準化
因数は、サンプリング速度による積分速度の変動
を無くす。エントリ「tc」によつてセツトされた
「gain1」によつて適用された基準化因数は、積分
器の積分速度(時定数)を制御する。
この「deriv」オブジエクト(第5図に示され
ている)は、「integ」に類似しているが、
「sumjunct」から得られたエラーサンプルの導関
数を計算する。この導関数は、各エラーサンプル
を前のサンプルと比較し且つこの差を出力するこ
とにより計算される。
ている)は、「integ」に類似しているが、
「sumjunct」から得られたエラーサンプルの導関
数を計算する。この導関数は、各エラーサンプル
を前のサンプルと比較し且つこの差を出力するこ
とにより計算される。
エラーサンプルと前のエラーサンプルとの差
は、オブジエクト「diff」によつて計算される。
このオブジエクト「遅延」は、同じサンプルを
「diff」として受けるが、これを1サンプル周期
にわたつて遅延する。斯くして、現在のエラーサ
ンプルが「diff」の1つの入力に適用されると、
前のエラーサンプルは、他方の入力に適用され
る。「Diff」は、現在のサンプルを前のサンプル
と比較し、この差を出力する。
は、オブジエクト「diff」によつて計算される。
このオブジエクト「遅延」は、同じサンプルを
「diff」として受けるが、これを1サンプル周期
にわたつて遅延する。斯くして、現在のエラーサ
ンプルが「diff」の1つの入力に適用されると、
前のエラーサンプルは、他方の入力に適用され
る。「Diff」は、現在のサンプルを前のサンプル
と比較し、この差を出力する。
オブジエクト「integ」におけると同じように
して、このエラー値は、サンプリング速度効果を
除くために基準化される。オブジエクト「gain2」
は、エラー値をサンプリング速度の逆数によつて
基準化する。オブジエクト「recip」は、エント
リ「tsamp」の逆数を生成し、この結果を
「gain2」の利得エントリに送る。「tc」によつて
セツトされた「gain1」によつて適用された基準
化因数は、微分器の微分速度(時定数)を制御す
る。
して、このエラー値は、サンプリング速度効果を
除くために基準化される。オブジエクト「gain2」
は、エラー値をサンプリング速度の逆数によつて
基準化する。オブジエクト「recip」は、エント
リ「tsamp」の逆数を生成し、この結果を
「gain2」の利得エントリに送る。「tc」によつて
セツトされた「gain1」によつて適用された基準
化因数は、微分器の微分速度(時定数)を制御す
る。
「例」に含まれるプラントは、実施可能なプラ
ントモデルである。実施可能なプラントモデルと
は、実際のプラントの入力/出力特性をシユミレ
ートし且つ、制御装置の観点から見ると、実際の
プラントに類似しているソフトウエアのことであ
る。実施可能なモデルは、従つて、制御アルゴリ
ズムの制能を検査するというような診断の目的の
ために実際のプラントに置き換えられ得る。第5
E図は、「プラント」に含まれている諸オブジエ
クトを示している。
ントモデルである。実施可能なプラントモデルと
は、実際のプラントの入力/出力特性をシユミレ
ートし且つ、制御装置の観点から見ると、実際の
プラントに類似しているソフトウエアのことであ
る。実施可能なモデルは、従つて、制御アルゴリ
ズムの制能を検査するというような診断の目的の
ために実際のプラントに置き換えられ得る。第5
E図は、「プラント」に含まれている諸オブジエ
クトを示している。
シユミレートされたプラント応答は、四次目的
「bg1」及び「bg2」によつて実行される。これら
の四次目的は、二次デジタルフイルタである。
「プラント」におけるそれらの使用において、こ
れらは、四次デジタルフイルタを行うために継続
接続される。このフイルタの特性は、物理的なプ
ラント環境において見られる値の影響を受ける
と、実際のプラントが応答するのと同じように応
答する計算された定数によつて確立される。
「bg1」及び「bg2」によつて実行される。これら
の四次目的は、二次デジタルフイルタである。
「プラント」におけるそれらの使用において、こ
れらは、四次デジタルフイルタを行うために継続
接続される。このフイルタの特性は、物理的なプ
ラント環境において見られる値の影響を受ける
と、実際のプラントが応答するのと同じように応
答する計算された定数によつて確立される。
オブジエクト「dac」及び「adc」は、実際の
システムにおけるA/D及びD/Aコンバータの
変換限度(ビツトの数)の故に物理環境において
見られる歪をシユミレートする。
システムにおけるA/D及びD/Aコンバータの
変換限度(ビツトの数)の故に物理環境において
見られる歪をシユミレートする。
d ユーザ命令
第5A図−5E図に示されているプログラムの
ようなデータフロープログラムを形成する上で、
ユーザは、ホストコンピユータ12によつて解釈
される種々の命令を用いる。これらの命令は、諸
オブジエクト及び諸オブジエクト間のデータフロ
ー接続を操作するために与えられる。
ようなデータフロープログラムを形成する上で、
ユーザは、ホストコンピユータ12によつて解釈
される種々の命令を用いる。これらの命令は、諸
オブジエクト及び諸オブジエクト間のデータフロ
ー接続を操作するために与えられる。
最も新しく「開かれた」オブジエクト(即ち、
その内部メンバが示されるように表示装置16に
表示されたオブジエクト)は、「コンテキストオ
ブジエクト」と呼ばれる。本発明を用いて開発さ
れたプログラムの構造の故に、開かれたオブジエ
クトの階層を発生することが可能である。あるオ
ブジエクトが閉じられると、この新しく閉じられ
たオブジエクトの親は、このコンテキストオブジ
エクトになる。
その内部メンバが示されるように表示装置16に
表示されたオブジエクト)は、「コンテキストオ
ブジエクト」と呼ばれる。本発明を用いて開発さ
れたプログラムの構造の故に、開かれたオブジエ
クトの階層を発生することが可能である。あるオ
ブジエクトが閉じられると、この新しく閉じられ
たオブジエクトの親は、このコンテキストオブジ
エクトになる。
(1) インタプリタ命令言語
この命令言語によつてユーザは、データフロー
ダイアグラムを形成し編集することができる。こ
れらの命令の大抵は、非常に均一な構文を有して
いる。各命令は、この命令によつて操作されるべ
き構造を規定するパラメータが後に続く動詞から
なる。6つのシステム構造に適用される。4つの
基礎的な命令動詞が存在する。1つのシステム構
造の各例は、この構造が形成される時にユーザに
よつて規定される名前を有している。他の命令
は、この名前をパラメータとして用いる。
ダイアグラムを形成し編集することができる。こ
れらの命令の大抵は、非常に均一な構文を有して
いる。各命令は、この命令によつて操作されるべ
き構造を規定するパラメータが後に続く動詞から
なる。6つのシステム構造に適用される。4つの
基礎的な命令動詞が存在する。1つのシステム構
造の各例は、この構造が形成される時にユーザに
よつて規定される名前を有している。他の命令
は、この名前をパラメータとして用いる。
(2) 4つの基礎的命令動詞
形成−構造の新しい例を形成
破壊−構造破壊
変化−構造の属性を変化
表示−構造の属性を表示
(3) 6つのシステム構造
目的−複合又は主データフローオブジエクト
端子−オブジエクトへのエントリ又は結果タ
ーミナル 方法−主オブジエクトの計算プリマチブ (primative) 型−オブジエクトの形成の仕方を説明するテ
ンプレート プロセツサ−並行処理のためのコンテキスト カーネル−データフロープログラムを実行す
るためのコンテキスト オブジエクト、ターミナル及び方法は、表示ス
クリーンに現われるアイコンだけでなく名前も有
している。命令動詞は、次の形を用いることによ
つてアイコンをつけられた任意の構造に直接適用
され得る。
ーミナル 方法−主オブジエクトの計算プリマチブ (primative) 型−オブジエクトの形成の仕方を説明するテ
ンプレート プロセツサ−並行処理のためのコンテキスト カーネル−データフロープログラムを実行す
るためのコンテキスト オブジエクト、ターミナル及び方法は、表示ス
クリーンに現われるアイコンだけでなく名前も有
している。命令動詞は、次の形を用いることによ
つてアイコンをつけられた任意の構造に直接適用
され得る。
VERB〈名前〉
型、プロセツサ及びカーネルは抽象的である。
これらは、アイコン式表現を有していない。命令
動詞は、これらのオブジエクトに適用される時に
限定詞を有していなければならない。
これらは、アイコン式表現を有していない。命令
動詞は、これらのオブジエクトに適用される時に
限定詞を有していなければならない。
VERB/QUALIFIER〈名前〉
(4) 例
「Fred」と名前の付けられたプロセツサの属
性を表示すると、 SHOW/PROCESSOR Fred「Zeke」と名前の付
けられた主オブジエクトの破壊: DESTROY Zeke (5) 他のインタプリタ命令 以下の命令は、独特の構文を有している。
性を表示すると、 SHOW/PROCESSOR Fred「Zeke」と名前の付
けられた主オブジエクトの破壊: DESTROY Zeke (5) 他のインタプリタ命令 以下の命令は、独特の構文を有している。
(a) データフロー接続命令
接続−2つのターミナル間のデータフロー径
路を規定する 切断−2つのターミナル間のデータフロー径
路を除く (b) コンテキスト制御 複合又は主オブジエクトが開かれ、これにより
内部構造を表示せしめることができる。全ての内
部構造(他のターミナル、接続並びに諸オブジエ
クト)は、可視的になり且つ命令言語によつて操
作することができる。ある目的が閉じられると、
前のコンテキストオブジエクトは、可視的コンテ
キストになる。
路を規定する 切断−2つのターミナル間のデータフロー径
路を除く (b) コンテキスト制御 複合又は主オブジエクトが開かれ、これにより
内部構造を表示せしめることができる。全ての内
部構造(他のターミナル、接続並びに諸オブジエ
クト)は、可視的になり且つ命令言語によつて操
作することができる。ある目的が閉じられると、
前のコンテキストオブジエクトは、可視的コンテ
キストになる。
開−特定のオブジエクトをデイフオルトコン
テキストにする 閉−前のコンテキストまで戻る (c) ダイアグラムへのデータの注入 ユーザは、即値データ値を現在のコンテキスト
における任意のエントリ端子に割り当てることが
できる。このデータ値は次に、データフローダイ
アグラムを伝播する。このオペレーシヨンは、割
当文表記法を用いる。
テキストにする 閉−前のコンテキストまで戻る (c) ダイアグラムへのデータの注入 ユーザは、即値データ値を現在のコンテキスト
における任意のエントリ端子に割り当てることが
できる。このデータ値は次に、データフローダイ
アグラムを伝播する。このオペレーシヨンは、割
当文表記法を用いる。
LET〈エントリ端子名前〉:=〈即値データ値〉
サポートされた即値データ値は、整数、実数、
ブール値(TRUE又はFALSE)、キヤラクタス
トリング及びベクトルを含んでいる。
ブール値(TRUE又はFALSE)、キヤラクタス
トリング及びベクトルを含んでいる。
(6) スクリーンモード命令
命令言語に加えて、データフローダイアグラム
のイメージにより直接働くキーパツド及びカーソ
ル制御キーに基づくプログラマに対して代替の命
令構造が使用可能である。データフローダイアグ
ラムを編集するこの方法は、スクリーンモードと
呼ばれる。
のイメージにより直接働くキーパツド及びカーソ
ル制御キーに基づくプログラマに対して代替の命
令構造が使用可能である。データフローダイアグ
ラムを編集するこの方法は、スクリーンモードと
呼ばれる。
スクリーンモードにおいて、ユーザは、構造の
名前を用いることなしにコンテキストスクリーン
上にアイコンを有する構造を選択することができ
る。次にフアンクシヨンキーパツド上の1つのキ
ーストロークを用いて共通の命令動詞を選択され
たオブジエクトに適用することができる。
名前を用いることなしにコンテキストスクリーン
上にアイコンを有する構造を選択することができ
る。次にフアンクシヨンキーパツド上の1つのキ
ーストロークを用いて共通の命令動詞を選択され
たオブジエクトに適用することができる。
(a) スクリーンモードにおける構造の選択
機能キーパツド上の矢印キーによつて、図形カ
ーソルは、表示端子上を移動する。ユーザはカー
ソルを構造のアイコンの頂部に位置決めし、〈選
択〉と呼ばれる制御キーを押す。この〈選択〉オ
ペレーシヨンによつて、構造のアイコンは、スク
リーン上に強調(ハイライト)される。
ーソルは、表示端子上を移動する。ユーザはカー
ソルを構造のアイコンの頂部に位置決めし、〈選
択〉と呼ばれる制御キーを押す。この〈選択〉オ
ペレーシヨンによつて、構造のアイコンは、スク
リーン上に強調(ハイライト)される。
(b) スクリーンモードにおける命令動詞の使用
これ以上の共通テキストモード命令だけは、キ
ーパツド命令を介して得られる。次のキーは、テ
キストモード命令に対応する。これらの命令の
各々は、〈選択〉キーを用いて、選択された構造
に働く。選択された構造のアイコンは、強調され
る。
ーパツド命令を介して得られる。次のキーは、テ
キストモード命令に対応する。これらの命令の
各々は、〈選択〉キーを用いて、選択された構造
に働く。選択された構造のアイコンは、強調され
る。
SELECT−カーソルの下の構造を選択
OPEN−選択された主又は複合オブジエクト
を開く CLOSE−前のオブジエクトコンテキストに
戻る DESTROY−システムから選択された構造
を除く DRAW−2つの端子間のデータフロー接続
を行う 更に、特定の図形オペレーシヨンは、テキスト
モードにおいて行うことができないスクリーンモ
ードにおいて実行することができる。これらのオ
ペレーシヨンは、新しいアイコンを引き出し且つ
既存のアイコンを表示スクリーン上で移動するこ
とを含む。
を開く CLOSE−前のオブジエクトコンテキストに
戻る DESTROY−システムから選択された構造
を除く DRAW−2つの端子間のデータフロー接続
を行う 更に、特定の図形オペレーシヨンは、テキスト
モードにおいて行うことができないスクリーンモ
ードにおいて実行することができる。これらのオ
ペレーシヨンは、新しいアイコンを引き出し且つ
既存のアイコンを表示スクリーン上で移動するこ
とを含む。
DRAW−ドローキーはまた、アイコン又は
接続の形を修正し得る。
接続の形を修正し得る。
UNDO−DRAWによつて実行された最後の
オペレーシヨンを戻す。
オペレーシヨンを戻す。
MOVE−選択された構造をスクリーン上で
移動するのに用いられる。
移動するのに用いられる。
e 主モジユール
前に論じたように、主オブジエクト型の実現
は、主モジユールに含まれる。主モジユールは、
方法及び静的データの集まりである。これらの方
法は、静的データを操作し、主オブジエクトエン
トリをパラメータとして用い、計算値を結果ター
ミナルを通して出力する。ある方法は、それがパ
ラメータとして用いるエントリターミナルの全て
に対するデータが到達した時に実施する。
は、主モジユールに含まれる。主モジユールは、
方法及び静的データの集まりである。これらの方
法は、静的データを操作し、主オブジエクトエン
トリをパラメータとして用い、計算値を結果ター
ミナルを通して出力する。ある方法は、それがパ
ラメータとして用いるエントリターミナルの全て
に対するデータが到達した時に実施する。
第1表は、主モジユール構文(修正されたバツ
カス−ナウア(Backus−Naur)型、BNF)の
1例を示している。この主モジユール構造は、パ
スカル構造に分解される。
カス−ナウア(Backus−Naur)型、BNF)の
1例を示している。この主モジユール構造は、パ
スカル構造に分解される。
この好適なな実施例において、主モジユール、
パスカルの形(例えばVMSパスカル)に書かれ
る。慣例上、主モジユールフアイルには、接尾辞
「.pri」がつく。第2表は、この主オブジエクト
「scale.priの主モジユールの1例を示している。
パスカルの形(例えばVMSパスカル)に書かれ
る。慣例上、主モジユールフアイルには、接尾辞
「.pri」がつく。第2表は、この主オブジエクト
「scale.priの主モジユールの1例を示している。
第1表に対するキー
:=「によつて定義される」
: 「OR」
(,) 「任意の数の内部グループ」
〔,〕 「任意の内部グループ」
第1表
primary:=
primary−heading primary−block
‘end'“.”;
primary−heading:=
‘primary'primary−name
〔“(“file identifier(“,”file−identifier”
)”〕
“;”; primary−name:=−iden; primary−block:= (primary−declaration) initialization−part termination−part; primary−declaration:= は以下の命令を含む :labe1−declaration−part :constant−definition−part :type−definition−part :variable−declaration−part :routine−declaration :method−declaration; method−declaration:= method−heading method−block”;“; method−heading;= ‘method'method−name method−
parameter−list”;“; method−name:=−iden; method−parameter−list:= “(“method−parameter(‘;”method−
parameter)”)”; method−parameter:= entry−declaration:result−declaration; entry−declaration:= ‘entry'entry−name(“,”entry−name) “:”type−identifier; result−declaration:= ‘result'result−name(“,”result−name) “:”type−identifier; entry−name:=−iden; result−name:=−iden; method−block:= declaration−part method−statements−part; method−statements−part:= ‘begin'statement(“;”statement)‘end'; unlabeled−statement:= structured−statement:goto−statement: send−statement:assign−proc−
statement:−empty; send−statement:= ‘send−iden”:=“expression; initialization−part= ‘initialize'“;”method−block“;”−
empty; termination−part:= ‘terminate'“;”method−block“;”:−
empty; 第2表 (☆SCALE.PRI:スケーラ主オブジエクト☆) (☆入力/出力式:Y:=(mpr/dvr)☆X+
ofst☆) 主スケール; Var mprx, (☆乗数定数☆) dvrx, (☆除数定数☆) ofstx:実; (☆オフセツト定数☆) 方法init−mpr(エントリmpr:実); 開始 mprx:=mpr 終り; 方法 init−dvr(エントリdvr:実); 開始 dvrx:=dvr 終り; 方法 initofst(エントリofst:実); 開始 ofstx:=ofst 終り; 方法 doit(エントリX:実;結果Y:実); 開始 送りY:=((mprx/dvrx)☆X)+ofstx 終り; 初期化; 開始(☆デイフオルト値を初期化☆) mprx:=1.0; dvrx:=1.0; ofstx:=0.0 終り; 終り. f プロセツサ/優先度の方法への割当 各主目的方法は、割り当てられたプロセツサ及
び割り当てられた優先度を有しており、これらの
プロセツサ及び優先度は、データフロープログラ
ムの実行の間にMPU18によつて用いられる。
プログラム及び優先度の方法への割当は一般的
に、データフロープログラムの作成の間にホスト
コンピユータ12においてなされる。
)”〕
“;”; primary−name:=−iden; primary−block:= (primary−declaration) initialization−part termination−part; primary−declaration:= は以下の命令を含む :labe1−declaration−part :constant−definition−part :type−definition−part :variable−declaration−part :routine−declaration :method−declaration; method−declaration:= method−heading method−block”;“; method−heading;= ‘method'method−name method−
parameter−list”;“; method−name:=−iden; method−parameter−list:= “(“method−parameter(‘;”method−
parameter)”)”; method−parameter:= entry−declaration:result−declaration; entry−declaration:= ‘entry'entry−name(“,”entry−name) “:”type−identifier; result−declaration:= ‘result'result−name(“,”result−name) “:”type−identifier; entry−name:=−iden; result−name:=−iden; method−block:= declaration−part method−statements−part; method−statements−part:= ‘begin'statement(“;”statement)‘end'; unlabeled−statement:= structured−statement:goto−statement: send−statement:assign−proc−
statement:−empty; send−statement:= ‘send−iden”:=“expression; initialization−part= ‘initialize'“;”method−block“;”−
empty; termination−part:= ‘terminate'“;”method−block“;”:−
empty; 第2表 (☆SCALE.PRI:スケーラ主オブジエクト☆) (☆入力/出力式:Y:=(mpr/dvr)☆X+
ofst☆) 主スケール; Var mprx, (☆乗数定数☆) dvrx, (☆除数定数☆) ofstx:実; (☆オフセツト定数☆) 方法init−mpr(エントリmpr:実); 開始 mprx:=mpr 終り; 方法 init−dvr(エントリdvr:実); 開始 dvrx:=dvr 終り; 方法 initofst(エントリofst:実); 開始 ofstx:=ofst 終り; 方法 doit(エントリX:実;結果Y:実); 開始 送りY:=((mprx/dvrx)☆X)+ofstx 終り; 初期化; 開始(☆デイフオルト値を初期化☆) mprx:=1.0; dvrx:=1.0; ofstx:=0.0 終り; 終り. f プロセツサ/優先度の方法への割当 各主目的方法は、割り当てられたプロセツサ及
び割り当てられた優先度を有しており、これらの
プロセツサ及び優先度は、データフロープログラ
ムの実行の間にMPU18によつて用いられる。
プログラム及び優先度の方法への割当は一般的
に、データフロープログラムの作成の間にホスト
コンピユータ12においてなされる。
方法のプロセツサ/優先度が出てくることがで
きる3つの可能なソースが存在する。各機構は、
それ自身の応用を有している。ある方法に対する
プロセツサ及び優先度規格は、一緒になされる傾
向にあるが、このことは必要ではない。このプロ
セツサ規格は、あるソースからくることができ、
優先度規格は別のソースからくることができる。
きる3つの可能なソースが存在する。各機構は、
それ自身の応用を有している。ある方法に対する
プロセツサ及び優先度規格は、一緒になされる傾
向にあるが、このことは必要ではない。このプロ
セツサ規格は、あるソースからくることができ、
優先度規格は別のソースからくることができる。
これら3つの特性割当機構は(優先度の上昇順
に):外部コンテキストから情報を引き継ぐこと、
CREATE/METHOD命令における明確な規格、
又はOVERRIDE命令における明確な規格であ
る。
に):外部コンテキストから情報を引き継ぐこと、
CREATE/METHOD命令における明確な規格、
又はOVERRIDE命令における明確な規格であ
る。
(1) 外部コンテキストからの規格の引継ぎ
システムにおけるどのオブジエクトも(即ち複
合及び主オブジエクトの両方)、それに開連した
プロセツサ及び/又は優先度特性を有することが
できる。諸オブジエクトはそれ自身、如何なる実
施可能なコード(方法の外側)を有しておらず、
従つてこの情報のための直接的な使用を有してい
ない。このプロセツサ/優先度情報の目的は、メ
ンバ方法にデイフオルトを与えることである。あ
る方法が、規定された明確なプロセツサ又は優先
度を有していない場合、それはその親オブジエク
トから特性を引き継ぐ。親がその情報を有してい
ない場合は、それは親の親等からくる。このツリ
ーの頂部にはSYSTEM目的が存在する。
SYSTEMは、プロセツサ「デイフオルト」及び
優先度「5」と関連していると定義されるのが普
通である。
合及び主オブジエクトの両方)、それに開連した
プロセツサ及び/又は優先度特性を有することが
できる。諸オブジエクトはそれ自身、如何なる実
施可能なコード(方法の外側)を有しておらず、
従つてこの情報のための直接的な使用を有してい
ない。このプロセツサ/優先度情報の目的は、メ
ンバ方法にデイフオルトを与えることである。あ
る方法が、規定された明確なプロセツサ又は優先
度を有していない場合、それはその親オブジエク
トから特性を引き継ぐ。親がその情報を有してい
ない場合は、それは親の親等からくる。このツリ
ーの頂部にはSYSTEM目的が存在する。
SYSTEMは、プロセツサ「デイフオルト」及び
優先度「5」と関連していると定義されるのが普
通である。
どのプロセツサ/優先度も、ネツトワークのど
の部分にも規定されることが不可能である。この
場合、システムにおけるどの方法も、優先度
「5」におけるプロセツサ「デイフオルト」に実
行する。
の部分にも規定されることが不可能である。この
場合、システムにおけるどの方法も、優先度
「5」におけるプロセツサ「デイフオルト」に実
行する。
システムにおけるどのオブジエクトも、それに
対して規定されたプロセツサ及び(又は)優先度
を有することができる。これにより、そのオブジ
エクト内のある場所にある全ての方法は、それが
より低いレベルにオーバーライドしない限りこれ
らの特性を用いる。
対して規定されたプロセツサ及び(又は)優先度
を有することができる。これにより、そのオブジ
エクト内のある場所にある全ての方法は、それが
より低いレベルにオーバーライドしない限りこれ
らの特性を用いる。
この規格は、これらのオブジエクトが
CREATE命令において形成されるかあるいは後
にCHANGE命令と相互に交換される時に割り当
てることができる。
CREATE命令において形成されるかあるいは後
にCHANGE命令と相互に交換される時に割り当
てることができる。
あるオブジエクトのプロセツサ/優先度特性
は、「外部」特性である。これらは、このオブジ
エクトの定義の一部ではない。このオブジエクト
自体を貯えてもこの情報を記憶することにはなら
ない。これらの特徴は、このオブジエクトの親の
定義の一部である。このオブジエクトの親が、セ
ーブ(退避)される場合、フアイルに置かれた
CREATE命令は、セーブの時間において実施さ
れる特性を有するオブジエクトを再形成するのに
必要なプロセツサ/優先度指定を含んでいる。
は、「外部」特性である。これらは、このオブジ
エクトの定義の一部ではない。このオブジエクト
自体を貯えてもこの情報を記憶することにはなら
ない。これらの特徴は、このオブジエクトの親の
定義の一部である。このオブジエクトの親が、セ
ーブ(退避)される場合、フアイルに置かれた
CREATE命令は、セーブの時間において実施さ
れる特性を有するオブジエクトを再形成するのに
必要なプロセツサ/優先度指定を含んでいる。
(2) METHOD命令における陽な指定
時々、主オブジエクトは、特定の優先度におい
て実行することのみに意味をなす個別方法(又は
諸方法)を含んでいる。この場合、この指定は、
この方法に直接与えることができる。この方法は
次に、親オブジエクト(即ち主オブジエクト)の
指定に拘わらずこの情報を用いる。
て実行することのみに意味をなす個別方法(又は
諸方法)を含んでいる。この場合、この指定は、
この方法に直接与えることができる。この方法は
次に、親オブジエクト(即ち主オブジエクト)の
指定に拘わらずこの情報を用いる。
この指定は、CREATE/METHOD命令にお
いてあるいはCHANGE命令と共になされる。
いてあるいはCHANGE命令と共になされる。
ある方法のプロセツサ/優先度特性は、主オブ
ジエクトに対して「内部的」である。この主オブ
ジエクトは、ある方法の特性を修正するために開
かれなければならない。これらは、主型の定義の
一部である。この主オブジエクトをセーブする
と、適当な限定詞がフイルタの中に置かれた
CREATE/METHOD命令に置かれる。このオ
プシヨンは、セーブの時点において実施される特
性を反映している。
ジエクトに対して「内部的」である。この主オブ
ジエクトは、ある方法の特性を修正するために開
かれなければならない。これらは、主型の定義の
一部である。この主オブジエクトをセーブする
と、適当な限定詞がフイルタの中に置かれた
CREATE/METHOD命令に置かれる。このオ
プシヨンは、セーブの時点において実施される特
性を反映している。
(3) OVERRIDE命令における陽な指定
このOVERRIDE命令は、主オブジエクト型の
唯1つの例における方法に対するプロセツサ及
び/又は優先指定をオーバーライドするのに用い
られる。これは、ある主オブジエクトの個別方法
を特別なプロセツサに置くのに必要な時に有用で
あり、この場合、総称的型の一部ではあり得な
い。ある主オブジエクトの全ての方法が、ある規
定されたプロセツサに置かれるとすると、この指
定は、この主オブジエクト自体になされ得る。し
かし、この方法は、分離されるとすると、
OVERRIDEが用いられなければならない。
唯1つの例における方法に対するプロセツサ及
び/又は優先指定をオーバーライドするのに用い
られる。これは、ある主オブジエクトの個別方法
を特別なプロセツサに置くのに必要な時に有用で
あり、この場合、総称的型の一部ではあり得な
い。ある主オブジエクトの全ての方法が、ある規
定されたプロセツサに置かれるとすると、この指
定は、この主オブジエクト自体になされ得る。し
かし、この方法は、分離されるとすると、
OVERRIDEが用いられなければならない。
OVERRIDEによつて規定されたプロセツサ/
優先度特性は、主優先度に対して「外部的」であ
る。この主オブジエクト自体をセーブすること
は、この情報を記憶することにはならない。これ
らの方法の直接的な如何なる陽な特性も、上記の
ようにセーブされる。OVERRIDE特性は、この
オブジエクトの親の定義の一部である。このオブ
ジエクトの親がセーブされる場合、OVERRIDE
命令は、セーブの時点において実施される特性を
有するオブジエクトを再形成するためにフアイル
の中に置かれる。
優先度特性は、主優先度に対して「外部的」であ
る。この主オブジエクト自体をセーブすること
は、この情報を記憶することにはならない。これ
らの方法の直接的な如何なる陽な特性も、上記の
ようにセーブされる。OVERRIDE特性は、この
オブジエクトの親の定義の一部である。このオブ
ジエクトの親がセーブされる場合、OVERRIDE
命令は、セーブの時点において実施される特性を
有するオブジエクトを再形成するためにフアイル
の中に置かれる。
g プロセツサ及び優先度を相互に変化させる効
果 あるエンテイテイのプロセツサ及び(又は)優
先度を(CHANGE又はOVERRIDEを経由して)
変化させると、すぐに、論理的に影響された全て
の方法のオペレーテイングコンテキストが変化す
る。これにより、方法は、MPU18の異なつた
プロセツサにおいて実施される。
果 あるエンテイテイのプロセツサ及び(又は)優
先度を(CHANGE又はOVERRIDEを経由して)
変化させると、すぐに、論理的に影響された全て
の方法のオペレーテイングコンテキストが変化す
る。これにより、方法は、MPU18の異なつた
プロセツサにおいて実施される。
全てのエンテイテイにおけるプロセツサ特性
は、論理的プロセツサネームである。この
CREATE/PPROCESSOR及びCHANGE/
PROCESSOR命令は、物理的プロセツサへの論
理的ネームのマツピングを変化させるのに用いる
ことができる。これにより、この論理的ネームに
割り当てられた全ての方法がこの新しいプロセツ
サに移動する。これにより、方法及びオブジエク
トは、それらのトポロジカルな関係に関係なくグ
ループに割り当てることができる。すると、1つ
のグループは、1つのCHANGE/
PROCESSOR命令を有する異なつたプロセツサ
に移動することができる。
は、論理的プロセツサネームである。この
CREATE/PPROCESSOR及びCHANGE/
PROCESSOR命令は、物理的プロセツサへの論
理的ネームのマツピングを変化させるのに用いる
ことができる。これにより、この論理的ネームに
割り当てられた全ての方法がこの新しいプロセツ
サに移動する。これにより、方法及びオブジエク
トは、それらのトポロジカルな関係に関係なくグ
ループに割り当てることができる。すると、1つ
のグループは、1つのCHANGE/
PROCESSOR命令を有する異なつたプロセツサ
に移動することができる。
h 多重レベルダイアグラムのフラツトダイアグ
ラムへの変換−オブジエクトマネージヤ このオブジエクトマネージヤは、これらの諸オ
ブジエクト及び形成される階層データフローダイ
アグラムを定義するのに必要なデータ構造を維持
する。更に、このオブジエクトマネージヤは、カ
ーネルによつて維持されるフラツトデータフロー
ダイアグラムの形成の結果となるカーネルに命令
を与える責任がある。オブジエクトマネージヤ
が、既存のダイアグラムへの変化を含むインタプ
リタから命令を受ける毎に(それが新しいオブジ
エクト、既存のオブジエクトの修正、接続の変化
等の形成であるか否か)、オブジエクトマネージ
ヤは、ホストコンピユータ12において維持され
るデータ構造を形成し、カーネルによつて維持さ
れるフラツトダイアグラムとオブジエクトマネー
ジヤによつて維持されつつある多重レベルダイア
グラムとの間に機能的な等価物が存在するよう
に、フラツトダイアグラムに対して何がなされる
必要があるかを決定する。
ラムへの変換−オブジエクトマネージヤ このオブジエクトマネージヤは、これらの諸オ
ブジエクト及び形成される階層データフローダイ
アグラムを定義するのに必要なデータ構造を維持
する。更に、このオブジエクトマネージヤは、カ
ーネルによつて維持されるフラツトデータフロー
ダイアグラムの形成の結果となるカーネルに命令
を与える責任がある。オブジエクトマネージヤ
が、既存のダイアグラムへの変化を含むインタプ
リタから命令を受ける毎に(それが新しいオブジ
エクト、既存のオブジエクトの修正、接続の変化
等の形成であるか否か)、オブジエクトマネージ
ヤは、ホストコンピユータ12において維持され
るデータ構造を形成し、カーネルによつて維持さ
れるフラツトダイアグラムとオブジエクトマネー
ジヤによつて維持されつつある多重レベルダイア
グラムとの間に機能的な等価物が存在するよう
に、フラツトダイアグラムに対して何がなされる
必要があるかを決定する。
基本的に、カーネルは、以下の命令を理解す
る。即ち、主オブジエクトの形成あるいは破壊、
結果ターミナルのエントリターミナルへの接続あ
るいは切断、エントリへの値に割当、及び方法の
実施環境(例えばCPU及び優先度)の操作であ
る。カーネルは主オブジエクトのみを取り扱い、
従つて、オブジエクトマネージヤ、複合オブジエ
クトを含む多重レベルダイアグラムをフラツトダ
イアグラムに交換するために必要な命令を与えな
ければならない。
る。即ち、主オブジエクトの形成あるいは破壊、
結果ターミナルのエントリターミナルへの接続あ
るいは切断、エントリへの値に割当、及び方法の
実施環境(例えばCPU及び優先度)の操作であ
る。カーネルは主オブジエクトのみを取り扱い、
従つて、オブジエクトマネージヤ、複合オブジエ
クトを含む多重レベルダイアグラムをフラツトダ
イアグラムに交換するために必要な命令を与えな
ければならない。
オブジエクトマネージヤによつて実行される手
順を簡単な用語でもつて説明するために、第6図
に示す簡単なダイアグラムを参照する。このダイ
アグラムにおいて、2つの複合オブジエクトA及
びBが存在する。
順を簡単な用語でもつて説明するために、第6図
に示す簡単なダイアグラムを参照する。このダイ
アグラムにおいて、2つの複合オブジエクトA及
びBが存在する。
複合オブジエクトAの中には、2つの主オブジ
エクトA1及びA2及び1つの結果ターミナルP
が存在する。オブジエクトA1及びA2はそれぞ
れ、OUTと名前が付けられた結果ターミナルを
有している。オブジエクトAの内部には、主オブ
ジエクトA1及びA2のOUT結果ターミナルのそ
れぞれと結果ターミナルPとの接続が存在する。
複合ターミナルBは、3つの主ターミナルB1、
B2及びB3並びに1つのエントリターミナルQを
有している。B1は、2つのエントリターミナル
IN1及びIN2を有しており、B2は、1つのエント
リターミナルXを有しており、B3は、1つのエ
ントリターミナルYを有している。オブジエクト
Bの内部において、エントリターミナルQは、そ
れぞれ主オブジエクトB1−B3上のIN1、X及び
Yエントリに接続されている。2つのオブジエク
トA及びBの間にも接続が存在しており、この接
続は、結果ターミナルPからエントリターミナル
Qへなされる。
エクトA1及びA2及び1つの結果ターミナルP
が存在する。オブジエクトA1及びA2はそれぞ
れ、OUTと名前が付けられた結果ターミナルを
有している。オブジエクトAの内部には、主オブ
ジエクトA1及びA2のOUT結果ターミナルのそ
れぞれと結果ターミナルPとの接続が存在する。
複合ターミナルBは、3つの主ターミナルB1、
B2及びB3並びに1つのエントリターミナルQを
有している。B1は、2つのエントリターミナル
IN1及びIN2を有しており、B2は、1つのエント
リターミナルXを有しており、B3は、1つのエ
ントリターミナルYを有している。オブジエクト
Bの内部において、エントリターミナルQは、そ
れぞれ主オブジエクトB1−B3上のIN1、X及び
Yエントリに接続されている。2つのオブジエク
トA及びBの間にも接続が存在しており、この接
続は、結果ターミナルPからエントリターミナル
Qへなされる。
この簡単な例は、ユーザがオブジエクトAを形
成し、オブジエクトBを形成し、且つターミナル
P及びQを共に接続する時にオブジエクトマネー
ジヤによつて実行されるステツプを追跡する。キ
ーボード16を通してユーザによつて与えられる
最初の命令は、CREATE Aである。これによ
り、オブジエクトマネージヤは、ネーム「A」を
有する空ボツクスを形成する。次にオブジエクト
マネージヤは、このボツクスの中に入り、主オブ
ジエクトA1、主オブジエクトA2及び結果ターミ
ナルPを形成する。次にこれはA1.OUTをPに且
つA2.OUTをPに接続する。
成し、オブジエクトBを形成し、且つターミナル
P及びQを共に接続する時にオブジエクトマネー
ジヤによつて実行されるステツプを追跡する。キ
ーボード16を通してユーザによつて与えられる
最初の命令は、CREATE Aである。これによ
り、オブジエクトマネージヤは、ネーム「A」を
有する空ボツクスを形成する。次にオブジエクト
マネージヤは、このボツクスの中に入り、主オブ
ジエクトA1、主オブジエクトA2及び結果ターミ
ナルPを形成する。次にこれはA1.OUTをPに且
つA2.OUTをPに接続する。
この時点になつて、オブジエクトマネージヤ
は、カーネルと通信し、これによりカーネルは主
オブジエクトA1及びA2を形成する。カーネルの
内部では、各主オブジエクトは、独特のネームを
与えられる。斯くして、2つの主オブジエクトが
同等であつても、各々は、独特のネーム即ちカー
ネル内部の「アドレス」を有する。カーネルに関
する限り、複合オブジエクトAは存在せず、主オ
ブジエクトA1及びA2のみが知られている。これ
が完了すると、オブジエクトマネージヤは、オブ
ジエクトAと呼ばれるボツクスの外側に戻る。
は、カーネルと通信し、これによりカーネルは主
オブジエクトA1及びA2を形成する。カーネルの
内部では、各主オブジエクトは、独特のネームを
与えられる。斯くして、2つの主オブジエクトが
同等であつても、各々は、独特のネーム即ちカー
ネル内部の「アドレス」を有する。カーネルに関
する限り、複合オブジエクトAは存在せず、主オ
ブジエクトA1及びA2のみが知られている。これ
が完了すると、オブジエクトマネージヤは、オブ
ジエクトAと呼ばれるボツクスの外側に戻る。
CREATE B命令が受けられると、オブジエク
トマネージヤは、Bと名付けられた空ボツクスを
形成し、次にこのボツクスの内側に入つて、B1、
B2、B3及びQを形成することにより類似の手順
を実行する。オブジエクトB1−B3上のエントリ
ターミナルのエントリターミナルQへの接続は、
オブジエクトマネージヤによつてなされる。主オ
ブジエクトB1、B2及びB3は、カーネル内で形成
され且つ独特のネーム即ちアドレスを与えられ
る。これが完了すると、オブジエクトマネージヤ
は、オブジエクトBの外側に戻る。
トマネージヤは、Bと名付けられた空ボツクスを
形成し、次にこのボツクスの内側に入つて、B1、
B2、B3及びQを形成することにより類似の手順
を実行する。オブジエクトB1−B3上のエントリ
ターミナルのエントリターミナルQへの接続は、
オブジエクトマネージヤによつてなされる。主オ
ブジエクトB1、B2及びB3は、カーネル内で形成
され且つ独特のネーム即ちアドレスを与えられ
る。これが完了すると、オブジエクトマネージヤ
は、オブジエクトBの外側に戻る。
次に、ユーザは、命令CONNECT A.PをB.Q.
に与える。これは、複合オブジエクトAの結果タ
ーミナルPを複合オブジエクトBのエントリター
ミナルQに接続する命令である。次にオブジエク
トマネージヤは、PのQに対する接続を表わすホ
ストコンピユータ12によるデータ構造を形成す
る。
に与える。これは、複合オブジエクトAの結果タ
ーミナルPを複合オブジエクトBのエントリター
ミナルQに接続する命令である。次にオブジエク
トマネージヤは、PのQに対する接続を表わすホ
ストコンピユータ12によるデータ構造を形成す
る。
オブジエクトマネージヤは、結果ターミナルP
に行き、全ての接続を後方に検査し、それが発見
する主オブジエクトに関する結果のリストを形成
する。これが一旦完了すると、オブジエクトマネ
ージヤは、エントリターミナルQに行き、接続を
通して前を見ることによりそれが発見する主オブ
ジエクト上のエンテイテイの全てのリストを作成
することにより類似の手順を実行する。この手順
は、回帰的ツリー横断手順を用いて、本発明の好
適な実施例において実行される。その結果は、概
念的に2つの論理ツリーとなる。即ち、ツリーの
根元としての結果ターミナルP、枝としての内部
接続、及び葉としての結果A1.OUT及びA2.OUT
を有するツリーであり、他方は、その根元として
のエントリターミナルQ、枝としての内部接続及
び葉としてのエントリB1.IN1、B2.X及びB3.Yを
有するツリーである。勿論、この例は、非常に単
純化されており、第5A図−第5E図に示される
ようなより複雑なシステムにおいては、複合オブ
ジエクトの多くの層が存在し従つて更に多くの複
雑なツリーが存在する。
に行き、全ての接続を後方に検査し、それが発見
する主オブジエクトに関する結果のリストを形成
する。これが一旦完了すると、オブジエクトマネ
ージヤは、エントリターミナルQに行き、接続を
通して前を見ることによりそれが発見する主オブ
ジエクト上のエンテイテイの全てのリストを作成
することにより類似の手順を実行する。この手順
は、回帰的ツリー横断手順を用いて、本発明の好
適な実施例において実行される。その結果は、概
念的に2つの論理ツリーとなる。即ち、ツリーの
根元としての結果ターミナルP、枝としての内部
接続、及び葉としての結果A1.OUT及びA2.OUT
を有するツリーであり、他方は、その根元として
のエントリターミナルQ、枝としての内部接続及
び葉としてのエントリB1.IN1、B2.X及びB3.Yを
有するツリーである。勿論、この例は、非常に単
純化されており、第5A図−第5E図に示される
ようなより複雑なシステムにおいては、複合オブ
ジエクトの多くの層が存在し従つて更に多くの複
雑なツリーが存在する。
オブジエクトマネージヤが、主オブジエクトの
リストを作成した後、オブジエクトマネージヤ
は、カーネルに命令を与え、ターミナルP及びQ
及びトランスジユーサA及びBが存在しなかつた
ように、主オブジエクトA1、A2、B1、B2及び
B3の同等な接続を行う。この場合、オブジエク
トマネージヤは、カーネルに対してA1.OUTから
B1.1N2へ、A1.OUTからB2.Xへ、A1.OUTか
らB3.Yへ、A2.OUTからB1.IN1へ、A2.OUT
からB2.Xへ、且つA2.OUTからB3.Yに接続する
ように命令する。
リストを作成した後、オブジエクトマネージヤ
は、カーネルに命令を与え、ターミナルP及びQ
及びトランスジユーサA及びBが存在しなかつた
ように、主オブジエクトA1、A2、B1、B2及び
B3の同等な接続を行う。この場合、オブジエク
トマネージヤは、カーネルに対してA1.OUTから
B1.1N2へ、A1.OUTからB2.Xへ、A1.OUTか
らB3.Yへ、A2.OUTからB1.IN1へ、A2.OUT
からB2.Xへ、且つA2.OUTからB3.Yに接続する
ように命令する。
カーネルの中では、各主オブジエクトに対する
1つのデータ構造及び各接続に対する1つのデー
タ構造が維持されている。グローバルメモリ32
において維持され且つ種々のプロセツサ22A−
22Nによつてアクセスされるのはこの組のデー
タ構造である。グローバルメモリ32に維持され
るデータ構造のこのセツトは、ホストコンピユー
タ12の中のオブジエクトマネージヤによつて1
組のデータ構造の形に同時に維持される多重レベ
ル階層ダイアグラムの機能的等価物であるネツト
ワークのフラツト(単一レベル)ダイアグラムを
表わす。
1つのデータ構造及び各接続に対する1つのデー
タ構造が維持されている。グローバルメモリ32
において維持され且つ種々のプロセツサ22A−
22Nによつてアクセスされるのはこの組のデー
タ構造である。グローバルメモリ32に維持され
るデータ構造のこのセツトは、ホストコンピユー
タ12の中のオブジエクトマネージヤによつて1
組のデータ構造の形に同時に維持される多重レベ
ル階層ダイアグラムの機能的等価物であるネツト
ワークのフラツト(単一レベル)ダイアグラムを
表わす。
3 MPU18におけるデータフロープログラム
の実施 データフロープログラムが一旦ホストコンピユ
ータ12において作成されると、それは、制御シ
ステム環境においてMPU18によつて実行され
得る。MPU18は、トランスジユーサ20を通
してその環境と対話する。MPU18は、ホスト
コンピユータ12から完全に分離してオペレート
することができあるいはホストコンピユータ12
から制御情報を継続して受けてオペレーシヨンを
開始することができ、且つオペレーテイングパラ
メータを変化しあるいは実行中にもフラツトダイ
アグラムを形成するデータ構造を修正することが
できる。
の実施 データフロープログラムが一旦ホストコンピユ
ータ12において作成されると、それは、制御シ
ステム環境においてMPU18によつて実行され
得る。MPU18は、トランスジユーサ20を通
してその環境と対話する。MPU18は、ホスト
コンピユータ12から完全に分離してオペレート
することができあるいはホストコンピユータ12
から制御情報を継続して受けてオペレーシヨンを
開始することができ、且つオペレーテイングパラ
メータを変化しあるいは実行中にもフラツトダイ
アグラムを形成するデータ構造を修正することが
できる。
高速且つ効果的に並行なオペレーシヨンを達成
するために、MPU18は、MPU18のプロセツ
サ内において主オブジエクト方法の実施をスケジ
ユールする責任がある1つ又はそれ以上のカーネ
ルを用いる。
するために、MPU18は、MPU18のプロセツ
サ内において主オブジエクト方法の実施をスケジ
ユールする責任がある1つ又はそれ以上のカーネ
ルを用いる。
主オブジエクト型は、カーネル又は諸カーネル
に対して相対的に定義される。ある主オブジエク
ト型に対するコードは、それが中において実施で
きるどの特定のカーネルにも組み込まれる。ある
主オブジエクト型の例は、この主オブジエクト型
に対するコードを含むカーネル内でのみ形成され
得る。
に対して相対的に定義される。ある主オブジエク
ト型に対するコードは、それが中において実施で
きるどの特定のカーネルにも組み込まれる。ある
主オブジエクト型の例は、この主オブジエクト型
に対するコードを含むカーネル内でのみ形成され
得る。
主オブジエクト方法は、プロセツサ22A−2
2N内で実施する。どの方法も、特定のプロセツ
サ及びそれに関連する優先度を有している。ある
方法が実施されると、それは、割り当てられたプ
ロセツサにおいて且つ割り当てられた優先度でも
つてなされる。このカーネルは、方法の実施をス
ケジユールする責任がある。
2N内で実施する。どの方法も、特定のプロセツ
サ及びそれに関連する優先度を有している。ある
方法が実施されると、それは、割り当てられたプ
ロセツサにおいて且つ割り当てられた優先度でも
つてなされる。このカーネルは、方法の実施をス
ケジユールする責任がある。
カーネルは、それらが独特に識別されるための
ネームを有している。プロセツサもまた論理的ネ
ームを割り当てられる。プロセツサネームとは、
特定のカーネルにおける特定のプロセツサに関連
する識別子である。方法は、その論理的ネームに
よつて特定のプロセツサと関連する。プロセツサ
ネームは、関連の方法が実施される物理的プロセ
ツサを変化するために修正され得る。方法は、カ
ーネル内のプロセツサ間を移動できるが、カーネ
ル間は移動できない。
ネームを有している。プロセツサもまた論理的ネ
ームを割り当てられる。プロセツサネームとは、
特定のカーネルにおける特定のプロセツサに関連
する識別子である。方法は、その論理的ネームに
よつて特定のプロセツサと関連する。プロセツサ
ネームは、関連の方法が実施される物理的プロセ
ツサを変化するために修正され得る。方法は、カ
ーネル内のプロセツサ間を移動できるが、カーネ
ル間は移動できない。
スケジユーラサブシステムは、データフローを
起すカーネルの部分である。これに対照的にカー
ネルのエグゼクチブサブシステムは、主オブジエ
クト及び接続のネツトワークのフラツトモデルを
表わすデータ構造をグローバルメモリ32に組み
込み且つ維持する責任がある。このスケジユーラ
は、これらのデータ構造を用いて、方法をスケジ
ユールし且つ実施し、並びにデータ接続を通して
伝播する。このスケジユーラは、割込みを取り扱
う。
起すカーネルの部分である。これに対照的にカー
ネルのエグゼクチブサブシステムは、主オブジエ
クト及び接続のネツトワークのフラツトモデルを
表わすデータ構造をグローバルメモリ32に組み
込み且つ維持する責任がある。このスケジユーラ
は、これらのデータ構造を用いて、方法をスケジ
ユールし且つ実施し、並びにデータ接続を通して
伝播する。このスケジユーラは、割込みを取り扱
う。
スケジユールされた基本的なエンテイテイは、
方法である。方法は、プロセツサ及び優先度を割
り当てられる。方法は、以下の状態の1つを有し
得る。
方法である。方法は、プロセツサ及び優先度を割
り当てられる。方法は、以下の状態の1つを有し
得る。
−アイドル(スケジユールされずビジーでな
い) −実行可能(スケジユールされているがビジー
でない) −実施中(スケジユールされていないがビジー
である) −実行可能及び実施中(スケジユールされてお
りビジーである) ある方法が定義されると、それはアイドルであ
る。データがそのエントリターミナルの全てに到
達すると、方法は実行可能となる。適当なプロセ
ツサ22A−22Nがある方法を実行できると、
この方法はビジーになる。この方法が実施を完了
すると、この方法は、再びアイドルになる。ある
方法は、実行可能及び実施中の両方となることが
できる。ある方法が一旦実施を開始すると、再び
スケジユールされることが可能である。そのエン
トリターミナルが再びデータに充たされる場合、
それは再びスケジユールされる。
い) −実行可能(スケジユールされているがビジー
でない) −実施中(スケジユールされていないがビジー
である) −実行可能及び実施中(スケジユールされてお
りビジーである) ある方法が定義されると、それはアイドルであ
る。データがそのエントリターミナルの全てに到
達すると、方法は実行可能となる。適当なプロセ
ツサ22A−22Nがある方法を実行できると、
この方法はビジーになる。この方法が実施を完了
すると、この方法は、再びアイドルになる。ある
方法は、実行可能及び実施中の両方となることが
できる。ある方法が一旦実施を開始すると、再び
スケジユールされることが可能である。そのエン
トリターミナルが再びデータに充たされる場合、
それは再びスケジユールされる。
あるプロセツサでの実施中方法及び実行可能方
法は、厳しい優先度でもつてプロセツサ時間を競
う。ある方法が実施中であり且つより高い優先度
方法が実行可能となる場合、このより高い優先度
方法は、より低い優先度の方法を「割込み」、完
了するまで実施し、この際、より低い優先度の方
法は、実施を続ける。斯くして、プロセツサ内に
は多くの「実施中」方法が存在し得るが、常に唯
1つの「現在方法」が存在する。方法は、昔の多
重タスキングの場合においては「停止」されるこ
とができない。それらはただ、より高い優先度タ
スクによつて「割込み」されるだけである。
法は、厳しい優先度でもつてプロセツサ時間を競
う。ある方法が実施中であり且つより高い優先度
方法が実行可能となる場合、このより高い優先度
方法は、より低い優先度の方法を「割込み」、完
了するまで実施し、この際、より低い優先度の方
法は、実施を続ける。斯くして、プロセツサ内に
は多くの「実施中」方法が存在し得るが、常に唯
1つの「現在方法」が存在する。方法は、昔の多
重タスキングの場合においては「停止」されるこ
とができない。それらはただ、より高い優先度タ
スクによつて「割込み」されるだけである。
与えられた優先度において実行される方法は、
それが同一の又は低い優先度の方法でもつて非対
称的に割り込みされないことを保証される。この
方法が明らかなスケジユーラを(SEND又は
SCHEDULEを経由して)呼ぶ場合は、このオペ
レーシヨンによつて実行可能とされる同一の優先
度の任意の方法は、元の方法に戻る前に完了まで
実行される。このスケジユーリングアルゴリズム
に対するこの例外は、効率の目的のためである。
これにより、この場合は、これらの方法のキユー
及びデキユーを防ぐ。
それが同一の又は低い優先度の方法でもつて非対
称的に割り込みされないことを保証される。この
方法が明らかなスケジユーラを(SEND又は
SCHEDULEを経由して)呼ぶ場合は、このオペ
レーシヨンによつて実行可能とされる同一の優先
度の任意の方法は、元の方法に戻る前に完了まで
実行される。このスケジユーリングアルゴリズム
に対するこの例外は、効率の目的のためである。
これにより、この場合は、これらの方法のキユー
及びデキユーを防ぐ。
最終的に、方法は、それがそれ自体を割込みし
ないことを保証される。上記の「コールスルー
(call through)」が通常は方法を実施するが、ビ
ジーである場合は、この方法は、それを実施する
代わりに、実行可能となる。
ないことを保証される。上記の「コールスルー
(call through)」が通常は方法を実施するが、ビ
ジーである場合は、この方法は、それを実施する
代わりに、実行可能となる。
このスケジユーラの同等のコピーは、各プロセ
ツサ22A−22Nにおいて実行される。この初
期化は、2つのステツプで達成される。先ず、
SCHED−INITIALIZEが呼ばれる。これは、局
部プロセツサの初期化の一部分としてLCL−
INITIALIZEによつてなされる。これにより、
スケジユーラは、局部プロセツサにおいて作動的
になる。プロセツサ内の全ての初期化が完了する
と、SAVE−IDLE−LOOPが呼ばれる。このネ
ームが示唆するように、これは、プロセツサ内の
他の何も実行可能でない時に実行するダミールー
チンである。このルーチンは、戻ることがない。
ツサ22A−22Nにおいて実行される。この初
期化は、2つのステツプで達成される。先ず、
SCHED−INITIALIZEが呼ばれる。これは、局
部プロセツサの初期化の一部分としてLCL−
INITIALIZEによつてなされる。これにより、
スケジユーラは、局部プロセツサにおいて作動的
になる。プロセツサ内の全ての初期化が完了する
と、SAVE−IDLE−LOOPが呼ばれる。このネ
ームが示唆するように、これは、プロセツサ内の
他の何も実行可能でない時に実行するダミールー
チンである。このルーチンは、戻ることがない。
このスケジユーラには、幾つかの異なつた手順
コールによる異なつたスケジユーリングエンテイ
テイの状態の変化が知らされる。これらの手順
は、システムの幾つかの異なつた部分によつて呼
ばれる。
コールによる異なつたスケジユーリングエンテイ
テイの状態の変化が知らされる。これらの手順
は、システムの幾つかの異なつた部分によつて呼
ばれる。
LET−ENTRYは、値を特定のエントリター
ミナルに置くためにエグゼクテイブによつて呼ば
れる。この関連の方法がこの作用によつて実行可
能となる場合、それは適当にスケジユールされ
る。
ミナルに置くためにエグゼクテイブによつて呼ば
れる。この関連の方法がこの作用によつて実行可
能となる場合、それは適当にスケジユールされ
る。
SEND−RESULTは、特定の結果ターミナル
から値を「送る」ため方法ルーチン内から呼ばれ
る。この値は、任意の関連の接続を通して伝播さ
れ、転送先エントリターミナルが更新される。こ
れは、適当に任意の転送先方法をスケジユールす
る。
から値を「送る」ため方法ルーチン内から呼ばれ
る。この値は、任意の関連の接続を通して伝播さ
れ、転送先エントリターミナルが更新される。こ
れは、適当に任意の転送先方法をスケジユールす
る。
SCHEDULEは、ある方法がスケジユールされ
るようにするために、エグゼクテイブ又は主オブ
ジエクト内から呼ばれる。この特定の方法は、そ
れに関連したエントリを何も持つべきではない。
この方法は、通常のスケジユーリングルールに従
つてスケジユールされる。この方法が呼ばれるプ
ロセツサは、この特定の方法に割り当てられたプ
ロセツサとは関係がない。
るようにするために、エグゼクテイブ又は主オブ
ジエクト内から呼ばれる。この特定の方法は、そ
れに関連したエントリを何も持つべきではない。
この方法は、通常のスケジユーリングルールに従
つてスケジユールされる。この方法が呼ばれるプ
ロセツサは、この特定の方法に割り当てられたプ
ロセツサとは関係がない。
METHOD−INTERRUPTは、CINT−
METHOD論理内においてのみアクセスされる。
この手順は、ユーザ規定割込みを取り扱うために
「割り込み手順」として規定される。この手順は、
方法又は実施コンテキストに対抗して、「割込み
コンテキスト」内に呼ばれる。
METHOD論理内においてのみアクセスされる。
この手順は、ユーザ規定割込みを取り扱うために
「割り込み手順」として規定される。この手順は、
方法又は実施コンテキストに対抗して、「割込み
コンテキスト」内に呼ばれる。
これらのプロセツサ22A−22Nは、基本的
に、4つの異なつた実施コンテキストを有する。
に、4つの異なつた実施コンテキストを有する。
(1) メインプログラムレベル
これは、プロセツサがプログラムイメージの実
行を開始する時に置かれる状態である。これは、
スケジユーラにおいて優先度0と示される。これ
は、スレーブアイドルループだけでなく主エグゼ
クテイブルーチンが実行する場所である。
行を開始する時に置かれる状態である。これは、
スケジユーラにおいて優先度0と示される。これ
は、スレーブアイドルループだけでなく主エグゼ
クテイブルーチンが実行する場所である。
(2) 方法優先度1レベル
このレベルは、他の選択されたデータベース操
作だけでなく初期化及び終了論理のための局部エ
グゼクテイブによつて用いられる。このレベル
は、ハードウエア優先度レベル0において実行す
る。
作だけでなく初期化及び終了論理のための局部エ
グゼクテイブによつて用いられる。このレベル
は、ハードウエア優先度レベル0において実行す
る。
(3) 他の方法優先度レベル(2以上)
これらは、方法実施レベルの残りである。これ
らは、それらが全てのエグゼクテイブ機能を割り
込むように保証されること以外優先度1とは異な
らない。全てのユーザ方法は、優先度1において
実施する理由がない限りこれらのレベルにおいて
実施すべきである。これらのレベルはまた、ハー
ドウエア優先度レベル0において実施する。
らは、それらが全てのエグゼクテイブ機能を割り
込むように保証されること以外優先度1とは異な
らない。全てのユーザ方法は、優先度1において
実施する理由がない限りこれらのレベルにおいて
実施すべきである。これらのレベルはまた、ハー
ドウエア優先度レベル0において実施する。
(4) 割込みレベル
これらのレベルは、ハードウエア割込みレベル
である。これらの実施は、用いられているプロセ
ツサハードウエアの型に依存する。これらはシス
テムの残りに対して透明に割込む。これらはスケ
ジユーラにも割込む。割込みに同期する唯一の方
法は、割込みを明確にマスクアウトすることによ
り(又はLOOKSを用いて)なされる。一般的
に、ユーザコードは、割込みレベルにおいて実施
しない。割込みレベルにおいて呼ぶことができる
唯一の手順は、METHOD−INTERRUPTであ
る。
である。これらの実施は、用いられているプロセ
ツサハードウエアの型に依存する。これらはシス
テムの残りに対して透明に割込む。これらはスケ
ジユーラにも割込む。割込みに同期する唯一の方
法は、割込みを明確にマスクアウトすることによ
り(又はLOOKSを用いて)なされる。一般的
に、ユーザコードは、割込みレベルにおいて実施
しない。割込みレベルにおいて呼ぶことができる
唯一の手順は、METHOD−INTERRUPTであ
る。
このスケジユーラの同等なコピーは、全てのプ
ロセツサ22A−22Nにおいて実施される。各
スケジユーラは、静的データの一片を有してい
る。この静的変数(CPU)は、この局部プロセ
ツサのためのプロセツサデータ構造を指してい
る。
ロセツサ22A−22Nにおいて実施される。各
スケジユーラは、静的データの一片を有してい
る。この静的変数(CPU)は、この局部プロセ
ツサのためのプロセツサデータ構造を指してい
る。
このスケジユーラは、実際にはそれ自身のどの
データ構造も有していない。それは、エグゼクテ
イブサブシステムが建設するデータ構造の片を
「所有」している。このエグゼクテイブデータ構
造におけるフイールドの大部分は、エグゼクテイ
ブによつて初期化され維持される。このスケジユ
ーラは、大きな数のこれらのフイールドを参照す
るが、それらを変えることがない。
データ構造も有していない。それは、エグゼクテ
イブサブシステムが建設するデータ構造の片を
「所有」している。このエグゼクテイブデータ構
造におけるフイールドの大部分は、エグゼクテイ
ブによつて初期化され維持される。このスケジユ
ーラは、大きな数のこれらのフイールドを参照す
るが、それらを変えることがない。
動的であれこれらのデータ構造には幾つかのフ
イールドが存在し、且つスケジユーラによつて
「所有」されている。これらのフイールドは、ス
ケジユーラによつて操作されるだけである(初期
化の可能な例外がある)。
イールドが存在し、且つスケジユーラによつて
「所有」されている。これらのフイールドは、ス
ケジユーラによつて操作されるだけである(初期
化の可能な例外がある)。
PROCESSORのデータ構造は、プロセツサの
静的及び動的状態を含んでいる。この動的状態
は、以下のものを含んでいる。
静的及び動的状態を含んでいる。この動的状態
は、以下のものを含んでいる。
CUR−PRIORITY 現在実施している方法
(又はゼロ)の優先度 RUN−QUEUE 実行可能方法のキユーのた
めのリストヘツド。このリストは、優先度によつ
て順番付けられており、先入れ先出しの同一優先
度となつている。
(又はゼロ)の優先度 RUN−QUEUE 実行可能方法のキユーのた
めのリストヘツド。このリストは、優先度によつ
て順番付けられており、先入れ先出しの同一優先
度となつている。
LOCK 上記の2つのフイールドのためのリソ
ースロツク。これは、スケジユーラが割込み可能
であるため必要であり、幾つかのプロセツサに対
して同時に実行している。
ースロツク。これは、スケジユーラが割込み可能
であるため必要であり、幾つかのプロセツサに対
して同時に実行している。
このMETHODSデータ構造は、ある方法の静
的動的状態を含んでいる。この動的状態は、以下
のものを含んでいる。
的動的状態を含んでいる。この動的状態は、以下
のものを含んでいる。
SCHED−LINK 方法をプロセツサの実行キ
ユーに置くためのリンクワード。方法は1つのプ
ロセツサにおいてのみ実行するため、このフイー
ルドは、プロセツサの実行キユーが操作されてい
る間にのみ操作される。従つて、このフイールド
に対するアクセスは、プロセツサの実行キユーロ
ークによつて同期化される。
ユーに置くためのリンクワード。方法は1つのプ
ロセツサにおいてのみ実行するため、このフイー
ルドは、プロセツサの実行キユーが操作されてい
る間にのみ操作される。従つて、このフイールド
に対するアクセスは、プロセツサの実行キユーロ
ークによつて同期化される。
VALID これらは、どのエントリターミナル
が「到着された」データを含んでいるかを示すビ
ツトマスクである。このフイールドは、初期的に
はゼロであり、データが方法エントリターミナル
に到着すると、対応のビツトはセツトされる。こ
のフイールドがREQUIREフイールドに一致する
と、これら全てのエントリターミナルのためのデ
ータが到着し、この方法は実施される。
が「到着された」データを含んでいるかを示すビ
ツトマスクである。このフイールドは、初期的に
はゼロであり、データが方法エントリターミナル
に到着すると、対応のビツトはセツトされる。こ
のフイールドがREQUIREフイールドに一致する
と、これら全てのエントリターミナルのためのデ
ータが到着し、この方法は実施される。
LOCK このロツクは、VALIDフイールドの
操作を同期する。
操作を同期する。
BUSY このグラフは、方法が実施している
か否かを示す。これらは、この方法が実施を開始
するとセツトされ且つそれが終了するとクリヤさ
れる。これにより方法を再帰的に実施するここと
が防止される。このフイールドは、同期化されな
ければならないコードの臨界的部分が存在しない
ためロツクを必要としない。
か否かを示す。これらは、この方法が実施を開始
するとセツトされ且つそれが終了するとクリヤさ
れる。これにより方法を再帰的に実施するここと
が防止される。このフイールドは、同期化されな
ければならないコードの臨界的部分が存在しない
ためロツクを必要としない。
データベースにおける残りのデータの全ては
(スケジユーラに関する限り)静的情報である。
このスケジユーラサブシステムは、1つのデータ
型、即ちINT−INFOSを定義しない。これは、
インタプロセツサ割込みに必要な実施依存情報を
含む記録である。この記録は、プロセツサデータ
ベースの中に存在するが、これは、スケジユーラ
によつて初期化され、静的である。
(スケジユーラに関する限り)静的情報である。
このスケジユーラサブシステムは、1つのデータ
型、即ちINT−INFOSを定義しない。これは、
インタプロセツサ割込みに必要な実施依存情報を
含む記録である。この記録は、プロセツサデータ
ベースの中に存在するが、これは、スケジユーラ
によつて初期化され、静的である。
第3表は、方法をスケジユールするのにSEND
及びSCHEDULE機能によつて用いられる一般的
なスケジユーリングアルゴリズムを説明してい
る。SCHEDULEの場合、これらの条件は、明確
に試験される。SEND(SEND−RRESULT手
順)の場合、各接続は、決定の幾つかがケース文
と共になされるようにするCLASSフイールドを
含んでいる。
及びSCHEDULE機能によつて用いられる一般的
なスケジユーリングアルゴリズムを説明してい
る。SCHEDULEの場合、これらの条件は、明確
に試験される。SEND(SEND−RRESULT手
順)の場合、各接続は、決定の幾つかがケース文
と共になされるようにするCLASSフイールドを
含んでいる。
第3表
IF方法は局部THEN
IF優先度がより高いTHEN
IF方法がビジーTHEN
方法を実行キユーに挿入
ELSE
優先度をセーブ
優先度を吊り上げる
方法を呼ぶ
優先度を復原する
局部プロセツサを再スケジユールする
ENDIF
ELSEIF優先度が同じTHEN
IF方法はビジーTHEN
方法を実行キユーに挿入
ELSE
方法を呼ぶ
ENDIF
ELSE優先度が低い
方法を実行キユーに挿入
ENDIF
ELSEIF方法は遠隔THEN
方法を遠隔実行に挿入
IF優先度が高いTHEN
遠隔プロセツサを挿入
ENDIF
ENDIF
4 結論
本発明は、データフロープログラムを作成し且
つこれらのデータフロープログラムを用いてデジ
タル制御システムのオペレーシヨンを制御するた
めの極端にフレキシブルで、直感的で且つ強力な
方法及びシステムも提供する。多重レベル階層デ
ータフロープログラムの形成は、更に直感的であ
り且つ大抵の制御システムの固有の並行性とより
一致する。主オブジエクト及び複合オブジエクト
の視覚メタフアー及び多次元ネツトワークの形成
の上で助けとなるように図形表示を用いること
は、複雑なデジタル制御システムの開発を簡単に
し且つデータフロープログラムを作成するプログ
ラマがエラーをおこす可能性を減ずる。同様にし
て、オブジエクト型指定フイルタに基づくオブジ
エクトを複写する機能は、設計及び開発プロセス
を簡単にする。
つこれらのデータフロープログラムを用いてデジ
タル制御システムのオペレーシヨンを制御するた
めの極端にフレキシブルで、直感的で且つ強力な
方法及びシステムも提供する。多重レベル階層デ
ータフロープログラムの形成は、更に直感的であ
り且つ大抵の制御システムの固有の並行性とより
一致する。主オブジエクト及び複合オブジエクト
の視覚メタフアー及び多次元ネツトワークの形成
の上で助けとなるように図形表示を用いること
は、複雑なデジタル制御システムの開発を簡単に
し且つデータフロープログラムを作成するプログ
ラマがエラーをおこす可能性を減ずる。同様にし
て、オブジエクト型指定フイルタに基づくオブジ
エクトを複写する機能は、設計及び開発プロセス
を簡単にする。
第1図は多重レベル階層データフロープログラ
ムを対話式に形成するための且つこれらのプログ
ラムをデジタル制御システムでもつて実施するた
めのデジタル制御システムのブロツク図。第2図
は、データフロープログラム形成及び実行の機能
構造を示すブロツク図。第3図は、第1図のシス
テムのマルチプロセツサユニツト(MPU)のブ
ロツク図。第4A図及び第4B図は、それぞれ、
本発明に係るシステムに用いられる典型的な複合
オブジエクト及び典型的な主オブジエクトの表示
を示す図。第5A図乃至第5E図は、本発明を用
いて開発された仮想計算機の複合オブジエクトの
表示を示す図。第6図は、複合オブジエクトの形
成におけるオブジエクトマネージヤのオペレーシ
ヨンを示す図。 10……デジタル制御システム、12……ホス
トコンピユータ、14……キーボード、16……
表示装置、18……マルチプロセツサユニツト、
20……トランスジユーサ、22A,22B,2
2N……プロセツサ、26A,26B,26N…
…局部メモリ、28A,28B,28N……
RAM記憶装置、30A,30B,30N……
ROM記憶装置、24……共通バス、32……グ
ローバルメモリ、34……トランスジユーサイン
ターフエース。
ムを対話式に形成するための且つこれらのプログ
ラムをデジタル制御システムでもつて実施するた
めのデジタル制御システムのブロツク図。第2図
は、データフロープログラム形成及び実行の機能
構造を示すブロツク図。第3図は、第1図のシス
テムのマルチプロセツサユニツト(MPU)のブ
ロツク図。第4A図及び第4B図は、それぞれ、
本発明に係るシステムに用いられる典型的な複合
オブジエクト及び典型的な主オブジエクトの表示
を示す図。第5A図乃至第5E図は、本発明を用
いて開発された仮想計算機の複合オブジエクトの
表示を示す図。第6図は、複合オブジエクトの形
成におけるオブジエクトマネージヤのオペレーシ
ヨンを示す図。 10……デジタル制御システム、12……ホス
トコンピユータ、14……キーボード、16……
表示装置、18……マルチプロセツサユニツト、
20……トランスジユーサ、22A,22B,2
2N……プロセツサ、26A,26B,26N…
…局部メモリ、28A,28B,28N……
RAM記憶装置、30A,30B,30N……
ROM記憶装置、24……共通バス、32……グ
ローバルメモリ、34……トランスジユーサイン
ターフエース。
Claims (1)
- 【特許請求の範囲】 1 コンピユータシステムにおいて、 複数のデジタルデータプロセツサ、 上記プロセツサによつて同時にアクセス可能な
共用メモリであつて、データを操作するために諸
ターミナル及び上記諸ターミナルと関連する方法
を有する複数のオブジエクトを定義する1組のデ
ータ構造としてデータフロープログラムを記憶す
るための共用メモリであつて各方法が、割り当て
られた優先度及び割り当てられたプロセツサを有
する共用メモリ、 各プロセツサに関連するスケジユーラであつ
て、そのプロセツサに割り当てられた方法をその
方法に関連する割り当てられた優先度の関数とし
て実施することをスケジユールするためのスケジ
ユーラ を含むことを特徴とするコンピユータシステム。 2 上記プロセツサは、それらの割り当てられた
優先度の順に方法を実施し、より高い優先度の方
法が低い優先度方法の実施に割り込むことを特徴
とする特許請求の範囲第1項に記載のコンピユー
タシステム。 3 上記諸ターミナルが、入力データを受けるた
めのエントリターミナル及び出力データを供給す
るための結果ターミナルを含み、各方法が、それ
が上記スケジユーラによつてスケジユールされな
い時且つビジーでない時にアイドル状態を有し、
それがスケジユールされているがビジーでない時
に実行可能状態を有し、それがスケジユールされ
てはいないがビジーである時に実施中状態を有
し、且つそれがスケジユールされており且つビジ
ーである時に実行可能且つ実施中状態を有し、且
つ方法は、入力データが上記方法の関連する全て
のエントリターミナルに到着すると必ず実行可能
となることを特徴とする特許請求の範囲第2項に
記載のコンピユータシステム。 4 上記複数のデジタルデータプロセツサの各々
に関連する局部メモリを更に含み、且つ上記スケ
ジユーラが、上記局部メモリの各々にデータ構造
の形で記憶されていることを特徴とする特許請求
の範囲第1項に記載のコンピユータシステム。 5 デジタルデータプロセツサが、それが実施し
ている上記方法の現在の優先度を示すデータフイ
ールド及び実行可能方法のリストを含む実行キユ
ーを維持し、且つ上記スケジユーラは、優先形式
の実行可能方法を上記実行キユーに割り当てるこ
とを特徴とする特許請求の範囲第1項に記載のコ
ンピユータシステム。 6 マルチプロセツサデジタルコンピユータシス
テムを作動する方法において、 データフロープログラムを1組のデータ構造と
して、上記マルチプロセツサシステムのプロセツ
サによつて同時にアクセス可能な共用メモリに記
憶する段階であつて、上記データ構造が、入力デ
ータを受けるためのエントリターミナル及びデー
タを受けるための結果ターミナルを通して相互接
続された複数のオブジエクトを定義し、各オブジ
エクトは、そのターミナルに関連するデータを操
作するための少なくとも1つの方法を有し、各方
法は、割り当てられた優先度及び割り当てられた
プロセツサを有する段階、 各プロセツサに対して、そのプロセツサに割り
当てられた方法の実施をその方法の割り当てられ
た優先度の関数としてスケジユールするためのス
ケジユーラを記憶する段階及び 上記方法の実施をスケジユールするために上記
スケジユーラを用いて上記処理装置により上記デ
ータフロープログラムを実施する段階 を含むことを特徴とする方法。 7 諸オブジエクトをそれらのターミナル及び内
容を定義することにより形成する段階、 上記諸オブジエクトのターミナル間の接続を定
義する段階、及び 形成された上記諸オブジエクト及び定義された
上記接続を上記共用メモリに記憶された上記デー
タ構造に変換する段階 を更に含むことを特徴とする特許請求の範囲第6
項に記載の方法。 8 各プロセツサが、それに割り当てられた方法
をそれらの割り当てられた優先度の順序で実施
し、より高い優先度の方法が低い優先度の方法の
実施に割り込むことを特徴とする特許請求の範囲
第6項に記載の方法。 9 各方法は、それが上記スケジユーラによつて
スケジユールされず且つビジーでない時にアイド
ル状態を有し、それがスケジユールされているが
ビジーでない時に実行可能状態を有し、それがス
ケジユールされてはいないがビジーである時に実
施中状態を有し、且つそれがスケジユールされて
おり且つビジーである時に実行可能及び実施中状
態を有し、且つ方法は、入力データが上記方法が
関連する全てのエントリターミナルに到着した時
は必ず実行可能となることを特徴とする特許請求
の範囲第6項に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US82133286A | 1986-01-22 | 1986-01-22 | |
| US821332 | 1986-01-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62173561A JPS62173561A (ja) | 1987-07-30 |
| JPH034943B2 true JPH034943B2 (ja) | 1991-01-24 |
Family
ID=25233102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61296495A Granted JPS62173561A (ja) | 1986-01-22 | 1986-12-12 | マルチプロセツサ制御システム |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0230721A3 (ja) |
| JP (1) | JPS62173561A (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE9901146D0 (sv) | 1998-11-16 | 1999-03-29 | Ericsson Telefon Ab L M | A processing system and method |
| KR100400165B1 (ko) * | 1998-11-16 | 2003-10-01 | 텔레폰아크티에볼라게트 엘엠 에릭슨 | 처리 시스템 스케쥴링 |
| SE9901145D0 (sv) | 1998-11-16 | 1999-03-29 | Ericsson Telefon Ab L M | A processing system and method |
| GB2381336B (en) * | 2001-08-21 | 2005-09-28 | Silicon Infusion Ltd | Object orientated heterogeneous multi-processor platform |
-
1986
- 1986-11-06 EP EP86308676A patent/EP0230721A3/en not_active Withdrawn
- 1986-12-12 JP JP61296495A patent/JPS62173561A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| EP0230721A3 (en) | 1988-04-27 |
| EP0230721A2 (en) | 1987-08-05 |
| JPS62173561A (ja) | 1987-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hong et al. | A real-time discrete event system specification formalism for seamless real-time software development | |
| Green | The University of Alberta user interface management system | |
| Davis | A comparison of techniques for the specification of external system behavior | |
| US5291427A (en) | Method for assisting the development of a set of communicating automata | |
| Erman et al. | ABE: An environment for engineering intelligent systems | |
| EP0231594A2 (en) | Interactive multilevel hierarchical data flow programming system | |
| Weerawarana et al. | PDELab: An object-oriented framework for building problem solving environments for PDE based applications | |
| Dannenberg | Arctic: A functional language for real-time control | |
| Genin et al. | System design, optimization and intelligent code generation for standard digital signal processors | |
| JPH034943B2 (ja) | ||
| Haber et al. | A distributed environment for run-time visualization and application steering in computational mechanics | |
| EP1381942A2 (en) | Self-determining command path architecture background of the invention | |
| Beynon et al. | Parallel computation in definitive models | |
| Menga et al. | G++: an environment for object-oriented design and prototyping of manufacturing systems | |
| Matsuoka et al. | Object-oriented concurrent reflective architectures | |
| Miriyala et al. | Visualizing actor programs using predicate transition nets | |
| Garanina et al. | Model checking programs in process-oriented IEC 61131-3 structured text | |
| Biegl | Design and implementation of an execution environment for knowledge-based systems | |
| Moreno et al. | Petri nets and Java. Real-Time Control of a flexible manufacturing cell | |
| Meyfarth | Demon concepts in an active CIM knowledge base | |
| Penedo et al. | An algorithm to support code-skeleton generation for concurrent systems | |
| Glässer et al. | A distributed implementation of flat concurrent prolog on multi-transputer environments | |
| Karsai et al. | Knowledge-based approach to real-time supervisory control | |
| MacLennan | Fen—an axiomatic basis for program semantics | |
| Ben-Arieh | Concurrent modeling language (CML) for discrete process modeling, simulation and control |