JPH10510082A - 個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュールを具えるシステムを特定する方法およびそのようにして特定されたシステム - Google Patents

個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュールを具えるシステムを特定する方法およびそのようにして特定されたシステム

Info

Publication number
JPH10510082A
JPH10510082A JP9513255A JP51325597A JPH10510082A JP H10510082 A JPH10510082 A JP H10510082A JP 9513255 A JP9513255 A JP 9513255A JP 51325597 A JP51325597 A JP 51325597A JP H10510082 A JPH10510082 A JP H10510082A
Authority
JP
Japan
Prior art keywords
module
modules
scheduler
signal
steps
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.)
Pending
Application number
JP9513255A
Other languages
English (en)
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 JPH10510082A publication Critical patent/JPH10510082A/ja
Pending legal-status Critical Current

Links

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/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • 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/25Pc structure of the system
    • G05B2219/25314Modular structure, modules

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 システムを、個々の階層レベルにおける種々の相互接続された機能モジュールを具えるように特定する。各々のモジュールは、抽象状態を基礎とする機械を表す。各々の非最上位レベルの第1モジュールを、次のより高いレベルにおける1つの第2モジュールに、前記第1モジュールの関連した状態の変化を可能にする前記第2モジュールからのトランスフォーマリンクと、前記第2モジュールからの状態質問信号に関するオブザーバリンクと、要求されたイベント信号を前記第2のモジュールに出力するイベントリンクとによって結合する。前記第1モジュールは、内部で自律的に実行されたステップを戻って合図する。各々の非最下位モジュールは、1つまたはそれ以上のより低いレベルのモジュールを、このような第1モジュールとして機能させることを可能にする。最上位モジュールは、環境と信号を交換することができる。該システムに関する1つのステップスケジューラは、前記第2モジュールから受けた必要条件であるトランスフォーマ信号の制御の下で加えられた前記第1モジュールにおける各々のステップを自律的に実行可能にする。

Description

