(57)【特許請求の範囲】
【請求項１】
制御機器プログラムコード（２）を作成するコンピュータ実装方法（１）であって、
前記制御機器プログラムコード（２）又は前記制御機器プログラムコード（２）の作成の際の中間表現が、少なくとも１つの第１のデータオブジェクト（３）から少なくとも１つの第１のソフトウエアツール（４）を用いて作成され、
前記第１のソフトウエアツール（４）は、前記制御機器プログラムコード（２）又は前記中間表現の作成の際に、作成過程のための少なくとも１つのメッセージ（Ｍ１，Ｍｎ，Ｍｖ）を出力し、
コンピュータで実現されるメッセージ管理環境（５）は、前記ソフトウエアツール（４）から出力された前記メッセージ（Ｍ１，Ｍｎ，Ｍｖ）を認識する、コンピュータ実装方法（１）において、
前記メッセージ管理環境（５）により、前記認識されたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）に対して少なくとも“オープン”又は“承認”としての資格（ｑ１，ｑｎ，ｑｖ）が認識され、
“承認”としての資格が与えられたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）に対して、前記メッセージ管理環境（５）により、資格条件（ｐ１，ｐｎ，ｐｖ）が認識されることを特徴とするコンピュータ実装方法（１）。
【請求項２】
前記認識されたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）は、前記メッセージ管理環境（５）によって、当該メッセージが既に事前に認識され“承認”としての資格が与えられたものか否かが検査され、“承認”としての資格（ｑ１，ｑｎ，ｑｖ）が既に存在している場合には、前記メッセージ管理環境（５）によって、資格条件（ｐ１，ｐｎ，ｐｖ）がまだ満たされているか否かが検査される、請求項１記載のコンピュータ実装方法（１）。
【請求項３】
前記資格条件（ｐ１，ｐｎ，ｐｖ）が満たされている場合、“承認”として資格が与えられたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）は、前記メッセージ管理環境（５）によって隠され、及び／又は、前記資格条件（ｐ１，ｐｎ，ｐｖ）が満たされていない場合、前記メッセージ（Ｍ１，Ｍｎ，Ｍｖ）は、前記メッセージ管理環境（５）によって“資格が与えられていない”ものとして出力される、請求項２記載のコンピュータ実装方法（１）。
【請求項４】
既に認識され資格が与えられたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）の発生は、前記制御機器プログラムコード（２）の新たな作成ステップのもとでは前記メッセージ管理環境（５）によって再び期待され、特に前記メッセージ管理環境（５）は、期待されるが但し新たに認識されていないメッセージ（Ｍ１，Ｍｎ，Ｍｖ）を示唆する、請求項１から３いずれか１項記載のコンピュータ実装方法（１）。
【請求項５】
前記資格条件（ｐ１，ｐｎ，ｐｖ）は、前記第１のデータオブジェクト（３）の少なくとも一部に依存して形式化され、特に形式化された前記資格条件（ｐ１，ｐｎ，ｐｖ）は、前記データオブジェクトの一部にリンクされ、特に前記メッセージ管理環境（５）は、前記データオブジェクト（３）の一部を、前記資格条件（ｐ１，ｐｎ，ｐｖ）がもはや満たされていない場合に示す、請求項１から４いずれか１項記載のコンピュータ実装方法（１）。
【請求項６】
前記第１のデータオブジェクト（３）に対して、又は、前記第１のデータオブジェクト（３）の一部に対して、前記メッセージ管理環境（５）において、バージョン情報（ｖ）及び／又は最終変更データ（ｌｃ）が認識され、１つの資格条件（ｐ１，ｐｎ，ｐｖ）は前記バージョン情報（ｖ）及び／又は前記最終変更データ（ｌｃ）に依存して、前記メッセージ管理環境（５）によって検査される、請求項１から５いずれか１項記載のコンピュータ実装方法（１）。
【請求項７】
１つの資格条件（ｐ１，ｐｎ，ｐｖ）は、
前記データオブジェクト（３）が若しくは前記データオブジェクト（３）の少なくとも一部が、資格条件（ｐ１，ｐｎ，ｐｖ）が決定された時点のデータオブジェクト（３）のバージョン情報（ｖ）に対して変化している場合、
又は、
前記データオブジェクト（３）の若しくは前記データオブジェクト（３）の少なくとも一部のバージョン情報（ｖ）若しくは最終変更データ（ｌｃ）が、前記メッセージ管理環境（５）内で認識されたバージョン情報（ｖ）又は最終変更データ（ｌｃ）に対して変更されている場合にのみ、
もはや既に条件を満たさないものとして前記メッセージ管理環境（５）によって評価される、請求項５又は６記載のコンピュータ実装方法（１）。
【請求項８】
前記メッセージ管理環境（５）により、さらに前記資格条件（ｐ１，ｐｎ，ｐｖ）に対して付加的に資格理由が認識され、前記資格理由は、前記メッセージ管理環境（５）によって特に、前記資格条件（ｐ１，ｐｎ，ｐｖ）が前記メッセージ管理環境（５）によって満たされていないものとみなされた場合に示される、請求項１から７いずれか１項記載のコンピュータ実装方法（１）。
【請求項９】
前記制御機器プログラムコード（２）又は前記中間表現の作成の際に、少なくとも第１のソフトウエアツール（４ａ）と第２のソフトウエアツール（４ｂ）とによって、作成過程のための複数のメッセージが出力され、前記メッセージ管理環境（５）によって、前記複数のソフトウエアツール（４ａ，４ｂ）から出力された複数のメッセージ（Ｍ１，Ｍｎ，Ｍｖ）が認識される、請求項１から８いずれか１項記載のコンピュータ実装方法（１）。
【請求項１０】
前記メッセージ管理環境（５）は、前記１つのソフトウエアツール（４）若しくは複数のソフトウエアツール（４ａ，４ｂ）から出力されたメッセージを、ログファイルの構文解析によって、及び／又は、前記ソフトウエアツール（４，４ａ，４ｂ）のアプリケーションプログラムインターフェースによって認識する、請求項１から９いずれか１項記載のコンピュータ実装方法（１）。
【請求項１１】
前記ソフトウエアツール（４）から出力されたメッセージは、エラー通知であり、該エラー通知は、前記制御機器プログラムコード（２）が制御機器プロセッサ上で実行可能か否かに関している、請求項１から１０いずれか１項記載のコンピュータ実装方法（１）。
【請求項１２】
制御機器プログラムコード（２）の作成の際に発生するメッセージ（Ｍ１，Ｍｎ，Ｍｖ）を管理するためのメッセージ管理システム（５）であって、
前記制御機器プログラムコード（２）又は前記制御機器プログラムコード（２）の作成の際の中間表現が、少なくとも１つの第１のデータオブジェクト（３）から少なくとも１つの第１のソフトウエアツール（４）を用いて作成され、
前記第１のソフトウエアツール（４）は、前記制御機器プログラムコード（２）又は前記中間表現の作成の際に、作成過程のための少なくとも１つのメッセージ（Ｍ１，Ｍｎ，Ｍｖ）を出力する、メッセージ管理システム（５）において、
前記ソフトウエアツール（４）から出力された前記メッセージ（Ｍ１，Ｍｎ，Ｍｖ）が前記メッセージ管理システム（５）によって認識可能であり、かつ、
前記メッセージ管理システム（５）によって、前記認識されたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）に対して“オープン”又は“承認”としての資格（ｑ１，ｑｎ，ｑｖ）が認識可能であり、かつ、
最初に“承認”としての資格が与えられたメッセージ（Ｍ１，Ｍｎ，Ｍｖ）に対して、前記メッセージ管理システム（５）により、資格条件（ｐ１，ｐｎ，ｐｖ）が認識可能であるように、コンピュータで実現される前記メッセージ管理システム（５）が構成され調整されていることを特徴とするメッセージ管理システム（５）。
【請求項１３】
請求項２から１１のいずれか１項記載のコンピュータ実装方法を実現するためのメッセージ管理システム（５）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御機器プログラムコード又は制御機器プログラムコードの作成の際の中間表現が、少なくとも１つの第１のデータオブジェクトから少なくとも１つの第１のソフトウエアツールを用いて作成され、前記第１のソフトウエアツールは、前記制御機器プログラムコード又は中間表現の作成の際に、作成過程のための少なくとも１つのメッセージを出力し、コンピュータで実現されるメッセージ管理環境は、ソフトウエアツールから出力されたメッセージを認識する、コンピュータ実装方法に関している。さらに本発明は、制御機器プログラムコード又は前記制御機器プログラムコードの作成の際の中間表現が、少なくとも１つの第１のデータオブジェクトから、少なくとも１つの第１のソフトウエアツールを用いて作成され、前記第１のソフトウエアツールは、前記制御機器プログラムコード又は前記中間表現の作成の際に、作成過程のための少なくとも１つのメッセージを出力する、制御機器プログラムコードの作成の際に発生するメッセージを管理する、メッセージ管理環境に関している。
【背景技術】
【０００２】
制御機器プログラムコードの作成は、現在工業的に非常に複雑なプロセスであり、そこでは多くの場合、様々なソフトウエアツールが使用されている。制御機器とは、今日では通常は産業利用のために作られた堅牢な小型計算機であって、大抵はＩ／Ｏインターフェースも内蔵しているものと理解されたい。多くの場合リアルタイムオペレーティングシステムも備えている制御機器上では、プログラムが実行されており、このプログラムは、広義にはＩ／Ｏインターフェースを介して、制御すべき技術的なプロセスとの接続を形成し、所望の方法でこのプロセスに作用している。前述したようなタイプの制御機器は、例えば自動車分野で広く使用されている。これらの制御機器の開発と制御機器プログラムコードの開発は、大量生産による車両の開発において重要な役割を担っている。
【０００３】
データオブジェクトから制御機器プログラムを作成するソフトウエアツールの簡単な例としてコンパイラがあり、これは、高級言語で存在するプログラムコードをターゲット制御機器上で実行可能な制御機器プログラムコードに翻訳している、つまり例えばバイトコードの形態や機械で実行可能な機械語の形態に変換している。またデータオブジェクトとは、高級言語のソースコードを指す。
【０００４】
実際には、もはや制御機器プログラムコードの大半は、エラーが発生しやすい高級言語での手動プログラミングによって作成されてはおらず、むしろ制御機器プログラムコードの機能性の形式化は、より抽象的なレベルで、例えば所望の機能性のマッピングがブロック回路図の形態で可能にするグラフィカルモデリング環境を使用して行われている。このケースでは、データオブジェクトが１つ若しくは複数のグラフィカル制御モデルにあり、それが自動で高級言語で作成されたプログラムコードに変換されている。このコード作成は、複数の抽象化された中間段階を介して行うことができ、そこでは、基礎となるデータオブジェクトが、グラフィカル制御モデルの形態で様々な中間表現に移行される。そのように様々な中間段階を介して形成された、まだ実行が不可能な高級言語の制御機器プログラムコードは、最終的には適切なコンパイラによって、実行可能な制御機器プログラムコードに変換される。
【０００５】
以上の説明からも明らかなように、前述したような制御機器プログラムコードを作成する方法又制御機器プログラムコードの中間表現を作成する方法には多数のソフトウエアツールが関与している（グラフィカルモデリング環境、コードジェネレータ、コンパイラ、専用コードチェッカなど）。通常は、これらのすべてのソフトウエアツールは、作成過程に関する特徴をユーザーに指示するために、作成過程のためのメッセージを出力する。これは、例えばグラフィカルモデリング環境の場合には、機能ブロックの未接続ポートに対する示唆であってもよいし、不一致データタイプの示唆であってもよい。あるいは衝突するサンプリング時間などの指示であってもよい。コンパイラは、警告やエラー通知の形態のメッセージによって、宣言されていない変数、初期化されていない変数、ループ内に存在しない中断条件、ゼロによるディビジョンなどを示唆することが可能である。
【０００６】
ソフトウエアツールから出力されたメッセージは、基本的には作成過程と、作成過程の評価とに対して重要でかつ関連性を有している。このことは、ソフトウエア開発の様々な領域においていわゆる「ゼロ警告設定」とも称され、制御機器プログラムコードに至る作成過程において、何の警告も出力されない場合にのみ、制御機器プログラムコードが適正であると見なされる。類似した要求も所定の標準規格で成文化され、例えば自動車業界における制御機器プログラムコードの作成に係るＭＩＳＲＡ規格等で成文化され、今後はその他の産業分野の安全性が重要な領域に対しても益々使用が拡がる。
【０００７】
複数のソフトウエアツールのうちの特定のメッセージが不可避であるか又はユーザーからのメッセージがアンクリティカルなものとして認識され、メッセージの発生が、制御機器プログラムコードの品質評価の際にネガティブでない重要性を帯びる場合もある。それにもかかわらずソフトウエアツールのメッセージは、引き続き後続する作成過程毎に検査されなければならず、このことは相当な作業コストに結びつく。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
それ故本発明の課題は、制御機器プログラムコードを作成するコンピュータ実装方法において、作成過程中にソフトウエアツールから出力されるメッセージの評価がより効率的に実施できるように改善を施すことである。
【課題を解決するための手段】
【０００９】
前記課題は、前述のコンピュータ実装方法のもとで、メッセージ管理環境を使用して、前記メッセージ管理環境により、前記認識されたメッセージに対して、少なくとも“オープン”又は“承認”としての資格が認識され、“承認”としての資格が与えられたメッセージに対して、前記メッセージ管理環境により、資格条件が認識されるようにして解決される。
【００１０】
本発明による方法は、メッセージ管理環境の使用下で、作成過程中に出力されるメッセージがメッセージ管理環境で集中的に認識され、一元的に評価される利点を有している。この評価は、メッセージ管理環境に格納されると共に再び呼び出し可能である。そのため、所定のメッセージと、当該メッセージに対応する資格との間に堅固なリンクが形成される。ここでの資格“Qualifikation”との概念は、専門用語的な意味で次のように理解されたい。すなわち、資格を与えられたメッセージは、何らかの特定の点で決定的な特徴、詳細には次のような特徴を有している。すなわち認識されたメッセージは、「オープン“offen”」又は「承認“gutgezeichnet”」として認識され、対応する資格が付与されることで正当化される特徴である。
【００１１】
メッセージは、例えばそのメッセージに対する根拠／理由がまだ明らかにできなかったか、又はそのメッセージが最終的にアンクリティカルであることがまだ確立されていなかった場合には、そのメッセージには、“オープン”としての資格が与られるものであろう。それに対してそのメッセージの根拠／理由が認識可能であり、かつ、そのメッセージが全体的にアンクリティカルなものとして評価分類できる場合には、そのメッセージには“承認”としての資格が与えられるものであろう。
【００１２】
特に重要なことは、メッセージ管理環境によって、“承認”としての資格が与えられたメッセージに対して少なくとも資格条件が認識される点にある。通常は当該方法のユーザーは、そのような資格条件をメッセージ管理環境のインターフェースを介して形式的言語で入力する。この資格条件によって、自動化されて、メッセージが引き続き“承認”としてみなすことが可能か否かを繰り返し検査することが可能になる。それにより、制御機器プログラムコードの作成過程若しくは制御機器プログラムコードの中間表現の作成過程に対して、当該作成過程の評価を可能にさせる重要な情報が付加される。
【００１３】
前述した理由から本発明による方法のさらなる改善においては、認識されたメッセージは、前記メッセージ管理環境によって、当該メッセージが既に事前に認識され“承認”としての資格が与えられたものか否かが検査され、“承認”としての資格が既に存在している場合には、前記メッセージ管理環境によって、資格条件がさらに満たされているか否かが検査される。この方法の構成は、全く別なやり方として見ても有利である。なぜなら、メッセージがアンクリティカルなものとしてみなされている、つまり“承認”として認識されることを導く条件は、いずれにせよ条件が満たされているか否かについて繰り返し検査されるからである。つまり一度“承認”として認識されたメッセージは、メッセージ管理環境において、“承認”としての資格が与えられたメッセージとして確定されるのではなく、むしろ、“承認”に導く決定的な基準が依然として満たされているか否かが繰り返し検査されるのである。
【００１４】
例えばグラフィカルなモデリング環境が使用される場合のメッセージでは、グラフィックモデル内で使用される変数が初期化されておらず、つまり初期値を持たない。にもかかわらずこのメッセージは作成過程の開始時点で、変数に対して複数の初期値を有する１つのファイルが常にモデリング環境に読み込まれることが保証されている場合には、“承認”としての資格が与えられる。つまり資格条件は、複数の初期値を有するファイルの有無と、このファイルが問題となる変数に対する値の割り当てを本当に含んでいるか否かを検査することからなる。つまりこのコンピュータ実装方法によれば、“承認”されたメッセージが、当該“承認”に対する条件がもはや与えられないにも係わらず依然として“承認”されたものと見なされるような状況が回避される。
【００１５】
コンピュータ実装方法の利用に対して好適な態様によれば、前記メッセージ管理環境は、前記資格条件が満たされている場合、“承認”としての資格が与えられたメッセージを隠す（“unterdruecken”）。さらに代替的又は付加的に、前記資格条件が満たされていない場合には、前記メッセージは前記メッセージ管理環境によって、“資格が与えられていないもの（unqualified）”として出力される。この方法の好適な拡張は、引き続き“承認”としてみなすべきメッセージを当該方法の利用者に再度知らせない限りは有益である。なぜならそれに係るメッセージは引き続きアンクリティカルなものとして評価されるべきであり、それ故に新たな処理は何も必要ないからである。同じように、資格条件を満たしていないために“承認”としての資格を失っているメッセージを、新たな処理が必要なものとして明らかにすることも有益である。
【００１６】
本発明の別の態様によれば、既に認識され資格が与えられているメッセージの発生は、制御機器プログラムコードの新たな作成ステップのもとでは、メッセージ管理環境によって再び期待される。このことは、制御機器プログラムコード作成のための先行するステップにおいて、どのメッセージが発生して資格を与えられたかをメッセージ管理環境が認識することを意味する。制御機器プログラムコード作成の新たなステップにおいては、記録されたメッセージの発生が新たに認識されたメッセージと照らし合わされる。好適には、前記メッセージ管理環境は、期待され但し新たに認識されていないメッセージを示唆する。この手段により、作成過程が、期待特性も実際に示しているか否かが検査される。特に、前記メッセージ管理環境は、期待されるが但し認識されていないメッセージを積極的に示唆するようにしてもよい。
【００１７】
本発明のさらに別の態様によれば、前記資格条件は、前記第１のデータオブジェクトの少なくとも一部に依存して形式化され、特に形式化された前記資格条件は、前記データオブジェクトの一部にリンクされている。変数の初期値を含むファイルを伴う上記の例では、メッセージ管理環境内へこのファイルへのリンクが格納され、場合によっては当該ファイル内で位置出力を伴う。そのため前記メッセージ管理環境は、総じて、資格条件に基づくデータへのアクセス手段も有している。特に前記メッセージ管理環境は、もはや満たされていない資格条件の場合に、資格条件をもはや満たしていないデータオブジェクトの一部を示す。このことは当該方法の利用者に、制御機器プログラムコードの作成過程の検査を著しく容易にさせる。
【００１８】
本発明のさらに別の態様によれば、メッセージ管理環境に対して資格条件が検査不能な場合にも、資格条件は既に満たされていないものとみなされる。このことは、例えば前記メッセージ管理環境が、例えば持っていなければそのようなアクセスが不可能になるライセンスの欠落のために、リンクされた所定のデータにアクセスできないような場合にも生じ得る。このケースでは、厳密に言えば、資格要件が満たされていないのではなく、むしろ基本的な検証能力が欠如しているのである。
【００１９】
特に好適には、この方法では複数のソフトウエアツールが使用される。そのため前記制御機器プログラムコード又は前記中間表現の作成の際に、少なくとも第１のソフトウエアツールと第２のソフトウエアツールとによって、作成過程のための複数のメッセージが出力され、前記メッセージ管理環境によって、前記複数のソフトウエアツールから出力された複数のメッセージが認識され、もちろん前述したような方法で処理される。それにより、制御機器プログラムコード作成のための過程を、関与する全てのソフトウエアツールに対して統一的な作業環境において出力されたメッセージに関し検査することも可能である。
【００２０】
複数のソフトウエアツールを考慮することによって、予想外の付加的な利益が生まれる。すなわち、第１のソフトウエアツールのメッセージと第２のソフトウエアツールのメッセージとを相互に結合することが可能になる。例えば第２のソフトウエアツールのメッセージに対する資格条件を、第１のソフトウエアツールのメッセージに依存して形式化してもよいし、その逆をしてもよい。そのような依存性を、以下のような例を用いて詳細に説明する。まず、第１のソフトウエアツールは、グラフィカルな関数の記述を高級言語の制御機器プログラムコードに変換するコードジェネレータである。このコードジェネレータは、変数がモデル内で値によって初期化されていないことを認識し、この変数に、ＡＮＳＩ標準に従って値０を割り当てるが、しかしながらそれにもかかわらず、変数が（ユーザーによって）初期化されていなかったことが通知される。次に第２のソフトウエアツールは、静的なコードチェッカであり、このチェッカはコードジェネレータによって作成された高級言語の制御機器プログラムコードを、とりわけ０による除算によって検査する。ユーザー側での変数の初期化の欠如に関するコードジェネレータのメッセージは、資格条件、コードチェッカがこの変数に対する０による除算に関していかなるメッセージも出力しないことにもとづいて、“承認”としての資格を与える。
【００２１】
前記メッセージ管理環境に対して、複数のソフトウエアツールから出力された複数のメッセージを認識する様々な手段が存在する。多くの場合、関与する複数のソフトウエアツールからメッセージが格納されているログファイルが出力され、それによって前記メッセージ管理環境は、当該ログファイルの構文解析によってメッセージを認識し得る。代替的又は付加的に、前記メッセージ管理環境は、関与するソフトウエアツールによって使用可能となるアプリケーションのプログラミングのためのインターフェース（通常はアプリケーションプログラミングインターフェース（ＡＰＩ）とも称する）を利用する。
【００２２】
冒頭に述べた前記課題はさらに前述したメッセージ管理環境のもとで、前記ソフトウエアツールから出力された前記メッセージが前記メッセージ管理環境によって認識可能であり、かつ、前記メッセージ管理環境によって、前記認識されたメッセージに対して“オープン”又は“承認”としての資格が認識可能であり、かつ、最初に“承認”としての資格が与えられたメッセージに対して、前記メッセージ管理環境により、資格条件が認識可能であるように、コンピュータで実現される前記メッセージ管理環境が構成され調整されていることによって解決される。その上さらに、ここで提案された前記メッセージ管理環境は、制御機器プログラムコードを作成する前述の方法を実装するか実装可能である。
【００２３】
具体的には、本発明による制御機器プログラムコードを作成するコンピュータ実装方法と、本発明によるメッセージ管理環境とを構成し得る手段並びに改善し得る手段は多数存在している。それについて一方では、請求項１及び１２に従属している従属項が参照され、他方では、図面と関連した実施態様の以下の説明が参照される。
【図面の簡単な説明】
【００２４】
【図１】複数のメッセージがソフトウエアツールから出力され、メッセージ管理環境によって認識されている、制御機器プログラムコードを作成する方法を示した図
【図２】図１に類似する方法であるが、複数のデータオブジェクトと複数のソフトウエアツールを伴った方法を示した図
【図３】前後に実装されたソフトウエアツールを用いた制御機器プログラムコードのための作成過程を示した図
【図４】自動化された資格条件の検査を伴うメッセージ管理方法を示した図
【図５】リンクされたデータオブジェクトを伴う図４による方法を示した図
【図６】複数のデータオブジェクトに対するバージョン情報とラストチェンジ情報とを用いたメッセージ管理環境を示した図
【図７】メッセージ管理環境のためのグラフィカルなアプリケーションインターフェースを示した図
【実施例】
【００２５】
図１乃至図５には、制御機器プログラムコード２を作成するコンピュータ実装方法１がそれぞれ概略的に示されている。この制御機器プログラムコード２は、少なくとも１つの第１のデータオブジェクト３から第１のソフトウエアツール４を用いて作成される。図１の構成では、データオブジェクト３は、高級言語のプログラムコードであり、このプログラムコードは、コンパイラとして構成されたソフトウエアツール４によって、このケースで実施可能な制御機器プログラムコード２に翻訳される。
【００２６】
前記ソフトウエアツール４は、制御機器プログラムコード２の作成の際に、複数のメッセージＭ１，Ｍｎを出力している。図示の実施例のケースでは、これらのメッセージは、コンパイラの警告とエラー通知である。ソフトウエアツール４から出力されたこれらのメッセージＭ１，Ｍｎは、メッセージ管理環境５によって認識される。このメッセージ管理環境５による前記メッセージＭ１，Ｍｎの認識は、図１による実施例においては前記ソフトウエアツール４によって提供されたアプリケーションプログラミングインターフェース（ＡＰＩ）を介して行われる。
【００２７】
制御機器プログラムコード２を作成する当該の方法１は、メッセージ管理環境５によって、認識されたメッセージＭ１，Ｍｎに対してそれぞれ資格ｑ１，ｑｎも認識される点で優れている。前記資格ｑ１，ｑｎは、少なくとも値“オープン”又は“承認”で占有されていてもよい。通常は、“承認”されたメッセージＭ１，Ｍｎとは、制御機器プログラムコード２の資格に対してアンクリティカルと見なされることを理解されたい。それに対して“オープン”として資格が与えられたメッセージＭ１，Ｍｎは、実際には未評価で資格を与えられていないものとして見なされる。
【００２８】
さらに、メッセージ管理環境５によって、“承認”としての資格が与えられたメッセージＭ１，Ｍｎに対して、資格条件ｐ１，ｐｎが認識される。これらの資格条件ｐ１，ｐｎは形式言語であり、それによってコンピュータ実装方法により自動化されて検査可能となり、その際には該当するメッセージＭ１，Ｍｎが“承認”とみなされるために満たしていなければならない条件が認識される。
【００２９】
図２及び図３には、制御機器プログラムコード２を作成する方法１の２つの拡張された変化例が示されており、ここで提案される方法１は、より複雑なワークフローを実施することが可能である。図２では、第１のデータオブジェクト３ａと、同じくさらなる第２のデータオブジェクト３ｂとが存在している。これらの異なるデータオブジェクト３ａ，３ｂは、２つの異なるソフトウエアツール４ａ，４ｂによって使用される。図示の実施例では、これらのデータオブジェクト３ａ，３ｂは、高級言語のプログラムコードであり、このプログラムコードは、コンパイラとして構成されたソフトウエアツール４ａ，４ｂによって、一緒に実行すべく実施可能な制御機器プログラムコード２に翻訳される。第１のソフトウエアツール４ａもさらなる第２のソフトウエアツール４ｂも、メッセージ管理環境５によって再び認識されるメッセージＭ１，Ｍｎ，Ｍｖを生成する。これらのメッセージＭ１，Ｍｎ，Ｍｖには、資格ｑ１，ｑｎ，ｑｖと、それらに対応付けられた資格条件ｐ１，ｐｎ，ｐｖとが付されている。
【００３０】
図３においても、２つのソフトウエアツール４ａ，４ｂが制御機器プログラムコード２を作成している。但しこのケースでは、前記ソフトウエアツール４ａ，４ｂは、相前後して接続されている。図示の実施例では、データオブジェクト３はグラフィック機能モジュールであり、これはコードジェネレータとして構成されたソフトウエアツール４ａによって最初に高級言語の中間生成物に翻訳され（ここでは明示的には示されていない）、その後この中間表現は、コンパイラとして構成された第２のソフトウエアツール４ｂによって、最終的に制御機器プログラムコード２に翻訳される。コードジェネレータ４ａもコンパイラ４ｂも、再びメッセージＭ１，Ｍｎ，Ｍｖを出力し、これらのメッセージはメッセージ管理環境５によって、対応する資格ｑ１，ｑｎ，ｑｖ及びそれぞれの資格条件ｐ１，ｐｎ，ｐｖと同じように認識される。
【００３１】
図４及び図５には、制御機器プログラムコード２を作成する当該方法１の特に好適な変形例が示されている。前記２つのフローチャートでは、記憶されたメッセージＭｎが、図４及び図５には明示的に示されていないメッセージ管理環境によって、当該メッセージＭｎは、以前に認識されていたか否かに関する検査がなされる（ステップ：Ｍｎが存在するか？“Mn exist ?”）ことが識別できる。メッセージＭｎは、既に認識されていた場合には、さらに当該メッセージＭｎは、以前に“承認”としての資格も与えられていたか否かが検査される（ステップ：「ｑｎ（Ｍｎ）が承認されたか？“qn(Mn) approved?”」）。これもイエスである場合には、メッセージ管理環境によって対応する資格条件ｐｎが依然として満たされているか否かが検査される（ステップ：「ｐｎ（Ｍｎ）が適正か？“pn(Mn) valid?”」）。メッセージＭｎの資格条件ｐｎが依然として満たされ、かつ、それによって前記メッセージＭｎが依然として“承認”としての資格が与えられている場合には、前記メッセージＭｎは、メッセージ管理環境５によって隠される（ステップ：「Ｍｎは表示されない」“Mn don't show”）。一方、前記メッセージＭｎの資格条件ｐｎが満たされていない場合には、前記メッセージ管理環境は、当該メッセージＭｎにもはや資格が与えられていないこと、つまり再び資格が与えられなければならないことを示す。ここには示していない他の実施態様によれば、メッセージＭｎは、前記資格条件ｐｎを満たしていない場合に、単に資格“オープン”を受け取るだけでもよい。
【００３２】
図５に示す方法の経過は、図４に示す方法の経過とは次の点でのみ異なっている。すなわちメッセージ管理環境が、資格条件ｐｎの検査の際に（ステップ：「ｐｎ（Ｍｎ）が適正か？“pn(Mn) valid?”」）、データオブジェクト３にアクセスすることだけが異なっている。このことは、前記資格条件ｐｎがデータオブジェクト３の少なくとも一部に依存して形式化されている場合に可能である、これは本願発明に該当している。
【００３３】
図６によるメッセージ管理環境５のための実施態様では、このメッセージ管理環境５がデータオブジェクト３ａ，３ｂ，３ｃに関するバージョン情報ｖを有していることが示されている。前記データオブジェクト３ａ，３ｂ，３ｃは、ここでは付加的にｄ１，ｄ２，ｄ３とも称する。例えばデータオブジェクトｄ１に関するバージョン情報は、ｖ（ｄ１）と称する。さらにメッセージ管理環境５は、接続された前記データオブジェクト３ａ，３ｂ，３ｃの最終変更時点（Last-Change-Datum；ｌｃ）に関する情報も有している。例えば図中データオブジェクトｄ１の最終変更データｌｃは、ｌｃ（ｄ１）と称する。図６によるメッセージ管理環境５では、資格条件ｐが、様々なデータオブジェクト３ａ，３ｂ，３ｃのバージョン情報ｖと最終変更データｌｃに依存して形式化されている。また資格条件ｐ１，ｐｎ，ｐｖは、他の実施態様において、バージョン情報ｖだけに依存して形式化されてもよいし、最終変更データｌｃのみに依存して形式化されてもよい。
【００３４】
図６によるメッセージ管理環境５の実施例は、次の場合には、資格条件ｐ１，ｐｎを既に満たしていないものとみなす。すなわちデータオブジェクト３ａ，３ｂ，３ｃ若しくはデータオブジェクト３ａ，３ｂ，３ｃの関連する部分（これらに対しては資格条件ｐ１，ｐｎにおいて依存性が生じている）が、資格条件ｐ１，ｐｎが確定された時点でのデータオブジェクト３ａ，３ｂ，３ｃのバージョン情報ｖに対して変更された場合、又は、データオブジェクト３のバージョン情報ｖ若しくは最終変更データｌｃが、メッセージ管理環境５内で認識されたバージョン情報ｖ若しくはメッセージ管理環境５内で認識された最終変更データｌｃに対して変更された場合には、資格条件ｐ１，ｐｎを既に満たしていないものとみなす。資格条件ｐ１，ｐｎを満たしていないことに対するこれらの基準は、非常に不特定のものではあるが、しかしながら前記メッセージＭ１，Ｍｎ，Ｍｖの検査は、もちろん承認された各メッセージＭ１，Ｍｎ，Ｍｖの検査も含めて、制御機器プログラムコード２の作成過程において、基礎となるデータオブジェクトのバージョンジャンプ又は潜在的な変化が識別される場合には新たに行われる。
【００３５】
図７には、前記メッセージ管理環境５の表示面の可能な構成が示されており、この構成を用いて当該メッセージ管理環境５は操作され、制御機器プログラムコードを作成する方法が実施される。
【００３６】
ここでは実際のコード作成実行からのメッセージＭが示されており、これらのメッセージＭは、既に資格が与えられたメッセージＭ（“with Category”）と、資格が与えられていないメッセージ（“without Category”）とに項目分けされている。さらにここではこれらのメッセージＭがそれらの種別に応じてフィルタリングされる可能性（Warning/Advice/Note im Feld“Filter by Category”）も存在する。図示の実施例では、個々に資格が与えられたメッセージＭ（“Existing Message with Category”）や識別子を用いて資格が与えられたメッセージ（“Category assigned by ID”）の個別表示の可能性も存在している。
【００３７】
さらに、既に資格が与えられ、期待されるがまだ出現していないメッセージ（“Expected, non-existing Messages with Category”）と、まだ資格が与えられていないが出現したメッセージＭ（“Existing Messages without Category”）との間の区別や対比の可能性も存在する。
【００３８】
前記表示面の下方部分には、前記メッセージＭが上方のフィールドから例えばマウスクリックによって選択された場合に、それらの詳細（“Details”）が示される。そこには例えば資格（“Category”）、資格に対する根拠、あるいは資格に対する資格条件が処理可能である。またソフトウエアツールに対する詳細が観察されるようにしてもよい。例えば、起点ツール（“Tool”）、グループ、ソースオブジェクト（“optional”）、必要に応じてソースオブジェクトへのナビゲーション情報も備えたメッセージテキストなど（グラフィックモデルのブロック、変数データベース）。
【００３９】
前記２つの変形例「まだ資格が与えられていないが出現したメッセージＭ（“Existing Messages without Category”）」と「既に資格が与えられ、期待されるがまだ出現していないメッセージ（“Expected, non-existing Messages with Category”）」とに対しては、同じＩＤ若しくは同じソースオブジェクトの新たなメッセージでもって古いメッセージを識別する可能性も存在し得る（例えば名称変更のためなど、これはソースオブジェクトのパスの変更を引き起こす可能性がある）。
【００４０】
選択したメッセージに対しては、例えば最後の資格付与の表示、資格付与（ないし初期の資格付与）の変更の表示、オブジェクト単位の変更履歴の表示（変更されたソースオブジェクトの識別子を含む）が存在し得る。
【００４１】
前記資格（“Qualification”）は、特定のメッセージのために（“Apply to current”，<ID>+<Quellobjekt>）又は複数のメッセージのために（“Apply to all”，<ID>）処理を実施することが可能である。
【符号の説明】
【００４２】
１  コンピュータ実装方法
２  制御機器プログラムコード
３  データオブジェクト
４  ソフトウエアツール
５  メッセージ管理環境
【図１】
0006290147.tif 000002
【図２】
0006290147.tif 000003
【図３】
0006290147.tif 000004
【図４】
0006290147.tif 000005
【図５】
0006290147.tif 000006
【図６】
0006290147.tif 000007
【図７】
0006290147.tif 000008