JP2014056579A - 実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法 - Google Patents

実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法 Download PDF

Info

Publication number
JP2014056579A
JP2014056579A JP2013188429A JP2013188429A JP2014056579A JP 2014056579 A JP2014056579 A JP 2014056579A JP 2013188429 A JP2013188429 A JP 2013188429A JP 2013188429 A JP2013188429 A JP 2013188429A JP 2014056579 A JP2014056579 A JP 2014056579A
Authority
JP
Japan
Prior art keywords
option
value
model
program code
hierarchical level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013188429A
Other languages
English (en)
Other versions
JP6177064B2 (ja
Inventor
Karsten Fischer
フィッシャー カーステン
Pietzsch Torsten
ピーチュ トアステン
Mair Michael
マイア ミヒャエル
Wolfgang Trautmann
トラウトマン ヴォルフガング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dspace Digital Signal Processing and Control Engineering GmbH
Original Assignee
Dspace Digital Signal Processing and Control Engineering GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace Digital Signal Processing and Control Engineering GmbH
Publication of JP2014056579A publication Critical patent/JP2014056579A/ja
Application granted granted Critical
Publication of JP6177064B2 publication Critical patent/JP6177064B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Abstract

【課題】グラフィックモデルをプログラムコード及び実行可能制御プログラムへと翻訳するためのオプションの値を粒状に設定でき、それらのオプションに対する値の矛盾のある設定を自動的に回避する、実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法を提供する。
【解決手段】異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデル(Sj)に関して、グラフィックモデル(S0)を翻訳するためのオプション(X)に対する値(xj)を設定し、該オプション(X)に対する値(xj)を各サブモデル(Sj)に関するプログラムコードのコンピュータ支援による生成時に考慮し、下位の階層レベルにおけるサブモデル(Sj)の値(xj)が設定されていないオプション(X)は、上位の階層レベルにおけるサブモデル(Sj)の対応するオプション(X)の値(xj)を引き継ぐ。
【選択図】図2

Description

本発明は、少なくとも一つの電子計算ユニットを備えている制御システムを制御するための実行可能制御プログラム、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び/又は較正プログラムの少なくとも一部をコンピュータ支援により生成するための方法に関し、制御プログラムの機能は少なくとも部分的に、少なくとも一つのグラフィックモデルに記述されており、グラフィックモデルは複数の階層レベルにおいて複数のサブモデルに分類されており、或る階層レベルの一つのサブモデルを入れ子構造で下位の階層レベルの複数のサブモデルに分類することができ、グラフィックモデルをプログラムコードに翻訳するためのオプションに対して値が設定され、そのオプションの値を考慮して、グラフィックモデルからコンピュータ支援によりプログラムコードが生成され、そのプログラムコードを用いて、プログラムコードが実行可能制御プログラムに翻訳される。
その種の方法は、大抵はリアルタイム処理能力を有している制御システムのための確実で快適な自動コード生成(例えばTargetLinkを用いるシリアルコード生成)を実現するので、数年来、制御システムの発展と共に広く普及し、また定着した。計算ユニットとして(制御システムの複雑度に応じて、部分的又は完全にネットワーク化された一つ又は複数の)制御装置が使用されることが多い。制御装置は通常の場合、相応のI/Oインタフェースを有しており、それにより、制御すべき物理技術的なシステムの状態量を測定技術的に検出することができ、また所定の調整量を出力することによって物理技術的なシステムを制御することができる。
その種の方法の利点は、抽象的なレベルにおいて、グラフィックモデルに基づき、制御プログラムの所望の機能を例えばブロック回路図の形でモデリングすることができる。ブロック回路図は、それ自体は複雑な算術的及び構造的な関係を非常に簡単に表すことができる。I/O機能自体をその種のグラフィックモデルの枠内で表し、モデリングすることもできる。基本的には、上述の方法を使用することによって、電子計算ユニットの非常に特別なハードウェアのためにプログラムコードを生成し、そのプログラムコードを実行可能制御プログラムに翻訳、即ちコンパイルし、その特別なターゲットハードウェアにおいて実行及びテストすることができる。制御の構想のプログラムコードへの、従って最終的には制御プログラムへのエラーが生じやすい手動の翻訳は行なわれないので、それによって、今日の一般的な短い開発サイクルを例えばラピッドコントロールプロトタイピング(Rapid-Control-Prototyping)又はハードウェアインザループシミュレーション(Hardware-in-the-Loop-Simulationen)の枠内で実現することができている。
グラフィックモデル、特にブロック回路図の形のグラフィックモデルは、一つの機能を種々のモデル部分に分類することに特に適している。或る階層レベル内若しくは或る階層レベル上の複数のモデル部分は、その階層レベルにおいて全体のグラフィックモデルに補完される。それらのモデル部分は、多くのグラフィックモデルが複雑であることにのみ起因して、異なる開発者又は開発グループによって処理される。車両の場合、モデル部分は例えば駆動ユニット、パワートレーン及び車両構造のモデルであり、それらの各モデル部分を別のモデル部分、即ちサブモデルに分割することができる。
一般的には、グラフィックモデルを階層レベル内若しくは階層レベル上で複数のモデル部分に分類できるだけではない。即ち、グラフィックモデルを「水平方向において」相互的に補完する複数のモデル部分に分類できるだけではない。むしろ、階層レベルのグラフィックモデル若しくはその階層レベルにおける複数のサブモデルをそれぞれ複数のサブモデルに分類することができるか、若しくは異なる階層レベルの複数のサブモデルに入れ子構造にすることができ、その場合、下位の階層レベルにおけるサブモデルは、一つ上の階層レベルの対応するサブモデルの機能を異なる詳細レベルでのみ表していることが多い。従って、異なる階層レベルにおいて入れ子構造にされたグラフィックモデルのサブモデルは「垂直方向に」拡大され、同一の機能が異なる詳細レベルで表される。異なる階層レベルのサブモデルも、異なる開発者がワークシェアリングで同時に処理することに適している。
グラフィックモデルの種々の部分間若しくは入れ子構造のサブモデル間には、グラフィックモデルのそれらの部分若しくはサブモデルからのプログラムコードの生成に関連し、また、プログラムコードを実行可能制御プログラムに更に翻訳する際に考慮しなければならない依存関係が存在することは容易に理解できる。
特許文献1からは、グラフィックモデルの算術的で抽象的な部分を、ターゲットハードウェアのハードウェアに依存する調整に依存せずに簡単なやり方で構成することができる、実行可能制御プログラムを生成するための方法が公知である。
特許文献2からは、制御システムを制御するための実行可能制御プログラムを生成するための別の方法が公知であり、この方法では、データエレメント収集部におけるデータエレメントと、グラフィックモデルの複数の部分のデータエレメントとの間の適切な関連付けによってプログラムコードの矛盾のない生成を達成している。
下記において説明する本発明は、サブモデル間の依存性に基づいたグラフィックモデルのプログラムコードへの翻訳は問題になる可能性があるということ、特に、グラフィックモデルをプログラムコードに翻訳するための複数のオプションに対して値が設定され、それらの設定値がプログラムコードの実行可能制御プログラムへの翻訳に影響を及ぼし、またそれらの設定値が例えば入れ子構造にされた複数のサブモデルにおいて異なっている場合には問題になる可能性があるということを基礎としている。その状況においては、場合によっては多義的なオプション設定(例えばコンパイル指示文)をどのようにして解消することができるか、論理的に矛盾する設定をどのようにして回避することができるか、また、起こり得る矛盾をどのようにして解消することができるかという問題が生じる。
EP 1 522 910 A1 EP 2 330 469 A1
従って本発明の課題は、グラフィックモデルをプログラムコード及び実行可能制御プログラムへと翻訳するためのオプションの値を粒状に設定でき、それらのオプションに対する値の矛盾のある設定を自動的に回避する、実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法を提供することである。
上記に挙げた課題を解決する本発明による方法は、第一に、また実質的に、グラフィックモデルを翻訳するためのオプションの値が、異なる階層レベルにおいて入れ子構造にされている少なくとも二つのサブモデルに対して設定され、そのオプションの値が、各サブモデルに関するプログラムコードのコンピュータ支援による生成の際に考慮され、下位の階層レベルにあるサブモデルにおいて値が設定されていないオプションは、上位の階層レベルにあるサブモデルの対応するオプションの値を引き継ぐことを特徴としている。
即ち、本発明による方法は、グラフィックモデルを翻訳するためのオプションを、異なる階層レベルにおいて入れ子構造にされている少なくとも二つのサブモデルに対して設定することができ、更に本発明によれば、下位の階層レベルのサブモデルにおけるプログラム生成及びプログラム翻訳のためのオプションに対して設定されていない値は、そのオプションに関する相応の値設定によって、上位の階層レベルのサブモデルから引き継がれる。そのようにして、下位の階層レベルにあるサブモデルについて、上位の階層レベルにあるサブモデルにおけるオプションと同じオプション若しくはオプションに対する値がグラフィックモデルの翻訳のために使用されることが達成され、これによって、相応の値が下位の階層レベルのサブモデルに関するオプションに対して(局所的に)設定されていない場合でも必ず画一的な処理が保証されている。その種のオプションの例は、翻訳機(コンパイラ)に対する最適化指示文(ランタイムを高速にするか、又は所要メモリを少なくするためのコードの最適化)、制御システムのビット幅に関する値の設定、メモリレイアウトに関する設定、セキュリティに関連するオプションの設定(最適化は許容されるか又は許容されないか)等である。
実行可能制御プログラムの少なくとも一部を生成するためのコンピュータ支援による方法の一つの有利な実施の形態によれば、下位の階層レベルにあるオプションに対して設定された値は、上位の階層レベルにある対応するオプションに対して設定された値よりも優先される。ここでもまた、階層レベルは入れ子構造のサブモデルを有している。下位の階層レベルにあるオプションに対して値が設定されている場合には、この値は上位の階層レベルにおいて設定されたオプションをカバーするので、それによりその種の局所的に設定された値は、上位の階層レベルにある同一のオプションに対して設定された値よりも優先される。この特性により、例えば、入れ子構造のサブモデルにおいて複数の最適化オプションを種々にセットすることができ、それによってオプションに対する値の設定における所望の粒度を達成することができる。
本方法の更に有利な実施の形態においては、或る階層レベルにあるサブモデルに関するオプションに対して設定される値に関して、下位の階層レベルの個数を示すことができ、またその個数において該当するオプションに対して設定されている値は優先されることが示される。この措置によって、有用に、オプションに対する値設定の影響範囲を調整することができる。特に、下位の階層レベルの選択されたこの個数に応じて、該当するオプションの値はやはり上位の階層レベルにおいてそのオプションに対して設定された値を取る。設定に関して下位の階層レベルの個数として値0が選択されると、このことは、該当するオプション対する値は、値が設定されたその一つの階層レベルにおいてのみ有効であることを意味している。この有利な特性によれば、既にその場合に、入れ子構造のサブモデルの直ぐ下の階層レベルにおける値が、該当するオプションに対して、入れ子構造のサブモデルの上位の階層レベルにおいてセットされた値をやはり有している。直ぐ下の階層レベルにおいても、該当するオプションに対する値の局所的な設定がやはり可能である。
別の有利な実施の形態によれば、本発明による方法では、或る階層レベルのサブモデルについてのオプションに対して設定された値及び/又は最上位の階層レベルにあるモデルについてのオプションに対して設定された値が不変の値として特徴付けられ、即ち不変のオプションとして特徴付けられ、それにより、そのオプションに対する値は下位の階層レベルにおいてももはや変更されず、特に、下位の階層レベルにおいて対応するオプションに対して別の値が設定される場合であっても変更されない。このことは例えば、階層レベルを包括的に画一的に設定しなければならないオプションにとって有意義である。制御システムが例えば、単一の既知のビット幅を有する単一の電子計算ユニットのみを備えている場合には、本発明による構成は例えば、全ての階層レベルにおける全てのサブモデルに関して生成すべきコードのビット幅の設定を画一的に実現する。
本方法の別の有利な発展形態によれば、グラフィックモデルをプログラムコードに翻訳するためのデフォルトオプションが決定され、特に、グラフィックモデルにおける対応するオプションの値が決定されていない場合には、最上位の階層レベルにおけるモデルの対応するオプションに対する設定値として使用されるデフォルト値が設定される。この措置によって、必要のオプションが全く考慮されない事態を阻止することができ、また同様に、それらのオプションに対して値が設定されない状態が継続され、後に、プログラムコードを問題無く生成することが阻止されるか、又はプログラムコードを制御プログラムへと問題無く翻訳することが阻止されることを回避することができる。
他方において、本方法のユーザによって、オプションに対する値の設定を強制するために、本方法の有利な実施の形態においては、或る階層レベルにあるサブモデルについての少なくとも一つのオプション、及び/又は、最上位の階層レベルにあるモデルについての少なくとも一つのオプション、及び/又は、少なくとも一つのデフォルトオプションが下位の階層レベルにおいて値が設定されているオプションとしてマーキングされる。特に、所属のオプションがグラフィックモデルのプログラムコードへの翻訳の時点に下位の階層レベルでは値が設定されていない場合にはエラー通知又は警告が出力される。エラー通知の際には翻訳プロセスが中断される。警告が出力される場合には、グラフィックモデルの翻訳は中断されない。しかしながらユーザは、特徴付けられたオプションに対する値の設定が行なわれなかったことを認識する。
別の実施の形態においては、或る階層レベルにおけるサブモデルについての少なくとも一つのオプション、及び/又は、最上位の階層レベルにおけるモデルについての少なくとも一つのオプション、及び/又は、少なくとも一つのデフォルトオプションが一貫性のあるオプションとしてマーキングされる。このことは、遅くともグラフィックモデルをプログラムコードに翻訳する時点において、その一貫性のあるオプションに対する値が全ての階層レベルにおいて一貫性があるように設定されているか否かが検査されることを意味しており、特に、一貫性がないことが識別されると少なくとも一つの通知、有利にはエラー通知又は警告通知が出力されることを意味している。オプションを一貫性のあるオプションとしてマーキングし、続けて、その一貫性のあるオプションに対する値の一貫性について検査できることによって、強制的な一貫性条件が維持されることを保証することができる。一貫性のあるオプションの例は、ターゲットシステムのビット幅であり、このビット幅は少なくとも計算ユニット毎に、(その計算ユニットに対応付けられており、従ってその計算ユニットにおいて後に実行される)他の全てのサブモデルに対しても一貫性があるように設定されなければならない(これは本発明においては本質的なケースであることを意味している)。
本方法の第1の有利な変形の形態によれば、非一貫性が識別されると、グラフィックモデルのプログラムコードへの翻訳が中断されるか、又は、非一貫性を含むモデル乃至サブモデルが無効なプログラムコードに翻訳される。後者の場合には、グラフィックモデルのプログラムコードへの翻訳は確かに中断されないが、しかしながら、プログラムコードにおいては、検出された非一貫性についての指示が相応の個所において生成され、この示唆はプログラムコードの実行可能制御プログラムへの翻訳を防止する。それと同時に、既存の無効のプログラムコードが本方法のユーザにプログラムコードの検査を実現させ、このことは開発にとって有利である。
本方法の別の択一的な変形の形態では、一貫性のあるオプションに一貫性のない値が設定されていることが識別されると、最上位の階層レベルにおいて一貫性のあるオプションに対して設定された値が、下位の階層レベルの入れ子構造のサブモデルに関する設定値としても自動的に設定される。この戦略によって、一貫性のあるオプションに値を一貫性があるように設定することを強制でき、それによりいずれの場合にも好適なプログラムコードが実現される。
本発明による方法の一つの発展形態では総じて、オプションドキュメンテーションが行なわれる。このオプションドキュメンテーションでは、少なくとも一つのオプションの名前及び値が付加的に、そのオプションの結果として生じた値の起源及び/又は由来に関する情報と共に、全体的に、即ちグローバルに、及び/又は、階層レベル毎にドキュメンテーションされ、このことはコードの生成後の追従性を高め、従って所定のオプションに所定の値が設定されている。特に、起源情報がプログラムコードの対応する部分に生成され、起源情報として有利には、該当するサブモデルにおけるオプション及び/又はオプションの値が局所的に設定されているか否か、又は、該当するサブモデルにおけるオプション及び/又はオプションの値が上位の階層レベルのサブモデルによって引き継がれているか否か、又は、該当するサブモデルにおけるオプション及び/又はオプションの値が例えばデフォルト設定によって決定されているか否かが表される。起源情報のドキュメンテーションを全く異なるように実現することもできる。オプション情報、またそのオプション情報と一緒に起源情報は、例えば生成されるプログラムコードの少なくとも一部及び/又は少なくとも一つのファイルにおいて、コメント及び/又はコード定数及び/又はプリプロセッサマクロとしてドキュメンテーションされて格納される、及び/又は、別個に少なくとも一つの別のデータメモリ、特にファイル又はデータバンクにおいてドキュメンテーションされて格納される。
オプション情報の択一的なドキュメンテーションによれば、オプション情報(そのオプション情報と一緒に起源情報)が別個に、グラフィックモデルの翻訳によって生成され、特に生成されドキュメンテーションされたオプション情報がエラーについて検査され、有利には一貫性のあるオプション、若しくは一貫性のあるオプションに対して設定された値が互換性について相互に検査される。オプション情報が別個にグラフィックモデルの翻訳によって生成される場合には、このことは、オプション情報だけをドキュメンテーションすることもできることを意味しており、その場合には、グラフィックモデルのプログラムコードへの翻訳も行なう必要はない。このことは、特に、ドキュメンテーションされたオプション情報を続けて検査する際に、不適切なオプション又は不適切な値が設定されたオプションでは、グラフィックモデルのプログラムコードへの翻訳又はプログラムコードの実行可能制御プログラムへの翻訳が場合によっては失敗する、若しくは実施されないか否かを非常に迅速に確認することができるという利点を有している。複雑なグラフィックモデルのプログラムコードへの翻訳は、基礎となるグラフィックモデルの大きさに依存して、十分に数時間を要する可能性があり、それにより、ドキュメンテーションされたオプション情報の検査に基づく、本発明により提案される妥当性検査によって、翻訳プロセスが場合によっては実施されないことを事前に早期に発見できる。
択一的な変形の形態では、オプション情報が(またそのオプション情報と一緒に起源情報も)プログラムコード自体において生成される。その際に、オプション情報は適切な翻訳指示文によって、翻訳機によるプログラムコードの実行可能制御プログラムへの翻訳時に評価され、特に一貫性のあるオプションにおいて設定されている値の一貫性に関して評価される。
以下では、翻訳機(ここではCコンパイラ)によってオプション情報の翻訳をどのように実行することができるかを一例に基づき説明する。この例では、グラフィックモデル「higher」がサブモデル「lower1」及び「lower2」を含んでいる。オプション「BitWidth」が設けられており、このオプションはターゲットプロセッサ、即ち制御システムのビット幅を表している。サブモデル「lower1」に関してヘッダファイル「lower1.h」が生成され、このヘッダファイルは#define指示文の範囲においてオプション情報を含んでいる。これによって、どのオプション(BitWidth)がどの値(32)に設定されているかがドキュメンテーションされており、更には、項「LOWER1」が先頭に付加されることによって起源情報も格納されている。ファイル「lower2.h」の生成に使用されるサブモデル「lower2」に関しても同様に実施される。二つのサブモデルに関して、オプション「BitWidth」に対して異なる値がセットされていることが見て取れる。全体のモデル「higher」によって行なわれるヘッダファイル「higher.h」の生成は、コンパイラによって評価することができる翻訳指示文を含んでいる。即ちコンパイラによる評価は、オプション「BitWidth」のドキュメンテーションされた値は一致しているかについて検査され、また、一致していない場合にはエラー通知が出力されることによって行なわれる。
Figure 2014056579
従ってここでは、階層的に最上位のレベルにあるグラフィックモデルに関して、階層的に下位にあるサブモデルに関するオプションが、プログラムコードの実行可能制御プログラムへの翻訳時に互換性及び一貫性について検査することができる指示文を含むプログラムコードが生成されている。
オプション及びそのオプションに対して設定された値、また必要に応じてそのクラス分け(不変のオプション、デフォルトオプション及び/又は一貫性のあるオプションとしてのマーキング)を種々の位置に格納することができる。第1の有利な変形の形態によれば、少なくとも一つのオプションがその値、また必要に応じてそのクラス分けがグラフィックモデルと共に少なくとも一つのモデルファイルに記憶され、それによりコード生成及び翻訳に関連する情報がグラフィックモデル自体に結合されている。つまり、その場合には、オプションは直接的にその起源位置と結合されている。代替的な実施の形態においては、少なくとも一つのオプション、その値、また必要に応じてそのクラス分けが別個のデータバンク又はファイルに格納され、そこにおいて各サブモデルと関連付けられるので、この参照付けに基づき、グラフィックモデルにおける起源位置への対応付けが存在している。
上記の課題は、上述の方法が実施されているコンピュータ支援による開発環境によっても解決される。即ち、開発環境は、少なくとも一つの電子計算ユニットを備えている制御システムを制御するための実行可能制御プログラム、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び/又は較正プログラムをコンピュータ支援により生成するために使用される。ここで制御プログラムの機能は少なくとも部分的に、少なくとも一つのグラフィックモデルに記述されている。グラフィックモデルはサブモデルに分類されており、更には、或る階層レベルのサブモデルはそれよりも下位の階層レベルのサブモデルに入れ子構造で分類することができる。開発環境自体は、グラフィックモデルの処理に必ずしも適している必要はないが、しかしながら開発環境はいずれの場合にも、グラフィックモデルに関する情報を受け取ることができなければならない。開発環境によって、グラフィックモデルをプログラムコードに翻訳するためのオプションに対して値を設定することができる。開発環境は続けて、オプションの値を考慮して、グラフィックモデルからプログラムコードを生成し、プログラムコードは続けて開発環境によって、そのプログラムコードを用いて実行可能制御プログラムに翻訳される。それ以降、制御プログラム自体を制御システムにおいて実行することができる。本発明による開発環境によって、異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデルに関して、グラフィックモデルを翻訳するためのオプションに対する値を設定することができ、そのオプションに対する値は各サブモデルに関するプログラムコードを生成する際に開発環境によって考慮される。開発環境は、下位の階層レベルにあるサブモデルの値が設定されていないオプションを識別し、そのオプションに対して、上位の階層レベルにおけるサブモデルの対応するオプションの値を自動的に設定し、それによって値の設定されていないオプションを自動的に補完することが実現される。従って開発環境は、上記において説明した別の方法ステップも開発環境によって自動的に実施することができるように設計されており、その場合、開発環境は場合によっては必要とされるユーザ入力も実現する。
詳細には、実行可能制御プログラムの少なくとも一部を生成するための本発明による方法を構成及び発展させるための多数の実現手段が存在する。これに関して、一方では請求項1に従属する請求項を、また他方では図面と関連させて記述する以下の実施例の説明を参照されたい。
制御プログラムの少なくとも一部を生成するための方法を実施するための複数のコンポーネントとその作用関係を示す。 実行可能制御プログラムを生成するための本発明による方法の第1の実施の形態を示す。 実行可能制御プログラムを生成するための本発明による方法の別の実施の形態を示す。 本発明による方法における不変のオプションの使用を示す。 本発明による方法におけるデフォルトオプションの使用を示す。 本発明による方法の範囲において値の設定が強制されるオプションの使用を示す。 本発明による方法における一貫性のあるオプションの使用を示す。 本発明による方法の範囲において一貫性のあるオプションの使用に関する別の実施例を示す。 オプションの格納及び本発明による方法を使用するためのオプションの値の例を示す。
図1には、本発明による方法の理解に必要とされる種々の構成要素が示されている。本発明による方法は開発環境1によってコンピュータ支援のもとで実施され、この方法の実施により、少なくとも一つの電子計算ユニット4を備えている制御システム3の制御に使用される実行可能制御プログラム2の少なくとも一部が得られる。ここで制御システム3はI/Oインタフェースを備えている制御装置であり、このI/Oインタフェースを介して制御システム3は物理的なプロセス5と相互作用する。制御システム3は、所期のようにプロセス5に作用を及ぼすために、制御信号の出力によってプロセス5に作用を及ぼし、またプロセス5の状態量を測定技術的に検出することによってプロセス5に関する情報を受け取る。
制御プログラム2の機能は少なくとも部分的に少なくとも一つのグラフィックモデルS0に記述される。図示されている実施例においては、グラフィックモデルS0は通常の信号フローが示されているブロック回路図である。四角形/三角形/円として表されている伝達要素は信号の算術的な演算を実施する。グラフィックモデルS0はサブモデルS1,S2,S3に分類され、それらは総称的にサブモデルSiとしても表される。サブモデルS1はこの実施例において最上位の階層レベルに位置しており、入れ子構造的に下位の階層レベルのサブモデルS11,S12を有している。下位の階層レベルのサブモデルのその種の分類を、更に下位の階層レベルのサブモデルを用いて再帰的に更に実施することができる。このことは図1において、サブモデルS11に関してサブモデルS111に基づき示唆されている。サブモデルをこのように理解する場合、グラフィックモデルS0も一つのサブモデル、即ち、最上位の階層レベルにあるサブモデルある。
サブモデルS2,S3はサブモデルS1と同じ階層レベルにある。それらのサブモデルS2,S3の階層的な更なる分類は図1において明示的に示していない。グラフィックモデルS0は最上位の階層レベルにある。グラフィックモデルS0はプログラムコードに翻訳される。プログラムコードはここでは詳細に説明しない。プログラムコード自体は続いて実行可能制御プログラム2に翻訳される。ここでは、グラフィックモデルS0からCプログラムコードが生成され、このCプログラムコードがCコンパイラによって制御プログラム2に翻訳される。
翻訳プロセスの前に、グラフィックモデルS0をプログラムコードに翻訳するためのオプションXに対して値xが設定される。図示されている実施例において、オプションXが一つ又は複数の大文字A,B,C,D,E,Fで表され、またオプションXの値xは相応に一つ又は複数の小文字a,b,c,d,e,fで表される。オプションA,B,C,D,E,Fの値a,b,c,d,e,fを考慮して、モデルS0からコンピュータ支援によりプログラムコードが生成され、またそのプログラムコードを用いて実行可能制御プログラム2への翻訳が行なわれる。つまり、プログラムコードがそのプログラムコードを「用いて」実行可能制御プログラムに翻訳される場合、これは、専らグラフィックモデルS0を基礎とするプログラムコードだけを用いて制御プログラム2が生成されなければならないのではなく、むしろ、制御プログラムの機能を表すために他の情報、例えば、制御プログラムに流し込むこともできる、他のソースから提供されたプログラムコードの形の情報も使用されることを顧慮する。
図2は、実行可能制御プログラム2の少なくとも一部をコンピュータ支援により生成するための本発明による方法のオペレーションが示されている。本方法によれば、グラフィックモデルS0の翻訳のためのオプションA,B,...(以下同様)に対する値xj(以下ではa0,b0,...,a1,b1,...(以下同様)で表される)を異なる階層レベルで入れ子構造になっている少なくとも二つのサブモデルSj(この実施例では入れ子構造のサブモデルS0,S1)に関して設定することができる。オプションA,B,...(以下同様)に対する値a0,b0,...,a1,b1,...(以下同様)は各サブモデルS0,S1に関するプログラムコードをコンピュータ支援により生成する際に考慮される。
サブモデルS1のオプションX(図2による例においてこれはオプションB,C及びFに該当する)に対して下位の階層レベルでは値xが設定されていない場合には、下位の階層レベルにおけるそれらのオプション(ここではB,C及びF)に対して、上位の階層レベルのサブモデルS0の対応するオプションの値xが設定される。即ち、上位の階層レベルの対応するオプション値が下位の階層レベルにおいて引き継がれる。図示されている例においては、サブモデルS1に関して値b0,c0及びf0がサブモデルS0から引き継がれる。異なる階層レベルにおいて入れ子構造になっているサブモデルに関して異なるオプション値を設定できることによって、グラフィックモデル乃至グラフィックモデルのサブモデルを翻訳するためにオプションを粒状に、従って状況に応じて設定することができる。下位の階層レベルにおいて値が設定されていないオプションに対して値は設定されずに、その代わりに上位の階層レベルから値が引き継がれるという措置によって、画一的な特性が達成され、それと同時にエラーを巧妙に回避することができる。
図3には、コンピュータ支援により自動的に実施される、実行可能制御プログラムを生成するための前述の方法の更に発展された二つの特性が示されている。前述の例と同様に、ここでもまたオプションA,...,Fが使用され、またそれらのオプションA,...,Fに値a,...,fを設定することができる。最上位の階層レベルにあるモデルS0においては、オプションCを除く他の全てのオプションA,B,D,E,Fに対して値a0,b0,d0,e0,f0が設定されている。後続の下位の階層レベルのサブモデルS1,S11,S111はそれぞれ二つの行で表されている。上の行は、サブモデルに対して、また個々のオプションに対して現在どの値が設定されているかをそれぞれ表しており、下の行は、本発明による方法の規則性を適用した後(それぞれ下に向けられた矢印によって示唆されている)に値が必要に応じて変更されていることを表している。
先ずオプションBについてのみ考察する。最上位の階層レベルにおけるグラフィックモデルS0に関して、オプションBに対しては値b0が設定されている。直ぐ下の階層レベルにおけるサブモデルS1に関して、オプションBに対しては値b1が設定されている。入れ子構造のサブモデルS0,S1に関して異なる値b0,b1が設定されているこのケースでは、本発明により実現される方法によって、下位の階層レベルS1ではオプションBに対して設定された値b1が維持される。即ち、値b1は下位の階層レベルS1では、上位の階層レベルにあるモデルS0においてオプションBに対して設定された値b0よりも優先される。同じ特性が最下位の階層レベルにあるサブモデルS111においても見て取れる。この最下位の階層レベルでは、オプションBに対して設定された値b111は直ぐ上の階層レベルにあるサブモデルS11に関するオプションBに対して設定された値b1よりも優先され、その結果、サブモデルS111に関しては値b111が維持される。サブモデルS111に関するオプションBに対して値が設定されていなかった場合、図2に基づき説明した方法の実施後には、サブモデルS11に関して有効な値b1がサブモデルS111に関しても引き継がれなければならない。
図3からは、実行可能制御プログラム2を生成するための方法の更に特別な特性が読み取れる。図示されている方法の変形の形態によれば、或る階層レベルのサブモデル(図示されている例においてはサブモデルS1)に関するオプション(この例ではオプションA,D,E及びF)に対して設定されている値(この例では値a1,d1,e1及びf1)に関して、該当するオプションに対して設定されている値が優先される、下位の階層レベルの個数を表すことができる。図示されている実施例において、下位の階層レベルのこの個数に応じて、該当するオプションに対する値は同様に上位の階層レベルの値を取る。この特性を先ず、サブモデルS1においてオプションAに対して設定された値a1に基づき例示的に説明する。サブモデルS1に関しては値a1が設定されているだけではなく、値a1には付加的にその影響範囲の情報、即ち、幾つ下の階層レベルまでその値は入れ子構造のサブモデルS11,S111に引き継がれるかの記述が設けられている。従って、サブモデルS1に対して値a1(1)が設定されている。オプションに対して局所的に設定された値、即ちサブシステム内で局所的に設定された値の上記において説明した優先順位に応じて、この値a1(1)は、上位の階層レベルにあるサブモデルS0においてオプションAに対して設定されている値a0によって上書きされず、むしろサブモデルS1において維持される。その設定に応じて、値a1は丁度一つ下の階層レベル、即ちサブモデルS11においても更に維持されるべきである。サブモデルS11においては、値a1の影響範囲が0になり、このことはa1(0)の表記によって明示されている。このサブモデルs11において影響範囲は途絶えるので、オプションAは直ぐ下の階の階層レベルのサブモデルS111においては、親のサブモデルS0の値a0を再び有している。対応する特性は、サブモデルS1において影響範囲が設けられている値d1,e1及びf1にも示されている。
図4には、或る階層レベルにおけるサブモデルに関するオプションに対して設定された値が(従って、最上位の階層レベルにおけるモデルに関するオプションに対する値も)不変の値として特徴付けられる場合、即ち、「不変オプション」として特徴付けられる場合のコンピュータ支援による方法の特性が示されている。図4に示されている実施例において、不変の値は複数のオプションに関して○で囲まれて示されている。最上位のモデルレベルS0では、これはオプションDに対する値d0であり、更にサブモデルS1では、これはオプションBに対する値b1である。値b1及びd0が不変の値として特徴付けられると、それらの値b1,d0は、下位の階層レベルにある入れ子構造のサブモデルS11,S111によっても引き継がれ、しかも、それらの下位の階層レベルS11,S111において対応するオプションB,Dに対して別の値が定められる場合であっても引き継がれる(サブシステムS1における値d1(1)及びサブシステムS111における値b111を参照されたい)。
本方法の別の実施の形態(図5)においては、グラフィックモデルS0をプログラムコードに翻訳するための少なくとも一つのデフォルトオプションXDが決定され、それらのデフォルトオプションXDにそれぞれ一つのデフォルト値xDが設定される。この実施例においては、グラフィックモデルの最上位の階層レベルにおける相応のオプションの値が決定されていない場合には、デフォルトオプションXDに対するデフォルト値xDが、その最上位の階層レベルのモデルS0の相応のオプションに対する設定値として使用されるようにデフォルト値xDが用いられる。図5による実施例においては、モデルS0に関してオプションB,C,D,E,Fだけしか公知でなく、最上位の階層レベルにあるグラフィックモデルS0におけるオプションB,C,D及びFに対してのみ値b0,c0,d0及びf0が設定される。自動化された方法(ここでもまた下に向けられている矢印によって表されている)によって、オプションに対して値が設定されていない場合(このことはモデルにおいて未知のオプションAにも該当する)、それらのオプションに対してデフォルト値が自動的に設定される。それによって、値が予め画一的にデフォルト値として規定されている場合には、局所的にそれらの値を設定しなければならないことが回避される。更には、所定のオプションに対する値の設定が行なわれなかった場合には翻訳プロセスが中断され、デフォルト値が代替案として使用されることも保証することができる。有利な実施の形態においては、オプションに対するデフォルト値を局所的に上書きすることもできる。例えば図5に示されている変形実施形態において、付加的にオプションCもデフォルト値cDを有しているデフォルトオプションCDとして決定されていた場合、グラフィックモデルS0において設定されている、オプションCに対する値c0はこのデフォルト値cDを上書きする。
図6には、モデル内のオプション又はサブモデル内のオプションに値が設定されていなければならない、又はデフォルトオプションとしてのオプションに値が設定されていなければならないようにオプションを構成することができる方法の一つの実施の形態が示されている。図6において、デフォルトオプションAD、オプションC及びオプションEは、必ず値が設定されていなければならないオプションとしてそれぞれ四角で囲まれて示されている。そのような特徴を有するオプションに対して値が設定されない場合、グラフィックモデルS0の翻訳時点に、プログラムコードにおいて所属のオプションに対してより深い階層レベルにおいて値が設定されていなければ、エラー通知又は警告が出力される。図6に示されている実施例においては、最上位の階層レベルのモデルS0において、値が設定されていなければならないものとして特徴付けられているオプションCに値c0が設定されると、強制的な値設定についての要件は満たされている。必ず値が設定されていなければならないものとして特徴付けられているオプションEにはデフォルトオプションEDのデフォルト値eDが設定され、それによりこの場合においても、強制的な値設定についての要件は満たされている。必ず値が設定されていなければならないものとして特徴付けられているデフォルトオプションADの場合、そのオプションADに対する値aの具体的な設定は行なわれず、それにより警告が出力される。つまり図示していない変形実施形態では、同一の状況においてエラーにより中断される。
図7に基づき、一貫性のあるオプションXKの自動的な使用について説明する。図7に示されている方法の特性によって、所定のオプションXをいわゆる一貫性のあるオプションXKとして特徴付けることができ、このことは図示されているケースではサブモデルS1におけるオプションBに該当し、このオプションBはここでは一貫性のあるオプションBKとして表されている。一貫性のあるオプションXKとしてのオプションのマーキングは、種々の入れ子構造のサブモデルに関して、それらオプションに対して一貫性のない設定が行なわれると、特に異なる値が設定されると、解消不可能な矛盾が高い確率で発生する場合には有効である。その種のオプションの例はここでもまた、ターゲットハードウェア、即ち制御プログラム2が実行されるべき制御システム3に関するビット幅である。一貫性のあるオプションとしてオプションBをマーキングすることは、遅くともグラフィックモデルS0の翻訳時点に、全ての階層レベルにおいて一貫性のあるオプションに対する値の検査が実行され、非一貫性が識別されると警告通知が出力されるか、又はエラー通知でもって翻訳が中断される。一貫性検査の結果が肯定的なものであった場合には、プログラムコード及び制御プログラム2が生成される。
図8には、一貫性のあるオプションを用いて処理が行なわれる、図7に基づき説明した方法の発展形態が示されている。出発状況は図7に示したものと同じであり、非一貫性が識別された場合の上述の自動的な方法の特性だけが異なる。一貫性のあるオプションBKに対する異なる値b0及びb1に一貫性がない場合には、図8による方法が翻訳プロセスを中断するのではなく、最上位の階層レベルにおいて、一貫性のあるオプションBKに対して設定された値、ここでは値b0が下位の階層レベルにおける全てのサブモデルに対しても引き継がれるので、それにより値の画一性の意味における一貫性が達成され、それに基づき最終的に制御プログラムが生成される。
図9には、オプションA,...,F及び所属の値a,...,f並びにそのクラス、例えばデフォルトオプション、一貫性のあるオプション又は不変のオプションがグラフィックモデルとは別個にデータバンク6に格納されていることが示されており、このデータバンク6においては更に各サブモデルS0,S1,S11,S111についての参照が付加的に格納されており、それによりデータは各サブモデルS0,S1,S11,S111と関連付けられている。関連付けはデータバンク6において各サブモデルS0,S1,S11,S111の名前付けによって実現されている。

Claims (15)

  1. 少なくとも一つの電子計算ユニット(4)を備えている制御システム(3)を制御するための実行可能制御プログラム(2)、特に測定プログラム、開ループ制御プログラム、閉ループ制御プログラム及び/又は較正プログラムの少なくとも一部をコンピュータ支援により生成するための方法であって、
    前記制御プログラム(2)の機能は少なくとも部分的に、少なくとも一つのグラフィックモデル(S0)に記述されており、該グラフィックモデル(S0)は複数の階層レベルにおいて複数のサブモデル(Si)に分類されており、或る階層レベルの一つのサブモデル(Si)を入れ子構造で下位の階層レベルの複数のサブモデル(Sj)に分類することができ、前記グラフィックモデル(S0)をプログラムコードに翻訳するためのオプション(X)に対して値(x)が設定され、該オプション(X)の値(x)を考慮して、前記グラフィックモデル(S0)からコンピュータ支援によりプログラムコードが生成され、該プログラムコードが該プログラムコードを用いて前記実行可能制御プログラム(2)に翻訳される方法において、
    異なる階層レベルにおける入れ子構造の少なくとも二つのサブモデル(Sj)に関して、前記グラフィックモデル(S0)を翻訳するためのオプション(X)に対する値(xj)を設定し、該オプション(X)に対する値(xj)を各サブモデル(Sj)に関するプログラムコードのコンピュータ支援による生成時に考慮し、
    前記下位の階層レベルにおけるサブモデル(Sj)の値(xj)が設定されていないオプション(X)は、上位の階層レベルにおけるサブモデル(Sj)の対応するオプション(X)の値(xj)を引き継ぐことを特徴とする、方法。
  2. 前記下位の階層レベルにおけるオプション(X)に対して設定されている値(xj)は、前記上位の階層レベルにおける対応するオプション(X)に対して設定されている値(xj)よりも優先される、請求項1に記載の方法。
  3. 或る階層レベルにおけるサブモデル(Sj)に関するオプション(X)に対して設定されている値(xj)に、当該階層レベルに続く下位の階層レベルの個数を表し、
    前記下位の階層レベルにおいては、該当するオプション(X)に対して設定された値(xj)が優先され、特に、下位の階層レベルの前記個数に応じて、前記該当するオプション(X)に対する前記値(x)はやはり上位の階層レベルの値(x)を取る、請求項1又は2に記載の方法。
  4. 或る階層レベルにおけるサブモデル(Sj)に関するオプション(X)に対して設定されている値(xj)、及び/又は、最上位の階層レベルにおけるモデル(S0)に関するオプションに対して設定されている値(xj)を不変の値として特徴付け(不変のオプション)、それにより、該オプション(X)に対する値(xj)は下位の階層レベルにおいてはもはや変更される可能性はなく、特に、下位の階層レベルにおいて対応するオプション(X)に対して別の値(xj)が規定される又は規定されている場合であっても、もはや変更される可能性はない、請求項1乃至3のいずれか一項に記載の方法。
  5. 前記グラフィックモデル(S0)をプログラムコードに翻訳するためのデフォルトオプション(XD)を決定し、且つ、デフォルト値(xD)を設定し、特に、前記グラフィックモデル(S0)における対応するオプション(X)の値(x)が決定されていない場合には、前記デフォルト値(xD)を最上位の階層レベルにおけるモデル(S0)の対応するオプション(X)に対する設定値として使用する、請求項1乃至4のいずれか一項に記載の方法。
  6. 或る階層レベルにおけるサブモデル(Sj)に関する少なくとも一つのオプション(X)、及び/又は、最上位の階層レベルにおけるモデル(S0)に関する少なくとも一つのオプション(X)、及び/又は、少なくとも一つのデフォルトオプション(Xj)を、更に下位の階層レベルにおいて値(x)が設けられるべきオプション(X)としてマーキングし、
    所属のオプション(X)に、前記グラフィックモデル(S0)をプログラムコードに翻訳する時点において、下位の階層レベルでは値(x)が設定されていない場合にはエラー通知/警告を出力する、請求項1乃至5のいずれか一項に記載の方法。
  7. 或る階層レベルにおけるサブモデル(Sj)に関する少なくとも一つのオプション(X)、及び/又は、最上位の階層レベルにおけるモデル(S0)に関する少なくとも一つのオプション(X)、及び/又は、少なくとも一つのデフォルトオプションを一貫性のあるオプション(XK)としてマーキングし、
    遅くとも、前記グラフィックモデル(S0)をプログラムコードに翻訳する時点において、前記一貫性のあるオプション(XK)に対する値(x)は、関連する入れ子構造のサブモデル(Sj)の全ての階層レベルにおいて一貫性のあるように設定されているか否かを検査し、特に、非一貫性が識別されると少なくとも一つの通知、有利にはエラー通知/警告通知を出力する、請求項1乃至6のいずれか一項に記載の方法。
  8. 非一貫性が識別されると、前記グラフィックモデル(S0)のプログラムコードへの翻訳を中断するか、又は、前記非一貫性を含むモデル(S0)乃至サブモデル(Sj)を無効なプログラムコードに翻訳する、請求項7に記載の方法。
  9. 一貫性のあるオプション(XK)に一貫性のない値が設定されていることが識別されると、最上位の階層レベルにおいて一貫性のあるオプション(XK)に対して設定された値(x)を、下位の階層レベルの入れ子構造のサブモデル(Sj)に関する設定値(x)としても自動的に設定する、請求項7に記載の方法。
  10. 少なくとも一つのオプション(X)の名前及び値(x)を付加的に、該オプション(X)の値(x)の起源に関する情報と共にオプション情報としてドキュメンテーションし、特に、オプション情報を前記プログラムコードの対応する部分において生成し、
    起源情報として有利には、該当するサブモデル(Sj)におけるオプション(X)及び/又はオプションの値が局所的に設定されているか否か、又は、該当するサブモデル(Sj)におけるオプション(X)及び/又はオプション(X)の値(x)が上位の階層レベルのサブモデル(Sj)から引き継がれているか否か、又は、該当するサブモデル(Sj)におけるオプション(X)及び/又はオプション(X)の値(x)はデフォルト設定によって設定されているか否か、を表す、請求項1乃至9のいずれか一項に記載の方法。
  11. ドキュメンテーションされたオプション情報を、前記グラフィックモデル(S0)のプログラムコードへの翻訳とは別個に生成し、特に、ドキュメンテーションされ生成されたオプション情報をエラーについて検査し、特に前記一貫性のあるオプション(XK)を一貫性について検査する、請求項10に記載の方法。
  12. 前記オプション情報をプログラムコードにおいて生成し、該オプション情報を付加的な翻訳指示文によって、翻訳機を用いて、前記プログラムコードの前記実行可能制御プログラム(2)への翻訳時に評価し、それと共にオプションを検査する、特に一貫性のあるオプション(XK)において設定された値(x)の一貫性に関して検査する、請求項10に記載の方法。
  13. 少なくとも一つのオプション(X)が、該オプション(X)の値(x)、また必要に応じて該オプション(X)のクラス分け(不変のオプション、デフォルトオプション、一貫性のあるオプション)を前記グラフィックモデル(S0)と共に少なくとも一つのモデルファイルに記憶する、及び/又は、
    少なくとも一つのオプション(X)が、該オプション(X)の値(x)、また必要に応じて該オプション(X)のクラス分け(不変のオプション、デフォルトオプション、一貫性のあるオプション)を別個のデータバンクに記憶し、該データバンクにおいて各サブモデル(Sj)と関連付ける、請求項1乃至12のいずれか一項に記載の方法。
  14. 少なくとも一つのオプション(X)が、特に、前記制御システムのメモリ領域及び/又は計算ユニットを考慮して、生成されたプログラムコードにおけるメモリレイアウトに対する命令文及び/又は前記制御プログラム(2)のメモリレイアウトに対する命令文に影響を及ぼす、請求項1乃至13のいずれか一項に記載の方法。
  15. 少なくとも一つのオプション(X)が生成されたプログラムコードを前記制御システム(3)の計算ユニット、特に該制御システムのビット幅に適合させる、請求項1乃至14のいずれか一項に記載の方法。
JP2013188429A 2012-09-11 2013-09-11 実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法 Active JP6177064B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP12183797.5 2012-09-11
EP12183797.5A EP2706421B1 (de) 2012-09-11 2012-09-11 Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms

Publications (2)

Publication Number Publication Date
JP2014056579A true JP2014056579A (ja) 2014-03-27
JP6177064B2 JP6177064B2 (ja) 2017-08-09

Family

ID=46982458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013188429A Active JP6177064B2 (ja) 2012-09-11 2013-09-11 実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法

Country Status (4)

Country Link
US (1) US9250873B2 (ja)
EP (1) EP2706421B1 (ja)
JP (1) JP6177064B2 (ja)
CN (1) CN103677793B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128783B1 (en) 2014-03-04 2015-09-08 The Mathworks, Inc. Scheduling and executing model components in response to un-modeled events detected during an execution of the model
EP3070553B1 (de) 2015-03-19 2019-05-08 dSPACE digital signal processing and control engineering GmbH Computerimplementiertes verfahren zur rechnergestützten übersetzung eines die funktionalität eines steuerungsprogrammes beschreibenden grafischen modells
US9766882B2 (en) * 2015-07-08 2017-09-19 Dspace Digital Signal Processing And Control Engineering Gmbh Computer-implemented method for editing data object variants
CA3055859A1 (en) * 2018-09-24 2020-03-24 Quadient Group Ag Method and system for operating a software application on a processor of a mobile device
JP6954256B2 (ja) * 2018-11-02 2021-10-27 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
US20200147712A1 (en) * 2018-11-02 2020-05-14 Illinois Tool Works Inc. Systems and methods to design part weld processes
CN113127002B (zh) * 2021-04-28 2024-03-29 上海米哈游璃月科技有限公司 一种代码编译过程监控方法、装置、设备和介质
DE102022111911A1 (de) 2022-05-12 2023-11-16 Dspace Gmbh Verfahren zur Erzeugung von Quellcode
CN116257037B (zh) * 2023-05-15 2023-08-11 通达电磁能股份有限公司 控制器测试程序的生成方法、系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206860A1 (en) * 1999-05-17 2006-09-14 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
JP2009193181A (ja) * 2008-02-13 2009-08-27 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
JP2011040059A (ja) * 2009-08-11 2011-02-24 Fisher-Rosemount Systems Inc プロセス制御構成方法、プロセス制御構成システム、モジュールテンプレート、及びプロセス制御システム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850548A (en) * 1994-11-14 1998-12-15 Borland International, Inc. System and methods for visual programming based on a high-level hierarchical data flow model
AU5025600A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
WO2000073885A1 (en) * 1999-06-01 2000-12-07 The Foxboro Company Systems and methods for linking parameters for the configuration of control systems
US6851104B1 (en) * 2000-08-14 2005-02-01 Rodrigues Da Silva Fernando Jose Barros System and method for programming using independent and reusable software units
US7296054B2 (en) * 2003-01-24 2007-11-13 The Mathworks, Inc. Model simulation and calibration
DE10347891A1 (de) 2003-10-10 2005-05-12 Dspace Gmbh Verfahren und Einrichtung zur Konfiguration eines Steuerungssystems
US7523023B1 (en) * 2004-09-20 2009-04-21 The Mathworks, Inc. Automatic generation of component interfaces for computational hardware implementations generated from a block diagram model
CN101432696A (zh) * 2004-10-20 2009-05-13 卡登斯设计系统公司 模型编译方法
WO2006043012A1 (en) * 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US8601435B2 (en) * 2006-10-20 2013-12-03 Rockwell Automation Technologies, Inc. Module class subsets for industrial control
US7966162B1 (en) * 2006-12-29 2011-06-21 The Mathworks, Inc. Hierarchically scoped resettable variables in graphical modeling environments
US8015543B1 (en) * 2007-01-10 2011-09-06 The Mathworks, Inc. Hardware specific code generation
US8713528B1 (en) * 2008-10-06 2014-04-29 The Mathworks, Inc. Verification of computer-executable code generated from a model
US8365141B1 (en) * 2008-12-23 2013-01-29 The Mathworks, Inc. Aliases within a graphical model of a design
US8943467B2 (en) * 2009-01-26 2015-01-27 GM Global Technology Operations LLC On-target rapid control prototyping
EP2330469B1 (de) 2009-12-03 2012-10-31 dspace digital signal processing and control engineering GmbH Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
US9003360B1 (en) * 2009-12-10 2015-04-07 The Mathworks, Inc. Configuring attributes using configuration subgraphs
US8719774B2 (en) * 2010-07-30 2014-05-06 National Instruments Corporation Developing programs for hardware implementation in a graphical specification and constraint language Via iterative estimation of performance or resource utilization
US9377998B2 (en) * 2011-11-08 2016-06-28 The Mathworks, Inc. Code generation for control design
US9135143B2 (en) * 2012-10-08 2015-09-15 National Instruments Corporation Automated analysis of compilation processes in a graphical specification and constraint language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206860A1 (en) * 1999-05-17 2006-09-14 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
JP2009193181A (ja) * 2008-02-13 2009-08-27 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
JP2011040059A (ja) * 2009-08-11 2011-02-24 Fisher-Rosemount Systems Inc プロセス制御構成方法、プロセス制御構成システム、モジュールテンプレート、及びプロセス制御システム

Also Published As

Publication number Publication date
EP2706421A1 (de) 2014-03-12
US20140075409A1 (en) 2014-03-13
CN103677793B (zh) 2017-09-12
CN103677793A (zh) 2014-03-26
JP6177064B2 (ja) 2017-08-09
EP2706421B1 (de) 2015-05-27
US9250873B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
JP6177064B2 (ja) 実行可能制御プログラムの少なくとも一部をコンピュータ支援により生成するための方法
US11520956B2 (en) Systems and methods for automatically realizing models for co-simulation
US11074049B2 (en) Method and system for generating program code modified by rule sets
AU2016203009B2 (en) Paradigm drug response networks
US10372422B2 (en) Performance verification device for verifying performance of program, method, and recording medium having program recorded thereon for causing computer to perform the method
US20190258460A1 (en) Method and system for generating a software component
US8418134B2 (en) Method for efficiently managing property types and constraints in a prototype based dynamic programming language
JP5910108B2 (ja) 高位合成装置,高位合成方法,高位合成プログラム,集積回路の設計方法
US10860298B2 (en) Method and system for editing a block diagram model
US10884715B2 (en) Method for generating source code
US10078500B2 (en) Method and system for automatic code generation
US11593076B2 (en) Method for merging architecture data
US10884714B2 (en) Method for modifying models for generating source code
US11126408B2 (en) Incremental code generation method
US20150178053A1 (en) Preventing interference between subsystem blocks at a design time
US9841954B1 (en) Method and system for automatic code generation
JP6649731B2 (ja) Fpgaからリードバックするための信号の特定
van der Vlugt et al. Modeling and analysis of FPGA accelerators for real-time streaming video processing in the healthcare domain
US10585650B1 (en) Method and system for generating program code
US20230367561A1 (en) Method for generating source code
US20230342115A1 (en) Method for generating source code
EP4270237A1 (en) Model-driven approach for failure mode, effects, and diagnostic analysis (fmeda) automation for hardware intellectual property of complex electronic systems
Erkkinen Model style guidelines for production code generation
Grand et al. Large-Scale Modeling for Embedded Applications
Hoadley Using Model-Based Design in an IEC 62304-Compliant Software Development Process.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170711

R150 Certificate of patent or registration of utility model

Ref document number: 6177064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250