【発明の詳細な説明】 個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュ ールを具えるシステムを特定する方法およびそのようにして特定されたシステム発明の背景 本発明は、個々の階層レベルにおける複数の相互接続された機能モジュールを 具え、各々のモジュールが個々の抽象状態を基礎とする機械を表すシステムを特 定する方法に関係する。前記モジュールを、ハードウェア、特に電子モジュール としてもよいが、これは絶対的な制限ではない。代わりに、モジュールを、ソフ トウェアモジュール、またはハードウェアおよびソフトウェア双方の複合物とし て実現してもよい。この同じ点において、グループとしてのモジュールを、一様 に、または不一様に実現してもよい。各々のモジュールは、抽象状態を基礎とす る機械として振る舞い、複数の状態を有するが、実現化が依然として多くの選択 に対して開かれており、したがって抽象機械と呼ばれる。それ自体に関して、こ のような状態機械の例としての実現化は、本譲受人に対する米国特許明細書第5 477168号において開示されており、参照によってここに取り入れられるも のとする。今日のコンピュータ向けのハードウェアは、専用のソフトウェアの量 の絶えざる増加のため、ハードウェアと、意図されたソフトウェアとの双方に機 能的に適合する仕事を特定することによってのみ個々の目的に対して機能的なも のとなる。一般に、このようなソフトウェアは、多重処理形式のものであり、こ のため、種々のソフトウェアモジュールの再使用可能性と、複雑性の処理しやす いレベルにおけるモジュール間の相互のインタフェース処理と、プログラミング 労力の多数の人間への分配と、エラーに対するより容易な検査とが可能になる。 信頼性、一貫性および継続性を保証するために、前記種々のモジュールを直接的 な方法論に従って特定する必要があることが分かっている。関連した技術は、H. B.M.Jonkersによって、SPRINT方法の概略、形式方法欧州会議の議事録が 提案されており、コンピュータ科学における講義ノート、No.670、403 −427ページ、1993年スプリンガーにおいて刊行されている。そこでは、 基本言語COLDを、実現の特定の必要なしに抽象的にシステムを記述するのに 使用している。SPRINT方法論は、このようなシステムをその後に実現する 簡単な方法を考慮している。しかしながら、多くの環境に関して、上述した方法 論は、他の最適化を必要とする。発明の要約 したがって、特に、本発明の目的は、エラーをほとんど受けない直接的な方法 による上述した特定を可能にする機構を提供することであり、特に、簡単で直接 的な方法における、種々の状態間のステップ化を可能にすることである。ここで 、その態様の1つによって、本発明は、各々の最上位でないレベルの第1のモジ ュールを次のより高いレベルにおける1つの第2のモジュールに、前記第1のモ ジュールの関連した状態変化を可能にする前記第2のモジュールからのトランス フォーマリンクと、状態質問信号を前記第2のモジュールから受けるオブザーバ リンクと、要求されたイベント信号を前記第2のモジュールに出力するイベント リンクとによって結合し、前記第1のモジュールが、前記第2のモジュールに内 部で自律的に実行されたステップを戻って合図する手段を有し、前記第2のモジ ュールのような各々の最下位でないモジュールを、各々が前記第1のモジュール のように機能する1つまたはそれ以上のより低いレベルのモジュールに接続する ように配置し、最上位のモジュールを環境と交換するように配置し、 前記第1のモジュールによって、各々の前記ステップを該システムに関する1 つのステップスケジューラに加え、このようなステップを自律的に行い、前記加 えることが、前記第2のモジュールから受けた必要条件であるトランスフォーマ 信号を条件とするシステムを提供する。 前記種々のモジュール間の一様なインタフェース処理は、直接的で簡単な方法 におけるこれらの内部作用的な設計を可能にし、該システムの簡単な外部インタ フェースを統一するのが容易であり、該システム全体に関する1つのステップス ケジューラの設備が、前記ステップをこれらの間の相互矛盾なしに実行する簡単 な方法を実現する。特に、本発明は、SPRINTの特別な実現に関係する。 有利に、前記ステップスケジューラをスタックスケジューラとし、前記加える ことをプッシュ動作とする。実際に、スタックスケジューラは、最も直接的な制 御機構を与えるが、原則的には、FIFOのような他のものも同様に可能である 。 有利に、このようなステップを、実行可能に、いずれかが前記第1のモジュー ルに生じる、1つまたはそれ以上のトランスフォーマ信号、基礎的なイベント、 またはオブザーバ信号によって、さらに第2次的に条件付ける。このように、前 記トランスフォーマ信号は、前記ステップを前記スケジューラに置くが、実行可 能なステップ、すなわち、前記質問におけるステップ以外は、前記スケジューラ 上にある時でさえも更なる変化を受けることができる。これは、有利な2段に実 行な機構を与える。 有利に、前記方法が、その実行時に以下の3つの選択的な値、成功した、失敗 したまたはブロックされたの1つを返すステップを制限的に規定する。これらの 3つは、実現の簡単さを依然として保ちながら、前記方法の広い応用性を与える 組を集合的に構成する。 本発明は、各々が個々の抽象状態を基礎とする機械を表す階層的に配置され相 互接続された複数の機能モジュールを具えるシステムにおいて、各々の最上位で ない第1のモジュールを次のより高いレベルにおける1つの第2のモジュールに 、前記第1のモジュールの関連した状態変化を可能にする前記第2のモジュール からのトランスフォーマリンクと、状態質問信号を前記第2のモジュールから受 けるオブザーバリンクと、要求されたイベント信号を前記第2のモジュールに出 力するイベントリンクとによって結合し、前記第1のモジュールが、前記第2の モジュールに内部で自律的に実行されたステップを戻って合図する手段を有し、 前記第2のモジュールのような各々の最下位でないモジュールを、各々が前記第 1のモジュールのように機能する1つまたはそれ以上のより低いレベルのモジュ ールに接続するように配置し、最上位のモジュールを環境と交換するように配置 し、 該システムが、自律的に各々の前記ステップを前記第1のモジュールにおいて 実行可能にする1つのステップスケジューラと、前記第2のモジュールから受け た必要条件であるトランスフォーマ信号の制御の下で前記ステップを前記スケジ ューラに加える手段とを有するシステムにも関係する。 このようなシステムの全範囲を特定する直接的な方法は、これらのシステムを 極めて多様な環境において有利に用いることを可能にする。本発明の他の有利な 態様を、従属する請求の範囲において詳述する。図面の簡単な説明 これらのおよび他の態様および利点を、好適実施例の開示の参照と共に、さら に特に、添付した図の参照と共に、以下に詳細に論じる。 図1は、図式的なプロセッサ配置を示す。 図2は、本発明による典型的なモデルを示す。 図3は、図2のモデルの拡張を示す。 図4は、モデル化のフローチャートを示す。 図5は、スケジューラソースコードを示す。 付録は、ステップスケジューラの疑似コードを示す。好適実施例の開示 図1は、例として、プロセッサ配置を図式的に示す。ハードウェアレベルまた はソフトウェアレベルのいずれかにおける相互接続された機能モジュールは、本 発明の方法に従って特定されたシステムを表す。中央汎用プロセッサ20を、同 様にプロセッサとしてもよい周辺ハードウェアの4つの部分22−28に接続す る。例えば、ブロック22をディジタル信号コプロセッサとし、ブロック24を ユーザI/Oプロセッサとし、ブロック26を表示プロセッサとし、ブロック2 8を通信プロセッサとする。すべてのプロセッサは、30、32のような個々の い実線によって示すように信号を交換する。さらに、すべてのプロセッサは、中 央プロセッサ20におけるプロセス40−46と、周辺プロセッサ24における プロセス34、36のような、点線によって示す演算プロセスを含む。これらの 種々のプロセスは、接続部38のような他の接続部によって同じプロセッサにお ける他のプロセスと通信することができる。これらの種々のプロセスは、30、 32のような種々のプロセッサ間のハードウェア相互接続部を経て通信すること もできる。 現在、前記種々のプロセッサおよびプロセスの特定ユーザ機能性を無関係とす る。これらの数、複雑性および相互作用性を、さらには特定しない。前記システ ムを、単一プロセッサ、多重処理としてもよい。また、本発明の説明を、種々の 電子装置、電子機械装置、表示装置、および他の変換装置の現実化から分離する 。 しかしながら、相互デッドロックおよび種々の他の形式の不調を固有に不可能に するために、前記種々のプロセス間の正確な同期化は、厳密な必要条件を守らな ければならない。本発明によれば、前記プロセスの各々を抽象状態を基礎とする 機械とする。スタックスケジューラをすべてのプロセスに対して共通に設けるか 、個々のスタックスケジューラを、サブシステムを形成する前記抽象状態を基礎 とする機械の個々の部分集合のすべてのプロセスに設ける。後者の場合において 、これらの種々のスタックスケジューラは、互いにハンドシェイク機構によって 同期することができ、または、それら自体をより高いレベルの全体スケジューラ によって組織化することができる。原則的には、スタックスケジューラ以外のス ケジューラが、それだけでこの問題を解くこともできる。スタックスケジューラ は実現するのが直接的であるため、簡単にするために、スタックスケジューラを 図において示さない。 以下に記述すべきシステムが1つのスタックのみを含む場合、どのステップを 実行すべきかを調査するのが、このスタックのみに質問すればよいため容易であ る。スタックの最上位ステップを実行できない場合も、前記スタックから次のス テップを選択する機構は簡単である。この容易さが与えられると、前記システム 階層を、前記質問をさらに考えることなく、完全に最適化することができる。こ れは、前記特定においてエラーを生じることなく、はるかにより大きいシステム を特定することを可能にする。外部スケジューラからのハードウェア割り込みま たは影響のような個々の外部影響に、容易に対処することができる。前記スケジ ューラは、前記ステップの実行のみを制御すればよい。 このようなシステムを特定する正しい解決法を与えるために、図2は、プロセ スモジュール間の協働を説明する本発明による例としてのモデルを示す。前記プ ロセス間の通信一般解のレベルは、厳密な意味における本発明の範囲外である。 前記種々の機能モデルを個々のハードウェアブロックにマッピングする方法も、 同様に無関係である。本発明の解決法は、図2の階層機構である。ここで、2つ のモジュールA,Bを、1つのより高いレベルのモジュールCによって各々制御 する。この例におけるモジュールCを、これより高いレベルのモジュールが存在 しないため、最上位レベルモジュールとする。この例におけるモジュールA,B を、これらより低いレベルのモジュールが存在しないため、最下位レベルモジュ ールとする。このように、モジュールCは非最下位モジュールであり、モジュー ルA,Bは非最上位モジュールである。ツリーのすべての枝路が等しいレベル数 を有する必要はない。特定の1つのより高いレベルのモジュールによって制御さ れるより低いレベルのモジュールの数は、原則的には任意である。 この図に示すように、前記種々のモジュールのすべてのモデルに関して、4つ の基本的な通信実在物またはリンクを規定し、これらを、各々、トランスフォー マ、オブザーバ、イベントおよびステップと呼ぶ。一般に、半サイクルは、通信 信号を待ち受ける通信プロセスの受動側であり、さらに特に、質問における通信 動作を規定する側である。ある場合において、示した4つの実在物すべてを、各 々のモジュール間インタフェースに対して規定する必要はない。上述した4つの 実在物の最初の3つ、トランスフォーマ、オブザーバおよびイベントを、単に、 制御モジュールと呼ぶことができる。 A_transのようなトランスフォーマ入力リンクは、モジュールCからモ ジュールAへ、モジュールAの関連した次の状態変化を可能にすることができる モジュールCにおける現在の状態変化を合図する。トランスフォーマリンクの追 加の特徴は、結果を戻って合図することである。例えば、’書き込み’命令を受 けた場合、この戻っての通知は、書き込むべきデータの量を特定することができ る。次に、ステップの実行は、実際の書き込みを制御し、この書き込みの終了は 、イベントを与える。 A_obsのようなオブザーバリンクは、モジュールCからモジュールAへ、 モジュールCがモジュールAから状態同期を受けたいことを示す要求を合図し、 それと組み合わせてモジュールAからモジュールCに戻される実際に関連した状 態同期を合図する。モジュールAからモジュールCへのA_eventのような イベント出力リンクを、イベント信号を出力するモジュールCによってその質問 において使用する。このような出力の瞬時において、このような出力の原因とな った質問における信号をリセットし、質問が一度だけの特徴となるようにし、何 も起こらない場合、次の質問は負の結果を与える。イベントの代表的ではあるが これに限定されない例は、動作の完了である。A_eventとA_obsとの 違いは、後者が、原則的に一定の合図を与えることである。イベント合図と組み 合わせて、モジュールAの状態は、合図された信号が通過するときに変化する。 前記から、オブザーバリンクを、より高いレベルのモジュールに状態変化を合図 するのに使用することもできる。イベント合図との違いは、後者がオブザーバよ りも瞬間的であることである。 他方では、A_stepのような戻り合図を、モジュールの自律的な作用をモ デル化するのに使用する。特に、その必要条件が真になったらすぐに実行される ステップを仮定する。ある実現において、各々のステップを、適切なスケジュー ラによって明白に呼ばなければならない。ここで、上述したインタフェースは、 モジュール対間の相互作用の完全な組を与える。適切ならば、前記インタフェー スを低下させ、1つまたはそれ以上の同期化をなくすことができる。 図3は、前記モデルの拡張を示し、これは、図2のモデルから出発して構築し た。後者の3つのモジュールA、B、Cに加え、この図は、ここでは追加のモジ ュールDを有する。後者のモジュールは、モジュールA、B間で共有される設備 、例えば、中間バッファ設備を表す。広い範囲に対するこのモジュールのモデル は、他のモジュールのそれと同じ程度である。したがって、種々の相互接続は、 以下の機能、 60 DA_transは、モジュールAにモジュールDにおける変化を可能に させる、 68 DB_transは、モジュールBにモジュールDにおける変化を可能に させる、 62 DA_obs DからAへの状態要求および合図、 70 DB_obs DからBへの状態要求および合図、 64 DA_eventは、DからAへのイベントを合図する、 62 DB_eventは、DからBへのイベントを合図する、 74 D_stepは、モジュールDによる自律的な作用をモデル化する、 を有する。モジュールAに対するインタフェースに関して、対応する入力部66 を左側において示した。しかしながら、これは、これらのすべての態様が項目7 4にマッピングされているため、ダミーである。上述したリンクの、項目64お よび72は、モジュールDにおけるイベントを合図し、機能レベルにおいて同じ にすることができる。例えそうでも、電気的にこれらを2重に実現してもよい。 再び、モジュールDと同様の追加の第1のモジュールを、前記システムにおけ る種々の位置おいて挿入してもよく、これらを原則的には最下位モジュールとす る必要はなく、依然としてより低いレベルの他のモジュールをこれらに加えるこ とができる。しかしながら、常に、前記ネットワークは、依然としてループに結 合されてはならない。Cのような最上位モジュールは、環境と相互に作用し合っ てもよい。示すように、質問におけるインタフェースは、他のインタフェースに 関して一様であり、本発明による他のサブシステムとすることができる。しかし ながら、これは制限ではない。また、他の非最上位モジュールが、環境に対する 、例えば、割り込みを受けるインタフェースを有することもできる。他の形態の 変形物は、ネットワークの当業者には明らかであろう。 図4は、前記モデル化のフローチャートを示す。ブロック90(START)は、 プロセスの開始を示し、より以前に用意してある、前記モジュールの内部機能と 、これらの予定する相互接続とをロードし、適切な処理パワーを割り当てる。ブ ロック92(EXTERNAL)において、外部インタフェースをモデル化し、すなわち 、図2におけるモジュールCの上側のモデル化を行う。ブロック94(TOPMODUL E)において、最上位モジュールにアクセスし、それらの直接の子モジュールの リストを決定する。ブロック96(END?)において、前記モデル化システムは、 すべてのモジュールを処理したかどうかを検知する。処理していなければ、前記 モデル化システムはブロック94に戻り、部分的なツリーの最上部を形成する適 切なモジュールにアクセスする。すべてのモジュールをこの方法において相互リ ンクしたならば、前記モデル化システムは、ブロック98(TOPINTERFACE)にお いて、前記最上位モジュールとその直接の子モジュールとの間のインタフェース をモデル化する。ブロック100(END?)において、前記モデル化システムは、 すべてのインタフェースをモデル化したかどうかを検知する。モデル化していな ければ、前記モデル化システムは、部分的なツリーの次の最上位モジュールに関 してブロック98に戻る。すべてのインタフェースを処理したならば、ブロック 102(STACKSCHEDULER)において、スケジューラステップスタックをモデル化 す る。以下を参照されたい。ステップ104(STOP)において、前記モデル化シス テムを準備し、結果を出力し、モデル化に使用するハードウェアおよびソフトウ ェアを解放する。それ自身によって、この上から下への構成を、下から上の構造 によって、または種々の中間案によって置き換えることができる。 ここで、原則的に、前記システムの種々の異なった有利な実現が存在するとし ても、このようにモデル化されたシステム全体に関するステップスケジューラの 特に直接的な実現を、3つの標準的なスタック動作、プッシュ、トップおよびポ ップを有するステップスタックによって実現することができる。あるステップの 必要条件が真になった場合、前記ステップを前記スタックにプッシュする。前記 ステップスケジューラは、常に前記スタックの最上位におけるステップ(トップ )にアクセスし、実行する。前記スタックの最上位におけるステップの必要条件 が再び偽になった場合、質問におけるステップが前記スタックからポップされる 。ある特定の瞬時において前記スタックが空の場合、前記スケジューラはなにも しない。 以下のシナリオは、どのようにスケジューラを図2の例に使用できるかを示す 。例えば、C_transがC_stepを可能にする、すなわち、C_ste pを前記ステップにおいてプッシュすると仮定する。ここで、C_stepは、 以下のシーケンス、A_transを呼び、A_eventを待ち、B_tra nsを呼び、B_eventを待ち、再びA_eventを呼び、等、を実行す るとする。したがって、A_transはA_stepを可能にし、これは、そ れ自身を再び不能にし、A_eventを可能にする前に、いくつかのステップ を実行しなければならない。反対の状態および動作が、B_trans、B_s tepおよびB_eventに関して各々保たれるとする。 ここで、最初に前記スタックが空であり、ある瞬時において、C_trans を、図2に示さないより高いレベルの構成要素またはモジュールから呼ぶとする 。これにより、C_stepは前記スタックの最上位にプッシュされる。C_s tepを実行し、これにより、A_stepは前記スタックの最上位に置かれる 。A_stepを数回実行してもよいが、ある瞬時において、不能にし、前記ス タックからポップしてもよい。次に、C_stepを再び前記スタックの最上位 の 要素とする。次にA_eventおよびB_transを実行し、これにより、 B_stepは前記スタックにプッシュされる。その後、B_stepを数回実 行してポップし、それにより、C_step等が再び実行される。それ自身によ って、スタックの実現は、慣例的である。この例において、制御を、詳述したル ールに従って、モジュールにおけるあるステップの同期化され連続化された実行 に対して規定した。 以上において開示したスケジューラは、設計において以下の制限を受ける。 a. ある構成要素のステップの必要条件は、同じ構成要素へのトランスフォー マを経てのみ可能になるべきであり、これは、質問におけるステップを前記スケ ジューラに割り当てる。実際の実行に対する第2の条件を、トランスフォーマ信 号、基礎的なイベント、またはオブザーバ信号によって満たしてもよく、これら のいずれかが、同じモジュールにおいて、前記ステップを前記スケジューラに割 り当てるトランスフォーマが生じる前または後に生じる。 b. ステップの同期した実行が、前記モデルのどのようなルールも破ることな く可能でなければならず、これにより、種々のシステムを並べて、上述したシナ リオにおけるように実現することができる。 本発明に従って構成したある実施例モデルにおいて、制御される(より低いレ ベルの)構成要素のイベントまたはそれについてのオブザーバは、制御する(よ り高いレベルの)構成要素のステップの必要条件の一部であり、個々のステップ を前記スタックに、より高いレベルのトランスフォーマによって置くことができ る。特に、2以上のこれらのより高いレベルのトランスフォーマが存在してもよ く、その場合において、前記より低いレベルは、例えあるとしても、より高いレ ベルのモジュールが質問におけるイベントを必要とすることを知らない。前記よ り高いレベルのモジュールによって実行可能なステップは、同じより高いレベル のモジュールにおいて、局所トランスフォーマによって可能であるに違いない。 (より高いレベルのトランスフォーマによる)前記スタックへのプッシュと、前 記必要条件が真になるのとでは違いがある。質問におけるイベントと、同じイベ ントによって可能にすべきステップとを、異なった構成要素において規定するこ とから、それ自身に対するイベントのイネーブラが質問におけるイベントを可能 にすることはできない。したがって、個々のモジュールによって実行すべきモジ ュールは、前記ステップを前記スタックに置く、同じモジュールによって受けら れたトランスフォーマ合図によって排他的に可能とすべきである。 ある瞬時において、2つ以上のステップが可能である場合、依然として、前記 スタックの最上位における1つのステップのみを実行する。他方のステップは、 前記スタックがポップされるまで実行することができず、または、該他方のステ ップが前記スタックにプッシュされる以外は実行することができない。したがっ て、前記モデルにおけるステップを、上述したシナリオにおける1つのような同 期しての実行が可能であり、他のルールと衝突しないように規定しなければなら ない。 ステップの特徴の説明 ステップが実行されると、以下の3つの選択的な信号値、 − 成功した − 失敗した − ブロックされた の1つを制限的に返す。 この結果の列において、成功したは、前記ステップの実行が成功したことを意 味する。この時ステップは、依然として前記スタックの最上位にあり、再び前記 スケジューラによって呼ばれる。前記質問におけるステップの第2条件が真でな い場合、前記ステップは失敗である。その結果、前記ステップは実行されず、前 記スタックからポップされる。このステップが前記スタックからポップされた場 合、前記スケジューラは、ここで前記スタックの最上位にある次のステップを呼 ぶ。前記ステップの実行に関する第2の条件が真であるが、例えば、前記ステッ プがデータを利用できないバッファからの読み出しを望むために、正常な実行が 不可能である場合、前記ステップはブロックされる。その場合において、前記質 問におけるステップは依然として前記スタックの最上位であるが、前記スケジュ ーラはその実行を終了する。前記スケジューラが活性化する次の時、同じステッ プが再び呼ばれる。他の例は、前記質問におけるステップが特定の割り込み信号 を待つことである。この後者のブロックされた状態は、主にドライバに対して向 けられている。ようするに、多くのリアルタイムオペレーティングシステムにお いて、システムにおいて状態を実行するドライバは、CPUを専有することがで きる。ドライバが実際にブロックされた場合、CPUを返し、前記システムのリ アルタイムな動作を保証すべきである。前記ドライバの連続性を、タイマ割り込 み、または、完了のような他の割り込み時に前記スケジューラを呼ぶことによっ て保証することができる。アプリケーションの場合において、前記スケジューラ を、エンドレスループを経て呼ぶことができる。前記オペレーティングシステム は、この場合において、デッドロックまたは欠乏の両方を防止する。 図5は、ステップスケジューラのCにおける例としてのソースコードを示し、 以下に疑似コードにおいて表す。ライン110は、step_stackがタイ プStackのオブジェクトとして形式的に規定されていることを示し、種々の ステップに対するポインタのスタックを表す。ライン112は、ゼロの結果を返 すパラメータを除く関数としてスケジューラを規定する。ライン114/146 のような括弧対は、中間コードの繰り返しの実行を示す。ライン116は、タイ プStepResultの変化しうる結果を規定する。ライン118は、ループ することを示す。ライン120、130、136は、スタック関数がスタックの アドレスをパラメータとして有することを示す。ライン122は、アドレス時に step_stackが空であることが分かった場合、ライン126の作用を、 すべてを保存することとする。ライン130において、トップ関数がステップ関 数に対するポインタである結果を生じる。アスタリスクは、このステップそれ自 身が実在のオブジェクトであることを示す。変化しうる結果が、このステップの 実行の結果を値として得る。この結果が失敗した結果を示す場合、前記スタック の最上位項目をポップする(ライン136)。前記結果がブロックされない間( ライン142)は、ライン118において開始したループを続ける。これは、前 記ループを実行するごとに、結果のストリームを発生することができる。これは 、各々の実行において繰り返しの結果のストリームを導くため、成功した結果は 明白に特定されない。 付録は、図5に示すのと同じステップスケジューラの疑似コードを含む。この 疑似コードは、既知のパスカルコンピュータ言語を基礎としている。連結括弧は 、 コメントの境界を定める。説明は、以下の通りである。タイプStepResu ltの変数は、3つの値、すなわち、成功、失敗またはブロックの各々を仮定す ることができる。タイプStackは、各々がStepResultを結果とし て生じる関数のスタックを規定する。タイプStackのグローバル変数’st eps’を宣言する。手続き’scheduler’内で、2つのローカル変数 、StepResult’result’およびブーリアン’nothing_ to_schedule’を宣言する。’scheduler’を呼んだ後、ス ケジュールされるものがまだあり、現在の’step’がブロックされない間は 、アクティブである。ステップが失敗した場合、スタックから取り除き、その結 果として、前記スタックの最上位にある次のステップを実行する。ステップが成 功した場合、失敗するかブロックされるまで、新たに実行する。項SKIPは、 ’No operation’を示す。一般に、この付録の疑似コードは、直接 的である。

