JP5120166B2 - 組込みソフトウェア開発支援システム、支援方法およびプログラム - Google Patents

組込みソフトウェア開発支援システム、支援方法およびプログラム Download PDF

Info

Publication number
JP5120166B2
JP5120166B2 JP2008230481A JP2008230481A JP5120166B2 JP 5120166 B2 JP5120166 B2 JP 5120166B2 JP 2008230481 A JP2008230481 A JP 2008230481A JP 2008230481 A JP2008230481 A JP 2008230481A JP 5120166 B2 JP5120166 B2 JP 5120166B2
Authority
JP
Japan
Prior art keywords
variable
block
initialization
program
register
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.)
Expired - Fee Related
Application number
JP2008230481A
Other languages
English (en)
Other versions
JP2010066846A (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.)
Meidensha Corp
Original Assignee
Meidensha 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 Meidensha Corp filed Critical Meidensha Corp
Priority to JP2008230481A priority Critical patent/JP5120166B2/ja
Publication of JP2010066846A publication Critical patent/JP2010066846A/ja
Application granted granted Critical
Publication of JP5120166B2 publication Critical patent/JP5120166B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア開発支援システムおよび支援方法に係り、特に組込みソフトウェアにおける変数の初期化に関する。
監視制御や計測制御などのコンピュータ処理システムに組み込むアプリケーション・ソフトウェアの開発ではUMLで設計図の記述を行うことが多い。このUMLの設計図のうち、クラス図などからソースコードを出力し、残りのロジックに関する部分の実装を手作業で行うようにしている(例えば、非特許文献1参照)。
一方、組込みソフトウェア開発では、演算に関する設計図としてブロック図を作成する。たとえば、開発対象の組込み機器が加算と乗算を行う場合、入力から出力まで、加算や乗算を表すブロックを配置し、ブロック間を線で結んで演算順序を表現する。この設計図を元にして実装を行うにあたっては、作成したブロック図を元にプログラムを作成し、このプログラムを専用のコンパイラを使用してコンパイルし、実機に組み込んで動作を試験する。
上記のブロック図を元にプログラムを作成するには、人が手作業で行う方法のほか、ブロック図からプログラムを自動作成する方法がある。例えば、MATLAB/Simulinkに代表されるようなブロック図作成のためのアプリケーションでは、ブロック図を元にソースコードを自動的に作成することができる(例えば、非特許文献2参照)。
ブロック図から作成したプログラムの動作確認には、ブロックやブロック図に入力を設定して出力を取り出し、この入出力関係からブロックやブロック図の動作を確認することができる。
図9はブロック図からプログラムを自動生成し、動作を確認する例を示す。図9の左上はブロック図の例を示し、入力にIN1,IN2,IN3があり、VARはIN1とIN2の和が入り、OUTはVARとIN3の積が入る演算ブロックとする。このブロック図から図9の右上のようにプログラムを手動または自動で作成する。そして、図9の右下のように、入力設定値として、入力IN1に数値「2」,IN2に数値「3」,IN3に数値「4」を設定すると、VARは値「5」になり、OUTは値「20」となり、動作を確認することができる。
明電時報、2006年9・10月、通巻310号、No.5「ソフトウェア開発総合支援システムにおける仕様作成支援機能」 MATLAB/Simulink(http://www.cybernet.co.jp/matlab/products/product_listing/simulink/)
C言語のようなプログラミング言語で扱う変数は、一般に宣言しただけでは不定値(ゴミ)が入っているので、宣言後に必要な値を代入して初期化しなければならない。また、関数の内部でグローバル変数を使用している場合、そのグローバル変数を初期化しなければ正しい演算結果が得られないこともある。
組込みソフトウェア開発支援システムでは、ブロック図からプログラムを自動作成する場合、変数初期化を表現するブロックが存在しないため、ある関数の特定の場所で変数を初期化させたい場合は、自動作成したプログラムに変数を初期化する部分を手で追記する必要がある。このため、ブロック図とプログラムが一致しなくなり、開発したシステムの不具合箇所になりやすくなる。
たとえば、図10の場合、左側のブロック図は、関数funcがあり、その中でVAR1とVAR2の和をVAR3に代入するだけの内容となっている。開発支援システムが自動作成するプログラムは、この和の部分「VAR3=VAR1+VAR2」だけである。関数funcの最初に変数VAR1とVAR2を「0」で初期化させたい場合は、図10の右側上部のように、この自動生成したプログラムに開発者が図10の右側下部に示すような初期化プログラムを追記する必要がある。この結果、ブロック図とプログラムは不一致となる。
本発明の目的は、ブロック図からプログラムを作成するときに、ブロック図に設定された変数を初期化でき、しかもブロック図と一致させたプログラムを自動生成できる組込みソフトウェア開発支援システム、支援方法およびプログラムを提供することにある。
本発明は、前記の課題を解決するため、変数を初期化する機能を持つ変数初期化ブロックを変数初期化装置で生成し、この生成した変数初期化ブロックを追加したブロック図について既存のプログラム自動生成装置でプログラムを自動生成するようにしたもので、以下のシステム、方法およびプログラムを特徴とする。
(1)ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援システムであって、
前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
前記変数初期化装置は、変数初期化ブロック作成手段により一つまたは複数の変数を初期化するブロックを作成し、関数ブロックヘの関連付け手段により前記作成した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得手段により前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定手段により前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定手段により前記指定した変数を初期化する値を設定し、初期化条件設定手段により前記指定した変数の初期化を行う条件を設定し、初期化位置設定手段により前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、変数初期化ブロック用プログラム自動作成手段により前記指定した変数を初期化するプログラムを自動生成することを特徴とする。
(2)ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援システムであって、
前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
前記変数初期化装置は、レジスタを利用した変数初期化ブロック作成手段によりレジスタを利用した変数初期化ブロックを作成し、関数ブロックヘの関連付け手段により前記作成したレジスタを利用した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得手段により前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定手段により前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定手段により前記指定した変数を初期化する値を設定し、初期化条件設定手段により前記指定した変数の初期化を行う条件を設定し、初期化位置設定手段により前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、利用可能レジスタ取得手段により前記関連付けた関数で利用可能なレジスタ一覧を取得し、レジスタ設定手段により前記レジスタ一覧から変数初期化で利用するレジスタを一つ指定し、レジスタを利用した変数初期化ブロック用プログラム自動生成手段により前記指定した変数を前記指定したレジスタを利用して初期化するプログラムを自動生成することを特徴とする。
(3)ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援方法であって、
前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
前記変数初期化装置は、変数初期化ブロック作成ステップにより一つまたは複数の変数を初期化するブロックを作成し、関数ブロックヘの関連付けステップにより前記作成した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得ステップにより前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定ステップにより前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定ステップにより前記指定した変数を初期化する値を設定し、初期化条件設定ステップにより前記指定した変数の初期化を行う条件を設定し、初期化位置設定ステップにより前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、変数初期化ブロック用プログラム自動作成ステップにより前記指定した変数を初期化するプログラムを自動生成することを特徴とする。
(4)ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援方法であって、
前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
前記変数初期化装置は、レジスタを利用した変数初期化ブロック作成ステップによりレジスタを利用した変数初期化ブロックを作成し、関数ブロックヘの関連付けステップにより前記作成したレジスタを利用した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得ステップにより前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定ステップにより前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定ステップにより前記指定した変数を初期化する値を設定し、初期化条件設定ステップにより前記指定した変数の初期化を行う条件を設定し、初期化位置設定ステップにより前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、利用可能レジスタ取得ステップにより前記関連付けた関数で利用可能なレジスタ一覧を取得し、レジスタ設定ステップにより前記レジスタ一覧から変数初期化で利用するレジスタを一つ指定し、レジスタを利用した変数初期化ブロック用プログラム自動生成ステップにより前記指定した変数を前記指定したレジスタを利用して初期化するプログラムを自動生成することを特徴とする。
(5)前記の(3)または(4)の組込みソフトウェア開発支援方法における各処理ステップをコンピュータで実行可能に構成したことを特徴とする。
以上のとおり、本発明によれば、変数を初期化する機能を持つ変数初期化ブロックを変数初期化装置で生成し、この生成した変数初期化ブロックを追加したブロック図について既存のプログラム自動生成装置でプログラムを自動生成するようにしたため、ブロック図からプログラムを作成するときに、ブロック図に設定された変数を初期化でき、しかもブロック図と一致させたプログラムを自動生成できる。
(実施形態1)
図1は、本発明の実施形態を示す変数初期化装置の機能構成図であり、組込みソフトウェア開発支援システムにおいて、一つの変数を初期化する機能を持つ変数初期化装置10を用意し、この装置で生成した変数初期化ブロックを追加したブロック図について既存のプログラム自動生成装置20でプログラムを自動生成する。
変数初期化装置10は、コンピュータ資源とこれを演算処理に利用するソフトウェアで構成され、変数初期化ブロック作成機能(A)、関数ブロックヘの関連付け機能(B)、初期化可能変数取得機能(C)、変数設定機能(D)、初期値設定機能(E)、初期化条件設定機能(F)、初期化位置設定機能(G)および変数初期化ブロック用プログラム自動生成機能(H)で構成される。
変数初期化装置10による変数初期化ブロックの作成手順を図2に示す。同図の左下のように、変数初期化装置10には、情報として、初期化する変数、初期値、初期化を行う条件、初期化を行う位置の各情報を設定可能にする。必要であれば、この他にも設定可能な情報を設けることができる。
変数初期化ブロックの作成手順を説明する。まず、変数初期化ブロック作成機能(A)により一つの変数を初期化する変数初期化ブロックを作成し(図2右のS1)、関数ブロックヘの関連付け機能(B)により作成した一つの変数を初期化する変数初期化ブロックを関数ブロックに関連付ける(図2右のS2)。
関連付けた関数で初期化可能な変数一覧を初期化可能変数取得機能(C)により取得し(図2右のS3)、変数設定機能(D)によりその変数一覧から初期化する変数を一つ指定する(図2右のS4)。
初期値設定機能(E)により初期化する変数に初期化する値を設定し(図2右のS5)、初期化条件設定機能(F)により変数初期化を行う条件を設定する(図2右のS6)。
初期化位置設定機能(G)により関連付けた関数のどの位置(たとえば、関数の先頭や関数の末尾など)で変数初期化を行うかを選択する(図2右のS7)。
図2の左では、一つの変数を初期化するブロック(I1)は、変数を初期化する関数ブロックfuncに関連付け、関数の先頭で、変数VAR12を、VAR2>0という条件のときに、例えば「0」で初期化する。
最後に、変数初期化ブロック用プログラム自動生成機能(H)により、一つの変数を初期化するブロックのプログラムを生成し(図3左)、関数funcのプログラムの先頭に一つの変数を初期化するブロックのプログラムを追加する(図3右)。このプログラムの演算順序に従って、プログラム自動生成装置20は、ブロックA1、ブロックA2のプログラムを自動生成する。
本実施形態によれば、ブロック図に一つの変数を初期化する機能を持つブロックを配置することにより、設定した変数を初期化するプログラムが自動生成される。このとき、ブロック図とプログラムは一致しているため、ブロック図を変更するとプログラムも自動で変更される。
(実施形態2)
実施形態1では、一つの変数を初期化することはできるが、二つ以上の変数を同時に初期化することはできない。
本実施形態は、複数の変数を同時に初期化する機能を持つブロックを用意する。変数初期化の機能構成は図1と同様になるが、変数の複数化、初期化条件、位置等が異なる。
変数初期化装置10による変数初期化ブロックの作成手順を図4に示す。図4の左下に示すように、複数の変数を同時に初期化するブロック(I2)には、情報として、初期化する変数一覧、初期値、初期化を行う条件、初期化を行う位置の各情報を設定可能にする。必要であれば、この他にも設定可能な情報を設けることができる。
変数初期化ブロックの作成手順を説明する。まず、一つの変数を初期化する変数初期化装置10と同様に、変数初期化ブロック作成機能(A)により複数の変数を同時に初期化するブロックを作成し(図4右のS1)、関数ブロックヘの関連付け機能(B)により作成した複数の変数を同時に初期化する変数初期化ブロックを関数ブロックに関連付ける(図4右のS2)。
関連付けた関数で初期化可能な変数一覧を初期化可能変数取得機能(C)により取得し(図4右のS3)、変数設定機能(D)によりその変数一覧から初期化する変数を複数指定する(図4右のS4)。
初期値設定機能(E)により初期化する変数に初期化する値を設定し(図4右のS5)、初期化条件設定機能(F)により変数初期化を行う条件を設定する(図4右のS6)。
初期化位置設定機能(G)により関連付けた関数のどの位置(たとえば、関数の先頭や関数の末尾など)で変数初期化を行うかを選択する(図4右のS7)。
図4の左では、複数の変数を同時に初期化する装置(I2)は、変数を初期化する関数ブロックfuncに関連付け、関数の末尾で、変数VAR12とVAR23を、VAR2<0という条件のときに、例えば「1」で初期化する。
なお、手順S4で初期化する変数を一つのみ指定すると、一つの変数(例えばVAR12)を関数の末尾で初期化することができる。
最後に、変数初期化ブロック用プログラム自動生成機能(H)により、複数の変数を同時に初期化するブロックのプログラムを生成し(図5左)、関数funcのプログラムの末尾に複数の変数を同時に初期化するブロックのプログラムを追加する(図5右)。このプログラムの演算順序に従って、プログラム自動生成装置20は、ブロックA1、ブロックA2のプログラムを自動生成する。
本実施形態によれば、ブロック図に複数の変数を初期化する機能を持つブロックを配置することにより、設定した複数の変数を初期化するプログラムが自動生成される。このとき、ブロック図とプログラムは一致しているため、ブロック図を変更するとプログラムも自動で変更される。
(実施形態3)
開発対象のハードウェアによっては、変数に直接値を代入して初期化処理を行うことによってCPUを多く使用してしまうのを回避するため、レジスタを利用することがある。
本実施形態は、レジスタを利用して一つ以上の変数を初期化する機能を持つブロックを用意する。レジスタを利用した変数初期化装置の機能構成を図6に示し、同図は図1の構成に示す変数初期化装置10に代えて、レジスタを利用した変数初期化装置30による変数初期化の機能構成の場合を示す。
変数初期化装置30は、コンピュータ資源とこれを演算処理に利用するソフトウェアで構成され、図1における変数初期化装置10の変数初期化ブロック作成機能(A)に代えて、レジスタを利用した変数初期化ブロック作成機能(I)を設ける。また、装置10のプログラム自動生成機能(H)に代えて、レジスタ取得機能(J)、レジスタ設定機能(K)および変数初期化ブロック用プログラム自動生成機能(L)を設ける。
変数初期化装置30による変数初期化ブロックの作成手順を図7に示す。同図の左下のように、レジスタを利用して変数を初期化する装置30には、情報として、初期化する変数一覧、初期値、初期化を行う条件、初期化を行う位置、利用するレジスタの各情報を設定可能にする。必要であれば、この他にも設定可能な情報を設けることができる。
変数初期化ブロックの作成手順を説明する。まず、レジスタを利用した変数初期化ブロック作成機能(I)によりレジスタを利用して変数を初期化するブロックを作成し(図7右のS1)、関数ブロックヘの関連付け機能(B)により作成したレジスタを利用して変数を初期化するブロックを関数ブロックに関連付ける(図7右のS2)。
関連付けた関数で初期化可能な変数一覧を初期化可能変数取得機能(C)により取得し(図7右のS3)、変数設定機能(D)によりその変数一覧から初期化する変数を複数指定する(図7右のS4)。
初期値設定機能(E)により初期化する変数に初期化する値を設定し(図7右のS5)、初期化条件設定機能(F)により変数初期化を行う条件を設定する(図7右のS6)。
初期化位置設定機能(G)により関連付けた関数のどの位置(たとえば、関数の先頭や関数の末尾など)で変数初期化を行うかを設定する(図7右のS7)。
関連付けた関数で利用可能なレジスタ一覧を利用可能なレジスタ取得機能(J)により取得し(図7右のS8)、レジスタ設定機能(K)によりそのレジスタ一覧から利用するレジスタを一つ指定する(図7右のS9)。
図7右のS4で、初期化する変数を一つのみ指定すると、一つの変数を初期化することができる。
図7の左では、レジスタを利用して変数を初期化する装置(I3)は、変数を初期化する関数ブロックfuncに関連付け、関数の先頭で、変数VAR12とVAR23を、VAR2>0という条件のときに、レジスタreg2を利用して、例えば「0」で初期化する。
最後にレジスタを利用した変数初期化ブロック用プログラム自動生成機能(L)により、レジスタを利用して変数を初期化するブロックのプログラムを生成し(図8左)、関数funcのプログラムの先頭にレジスタを利用して変数を初期化するブロックのプログラムを追加する(図8右)。
このプログラムの演算順序に従って、プログラム自動生成装置20は、演算順序に従って、ブロックA1、ブロックA2のプログラムを自動生成する。
本実施形態によれば、ブロック図にレジスタを利用して変数を初期化する機能を持つブロックを配置することにより、設定した複数の変数を、設定したレジスタを利用して初期化するプログラムが自動生成される。このとき、ブロック図とプログラムは一致しているため、ブロック図を変更するとプログラムも自動で変更される。
なお、図1および図6に示す変数初期化装置10と,プログラム自動生成装置20およびレジスタを利用した変数初期化装置30は、個別のコンピュータで構成することができるが、1つのコンピュータ資源を利用して、それぞれの装置がもつ機能をソフトウェアとして搭載した一体構成とすることができる。
また、本発明は、図2等に示した組込みソフトウェアの開発支援方法の一部又は全部の処理機能をプログラムとして構成してコンピュータに実行させることができる。
実施形態1における変数初期化装置の機能構成図。 変数初期化ブロックの作成手順。 変数初期化プログラムの自動作成例。 変数初期化ブロックの作成手順。 変数初期化プログラムの自動作成例。 実施形態3におけるレジスタを利用した変数初期化装置の機能構成図。 レジスタを利用した変数初期化ブロックの作成手順。 レジスタを利用した変数初期化プログラムの自動作成例。 ブロック図からプログラム自動生成および動作確認の例。 ブロック図とプログラムの関係例。
符号の説明
10 変数初期化装置
20 プログラム自動生成装置
30 レジスタを利用した変数初期化装置

Claims (5)

  1. ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援システムであって、
    前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
    前記変数初期化装置は、変数初期化ブロック作成手段により一つまたは複数の変数を初期化するブロックを作成し、関数ブロックヘの関連付け手段により前記作成した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得手段により前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定手段により前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定手段により前記指定した変数を初期化する値を設定し、初期化条件設定手段により前記指定した変数の初期化を行う条件を設定し、初期化位置設定手段により前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、変数初期化ブロック用プログラム自動作成手段により前記指定した変数を初期化するプログラムを自動生成することを特徴とする組込みソフトウェア開発支援システム。
  2. ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援システムであって、
    前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
    前記変数初期化装置は、レジスタを利用した変数初期化ブロック作成手段によりレジスタを利用した変数初期化ブロックを作成し、関数ブロックヘの関連付け手段により前記作成したレジスタを利用した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得手段により前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定手段により前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定手段により前記指定した変数を初期化する値を設定し、初期化条件設定手段により前記指定した変数の初期化を行う条件を設定し、初期化位置設定手段により前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、利用可能レジスタ取得手段により前記関連付けた関数で利用可能なレジスタ一覧を取得し、レジスタ設定手段により前記レジスタ一覧から変数初期化で利用するレジスタを一つ指定し、レジスタを利用した変数初期化ブロック用プログラム自動生成手段により前記指定した変数を前記指定したレジスタを利用して初期化するプログラムを自動生成することを特徴とする組込みソフトウェア開発支援システム。
  3. ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援方法であって、
    前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
    前記変数初期化装置は、変数初期化ブロック作成ステップにより一つまたは複数の変数を初期化するブロックを作成し、関数ブロックヘの関連付けステップにより前記作成した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得ステップにより前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定ステップにより前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定ステップにより前記指定した変数を初期化する値を設定し、初期化条件設定ステップにより前記指定した変数の初期化を行う条件を設定し、初期化位置設定ステップにより前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、変数初期化ブロック用プログラム自動作成ステップにより前記指定した変数を初期化するプログラムを自動生成することを特徴とする組込みソフトウェア開発支援方法。
  4. ブロック間を線で結んで演算順序を表現したブロック図を作成し、このブロック図を元にプログラムを作成し、このプログラムをコンパイルし、実機に組み込むソフトウェアとする組込みソフトウェア開発支援方法であって、
    前記ブロック図に設定された変数を初期化する変数初期化ブロック用のプログラムを自動生成する変数初期化装置を備え、
    前記変数初期化装置は、レジスタを利用した変数初期化ブロック作成ステップによりレジスタを利用した変数初期化ブロックを作成し、関数ブロックヘの関連付けステップにより前記作成したレジスタを利用した変数初期化ブロックを関数ブロックに関連付け、初期化可能変数取得ステップにより前記関連付けた関数ブロックで初期化可能な変数一覧を取得し、変数設定ステップにより前記変数一覧から初期化する変数を一つまたは複数指定し、初期値設定ステップにより前記指定した変数を初期化する値を設定し、初期化条件設定ステップにより前記指定した変数の初期化を行う条件を設定し、初期化位置設定ステップにより前記関連付けた関数ブロックのどの位置で変数初期化を行うかを設定し、利用可能レジスタ取得ステップにより前記関連付けた関数で利用可能なレジスタ一覧を取得し、レジスタ設定ステップにより前記レジスタ一覧から変数初期化で利用するレジスタを一つ指定し、レジスタを利用した変数初期化ブロック用プログラム自動生成ステップにより前記指定した変数を前記指定したレジスタを利用して初期化するプログラムを自動生成することを特徴とする組込みソフトウェア開発支援方法。
  5. 請求項3または4のいずれか1項に記載の組込みソフトウェア開発支援方法における各処理ステップをコンピュータで実行可能に構成したことを特徴とするプログラム。
JP2008230481A 2008-09-09 2008-09-09 組込みソフトウェア開発支援システム、支援方法およびプログラム Expired - Fee Related JP5120166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008230481A JP5120166B2 (ja) 2008-09-09 2008-09-09 組込みソフトウェア開発支援システム、支援方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008230481A JP5120166B2 (ja) 2008-09-09 2008-09-09 組込みソフトウェア開発支援システム、支援方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010066846A JP2010066846A (ja) 2010-03-25
JP5120166B2 true JP5120166B2 (ja) 2013-01-16

Family

ID=42192406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008230481A Expired - Fee Related JP5120166B2 (ja) 2008-09-09 2008-09-09 組込みソフトウェア開発支援システム、支援方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5120166B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274333A (ja) * 1993-03-22 1994-09-30 Hitachi Ltd プログラムの入力支援方法および編集支援方法
JP2000112737A (ja) * 1998-10-01 2000-04-21 Seiko Epson Corp プログラム作成装置
JPWO2007037310A1 (ja) * 2005-09-29 2009-04-09 株式会社C−Grip コンピュータプログラムのプログラミング方法及びプログラミング用プログラム

Also Published As

Publication number Publication date
JP2010066846A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
US8677334B2 (en) Parallelization method, system and program
JP7262818B2 (ja) エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境
CN113805882A (zh) 应用程序开发的方法、装置、电子设备及存储介质
Cheng et al. GUICat: GUI testing as a service
KR101266565B1 (ko) 요구 인터페이스의 명세 정보를 이용한 소프트웨어 컴포넌트의 테스트 케이스 생성 방법 및 실행 방법
JP2018502391A (ja) ユーザインタフェースを表示するためのコンピュータ実装方法
US20080127061A1 (en) Method and system for editing code
Kalb et al. Enabling dynamic and partial reconfiguration in Xilinx SDSoC
JP2011186991A (ja) 常微分方程式を解くための方法、プログラム及びシステム
JP5120166B2 (ja) 組込みソフトウェア開発支援システム、支援方法およびプログラム
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2010049439A (ja) ソフトウェアモデルを用いたシステム構築方法およびモデリング装置
CN111580789B (zh) 功能块框架生成
Liu et al. Efficient testing based on logical architecture
JP2010102362A (ja) ソフトウェアの開発支援システム、開発支援方法およびプログラム
JP2016200872A (ja) 制御プログラム作成装置、及び制御プログラムのデバッグ方法
JP6398456B2 (ja) ソフトウェア生成装置
JP6333201B2 (ja) グラフィック制御モデルから制御システム上で実行可能な制御プログラムを形成するためにコンピュータ上で実行される方法およびコンピュータプログラム
CN117251298B (zh) 一种流水线任务循环执行方法、系统、设备及介质
WO2015136607A1 (ja) ソフトウェア開発支援システム、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム
JP5287427B2 (ja) シンボリックデバッガ、方法およびプログラム
KR101211914B1 (ko) 운영체제 태스크 프레임워크의 자동 생성 방법 및 시스템
JP5621426B2 (ja) オプション情報解析システム、オプション情報解析方法及びプログラム
JP5487789B2 (ja) ソフトウェアの開発支援システム、支援方法およびプログラム
JP5181947B2 (ja) 組込みソフトウェア開発支援システム、支援方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121008

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5120166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees