(57)【要約】【課題】グラフィックモデルをプログラムコード及び実行可能制御プログラムへと翻訳するためのオプションの値を粒状に設定でき、それらのオプションに対する値の矛盾のある設定を自動的に回避する、実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法を提供する。【解決手段】異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデル（Ｓj）に関して、グラフィックモデル（Ｓ0）を翻訳するためのオプション（Ｘ）に対する値（ｘj）を設定し、該オプション（Ｘ）に対する値（ｘj）を各サブモデル（Ｓj）に関するプログラムコードのコンピュータ支援による生成時に考慮し、下位の階層レベルにおけるサブモデル（Ｓj）の値（ｘj）が設定されていないオプション（Ｘ）は、上位の階層レベルにおけるサブモデル（Ｓj）の対応するオプション（Ｘ）の値（ｘj）を引き継ぐ。【選択図】図２
2014056579.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの電子計算ユニット（４）を備えている制御システム（３）を制御するための実行可能制御プログラム（２）、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び／又は較正プログラムの少なくとも一部をコンピュータ支援により生成するための方法であって、
前記制御プログラム（２）の機能は少なくとも部分的に、少なくとも一つのグラフィックモデル（Ｓ0）に記述されており、該グラフィックモデル（Ｓ0）は複数の階層レベルにおいて複数のサブモデル（Ｓi）に分類されており、或る階層レベルの一つのサブモデル（Ｓi）を入れ子構造で下位の階層レベルの複数のサブモデル（Ｓj）に分類することができ、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳するためのオプション（Ｘ）に対して値（ｘ）が設定され、該オプション（Ｘ）の値（ｘ）を考慮して、前記グラフィックモデル（Ｓ0）からコンピュータ支援によりプログラムコードが生成され、該プログラムコードが該プログラムコードを用いて前記実行可能制御プログラム（２）に翻訳される方法において、
異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデル（Ｓj）に関して、前記グラフィックモデル（Ｓ0）を翻訳するためのオプション（Ｘ）に対する値（ｘj）を設定し、該オプション（Ｘ）に対する値（ｘj）を各サブモデル（Ｓj）に関するプログラムコードのコンピュータ支援による生成時に考慮し、
前記下位の階層レベルにおけるサブモデル（Ｓj）の値（ｘj）が設定されていないオプション（Ｘ）は、上位の階層レベルにおけるサブモデル（Ｓj）の対応するオプション（Ｘ）の値（ｘj）を引き継ぐことを特徴とする、方法。
【請求項２】
前記下位の階層レベルにおけるオプション（Ｘ）に対して設定されている値（ｘj）は、前記上位の階層レベルにおける対応するオプション（Ｘ）に対して設定されている値（ｘj）よりも優先される、請求項１に記載の方法。
【請求項３】
或る階層レベルにおけるサブモデル（Ｓj）に関するオプション（Ｘ）に対して設定されている値（ｘj）に、当該階層レベルに続く下位の階層レベルの個数を表し、
前記下位の階層レベルにおいては、該当するオプション（Ｘ）に対して設定された値（ｘj）が優先され、特に、下位の階層レベルの前記個数に応じて、前記該当するオプション（Ｘ）に対する前記値（ｘ）はやはり上位の階層レベルの値（ｘ）を取る、請求項１又は２に記載の方法。
【請求項４】
或る階層レベルにおけるサブモデル（Ｓj）に関するオプション（Ｘ）に対して設定されている値（ｘj）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関するオプションに対して設定されている値（ｘj）を不変の値として特徴付け（不変のオプション）、それにより、該オプション（Ｘ）に対する値（ｘj）は下位の階層レベルにおいてはもはや変更される可能性はなく、特に、下位の階層レベルにおいて対応するオプション（Ｘ）に対して別の値（ｘj）が規定される又は規定されている場合であっても、もはや変更される可能性はない、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳するためのデフォルトオプション（ＸD）を決定し、且つ、デフォルト値（ｘD）を設定し、特に、前記グラフィックモデル（Ｓ0）における対応するオプション（Ｘ）の値（ｘ）が決定されていない場合には、前記デフォルト値（ｘD）を最上位の階層レベルにおけるモデル（Ｓ0）の対応するオプション（Ｘ）に対する設定値として使用する、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
或る階層レベルにおけるサブモデル（Ｓj）に関する少なくとも一つのオプション（Ｘ）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関する少なくとも一つのオプション（Ｘ）、及び／又は、少なくとも一つのデフォルトオプション（Ｘj）を、更に下位の階層レベルにおいて値（ｘ）が設けられるべきオプション（Ｘ）としてマーキングし、
所属のオプション（Ｘ）に、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳する時点において、下位の階層レベルでは値（ｘ）が設定されていない場合にはエラー通知／警告を出力する、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
或る階層レベルにおけるサブモデル（Ｓj）に関する少なくとも一つのオプション（Ｘ）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関する少なくとも一つのオプション（Ｘ）、及び／又は、少なくとも一つのデフォルトオプションを一貫性のあるオプション（ＸK）としてマーキングし、
遅くとも、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳する時点において、前記一貫性のあるオプション（ＸK）に対する値（ｘ）は、関連する入れ子構造のサブモデル（Ｓj）の全ての階層レベルにおいて一貫性のあるように設定されているか否かを検査し、特に、非一貫性が識別されると少なくとも一つの通知、有利にはエラー通知／警告通知を出力する、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
非一貫性が識別されると、前記グラフィックモデル（Ｓ0）のプログラムコードへの翻訳を中断するか、又は、前記非一貫性を含むモデル（Ｓ0）乃至サブモデル（Ｓj）を無効なプログラムコードに翻訳する、請求項７に記載の方法。
【請求項９】
一貫性のあるオプション（ＸK）に一貫性のない値が設定されていることが識別されると、最上位の階層レベルにおいて一貫性のあるオプション（ＸK）に対して設定された値（ｘ）を、下位の階層レベルの入れ子構造のサブモデル（Ｓj）に関する設定値（ｘ）としても自動的に設定する、請求項７に記載の方法。
【請求項１０】
少なくとも一つのオプション（Ｘ）の名前及び値（ｘ）を付加的に、該オプション（Ｘ）の値（ｘ）の起源に関する情報と共にオプション情報としてドキュメンテーションし、特に、オプション情報を前記プログラムコードの対応する部分において生成し、
起源情報として有利には、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプションの値が局所的に設定されているか否か、又は、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプション（Ｘ）の値（ｘ）が上位の階層レベルのサブモデル（Ｓj）から引き継がれているか否か、又は、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプション（Ｘ）の値（ｘ）はデフォルト設定によって設定されているか否か、を表す、請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
ドキュメンテーションされたオプション情報を、前記グラフィックモデル（Ｓ0）のプログラムコードへの翻訳とは別個に生成し、特に、ドキュメンテーションされ生成されたオプション情報をエラーについて検査し、特に前記一貫性のあるオプション（ＸK）を一貫性について検査する、請求項１０に記載の方法。
【請求項１２】
前記オプション情報をプログラムコードにおいて生成し、該オプション情報を付加的な翻訳指示文によって、翻訳機を用いて、前記プログラムコードの前記実行可能制御プログラム（２）への翻訳時に評価し、それと共にオプションを検査する、特に一貫性のあるオプション（ＸK）において設定された値（ｘ）の一貫性に関して検査する、請求項１０に記載の方法。
【請求項１３】
少なくとも一つのオプション（Ｘ）が、該オプション（Ｘ）の値（ｘ）、また必要に応じて該オプション（Ｘ）のクラス分け（不変のオプション、デフォルトオプション、一貫性のあるオプション）を前記グラフィックモデル（Ｓ0）と共に少なくとも一つのモデルファイルに記憶する、及び／又は、
少なくとも一つのオプション（Ｘ）が、該オプション（Ｘ）の値（ｘ）、また必要に応じて該オプション（Ｘ）のクラス分け（不変のオプション、デフォルトオプション、一貫性のあるオプション）を別個のデータバンクに記憶し、該データバンクにおいて各サブモデル（Ｓj）と関連付ける、請求項１乃至１２のいずれか一項に記載の方法。
【請求項１４】
少なくとも一つのオプション（Ｘ）が、特に、前記制御システムのメモリ領域及び／又は計算ユニットを考慮して、生成されたプログラムコードにおけるメモリレイアウトに対する命令文及び／又は前記制御プログラム（２）のメモリレイアウトに対する命令文に影響を及ぼす、請求項１乃至１３のいずれか一項に記載の方法。
【請求項１５】
少なくとも一つのオプション（Ｘ）が生成されたプログラムコードを前記制御システム（３）の計算ユニット、特に該制御システムのビット幅に適合させる、請求項１乃至１４のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも一つの電子計算ユニットを備えている制御システムを制御するための実行可能制御プログラム、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び／又は較正プログラムの少なくとも一部をコンピュータ支援により生成するための方法に関し、制御プログラムの機能は少なくとも部分的に、少なくとも一つのグラフィックモデルに記述されており、グラフィックモデルは複数の階層レベルにおいて複数のサブモデルに分類されており、或る階層レベルの一つのサブモデルを入れ子構造で下位の階層レベルの複数のサブモデルに分類することができ、グラフィックモデルをプログラムコードに翻訳するためのオプションに対して値が設定され、そのオプションの値を考慮して、グラフィックモデルからコンピュータ支援によりプログラムコードが生成され、そのプログラムコードを用いて、プログラムコードが実行可能制御プログラムに翻訳される。
【背景技術】
【０００２】
その種の方法は、大抵はリアルタイム処理能力を有している制御システムのための確実で快適な自動コード生成（例えばTargetLinkを用いるシリアルコード生成）を実現するので、数年来、制御システムの発展と共に広く普及し、また定着した。計算ユニットとして（制御システムの複雑度に応じて、部分的又は完全にネットワーク化された一つ又は複数の）制御装置が使用されることが多い。制御装置は通常の場合、相応のＩ／Ｏインタフェースを有しており、それにより、制御すべき物理技術的なシステムの状態量を測定技術的に検出することができ、また所定の調整量を出力することによって物理技術的なシステムを制御することができる。
【０００３】
その種の方法の利点は、抽象的なレベルにおいて、グラフィックモデルに基づき、制御プログラムの所望の機能を例えばブロック回路図の形でモデリングすることができる。ブロック回路図は、それ自体は複雑な算術的及び構造的な関係を非常に簡単に表すことができる。Ｉ／Ｏ機能自体をその種のグラフィックモデルの枠内で表し、モデリングすることもできる。基本的には、上述の方法を使用することによって、電子計算ユニットの非常に特別なハードウェアのためにプログラムコードを生成し、そのプログラムコードを実行可能制御プログラムに翻訳、即ちコンパイルし、その特別なターゲットハードウェアにおいて実行及びテストすることができる。制御の構想のプログラムコードへの、従って最終的には制御プログラムへのエラーが生じやすい手動の翻訳は行なわれないので、それによって、今日の一般的な短い開発サイクルを例えばラピッドコントロールプロトタイピング（Rapid-Control-Prototyping）又はハードウェアインザループシミュレーション（Hardware-in-the-Loop-Simulationen）の枠内で実現することができている。
【０００４】
グラフィックモデル、特にブロック回路図の形のグラフィックモデルは、一つの機能を種々のモデル部分に分類することに特に適している。或る階層レベル内若しくは或る階層レベル上の複数のモデル部分は、その階層レベルにおいて全体のグラフィックモデルに補完される。それらのモデル部分は、多くのグラフィックモデルが複雑であることにのみ起因して、異なる開発者又は開発グループによって処理される。車両の場合、モデル部分は例えば駆動ユニット、パワートレーン及び車両構造のモデルであり、それらの各モデル部分を別のモデル部分、即ちサブモデルに分割することができる。
【０００５】
一般的には、グラフィックモデルを階層レベル内若しくは階層レベル上で複数のモデル部分に分類できるだけではない。即ち、グラフィックモデルを「水平方向において」相互的に補完する複数のモデル部分に分類できるだけではない。むしろ、階層レベルのグラフィックモデル若しくはその階層レベルにおける複数のサブモデルをそれぞれ複数のサブモデルに分類することができるか、若しくは異なる階層レベルの複数のサブモデルに入れ子構造にすることができ、その場合、下位の階層レベルにおけるサブモデルは、一つ上の階層レベルの対応するサブモデルの機能を異なる詳細レベルでのみ表していることが多い。従って、異なる階層レベルにおいて入れ子構造にされたグラフィックモデルのサブモデルは「垂直方向に」拡大され、同一の機能が異なる詳細レベルで表される。異なる階層レベルのサブモデルも、異なる開発者がワークシェアリングで同時に処理することに適している。
【０００６】
グラフィックモデルの種々の部分間若しくは入れ子構造のサブモデル間には、グラフィックモデルのそれらの部分若しくはサブモデルからのプログラムコードの生成に関連し、また、プログラムコードを実行可能制御プログラムに更に翻訳する際に考慮しなければならない依存関係が存在することは容易に理解できる。
【０００７】
特許文献１からは、グラフィックモデルの算術的で抽象的な部分を、ターゲットハードウェアのハードウェアに依存する調整に依存せずに簡単なやり方で構成することができる、実行可能制御プログラムを生成するための方法が公知である。
【０００８】
特許文献２からは、制御システムを制御するための実行可能制御プログラムを生成するための別の方法が公知であり、この方法では、データエレメント収集部におけるデータエレメントと、グラフィックモデルの複数の部分のデータエレメントとの間の適切な関連付けによってプログラムコードの矛盾のない生成を達成している。
【０００９】
下記において説明する本発明は、サブモデル間の依存性に基づいたグラフィックモデルのプログラムコードへの翻訳は問題になる可能性があるということ、特に、グラフィックモデルをプログラムコードに翻訳するための複数のオプションに対して値が設定され、それらの設定値がプログラムコードの実行可能制御プログラムへの翻訳に影響を及ぼし、またそれらの設定値が例えば入れ子構造にされた複数のサブモデルにおいて異なっている場合には問題になる可能性があるということを基礎としている。その状況においては、場合によっては多義的なオプション設定（例えばコンパイル指示文）をどのようにして解消することができるか、論理的に矛盾する設定をどのようにして回避することができるか、また、起こり得る矛盾をどのようにして解消することができるかという問題が生じる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】EP 1 522 910 A1
【特許文献２】EP 2 330 469 A1
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って本発明の課題は、グラフィックモデルをプログラムコード及び実行可能制御プログラムへと翻訳するためのオプションの値を粒状に設定でき、それらのオプションに対する値の矛盾のある設定を自動的に回避する、実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法を提供することである。
【課題を解決するための手段】
【００１２】
上記に挙げた課題を解決する本発明による方法は、第一に、また実質的に、グラフィックモデルを翻訳するためのオプションの値が、異なる階層レベルにおいて入れ子構造にされている少なくとも二つのサブモデルに対して設定され、そのオプションの値が、各サブモデルに関するプログラムコードのコンピュータ支援による生成の際に考慮され、下位の階層レベルにあるサブモデルにおいて値が設定されていないオプションは、上位の階層レベルにあるサブモデルの対応するオプションの値を引き継ぐことを特徴としている。
【００１３】
即ち、本発明による方法は、グラフィックモデルを翻訳するためのオプションを、異なる階層レベルにおいて入れ子構造にされている少なくとも二つのサブモデルに対して設定することができ、更に本発明によれば、下位の階層レベルのサブモデルにおけるプログラム生成及びプログラム翻訳のためのオプションに対して設定されていない値は、そのオプションに関する相応の値設定によって、上位の階層レベルのサブモデルから引き継がれる。そのようにして、下位の階層レベルにあるサブモデルについて、上位の階層レベルにあるサブモデルにおけるオプションと同じオプション若しくはオプションに対する値がグラフィックモデルの翻訳のために使用されることが達成され、これによって、相応の値が下位の階層レベルのサブモデルに関するオプションに対して（局所的に）設定されていない場合でも必ず画一的な処理が保証されている。その種のオプションの例は、翻訳機（コンパイラ）に対する最適化指示文（ランタイムを高速にするか、又は所要メモリを少なくするためのコードの最適化）、制御システムのビット幅に関する値の設定、メモリレイアウトに関する設定、セキュリティに関連するオプションの設定（最適化は許容されるか又は許容されないか）等である。
【００１４】
実行可能制御プログラムの少なくとも一部を生成するためのコンピュータ支援による方法の一つの有利な実施の形態によれば、下位の階層レベルにあるオプションに対して設定された値は、上位の階層レベルにある対応するオプションに対して設定された値よりも優先される。ここでもまた、階層レベルは入れ子構造のサブモデルを有している。下位の階層レベルにあるオプションに対して値が設定されている場合には、この値は上位の階層レベルにおいて設定されたオプションをカバーするので、それによりその種の局所的に設定された値は、上位の階層レベルにある同一のオプションに対して設定された値よりも優先される。この特性により、例えば、入れ子構造のサブモデルにおいて複数の最適化オプションを種々にセットすることができ、それによってオプションに対する値の設定における所望の粒度を達成することができる。
【００１５】
本方法の更に有利な実施の形態においては、或る階層レベルにあるサブモデルに関するオプションに対して設定される値に関して、下位の階層レベルの個数を示すことができ、またその個数において該当するオプションに対して設定されている値は優先されることが示される。この措置によって、有用に、オプションに対する値設定の影響範囲を調整することができる。特に、下位の階層レベルの選択されたこの個数に応じて、該当するオプションの値はやはり上位の階層レベルにおいてそのオプションに対して設定された値を取る。設定に関して下位の階層レベルの個数として値０が選択されると、このことは、該当するオプション対する値は、値が設定されたその一つの階層レベルにおいてのみ有効であることを意味している。この有利な特性によれば、既にその場合に、入れ子構造のサブモデルの直ぐ下の階層レベルにおける値が、該当するオプションに対して、入れ子構造のサブモデルの上位の階層レベルにおいてセットされた値をやはり有している。直ぐ下の階層レベルにおいても、該当するオプションに対する値の局所的な設定がやはり可能である。
【００１６】
別の有利な実施の形態によれば、本発明による方法では、或る階層レベルのサブモデルについてのオプションに対して設定された値及び／又は最上位の階層レベルにあるモデルについてのオプションに対して設定された値が不変の値として特徴付けられ、即ち不変のオプションとして特徴付けられ、それにより、そのオプションに対する値は下位の階層レベルにおいてももはや変更されず、特に、下位の階層レベルにおいて対応するオプションに対して別の値が設定される場合であっても変更されない。このことは例えば、階層レベルを包括的に画一的に設定しなければならないオプションにとって有意義である。制御システムが例えば、単一の既知のビット幅を有する単一の電子計算ユニットのみを備えている場合には、本発明による構成は例えば、全ての階層レベルにおける全てのサブモデルに関して生成すべきコードのビット幅の設定を画一的に実現する。
【００１７】
本方法の別の有利な発展形態によれば、グラフィックモデルをプログラムコードに翻訳するためのデフォルトオプションが決定され、特に、グラフィックモデルにおける対応するオプションの値が決定されていない場合には、最上位の階層レベルにおけるモデルの対応するオプションに対する設定値として使用されるデフォルト値が設定される。この措置によって、必要のオプションが全く考慮されない事態を阻止することができ、また同様に、それらのオプションに対して値が設定されない状態が継続され、後に、プログラムコードを問題無く生成することが阻止されるか、又はプログラムコードを制御プログラムへと問題無く翻訳することが阻止されることを回避することができる。
【００１８】
他方において、本方法のユーザによって、オプションに対する値の設定を強制するために、本方法の有利な実施の形態においては、或る階層レベルにあるサブモデルについての少なくとも一つのオプション、及び／又は、最上位の階層レベルにあるモデルについての少なくとも一つのオプション、及び／又は、少なくとも一つのデフォルトオプションが下位の階層レベルにおいて値が設定されているオプションとしてマーキングされる。特に、所属のオプションがグラフィックモデルのプログラムコードへの翻訳の時点に下位の階層レベルでは値が設定されていない場合にはエラー通知又は警告が出力される。エラー通知の際には翻訳プロセスが中断される。警告が出力される場合には、グラフィックモデルの翻訳は中断されない。しかしながらユーザは、特徴付けられたオプションに対する値の設定が行なわれなかったことを認識する。
【００１９】
別の実施の形態においては、或る階層レベルにおけるサブモデルについての少なくとも一つのオプション、及び／又は、最上位の階層レベルにおけるモデルについての少なくとも一つのオプション、及び／又は、少なくとも一つのデフォルトオプションが一貫性のあるオプションとしてマーキングされる。このことは、遅くともグラフィックモデルをプログラムコードに翻訳する時点において、その一貫性のあるオプションに対する値が全ての階層レベルにおいて一貫性があるように設定されているか否かが検査されることを意味しており、特に、一貫性がないことが識別されると少なくとも一つの通知、有利にはエラー通知又は警告通知が出力されることを意味している。オプションを一貫性のあるオプションとしてマーキングし、続けて、その一貫性のあるオプションに対する値の一貫性について検査できることによって、強制的な一貫性条件が維持されることを保証することができる。一貫性のあるオプションの例は、ターゲットシステムのビット幅であり、このビット幅は少なくとも計算ユニット毎に、（その計算ユニットに対応付けられており、従ってその計算ユニットにおいて後に実行される）他の全てのサブモデルに対しても一貫性があるように設定されなければならない（これは本発明においては本質的なケースであることを意味している）。
【００２０】
本方法の第１の有利な変形の形態によれば、非一貫性が識別されると、グラフィックモデルのプログラムコードへの翻訳が中断されるか、又は、非一貫性を含むモデル乃至サブモデルが無効なプログラムコードに翻訳される。後者の場合には、グラフィックモデルのプログラムコードへの翻訳は確かに中断されないが、しかしながら、プログラムコードにおいては、検出された非一貫性についての指示が相応の個所において生成され、この示唆はプログラムコードの実行可能制御プログラムへの翻訳を防止する。それと同時に、既存の無効のプログラムコードが本方法のユーザにプログラムコードの検査を実現させ、このことは開発にとって有利である。
【００２１】
本方法の別の択一的な変形の形態では、一貫性のあるオプションに一貫性のない値が設定されていることが識別されると、最上位の階層レベルにおいて一貫性のあるオプションに対して設定された値が、下位の階層レベルの入れ子構造のサブモデルに関する設定値としても自動的に設定される。この戦略によって、一貫性のあるオプションに値を一貫性があるように設定することを強制でき、それによりいずれの場合にも好適なプログラムコードが実現される。
【００２２】
本発明による方法の一つの発展形態では総じて、オプションドキュメンテーションが行なわれる。このオプションドキュメンテーションでは、少なくとも一つのオプションの名前及び値が付加的に、そのオプションの結果として生じた値の起源及び／又は由来に関する情報と共に、全体的に、即ちグローバルに、及び／又は、階層レベル毎にドキュメンテーションされ、このことはコードの生成後の追従性を高め、従って所定のオプションに所定の値が設定されている。特に、起源情報がプログラムコードの対応する部分に生成され、起源情報として有利には、該当するサブモデルにおけるオプション及び／又はオプションの値が局所的に設定されているか否か、又は、該当するサブモデルにおけるオプション及び／又はオプションの値が上位の階層レベルのサブモデルによって引き継がれているか否か、又は、該当するサブモデルにおけるオプション及び／又はオプションの値が例えばデフォルト設定によって決定されているか否かが表される。起源情報のドキュメンテーションを全く異なるように実現することもできる。オプション情報、またそのオプション情報と一緒に起源情報は、例えば生成されるプログラムコードの少なくとも一部及び／又は少なくとも一つのファイルにおいて、コメント及び／又はコード定数及び／又はプリプロセッサマクロとしてドキュメンテーションされて格納される、及び／又は、別個に少なくとも一つの別のデータメモリ、特にファイル又はデータバンクにおいてドキュメンテーションされて格納される。
【００２３】
オプション情報の択一的なドキュメンテーションによれば、オプション情報（そのオプション情報と一緒に起源情報）が別個に、グラフィックモデルの翻訳によって生成され、特に生成されドキュメンテーションされたオプション情報がエラーについて検査され、有利には一貫性のあるオプション、若しくは一貫性のあるオプションに対して設定された値が互換性について相互に検査される。オプション情報が別個にグラフィックモデルの翻訳によって生成される場合には、このことは、オプション情報だけをドキュメンテーションすることもできることを意味しており、その場合には、グラフィックモデルのプログラムコードへの翻訳も行なう必要はない。このことは、特に、ドキュメンテーションされたオプション情報を続けて検査する際に、不適切なオプション又は不適切な値が設定されたオプションでは、グラフィックモデルのプログラムコードへの翻訳又はプログラムコードの実行可能制御プログラムへの翻訳が場合によっては失敗する、若しくは実施されないか否かを非常に迅速に確認することができるという利点を有している。複雑なグラフィックモデルのプログラムコードへの翻訳は、基礎となるグラフィックモデルの大きさに依存して、十分に数時間を要する可能性があり、それにより、ドキュメンテーションされたオプション情報の検査に基づく、本発明により提案される妥当性検査によって、翻訳プロセスが場合によっては実施されないことを事前に早期に発見できる。
【００２４】
択一的な変形の形態では、オプション情報が（またそのオプション情報と一緒に起源情報も）プログラムコード自体において生成される。その際に、オプション情報は適切な翻訳指示文によって、翻訳機によるプログラムコードの実行可能制御プログラムへの翻訳時に評価され、特に一貫性のあるオプションにおいて設定されている値の一貫性に関して評価される。
【００２５】
以下では、翻訳機（ここではＣコンパイラ）によってオプション情報の翻訳をどのように実行することができるかを一例に基づき説明する。この例では、グラフィックモデル「higher」がサブモデル「lower1」及び「lower2」を含んでいる。オプション「BitWidth」が設けられており、このオプションはターゲットプロセッサ、即ち制御システムのビット幅を表している。サブモデル「lower1」に関してヘッダファイル「lower1.h」が生成され、このヘッダファイルは#define指示文の範囲においてオプション情報を含んでいる。これによって、どのオプション（BitWidth）がどの値（３２）に設定されているかがドキュメンテーションされており、更には、項「LOWER1」が先頭に付加されることによって起源情報も格納されている。ファイル「lower2.h」の生成に使用されるサブモデル「lower2」に関しても同様に実施される。二つのサブモデルに関して、オプション「BitWidth」に対して異なる値がセットされていることが見て取れる。全体のモデル「higher」によって行なわれるヘッダファイル「higher.h」の生成は、コンパイラによって評価することができる翻訳指示文を含んでいる。即ちコンパイラによる評価は、オプション「BitWidth」のドキュメンテーションされた値は一致しているかについて検査され、また、一致していない場合にはエラー通知が出力されることによって行なわれる。
【００２６】
2014056579.tif 000003
【００２７】
従ってここでは、階層的に最上位のレベルにあるグラフィックモデルに関して、階層的に下位にあるサブモデルに関するオプションが、プログラムコードの実行可能制御プログラムへの翻訳時に互換性及び一貫性について検査することができる指示文を含むプログラムコードが生成されている。
【００２８】
オプション及びそのオプションに対して設定された値、また必要に応じてそのクラス分け（不変のオプション、デフォルトオプション及び／又は一貫性のあるオプションとしてのマーキング）を種々の位置に格納することができる。第１の有利な変形の形態によれば、少なくとも一つのオプションがその値、また必要に応じてそのクラス分けがグラフィックモデルと共に少なくとも一つのモデルファイルに記憶され、それによりコード生成及び翻訳に関連する情報がグラフィックモデル自体に結合されている。つまり、その場合には、オプションは直接的にその起源位置と結合されている。代替的な実施の形態においては、少なくとも一つのオプション、その値、また必要に応じてそのクラス分けが別個のデータバンク又はファイルに格納され、そこにおいて各サブモデルと関連付けられるので、この参照付けに基づき、グラフィックモデルにおける起源位置への対応付けが存在している。
【００２９】
上記の課題は、上述の方法が実施されているコンピュータ支援による開発環境によっても解決される。即ち、開発環境は、少なくとも一つの電子計算ユニットを備えている制御システムを制御するための実行可能制御プログラム、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び／又は較正プログラムをコンピュータ支援により生成するために使用される。ここで制御プログラムの機能は少なくとも部分的に、少なくとも一つのグラフィックモデルに記述されている。グラフィックモデルはサブモデルに分類されており、更には、或る階層レベルのサブモデルはそれよりも下位の階層レベルのサブモデルに入れ子構造で分類することができる。開発環境自体は、グラフィックモデルの処理に必ずしも適している必要はないが、しかしながら開発環境はいずれの場合にも、グラフィックモデルに関する情報を受け取ることができなければならない。開発環境によって、グラフィックモデルをプログラムコードに翻訳するためのオプションに対して値を設定することができる。開発環境は続けて、オプションの値を考慮して、グラフィックモデルからプログラムコードを生成し、プログラムコードは続けて開発環境によって、そのプログラムコードを用いて実行可能制御プログラムに翻訳される。それ以降、制御プログラム自体を制御システムにおいて実行することができる。本発明による開発環境によって、異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデルに関して、グラフィックモデルを翻訳するためのオプションに対する値を設定することができ、そのオプションに対する値は各サブモデルに関するプログラムコードを生成する際に開発環境によって考慮される。開発環境は、下位の階層レベルにあるサブモデルの値が設定されていないオプションを識別し、そのオプションに対して、上位の階層レベルにおけるサブモデルの対応するオプションの値を自動的に設定し、それによって値の設定されていないオプションを自動的に補完することが実現される。従って開発環境は、上記において説明した別の方法ステップも開発環境によって自動的に実施することができるように設計されており、その場合、開発環境は場合によっては必要とされるユーザ入力も実現する。
【００３０】
詳細には、実行可能制御プログラムの少なくとも一部を生成するための本発明による方法を構成及び発展させるための多数の実現手段が存在する。これに関して、一方では請求項１に従属する請求項を、また他方では図面と関連させて記述する以下の実施例の説明を参照されたい。
【図面の簡単な説明】
【００３１】
【図１】制御プログラムの少なくとも一部を生成するための方法を実施するための複数のコンポーネントとその作用関係を示す。
【図２】実行可能制御プログラムを生成するための本発明による方法の第１の実施の形態を示す。
【図３】実行可能制御プログラムを生成するための本発明による方法の別の実施の形態を示す。
【図４】本発明による方法における不変のオプションの使用を示す。
【図５】本発明による方法におけるデフォルトオプションの使用を示す。
【図６】本発明による方法の範囲において値の設定が強制されるオプションの使用を示す。
【図７】本発明による方法における一貫性のあるオプションの使用を示す。
【図８】本発明による方法の範囲において一貫性のあるオプションの使用に関する別の実施例を示す。
【図９】オプションの格納及び本発明による方法を使用するためのオプションの値の例を示す。
【発明を実施するための形態】
【００３２】
図１には、本発明による方法の理解に必要とされる種々の構成要素が示されている。本発明による方法は開発環境１によってコンピュータ支援のもとで実施され、この方法の実施により、少なくとも一つの電子計算ユニット４を備えている制御システム３の制御に使用される実行可能制御プログラム２の少なくとも一部が得られる。ここで制御システム３はＩ／Ｏインタフェースを備えている制御装置であり、このＩ／Ｏインタフェースを介して制御システム３は物理的なプロセス５と相互作用する。制御システム３は、所期のようにプロセス５に作用を及ぼすために、制御信号の出力によってプロセス５に作用を及ぼし、またプロセス５の状態量を測定技術的に検出することによってプロセス５に関する情報を受け取る。
【００３３】
制御プログラム２の機能は少なくとも部分的に少なくとも一つのグラフィックモデルＳ0に記述される。図示されている実施例においては、グラフィックモデルＳ0は通常の信号フローが示されているブロック回路図である。四角形／三角形／円として表されている伝達要素は信号の算術的な演算を実施する。グラフィックモデルＳ0はサブモデルＳ1，Ｓ2，Ｓ3に分類され、それらは総称的にサブモデルＳiとしても表される。サブモデルＳ1はこの実施例において最上位の階層レベルに位置しており、入れ子構造的に下位の階層レベルのサブモデルＳ11，Ｓ12を有している。下位の階層レベルのサブモデルのその種の分類を、更に下位の階層レベルのサブモデルを用いて再帰的に更に実施することができる。このことは図１において、サブモデルＳ11に関してサブモデルＳ111に基づき示唆されている。サブモデルをこのように理解する場合、グラフィックモデルＳ0も一つのサブモデル、即ち、最上位の階層レベルにあるサブモデルある。
【００３４】
サブモデルＳ2，Ｓ3はサブモデルＳ1と同じ階層レベルにある。それらのサブモデルＳ2，Ｓ3の階層的な更なる分類は図１において明示的に示していない。グラフィックモデルＳ0は最上位の階層レベルにある。グラフィックモデルＳ0はプログラムコードに翻訳される。プログラムコードはここでは詳細に説明しない。プログラムコード自体は続いて実行可能制御プログラム２に翻訳される。ここでは、グラフィックモデルＳ0からＣプログラムコードが生成され、このＣプログラムコードがＣコンパイラによって制御プログラム２に翻訳される。
【００３５】
翻訳プロセスの前に、グラフィックモデルＳ0をプログラムコードに翻訳するためのオプションＸに対して値ｘが設定される。図示されている実施例において、オプションＸが一つ又は複数の大文字Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆで表され、またオプションＸの値ｘは相応に一つ又は複数の小文字ａ，ｂ，ｃ，ｄ，ｅ，ｆで表される。オプションＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの値ａ，ｂ，ｃ，ｄ，ｅ，ｆを考慮して、モデルＳ0からコンピュータ支援によりプログラムコードが生成され、またそのプログラムコードを用いて実行可能制御プログラム２への翻訳が行なわれる。つまり、プログラムコードがそのプログラムコードを「用いて」実行可能制御プログラムに翻訳される場合、これは、専らグラフィックモデルＳ0を基礎とするプログラムコードだけを用いて制御プログラム２が生成されなければならないのではなく、むしろ、制御プログラムの機能を表すために他の情報、例えば、制御プログラムに流し込むこともできる、他のソースから提供されたプログラムコードの形の情報も使用されることを顧慮する。
【００３６】
図２は、実行可能制御プログラム２の少なくとも一部をコンピュータ支援により生成するための本発明による方法のオペレーションが示されている。本方法によれば、グラフィックモデルＳ0の翻訳のためのオプションＡ，Ｂ，．．．（以下同様）に対する値ｘj（以下ではａ0，ｂ0，．．．，ａ1，ｂ1，．．．（以下同様）で表される）を異なる階層レベルで入れ子構造になっている少なくとも二つのサブモデルＳj（この実施例では入れ子構造のサブモデルＳ0，Ｓ1）に関して設定することができる。オプションＡ，Ｂ，．．．（以下同様）に対する値ａ0，ｂ0，．．．，ａ1，ｂ1，．．．（以下同様）は各サブモデルＳ0，Ｓ1に関するプログラムコードをコンピュータ支援により生成する際に考慮される。
【００３７】
サブモデルＳ1のオプションＸ（図２による例においてこれはオプションＢ，Ｃ及びＦに該当する）に対して下位の階層レベルでは値ｘが設定されていない場合には、下位の階層レベルにおけるそれらのオプション（ここではＢ，Ｃ及びＦ）に対して、上位の階層レベルのサブモデルＳ0の対応するオプションの値ｘが設定される。即ち、上位の階層レベルの対応するオプション値が下位の階層レベルにおいて引き継がれる。図示されている例においては、サブモデルＳ1に関して値ｂ0，ｃ0及びｆ0がサブモデルＳ0から引き継がれる。異なる階層レベルにおいて入れ子構造になっているサブモデルに関して異なるオプション値を設定できることによって、グラフィックモデル乃至グラフィックモデルのサブモデルを翻訳するためにオプションを粒状に、従って状況に応じて設定することができる。下位の階層レベルにおいて値が設定されていないオプションに対して値は設定されずに、その代わりに上位の階層レベルから値が引き継がれるという措置によって、画一的な特性が達成され、それと同時にエラーを巧妙に回避することができる。
【００３８】
図３には、コンピュータ支援により自動的に実施される、実行可能制御プログラムを生成するための前述の方法の更に発展された二つの特性が示されている。前述の例と同様に、ここでもまたオプションＡ，．．．，Ｆが使用され、またそれらのオプションＡ，．．．，Ｆに値ａ，．．．，ｆを設定することができる。最上位の階層レベルにあるモデルＳ0においては、オプションＣを除く他の全てのオプションＡ，Ｂ，Ｄ，Ｅ，Ｆに対して値ａ0，ｂ0，ｄ0，ｅ0，ｆ0が設定されている。後続の下位の階層レベルのサブモデルＳ1，Ｓ11，Ｓ111はそれぞれ二つの行で表されている。上の行は、サブモデルに対して、また個々のオプションに対して現在どの値が設定されているかをそれぞれ表しており、下の行は、本発明による方法の規則性を適用した後（それぞれ下に向けられた矢印によって示唆されている）に値が必要に応じて変更されていることを表している。
【００３９】
先ずオプションＢについてのみ考察する。最上位の階層レベルにおけるグラフィックモデルＳ0に関して、オプションＢに対しては値ｂ0が設定されている。直ぐ下の階層レベルにおけるサブモデルＳ1に関して、オプションＢに対しては値ｂ1が設定されている。入れ子構造のサブモデルＳ0，Ｓ1に関して異なる値ｂ0，ｂ1が設定されているこのケースでは、本発明により実現される方法によって、下位の階層レベルＳ1ではオプションＢに対して設定された値ｂ1が維持される。即ち、値ｂ1は下位の階層レベルＳ1では、上位の階層レベルにあるモデルＳ0においてオプションＢに対して設定された値ｂ0よりも優先される。同じ特性が最下位の階層レベルにあるサブモデルＳ111においても見て取れる。この最下位の階層レベルでは、オプションＢに対して設定された値ｂ111は直ぐ上の階層レベルにあるサブモデルＳ11に関するオプションＢに対して設定された値ｂ1よりも優先され、その結果、サブモデルＳ111に関しては値ｂ111が維持される。サブモデルＳ111に関するオプションＢに対して値が設定されていなかった場合、図２に基づき説明した方法の実施後には、サブモデルＳ11に関して有効な値ｂ1がサブモデルＳ111に関しても引き継がれなければならない。
【００４０】
図３からは、実行可能制御プログラム２を生成するための方法の更に特別な特性が読み取れる。図示されている方法の変形の形態によれば、或る階層レベルのサブモデル（図示されている例においてはサブモデルＳ1）に関するオプション（この例ではオプションＡ，Ｄ，Ｅ及びＦ）に対して設定されている値（この例では値ａ1，ｄ1，ｅ1及びｆ1）に関して、該当するオプションに対して設定されている値が優先される、下位の階層レベルの個数を表すことができる。図示されている実施例において、下位の階層レベルのこの個数に応じて、該当するオプションに対する値は同様に上位の階層レベルの値を取る。この特性を先ず、サブモデルＳ1においてオプションＡに対して設定された値ａ1に基づき例示的に説明する。サブモデルＳ1に関しては値ａ1が設定されているだけではなく、値ａ1には付加的にその影響範囲の情報、即ち、幾つ下の階層レベルまでその値は入れ子構造のサブモデルＳ11，Ｓ111に引き継がれるかの記述が設けられている。従って、サブモデルＳ1に対して値ａ1（１）が設定されている。オプションに対して局所的に設定された値、即ちサブシステム内で局所的に設定された値の上記において説明した優先順位に応じて、この値ａ1（１）は、上位の階層レベルにあるサブモデルＳ0においてオプションＡに対して設定されている値ａ0によって上書きされず、むしろサブモデルＳ1において維持される。その設定に応じて、値ａ1は丁度一つ下の階層レベル、即ちサブモデルＳ11においても更に維持されるべきである。サブモデルＳ11においては、値ａ1の影響範囲が０になり、このことはａ1（０）の表記によって明示されている。このサブモデルｓ11において影響範囲は途絶えるので、オプションＡは直ぐ下の階の階層レベルのサブモデルＳ111においては、親のサブモデルＳ0の値ａ0を再び有している。対応する特性は、サブモデルＳ1において影響範囲が設けられている値ｄ1，ｅ1及びｆ1にも示されている。
【００４１】
図４には、或る階層レベルにおけるサブモデルに関するオプションに対して設定された値が（従って、最上位の階層レベルにおけるモデルに関するオプションに対する値も）不変の値として特徴付けられる場合、即ち、「不変オプション」として特徴付けられる場合のコンピュータ支援による方法の特性が示されている。図４に示されている実施例において、不変の値は複数のオプションに関して○で囲まれて示されている。最上位のモデルレベルＳ0では、これはオプションＤに対する値ｄ0であり、更にサブモデルＳ1では、これはオプションＢに対する値ｂ1である。値ｂ1及びｄ0が不変の値として特徴付けられると、それらの値ｂ1，ｄ0は、下位の階層レベルにある入れ子構造のサブモデルＳ11，Ｓ111によっても引き継がれ、しかも、それらの下位の階層レベルＳ11，Ｓ111において対応するオプションＢ，Ｄに対して別の値が定められる場合であっても引き継がれる（サブシステムＳ1における値ｄ1（１）及びサブシステムＳ111における値ｂ111を参照されたい）。
【００４２】
本方法の別の実施の形態（図５）においては、グラフィックモデルＳ0をプログラムコードに翻訳するための少なくとも一つのデフォルトオプションＸDが決定され、それらのデフォルトオプションＸDにそれぞれ一つのデフォルト値ｘDが設定される。この実施例においては、グラフィックモデルの最上位の階層レベルにおける相応のオプションの値が決定されていない場合には、デフォルトオプションＸDに対するデフォルト値ｘDが、その最上位の階層レベルのモデルＳ0の相応のオプションに対する設定値として使用されるようにデフォルト値ｘDが用いられる。図５による実施例においては、モデルＳ0に関してオプションＢ，Ｃ，Ｄ，Ｅ，Ｆだけしか公知でなく、最上位の階層レベルにあるグラフィックモデルＳ0におけるオプションＢ，Ｃ，Ｄ及びＦに対してのみ値ｂ0，ｃ0，ｄ0及びｆ0が設定される。自動化された方法（ここでもまた下に向けられている矢印によって表されている）によって、オプションに対して値が設定されていない場合（このことはモデルにおいて未知のオプションＡにも該当する）、それらのオプションに対してデフォルト値が自動的に設定される。それによって、値が予め画一的にデフォルト値として規定されている場合には、局所的にそれらの値を設定しなければならないことが回避される。更には、所定のオプションに対する値の設定が行なわれなかった場合には翻訳プロセスが中断され、デフォルト値が代替案として使用されることも保証することができる。有利な実施の形態においては、オプションに対するデフォルト値を局所的に上書きすることもできる。例えば図５に示されている変形実施形態において、付加的にオプションＣもデフォルト値ｃDを有しているデフォルトオプションＣDとして決定されていた場合、グラフィックモデルＳ0において設定されている、オプションＣに対する値ｃ0はこのデフォルト値ｃDを上書きする。
【００４３】
図６には、モデル内のオプション又はサブモデル内のオプションに値が設定されていなければならない、又はデフォルトオプションとしてのオプションに値が設定されていなければならないようにオプションを構成することができる方法の一つの実施の形態が示されている。図６において、デフォルトオプションＡD、オプションＣ及びオプションＥは、必ず値が設定されていなければならないオプションとしてそれぞれ四角で囲まれて示されている。そのような特徴を有するオプションに対して値が設定されない場合、グラフィックモデルＳ0の翻訳時点に、プログラムコードにおいて所属のオプションに対してより深い階層レベルにおいて値が設定されていなければ、エラー通知又は警告が出力される。図６に示されている実施例においては、最上位の階層レベルのモデルＳ0において、値が設定されていなければならないものとして特徴付けられているオプションＣに値ｃ0が設定されると、強制的な値設定についての要件は満たされている。必ず値が設定されていなければならないものとして特徴付けられているオプションＥにはデフォルトオプションＥDのデフォルト値ｅDが設定され、それによりこの場合においても、強制的な値設定についての要件は満たされている。必ず値が設定されていなければならないものとして特徴付けられているデフォルトオプションＡDの場合、そのオプションＡDに対する値ａの具体的な設定は行なわれず、それにより警告が出力される。つまり図示していない変形実施形態では、同一の状況においてエラーにより中断される。
【００４４】
図７に基づき、一貫性のあるオプションＸKの自動的な使用について説明する。図７に示されている方法の特性によって、所定のオプションＸをいわゆる一貫性のあるオプションＸKとして特徴付けることができ、このことは図示されているケースではサブモデルＳ1におけるオプションＢに該当し、このオプションＢはここでは一貫性のあるオプションＢKとして表されている。一貫性のあるオプションＸKとしてのオプションのマーキングは、種々の入れ子構造のサブモデルに関して、それらオプションに対して一貫性のない設定が行なわれると、特に異なる値が設定されると、解消不可能な矛盾が高い確率で発生する場合には有効である。その種のオプションの例はここでもまた、ターゲットハードウェア、即ち制御プログラム２が実行されるべき制御システム３に関するビット幅である。一貫性のあるオプションとしてオプションＢをマーキングすることは、遅くともグラフィックモデルＳ0の翻訳時点に、全ての階層レベルにおいて一貫性のあるオプションに対する値の検査が実行され、非一貫性が識別されると警告通知が出力されるか、又はエラー通知でもって翻訳が中断される。一貫性検査の結果が肯定的なものであった場合には、プログラムコード及び制御プログラム２が生成される。
【００４５】
図８には、一貫性のあるオプションを用いて処理が行なわれる、図７に基づき説明した方法の発展形態が示されている。出発状況は図７に示したものと同じであり、非一貫性が識別された場合の上述の自動的な方法の特性だけが異なる。一貫性のあるオプションＢKに対する異なる値ｂ0及びｂ1に一貫性がない場合には、図８による方法が翻訳プロセスを中断するのではなく、最上位の階層レベルにおいて、一貫性のあるオプションＢKに対して設定された値、ここでは値ｂ0が下位の階層レベルにおける全てのサブモデルに対しても引き継がれるので、それにより値の画一性の意味における一貫性が達成され、それに基づき最終的に制御プログラムが生成される。
【００４６】
図９には、オプションＡ，．．．，Ｆ及び所属の値ａ，．．．，ｆ並びにそのクラス、例えばデフォルトオプション、一貫性のあるオプション又は不変のオプションがグラフィックモデルとは別個にデータバンク６に格納されていることが示されており、このデータバンク６においては更に各サブモデルＳ0，Ｓ1，Ｓ11，Ｓ111についての参照が付加的に格納されており、それによりデータは各サブモデルＳ0，Ｓ1，Ｓ11，Ｓ111と関連付けられている。関連付けはデータバンク６において各サブモデルＳ0，Ｓ1，Ｓ11，Ｓ111の名前付けによって実現されている。
【図１】
2014056579.tif 000004
【図２】
2014056579.tif 000005
【図３】
2014056579.tif 000006
【図４】
2014056579.tif 000007
【図５】
2014056579.tif 000008
【図６】
2014056579.tif 000009
【図７】
2014056579.tif 000010
【図８】
2014056579.tif 000011
【図９】
2014056579.tif 000012
【手続補正書】
【提出日】平成25年10月31日(2013.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも一つの電子計算ユニット（４）を備えている制御システム（３）を制御するための実行可能制御プログラム（２）の少なくとも一部をコンピュータ支援により生成するための方法であって、
前記制御プログラム（２）の機能は少なくとも部分的に、少なくとも一つのグラフィックモデル（Ｓ0）に記述されており、該グラフィックモデル（Ｓ0）は複数の階層レベルにおいて複数のサブモデル（Ｓi）に分類されており、或る階層レベルの一つのサブモデル（Ｓi）を入れ子構造で下位の階層レベルの複数のサブモデル（Ｓj）に分類することができ、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳するためのオプション（Ｘ）に対して値（ｘ）が設定され、該オプション（Ｘ）の値（ｘ）を考慮して、前記グラフィックモデル（Ｓ0）からコンピュータ支援によりプログラムコードが生成され、該プログラムコードが該プログラムコードを用いて前記実行可能制御プログラム（２）に翻訳される方法において、
異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデル（Ｓj）に関して、前記グラフィックモデル（Ｓ0）を翻訳するためのオプション（Ｘ）に対する値（ｘj）を設定し、該オプション（Ｘ）に対する値（ｘj）を各サブモデル（Ｓj）に関するプログラムコードのコンピュータ支援による生成時に考慮し、
前記下位の階層レベルにおけるサブモデル（Ｓj）の値（ｘj）が設定されていないオプション（Ｘ）は、上位の階層レベルにおけるサブモデル（Ｓj）の対応するオプション（Ｘ）の値（ｘj）を引き継ぐことを特徴とする、方法。
【請求項２】
前記下位の階層レベルにおけるオプション（Ｘ）に対して設定されている値（ｘj）は、前記上位の階層レベルにおける対応するオプション（Ｘ）に対して設定されている値（ｘj）よりも優先される、請求項１に記載の方法。
【請求項３】
或る階層レベルにおけるサブモデル（Ｓj）に関するオプション（Ｘ）に対して設定されている値（ｘj）に、当該階層レベルに続く下位の階層レベルの個数を表し、
前記下位の階層レベルにおいては、該当するオプション（Ｘ）に対して設定された値（ｘj）が優先され、下位の階層レベルの前記個数に応じて、前記該当するオプション（Ｘ）に対する前記値（ｘ）はやはり上位の階層レベルの値（ｘ）を取る、請求項１又は２に記載の方法。
【請求項４】
或る階層レベルにおけるサブモデル（Ｓj）に関するオプション（Ｘ）に対して設定されている値（ｘj）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関するオプションに対して設定されている値（ｘj）を不変の値として特徴付け（不変のオプション）、それにより、該オプション（Ｘ）に対する値（ｘj）は下位の階層レベルにおいてはもはや変更される可能性はなく、下位の階層レベルにおいて対応するオプション（Ｘ）に対して別の値（ｘj）が規定される又は規定されている場合であっても、もはや変更される可能性はない、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳するためのデフォルトオプション（ＸD）を決定し、且つ、デフォルト値（ｘD）を設定し、前記グラフィックモデル（Ｓ0）における対応するオプション（Ｘ）の値（ｘ）が決定されていない場合には、前記デフォルト値（ｘD）を最上位の階層レベルにおけるモデル（Ｓ0）の対応するオプション（Ｘ）に対する設定値として使用する、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
或る階層レベルにおけるサブモデル（Ｓj）に関する少なくとも一つのオプション（Ｘ）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関する少なくとも一つのオプション（Ｘ）、及び／又は、少なくとも一つのデフォルトオプション（Ｘj）を、更に下位の階層レベルにおいて値（ｘ）が設けられるべきオプション（Ｘ）としてマーキングし、
所属のオプション（Ｘ）に、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳する時点において、下位の階層レベルでは値（ｘ）が設定されていない場合にはエラー通知／警告を出力する、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
或る階層レベルにおけるサブモデル（Ｓj）に関する少なくとも一つのオプション（Ｘ）、及び／又は、最上位の階層レベルにおけるモデル（Ｓ0）に関する少なくとも一つのオプション（Ｘ）、及び／又は、少なくとも一つのデフォルトオプションを一貫性のあるオプション（ＸK）としてマーキングし、
遅くとも、前記グラフィックモデル（Ｓ0）をプログラムコードに翻訳する時点において、前記一貫性のあるオプション（ＸK）に対する値（ｘ）は、関連する入れ子構造のサブモデル（Ｓj）の全ての階層レベルにおいて一貫性のあるように設定されているか否かを検査し、非一貫性が識別されると少なくとも一つのエラー通知／警告通知を出力する、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
非一貫性が識別されると、前記グラフィックモデル（Ｓ0）のプログラムコードへの翻訳を中断するか、又は、前記非一貫性を含むモデル（Ｓ0）乃至サブモデル（Ｓj）を無効なプログラムコードに翻訳する、請求項７に記載の方法。
【請求項９】
一貫性のあるオプション（ＸK）に一貫性のない値が設定されていることが識別されると、最上位の階層レベルにおいて一貫性のあるオプション（ＸK）に対して設定された値（ｘ）を、下位の階層レベルの入れ子構造のサブモデル（Ｓj）に関する設定値（ｘ）としても自動的に設定する、請求項７に記載の方法。
【請求項１０】
少なくとも一つのオプション（Ｘ）の名前及び値（ｘ）を付加的に、該オプション（Ｘ）の値（ｘ）の起源に関する情報と共にオプション情報としてドキュメンテーションし、オプション情報を前記プログラムコードの対応する部分において生成し、
起源情報として、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプションの値が局所的に設定されているか否か、又は、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプション（Ｘ）の値（ｘ）が上位の階層レベルのサブモデル（Ｓj）から引き継がれているか否か、又は、該当するサブモデル（Ｓj）におけるオプション（Ｘ）及び／又はオプション（Ｘ）の値（ｘ）はデフォルト設定によって設定されているか否か、を表す、請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
ドキュメンテーションされたオプション情報を、前記グラフィックモデル（Ｓ0）のプログラムコードへの翻訳とは別個に生成し、ドキュメンテーションされ生成されたオプション情報をエラーについて検査し、前記一貫性のあるオプション（ＸK）を一貫性について検査する、請求項１０に記載の方法。
【請求項１２】
前記オプション情報をプログラムコードにおいて生成し、該オプション情報を付加的な翻訳指示文によって、翻訳機を用いて、前記プログラムコードの前記実行可能制御プログラム（２）への翻訳時に評価し、それと共にオプションを検査し、一貫性のあるオプション（ＸK）において設定された値（ｘ）の一貫性に関して検査する、請求項１０に記載の方法。
【請求項１３】
少なくとも一つのオプション（Ｘ）が、該オプション（Ｘ）の値（ｘ）、また必要に応じて該オプション（Ｘ）のクラス分け（不変のオプション、デフォルトオプション、一貫性のあるオプション）を前記グラフィックモデル（Ｓ0）と共に少なくとも一つのモデルファイルに記憶する、及び／又は、
少なくとも一つのオプション（Ｘ）が、該オプション（Ｘ）の値（ｘ）、また必要に応じて該オプション（Ｘ）のクラス分け（不変のオプション、デフォルトオプション、一貫性のあるオプション）を別個のデータバンクに記憶し、該データバンクにおいて各サブモデル（Ｓj）と関連付ける、請求項１乃至１２のいずれか一項に記載の方法。
【請求項１４】
少なくとも一つのオプション（Ｘ）が、前記制御システムのメモリ領域及び／又は計算ユニットを考慮して、生成されたプログラムコードにおけるメモリレイアウトに対する命令文及び／又は前記制御プログラム（２）のメモリレイアウトに対する命令文に影響を及ぼす、請求項１乃至１３のいずれか一項に記載の方法。
【請求項１５】
少なくとも一つのオプション（Ｘ）が生成されたプログラムコードを前記制御システム（３）のビット幅に適合させる、請求項１乃至１４のいずれか一項に記載の方法。
【請求項１６】
前記制御プログラム（２）は、測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び／又は較正プログラムである、請求項１乃至１５のいずれか一項に記載の方法。