Claims (1)

  1. 【特許請求の範囲】 1.個々の階層レベルにおける複数の相互接続された機能モジュールを具え、各 々のモジュールが個々の抽象状態を基礎とする機械を表すシステムを特定する方 法において、 各々の最上位でないレベルの第1のモジュールを次のより高いレベルにおけ る1つの第2のモジュールに、前記第1のモジュールの関連した状態変化を可能 にする前記第2のモジュールからのトランスフォーマリンクと、状態質問信号を 前記第2のモジュールから受けるオブザーバリンクと、要求されたイベント信号 を前記第2のモジュールに出力するイベントリンクとによって結合し、前記第1 のモジュールが、前記第2のモジュールに内部で自律的に実行されたステップを 戻って合図する手段を有し、前記第2のモジュールのような各々の最下位でない モジュールを、各々が前記第1のモジュールのように機能する1つまたはそれ以 上のより低いレベルのモジュールに接続するように配置し、最上位のモジュール を環境と交換するように配置し、 前記第1のモジュールによって、各々の前記ステップを該システムに関する 1つのステップスケジューラに加え、このようなステップを自律的に行い、前記 加えることが、前記第2のモジュールから受けた必要条件であるトランスフォー マ信号を条件とするシステムを特定することを特徴とする方法。 2.請求の範囲1に記載の方法において、前記ステップスケジューラをスタック スケジューラとし、前記加えることをプッシュ動作としたことを特徴とする方法 。 3.請求の範囲1または2に記載の方法において、このようなステップを、実行 可能に、いずれかが前記第1のモジュールに生じる、1つまたはそれ以上のトラ ンスフォーマ信号、基礎的なイベント、またはオブザーバ信号によって、さらに 第2次的に条件付けることを特徴とする方法。 4.請求の範囲1、2または3に記載の方法において、その実行時に以下の3つ の選択的な値、成功した、失敗したまたはブロックされたの1つを返すステップ を制限的に規定することを特徴とする方法。 5.請求の範囲4に記載の方法において、前記成功した値が、前記質問における ステップの更なる実行を可能にし、前記失敗した値が、他の実行に対する前記ス テップを不能にし、前記ブロックされた値が、その遅れた実行に対する前記ステ ップを保持することを特徴とする方法。 6.請求の範囲1ないし5のいずれか1つに記載の方法において、少なくとも1 つの追加の第1のモジュールを、次のより高いレベルにおける複数の第2のモジ ュールに対して特定することを特徴とする方法。 7.請求の範囲1ないし6のいずれか1つに記載の方法において、前記モジュー ルにおけるあるステップを同期して連続する実行する制御手段を規定することを 特徴とする方法。 8.各々が個々の抽象状態を基礎とする機械を表す階層的に配置され相互接続さ れた複数の機能モジュールを具えるシステムにおいて、各々の最上位でない第1 のモジュールを次のより高いレベルにおける1つの第2のモジュールに、前記第 1のモジュールの関連した状態変化を可能にする前記第2のモジュールからのト ランスフォーマリンクと、状態質問信号を前記第2のモジュールから受けるオブ ザーバリンクと、要求されたイベント信号を前記第2のモジュールに出力するイ ベントリンクとによって結合し、前記第1のモジュールが、前記第2のモジュー ルに内部で自律的に実行されたステップを戻って合図する手段を有し、前記第2 のモジュールのような各々の最下位でないモジュールを、各々が前記第1のモジ ュールのように機能する1つまたはそれ以上のより低いレベルのモジュールに接 続するように配置し、最上位のモジュールを環境と交換するように配置し、 該システムが、自律的に各々の前記ステップを前記第1のモジュールにおい て実行可能にする1つのステップスケジューラと、前記第2のモジュールから受 けた必要条件であるトランスフォーマ信号の制御の下で前記ステップを前記スケ ジューラに加える手段とを有するシステム 9.請求の範囲8に記載のシステムにおいて、前記ステップスケジューラをスタ ックスケジューラとし、前記加えることをプッシュ動作としたシステム。 10.請求の範囲8または9に記載のシステムにおいて、このようなステップを、 実行可能に、いずれかが前記第1のモジュールに生じる、1つまたはそれ以上の トランスフォーマ信号、基礎的なイベント、またはオブザーバ信号によって、さ らに第2次的に条件付けるように構成したシステム。 11.請求の範囲8、9または10に記載のシステムにおいて、その実行時に以下 の3つの選択的な値、成功した、失敗したまたはブロックされたの1つを返すス テップを制限的に規定するように構成したシステム。 12.請求の範囲11に記載のシステムにおいて、前記成功した値が、前記質問に おけるステップの更なる実行を可能にし、前記失敗した値が、他の実行に対する 前記ステップを不能にし、前記ブロックされた値が、その遅れた実行に対する前 記ステップを保持するように構成したシステム。 13.請求の範囲8ないし12のいずれか1つに記載のシステムにおいて、少なく とも1つの追加の第1のモジュールを、次のより高いレベルにおける複数の第2 のモジュールに対して特定するように構成したシステム。 14.請求の範囲8ないし13のいずれか1つに記載のシステムにおいて、前記モ ジュールにおけるあるステップを同期して連続する実行する制御手段を規定する ように構成したシステム。
