JP7318485B2 - 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置 - Google Patents

自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置 Download PDF

Info

Publication number
JP7318485B2
JP7318485B2 JP2019194402A JP2019194402A JP7318485B2 JP 7318485 B2 JP7318485 B2 JP 7318485B2 JP 2019194402 A JP2019194402 A JP 2019194402A JP 2019194402 A JP2019194402 A JP 2019194402A JP 7318485 B2 JP7318485 B2 JP 7318485B2
Authority
JP
Japan
Prior art keywords
model
output result
code generation
change
automatic code
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.)
Active
Application number
JP2019194402A
Other languages
English (en)
Other versions
JP2021068285A (ja
Inventor
雄一 伊藤
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2019194402A priority Critical patent/JP7318485B2/ja
Publication of JP2021068285A publication Critical patent/JP2021068285A/ja
Application granted granted Critical
Publication of JP7318485B2 publication Critical patent/JP7318485B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置に関する。
従来、自動的にソースコードを生成するコード生成ツールが開発されており、例えば車両のエンジンECUのプログラム開発支援に用いられている。このコード生成ツールは、プログラムの開発者が直接ソースコードを記述することなく、目的とするプログラムの機能をより簡易的に視認性の良いモデルという形態で記述する。これにより、プログラム開発者は可読性を向上できるようになり、プログラム構造を容易に把握できる。
使用者は、このモデル記述用の開発環境がインストールされたワークステーション又はパーソナルコンピュータ(以下、PC)等を用い、このモデルにより定義された演算処理等のシミュレーション処理を行い、PCは当該モデルに応じたソースコードを自動生成する。モデルに基づいてソースコードを自動生成するためのプログラム開発は、モデルベース開発と呼ばれている。モデルベース開発を行うためのプログラム開発環境は、例えばMATLAB(登録商標)、及び、これに付加機能を提供するSimulink(登録商標)が知られており、Simulinkのモデルからソースプログラムを自動生成する支援ツールとしてTargetLink(登録商標)を挙げることができる。
モデルベース開発を行う場合、使用者は、例えばSimulink(登録商標)を用いてモデルを記述する。このモデルは、GUI(Graphical User Interface)環境下において、各種演算を表すブロックを相互に接続したブロック線図により記述できる。
従来、モデルは、制御フローを記述する多くの機能がブロックライブラリとして取り入れられており、様々な制御構造をブロック化して表現可能になっている。モデルベース開発における自動コード生成技術は、例えば特許文献1に開示されている。
特開2016-115189号公報
Simulink、TargetLinkのモデルは、このモデルの詳細設定を使用者により変更可能になっている。例えば、システム機能設計などの制御設計担当者は、この種の支援ツールを用いるときに、モデルの詳細設定を初期設定のまま、又は、自身が把握している規定のルールに従って詳細設定をわずかに変更した上で、モデルをシミュレーションしつつ制御設計することが多い。
他方、実装設計者は、制御設計担当者により制御設計されたモデルについて既存の電子制御装置のハードウェア及びソフトウェア資産に合わせた既定のルールに沿ったガイドラインに準拠しているか確認する。実装設計者は、ガイドラインに準拠していないと判断したときには、モデルの詳細設定を必要に応じて変更し、ガイドラインに準拠したモデルからソースコードを生成し、ソースコードに基づいてコンパイル、リンクした実行形式ファイルによるコードプログラムを車両組込型の電子制御装置の記憶装置に記憶させる。
実装設計者は、制御設計担当者により設計されたモデルの詳細設定を変更しているため、当該モデルから得られるソースコードでは、制御設計担当者が意図していた出力結果とは異なる結果が得られてしまう虞がある。このため実装設計者は、出力結果の妥当性を判断し、この判断が困難である場合、制御設計担当者にその影響判断を依頼することになる。しかしながら、煩雑な手続や工数が余分に必要となってしまうことから好ましくない。
本発明の目的は、モデルの詳細設定の変更前と変更後とで出力結果の差異を判定できるようにした自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置を提供することにある。
請求項1記載の発明は、モデルからソースコードを生成するまでにモデルの詳細設定又は当該モデルを構成するブロックの詳細設定を変更可能にしている支援ツールを用いた自動コード生成方法を対象としている。第1過程では、変更前の詳細設定を用いた変更前モデル(11a)をシミュレーションすることで第1出力結果を取得する。第2過程では、変更後の詳細設定を用いた変更後モデル(11b:211b)からソースコードを生成し当該ソースコードに基づいてシミュレーションすることで第2出力結果を取得する。第3過程では、第1出力結果と第2出力結果との一致度を判定する。これにより、モデルの詳細設定の変更前と変更後とで出力結果の差異を判定できる。
請求項2記載の発明によれば、第4過程において詳細設定を既定のルールに従って変更して自動変更モデル(211b)を生成し、第2過程では、自動変更モデルから生成したソースコードに基づいてシミュレーションすることで第2出力結果を取得している。このため、規定のルールに従って詳細設定を変更できるようになり、ガイドラインに沿って詳細設定を自動的に変更できる。
第1実施形態に係る自動コード生成装置の構成ブロック図 機能ブロック図 モデルの構成例 モデルの詳細設定例 ブロックの構成例 ブロックの詳細設定例 出力結果の妥当性判断処理を示すフローチャート(その1) 出力結果の妥当性判断処理を示すフローチャート(その2) 出力結果と誤差許容範囲の一態様を時間軸で表す図(その1) 出力結果と誤差許容範囲の一態様を時間軸で表す図(その2) 出力結果と誤差許容範囲の一態様を時間軸で表す図(その3) 第2実施形態に係る動作説明図

(第1実施形態)
以下、自動コード生成方法の第1実施形態について、図1~図11を参照しながら説明する。図1に示すように、ワークステーション又はパーソナルコンピュータ(以下、PC)1は、CPU2、ROM3、RAM4、データ記憶装置5、入力装置6、及び表示装置7などを接続して構成される。
表示装置7は、CPU2から受けた映像信号をユーザに対して映像として表示する。入力装置6は、例えばキーボード、マウス等から構成され、ユーザにより操作されることにより、その操作に応じた信号をCPU2に出力する。RAM4は、読出/書込可能な揮発性メモリであり、ROM3は読出し専用のメモリであり、データ記憶装置5は読出/書込可能なメモリである。
ROM3には、CPU2が読み出して実行するプログラム等が予め記憶されている。またデータ記憶装置5には、後述するモデル11が記憶される。RAM4は、CPU2がROM3、データ記憶装置5に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域、及び作業用のデータを一時的に保存するための記憶領域として用いられる。
PC1に電源が投入され起動されると、CPU2はROM3からブートプログラムを読み出して実行する。そして、起動処理以降、CPU2は、入力装置6からの信号、オペレーションシステム(OS)により予め定められたスケジュール等に基づき、データ記憶装置5に記憶されたコード生成ツール8による自動コード生成プログラムや他のプログラムをOS上のプロセスとして実行する。PC1は、このコード生成ツール8を実行することで、図2に示すように第1取得部1a、第2取得部1b、一致度判定部1cとして機能する。
次に、データ記憶装置5にインストールされているコード生成ツール8について説明する。コード生成ツール8は、データ記憶装置5に保存されると共にOS上で実行されるアプリケーションの一つであり、TargetLink(登録商標)を用いてソースコードを自動生成する。ソースコードは、例えばC言語、C++言語等により記述される。
PC1は、CPU2によりコード生成ツール8を動作させることで、モデルベースのプログラム開発を行うための自動コード生成装置として作動する。なお、コード生成ツール8は、例えば車載用の電子制御装置10等の組込システム向けのコードプログラム開発や、その他あらゆる用途のプログラム開発に用いることができる。
使用者による入力装置6の操作によりコード生成ツール8が起動されると、PC1は、CPU2によりコード生成ツール8を実行する。PC1は、コード生成ツール8を実行すると、図3に示すように表示装置7にモデル構成画面を表示させると共に、「Home」、「Plot」、「View」、「Option」等のメニューを表示させる。
使用者は、モデル構成画面を視認しながら入力装置6を用いて各種操作を行うことで、モデル11を記述したり、モデル11を直接シミュレーションしたり、モデル11をコンパイル/リンクしてCPU2等が直接実行可能な実行形式ファイル(オブジェクトコード)によるコードプログラムに変換したり、各種の設計作業を実行できる。
モデル11は、ソースコードよりも記述を簡易的にし、且つ、可読性を高める目的で定められたモデル言語仕様に基づいて、使用者により作成されるプログラムの一表現形態であり、Simulink(登録商標)により作成されるSimulinkモデルである。
モデル11は、GUI環境下で記述されるもので、各ブロック12~16の入力In1、In2や出力Out1、Out2を相互に接続したブロック線図により表現される。各ブロック12~16は、ビット演算、論理演算、ループ処理等の予め用意されているブロックライブラリから選択的に記述される。各ブロック12~16は、上位から下位まで階層的に記述され、可読性及び視認性良く表現されている。各ブロック12~16の入力In1、In2、出力Out1、Out2の相互の結線説明は省略する。
他方、コード生成ツール8は、モデル11を生成する際に当該モデル11の詳細設定を変更可能にプログラム構成されている。PC1は、前述した図3に示すモデル構成画面から「Option」のメニューが使用者により操作入力されると、図4に例示したように、表示装置7にモデル11の詳細設定の画面を表示し、使用者による詳細設定を促す。
図4に例示したように、PC1は、モデル11が出力する値の最小値X1及び最大値X2、出力データ型X3の操作入力画面を表示装置7に表示させることで、使用者は、これらのパラメータを詳細設定できる。またその他、PC1は、ラジオボタンB1又はチェックボックスB2などを用いて詳細設定を項目毎に表示装置7に表示させる。これにより使用者は、択一的、選択的にその他のパラメータを詳細設定できる。使用者は、実際に実装される電子制御装置10の仕様に合わせて詳細設定を変更できる。
例えば、出力データ型X3としては、図示の倍精度浮動小数点型の他、単精度浮動小数点型、整数型など数値の出力方法を選択できる。またPC1は、OKボタンB3や適用ボタンB4、キャンセルボタンB5を表示装置7に表示するが、OKボタンB3や適用ボタンB4が操作入力されると、この詳細設定を反映させる。
また図3に示すモデル構成画面において、ブロック14が入力装置6により選択入力されると、PC1は、図5に示すようにブロック14の下位階層モデルを表示装置7の表示画面に表示させる。PC1は、表示装置7にブロック14の下位階層モデルを表示させると共に、「Plot」、「View」、「Option」等のメニューを表示させる。
使用者は、ブロック構成画面を視認しながら入力装置6を用いて各種操作を行うことで、ブロック14の下位階層モデルを変更するなど各種の設計作業を実行できる。
ブロック14は、モデル21~24を組み合わせたブロック線図により記述されている。ここでもモデル21~24の結線関係の説明は省略するが、モデル21は、比例ゲインKpの比例回路モデルを示し、モデル23は積分ゲインKiの積分回路モデルを示す。モデル22、24は、2入力を加算して出力する加算モデルを示す。
またコード生成ツール8は、ブロック14を生成する際に当該ブロック14の詳細設定を変更可能にプログラム構成されている。PC1は、図5に示すブロック構成画面から「Option」のメニューが使用者により操作入力されると、図6に例示したように、表示装置7にブロック14の詳細設定の画面を表示し、使用者による詳細設定を促す。
図6に例示したように、使用者は、ブロック14の出力の最小値X1及び最大値X2、出力データ型X3等を詳細設定できる。また使用者は、チェックボックスB2等により詳細設定できる。ブロック14の詳細設定の内容は、モデル11の詳細設定と概ね同様であるため説明を省略する。
使用者は、モデル11を構築した後、入力装置6を操作することでPC1にモデル11をシミュレーションさせることができる。この場合、PC1は、ソースコードを生成することなくモデル11から直接シミュレーションできる。また使用者は、入力装置6を操作することでPC1にソースコードを自動生成させた後、当該ソースコードに基づいてシミュレーションさせることができる。この場合、PC1は、ソースコードをコンパイル/リンクして実行形式ファイルによるコードプログラムを生成し、CPU2がコードプログラムを実行することでシミュレーションを行う。
またPC1は、使用者によるモデル11の構築中又はシミュレーションの実行前又は実行後において、モデル11や当該モデル11を構成するブロック12~16の変更履歴や、当該モデル11やブロック12~16の詳細設定の変更履歴を、例えば使用者(例えば制御設計担当者、実装設計担当者)に紐づけてデータ記憶装置5に記憶させている。
以下では、以上のように動作するコード生成ツール8を用いて、車両組込型の電子制御装置10にコードプログラムを実装するまでの手順を説明する。
まず、システム機能設計などの制御設計担当者は、図3に示すようにブロック12~16を組み合わせてモデル11を構築する。制御設計担当者は、発明が解決しようとする課題欄に説明したように、コード生成ツール8を用いるときに、モデル11の詳細設定を初期設定のまま、又は、自身が把握しているガイドラインに従ってわずかに変更した上で、モデル11をシミュレーションしつつ制御設計することが多い。このため、例えば、図4に示されるモデル11の詳細設定の中で、例えば、出力データ型X3が初期設定(デフォルト)において倍精度浮動小数点型に設定されていれば、制御設計担当者は、この初期設定のまま制御設計することが多い。以下では、制御設計担当者が設計したモデル11を制御設計モデル11aと称する。制御設計モデル11aは変更前モデル相当である。
他方、実装設計者は、制御設計モデル11aについて既定のルールR1に沿ったガイドラインに準拠しているか確認する。実装設計者は、ガイドラインに準拠していないと判断したときには、制御設計モデル11aについての詳細設定を必要に応じて変更する。詳細設定が変更されたモデル11を実装設計モデル11bと称する。実装設計モデル11bは変更後モデル相当である。
実装設計者は、ガイドラインに準拠した実装設計モデル11bからソースコードを生成し、ソースコードをコンパイル/リンクした実行形式ファイルによるコードプログラムを生成する。実装設計者は、制御設計モデル11aの詳細設定を変更して、実装設計モデル11bとしているため、当該実装設計モデル11bから得られるソースコードでは、制御設計担当者が意図していた出力結果と異なる結果が得られてしまう虞がある。
そこで、制御設計担当者や実装設計者等は、制御設計モデル11aによる出力結果と実装設計モデル11bによる出力結果の差異を確認するときに、生成したコードプログラムを電子制御装置10の記憶装置10aに記憶させる前に、PC1に出力結果の妥当性を判定するように指示する。この場合、PC1は、図7及び図8に示す出力結果の妥当性判断処理を実行することで、出力結果の妥当性を判断する。
まずPC1は、図7のS11において変更前モデルとなる制御設計モデル11aをデータ記憶装置5から読み込み、S12において制御設計モデル11aをシミュレーションすることで、S13において第1出力結果F1を取得する。これらのS11~S13は、第1過程、第1手順に相当する。
また、PC1は、図8のS21において変更後モデルとなる実装設計モデル11bをデータ記憶装置5から読み込み、S22において実装設計モデル11bからソースコードを生成し、S23においてソースコードに基づいてシミュレーションする。この場合、PC1は、ソースコードをコンパイル/リンクして実行形式ファイルに変換し、CPU2が実行形式ファイルを実行してシミュレーションすることで、S24において第2出力結果F2を取得する。これらのS21~S24は、第2過程、第2手順に相当する。
その後、PC1は、S25において、S11~S13にて取得された第1出力結果F1とS21~S24にて取得された第2出力結果F2との一致度を判定する。このS25は、第3過程、第3手順に相当する。PC1が、第1出力結果F1及び第2出力結果F2の一致度を判定する際に、下記の具体例A1~A3に示す方法を用いることができる。
<具体例A1>
図9に例示したように、PC1は、あるタイミングにおける第1出力結果F1の値と第2出力結果F2の値の差を算出し、この差が所定の閾値以内であるか否かにより一致度を判定すると良い。図9には、第1出力結果F1及び第2出力結果F2が共にアナログ信号の場合を例示している。PC1は、第1出力結果F1の値と第2出力結果F2の図示期間内の値の差が最大値MAX~最小値MINに示す許容範囲に収まっているか否かを判定することで一致度を判定しており、その差が許容範囲に収まっていないときにはエラー報知し、収まっていれば一致と判定する。
<具体例A2>
図10に例示したように、PC1は、第1出力結果F1の値の変化のタイミングと第2出力結果F2の値の変化のタイミングとが所定の閾値時間内であるか否かにより一致度を判定するようにしても良い。図10には、第1出力結果F1及び第2出力結果F2が共にデジタル信号の場合を例示している。例えば、PC1は、第1出力結果F1の立上りタイミングと第2出力結果F2の立上りタイミングの差T1が所定の閾値時間内に収まっているか否かを判定することで一致度を判定しており、その差が所定の閾値時間内に収まっていないときにはエラー報知し、収まっていれば一致と判定する。
<具体例A3>
図11に例示したように、PC1は、第1出力結果F1の出力波形と第2出力結果F2の出力波形との類似度に基づいて一致度を判定するようにしても良い。図11には、第1出力結果F1及び第2出力結果F2が共にアナログ信号波形の場合を例示している。例えば、PC1は、第1出力結果F1の出力波形を許容誤差だけ大小した最大値MAX-最小値MINの間に第2出力結果F2の出力波形が収まるか否かを判定することで一致度を判定しており、第2出力結果F2の出力波形が収まっていないときにはエラー報知し、収まっていれば一致と判定する。具体例A1ではあるタイミングにおける第1出力結果F1の値の差を比較した例を示したが、具体例A3では値の差を比較すると共に時間のずれも比較している点が異なる。
これにより、詳細設定の変更前の制御設計モデル11aと詳細設定の変更後の実装設計モデル11bとで出力結果の差異を判定できる。実装設計者は、このような判定結果を観察することで、一致判定されていればコードプログラムを電子制御装置10の記憶装置10aに書き込んでも良いと判定できる。また、具体例A1~A3に示したように、一致度を判定する基準を定めることで判断基準のばらつきを極力抑制できる。
(第2実施形態)
図12は第2実施形態の説明図を示す。第1実施形態と同一部分には同一符号を付して説明を省略し、以下では異なる部分を説明する。
例えば、電子制御装置10が、単精度浮動小数点型で動作するマイコンを用いて動作している場合には、単精度浮動小数点型で演算処理する旨が規定のルールR1、ガイドラインとされていることがある。
このときPC1は、モデル11の詳細設定、又は、ブロック12~16の詳細設定をデータ記憶装置5から読み出し、何れかの出力データ型X3が単精度浮動小数点型以外のデータ型に設定されている場合には、この規定のルールR1に従って全ての出力データ型X3を単精度浮動小数点型に変更設定した上で、この詳細設定を用いた自動変更モデル211bを生成する(図12のS21a参照:第4過程、第4手順相当)。
そしてPC1は、自動変更モデル211bから自動的にソースコードを生成し、ソースコードに基づいてシミュレーションすることで第2出力結果F2を取得する。これにより規定のルールR1に従って詳細設定を変更でき、ガイドラインに沿って詳細設定を自動的に変更できる。
本開示に記載の手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリーと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
図面中、1はPC(自動コード生成装置)、2はCPU、3はROM、4はRAM、5はデータ記憶装置、8はコード生成ツール、10は電子制御装置を示す。

Claims (13)

  1. モデルからソースコードを生成するまでに前記モデルの詳細設定又は前記モデルを構成するブロックの詳細設定を変更可能にしているコード生成ツールを用いた自動コード生成方法であって、
    自動コード生成装置が、変更前の前記詳細設定を用いた変更前モデル(11a)をシミュレーションすることで第1出力結果を取得する第1過程(S11~S13)と、
    前記自動コード生成装置が、前記変更前の前記詳細設定が変更された変更後の詳細設定を用いた変更後モデル(11b;211b)から前記ソースコードを生成し前記ソースコードに基づいてシミュレーションすることで第2出力結果を取得する第2過程(S21~S24)と、
    前記自動コード生成装置が、前記第1出力結果と前記第2出力結果との一致度を判定する第3過程(S25)と、
    を備える自動コード生成方法。
  2. 前記自動コード生成装置が、前記変更前の詳細設定を既定のルールに従って変更して前記変更後モデルとして自動変更モデル(211b)を生成する第4過程(S21a)を備え、
    前記自動コード生成装置は、前記第2過程では、前記第4過程にて生成した前記自動変更モデルから生成したソースコードに基づいてシミュレーションすることで第2出力結果を取得する請求項1記載の自動コード生成方法。
  3. 前記自動コード生成装置は、前記第3過程では、あるタイミングにおける前記第1出力結果の値と前記第2出力結果の値との差が所定の閾値以内であるか否かにより一致度を判定する請求項1記載の自動コード生成方法。
  4. 前記自動コード生成装置は、前記第3過程では、前記第1出力結果の値の変化のタイミングと前記第2出力結果の値の変化のタイミングとが所定の閾値時間内であるか否かにより一致度を判定する請求項1記載の自動コード生成方法。
  5. 前記自動コード生成装置は、前記第3過程では、前記第1出力結果の出力波形と前記第2出力結果の出力波形との類似度に基づいて一致度を判定する請求項1記載の自動コード生成方法。
  6. モデルからソースコードを生成するまでに前記モデルの詳細設定又は前記モデルを構成するブロックの詳細設定を変更可能にしているコード生成ツールに基づいて生成されるコードプログラムであって、
    自動コード生成装置が、第1過程において変更前の前記詳細設定を用いた変更前モデルをシミュレーションすることで第1出力結果を取得し、第2過程において生成されるソースコードに基づいてシミュレーションすることで第2出力結果を取得し、第3過程において前記第1出力結果と前記第2出力結果との一致度を判定し、一致と判定された条件を満たす前記ソースコードに基づいて生成されるコードプログラム。
  7. 請求項6記載のコードプログラムが実装された電子制御装置。
  8. モデルからソースコードを生成するまでの間に前記モデルの詳細設定又は前記モデルを構成するブロックの詳細設定を変更可能にしているコード生成ツールによる自動コード生成プログラムであって、
    自動コード生成装置(1)に、
    変更前の前記詳細設定を用いた変更前モデルをシミュレーションすることで第1出力結果を取得する第1手順(S11~S13)と、
    前記変更前の前記詳細設定が変更された変更後の詳細設定を用いた変更後モデル(11b;211b)から前記ソースコードを生成し前記ソースコードに基づいてシミュレーションすることで第2出力結果を取得する第2手順(S21~S24)と、
    前記第1出力結果と前記第2出力結果との一致度を判定する第3手順(S25)と、
    を実行させる自動コード生成プログラム。
  9. 前記詳細設定を既定のルールに従って変更して前記変更後モデルとして自動変更モデル(211b)を生成する第4手順(S21a)を備え、
    前記第2手順では、前記第4手順にて生成した前記自動変更モデルから生成したソースコードをシミュレーションすることで第2出力結果を取得する請求項8記載の自動コード生成プログラム。
  10. 前記第3手順では、あるタイミングにおける前記第1出力結果の値と前記第2出力結果の値との差が所定の閾値以内であるか否かにより一致度を判定する請求項8記載の自動コード生成プログラム。
  11. 前記第3手順では、前記第1出力結果の値の変化のタイミングと前記第2出力結果の値の変化のタイミングとが所定の閾値時間内であるか否かにより一致度を判定する請求項8記載の自動コード生成プログラム。
  12. 前記第3手順では、前記第1出力結果の出力波形と前記第2出力結果の出力波形との類似度に基づいて一致度を判定する請求項8記載の自動コード生成プログラム。
  13. モデルからソースコードを生成するまでの間に前記モデルの詳細設定又は当該モデルを構成するブロックの詳細設定を変更可能にしているコード生成ツールを用いた自動コード生成装置(1)であって、
    変更前の前記詳細設定を用いた変更前モデル(11a)をシミュレーションすることで第1出力結果を取得する第1取得部(1a)と、
    前記変更前の前記詳細設定が変更された変更後の詳細設定を用いた変更後モデル(11b;211b)から生成されたソースコードに基づいてシミュレーションすることで第2出力結果を取得する第2取得部(1b)と、
    前記第1出力結果と前記第2出力結果との一致度を判定する一致度判定部(1c)と、
    を備える自動コード生成装置。
JP2019194402A 2019-10-25 2019-10-25 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置 Active JP7318485B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019194402A JP7318485B2 (ja) 2019-10-25 2019-10-25 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019194402A JP7318485B2 (ja) 2019-10-25 2019-10-25 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置

Publications (2)

Publication Number Publication Date
JP2021068285A JP2021068285A (ja) 2021-04-30
JP7318485B2 true JP7318485B2 (ja) 2023-08-01

Family

ID=75637285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019194402A Active JP7318485B2 (ja) 2019-10-25 2019-10-25 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置

Country Status (1)

Country Link
JP (1) JP7318485B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024006A (ja) 2004-07-08 2006-01-26 Denso Corp テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
JP2012198804A (ja) 2011-03-22 2012-10-18 Denso Corp 設計支援装置、設計支援プログラム
JP2014059805A (ja) 2012-09-19 2014-04-03 Denso Corp モデルベースの制御装置用のテストケース生成装置およびテストケース生成方法
JP2018124710A (ja) 2017-01-31 2018-08-09 株式会社デンソー 並列化方法、並列化ツール、及び車載制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024006A (ja) 2004-07-08 2006-01-26 Denso Corp テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
JP2012198804A (ja) 2011-03-22 2012-10-18 Denso Corp 設計支援装置、設計支援プログラム
JP2014059805A (ja) 2012-09-19 2014-04-03 Denso Corp モデルベースの制御装置用のテストケース生成装置およびテストケース生成方法
JP2018124710A (ja) 2017-01-31 2018-08-09 株式会社デンソー 並列化方法、並列化ツール、及び車載制御装置

Also Published As

Publication number Publication date
JP2021068285A (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
US7680632B1 (en) Test precondition items for automated analysis and test generation
US9639332B2 (en) Applying coding standards in graphical programming environments
US10241852B2 (en) Automated qualification of a safety critical system
Fitzgerald et al. A formal approach to collaborative modelling and co-simulation for embedded systems
US7729894B1 (en) Test postcondition items for automated analysis and test generation
US10860298B2 (en) Method and system for editing a block diagram model
US9176490B2 (en) Control program generation device, control program generation program, and control program generation method
US20190258460A1 (en) Method and system for generating a software component
KR20070000732A (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
US10331548B2 (en) Method and computer system for compiling and testing a control program
US8527254B2 (en) Simulator engine development system and simulator engine development method
US20140214396A1 (en) Specification properties creation for a visual model of a system
US20210096830A1 (en) Incremental code generation method
JP7318485B2 (ja) 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置
Erkkinen et al. Automatic code generation-technology adoption lessons learned from commercial vehicle case studies
JP2023076222A (ja) モデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラム
Horváth et al. Hardware-software allocation specification of ima systems for early simulation
Erkkinen et al. Verification, validation, and test with model-based design
JP7156094B2 (ja) 自動コード生成方法、及び自動コード生成プログラム
Wozniak et al. A guidance framework for the generation of implementation models in the automotive domain
Burnard et al. Verifying and validating automatically generated code
White et al. Model intelligence: an approach to modeling guidance
JP4564914B2 (ja) アサーション自動生成装置および論理回路設計検証方法
Iyenghar et al. Translating timing requirements of Embedded Software systems modeled in Simulink to a timing analysis model
US10678537B1 (en) Method and system for documenting a control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230217

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: 20230620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230703

R151 Written notification of patent or utility model registration

Ref document number: 7318485

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151