(57)【要約】【課題】より柔軟性があり拡張が容易なランタイムシステムを実現する。【解決手段】リアルタイム・ランタイムシステムは、複数の機能モジュールおよび１つの管理モジュールを備えている。複数の機能モジュールは、初期化状態から前動作状態までの遷移状態において割り当てられたモジュール識別子を用いて管理モジュールにログオンし、前動作状態から初期化状態まで遷移状態においてログオフするように構成されている。複数の機能モジュールのうち少なくとも１つは、前動作状態から試動作状態までの遷移状態において管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの遷移状態において通信接続を切断し、試動作状態からリアルタイム動作状態までの遷移状態において上記他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの遷移状態においてログオフするように構成されている。【選択図】図１
2011134310.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能モジュールと、
管理モジュールとを備えたリアルタイム・ランタイムシステムであって、
上記複数の機能モジュールは、初期化状態から前動作状態までの間の遷移状態において、割り当てられたモジュール識別子を用いて管理モジュールにログオンするとともに、前動作状態から初期化状態までの間の遷移状態においてログオフするように構成されており、
上記複数の機能モジュールのうち少なくとも１つは、前動作状態から試動作状態までの間の遷移状態において上記管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの間の遷移状態において通信接続を切断し、試動作状態からリアルタイム動作状態までの間の遷移状態において上記他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの間の遷移状態においてログオフするように構成されている、ことを特徴とするリアルタイム・ランタイムシステム。
【請求項２】
各機能モジュールは、
初期化状態、前動作状態、試動作状態、およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械であって、上記初期化状態、上記前動作状態および上記試動作状態、ならびに、初期化から前動作までの間の上記遷移状態および前動作状態から試動作状態までの間の上記遷移状態は非リアルタイムコンテクストに割り当てられ、リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの遷移状態がリアルタイムコンテクストに割り当てられる有限状態機械と、
上記モジュールのプロパティ、および一意なモジュール識別子を含むモジュール記述と、
上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースと、を備えていることを特徴とする、請求項１に記載のリアルタイム・ランタイムシステム。
【請求項３】
制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するように構成され、
上記管理モジュールが上記制御プログラムの記述に基づいて上記複数の機能モジュールを管理することを特徴とする、請求項１または２に記載のリアルタイム・ランタイムシステム。
【請求項４】
上記管理モジュールが、エンティティの記述に基づいて機能モジュールの上記エンティティを生成するように構成されていることを特徴とする、請求項１から３のいずれか１項に記載のリアルタイム・ランタイムシステム。
【請求項５】
上記複数の機能モジュールのうち少なくとも１つは、上記システム制御プログラムの基本サービスを提供する機能システムモジュールとして構成されていることを特徴とする、請求項１から４のいずれかに記載のリアルタイム・ランタイムシステム。
【請求項６】
上記機能システムモジュールの上記基本サービスがリアルタイム制御であることを特徴とする、請求項５に記載のリアルタイム・ランタイムシステム。
【請求項７】
上記複数の機能モジュールのうち少なくとも１つは、少なくとも１つの装置機能を有する機能ユーザモジュールとして構成されている、ことを特徴とする請求項１から６のいずれか１項に記載のリアルタイム・ランタイムシステム。
【請求項８】
少なくとも１つの他の有限状態機械は、上記機能ユーザモジュールの上記有限状態機械の下位にあり、
上記他の有限状態機械は、上記機能ユーザモジュールの上記有限状態機械が上記リアルタイム動作状態である間に起動する、ことを特徴とする請求項７に記載のリアルタイム・ランタイムシステム。
【請求項９】
上記複数の機能モジュールのうち少なくとも１つは、初期化状態から前動作状態までの間の上記遷移状態においてデータ処理システムのリソースを占有し、前動作状態から初期化状態までの間の上記遷移状態において上記データ処理システムの占有された上記リソースを解放する、ことを特徴とする請求項１から８のいずれか１項に記載のリアルタイム・ランタイムシステム。
【請求項１０】
上記複数の機能モジュールのうち少なくとも１つは、試動作状態からリアルタイム動作状態までの間の上記遷移状態において他の機能モジュールのリソースを占有し、リアルタイム動作状態から試動作状態までの間の上記遷移状態において上記他の機能モジュールの占有された上記リソースを解放する、ことを特徴とする請求項１から９のいずれか１項に記載のリアルタイム・ランタイムシステム。
【請求項１１】
複数の機能モジュールを備え、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するランタイムシステムであって、
各機能モジュールは、
初期化状態、前動作状態、試動作状態、およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械であって、上記初期化状態、上記前動作状態、および上記試動作状態、ならびに初期化状態から前動作状態までの間の上記遷移状態および前動作状態から試動作状態までの間の上記遷移状態は非リアルタイムコンテクストに割り当てられ、上記リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの間の上記遷移状態がリアルタイムコンテクストに割り当てられている有限状態機械と、
上記モジュールのプロパティおよび一意なモジュール識別子を含むモジュール記述と、
上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備えている、ことを特徴とするランタイムシステム。
【請求項１２】
管理モジュールインターフェースを有する管理モジュールであって、上記制御プログラムの記述に基づいて上記複数の機能モジュールを管理する管理モジュールをさらに備えている、ことを特徴とする請求項１１に記載のランタイムシステム。
【請求項１３】
上記複数の機能モジュールは、初期化状態から前動作状態までの間の上記遷移状態においてモジュール識別子を用いて管理モジュールにログオンし、前動作状態から初期化状態までの間の上記遷移状態においてログオフするように構成されており、
上記複数の機能モジュールのうち少なくとも１つは、前動作状態から試動作状態までの上記遷移状態において上記管理モジュールを介して他の機能モジュールと通信接続を確立し、試動作状態から前動作状態までの間の上記遷移状態において上記通信接続を切断し、試動作状態からリアルタイム動作状態までの間の上記遷移状態において上記他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの間の上記遷移状態においてログオフするように構成されている、ことを特徴とする請求項１２に記載のランタイムシステム。
【請求項１４】
上記管理モジュールが、エンティティの記述に基づいて機能モジュールの上記エンティティを生成するように構成されている、ことを特徴とする請求項１２に記載のランタイムシステム。
【請求項１５】
少なくとも１つの機能モジュールが、上記システム制御プログラムの基本サービスを提供する機能システムモジュールとして構成されている、ことを特徴とする請求項１１から１４のいずれか１項に記載のランタイムシステム。
【請求項１６】
上記システムモジュールの上記基本サービスがリアルタイム制御である、ことを特徴とする請求項１５に記載のランタイムシステム。
【請求項１７】
少なくとも１つの機能モジュールは、少なくとも１つの装置機能を有する機能ユーザモジュールとして構成されている、ことを特徴とする請求項１１から１６のいずれかに１項に記載のランタイムシステム。
【請求項１８】
少なくとも１つの他の有限状態機械は、上記機能ユーザモジュールの上記有限状態機械の下位にあり、
上記他の有限状態機械は、上記機能ユーザモジュールの上記有限状態機械が上記リアルタイム動作状態である間に起動する、ことを特徴とする請求項１７に記載のランタイムシステム。
【請求項１９】
上記複数の機能モジュールのうち少なくとも１つは、初期化状態から前動作状態までの間の上記遷移状態においてデータ処理システムのリソースを占有し、前動作状態から初期化状態までの間の上記遷移状態において上記データ処理システムの占有された上記リソースを解放するように構成されている、ことを特徴とする請求項１１から１８のいずれか１項に記載のランタイムシステム。
【請求項２０】
上記複数の機能モジュールのうち少なくとも１つは、試動作状態からリアルタイム動作状態までの間の上記遷移状態において他の機能モジュールの上記リソースを占有し、リアルタイム動作状態から試動作状態までの間の上記遷移状態において上記他の機能モジュールの占有された上記リソースを解放するように構成されている、ことを特徴とする請求項１１から１９のいずれか１項に記載のランタイムシステム。
【請求項２１】
初期化状態、前動作状態、試動作状態、およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械であって、上記初期化状態、前動作状態、および試動作状態、ならびに初期化状態から前動作状態までの間の上記遷移状態および前動作状態から試動作状態までの間の上記遷移状態が非リアルタイムコンテクストに割り当てられ、上記リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの間の上記遷移状態がリアルタイムコンテクストに割り当てられている有限状態機械と、
上記モジュールのプロパティおよび一意なモジュール識別子を含むモジュール記述と、
上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備えている、ことを特徴とする機能モジュール。
【請求項２２】
初期化状態から前動作状態までの間の上記遷移状態においてモジュール識別子を用いてログオンし、前動作状態から初期化状態までの間の上記遷移状態においてログオフし、
前動作状態から試動作状態までの間の上記遷移状態において管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの間の上記遷移状態において通信接続を切断し、
試動作状態からリアルタイム動作状態までの間の上記遷移状態において他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの間の上記遷移状態においてログオフするように構成されている、ことを特徴とする請求項２１に記載の機能モジュール。
【請求項２３】
少なくとも１つの装置機能をイメージで表示するように構成されている、ことを特徴とする請求項２１または２２に記載の機能モジュール。
【請求項２４】
インターフェース、インターフェース指定子、パラメータ領域、データ領域、データ領域指定子、時間コンテクスト記述領域、設定領域および参照カウンタの少なくとも１つを備えている、ことを特徴とする請求項２１から２３のいずれか１項に記載の機能モジュール。
【請求項２５】
上記参照カウンタは、上記機能モジュールの寿命をモニターし、インターフェースがログオンするときにカウンタ値を１増数し、インターフェースがログオフするときに上記カウンタ値を１減数し、
上記機能モジュールは、上記カウンタ値が０に達したときに自身を削除可能になっている、ことを特徴とする請求項２４に記載の機能モジュール。
【請求項２６】
制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するように構成されているランタイムシステムの一部である、ことを特徴とする請求項２１から２５のいずれか１項に記載の機能モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラムの記述に基づいて、リアルタイムでシステム制御プログラムを実行するデータ処理システムのためのランタイムシステム、およびそのようなランタイムシステムにおいて用いられる機能モジュールに関する。
【背景技術】
【０００２】
工業オートメーションにおいて、メモリプログラマブルな制御および数値制御（ＳＰＳ／ＮＣ）は、工業用ＰＣなどの高性能標準ハードウェアにソフトウェアとして導入されることが多くなってきている。独立した演算ユニット上で実行される従来のＳＰＳ／ＮＣとは対照的に、いわゆるソフトＳＰＳ／ＮＣは、Ｗｉｎｄｏｗｓ（登録商標）またはＵｎｉｘ（登録商標）などのデータ処理システムのホストオペレーティングシステム上で動作する。このようにするために、ホストオペレーティングシステムは、リアルタイムカーネルによって拡張される。このリアルタイムカーネルは、ソフトＳＰＳ／ＮＣが提供してもよく、ホストオペレーティングシステムによってＳＰＳ／ＮＣに与えられる演算時間を制御する。
【０００３】
従来のＳＰＳ／ＮＣと比べ、ソフトＳＰＳ／ＮＣは、用いられるハードウェアに対し広範囲にわたって独立性を有することが利点として挙げられる。このことにより、必要に応じて、ハードウェアを容易に取り替えたり、より高性能なハードウェアと交換したりすることができる。したがって、ソフトＳＰＳ／ＮＣは、ハードウェアの着実な性能向上による利益を自動的に享受することになる。さらに、通常、ソフトＳＰＳ／ＮＣはユーザに対しハードウェア提供者からの独立性を与える。その他、ソフトＳＰＳ／ＮＣは、制御されるプロセスへの変更を従来のＳＰＳ／ＮＣで行うのに比べて容易に実現できる。通常、従来のＳＰＳ／ＮＣは、ＳＰＳ／ＮＣの要素をプログラムするのに特定のプログラミングデバイスが必要である。また、ＳＰＳ／ＮＣはコンピュータアセンブリにおける複数のコンピュータに頻繁に分配されるが、ＳＰＳ／ＮＣの要素もまた様々なコンピュータ言語を用いて頻繁に生成されるため、様々な構成ツールが必要となる。一方で、ソフトＳＰＳ／ＮＣの場合、構成ツールは制御ソフトウェアと同じハードウェアに配置してもよい。
【０００４】
従来およびソフトＳＰＳ／ＮＣソリューションにおいて複雑な機械および装置を開ループ制御または閉ループ制御するためのプログラミングに要する時間および労力を減らすべく、モジュール化の概念が次第に用いられるようになってきた。個々の機械の集合体もしくは設備ユニットおよび／または機能性をそれぞれ独立したモジュールと見做し、各モジュールについて外部でカプセル化された制御ソフトウェアを生成する。したがって、個々のプログラム部分は様々な開発ツールおよび／またはコンピュータ言語で作成することが可能であり、そのソースの文字列を関連するコンパイラーが実行可能プログラムのコードに翻訳する。これらの実行可能プログラムのモジュールはあわせて、システム制御プログラムを形成する。リアルタイムでシステム制御プログラムを実行するランタイムシステムにおいて、追加で提供されたソフトウェア環境が、起動時に、全てのプログラムモジュールをロードし実行する。ここでは、個々のプログラムモジュールは、互いにおよびソフトウェア環境と通信する規定のインターフェースを備えている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】欧州特許出願公開第１１８２５２９号明細書
【特許文献２】独国特許出願公開第１００６５４１９号明細書
【特許文献３】独国特許出願公開第１００６５４１８号明細書
【特許文献４】欧州特許出願公開第２０９３６６３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＳＰＳ／ＮＣのモジュール構成は個々のモジュールを別々に開発することを可能とするため、その個々のモジュールの開発に必要な最も適したコンピュータ言語および／または開発ツールをそれぞれ選択することができる。したがって、標準化された要素を採用することができる。ロジック制御のための開発ツールとしては、例えば高水準言語が用いられたり、閉ループ制御処理用のボード線図もしくはモデルレギュレータが用いられたりする。しかしながら、個々のプログラムモジュールは、別のコンピュータによってＳＰＳ／ＮＣのフレームワーク内にて静的かつ不変な、実行可能なプログラムに変換される。ＳＰＳ／ＮＣを起動するときには、全てのプログラムモジュールが既に実行可能な形態で存在していなければならない。また、プログラムモジュールを別々に実行するにはプログラムモジュール間においてデータ交換が正しく行われる必要がある。このため、用いられるデータタイプが互換性を有することが確実に保障されるように、特に注意が払われなければならない。個々のプログラムモジュールが完全に別々であるために、データ交換を、インターフェースを介して行うことは避けられない。さらに、プログラムモジュールを相互に関連づけるとともに、結合して共有プログラムを得るには、いわゆるリンカーが必要である。このリンカーは、１つのプログラムモジュールが別のプログラムモジュールを用いる場合に、モジュールの関数および変数のアドレスをメモリアドレスに変換する。
【０００７】
本発明は、制御プログラムの記述に基づいてリアルタイムで機械プログラムを実行するデータ処理システム用のランタイムシステムであって、より柔軟性があり拡張が容易なランタイムシステムに関する。また、本発明は、よりオープンなランタイムシステムにおいて用いられる、より柔軟性があり拡張が容易な機能モジュールに関する。
【課題を解決するための手段】
【０００８】
本発明の一実施形態は、複数の機能モジュールおよび１つの管理モジュールを備えるリアルタイム・ランタイムシステムを提供する。上記複数の機能モジュールは、初期化状態から前動作状態までの間の遷移状態において、割り当てられたモジュール識別子を用いて管理モジュールにログオンし、前動作状態から初期化状態までの間の遷移状態においてログオフするように構成されている。上記複数の機能モジュールのうち少なくとも１つは、前動作状態から試動作状態までの間の遷移状態において管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの間の遷移状態において上記通信接続を切断し、試動作状態からリアルタイム動作状態までの間の遷移状態において上記他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの遷移状態においてログオフするように構成されている。
【０００９】
本発明の別の実施形態は、複数の機能モジュールを備え、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するように構成されたランタイムシステムを提供する。各機能モジュールは、初期化状態、前動作状態、試動作状態およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械を備え、初期化状態、前動作状態および試動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、および前動作状態から試動作状態までの間の遷移状態は、非リアルタイムコンテクストに割り当てられ、リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの間の遷移状態はリアルタイムコンテクストに割り当てられる。各機能モジュールはさらに、モジュールのプロパティおよび一意なモジュール識別子を含むモジュール記述と、上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備えている。
【００１０】
本発明のさらに別の実施形態は、初期化状態、前動作状態、試動作状態およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械であって、初期化状態、前動作状態および試動作状態、ならびに、初期化状態から前動作状態までの間の遷移状態、および前動作状態から試動作状態までの間の遷移状態は非リアルタイムコンテクストに割り当てられ、リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの遷移状態がリアルタイムコンテクストに割り当てられている有限状態機械を備える機能モジュールを提供する。上記機能モジュールはさらに、モジュールのプロパティ、および一意なモジュール識別子を含むモジュール記述と、上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備えている。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るランタイムシステムの実施形態を示す図である。
【図２】本発明に係る機能モジュールについて採用可能な設計を示す図である。
【図３】本発明に係る機能モジュールの有限状態機械を示す図である。
【発明を実施するための形態】
【００１２】
本発明の上記特徴が詳細に理解されるべく、上記要約された本発明のさらに詳しい説明を実施形態で示し、そのいくつかは添付の図面にて図示されている。なお、添付図面は本発明の典型的な実施形態のみを図示しているにすぎず、本発明の範囲を限定するものとして考慮されるものではなく、本発明は他の同様の効果を奏する実施形態においても実現可能である。
【００１３】
以下の説明では本発明の実施形態を参照する。しかしながら、本発明は説明された特定の実施形態に限定されない。それどころか、他の実施形態に関連するか否かに関わらず、以下に説明される特徴および要素の任意の組み合わせは、本発明を実施および実行するものとみなされる。さらに、本発明は、様々な実施形態において従来技術に対して幾つも利点を提供する。ただし、本発明の実施形態が他の可能な解決法および／もしくは従来技術に対して利点をもたらすものの、特定の実施形態によって特定の利点が得られるか否かは本発明を制限するものではない。したがって、以下に記載の様態、特徴、実施形態および利点は単に例示的なものであり、請求項に明示的に記載されていない限りは、添付の請求項の要素または限定であると理解されない。同様に、「本発明」の表現は、本明細書に記載されたいかなる発明的な構成要素を一般化したものと解釈されるべきではなく、請求項で明示的に記載されていない限りは、添付の請求項の要素または限定として解釈すべきではない。
【００１４】
工業オートメーション、すなわち技術的処理の制御およびモニタリングにおいて、メモリプログラマブルな数値制御（ＳＰＳ／ＮＣ）が長い間に亘って用いられてきた。そのため、制御およびモニタリングされる技術的処理は、機械または複雑な生産ラインにおいて動作し得る。しかしながら、ＳＰＳ／ＮＣは、在庫管理もしくは建築管理システムとしても用いられてもよい。以下において、「システム」および「システム制御プログラム」の表現は技術的処理が動作する対象を包括的に示す。したがって、ＳＰＳ／ＮＣは、独自のオペレーティングシステムと実行すべきシステム制御プログラムをロードするのに用いられるインターフェースとを有する独立した演算ユニットとして、様々な方法によって実現可能である。また、ＳＰＳ／ＮＣの入力部は、制御する装置内のイベントをＳＰＳ／ＮＣに知らせるセンサーに接続されている。ＳＰＳ／ＮＣの出力部は、制御する装置のアクチュエーターに接続されている。また、制御する機械は、入出力部の代わりとして、フィールドバスシステムを介して接続されていてもよい。
【００１５】
ここでは、制御される機械が所望の様態で動作するよう、どの信号を出力部から出力するかをシステム制御プログラムが入力部からの信号に基づいて決定している。ＳＰＳ／ＮＣのランタイムシステムは、システム制御プログラムが正しく処理され、システム制御プログラムに対して現在の処理状態が常にリアルタイムで示されることを保障する。
【００１６】
内蔵ユニットの代わりに、ＳＰＳ／ＮＣは、例えばＷｉｎｄｏｗｓまたはＵｎｉｘといったホストオペレーティングシステムが動作可能な工業用ＰＣもしくは組み込みＰＣなどの標準データ処理システム上で動作する単なるソフトウェアエミュレーション（ソフトＳＰＳ／ＮＣ）として構成されていてもよい。したがって、ソフトＳＰＳ／ＮＣはホストオペレーティングシステムのリアルタイム拡張を提供し、入出力部および／またはフィールドバスシステムを、制御する機械のセンサーおよび／またはアクチュエーターに接続する。
【００１７】
従来のＳＰＳ／ＮＣと同様に、ソフトＳＰＳ／ＮＣのランタイムシステムは、制御する装置の処理順を制御プログラムの記述に基づいて決定する。したがって、制御プログラムの記述を独立したエンジニアリングツールによって外部的に生成してもよく、またはソフトＳＰＳ／ＮＣのインターフェースが提供してもよく、またはソフトＳＰＳ／ＮＣ自体の対応するプログラミングツールによって生成してもよい。
【００１８】
とりわけソフトＳＰＳ／ＮＣによってリアルタイムで複雑な装置を制御し、同時にプログラムの作成中における工学的な処理に要する時間および労力を削減するべく、ＳＰＳ／ＮＣの構成においてモジュール化の概念が用いられる。このために、制御対象となる装置の個々の機能、集合体およびユニットは、内蔵機能モジュールが生成される別々のアプリケーションであると判断される。これに関して、各機能モジュールは、互いに通信したり、自身が組み込まれる追加的に提供されたソフトウェア環境と通信したりするためのインターフェースを備えている。ここでは、制御対象となる装置内で頻繁に実行される機能を実行する基本機能モジュールと、基本機能モジュールの上位にあって基本機能モジュールに依存して複雑なタスクを実行する機能モジュールと、を含む、階層的な機能モジュールを構成することができる。
【００１９】
実施形態によれば、データ処理システム用のランタイムシステムは、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行する複数の機能モジュールを備える。各機能モジュールは、初期化状態、前動作状態、試動作状態およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む有限状態機械であって、初期化状態、前動作状態および試動作状態、ならびに、初期化状態から前動作状態までの間の遷移状態、および前動作状態から試動作状態までの間の遷移状態が非リアルタイムコンテクストに割り当てられ、リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの間の遷移状態がリアルタイムコンテクストに割り当てられる有限状態機械と、モジュールのプロパティおよび一意なモジュール識別子を含むモジュール記述と、上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備える。
【００２０】
さらなる実施形態によれば、上記ランタイムシステム内には管理モジュールが設けられている。この管理モジュールは管理モジュールインターフェースを備え、制御プログラムの記述に基づいて上記複数の機能モジュールを管理する。ここでは、上記複数の機能モジュールは、初期化状態から前動作状態までの間の遷移状態においてモジュール識別子を用いて管理モジュールにログオンし、前動作状態から初期設定状態までの間の遷移状態にある間にログオフし、前動作状態から試動作状態までの間の遷移状態において管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの間の遷移状態において通信接続を切断し、試動作状態からリアルタイム動作状態までの間の遷移状態において他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの遷移状態においてログオフするように構成される。
【００２１】
制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するデータ処理システム用のランタイムシステムによって、ランタイムシステムにおけるシステム制御プログラムを実行する機能モジュールを動的に管理することができる。このことで、機能モジュールを、各々独立して実行可能なプログラムコードに翻訳する必要がなくなり、ランタイムシステムを起動する前にこれらを結合して共有ランタイムシステムを得る必要もない。機能モジュールは、実行中に生成され、シャットダウンおよび電源オフ中に起動および実行が行われてもよい。さらに、個々の機能モジュールは様々なツールおよび／または様々なコンピュータ言語を用いて生成することができる。各機能モジュールは、さらにリンクしなくともデータ交換ができるように、同じ時間コンテクストで動作し、メモリ領域およびデータタイプを共用する。全ての機能モジュールの設計が標準化されていることにより、変更および適合はランタイムシステム内にて容易に行うことができる。
【００２２】
さらなる実施形態によれば、上記管理モジュールはエンティティの記述に基づいて機能モジュールのエンティティを生成するように構成されている。したがって、実行するアプリケーションをリアルタイムコンテクストにて自由にコンパイルすることができる。
【００２３】
さらなる実施形態によれば、少なくとも１つの機能モジュールは、システム制御プログラムの、好ましくはリアルタイム制御であるような基本サービスを提供する機能システムモジュールとして構成されている。機能システムモジュールを機能モジュールとして扱うことにより、容易に基本サービスをランタイムシステム内に追加または変更することができる。
【００２４】
さらなる実施形態によれば、少なくとも１つの機能モジュールは、少なくとも１つの装置機能を示す機能ユーザモジュールとして構成されている。ここで、さらなる有限状態機械が機能ユーザモジュールの有限状態機械の下位にあってもよく、上記さらなる有限状態機械は上記機能ユーザモジュールの上記有限状態機械がリアルタイム動作状態にある間に起動されてもよい。この機能ユーザモジュールの構成によって、複雑にふるまうアプリケーションをも、容易かつ信頼性を有する様態で作成することができる。
【００２５】
さらなる実施形態によれば、上記機能モジュールは、初期化状態から前動作状態までの間の遷移状態において上記データ処理システムのリソースを占有し、前動作状態から初期化状態までの間の遷移状態において占有していた上記リソースを解放する。さらに、上記機能モジュールは、試動作状態からリアルタイム動作状態までの間の遷移状態において他の機能モジュールのリソースを確保し、リアルタイム動作状態から試動作状態までの間の遷移状態において、占有した上記リソースを返却する。この手順はランタイムシステムの信頼性の高い動作を確保するだけではなく、効果的なリソースの管理をも可能とする。
【００２６】
さらなる実施形態によれば、上記機能モジュールは、さらなる要素として、インターフェース、インターフェース指定子、パラメータ領域、データ領域、データ領域指定子、時間コンテクスト記述領域、設定領域および参照カウンタを備える。したがって、上記参照カウンタは、上記機能モジュールの寿命をモニターし、インターフェースがログオンしたときにカウンタ値を１増数させ、インターフェースがログオフしたときに上記カウンタ値を１減数させるように構成される。上記カウンタ値が０に達したとき、上記機能モジュールは自身を独立して削除してもよい。このようにして、上記機能モジュールはモジューラシステムの形態で容易に生成される。
【００２７】
実施形態によれば、データ処理システム用のランタイムシステムは、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行する複数の機能モジュールを備える。各機能モジュールは、初期化状態、前動作状態、試動作状態およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含み、初期化状態、前動作状態および試動作状態ならびに初期化状態から前動作状態までの間の遷移状態、および前動作状態から試動作状態までの間の遷移状態は非リアルタイムコンテクストに割り当てられ、リアルタイム動作状態、および試動作状態からリアルタイム動作状態までの遷移状態がリアルタイムコンテクストに割り当てられる有限状態機械と、モジュールのプロパティおよび一意なモジュール識別子を含むモジュール記述と、上記有限状態機械および上記モジュール記述にアクセスするための機能モジュールインターフェースとを備えている。
【００２８】
さらなる実施形態によれば、上記ランタイムシステム内には管理モジュールが設けられている。この管理モジュールは管理モジュールインターフェースを備え、上記制御プログラムの記述に基づいて上記複数の機能モジュールを管理する。ここでは、上記複数の機能モジュールは、初期化状態から前動作状態までの間の遷移状態において自身のモジュール識別子を用いて上記管理モジュールにログオンし、前動作状態から初期化状態までの間の遷移状態の間にログオフし、前動作状態から試動作状態までの間の遷移状態において管理モジュールを介して他の機能モジュールとの通信接続を確立し、試動作状態から前動作状態までの間の遷移状態において通信接続を切断し、試動作状態からリアルタイム動作状態までの間の遷移状態において他の機能モジュールにログオンし、リアルタイム動作状態から試動作状態までの遷移状態においてログオフするように構成される。
【００２９】
制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するデータ処理システム用のランタイムシステムによって、ランタイムシステムにおけるシステム制御プログラムを実行する機能モジュールを動的に管理することができる。このことで、ランタイムシステムを起動する前に、上記機能モジュールを、各々独立して実行可能なプログラムコードに、翻訳する必要がない。上記機能モジュールは、実行中、または、シャットダウンおよび電源ＯＦＦ中にそれぞれ生成、起動実行されてもよい。さらに、個々の機能モジュールは様々なツールおよび／または様々なコンピュータ言語を用いて生成することができる。全ての機能モジュールの設計が標準化されていることにより、変更および適合はランタイムシステム内にて容易に行うことができる。
【００３０】
さらなる実施形態によれば、管理モジュールはエンティティの記述に基づいて機能モジュールの上記エンティティを生成するように構成されている。したがって、実行アプリケーションをリアルタイムコンテクストにて自由にコンパイルすることができる。
【００３１】
さらなる実施形態によれば、少なくとも１つの機能モジュールは、システム制御プログラムの、好ましくはリアルタイム制御であるような基本サービスを提供する機能システムモジュールとして構成されている。機能システムモジュールを機能モジュールとして扱うことにより、容易に基本サービスをランタイムシステム内に付加または変更することができる。
【００３２】
さらなる実施形態によれば、少なくとも１つの機能モジュールは、少なくとも１つの装置機能を示す機能ユーザモジュールとして構成されている。そのため、さらなる有限状態機械が機能ユーザモジュールの有限状態機械の下位にあってもよく、上記さらなる有限状態機械は、上記機能ユーザモジュールの上記有限状態機械がリアルタイム動作状態にある間に起動されてもよい。この機能ユーザモジュールの構成によって、複雑にふるまうアプリケーションであっても、容易かつ信頼性を有する様態で作成することができる。
【００３３】
さらなる実施形態によれば、上記機能モジュールは、初期化状態から前動作状態までの間の遷移状態においてデータ処理システムのリソースを占有し、前動作状態から初期化状態までの間の遷移状態において占有していたリソースを解放する。さらに、上記機能モジュールは、試動作状態からリアルタイム動作状態までの間の遷移状態において他の機能モジュールのリソースを確保し、リアルタイム動作状態から試動作状態までの間の遷移状態において、占有した上記リソースを返却する。この手順はランタイムシステムの信頼性の高い動作を確保するだけではなく、効果的なリソースの管理をも可能とする。
【００３４】
さらなる実施形態によれば、上記機能モジュールは、さらなる要素として、インターフェース、インターフェース指定子、パラメータ領域、データ領域、データ領域指定子、時間コンテクスト記述領域、設定領域および参照カウンタを備える。したがって、上記参照カウンタは上記機能モジュールの寿命をモニターし、インターフェースがログオンしたときにカウンタ値を１増数させ、インターフェースがログオフしたときに上記カウンタ値を１減数させるように構成される。上記カウンタ値が０に達したとき、上記機能モジュールは自身を自ら削除してもよい。このようにして、上記機能モジュールはモジューラシステムの形態で容易に生成される。
【００３５】
図１は、機能モジュールを備える、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するデータ処理システム用ランタイムシステムの構成を概略的に示す図である。ここで、図１は、システム制御プログラムを実行中の特定の段階におけるランタイムシステムを示している。上記ランタイムシステムは、システム領域とユーザ領域とに分けられていてもよい。図１におけるユーザ領域では、５つの機能ユーザモジュール１がアクティブであり、システム領域では、３つの機能システムモジュール２、および１つの管理モジュール３がアクティブである。全てのモジュールは、各モジュールにアクセスするのに用いられる通信層を介して、互いに接続されている。データ処理システムが統一されたメモリ領域を形成している場合、モジュール間で直接的にアクセスする。対照的に、データ処理システムが、分散的に構成され、複数のネットワーク接続されたコンピュータ部品を備える場合、通信層４はインターフェースを介して機能モジュールに接続されたメッセージルーターとして構成される。しかしながら、いくつかのモジュールがデータ処理システムの同一メモリ領域に位置し、他のモジュールがデータ処理システムの別のメモリ領域に位置するのであれば、通信層４は直接的なアクセス方法とメッセージルーターを介するアクセス方法とを組み合わせてもよい。
【００３６】
したがって、機能ユーザモジュールおよび機能システムモジュールは、同一構成を有する。各機能モジュールは一式の要素からなり、そのうち３つの要素、すなわち有限状態機械、モジュール記述および機能モジュールインターフェースが必須であり、他の要素を含むかは自由である。したがって、機能モジュールの全ての要素は標準化されている。
【００３７】
図２は、３つの必須要素およびさらにオプション要素を備える、機能モジュールが構成されうる例を示している。各機能モジュールは、機能モジュールのふるまいをイメージ化する、状態および遷移状態からなる有限状態機械１０を備えている。ここで、遷移状態は、外部から引き起こされてもよい。有限状態機械１０は、初期化状態、前動作状態、試動作状態およびリアルタイム動作状態、ならびに初期化状態から前動作状態までの間の遷移状態、前動作状態から試動作状態までの間の遷移状態、および試動作状態からリアルタイム動作状態までの間の遷移状態を含む。
【００３８】
機能モジュールの有限状態機械１０は、リアルタイム動作状態で起動され得るさらなる有限状態機械の上位モジュールであってもよい。したがって、機能モジュールの有限状態機械１０は、初期状態、前動作状態、および試動作状態、ならびに初期状態から前動作状態までの間の遷移状態および前動作状態から試動作状態までの間の遷移状態が非リアルタイムコンテクストで行われるが、リアルタイム動作状態および試動作状態からリアルタイム動作状態までの間の遷移状態はリアルタイムコンテクストで行われる。
【００３９】
機能モジュールの一連のイベントを決定する機能モジュールの有限状態機械１０とは別に、機能モジュールは、さらなる必須要素としてモジュール記述１１を備える。モジュール記述１１は、モジュールのプロパティを決定し、付加的に識別子、特にランタイムシステムにおいて機能モジュール固有であるモジュール識別子を含んでいる。したがって、モジュールのプロパティを、クラス識別子を用いてモジュール記述内において特徴付けることができる。このモジュール記述はクラス記述を参照するが、クラス記述は制御プログラムの記述の一部であっても、モジュール自体に埋め込まれていてもよい。とりわけ、クラス記述は機能モジュールの全ての要素、特に後述の要素、すなわち、そのインターフェースがモジュール内に実装されている要素、そのインターフェースの指示子を設定可能な要素、そのデータ領域がモジュールに備えられている要素、そのデータ領域の指定子が設けられている要素、そのパラメータをモジュール内にセット可能な要素、およびモジュールが動作する時間コンテクストの要素を示す。さらなる識別子として、モジュール記述はさらに、機能モジュールが他の機能モジュールから派生していることを示す遺伝的識別子をも含んでいてもよい。
【００４０】
この機能モジュールは、有限状態機械１０およびモジュール記述１１の他に、有限状態機械１０およびモジュール記述１１にアクセスするための機能モジュールインターフェース１２を必ず備えている。機能モジュールは、この必須要素である機能モジュールインターフェース１２の他に、さらにインターフェース１３をオプションの要素として備えていてもよい。これらの各インターフェース１３は、外部からアドレス指定され、および／または外部よりアクセス可能な、機能モジュールの１つ以上の要素を示す。ここで、各インターフェース１３は関連する一意なインターフェース識別子を介して識別されてもよい。これらのインターフェース識別子によって、その機能モジュールと通信可能かどうかを他の機能モジュールが判断することができる。したがって、機能モジュールの全てのインターフェースは、少なくとも２つの基本サービス、すなわち、インターフェース要求機能およびモジュール寿命機能を提供する基本インターフェース構成に基づいている。これら２つの基本サービスは、有限状態機械１０およびモジュール記述１１にアクセスするための機能モジュールインターフェース１２によってサポートされている。
【００４１】
機能モジュールにおいて設けることができる他のインターフェースとしては、特に、周期的に機能モジュールにアクセスするためのインターフェースと上記機能モジュールが周期的なアクセスを受けるために他の機能モジュールがログインする際に介する対応するインターフェースと、挙げられる。さらに、処理データを要求および／または公開するインターフェースも通常設けられる。これら２つのインターフェースは、機能モジュールの入出力を更新するのに用いられる。さらなるインターフェースは、後述する機能モジュールのオプション要素、すなわち、データ領域、パラメータ領域、時間コンテクスト記述領域および参照カウンタにアクセスすることを可能とする。
【００４２】
さらに、機能モジュールの一般的なインターフェースとして、リアルタイムインターフェースを設けることができる。機能モジュールにリアルタイムタスクが割り当てられた場合、リアルタイムタスクのサイクル時間、優先順位およびその他の情報を、リアルタイムインターフェースを経由して取り出すことができる。
【００４３】
サービスが正確に判定され、一元的に交換および変更可能であり、および／または他のインターフェースに移すことができるこれらの一般的なインターフェースの他に、機能モジュールは、さらに、別のインターフェースの同一構成を有する機能モジュールとのみ通信可能な個々のインターフェースを備えていてもよい。
【００４４】
機能モジュールは、インターフェース１３の他に、さらなるオプション要素として、インターフェース１３の相手役として動作するインターフェース指定子１４を備えている。上記インターフェース指定子１４を介して、機能モジュールは、インターフェース指定子によって特徴付けられた他の機能モジュールのインターフェースにアクセスしてもよい。これに関し、全ての機能モジュールは、ランタイムシステムにおける管理モジュール３の管理モジュールインターフェースに向けられたインターフェース指定子を備え、このことによって上記管理モジュールに機能モジュールをログオンしたり、上記管理モジュールから機能モジュールをログオフしたりすることができる。インターフェース指定子は、非リアルタイムコンテクスト、すなわち、初期状態、前動作状態、試動作状態、およびこれらの間の遷移状態における、機能モジュールの起動中に設定される。
【００４５】
さらなるオプション要素として、機能モジュールはパラメータ領域１５を有している。パラメータ領域１５において、特定パラメータのデータタイプはパラメータ識別子および実際のパラメータ値によって示されている。このため、パラメータ識別子およびパラメータ値は、外部よりアクセス可能とするために設けられた上述のパラメータ領域インターフェースを介して、外部よりアクセスすることができる。
【００４６】
機能モジュールのさらなるオプション要素として、同じく外部よりアクセス可能とするために設けられたデータ領域インターフェースを介して外部よりアクセス可能なデータ領域１６が挙げられる。データ領域１６の構造は、モジュール記述１１によって決定される。機能ユーザモジュールにおいて、データ領域１６は処理画像を読み込んだり読み出したりするのに用いられる。ここでは、データ領域は、データ領域の構成を詳細に記述する記号的なデータを含んでいてもよい。
【００４７】
他の機能モジュールのデータ領域をアクセスするために、機能モジュールはオプション要素としてデータ領域指定子１７を備えていてもよい。データ領域指定子１７は所望のデータ領域を参照するが、データ領域指定子１７が参照することで、対応するデータ領域インターフェースを介してデータ領域へのアクセスが可能となる。インターフェース指定子１７と同様に、上記データ領域指定子１７は、非リアルタイムコンテクストにおいて機能モジュール内に設定される。
【００４８】
さらなるオプション要素として、機能モジュールは時間コンテクスト記述領域１８を有していてもよい。上記時間コンテクスト記述領域１８は、特に、複数の時間コンテクストにおいて機能モジュールがアクティブであることが可能な場合、すなわち、機能モジュールが複数の時間非依存のアプリケーションをサポートしていたり、閉ループアプリケーションが異なるサイクル時間で閉制御ループの処理を行ったりする場合に設けられる。機能モジュールがこのような時間コンテクスト記述領域１８を有する場合、この要素はモジュール記述１１における機能モジュールのプロパティとして示される。
【００４９】
さらなるオプション要素として、機能モジュールは、機能モジュールの寿命をモニターする参照カウンタ１９を備えている。これに関し、参照カウンタ１９は、機能モジュールのインターフェースが発行された場合、すなわち機能モジュールがさらなる機能モジュールまたは管理モジュールにログオンした場合に、参照カウンタ１９が１増数するように構成されることが好ましい。続いて、機能モジュールを介してインターフェースをログオフするとき、参照カウンタ１９は１減数される。参照カウンタ１９が減数されたときに０の値となった場合、機能モジュールは自主的に自身を削除する。これは通常、管理モジュール３からログオフした後に行われる。しかしながら、参照カウンタ１９は、他の機能モジュールのインターフェース指定子が機能モジュールのインターフェースを指している限りは、該機能モジュールを削除しないように構成されている。これら他の機能モジュールのインターフェース指定子が有効になるとすぐに、参照カウンタ１９は、機能モジュールの削除を無効にする。
【００５０】
構成領域２０も機能モジュールのオプション要素となりえる。この構成領域２０は、機能モジュールに紐付け可能な他の機能モジュールタイプを判定する構成識別子を備えている。モジュール記述１１にも記憶されているこれらの構成識別子に基づいて、システム制御プログラムを実行するのにどの機能モジュールを組み合わせることができるかを、容易に判断することが可能になる。
【００５１】
上記記載のとおり、ランタイムシステムの全ての機能モジュール、すなわち、ユーザ領域における機能ユーザモジュールおよびシステム領域における機能システムモジュールは、３つの必須要素とさらにオプション要素とを備えた同一構成を有している。これに関し、個々の機能モジュールは様々なツール、および／または、Ｃ／Ｃ＋＋、Ｉ／Ｏコンフィギュレーション、ＰＬＣ制御、シミュレーションまたはＩＥＣ６１１３１−３など、様々なコンピュータ言語を用いて生成してもよい。さらに、任意の所望のコンピュータ言語を用いて生成したアプリケーションを、図１に示されるリアルタイム・ランタイムシステムにおいて用いられる上述の標準化された機能モジュールに変換する、付加的なエンジニアリングツールを設けてもよい。そして、エンジニアリングツールは、各コンピュータ言語にて生成されたアプリケーションを、上述の形式的な構成の機能モジュールに基づいてパッケージングしてもよく、絶対必須要素である有限状態機械、モジュール記述、並びに、有限状態機械およびモジュール記述にアクセスするための機能モジュールインターフェースに加えてさらにオプションの機能モジュールを付加してもよい。
【００５２】
機能モジュールは、非常にシンプルに構成されてもよく、非常に複雑なに構成されてもよい。ユーザ領域の機能モジュールは、装置の機能、および／または、供給ユニット、アーバー、ツール変更機、もしくは他の機械電子工学ユニットなどの機器集合体を開ループ・閉ループ制御する役割を担う。モジュール記述にて特定されたプロパティは、上記機械電子工学ユニットのふるまいを具象化するアルゴリズムを提供する。したがって、機能ユーザモジュールが簡素な機能を単に制御することも、非常に複雑な処理の流れを制御することもあり得る。これを受け、機能ユーザモジュールは、互いに組み込まれ、機能モジュール有限状態機械に制約され、機能モジュール有限状態機械の状態に応じて起動される有限状態機械をいくつか備えていてもよい。したがって、例えば機能ユーザモジュールは、２つの接続されたドライブを制御するべく、相互に依存している下位の有限状態機械を２つ備えていてもよい。
【００５３】
このような機能ユーザモジュールの他に、ランタイムシステムは機能システムモジュールを備えている。この機能システムモジュールは、その構成が機能ユーザモジュールの構成と対応しており、リアルタイムでシステム制御プログラムを実行するべくランタイムシステムの基本サービスを提供するものである。ＳＰＳ／ＮＣ用の基本サービスのうちの１つに、ランタイムシステムにおけるアプリケーションがリアルタイムで行われていることを保障するためのリアルタイムモニタリングがある。そして、リアルタイム機能システムモジュールは付加的に、他の機能モジュールからアクセス可能なリアルタイムインターフェースを機能モジュール要素として設けることで、各機能モジュールによって実行されるアプリケーションがリアルタイムで実行されることを補償し、および／または、機能モジュールにそのようなリアルタイムアプリケーションを生成させることができるようにする。さらなる機能システムモジュールは入出力用および／またはフィールドバスシステム用のドライバである。さらに、機能モジュールがログオンし、機能モジュールが接続されるバス４を制御する機能システムモジュールを設けてもよい。さらなるシステムモジュールとして、機能モニタリングモジュール、機能文書化モジュール、または機能管理モジュールを、モジュール記述内の様々な識別子として設けてもよい。
【００５４】
通常、機能システムモジュールはランタイムシステムを起動した際に自動的にロードされるが、一方で機能ユーザモジュールは管理モジュールまたは他の機能モジュールによって、より後の時点で起動されてもよい。上記記載の通り、機能モジュールは原則的に個々に独立して開発されていてもよいが、全ての機能モジュールが上記記載の標準化された構成を有している。
【００５５】
機能モジュールの上記標準化された構成に加えて、機能モジュールによって用いられるインターフェース、パラメータ領域、データ領域、構成領域の識別子について統一されたデータタイプシステムおよび統一された管理が必要である。ランタイムシステムのフレームワークにおける機能モジュール間のやりとりを可能にするには、識別子は明確に定義されていなければならない。ここでは、各識別子を長い乱数によって生成することができる。この数値範囲の大きさによって、同一の識別子が生成されないことが保障される。しかしながら、たとえば１２８ビットの長さを有する乱数のような長い乱数の識別子は、複雑且つ時間を要する処理を必要とし、リアルタイムでシステム制御プログラムを実行するランタイムシステムのフレームワークでは特に障害となり得る。
【００５６】
しかしながら、リソースおよび時間を節約した処理を可能とするべく、より短い数字の組み合わせで動作するには、アクティブに識別子を管理する必要がある。例えばたかだか３２ビットの長さを有する数値識別子は、は一元管理される領域（例えば前半の１６ビット）と局所管理される領域（例えば、後半の１６ビット）とに分けられる。一元管理されている領域からは、各機能モジュールの開発者は、機能モジュールのプログラミングの際に機能モジュールに設けられる識別子として用いられるべき１６ビットの長さを有する数値を１つ以上割り当てられる。そして３２ビット長のさらなる１６ビットの数値は、機能モジュールが生成されるときに個々に決定される数値であり、その機能モジュールにおいては一意でなければならない。
【００５７】
機能モジュールによって用いられるデータタイプのデータタイプ識別値を決定する際に、一般的に長い乱数、例えば１２８ビット長の乱数を用いることができる。このデータタイプ識別値は実際のところランタイムシステムおよび／または機能モジュールによってリアルタイムコンテクストで評価されているのではなく、評価に充分な時間が残るようにシステムの起動中に非リアルタイムコンテクストで行われる。このデータタイプ識別子によって、全ての機能モジュールによって統一されたデータタイプシステムが用いられることを保障できる。これにより、データタイプは、常に明確に記述され、機能モジュールと外部との間で信頼性のあるデータ交換を保障することができる。データタイプ識別子は、機能モジュールがデータをデータ名とは独立して同一に解釈することを確実にする。機能モジュールを生成することができる様々なコンピュータ言語では、異なるデータタイプで同一のデータ名を頻繁に用いる結果、データ名のみでのデータタイプの記述が明確でなくなる。さらに、データタイプはデータ名を変えずに頻繁に変更される。
【００５８】
図１に示すとおり、ランタイムシステムは機能モジュールに加えて中央管理モジュール３を備えている。管理モジュール３はその構成において、標準化された機能モジュールと異なり、特別な管理モジュールインターフェースを備えている。管理モジュール３は、制御プログラムの記述に基づいてリアルタイムでシステム制御プログラムを実行するランタイムシステムのフレームワーク内において機能モジュールの動的な管理を可能とする。ランタイムシステムを起動するとき、管理モジュールは最初に起動されるモジュールとなり、機能モジュールに基づいてリアルタイムでシステム制御プログラムの実行を決定する制御プログラムの記述にアクセスする。制御プログラムの記述は、機能モジュールのエンティティを機械制御プログラムのフレームワーク内で実行するための記述データを含んでいる。エンティティの記述は、機能モジュールの正確な設定、すなわち、用いられるパラメータ、インターフェース、インターフェース指定子、データ領域、データ領域指定子、時間コンテクストなどを決定する。
【００５９】
続いて、管理モジュール３は、機能モジュールの各エンティティを、起動直後にエンティティの記述に基づいて実行するか、またはそれより後の時点で、制御プログラムの記述のさらなる規定に基づいて生成する。したがって、エンティティの生成は管理モジュールによってモジュールクラス識別子を用いて実行されてもよい。その目的のために、管理モジュールは、自身の管理インターフェースを介して、モジュールクラスを生成することが可能なモジュールクラスシステムモジュールにアクセスする。他のシステムモジュールと同様に、上記モジュールクラスシステムモジュールはランタイムシステムの起動時に自動的に初期化され、他のシステムモジュールと同様に、初期状態から前動作状態までの間の遷移状態において、自身のモジュール識別子を用いて管理モジュールにログオンする。エンティティを生成するべく、続いて管理モジュールは、モジュールクラスシステムモジュールからクラス識別子に関連付けられているモジュールクラスの生成要素を選択し、機能モジュールのエンティティ設定を開始する。
【００６０】
図３は機能モジュールの有限状態機械、および管理モジュールによって管理されているランタイムシステムのフレームワーク内における上記有限状態機械の遷移状態を示している。機能モジュールエンティティは、初期状態１０１において生成される。機能モジュールエンティティの生成の完了後、機能モジュールはすぐに初期状態１０１から前動作状態１０４へと切り替わる。この遷移状態１０２では、機能モジュールは自身のモジュール識別子を用いて、管理モジュールにログオンする。これを受け、機能モジュールは管理モジュールからパラメータ１２０を受け取る。さらに、初期化状態から前動作状態までの間の遷移状態１０２では、機能モジュールは他の機能モジュールから完全に隔てられ、これら他の機能モジュールと通信することができない。初期状態１０１から前動作状態１０４までの間の遷移状態１０２では、機能モジュールには、リアルタイム動作に必要なリソース、特にデータ処理システムのメモリ領域が、必要に応じて管理モジュールによって割り当てられる。遷移状態後の前動作状態１０４では、機能モジュールは完全に構成されており、通常、大部分がパラメータ化されている。機能モジュールは、管理モジュールにログオンしているが、他の機能モジュールとのやりとりはない。
【００６１】
前動作状態１０４から試動作状態１０７までの間の遷移状態１０５では、機能モジュールは他の機能モジュールとやりとりを行ってもよい。機能モジュールは、やりとりを行うべき機能モジュールのモジュール識別子を含んでいる関連初期設定データに基づいて、必要な通信を決定する。したがって、機能モジュール間での通信は、管理モジュールインターフェースを用いてモジュール識別子に基づいて機能モジュールを識別する管理モジュールによって生成される。これに関し、前動作状態１０４から試動作状態１０７までの間の遷移状態１０５は、管理モジュールによって引き起こされてもよい。前動作状態１０４から試動作状態１０７までの間の遷移状態１０５では、他のパラメータ１２１が機能モジュールに転送されてもよい。このことで、モジュール記述が例えば遺伝的識別子を含んでいる場合、下位の機能モジュールからのパラメータは派生した機能モジュールに転送されてもよい。
【００６２】
試動作状態１０７では、機能モジュールはその機能が処理対象となるまで待機する。初期状態１０１、前動作状態１０４、試動作状態１０７、ならびに初期化状態から前動作状態までの間の遷移状態１０２および前動作状態から試動作状態までの間の遷移状態１０５は、それぞれ、非リアルタイムコンテクストで（すなわち、機能モジュールに割り当てられたアプリケーションが機械制御のフレームワーク内にて用いられる前に）、発生する。
【００６３】
リアルタイムコンテクストでアプリケーションを実行するために、機能モジュールは、制御プログラムの記述に基づいて、管理モジュールまたは他の機能モジュールによってリアルタイム動作状態１１０に遷移する。試動作状態１０７からリアルタイム動作状態１１０までの間の遷移状態１０８では、パラメータ領域およびデータ領域インターフェース指定子を適切に設定することで、機能モジュールが他の機能モジュールからリソースを要求することが可能である。また、機能モジュールは、他の機能モジュールにログオンし、各インターフェース指定子を、例えばこの機能モジュールによって周期的にアクセス可能にするように設定してもよい。続いて、リアルタイム動作状態１１０において、機能モジュールは、ダウンストリームで接続される実行可能な有限状態機械を起動するアプリケーションを実行する。
【００６４】
アプリケーションを終了する際、機能モジュールはリアルタイム動作状態１１０から試動作状態１０７へと自身をリセットする。この遷移状態１０９は他の機能モジュールまたは管理モジュールによって引き起こされてもよい。機能モジュールは試動作状態からリアルタイム動作状態までの間の遷移状態１０８において実行した全ての動作を無効にするとともに、他の機能モジュールから要求した全てのリソースを開放し、および／または、これらの他の機能モジュールからログオフする。
【００６５】
機能モジュールが、例えば、制御プログラムの記述によって試動作状態１０７の間でより長い期間使用されていない場合、上記機能モジュールは、試動作状態１０７から前動作状態１０４に戻る。この遷移状態１０６は管理モジュールによって引き起こされてもよい。機能モジュールは、その後、前動作状態１０４から試動作状態１０７までの間の遷移状態１０５において行った全ての動作を無効にし、要求した全てのリソースを開放する。
【００６６】
その後、制御プログラムの記述のフレームワーク内において、機能モジュールが必要でなくなった場合またはランタイムシステムが完全に終了した場合、機能モジュールは前動作状態１０４から初期状態１０２に戻る。この遷移状態１０３の間で、機能モジュールは初期化状態から前動作状態までの間の遷移状態１０２において行った動作を全て無効化し、特に、要求したシステムリソースを開放する。機能モジュールは管理モジュールからログオフし、機能モジュールの参照カウンタが０を示している場合、機能モジュール自体を削除する。
【００６７】
制御プログラムの記述に基づいて、リアルタイムでシステム制御プログラムを実行するデータ処理システム用のランタイムシステムによって、システム制御プログラムを実行するための機能モジュールは、ランタイムシステムにおいて動的に管理されてもよい。すなわち、機能モジュールは、実行中に生成され、シャットダウンおよび電源オフ中に、起動および実行が行われてもよい。ランタイムシステムが起動されたとき、個々の機能モジュールが既に完全にロードされ、実行可能な状態である必要はない。全ての機能モジュールは同じ時間コンテクストで動作し、互換性のあるデータタイプおよび統一のメモリ領域を有することで個々の機能モジュールをリンカーで接続する必要もない。全ての機能モジュールは同じ時間コンテクストで動作し、互換性のあるデータタイプおよび統一のメモリ領域を有することで個々の機能モジュールをリンカーで接続する必要もない。
【００６８】
上記記載は本発明の実施形態を対象としているが、本発明の他のさらなる実施形態をも、本発明の範囲を逸脱することなく実現可能である。本発明の請求の範囲は、続く請求項によって判断されるものである。
【図１】
2011134310.tif 000003
【図２】
2011134310.tif 000004
【図３】
2011134310.tif 000005
【外国語明細書】
2011134310000001.pdf