JP9513255A 1995-09-28 1996-09-19 個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュールを具えるシステムを特定する方法およびそのようにして特定されたシステム Pending JPH10510082A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL95202615.1 1995-09-28
EP95202615 1995-09-28
PCT/IB1996/000961 WO1997012303A1 (en) 1995-09-28 1996-09-19 A method for specifying a system comprising a plurality of interconnected functional modules each representing a respective abstract-state based machine, and a system so specified

Publications (1)

Publication Number Publication Date
JPH10510082A true JPH10510082A (ja) 1998-09-29

Family

ID=8220668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9513255A Pending JPH10510082A (ja) 1995-09-28 1996-09-19 個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュールを具えるシステムを特定する方法およびそのようにして特定されたシステム

Country Status (5)

Country Link
US (1) US6154763A (ja)
EP (1) EP0795148B1 (ja)
JP (1) JPH10510082A (ja)
DE (1) DE69619498T2 (ja)
WO (1) WO1997012303A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374144B1 (en) 1998-12-22 2002-04-16 Varian Semiconductor Equipment Associates, Inc. Method and apparatus for controlling a system using hierarchical state machines
US6341367B1 (en) * 2000-07-25 2002-01-22 Lsi Logic Corporation Hardware realized state machine
GB0019341D0 (en) * 2000-08-08 2000-09-27 Easics Nv System-on-chip solutions
GB2370658A (en) * 2000-12-29 2002-07-03 Metadyne Ltd A modular software framework
EP1251426A1 (de) * 2001-04-19 2002-10-23 1PlusON Informationstechnologien GmbH Applikationsintegrator für Informationsverarbeitungssysteme
US20050166177A1 (en) * 2004-01-27 2005-07-28 Ylian Saint-Hilaire Thread module chaining
US8510492B2 (en) * 2010-09-08 2013-08-13 Integrated Device Technology Inc. System and method for communication handshaking between a master processors and a slave processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8003567A (nl) * 1980-06-20 1982-01-18 Philips Nv Dienstverlenende inrichting met een digitale program- meerinrichting welke is beveiligd tegen storingen door een willekeurig aanschakelen van het apparaat.
US5056014A (en) * 1985-02-04 1991-10-08 Lockheed Sanders, Inc. Network simulation system
US4727549A (en) * 1985-09-13 1988-02-23 United Technologies Corporation Watchdog activity monitor (WAM) for use wth high coverage processor self-test
US4796178A (en) * 1985-10-15 1989-01-03 Unisys Corporation Special purpose processor for off-loading many operating system functions in a large data processing system
IL78542A0 (en) * 1986-04-18 1986-08-31 Yeda Res & Dev Electronic controller based on the use of statecharts as an abstract model
US5010482A (en) * 1987-07-02 1991-04-23 Unisys Corp. Multi-event mechanism for queuing happened events for a large data processing system
US5233533A (en) * 1989-12-19 1993-08-03 Symmetrix, Inc. Scheduling method and apparatus
US5220668A (en) * 1990-09-21 1993-06-15 Stratus Computer, Inc. Digital data processor with maintenance and diagnostic system
GB9209570D0 (en) * 1992-05-02 1992-06-17 Texas Instruments Ltd Improvements in or relating to state machines
EP0618530A1 (en) * 1993-03-30 1994-10-05 Koninklijke Philips Electronics N.V. Finite state machine with means for the reduction of noise effects
US5761200A (en) * 1993-10-27 1998-06-02 Industrial Technology Research Institute Intelligent distributed data transfer system
US5504896A (en) * 1993-12-29 1996-04-02 At&T Corp. Method and apparatus for controlling program sources in an interactive television system using hierarchies of finite state machines

