(57)【要約】【課題】ブロック図間で変更を移す方法に関する。【解決手段】ブロック図は、周期的に計算されるモデルを含み、基本モデルはベースブロックを含み、ベースブロックはベースパラメータを有し、拡張モデルはベースブロックと拡張ブロックとを含み、拡張ブロックは付加的な拡張パラメータを有する。第１のブロック図は、第１のバージョンにおける基本モデルを含み、第２のブロック図は、第１のバージョンの基本モデルから生じる拡張モデルを含み、第３のブロック図は、第２のバージョンにおける基本モデルを含み、第１のバージョンは第２のバージョンよりも古い。第１の中間モデルを得るために変換規則を第１のブロック図に適用し、第２のブロック図を第１の中間モデルと比較し、比較から設定規則を求め、第２の中間モデルを得るために変換規則を第３のブロック図に適用し、第４のブロック図を得るために設定規則を第２の中間モデルに適用する。【選択図】図５
2020057385.tif 000002
【特許請求の範囲】
【請求項１】
ブロック図間で変更を移す方法であって、
前記ブロック図は、信号によって接続されている複数のブロックから成る、周期的に計算されるモデルを含んでおり、
基本モデルは、１つまたは複数のベースブロックを含んでおり、ベースブロックは、１つまたは複数のベースパラメータを有しており、拡張モデルは、１つまたは複数のベースブロックと少なくとも１つの拡張ブロックとを含んでおり、拡張ブロックは、少なくとも１つの付加的な拡張パラメータを有しており、特にコード作成のための１つまたは複数のパラメータを有しており、
第１のブロック図は、第１のバージョンにおける基本モデルを含んでおり、第２のブロック図は、第１のバージョンの基本モデルから生じる拡張モデルを含んでおり、第３のブロック図は、第２のバージョンにおける基本モデルを含んでおり、
前記第１のバージョンは、前記第２のバージョンよりも古く、
前記方法は、
・第１の中間モデルを得るために、多くの変換規則を前記第１のブロック図に適用するステップであって、変換規則は、ブロックを識別するためのルールと、識別されたブロックに適用されるべき変更と、を含んでおり、少なくとも１つの拡張ブロックが挿入され、かつ／または、少なくとも１つのベースブロックが消去されるステップと、
・前記第２のブロック図を前記第１の中間モデルと比較するステップと、
・前記比較から少なくとも１つの設定規則を求めるステップであって、設定規則は、ブロックまたはパラメータを識別するためのルールと、少なくとも１つのパラメータ、特に拡張パラメータの適用されるべき変更と、を含むステップと、
・第２の中間モデルを得るために、多くの変換規則を前記第３のブロック図に適用するステップと、
・第４のブロック図を得るために、少なくとも１つの設定規則を前記第２の中間モデルに適用するステップと、
を含んでいる方法。
【請求項２】
設定規則を求めることは、前記第２のブロック図と前記第１の中間モデルとの間の違いを示すことならびにユーザー入力を受け取ることを含んでおり、
ユーザーは、前記違いから導出された設定規則を編集、解放または拒絶することができ、
編集されたまたは解放された設定規則は格納される、
請求項１記載の方法。
【請求項３】
変換規則および／または設定規則がデータバンク内に格納されており、ユーザーに操作インタフェースが提供され、前記操作インタフェースにおいて、変換規則および／または設定規則を規定するかつ／または編集することができ、これに基づいて、新たなまたは変更された前記規則が前記データバンク内に格納される、
請求項１または２記載の方法。
【請求項４】
一般化された設定規則を得るために、２つまたは２つより多くの、格納されている設定規則が共通点に関して比較され、
前記一般化された設定規則の編集、解放または拒絶を可能にする操作インタフェースに、一般化された設定規則が示され、
前記編集または解放の場合には、前記一般化された設定規則が格納される、
請求項２または３記載の方法。
【請求項５】
ブロック図は、階層的に規定されており、
高位のレベルの１つのブロックは、下位のレベルの複数のブロックを含んでいてよく、
下位のレベルの複数のブロックは、高位のレベルの１つのブロックに割り当てられており、
ブロックの識別は、機能性を示すブロックタイプに基づいてかつ／または階層的なモデルにおいてブロックの場所を記述するモデル経路に基づいてかつ／またはブロックの名称に基づいて行われる、
請求項１から４までのいずれか１項記載の方法。
【請求項６】
設定規則の前記適用後に、少なくとも１つの妥当性条件が検査され、
前記妥当性条件が満たされていない場合には、エラーメッセージが出力される、かつ／または、グラフィカルユーザインタフェースが、パラメータ、特に拡張パラメータの変更のために示される、
請求項１から５までのいずれか１項記載の方法。
【請求項７】
ブロック図は、階層的に規定されており、
高位のレベルの１つのブロックは、下位のレベルの複数のブロックを含んでいてよく、
下位のレベルの複数のブロックは、高位のレベルの１つのブロックに割り当てられており、
２つのブロック図間の比較の前に、あるブロック図のブロックが、別のブロック図のブロックと同一視される、
請求項１から６までのいずれか１項記載の方法。
【請求項８】
少なくとも１つの既存のブロックに信号によって接続されているブロックを前記ブロック図に挿入する規則の場合、付加的な規則に従って、挿入される前記ブロックの少なくとも１つのパラメータの値が、信号フローにおいて隣接するブロック、特に直接的に先行するブロックおよび／または直接的に後続するブロックの１つまたは複数のパラメータ値に基づいて選択される、
請求項１から７までのいずれか１項記載の方法。
【請求項９】
機能性を提供する、事前に規定されているブロックが、ライブラリーから前記ブロック図に挿入可能であり、
同じ機能性を有する規定されているブロックが複数回、前記ブロック図内に存在していてよく、
少なくとも１つのあらかじめ規定されているブロックに、１つまたは複数の変換規則が割り当てられている、
請求項１から８までのいずれか１項記載の方法。
【請求項１０】
信号フローにおいて相前後して配置されている、元来の前記ブロック図の３つのブロックのうち、中央の前記ブロックが、変更されたブロック図において欠落しているもしくは消去されている場合に、規則は、スケーリングブロックの自動的な挿入を含んでおり、前記中央のブロックは、信号フローにおいて上流に配置されている前記ブロックとは異なる出力信号のスケーリングを有しており、信号フローにおいて下流に配置されている前記ブロックは、調整に従ったスケーリングを受け継ぐもしくは引き継ぐべきである、
請求項１から９までのいずれか１項記載の方法。
【請求項１１】
前記第４のブロック図からのソースコードの作成を特徴とする、
請求項１から１０までのいずれか１項記載の方法。
【請求項１２】
ブロック図間で変更を移す方法であって、
前記ブロック図は、信号によって接続されている複数のブロックから成る、周期的に計算されるモデルを含んでおり、
基本モデルは、１つまたは複数のベースブロックを含んでおり、ベースブロックは、１つまたは複数のベースパラメータを有しており、拡張モデルは、１つまたは複数のベースブロックと少なくとも１つの拡張ブロックとを含んでおり、拡張ブロックは、少なくとも１つの付加的な拡張パラメータを有しており、特にコード作成のための１つまたは複数のパラメータを有しており、
第１のブロック図は、第１のバージョンにおける拡張モデルを含んでおり、第２のブロック図は、第１のバージョンにおける基本モデルを含んでおり、第３のブロック図は、第２のバージョンにおける拡張モデルを含んでおり、
前記第１のバージョンは、前記第２のバージョンよりも古く、
前記方法は、
・第１の中間モデルを得るために、少なくとも１つの反転された変換規則を前記第３のブロック図に適用するステップであって、変換規則は、ブロックを識別するためのルールと、識別されたブロックに適用されるべき変更と、を含んでおり、変更規則に従って、少なくとも１つの拡張ブロックが挿入され、かつ／または、少なくとも１つのベースブロックが消去され、反転された変更規則は、割り当てられている前記変換規則の変更を取り消すステップと、
・変更されたベースブロックおよび／またはベースパラメータを求めるために、前記第１の中間モデルを前記第２のブロック図と比較するステップと、
・第２の中間モデルを得るために、求められた前記変更を前記第１のブロック図に移すステップと、
・第４のブロック図を得るために、少なくとも１つの変換規則を前記第２の中間モデルに適用するステップと、
を含んでいる方法。
【請求項１３】
制御機器の設定方法であって、
前記制御機器は、物理的なプロセスのデータを検出するために、かつ／または、物理的なプロセスに作用するために、少なくとも１つの計算ユニットを含んでおり、さらに、有利には少なくとも１つのセンサおよび／または少なくとも１つのアクチュエータを有しており、前記方法は、
ａ．請求項１から１２までのいずれか１項記載の方法によって第４のブロック図を作成するステップと、
ｂ．前記第４のブロック図からソースコードを作成するステップと、
ｃ．前記計算ユニットのために前記ソースコードをコンパイルし、これによって実行可能なコードを作成するステップと、
ｄ．実行可能な前記コードを前記制御機器に移すステップと、
ｅ．前記制御機器の不揮発性メモリに前記実行可能なコードを格納する、かつ／または前記制御機器の前記計算ユニットによって、前記実行可能なコードを実行するステップと、
を含んでいる方法。
【請求項１４】
コンピュータによって読み取り可能な記憶媒体を備えるコンピュータープログラム製品であって、
前記記憶媒体には、プロセッサによる実行時に、請求項１から１３までのいずれか１項記載の方法を実施するように前記プロセッサが構成されているようにする命令が埋め込まれている、
コンピュータープログラム製品。
【請求項１５】
コンピューターシステムであって、
マン・マシンインタフェースと、不揮発性メモリと、プロセッサと、を含んでおり、
前記プロセッサは、請求項１から１３までのいずれか１項記載の方法を実施するように構成されている、
コンピューターシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行可能なモデル、特にブロック図の変更と、ブロック図からの、制御機器によるプログラミングのためのソースコードの作成と、に関する。
【背景技術】
【０００２】
制御機器は、プロセスの物理的な量を検出するため、かつ／または接続されているアクチュエータを用いてプロセスに作用するために、多くの用途において使用される。これは例えば、制動過程のアンチロック調整であってよい。プロセスの動的な特性を特定する時定数はしばしば、１ｍｓ以下の周期時間を引き起こすので、制御機器のリアルタイム能力が必要とされる。コストの理由から、制御機器はしばしば、少数のメモリと制限された計算能力とを備えるマイクロコントローラを有している。したがって、実行可能なコードのサイズおよび効率は、極めて重要である。
【０００３】
制御機器の設計速度を速めるためにしばしば、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋ等の計算環境におけるモデルに基づいて、コントロールストラテジーが開発される。これによって、プロセスおよび／または調整器もしくは一般的に制御機器の特性をはじめにシミュレートし、所望の特性の存在を検査することができる。モデルは特に、計算等の演算を実行する複数のブロックを含んでいるブロック図であってよい。ここでブロックは、例えば複数の入力信号から、１つの出力信号を計算することができる。通常、ブロック図は周期的に実行され、ここではすべてのブロックが継続的に、メモリ内に保持され、各ブロックは時間ステップあたり一度、実行される。特に、ブロックは、現下のステップの出力信号を作成するために、最後のステップからの入力信号に、１つまたは複数の演算を適用することができる。ブロック図は、ほぼ時間に関して継続的な特性を記述する、周期的に実行される部分モデルの他に、離散的な特性を記述する部分ブロックも含んでいてよく、ここでは、多くの状態および移行条件が規定されている。
【０００４】
モデルから、コードジェネレータを用いて、制御機器のプログラミングのためのソースコードを直接的に作成することができる。例えば、Ｈ．  Ｈａｎｓｅｌｍａｎｎ等著の文献「Ｐｒｏｄｕｃｔｉｏｎ  Ｑｕａｌｉｔｙ  Ｃｏｄｅ  Ｇｅｎｅｒａｔｉｏｎ  ｆｒｏｍ  Ｓｉｍｕｌｉｎｋ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍｓ（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９９  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ  Ｄｅｓｉｇｎ，  Ｋｏｈａｌａ  Ｃｏａｓｔ，  Ｈａｗａｉ’ｉ）」から、製品の品質におけるソースコード作成のためのコードジェネレータが既知である。ここでは、作成された製品コードが、ブロックもしくはブロック変数の付加的な注記（アノテーション）によって適合され得る。特に、元来、高い精度の浮動小数点変数での計算のために作成されたモデルにスケーリングが施され、これによって、制御機器は、精度における損失を僅かにしつつ、計算コストを格段に低減させるために、固定小数点数を計算に入れることができる。
【０００５】
生じている大きいデータ量が効率的に評価されなければならないエッジコンピューティングの領域においても、データフロー向けのプログラミング言語が、使用されてきている。したがって、米国特許出願公開第２０１７／０２７７５２１号明細書から、開発環境において、一連の機能が適用されるべきである多くのデータストリームが識別される方法が既知である。入力データストリームは、多くの要素を備えるキューとして存在しており、これらは例えば「マージ」機能によって、１つの共通の出力データストリームにまとめられるべきである。設計されたプログラムは、二段階の変換ツールにおいて、最適なプラットフォーム特有の指示に変換される。ここでは、個々のデータストリームに適用される変換機能ならびに「マージ」機能が、決定性有限オートマトンに変換され、合成される。このような最適化によって、「マージ」機能の中間段階に対する緩衝が提供される必要がなくなり、したがって、データストリームの効率的な合併が可能になる。プログラムの変更は、視覚化構成要素を含んでいるグラフィカルユーザインタフェースにおいて行われ得る。分割方式の開発のための補助手段はこの文献において開示されていない。
【０００６】
比較的大きい開発プロジェクトではしばしば、開発の異なる領域が複数の人物によって実行される。これらの人物は、異なる企業に勤めている場合もある。モデルを作成し、改良する機能開発者は、一貫して、浮動小数点数によって作業することがある。一度作成された機能モデルは、種々のプロジェクトに対しても使用可能であり、機能性において適合可能である。制御機器への移植に必要な付加的な注記は通常、コード作成の専門家によって行われ、モデルは相応するプロジェクト段階において、この専門家に渡される。このようなステップに対して、しばしば、僅かな日数、時間しか与えられておらず、この間に多くの、手動による変更が行われなければならない。プロジェクトが、それぞれ１つのコード作成が行われるべき複数の段階を含んでいる場合には、問題はより深刻になり、基礎になるモデルが実質的に変化しない場合でも、付加的な注釈はしばしば手作業のままである。
【０００７】
それぞれ多くの語を備える行に配列されている、高級言語におけるソースコード等のテキストに対しては、しばしば、三方比較も可能にする比較プログラムが存在している。これは、複数の相違するテキストバージョンが、１つの初期のバージョンに基づいて作成されている場合に特に役に立ち、これは例えばソースコードで並行に作用する２つのプログラミングの場合である。テキストに関する、ブロック図もしくは一般的にグラフィカルモデルの複雑な構造は、モデル間の比較を難しくする。操作性を改善するために、米国特許出願公開第２０１８／００６０４５７号明細書は、２つのブロック図間の比較の結果をスクリプトによってフィルタリングするもしくは後処理することを提案する。特に、多くの異なる階層レベルを含んでいる階層的なブロック図の場合には、変更を移すことは、極めて制限的にしか可能ではない。米国特許第８１５１２４４号明細書からは、複数のグラフィカルプログラムを「マージする」もしくは合併する方法が既知であり、ここでは、共通の先行する要素が考慮される。しかしここでは、モデルが、開発環境の同じバージョンを使用し、かつ異なる付加的な注記を有していないことが必要とされる。したがって、コード作成のために、注記が付けられたモデルに、機能モデルの変更を自動的に移すことは不可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の課題は、従来技術を改良し、特に、異なるモデルの種類の間での変更を移すのを支援することである。
【課題を解決するための手段】
【０００９】
上述の課題は、請求項１または１２に記載されたブロック図間で変更を移す方法、請求項１４記載のコンピュータープログラム製品および請求項１５記載のコンピューターシステムによって解決される。有利な発展形態は、従属請求項に記載されている。
【００１０】
すなわち、ブロック図間で変更を移す方法が提示される。これらのブロック図は、信号によって接続されている複数のブロックから成る、周期的に計算されるモデルを含んでおり、基本モデルは１つまたは複数のベースブロックを含んでおり、ベースブロックは１つまたは複数のベースパラメータを有しており、拡張モデルは１つまたは複数のベースブロックと少なくとも１つの拡張ブロックとを含んでおり、拡張ブロックは少なくとも１つの付加的な拡張パラメータを有しており、特にコード作成のための１つまたは複数のパラメータを有している。第１のブロック図は、第１のバージョンにおける基本モデルを含んでおり、第２のブロック図は、第１のバージョンの基本モデルから生じる拡張モデルを含んでおり、第３のブロック図は、第２のバージョンにおける基本モデルを含んでおり、第１のバージョンは、第２のバージョンよりも古い。本発明では、この方法は、
・第１の中間モデルを得るために、多くの変換規則を第１のブロック図に適用するステップを含んでおり、変換規則は、ブロックを識別するためのルールと、識別されたブロックに適用されるべき変更と、を含んでおり、少なくとも１つの拡張ブロックが挿入され、かつ／または少なくとも１つのベースブロックが消去され、
・第２のブロック図を第１の中間モデルと比較するステップを含んでおり、
・この比較から少なくとも１つの設定規則を求めるステップを含んでおり、設定規則は、ブロックまたはパラメータを識別するためのルールと、少なくとも１つのパラメータ、特に拡張パラメータの適用されるべき変更と、を含んでおり、
・第２の中間モデルを得るために、多くの変換規則を第３のブロック図に適用するステップを含んでおり、さらに、
・第４のブロック図を得るために、少なくとも１つの設定規則を第２の中間モデルに適用するステップを含んでいる。第４のブロック図は、有利には、第２のバージョンにおける拡張モデルを含んでおり、特にコード作成のために準備される。
【００１１】
２つまたは２つより多くのブロックが、信号によって接続されている場合、このことはモデルにおいて、有利には信号線によって示され、結合されたブロックの間で信号もしくはデータを移すことが可能である。ここでは特に第１のブロックは１つの値または規定によっては複数の結束した値を出力し、第２のブロックはこれを受け取り、これは１つまたは複数の結束した、第２のブロックの出力値を求める際に考慮する。信号は、配列のようなスカラー変数および／または構造化されたデータタイプを含んでいてよく、これは例えば、バスの場合である。信号の場合とは異なり、ブロックのパラメータは、モデルもしくは作成されたコードの実行中、固定されたままである。これは特に、ブロックもしくは作成されたコードの特性を固定するために用いられ、したがって通常、モデリングの間のみ変更される。
【００１２】
本発明は、異なるセマンティックレイヤーを有するモデル（すなわちここでは、少なくとも１つの基本モデルと少なくとも１つの拡張モデルが存在している）に対して、直接的な三方マージは合理的ではないという考察に基づいている。その代わりに、セマンティックレイヤーは異なるが同じバージョンのモデル間の違いが、異なるバージョンのモデルの間の違いとは分けて観察される。あるセマンティックレイヤーから別のセマンティックレイヤーへの移行時に、特にベースブロックは拡張ブロックによって置き換えることができる。ベースブロックが、１つまたは複数のブロックによって置き換えられてもよく、複数のブロックのうちの少なくとも１つは拡張ブロックである。ここではしばしば、基本モデルの実行される機能性と拡張モデルの実行される機能性は、ほぼ同じである。計算された信号値間のある程度の違いは、例えば、拡張モデルにおける固定小数点データタイプの使用が原因で生じ得る。ユーザーが例えばブロックのグループを挿入した場合には、異なるバージョンのモデルの間には、重大な機能的な違いが生じ得る。
【００１３】
個々のブロックおよび／または限定されたブロックグループの取り扱いは、有利には変換規則として表される。これは、ブロックの識別のためのルールと識別されたブロックに適用されるべき変更とを含んでいる。ここで少なくとも１つの拡張ブロックが挿入される、かつ／または少なくとも１つのベースブロックが消去される。別の考察では、変換規則は、通常、固定的に設けられている。なぜなら、基本ブロックの置き換えは、その位置とは無関係に、常に、同じ拡張ブロックまたは同じブロックグループで行うことができる。例えば、変換規則は、信号を出力する基本ポートが相応する拡張ポートによって置き換えられるということを意味し得る。これは一般的に当てはまり、したがって容易に自動化可能である。有利には、基本モデルの各ブロックに対して、識別ルールが満たされているか否かが検査され、そうである場合には、それぞれ所定の変更が適用される。
【００１４】
付加的な帰属もしくは少なくとも１つの拡張パラメータは特に、コード作成のための調整を含んでいてよく、これは例えばスケーリング、値領域、変数クラスまたはデータタイプである。例えば拡張ブロックのスケーリングは、隣接する拡張ブロック、すなわち局地的な環境のスケーリング、場合によっては演算にも関連している。したがって別の考察では、設定規則がコンテキストに関連していてもよく、したがって有利には、同じバージョンを有する２つのモデルの比較から求められる。このようなコンテキストに関連する変更をできるだけ多く、自動的に引き継ぐことを可能にするために、セマンティックレイヤーに関して拡張モデルに相当する中間モデルへの、第１のバージョンもしくは古いバージョンにおける基本モデルの変換によって、適切な比較基準が得られる。新たなバージョンにおけるモデルを、コード作成に対して準備するために、ユーザーが行わなければならない手動の適合は少なくなる。
【００１５】
モデルが多くの異なるバージョンを経過する場合、過去において求められた設定規則もしばしば継続して適用可能である。したがって、モデルバージョンが増えるとともに、相応する拡張モデルを作成するための手動的なコストが格段に減る。すなわち、学習された規則の格納もしくは学習機構によって、ユーザーの負担をさらに格段に低減させることができる。
【００１６】
基本的に、例えば付加的なブロックライブラリーが常に、１つまたは複数の別のパラメータを備えるブロックを含んでいる場合、２つよりも多くのセマンティックレベルが存在していてもよい。コード作成に対するモデルの「簡単な」注記から、全面的に注記が付けられたモデルへの（例えばＡＵＴＯＳＡＲに適合されたコード作成のための）移行も、セマンティックレイヤー間の移行として見なす、もしくは取り扱うことができる。この場合には漸次的な適合を行うことができ、ここで変換規則は有利には、常に、第１のセマンティックレイヤーと次のセマンティックレイヤーとの間の移行を含んでおり、ここで相応する拡張ブロックは、このような層の拡張パラメータのあらかじめ規定されているセットからの１つまたは複数の拡張パラメータを有している。
【００１７】
有利には、設定規則を求めることは、第２のブロック図と第１の中間モデルとの間の違いを示すことならびにユーザー入力を受け取ることを含んでおり、ここでユーザーは、この違いから導出された設定規則を編集、解放または拒絶することができ、ここで編集されたまたは解放された設定規則は格納される。特に、この違いはグラフィカルユーザインタフェースにおいて示すことができ、ここでユーザーは、求められた設定規則を解放、適合または拒絶する。すなわち有利には、２つのブロック図の比較に基づいて、それぞれ個々のブロックまたは個々のブロックから成るグループに関連する多くの個々の設定規則が求められる。
【００１８】
特に有利には、変換規則および／または設定規則がデータバンク内に格納されており、ユーザーに操作インタフェースが提供され、この操作インタフェースにおいて、変換規則および／または設定規則を規定する、かつ／または編集することができる。これに基づいて、新たなまたは変更された規則がデータバンク内に格納される。変換規則は種々の様式で構成されていてよく、例えば、モデルエディタを駆動制御することができるスクリプト環境におけるスクリプトとして構成されていてよい。例えば、セマンティックレイヤー内の変更を考慮するために、変換規則にバージョンを割り当て、変換規則の適用を、所定のバージョンおよび／または所定の作成時間を有する基本モデルまたは拡張モデルへ制限することもできる。
【００１９】
特に有利には、一般化された設定規則を得るために、２つまたは２つより多くの、格納されている設定規則が共通点に関して比較され、一般化された設定規則の編集、解放または拒絶を可能にする操作インタフェースに、一般化された設定規則が示される。ここで、編集または解放の場合には、一般化された設定規則が格納される。有利には、設定規則に優先順位を割り当てることができ、したがって、例えばはじめに、一般化された設定規則が適用され、カバーされていないケースだけが特別な設定規則によって処理される。優先順位の割り当ては、ユーザーによって行われても、自動的に行われてもよく、これは例えば設定規則の汎用性に対する程度に基づいて行われる。
【００２０】
有利には、ブロック図は階層的に規定されており、ここで、高位のレベルの１つのブロックが、下位のレベルの複数のブロックを含んでいてよい。ここで下位のレベルの複数のブロックは、高位のレベルの１つのブロックに割り当てられており、ブロックの識別は、機能性を示すブロックタイプに基づいて、かつ／または階層的なモデルにおいてブロックの場所を記述するモデル経路に基づいて、かつ／またはブロックの名称に基づいて行われる。ブロックが表示の設定のためにマスクを含んでいる場合、ブロックタイプがマスクタイプ（ＴＬ＿ＣｕｓｔｏｍＣｏｄｅ等）に基づいて求められてもよい。
【００２１】
有利には、設定規則の適用後に、少なくとも１つの妥当性条件が検査され、ここでこの妥当性条件が満たされていない場合には、エラーメッセージが出力される、かつ／またはグラフィカルユーザインタフェースが、パラメータ、特に拡張パラメータの変更のために示される。有利には、注記が付けられた拡張モデルが、所定のルールセットに基づいて、場合によっては存在するユーザルールに基づいて、妥当性に関して検査される。エラーの場合には、ユーザーは、グラフィカル操作インタフェースにおいて、パラメータを適合させることができ、したがって換言すれば、クリチカルな箇所が自動的に立ち上げられる。妥当性条件は、あらかじめ定められていても、ユーザーによって定められてもよく、一般的な、すなわち常に検査される妥当性条件も、特別な、すなわち具体的な設定規則に割り当てられている妥当性条件も規定もしくは検査可能である。
【００２２】
ブロック図が階層的に規定されている場合には、高位のレベルの１つのブロックが、下位のレベルの複数のブロックを含んでいてよい。ここで下位のレベルの複数のブロックは、高位のレベルの１つのブロックに割り当てられており、有利には、２つのブロック図間の比較の前に、あるブロック図のブロックが、別のブロック図のブロックと同一視される。すなわち、比較プログラムの視点から、２つのブロックは同じブロックである。この同一視によって、２つのモデルの間の相対的な配置が示され、例えば付加的な階層レベルが挿入された際の、多くの、誤解を招くエラーメッセージが回避される。このような配置もしくは同一視されるべきブロックをユーザーは、グラフィカル操作インタフェースにおいて示すことができる。割り当てが規則の形態で格納されていてもよく、この場合にはモデルの比較前の関係が適用される。さらに、サブシステムのような種々の階層レベルもしくは別個の領域に対して、それぞれ２つのブロックの間の特有の関係が示されてよく、これによって、各レベルに対して相対的な位置が定められる。
【００２３】
有利には、少なくとも１つの既存のブロックに信号によって接続されているブロックをブロック図に挿入する規則の場合、付加的な規則に従って、挿入されるブロックの少なくとも１つのパラメータの値が、信号フローにおいて隣接するブロック、特に直接的に先行するブロックおよび／または直接的に後続するブロックの１つまたは複数のパラメータ値に基づいて選択される。有利には、この規則は変換規則であり、付加的な規則は設定規則である。例えば、挿入された新たなブロックに対して、信号のスケーリングを、特に、配置されているブロックの上方の信号フローにおける隣接するブロックに基づいて求めることができる。一般的に、信号の特性またはラベルもしくはレッテルも引き継ぐことができる。
【００２４】
有利には、機能性を提供する、事前に規定されているブロックが、ライブラリーからブロック図に挿入可能であり、同じ機能性を有する規定されているブロックが複数回、このブロック図内に存在していてよく、少なくとも１つの規定されているブロックに、１つまたは複数の変換規則が割り当てられている。有利には１つまたは複数の変換規則は、付加的な情報としてブロックライブラリー内に格納される。１つのブロックの複数のインスタンスがブロック図内に存在している場合、これらのインスタンスに対して共通の機能が規定され、各インスタンスに対してデータ構造がブロック変数を伴って規定されるということを変換規則が含んでいてもよく、この場合には、実行されるべきブロックに応じて、相応するデータ構造が機能に渡される。
【００２５】
有利には、信号フローにおいて相前後して配置されている、元来のブロック図の３つのブロックのうち、中央のブロックが、変更されたブロック図において欠落している、もしくは消去されている場合に、規則はスケーリングブロックの自動的な挿入を含んでおり、この中央のブロックは、信号フローにおいて上流に配置されているブロックとは異なる出力信号のスケーリングを有しており、信号フローにおいて下流に配置されているブロックは、調整に従ったスケーリングを受け継ぐもしくは引き継ぐべきである。
【００２６】
有利には、この方法は付加的に、第４のブロック図からのソースコードの作成を含んでいる。
【００２７】
本発明はさらに、ブロック図間で変更を移す方法に関し、これらのブロック図は、信号によって接続されている複数のブロックから成る、周期的に計算されるモデルを含んでおり、基本モデルは１つまたは複数のベースブロックを含んでおり、ベースブロックは１つまたは複数のベースパラメータを有しており、拡張モデルは１つまたは複数のベースブロックと少なくとも１つの拡張ブロックとを含んでおり、拡張ブロックは少なくとも１つの付加的な拡張パラメータを有しており、特にコード作成のための１つまたは複数のパラメータを有しており、第１のブロック図は、第１のバージョンにおける拡張モデルを含んでおり、第２のブロック図は、第１のバージョンにおける基本モデルを含んでおり、第３のブロック図は、第２のバージョンにおける拡張モデルを含んでおり、第１のバージョンは、第２のバージョンよりも低く、すなわち古く、この方法は、
・第１の中間モデルを得るために、少なくとも１つの反転された変換規則を第３のブロック図に適用するステップを含んでおり、変換規則は、ブロックを識別するためのルールと、識別されたブロックに適用されるべき変更と、を含んでおり、変更規則に従って、少なくとも１つの拡張ブロックが挿入され、かつ／または少なくとも１つのベースブロックが消去され、反転された変更規則は、割り当てられている変換規則の変更を取り消し、
・変更されたベースブロックおよび／またはベースパラメータを求めるために、第１の中間モデルを第２のブロック図と比較するステップを含んでおり、
・第２の中間モデルを得るために、求められた変更を第１のブロック図に移すステップを含んでおり、さらに、
・第４のブロック図を得るために、少なくとも１つの変換規則を第２の中間モデルに適用するステップを含んでいる。
【００２８】
このような形態では、本発明の方法は、拡張モデルの新たなバージョンの変更を、拡張モデルの古いバージョンに移すことを可能にし、ここで異なるバージョン間で、セマンティックレイヤー内の変更が生じていることもある。シリーズ制御機器では通常、コードジェネレータもしくは全体的な一連のツールのバージョンは固定される。ここで本発明の方法は、例えば後に作成されたパッチを、古い一連のツールもしくは古いバージョンのコードジェネレータによって作成された古いモデルバージョンへ適用することを可能にする。基本モデルにわたった経路を進むことによって、新たなバージョンの互換性のない言語手段のコピーが回避される。有利には、異なるバージョンの変換規則が区別され、ここではバージョンに関連して、１つまたは複数の言語手段が規則において適用される、または回避される。
【００２９】
本発明はさらに、制御機器の設定方法に関し、ここで制御機器は、物理的なプロセスのデータを検出するために、かつ／または物理的なプロセスに作用するために、少なくとも１つの計算ユニットを含んでおり、さらに、有利には少なくとも１つのセンサおよび／または少なくとも１つのアクチュエータを有している。この方法は、
ａ．本発明の変更を移す方法によって第４のブロック図を作成するステップと、
ｂ．第４のブロック図からソースコードを作成するステップと、
ｃ．計算ユニットのためにソースコードをコンパイルし、これによって実行可能なコードを作成するステップと、
ｄ．実行可能なコードを制御機器に移すステップと、
ｅ．制御機器の不揮発性メモリに実行可能なコードを格納する、かつ／または制御機器の計算ユニットによって、実行可能なコードを実行するステップと、
を含んでいる。
【００３０】
さらに本発明は、コンピュータによって読み取り可能な記憶媒体を備えるコンピュータープログラム製品に関し、この記憶媒体には、プロセッサによる実行時に、本発明の変更を移す方法を実施するようにプロセッサが構成されているようにする命令が埋め込まれている。
【００３１】
さらに本発明はマン・マシンインタフェースと、不揮発性メモリと、プロセッサと、を含んでいるコンピューターシステムに関し、ここでプロセッサは、本発明の変更を移す方法を実施するように構成されている。
【００３２】
本発明を以降で、図面を参照して、より詳細に説明する。ここで同じ部分には同じ参照符号が付けられている。図示の実施形態は著しく概略化されており、縮尺通りではない。
【図面の簡単な説明】
【００３３】
【図１】コンピューターシステムの有利な実施形態
【図２】有利にはコンピューターシステム上に存在しているソフトウェアコンポーネントの概略図
【図３】ソースコード作成の一般的なスキーム
【図４】２つのブロック図の間の比較の概略図
【図５】モデルの種々の構成の概略図
【図６】モデルの変換された形態の概略図
【図７】２つの階層的なモデルの概略図
【図８】例示的な操作インタフェースの概略図
【発明を実施するための形態】
【００３４】
図１は、コンピューターシステムＰＣの有利な実施形態を示している。これは特にマルチコアプロセッサとして実現されていてよいプロセッサＣＰＵと、メインメモリＲＡＭと、バスコントローラＢＣと、を有している。有利にはコンピューターシステムＰＣは、ユーザーによって直接的に手動で操作されるように構成されており、ここで、有利にはグラフィックカードＧＰＵを介して、モニターＤＩＳが接続されており、ペリフェラル・インタフェースＨＭＩを介してキーボードＫＥＹとマウスＭＯＵとが接続されている。基本的には、コンピューターシステムＰＣのマン・マシンインタフェースがタッチインタフェースとして構成されていてもよい。コンピューターシステムは、さらに、特にハードディスクおよび／またはソリッドステートディスクとして構成されていてよい不揮発性データメモリＨＤＤならびにインタフェースＮＥＴ、特にネットワークインタフェースを含んでいる。インタフェースＮＥＴを介して、制御機器ＥＳが接続されていてよい。基本的には、１つまたは複数の任意のインタフェース、特に有線インタフェースが使用可能であり、ここにはコンピューターシステムＰＣが設けられ、それぞれ、制御機器ＥＳとの接続のために使用可能である。有利には、イーサーネット規格に従ったネットワークインタフェースが使用可能である。インタフェースＮＥＴは、特にＷＬＡＮインタフェースとして、またはＢｌｕｅｔｏｏｔｈ（Ｒ）等の規格に従って無線に構成されていてもよい。
【００３５】
制御機器ＥＳは、シリーズ生産制御機器として、またはターゲットプラットフォーム用の評価ボードとして構成されていてよい。有利にはこれは、コンピューターシステムＰＣとの接続のためのインタフェースＮＥＴ、コンピューターシステムのプロセッサとは異なるアーキテクチャを有するマイクロコントローラＭＣＲ、メインメモリＲＡＭおよび不揮発性メモリＮＶＭを含んでいる。本発明を実行するために、制御機器ＥＳは不必要であり、これは有利にはモデルのテストのために使用される。
【００３６】
コンピューターシステムは基本的に、クライアントサーバーシステムとして構成されていてもよく、この場合には１つまたは複数のソフトウェアコンポーネントが、外部のサーバーに出される。
【００３７】
図２には、有利には、コンピューターシステムＰＣ上にインストールされているソフトウェアコンポーネントのスキームが示されている。これはオペレーションシステムＯＳの機構を使用し、これによって例えば不揮発性メモリＨＤＤにアクセスすることができる、またはネットワークインタフェースＮＥＴを介して、外部の計算機に対する接続が構築される。
【００３８】
技術的な計算環境ＴＣＥは、モデルの作成と、モデルからのソースコードの作成と、を可能にする。モデリング環境ＭＯＤにおいては有利には、グラフィカルユーザインタフェースを介して、動的なシステムのモデルを作成することができる。これは特に、複数のブロックを含んでおり、動的なシステムの時間的な特性および／または内部の状態を記述するブロック図であってよい。ブロックのうちの少なくともいくつかは、信号を介して接続されている。すなわち、データ交換のための、方向性を有する接続であり、スカラーまたは合成であってよい。ブロックはアトミックであってよく、すなわち１つのステップにおいて１つのあらかじめ規定されている機能性を提供する。ブロック図が階層的である場合、下位のレベルにある多くのブロックが、上位のレベルにある１つのブロックの構造を表す。有利には、アトミックなブロックが、下位のレベルにある多くのブロックを含んでいてもよい。合成されたブロックは、特にサブシステムであってよい。サブシステムは、分けられた機能での実装および／または専用の信号を介したサブシステムの実行のトリガのような付加的な特性を有していてよい。サブシステムには、サブシステムの特性を詳細に特定するために、特別なブロックが配置されていてよい。計算環境ＴＣＥは、有利には１つまたは複数のライブラリーを含んでおり、ここから、ブロックもしくはモジュールがモデルの構築のために選択可能である。スクリプト環境ＭＡＴでは、指示が双方向でまたはバッチファイルを介して入力され、これによって計算を実行する、またはモデルを修正することができる。環境ＴＣＥはさらに、シミュレーション環境ＳＩＭを含んでおり、これは、システムの時間的な特性を検査するために、ブロック図を解釈もしくは実行するように構成されている。このような計算は有利には、より高い精度の浮動小数点数によって、コンピューターシステムのマイクロプロセッサＣＰＵの１つまたは複数のコア上で行われる。
【００３９】
作成されたモデルから、コードジェネレータＰＣＧによって、ソースコードを、有利にはＣ等のプログラミング言語において作成することができる。規定データコレクションＤＤＴには、有利にはモデルに対する、特にブロック変数に対する付加的な情報が格納されている。有利には、ブロック変数に、値の範囲および／またはスケーリングが割り当てられ、これによって、固定小数点インストラクションによるモデルの計算が支援される。ソースコードの所望の特性、例えばＭＩＳＲＡ等の規格に対する適合性も、規定データコレクションＤＤＴにおいて調整もしくは格納されていてよい。有利には、各ブロック変数は所定の変数タイプに割り当てられ、１つまたは複数の所望の特性、例えば変数の統括等の最適化の許容性が調整される。コードジェネレータＰＣＧは有利には、規定データコレクションＤＤＴの調整を評価し、これをソースコードの作成時に考慮する。規定データコレクションＤＤＴは、ツリー構造を有することができる、もしくは簡易的なファイルとしてコンピューターシステムのメモリ内に格納されてよい。択一的に、規定データを専用のデータバンクシステム内に格納するようにすることができる。規定データコレクションは、プログラムインタフェースおよび／またはインポート／エクスポート機能を有していてよい。技術的な計算環境ＴＣＥはさらに、コンバータＣＮＶを含んでおり、これは、コード作成に関係するパラメータを伴うモデルを、比較に適した中間形態に変換する。
【００４０】
コンピューターシステムＰＣは、コンパイラＣＯＭとリンカとを有しており、これらは有利には、制御機器ＥＳおよび／またはコンピューターシステムＰＣ上で実行可能なバイナリーファイルの作成のために構成されている。基本的に、制御機器もしくは評価ボードＥＳを種々のプロセスアーキテクチャによって支援するために多くのコンパイラが存在していてよく、特に、種々の目的プラットフォームに対するクロスコンパイラが存在していてよい。さらに、比較プログラムＭＯＣが存在しており、これは、２つのモデルを中間フォームにおいて受け取り、違いを求め、有利にはこれを示す。付加的に、１つまたは複数の、求められた違いから、設定規則を特定する、もしくは導出することができる。有利には、比較プログラムはグラフィカルユーザインタフェースを含んでおり、ここではユーザーは、導出された設定規則を見て、続いて、編集、確認または拒絶することができる。さらにバージョンコントロールシステムＶＣＳが存在していてよく、これはブロック図の種々のバージョンおよび／または作成された中間フォームをデータバンク内に格納する。
【００４１】
図３は、コードジェネレータによるソースコードの作成の一般的なスキームを示している。この方法は完全に、コンピューターシステムＰＣの有利な実施形態のプロセッサによって実行することができる。しかしこれが、操作計算機およびネットワークを介して接続されている１つまたは複数のサーバーを備えるクライアントサーバー環境における実行に対しても設定されていてよい。ここでは特に計算コストのかかるステップはサーバー上で実行される。
【００４２】
第１のステップＳ１における変換において、ブロック図ＢＬＤの１つまたは複数のブロックから成る選択されたモデルが、中間表現ＩＲに変換される。これは有利には１つまたは複数の階層的なグラフを含んでいる。ここでこれは特にデータフローグラフ、制御フローグラフまたはツリー構造であってよい。
【００４３】
ブロック図ＢＬＤの他に、有利には、規定データコレクションＤＤＴからの付加的な情報も、中間表現の作成時に考慮される、もしくはこれに影響を与える。これは、要素が、規定データコレクションＤＤＴにおける情報に基づいて作成される、または要素の特性もしくはコード作成に関連する調整、例えば変数のデータタイプが、規定データコレクションＤＤＴから抽出される状況も含んでいてよい。
【００４４】
第２のステップＳ２における最適化では、階層的なグラフが最適化され、これによって、必要な変数の数および／またはメモリ消費、例えばスタックの占有、および／または演算もしくはプロセスインストラクションの数および／またはソースコードの実行時間が低減される。このような最適化は、多くの中間ステップを含んでいることがあり、ここでは、別の中間表現がモデル／ブロック図とソースコード／プログラムテキストとの間で作成される。特に、各中間ステップにおいて、元来の階層的なグラフのセットを、変更された階層的なグラフの別のセットに変換するようにすることができ、ここで１つまたは複数の最適化ルールが適用される。「定数畳み込み」のような種々のストラテジーまたは「デッドコード」の削除が、最適化の間に適用されてよい。個々の最適化を既に、ステップＳ１の変換の枠において適用することもできる。これは特に、これらがブロック図図上で容易に実行可能である場合である。
【００４５】
第３のステップＳ３における変換では、実行されたすべての中間ステップから結果として生じる最適化された中間表現ＩＲもしくは最適化された階層的なグラフが、特にＣコード等のテキスト形式のプログラミング言語のソースコードＰＣＯに変換される。このようなステップにおいても、別の最適化を行うことが可能であり、特に、基本的に言語に含まれている指示のサブセットの作成された指示を表す、かつ／または作成された制御構造が、基本的に言語に含まれている制御構造のサブセットを表すように行われる。これは、正確に規定されたルールを満たすことを可能にする。択一的または付加的に、プログラム行とブロック図ＢＬＤのブロックとの間の関係等の付加的な情報を作成し、特にコメントの形態でソースコードに含めるようにすることができ、これによって、ソースコードＰＣＯの読みやすさが改善される、かつ／またはデバッグが容易になる。
【００４６】
コード作成の間または後に、現下のブロック図またはコード作成の結果に関する情報、例えば警告が、規定データコレクションに格納されてよい。このような情報は例えば、作成されたソースコードのコンパイリングを制御するため、または別のツールに対するメタ情報を提供するために利用されてよい。これは例えば、ＡＳＡＰ２フォーマットにおける較正情報またはＡＵＴＯＳＡＲ標準に従った中間層の作成のための情報である。択一的な実施形態では、ブロック図から、ハードウェア記述言語におけるコードまたはプログラミング可能なハードウェアモジュールの設定を作成することができる。
【００４７】
図４は、２つのブロック図の間の比較を概略的に示している。ここでは第１のステップにおいて、第１の隣接するブロック図が技術的な計算環境ＴＣＥ１のモデルエディタＭＯＤにおいて開放され、コンバータＣＮＶによって、中間形態ＩＮＦ１に変換される。このような中間形態は、比較に特に適しており、スクリプト環境ＭＡＴにおいて適合された現下のパラメータ値を含んでいる。スクリプト環境ＭＡＴは、モデルエディタＭＯＤおよびコンバータの自動的な駆動制御のために使用可能である。さらに、フィルタスクリプトによって、比較結果をフィルタリングし、変更しまたは付加することができる。次に、または並行して、第２のステップにおいて、第２の隣接するブロック図が技術的な計算環境ＴＣＥ２のモデルエディタＭＯＤにおいて開放され、コンバータＣＮＶによって、中間形態ＩＮＦ２に変換される。ここでスクリプト環境ＭＡＴを駆動制御する、かつ／またはフィルタリングすることができる。連続した処理では、ＴＣＥ１およびＴＣＥ２が同じ技術的な計算環境を記述していてよく、中間形態ＩＮＦ１およびＩＮＦ２は、少なくとも一時的にファイルシステムまたはデータバンク内に格納される。並行した実行時には、技術的な計算環境の２つの独立したインスタンスＴＣＥ１、ＴＣＥ２が開放される。
【００４８】
２つの中間形態は、違いのリストＤＩＦＦを作成する比較プログラムＭＯＣに供給される。有利には、比較プログラムは、第１のブロック図と第２のブロック図との間の違いに基づいて設定規則を求めるコンポーネントも含んでいる。したがって、２つのブロック図の比較から、違いの数に応じて、多くの設定規則が導出可能である。得られた設定規則は、データバンク内に格納することができ、ここで有利には、相応する設定規則が既に存在しており、格納が新たに行われる必要がないか否かの検査が行われる。
【００４９】
図５には、概略的に、基本モデルの変更が拡張モデルに移されるべき状況が示されている。特に、基本モデルはシミュリンクモデルであってよく、拡張モデルはＴａｒｇｅｔＬｉｎｋモデルであってよい。
【００５０】
図示されているのは、古いバージョンにおける基本モデルＢ１．０と、拡張モデルＥ１．０と、新たなバージョンにおける基本モデルＢ２．０と、である。基本モデルＢ１．０は、入力ポートＩｎ１、入力信号を係数ｋぶん増幅する（または場合によって、ｋ＜１の場合には減衰させる）増幅ブロックＧａｉｎ、および出力ポートＯｕｔ１を含んでいる。拡張モデルＥ１．０では、入力ポートおよび出力ポートが、付加的なパラメータを有する相応するポートによって置き換えられている（ポートにおける２つの斜線によって暗示されている）。Ｇａｉｎブロックも相応する拡張ブロックによって置き換えられている（２つの線によって暗示されている）。出力ポートに対しては例えば２つの拡張パラメータが示されており、詳細には、出力変数の所望のデータタイプＩｎｔ８ならびに所望のスケーリング２−１３が示されている。基本モデルＢ２．０の新たなバージョンは、飽和ブロックＳａｔｕｒａｔｉｏｎを含んでおり、これは、増幅ブロックの出力信号を、所定の間隔に制限する。コード作成のために、新たなバージョンにおける拡張モデルＥ２．０が必要である。
【００５１】
元来の基本モデルＢ１．０と処理された基本モデルＢ２．０との間の違いを、比較プログラムＭＯＣによる２つのモデルの比較に基づいて求めることができる。多くの疑似的な違いが発生するのを阻止するために、一般的に有利には、ここでモデルが「アライメント」され、すなわちユーザーは、古い基本モデルＢ１．０における特定のブロックが、新たな基本モデルＢ２．０における特定のブロックに相応する、もしくはこれと同一視されることを規定する。これは特に、複数の階層的なレベルおよび多くの個々のブロックを有する大規模なモデルに対して当てはまる。
【００５２】
拡張モデルＥ１．０と元来の基本モデルＢ１．０との間の違いは、一般的な変換に分割することができ、これは例えば、拡張された表示における出力ポートによる、基本形における出力ポートの置換である。さらに、このような違いは特別な設定に分割することができ、これは例えば、出力ポートでの特定のスケーリングの選択である。すなわち、変換規則ＴＶと設定規則ＫＶとを区別することができる。変換規則だけを基本モデルに適用する場合、中間モデルＥ１．０＊もしくはＥ２．０＊が生じる。これは拡張ブロックを含んでいるが、適切な帰属が欠如しているため、コード作成には適していない。適切な帰属もしくは拡張パラメータはしばしばコンテキストに関連しており、したがってモデルおよび／または隣接するブロックにおける相応するブロックの配置によって、またはそのパラメータによって変わる。これとは異なり、一度規定された変換は通常、変えられずに、所定のタイプのすべての基本ブロックに適用可能である。
【００５３】
図６は、図５に示された状況の新たなモデルの変換された形態を概略的に示している。新たな基本モデルＢ２．０の入力ポートは変換規則によって、付加的なパラメータを伴う相応する拡張ポートによって置き換えられている。付加的なパラメータに対する値は、設定規則によって適合され得る。この設定規則は、変換された基本モデルＢ１．０、すなわち中間モデルＥ１．０＊における（拡張された）入力ポートと、拡張モデルＥ１．０における拡張された入力ポートと、の比較から特定される、または特定されている。増幅ブロックは、別の変換規則を用いて、拡張された増幅ブロックによって置き換えられている。付加的なパラメータに対する値は、設定規則によって適合され得る。この設定規則は、中間モデルＥ１．０＊における（拡張された）増幅ブロックと、拡張モデルＥ１．０における拡張された増幅ブロックと、の比較から特定される、または特定されている。同様に、出力ポートも、一般的な変換規則および位置に関連する設定規則によって、新たな拡張モデルＥ２．０に移すことができる。例として、データタイプに対する値Ｉｎｔ８および出力ポートでのスケーリングに対する値２−１３が示されている。
【００５４】
新たな基本モデルＢ２．０における飽和ブロックは、変換規則を用いて、拡張された飽和ブロックによって置き換えられている（上方および下方の２つの線によって暗示されている）。データタイプに対する値Ｄｔおよびスケーリングに対する値Ｓｋは、拡張モデルＥ１．０と中間モデルＥ１．０＊との比較から求めることはできない。なぜなら、基本モデルＢ１．０では、飽和ブロックが存在していないからである。したがって、直接的に適用可能な、場所に特有の設定規則は使用可能ではない。
【００５５】
新たなブロック（飽和ブロック）が先行する要素（増幅ブロック）と後続する要素（出力ポート）との間に挿入される、このような状況では、有利には、拡張パラメータに対する可能な値は、隣接するブロックの観察から得られる。これは、一般化された設定規則、もしくはアダプティブな設定規則のことであり得る。ここでは例えば、拡張された出力ポートの拡張パラメータの値を引き継ぐことができる。択一的な手法では、先行する要素の値と後続する要素の値が比較可能であり、一致する場合には、付け加えられるべきブロックに対する共通の値を引き継ぐことが可能である。この手法が有利であるのか、または別の手法が有利であるのかは、各個々の拡張パラメータに対して異なっていてよい。したがって、有利には、比較プログラムは、操作インタフェースを含んでおり、ここでユーザーは、異なる手法間の選択をすることができる。ここで、選択された手法は有利には、新たな設定規則として格納される。
【００５６】
図７は、２つの比較されるべき階層的なモデルの概略図を示している。左側には、第１のブロック図が示されており、これは、第１の階層レベルＥ１と第２の階層レベルＥ２とを有している。右側には、３つの階層レベルＥ１、Ｅ２およびＥ３を有する第２のブロック図が示されている。
【００５７】
階層レベルＥ１において、第１のブロック図は規定ブロックＤ１と、信号によって結合された４つのブロックＢ１、Ｂ２、Ｂ４、Ｂ５と、を含んでいる。ブロックＢ４は、階層的なブロックであり、その機能性は、下位の階層レベルＥ２における多くのブロックによって規定されている。見やすくするために、ブロックＢ１、Ｂ２、Ｂ５を、下位の階層レベルを有していない簡易的なブロックと仮定する。しかし、基本的には、別の階層的なブロックが存在していてもよく、これらはそれぞれ、別個の下位の階層レベルにおいて実装されるだろう。
【００５８】
下位の階層レベルＥ２において、第１のブロック図は、入力ポートＰ２１、出力ポートＰ２２および信号によって結合されている３つのブロックＢ２１、Ｂ２２、Ｂ２３を含んでおり、これらは計算演算を実行する。
【００５９】
第２のブロック図は、第１の階層レベルＥ１において、規定ブロックＤ１と、信号によって結合されている５つのブロックＢ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５と、を含んでいる。第１のブロック図とは異なり、付加的なブロック（Ｂ３）がＢ２とＢ５の間に挿入されている。上述したように、変換されたブロックの拡張パラメータに対する値は、先行する要素と後続する要素との比較から求めることができる。しかし例えばスケーリングに対しては、新たに付け加えられたブロックが、後続する要素のこれまでの値を無効にすることがある。ブロックＢ３が、特に、大きい増幅を伴う増幅ブロックである場合、これまでのデータタイプがＢ５に供給される信号に対して過度なものとなることもある。したがって有利には、このような観点において問題となるブロックの挿入後に、後続のブロックに対する「ワースト・ケース」スケーリングが提案される。具体的には、例えば、８ビットの幅の整数変数を、１６ビットの幅の整数変数によって置き換えることができる。有利には、提案された変更は、ユーザーに、グラフィカル操作インタフェースにおいて表示され、したがって、ユーザーは、これを確認、編集または拒絶することができる。付加的に、変更されたモデルにおけるこのような提案またはクリチカルな箇所のリストが表示されるようにすることもできる。これによって、ユーザーは所期のように、相応する箇所を立ち上がらせ、それぞれ、適切な手法を選択することができる。
【００６０】
見やすくするために、ここでは、第２のブロック図の第１の階層レベルにおいて、ブロックＢ４だけが、階層的なブロックであると仮定する。第２の階層レベルは、入力ポートＰ２１とブロックＢ２１と出力ポートＰ２２とを含んでいる。ブロックＢ２１は階層的なブロックであり、その実装は、下位の第３の階層レベルＥ３における複数の別のブロックによって、モデリングされている。第３の階層レベルＥ３は、入力ポートＰ３１と、３つのブロックＢ３１、Ｂ３２、Ｂ３３と、出力ポートＰ３２と、を含んでいる。第１のブロック図と第２のブロック図の直接的な比較において、各第１の階層レベルの下方のすべてのブロックは違いとして表示されるだろう。例えば、左側のブロックＢ４が意味論的に完全に相違するブロックによって置き換えられている場合、これは有利であり得る。しかし、例えば第１のブロック図のレベルＥ２が、第２のブロック図のレベルＥ３と一致する場合、これは誤解を招き得る。ここでは付加的な階層レベルが後の拡張のための空間として挿入されている（例えば入力信号の事前フィルタリング）。直接的な比較は、多くの、誤解を招く違いを生じさせるだろう。このような場合には、有利には、左側のブロックＢ４が右側のブロックＢ２１と同一視されるべきである。なぜなら、このような場合には、下位の、構造的に一致するモデリングが、相違するパラメータに関して検査され得るからである。ユーザーはこのような判断を合理的に行い、これは例えば個々の、比較前に実行される規則として格納されてよい。
【００６１】
図８は、概略的に、例示的な操作インタフェースを示しており、これは、変換規則および／または設定規則の編集を可能にする。基本的に規則は、フィルタ、すなわち、検査されるべき条件もしくは一致に関して検査されるべきパターンを含んでおり、さらに行動、すなわち条件が満たされている場合もしくはパターンが一致する場合に適用されるべき変更を含んでいる。
【００６２】
拡張モデルと割り当てられた中間モデルとの比較から求められた設定規則は、通常、はじめは特殊である、もしくは場所に関連している。場所は、階層的なモデルでは、例えばブロック経路の形態で示されてよく、これは、上位のサブシステムもしくは階層レベルを含んでいる。多くの設定規則が求められ、データバンク内に格納された後、有利には、複数の個々の設定規則が、一般化可能か否かが検査される。付加的にユーザーは優先順位を設定することができ、ここで、一般的な設定規則の基本的な優遇も設定可能である。自由選択的に、一般化された設定規則を識別し、格納した後に１つ、複数またはすべての、これによってカバーされる個々の設定規則がデータバンクから消去される、または機能していないものとしてマークされるようにすることもできる。一般的な設定規則は、変換規則と同様に、ブロックタイプに基づくフィルタリングを含んでいてよい。しかし、特定の環境の存在、すなわち先行する要素および／または後続する要素である定義されたブロックが、フィルタリングの判断基準として使用されるようにすることもできる。
【００６３】
図示されたユーザインタフェースでは左側に、部分「フィルタ」が示されており、ここではユーザーは、フィルタを入力することができる。このために、領域「経路」および割り当てられた入力面ならびに割り当てられた入力面を伴う領域「ブロックタイプ」が設けられている。基本的には、フィルタリングのために別の領域もしくは特性が使用されてもよい。すなわち図示の例では、ユーザーは、フィルタリングを具体的な経路または具体的なブロックタイプについてのみ設定することができる。さらに、「この経路は特定のサブシステムを含んでいる」および「このブロックタイプは特定の値を有している」等のように、組み合わされた判断基準をユーザーが定めることも可能である。
【００６４】
図示されたユーザインタフェースの右側には、部分「行動」が示されており、ここではユーザーは、条件が満たされている場合にもしくは条件が満たされたすべての箇所において実行されるべき行動もしくは適用されるべき変更を示す。このために、領域「タイプ」、領域「名称」および領域「クラス」が、それぞれ割り当てられた入力面とともに設けられている。これに相応して、適用されるべき変更は、「タイプ」の下に示された値へのブロックタイプのセットおよび／または「名称」の下に示された値へのブロック名のセットおよび／または「クラス」の下に示された値への変数クラスのセットを含んでいてよい。基本的には、別の、示されていない変更も適用可能である、もしくは行動が実行可能である。
【００６５】
図示されているユーザインタフェースの下方には、部分「妥当性」が示されており、ここではユーザーは、適用された変更に従って検査されるべき条件を設定することができる。このために、領域「パラメータ」、領域「最小値」、領域「最大値」がそれぞれ、割り当てられた入力面とともに設けられている。付加的に（図示されていない）、妥当性条件が満たされていない場合に、一般的な警告、またはモデル内の相当する箇所が示されるべきか否か、もしくは、妥当性が欠如している場合に、適用された変更が取り消されるべきか否かをユーザーが設定することもできる。
【００６６】
本発明の方法もしくは相応するシステムによってユーザーは、設定規則もしくは変換規則のコレクションを相次いで構築することができる。特に、基本モデルの連続した複数のバージョンからそれぞれコードが作成されるべき場合、適合のコストは、バージョンが増えるとともに、著しく減少する。
【図１】
2020057385.tif 000003
【図２】
2020057385.tif 000004
【図３】
2020057385.tif 000005
【図４】
2020057385.tif 000006
【図５】
2020057385.tif 000007
【図６】
2020057385.tif 000008
【図７】
2020057385.tif 000009
【図８】
2020057385.tif 000010
【外国語明細書】
2020057385.tif 000011
2020057385.tif 000012
2020057385.tif 000013
2020057385.tif 000014
2020057385.tif 000015
2020057385.tif 000016
2020057385.tif 000017
2020057385.tif 000018
2020057385.tif 000019
2020057385.tif 000020
2020057385.tif 000021
2020057385.tif 000022
2020057385.tif 000023
2020057385.tif 000024
2020057385.tif 000025
2020057385.tif 000026
2020057385.tif 000027
2020057385.tif 000028
2020057385.tif 000029
2020057385.tif 000030
2020057385.tif 000031
2020057385.tif 000032
2020057385.tif 000033
2020057385.tif 000034
2020057385.tif 000035
2020057385.tif 000036
2020057385.tif 000037
2020057385.tif 000038
2020057385.tif 000039
2020057385.tif 000040
2020057385.tif 000041
2020057385.tif 000042
2020057385.tif 000043
2020057385.tif 000044
2020057385.tif 000045
2020057385.tif 000046