Also Published As

Publication number Publication date
DE69619498T2 (de) 2002-10-02
WO1997012303A1 (en) 1997-04-03
US6154763A (en) 2000-11-28
DE69619498D1 (de) 2002-04-04
EP0795148B1 (en) 2002-02-27
EP0795148A1 (en) 1997-09-17

Similar Documents

Publication Publication Date Title
JP3165765B2 (ja) Cad設計支援装置
US8464217B2 (en) Object-oriented support for dynamic assignment of parallel computing resources
WO2020228534A1 (zh) 一种基于微服务组件的数据库系统及相关方法
US9672065B2 (en) Parallel simulation using multiple co-simulators
US20080307265A1 (en) Method for Managing a Software Process, Method and System for Redistribution or for Continuity of Operation in a Multi-Computer Architecture
CN112738060B (zh) 微服务数据的处理方法、装置、微服务处理平台及介质
US6425762B1 (en) System and method for cosimulation of heterogeneous systems
US5291427A (en) Method for assisting the development of a set of communicating automata
JPH08286926A (ja) 一般フロントエンド、及び動的にロード可能なバックエンドを有するコンパイラ
US20110173621A1 (en) Push-based operators for processing of push-based notifications
JP2004145885A (ja) 遠隔コンピュータへのオペレーションの分散方法、装置、及び記憶媒体
CN114881233B (zh) 一种基于容器的分布式模型推理服务方法
JPH10510082A (ja) 個々の抽象状態を基礎とする機械を各々が表す複数の相互接続された機能モジュールを具えるシステムを特定する方法およびそのようにして特定されたシステム
CN110347735A (zh) 配置化的数据转发异常补处理方法、装置及可读存储介质
US11106395B2 (en) Application execution apparatus and application execution method
US11520597B2 (en) Operating system architecture for microkernel generations support
Ka et al. Fundamental design problems of distributed systems for the hard-real-time environment
Morelli et al. A system-level framework for the evaluation of the performance cost of scheduling and communication delays in control systems
CN115509146B (zh) 一种飞行维护模拟机分布式通讯资源整合方法
Welch et al. Reengineering computer-based systems for enhanced concurrency and layering
Ward et al. Structured Development for Real-Time Systems, Vol. III: Implementation Modeling Techniques
KR102485154B1 (ko) 전력 통신 서비스
Eriksson How to implement Bounded-Delay replication in DeeDS
CN117252750A (zh) 医疗机器人图像算法部署方法、调度方法、装置及系统
CN116700754A (zh) 一种基于json动态配置的流程编排方法及系统