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

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

Info

Publication number
JP2010102362A
JP2010102362A JP2008270406A JP2008270406A JP2010102362A JP 2010102362 A JP2010102362 A JP 2010102362A JP 2008270406 A JP2008270406 A JP 2008270406A JP 2008270406 A JP2008270406 A JP 2008270406A JP 2010102362 A JP2010102362 A JP 2010102362A
Authority
JP
Japan
Prior art keywords
block
calculation
block diagram
setting
simulation
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
JP2008270406A
Other languages
English (en)
Other versions
JP2010102362A5 (ja
JP5422963B2 (ja
Inventor
Tatsunari Toyama
達斎 外山
Fujiya Unno
富士也 海野
Tamotsu Funatsu
有 船津
Yasuhiro Kanesashi
泰宏 金刺
Kazuya Tada
和也 多田
Susumu Maruyama
進 丸山
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
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP2008270406A priority Critical patent/JP5422963B2/ja
Publication of JP2010102362A publication Critical patent/JP2010102362A/ja
Publication of JP2010102362A5 publication Critical patent/JP2010102362A5/ja
Application granted granted Critical
Publication of JP5422963B2 publication Critical patent/JP5422963B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】ブロック図に対する割込み処理及び演算周期設定を含めたブロック図の設計とデバッグを容易にする。
【解決手段】システム本体100は、ブロックの設計と、各ブロックの演算順序を定義したブロック図の設計を支援するユーザ定義ブロック設定装置10の外に、ブロック図デバッグ装置60を備える。ブロック図デバッグ装置は、ブロック図上に割込み禁止設定ブロックと割込み禁止解除ブロックの設置、ブロック図の先頭から順に演算シミュレーションモデルを実行する順次ステップ実行、ブロック図のブレークポイントから演算シミュレーションモデルを実行するブレークポイントステップ実行、ブロックまたは関数に対する演算周期と優先度の設定、設定されるチェック条件で演算シミュレーション時にチェックを行う汎用チェックブロック作成の各機能をもつ。
【選択図】図1

Description

本発明は、ソフトウェアの開発支援システムおよび開発支援方法に係り、特に組込みソフトウェアとして開発するブロック図の動作を確認するためのデバッグに関する。
監視制御や計測制御などのコンピュータ処理システムに組み込むアプリケーション・ソフトウェアの開発ではUMLで設計図の記述を行うことが多い。このUMLの設計図のうち、クラス図などからソースコードを出力し、残りのロジックに関する部分の実装を手作業で行う(例えば、非特許文献1参照)。
一方、組み込みソフトウェアの設計では、制御演算を司る部分の設計図については、従来からブロック図が用いられている。ブロック図の要素としてはブロックと線があり(図2参照)、これらが図面上で接続されることで、ソフトウェアとして実現したい内容を表現する。この設計図を元にして実装を行うにあたっては、実装者が設計図から設計情報を読み取りながら、手作業で実装が行われている。また、MATLAB/Simulinkに代表されるようなブロック図作成のためのアプリケーションでは、ブロック図を元にソースコードを出力するものもある(例えば、非特許文献2参照)。
ブロック図から作成したプログラムの動作確認には、ブロックやブロック図に入力を設定して出力を取り出し、この入出力関係からブロックやブロック図の動作を確認することができる。
図19はブロック図からプログラムを作成し、動作確認をする例を示す。図19の左上はブロック図の例を示し、入力にlN1,1N2,lN3があり、VARはlN1とlN2の和が入り、OUTはVARとlN3の積が入る演算ブロックとする。このブロック図から図19の右上のようにプログラムを手動または自動で作成する。そして、図19の右下のように、入力設定値として、入力1N1に数値「2」,lN2に数値「3」,lN3に数値「4」を設定すると、VARは値「5」になり、OUTは値「20」となり、動作を確認することができる。
明電時報、2006年9・10月、通巻310号、No.5「ソフトウェア開発総合支援システムにおける仕様作成支援機能」 MATLAB/Simulink(http://www.cybernet.co.jp/matlab/products/product_listing/simulink/)
組み込みソフトウェアの動作を確認するためのデバッグには以下の問題があった。
(1)組込みソフトウェアでは、ハードウェアからの情報取得、演算、動作制御など、複数の処理をまとめて行う必要がある。そのとき、割込みによって現在実行しようとする処理を切リ替える。割込みとは、あるシステムの内部や外部から送られてくる割込み信号により、現在実行している処理を中断して、送られてきた割込み信号に対応する処理を実行することである。
例えば、ブロック図上で結線されている複数のブロックがあり、その中で割込によって処理が分断されてしまうことを避ける必要がある部分(ブロック群)が存在することがある。このブロック群に対して、組込みソフトウェアでは割込み禁止を設定する記述が存在しないため、割込み禁止の記述がない設計図(ブロック図)の通りにプログラムを作成すると、割込みによって処理が分断されて、システムに予期しない不具合が発生し、手戻りが発生し、設計の見直しを行わなければならなくなる。
(2)組込みソフトウェアでは、すべての演算を同一の周期で演算するのではなく、全体の処理負荷を軽減するために、一部の演算を異なる周期で演算することがある。MATLAB/Simulinkには離散系ブロックがあり、このブロックにサンプル時間を設定することによって、異なる演算周期を設定することができる。この作業は設定に手間がかかるだけでなく、ブロック図を一目見ただけではどの範囲(ブロック)がどの演算周期なのかが分かりにくい。
(3)組込みソフトウェア開発支援システムには、作成されたソースコードの段階でチェックブロックを仮設定しておき、チェックブロックの位置で演算処理が正常に設計されているかをチェック可能とするものがある。このチェックブロックによる主要なチェック機能としては、指定した値を超えないかをチェックする上限値チェック、指定した値を下回らないかをチェックする下限値チェック、演算結果がオーバーフローとならないかをチェックするオーバーフローチェック、演算結果がアンダーフローとならないかをチェックするアンダーフローチェック、演算結果が桁落ちしないかをチェックする桁落ちチェックがある。
これらのチェックブロックは組込みソフトウェア開発支援システムに組み込まれており、外部に公開されていない。このため、用意されていない内容のチェックを行うときは、専用のチェックブロックを新規に作成して組込みソフトウェア開発支援システムに追加する必要がある。
(4)設計図(ブロック図)のシミュレーションでは、ブロック図にブレークポイントを設定してシミュレーションをその場所で一時停止させ、各ブロックなどの現在値を確認することができる。図20上のように、ブロックB1とB2の間にブレークポイントC1を配置すると、シミュレーションはブロックB1の演算を行った後、ブレークポイントC1で演算を一時停止する。ここで、ユーザがシミュレーションを再開させると、次のブレークポイントC2が見つかるまで演算を一時停止させることができない。ブレークポイントが見つからなければ、シミュレーションは最後の出力OUTに到達して終了する。
このため、ブロック図上の各ブロックをシミュレーションによって演算結果を確認するためには、図20下のように、確認箇所すべて(B1〜B3)にブレークポイント(C1〜C3)を設置しなければならない。
一般に、組込みソフトウェアの開発支援システムは、基本的な設計、シミュレーションを行うことができるが、上記のような詳細な設計、シミュレーションを行うことができない。
本発明の目的は、ブロック図に対する割込み処理及び演算周期設定を含めたブロック図の設計とデバッグを容易にしたソフトウェアの開発支援システム、開発支援方法およびプログラムを提供することにある。
本発明は、前記の課題を解決するため、ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを支援できるブロック図デバッグ装置を用意するもので、以下の開発支援システム、開発支援方法およびプログラムを特徴とする。
(システムの発明)
(1)コンピュータ処理システムに組み込むソフトウェアの設計を支援するシステムとして、入力に対して所期の関数演算を行って出力するブロックの設計と、各ブロック間を線で結んで演算順序を定義したブロック図の設計を支援するユーザ定義ブロック設定装置を備えた組込みソフトウェアの開発支援システムであって、
ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを支援するブロック図デバッグ装置を備え、
前記ブロック図デバッグ装置は、ブロック図上に割込み禁止設定ブロックと割込み禁止解除ブロックを設置できる割込み禁止ブロック作成手段と、前記割込み禁止設定ブロックと割込み禁止解除ブロックがブロック図上に対で存在しているか確認する割込み禁止確認手段とを備えたことを特徴とする。
(2)前記ブロック図デバッグ装置は、
ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行して演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理手段と、
前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行手段と、
前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から順に連続して前記演算シミュレーションモデルを実行する連続実行手段と、
前記一時停止状態で、中断の動作指示を受けると、前記演算シミュレーションを中止するステップ実行中止手段と、
により構成される順次ステップ実行部を備えたことを特徴とする。
(3)前記ブロック図デバッグ装置は、
ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行する演算シミュレーション実行処理を、演算対象ブロックがブレークポイントになるまで繰り返し、演算対象ブロックがブレークポイントになると演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理手段と、
前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行手段と、
前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から演算シミュレーションモデルを実行する連続実行手段と、
前記一時停止状態で、外部入力装置により中断の動作指示を受けると、演算シミュレーションを中止するステップ実行中止手段と、
により構成されるブレークポイントステップ実行部を備えたことを特徴とする。
(4)前記ブロック図デバッグ装置は、
ブロック図上のブロックを一つまたは複数選択し、そのブロックに演算周期と優先度を設定するブロック演算周期設定手段と、
同じ演算周期のブロックを同じ強調表示させる演算周期強調表示手段と、
により構成される演算周期設定部を備えたことを特徴とする。
(5)前記ブロック図デバッグ装置は、
ブロック図上の関数を一つまたは複数選択し、その関数に演算周期と優先度を設定する関数演算周期設定手段と、
同じ演算周期の関数を同じ強調表示させる演算周期強調表示手段と、
により構成される演算周期設定部を備えたことを特徴とする。
(6)前記ブロック図デバッグ装置は、
チェックする条件を設定するチェック条件設定手段と、
前記チェック条件設定手段で設定した情報を外部記憶媒体に保存するチェック条件保存手段と、
前記チェック条件保存手段で保存した情報を外部記憶媒体から読み込むチェック条件読込手段と、
前記チェック条件設定手段またはチェック条件読込手段で設定した条件で演算シミュレーション時にチェックを行うチェック実行手段と、
により構成される汎用チェックブロック作成部を備えたことを特徴とする。
(方法の発明)
(7)コンピュータ処理システムに組み込むソフトウェアの設計を支援する方法として、入力に対して所期の関数演算を行って出力するブロックの設計と、各ブロック間を線で結んで演算順序を定義したブロック図の設計を支援するユーザ定義ブロック設定装置を備えた組込みソフトウェアの開発支援方法であって、
ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを支援するブロック図デバッグ装置を備え、
前記ブロック図デバッグ装置は、ブロック図上に割込み禁止設定ブロックと割込み禁止解除ブロックを設置できる割込み禁止ブロック作成ステップと、前記割込み禁止設定ブロックと割込み禁止解除ブロックがブロック図上に対で存在しているか確認する割込み禁止確認ステップとを有することを特徴とする。
(8)前記ブロック図デバッグ装置は、
ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行して演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理ステップと、
前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行ステップと、
前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から順に連続して前記演算シミュレーションモデルを実行する連続実行ステップと、
前記一時停止状態で、中断の動作指示を受けると、前記演算シミュレーションを中止するステップ実行中止ステップと、
により構成される順次ステップ実行部を有することを特徴とする。
(9)前記ブロック図デバッグ装置は、
ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行する演算シミュレーション実行処理を、演算対象ブロックがブレークポイントになるまで繰り返し、演算対象ブロックがブレークポイントになると演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理ステップと、
前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行ステップと、
前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から演算シミュレーションモデルを実行する連続実行ステップと、
前記一時停止状態で、外部入力装置により中断の動作指示を受けると、演算シミュレーションを中止するステップ実行中止ステップと、
により構成されるブレークポイントステップ実行部を有することを特徴とする。
(10)前記ブロック図デバッグ装置は、
ブロック図上のブロックを一つまたは複数選択し、そのブロックに演算周期と優先度を設定するブロック演算周期設定ステップと、
同じ演算周期のブロックを同じ強調表示させる演算周期強調表示ステップと、
により構成される演算周期設定部を有することを特徴とする。
(11)前記ブロック図デバッグ装置は、
ブロック図上の関数を一つまたは複数選択し、その関数に演算周期と優先度を設定する関数演算周期設定ステップと、
同じ演算周期の関数を同じ強調表示させる演算周期強調表示ステップと、
により構成される演算周期設定部を有することを特徴とする。
(12)前記ブロック図デバッグ装置は、
チェックする条件を設定するチェック条件設定ステップと、
前記チェック条件設定ステップで設定した情報を外部記憶媒体に保存するチェック条件保存ステップと、
前記チェック条件保存ステップで保存した情報を外部記憶媒体から読み込むチェック条件読込ステップと、
前記チェック条件設定ステップまたはチェック条件読込ステップで設定した条件で演算シミュレーション時にチェックを行うチェック実行ステップと、
により構成される汎用チェックブロック作成部を有することを特徴とする。
(プログラムの発明)
(13)上記(7)〜(12)のいずれか1項に記載の組込みソフトウェア開発支援方法における処理手順をコンピュータで実行可能にしたことを特徴とする。
以上のとおり、本発明によれば、ブロック図デバッグ装置を用意することにより、ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグが容易になる。
具体的には、割込み禁止を考慮したブロック図を作成でき、そのブロック図からソースコードを自動生成することにより、ブロック図とソースコードとの整合性が保たれる。
また、割込み禁止を考慮した演算シミュレーションのステップ実行ができる。
また、ブロックや関数に簡単に演算周期を設定することができ、可視化することによって異なる演算周期が一目で分かりやすくなる。また、異なる演算周期を考慮した演算シミュレーションのステップ実行ができる。
また、汎用のチェックブロックを作成することで、専用のチェックブロックを新規に作成して組込みソフトウェア開発支援システムに追加することなく、開発者が所望するチェック機能を持ったチェックブロックを配置することができる。また、汎用チェックブロックを考慮した演算シミュレーションのステップ実行ができる。
また、割込み禁止、演算周期、汎用チェックブロックを含むブロック図を作成でき、これらを考慮した演算シミュレーションのステップ実行ができる。すなわち、ソースコードをコンパイルして実機に組み込んで動作を確認せずに、ブロック図上でデバッグを簡単に行うことができる。
図1は、本実施形態における組込みソフトウェア開発支援システムの基本構成図である。同図において、システム本体100は、コンピュータ資源とこれを利用したソフトウェアで構成され、外部入出力装置になるブロック情報入力部200とブロック図情報表示部300との間にインタフェースを構成する。
システム本体100には、ユーザがソフトウェアとして組み込もうとする任意の情報処理機能をブロックとして定義可能とし、これを「ユーザ定義ブロック」として効率よく作成できるようにするユーザ定義ブロック設定装置10と、ブロック情報定義DB(データベース)20と、表示用ブロック情報DB30と、ブロック選択部40および関数情報DB50を搭載する。なお、ユーザ定義ブロック設定装置10などの各機能を実現するプログラム言語はC言語を想定しているが、C言語以外のプログラム言語でも良い。
図1において、ユーザ定義ブロック設定装置10は、ユーザによって定義されたブロックのブロック名を設定するブロック名設定部11と、ブロックの端子に名前を設定する端子情報設定部12と、ブロックにコード片(ブロックに対応する部分的なソースコード)を設定するコード片設定部13と、ブロックのプロパティを設定するプロパティ設定部14と、ブロックに定義されるコード片変数名を変換するコード片変数名変換部15を備える。
これらブロック名設定部・端子情報設定部・コード片設定部・プロパティ設定部で設定した内容を、ブロック選択部40で選択したブロック別に、ブロック情報定義DB20と、表示用ブロック情報DB30に保存する。また、関数情報DB50には各ブロック毎にユーザ定義された関数情報を保存する。また、ブロック情報入力部(マウス・キーボード)200からはブロックの情報を入力し、ブロック図およびブロックの設定情報をブロック図情報表示部(ディスプレイ)300に表示する。
以上のような組込みソフトウェア開発支援システムにおいて、本実施形態では、ブロック図デバッグ装置60を増設する。このブロック図デバッグ装置60はその機能構成図を図2に示すように、割込み禁止/解除部61、順次ステップ実行部62、プレークポイントステップ実行部63、演算周期設定部64および汎用チェックブロック作成部65を備え、ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを容易にする。
これら各部は、コンピュータ資源とこれを利用したソフトウェアで構成される。以下、各部によるブロック図の設計とデバッグの詳細を項分けして説明する。
(1)割込み禁止設定/解除設定
システムにより作成されるブロック図は、ブロック図上で結線されている複数のブロックがあり、その中で割込みによって処理が分断されてしまうことを避ける必要がある部分(以下、ブロック群と呼ぶ)が存在することがある。
上記のブロック群に対して割込み禁止を設定するために、図2に示す割込み禁止/解除部61の割込み禁止ブロック作成機能により、ブロック図に割込み禁止設定ブロックを設置できるようにし、また、設定した割込み禁止を解除するために、割込み禁止解除ブロックを設置できるようにする。さらに、これら設定を使った割込み禁止確認を割込み禁止確認機能により確認できるようにする。
この割込み禁止/解除部61で設定する割込み禁止設定ブロックと割込み禁止解除ブロックには、それぞれ入力端子と出力端子が一つずつ付くように設定し、加算ブロックや乗算ブロックなどの他のブロックと同様に結線することができる。
また、割込み禁止設定ブロックには割込み禁止を設定するコード片を、割込み禁止解除ブロックには割込み禁止を解除するコード片を設定する。C言語における割込み禁止設定や割込み禁止解除の実行は、一般的に関数呼び出しの形式が多いので、たとえば図3では、「割込み禁止設定()」・「割込み禁止解除()」という関数を呼ぶコード片を設定する。このコード片は、使用する割込みシステムに応じて設定すると、異なる割込みシステムに対応できる。
ここで、ブロック図上に割込み禁止設定ブロックを設置し、その後の演算で割込み禁止解除ブロックを設置していない場合、割込み禁止の設定が無限に続くことになり、その後、割込み処理を行うことができなくなってしまう。そこで、割込み禁止設定ブロックと割込み禁止解除ブロックが対で存在しているかを確認する割込み禁止確認機能を設け、両者が対で存在しない場合、その旨(割込み禁止解除されていない)の警告を出すようにする。
この確認は、図4に例を示し、設計されたブロック図の演算順序に従って最初の割込み禁止設定ブロックを見つけたとき、演算順序が後のブロックをたどって、割込み禁止解除ブロックが存在するか調べる。割込み禁止解除ブロックが存在すれば正常に終了する(図4のa)。一方、途中に他の割込み禁止設定ブロックが存在するか(図4のb)、出力のブロック(演算の終わり)に到違した場合(図4のc)、対になる割込み禁止解除ブロックが設定されていないことになり、その警告を出力する。
逆に、ブロック図上に割込み禁止解除ブロックを設置し、その前の演算で割込み禁止設定ブロックを設置していない場合、割込み禁止設定をすべきブロック群が存在するにもかかわらず、割込み禁止設定を忘れている可能性がある。上記の割込み禁止解除の確認と同様に、割込み禁止設定ブロックと割込み禁止解除ブロックが対で存在しているかを確認する機能が、両者が対で存在しない場合、その旨(割込み禁止設定されていない)の警告を出すようにする。
この確認は、図5に例を示し、ブロック図の演算順序に従って最初の割込み禁止解除ブロックを見つけたとき、演算順序が前のブロックをたどって、割込み禁止設定ブロックが存在するか調べる。割込み禁止設定ブロックが存在すれば正常に終了する(図5のa)。一方、途中に他の割込み禁止解除ブロックが存在するか(図5のb)、入力のブロック(演算のはじめ)に到達した場合(図5のc)、対になる割込み禁止設定ブロックが設定されていないことになり、その警告を出力する。
したがって、割込み禁止を考慮したブロック図を作成でき、そのブロック図からソースコードを自動生成することにより、ブロック図とソースコードとの整合性が保たれる。
(2)割込み禁止を考慮したステップ実行
組込みソフトウェア開発支援システムに、割込み禁止を考慮したステップ実行を行う機能を設ける。この機能は図2に示すように、最初からステップ実行する順次ステップ実行部62と、ブレークポイントからステップ実行するブレークポイントステップ実行部63として用意する。
図6は、最初からステップ実行する順次ステップ実行部62の手順を示す。設計されたブロック図の演算順序を取得し(step1)、まず先頭の演算順序を取り出し、その演算対象ブロックを取得する(step2)。次に、演算対象ブロックの演算シミュレーションモデルを取得し(step3)、この演算シミュレーションモデルを実行し(step4)、演算結果を取得して演算結果DBに保存し(step5)、演算結果をディスプレイなどの外部出力装置に表示する(step6)。ここで、ステップ実行のため、演算シミュレーション実行を一時停止する(step7)。ここでは、演算順序を取り出してから演算シミュレーション実行を一時停止するまでを「演算シミュレーションステップ実行処理」と呼ぶ。この停止状態で、ユーザからマウスなどの外部入力装置で次の動作指示を受けると、上記指示が「ステップ実行」であれば、上記演算順序の次の演算順序について、上記演算シミュレーションステップ実行処理を行い(step8)、上記指示が「連続実行」であれば、上記演算順序の以降のすべての演算順序について演算シミュレーションモデルを一時停止することなく実行して演算シミュレーションを終了する。上記指示が「中断」であれば、上記演算順序の以降のすべての演算順序について演算シミュレーション実行を行わずに演算シミュレーションを中止する(step9)。演算順序の最後まで、上記を繰り返す。
図7は演算シミュレーションのステップ実行を最初から行う順次ステップ実行部62の実行例を示す。図7の(a)に示すステップ実行手順は、まず演算順序1の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。次いで、ユーザがステップ実行を指示すると、演算順序2の対象ブロックB2の演算シミュレーションモデルS2を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。さらに、ユーザがステップ実行を指示すると、演算順序3の対象ブロックB3の演算シミュレーションモデS3を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、出力OUTに到達して演算シミュレーションを終了する。
図7の(b)に示すステップ実行手順は、演算シミュレーションモデルS1を実行して演算結果を表示し、演算シミュレーションを一時停止している状態で、ユーザが連続実行を指示すると、以降の演算順序「2」〜「3」について、演算シミュレーションモデルS2〜S3を一時停止することなく実行し、出力OUTに到達して演算シミュレーションを終了する。
図7の(c)に示すステップ実行手順は、演算シミュレーションモデルS1を実行して演算結果を表示し、演算シミュレーションを一時停止している状態で、ユーザが中断を指示すると、以降の演算順序「2」〜「3」について、演算シミュレーションモデルS2〜S3を実行せずに演算シミュレーションを中止する。
図8は、ブレークポイントからステップ実行するブレークポイントステップ実行部63の手順を示す。上記の最初からステップ実行する順次ステップ実行の場合、ステップ実行で演算結果を確認したいブロックが演算順序の後方にあると、演算順序の最初のブロックから上記所望のブロックに到達するまで、ユーザはマウスなどの外部入力装置でステップ実行を指示し続けなければならなくなる。
そこで、ブレークポイント用チェックブロックを用いて、ブレークポイントからのステップ実行を可能にする。図8が図6と異なる部分は、演算対象ブロックを取得したとき(step2)、当該演算対象ブロックがブレークポイント用チェックブロックであるときに、演算シミュレーションモデルの取得と実行(step3,4)を行うことなく、演算結果の取得(step5)にジャンプする。
図9は演算シミュレーションのステップ実行をブレークポイントから行うブレークポイントステップ実行部63の実行例を示す。図9の(a)に示すステップ実行手順は、まず演算順序1の対象ブロックB1の演算シミュレーションモデルS1を実行して、次の演算順序に進む。次の演算順序「2」の対象ブロックはブレークポイント用チェックブロックC1なので、演算結果を表示して、演算シミュレーションを一時停止する。この状態で、ユーザがステップ実行を指示すると、次に演算順序「3」の対象ブロックB2の演算シミュレーションモデルS2を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「4」の対象ブロックB3の演算シミュレーションモデルS3を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。さらにユーザがステップ実行を指示すると、出力OUTに到達して演算シミュレーションを終了する。
図9の(b)に示すステップ実行手順は、ブレークポイント用チェックブロックC1で演算シミュレーションを一時停止している状態で、ユーザが連続実行を指示すると、以降の演算順序について、対象ブロックがブレークポイント用チェックブロックになるまで、演算順序「3」〜「4」の演算シミュレーションモデルS2〜S3を一時停止することなく続けて実行し、出力OUTに到達して演算シミュレーションを終了する。
図9の(c)に示すステップ実行手順は、演算シミュレーションモデルS1を実行して演算結果を表示し、演算シミュレーションを一時停止している状態で、ユーザが中断を指示すると、以降の演算順序「2」〜「3」について、演算シミュレーションモデルS2〜S3を実行せずに演算シミュレーションを中止する。
図10は複数の対象ブロックがブレークポイント用チェックブロックを設定した場合のステップ実行処理を示す。演算結果を表示して演算シミュレーションを一時停止し、上記の演算シミュレーションステップ実行処理を行う。図10の場合、ブレークポイント用チェックブロックC1で演算シミュレーションを一時停止している状態で、ユーザが連続実行を指示すると、以降の演算順序について、対象ブロックがブレークポイント用チェックブロックC2になるまで、演算順序「3」〜「4」の演算シミュレーションモデルS2〜S3を一時停止することなく連続して実行し、演算順序5のブレークポイント用チェックブロックC2で演算結果を表示して演算シミュレーションを一時停止する。さらに、ユーザが連続実行を指示すると、次に演算順序「6」の対象ブロックB4の演算シミュレーションモデルS4を実行し、出力OUTに到達して演算シミュレーションを終了する。
以上までのステップ実行において、優先度の高い割込みが発生すると、現在の演算シミュレーションを中断して、割込みの演算シミュレーションを行う。しかし、割込み禁止設定ブロックをシミュレーション中の場合、優先度の高い割込みが発生しても現在の演算シミュレーションを中断せず実行を継続し、割込み禁止解除ブロックをシミュレーション後、割込みの演算シミュレーションを行う。
図11は、割込み禁止を考慮した演算シミュレーションを最初から実行する例を示す。まず演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「2」の割込み禁止設定を行う。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「3」の対象ブロックB2の演算シミュレーションモデルS2を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。
ユーザがステップ実行を指示し、さらに割込みが発生すると、割込み禁止設定されているため、割込み用演算シミュレーションモデルS11を割込み演算リストに追加し、次の演算順序「4」の対象ブロックB3の演算シミュレーションモデルS3を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。
ユーザがステップ実行を指示すると、次に演算順序「5」の割込み禁止解除を行う。ここで演算シミュレーションを一時停止する。ユーザがステッブ実行を指示すると、次に割込み演算リストにある演算順序「1」の対象ブロックB11の演算シミュレーションモデルS11を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、メインの演算シミュレーションに戻り、演算シミュレーションを終了する。
なお、ブレークポイントからステップを実行する場合も同様に演算シミュレーションを行う。
したがって、割込み禁止を考慮した演算シミュレーションのステップ実行を行うことができる。
(3)ブロック演算周期の設定
図2に示す演算周期設定部64は、ブロック演算周期設定機能により、ブロックに優先度を付与した演算周期を設定し、優先度付きの演算周期を考慮した演算シミュレーションのステップ実行が行えるようにする。
この設定は、ユーザはマウスなどの外部入力装置でブロック図上にあるブロックを一つまたは複数選択し、メニューなどで演算周期設定を実行し、そのブロックに演算周期と優先度を設定する。優先度は、同じ演算周期の別のブロックが存在する場合に、どちらのブロックを優先して演算するかを示す指針である。
設定した演算周期がブロック図を一目見て分かるように、演算周期設定部64の演算周期強調表示機能は、同じ演算周期のブロックは、たとえば同じ色で縁取りして、同じ強調表示をする。このとき異なる演算周期のブロックは、異なる色で縁取りする。これは、ブロックを塗りつぶすなど別の強調表示でも良い。
図2に示す組込みソフトウェア開発支援システムを利用した場合で説明する。表示用ブロック情報DB30にプロパティ情報として演算周期と優先度を追加する。図12左は、ブロックB1に演算周期を周期1,B2に周期1,B3に周期2をそれぞれ設定し、B1とB2は同じ演算周期なので優先度をそれぞれ0、1に設定した例を示す。
前記の割込み禁止を考慮したステップ実行と同様に、演算周期を考慮してステップ実行を行う。図13には演算周期を考慮した演算シミュレーションの実行例(最初から)の場合を示し、1秒経過時は、演算周期1秒のブロックを演算順序「1」から順に演算シミュレーションを行う。演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、経過時間を進める。
2秒経過時は、演算周期1秒と2秒のブロックについて、優先度の高い方から、それぞれ演算順序「1」から順に演算シミュレーションを行う。優先度2の演算順序「1」の対象ブロックB2の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、優先度1の演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、経過時間を進める。
3秒経過時、4秒経過時などこれ以降の経過時間についても同様にステップ実行を行う。そして、ユーザが中断を指示するか、あらかじめ設定した演算シミュレーション時間が経過すると、演算シミュレーションを終了する。ブレークポイントからステッブを実行する場合も同様に演算シミュレーションを行う。
したがって、ブロックに簡単に演算周期を設定することができ、可視化することによって異なる演算周期が一目で分かりやすくなる。また、異なる演算周期を考慮した演算シミュレーションのステップ実行ができる。
(4)関数演算周期の設定
図2に示す演算周期設定部64の関数演算周期設定機能は、演算定義/設計された関数に優先度を付与した演算周期を設定し、優先度付きの演算周期を考慮した演算シミュレーションのステップ実行が行えるようにする。
関数は複数のブロックで構成される。同じ関数内のブロックは同じ演算周期を設定する必要がある。上記のようにすべてのブロックに同じ演算周期を設定する作業は手間がかかる。
そこで、ユーザはマウスなどの外部入力装置でブロック図上にある関数を一つまたは複数選択し、メニューなどで演算周期設定を実行し、その関数に演算周期と優先度を設定する。優先度は、同じ演算周期の別の関数が存在する場合に、どちらの関数を優先して演算するかを示す指針である。関数内のブロックはブロック図の演算順序に従った順番に演算する。
ブロックに演算周期を設定する場合と同様に、設定した演算周期がブロック図を一目見て分かるように、強調表示機能は、同じ演算周期の関数は、たとえば同じ色で縁取りして、同じ強調表示をする。このとき異なる演算周期の関数は、異なる色で縁取りする。これは、関数を塗りつぶすなど別の強調表示でも良い。
図2に示す組込みソフトウェア開発支援システムを利用した場合で説明する。関数情報DB50には項目として演算周期と優先度を追加する。図12右は、関数Func1に演算周期を周期1、Func2に周期2をそれぞれ設定した例を示す。
前記のブロック演算周期の設定と同様に、演算周期を考慮してステップ実行を行う。図14は演算周期を考慮した演算シミュレーションのステップ実行を最初から行う場合を示す。1秒経過時は、演算周期1秒の関数を構成するブロックを演算順序「1」から順に演算シミュレーションを行う。演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、経過時間を進める。
2秒経過時は、演算周期1秒と2秒の関数について、優先度の高い方から、それぞれその関数を構成するブロックを演算順序「1」から順に演算シミュレーションを行う。優先度2の関数F2について、演算順序「1」の対象ブロックB2の演算シミュレーションモデルS2を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、優先度1の関数F1について、演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、経過時間を進める。
3秒経過時、4秒経過時などこれ以降の経過時間についても同様にステッブ実行を行う。また、ユーザが中断を指示するか、あらかじめ設定した演算シミュレーション時間が経過すると、演算シミュレーションを終了する。
なお、ブレークポイントからステップ実行する場合も同様に演算シミュレーションを行う。
したがって、関数に簡単に演算周期を設定することができ、可視化することによって異なる演算周期が一目で分かりやすくなる。また、異なる演算周期を考慮した演算シミュレーションのステップ実行ができる。
(5)汎用チェックブロックの作成
図2に示す汎用チェックブロック作成部65は、専用のチェックブロックを新規に作成して組込みソフトウェア開発支援システムに追加することなく、開発者が所望するチェック機能を持ったチェックブロックを配置できるようにする。
汎用チェックブロック作成装置65は、チェックする条件を設定するチェック条件設定機能、このチェック条件設定機能で設定した情報をファイルなどの外部記億媒体に保存するチェック条件保存機能、このチェック条件保存機能で保存した情報をファイルなどの外部記憶媒体から読み込むチェック条件読込機能、このチェック条件読込機能または上記チェック条件設定機能で設定した条件で演算シミュレーション時にチェックを行うチェック実行機能で構成される。以下、これら機能別のチェック機能別の設定方式を説明する。
<条件式によるチェック>
上限値チェックや下限値チェックのように、チェック条件として条件式を設定する場合、チェック条件設定機能で条件式を設定する。
たとえば、図15の(a)のように、上限値チェックで「10を超えないか」を条件とする場合、条件式として「>10」を設定する。
チェック実行機能は演算結果が設定されている条件式を満たしているか否かのチェックを行い、満たしている場合にチェックのフラグを立てる。
<項目によるチェック>
オーバーフローチェックや桁落ちチェックのように、チェック条件として条件式ではなく項目を設定する場合、チェック条件設定機能でその項目名を設定する。項目名とそのチェック内容を対応付けるもの(たとえば、テーブル)を用意する。
たとえば、図15の(b)のように、オーバーフローチェックで「オーバーフローにならないか」を条件とする場合、項目名として「overflow」を設定する。オーバーフローを特定できれば良いので、これ以外の項目名でも良い。
チェック実行機能では演算結果が設定されている項目名からそのチェック内容を取得し、チェック内容を満たしているか否かのチェックを行い、満たしている場合にはチェックのフラグを立てる。
いずれの場合も、フラグを立てたい(エラーとなる)場合を条件として設定する。
<組み合わせによるチェック>
上下限値チェックのように、チェック条件として複数の条件を設定する場合、チェック条件設定機能ではある一つの条件を設定した後、さらに別の条件を追加設定していく。このとき、組み合わせとして、論理積(and)と論理和(or)を設定可能とする。
たとえば、図15の(c)のように、上下限値チェックで「1以上5以下であるか」を条件とする場合、第一の条件式として「<1」を設定し、続けて第二の条件式として「>5」を設定する。二つの条件式を論理和(or)で関連付ける。
チェック実行機能では演算結果が設定されているすべての条件を満たしているか否かのチェックを行い、論理積の場合はすべての条件を満たしている場合、論理和の場合は一つでも条件を満たしている場合、チェックのフラグを立てる。
図16の汎用チェックブロックを考慮した演算シミュレーションのステップ実行を最初から行う場合を示し、前記の割込み禁止を考慮したステップ実行と同様に、汎用化したチェックブロックを利用してステップ実行を行う。
図16の例では、まず演算順序「1」の対象ブロックB1の演算シミュレーションモデルS1を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「2」の汎用チェックブロックC1のチェック実行を行い演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステッブ実行を指示すると、次に演算順序「3」の対象ブロックB2の演算シミュレーションモデルS2を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、演算シミュレーションを終了する。
なお、ブレークポイントからステップ実行する場合も同様に演算シミュレーションを行う。
したがって、汎用のチェックブロックを作成することで、専用のチェックブロックを新規に作成して組込みソフトウェア開発支援システムに追加することなく、開発者が所望するチェック機能を持ったチェックブロックを配置することができる。また、汎用チェックブロックを考慮した演算シミュレーションのステップ実行ができる。
(6)デバッグ装置の機能全体でデバッグ実行
上記(1)〜(5)の機能を組み合わせてブロック図を作成し、作成したブロック図を演算シミュレーションすることにより動作を確認する。
上記の(1)の割込み禁止設定/解除設定を使用して、ブロック図上で割込み禁止を明示的に表現する。上記の(3)ブロック演算周期の設定、および(4)演算周期の設定で、ブロックや関数に適切な演算周期を設定して、それをブロック図上で同じ演算周期を同じ強調表示で可視化する。上記の(5)汎用チェックブロックの作成により、所望の条件を設定して、ブロック図上のチェックしたい箇所に設置する。ブロック図の設計が終わると、演算シミュレーションで動作を確認する。上記の(2)と同様に、ステップ実行により、演算順序を一つずつあるいはブレークポイントの位置まで進めて一時停止し、その時点での演算結果を見ながら詳細な動作確認を行う。
図17および図18に示す演算シミュレーションの実行例では、1秒経過時は、演算周期1秒の関数F1を構成するブロックを演算順序「1」から順に演算シミュレーションを行う。まず演算順序「1」の対象ブロックB11の演算シミュレーションモデルS11を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステッブ実行を指示すると、次に演算順序「2」の割込み禁止設定を行う。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「3」の対象ブロックB12の演算シミュレーションモデルS12を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示し、さらに割込みが発生すると、割込み禁止設定されているため、割込み用演算シミュレーションモデルS21を割込み演算リストに追加し、次の演算順序「4」の対象ブロックB13の演算シミュレーションモデルS13を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「5」の割込み禁止解除を行う。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に割込み演算リストにある演算順序「1」の対象ブロックB21の演算シミュレーションモデルS21を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、経過時間を進める。
2秒経過時は、演算周期1秒と2秒の関数について、優先度の高い方から、それぞれその関数を構成するブロックを演算順序「1」から順に演算シミュレーションを行う。優先度2の関数F2について、まず演算順序「1」の対象ブロックB31の演算シミュレーションモデルS31を実行して演算結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、次に演算順序「2」の汎用チェックブロックC1のチェック実行を行いチェック結果を表示する。ここで演算シミュレーションを一時停止する。ユーザがステップ実行を指示すると、優先度1の関数F1について、演算順序「1」の対象ブロックB11の演算シミュレーションモデルS11から順に上記1秒経過時と同様にステップ実行を行う。
3秒経過時、4秒経過時などこれ以降の経過時間についても同様にステッブ実行を行う。ユーザが中断を指示するか、あらかじめ設定した演算シミュレーション時間が経過すると、演算シミュレーションを終了する。
したがって、割込み禁止、演算周期、汎用チェックブロックを含むブロック図を作成でき、これらを考慮した演算シミュレーションのステップ実行ができる。すなわち、ソースコードをコンパイルして実機に組み込んで動作を確認せずに、ブロック図上でデバッグを簡単に行うことができる。
なお、上記までの実施形態に示したデバッグ方法の一部又は全部の処理機能をコンピュータで実行可能にしたプログラムとして提供することができる。
本発明の実施形態を示す組込みソフトウェア開発支援システムの基本構成図。 ブロック図デバッグ装置の機能構成図。 割込み禁止設定/割込み禁止解除ブロックの情報定義。 割込み禁止解除の確認の例。 割込み禁止設定の確認の例。 演算シミュレーションのステップ実行(最初から)の手順。 演算シミュレーションのステップ実行例(最初から)。 演算シミュレーションのステップ実行(ブレークポイントから)の手順。 演算シミュレーションのステップ実行例(ブレークポイントから)。 演算シミュレーションのステップ実行例(ブレークポイントから)。 割込み禁止を考慮した演算シミュレーションの実行例(最初から)。 演算周期を考慮した表示用ブロック情報DBと関数情報DBの構造。 演算周期を考慮した演算シミュレーションの実行例(最初から)。 演算周期を考慮した演算シミュレーションの実行例(最初から)。 汎用チェックブロックの例。 汎用チェックブロックを考慮した演算シミュレーションの実行例(最初から)。 演算シミュレーションの実行例。 演算シミュレーションの実行例。 ブロック図からプログラム自動生成および動作確認の手順図。 演算シミュレーションのブレークポイントの設置例。
符号の説明
100 組込みソフトウェア開発支援システム本体
200 ブロック情報入力部
300 ブロック図情報表示部
10 ユーザ定義ブロック設定装置
20 ブロック情報定義DB
30 表示用ブロック情報DB
40 ブロック選択部
50 関数情報DB
60 ブロック図デバッグ装置

Claims (13)

  1. コンピュータ処理システムに組み込むソフトウェアの設計を支援するシステムとして、入力に対して所期の関数演算を行って出力するブロックの設計と、各ブロック間を線で結んで演算順序を定義したブロック図の設計を支援するユーザ定義ブロック設定装置を備えた組込みソフトウェアの開発支援システムであって、
    ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを支援するブロック図デバッグ装置を備え、
    前記ブロック図デバッグ装置は、ブロック図上に割込み禁止設定ブロックと割込み禁止解除ブロックを設置できる割込み禁止ブロック作成手段と、前記割込み禁止設定ブロックと割込み禁止解除ブロックがブロック図上に対で存在しているか確認する割込み禁止確認手段とを備えたことを特徴とするソフトウェアの開発支援システム。
  2. 前記ブロック図デバッグ装置は、
    ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行して演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理手段と、
    前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行手段と、
    前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から順に連続して前記演算シミュレーションモデルを実行する連続実行手段と、
    前記一時停止状態で、中断の動作指示を受けると、前記演算シミュレーションを中止するステップ実行中止手段と、
    により構成される順次ステップ実行部を備えたことを特徴とする請求項1に記載のソフトウェアの開発支援システム。
  3. 前記ブロック図デバッグ装置は、
    ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行する演算シミュレーション実行処理を、演算対象ブロックがブレークポイントになるまで繰り返し、演算対象ブロックがブレークポイントになると演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理手段と、
    前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行手段と、
    前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から演算シミュレーションモデルを実行する連続実行手段と、
    前記一時停止状態で、外部入力装置により中断の動作指示を受けると、演算シミュレーションを中止するステップ実行中止手段と、
    により構成されるブレークポイントステップ実行部を備えたことを特徴とする請求項1または2に記載のソフトウェアの開発支援システム。
  4. 前記ブロック図デバッグ装置は、
    ブロック図上のブロックを一つまたは複数選択し、そのブロックに演算周期と優先度を設定するブロック演算周期設定手段と、
    同じ演算周期のブロックを同じ強調表示させる演算周期強調表示手段と、
    により構成される演算周期設定部を備えたことを特徴とする請求項1〜3のいずれか1項に記載のソフトウェアの開発支援システム。
  5. 前記ブロック図デバッグ装置は、
    ブロック図上の関数を一つまたは複数選択し、その関数に演算周期と優先度を設定する関数演算周期設定手段と、
    同じ演算周期の関数を同じ強調表示させる演算周期強調表示手段と、
    により構成される演算周期設定部を備えたことを特徴とする請求項1〜4のいずれか1項に記載のソフトウェアの開発支援システム。
  6. 前記ブロック図デバッグ装置は、
    チェックする条件を設定するチェック条件設定手段と、
    前記チェック条件設定手段で設定した情報を外部記憶媒体に保存するチェック条件保存手段と、
    前記チェック条件保存手段で保存した情報を外部記憶媒体から読み込むチェック条件読込手段と、
    前記チェック条件設定手段またはチェック条件読込手段で設定した条件で演算シミュレーション時にチェックを行うチェック実行手段と、
    により構成される汎用チェックブロック作成部を備えたことを特徴とする請求項1〜5のいずれか1項に記載のソフトウェアの開発支援システム。
  7. コンピュータ処理システムに組み込むソフトウェアの設計を支援する方法として、入力に対して所期の関数演算を行って出力するブロックの設計と、各ブロック間を線で結んで演算順序を定義したブロック図の設計を支援するユーザ定義ブロック設定装置を備えた組込みソフトウェアの開発支援方法であって、
    ブロック図に対する割込み処理及び演算周期設定を含めたユーザによるブロック図の設計とデバッグを支援するブロック図デバッグ装置を備え、
    前記ブロック図デバッグ装置は、ブロック図上に割込み禁止設定ブロックと割込み禁止解除ブロックを設置できる割込み禁止ブロック作成ステップと、前記割込み禁止設定ブロックと割込み禁止解除ブロックがブロック図上に対で存在しているか確認する割込み禁止確認ステップとを有することを特徴とする組込みソフトウェアの開発支援方法。
  8. 前記ブロック図デバッグ装置は、
    ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行して演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理ステップと、
    前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行ステップと、
    前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から順に連続して前記演算シミュレーションモデルを実行する連続実行ステップと、
    前記一時停止状態で、中断の動作指示を受けると、前記演算シミュレーションを中止するステップ実行中止ステップと、
    により構成される順次ステップ実行部を有することを特徴とする請求項7に記載の組込みソフトウェアの開発支援方法。
  9. 前記ブロック図デバッグ装置は、
    ブロック図の演算順序の先頭から順に演算対象ブロックを取得し、この演算対象ブロックの演算シミュレーションモデルを取得し、この演算シミュレーションモデルを実行する演算シミュレーション実行処理を、演算対象ブロックがブレークポイントになるまで繰り返し、演算対象ブロックがブレークポイントになると演算結果を外部出力装置に表示して演算シミュレーション実行を一時停止する演算シミュレーションステップ実行処理ステップと、
    前記一時停止状態で、外部入力装置によりステップ実行の動作指示を受けると、次の演算順序について、前記演算シミュレーションモデルを実行するステップ実行ステップと、
    前記一時停止状態で、外部入力装置により連続実行の動作指示を受けると、次の演算順序から演算シミュレーションモデルを実行する連続実行ステップと、
    前記一時停止状態で、外部入力装置により中断の動作指示を受けると、演算シミュレーションを中止するステップ実行中止ステップと、
    により構成されるブレークポイントステップ実行部を有することを特徴とする請求項7または8に記載の組込みソフトウェアの開発支援方法。
  10. 前記ブロック図デバッグ装置は、
    ブロック図上のブロックを一つまたは複数選択し、そのブロックに演算周期と優先度を設定するブロック演算周期設定ステップと、
    同じ演算周期のブロックを同じ強調表示させる演算周期強調表示ステップと、
    により構成される演算周期設定部を有することを特徴とする請求項7〜9のいずれか1項に記載の組込みソフトウェアの開発支援方法。
  11. 前記ブロック図デバッグ装置は、
    ブロック図上の関数を一つまたは複数選択し、その関数に演算周期と優先度を設定する関数演算周期設定ステップと、
    同じ演算周期の関数を同じ強調表示させる演算周期強調表示ステップと、
    により構成される演算周期設定部を有することを特徴とする請求項7〜10のいずれか1項に記載の組込みソフトウェアの開発支援方法。
  12. 前記ブロック図デバッグ装置は、
    チェックする条件を設定するチェック条件設定ステップと、
    前記チェック条件設定ステップで設定した情報を外部記憶媒体に保存するチェック条件保存ステップと、
    前記チェック条件保存ステップで保存した情報を外部記憶媒体から読み込むチェック条件読込ステップと、
    前記チェック条件設定ステップまたはチェック条件読込ステップで設定した条件で演算シミュレーション時にチェックを行うチェック実行ステップと、
    により構成される汎用チェックブロック作成部を有することを特徴とする請求項7〜11のいずれか1項に記載の組込みソフトウェアの開発支援方法。
  13. 請求項7〜12のいずれか1項に記載の組込みソフトウェア開発支援方法における処理手順をコンピュータで実行可能にしたことを特徴とするプログラム。
JP2008270406A 2008-10-21 2008-10-21 ソフトウェアの開発支援システム、開発支援方法およびプログラム Expired - Fee Related JP5422963B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008270406A JP5422963B2 (ja) 2008-10-21 2008-10-21 ソフトウェアの開発支援システム、開発支援方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270406A JP5422963B2 (ja) 2008-10-21 2008-10-21 ソフトウェアの開発支援システム、開発支援方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2010102362A true JP2010102362A (ja) 2010-05-06
JP2010102362A5 JP2010102362A5 (ja) 2011-10-27
JP5422963B2 JP5422963B2 (ja) 2014-02-19

Family

ID=42292988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270406A Expired - Fee Related JP5422963B2 (ja) 2008-10-21 2008-10-21 ソフトウェアの開発支援システム、開発支援方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5422963B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229074A (ja) * 2013-05-22 2014-12-08 株式会社デンソー ソフトウェアの開発支援装置、開発支援方法およびプログラム
KR20160011236A (ko) * 2014-04-30 2016-01-29 미쓰비시덴키 가부시키가이샤 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
WO2018092237A1 (ja) * 2016-11-17 2018-05-24 三菱電機株式会社 プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198235A (ja) * 1996-01-13 1997-07-31 Shinobu Noda 逐次制御方式電子計算機システムで実行可能なプログラムの図形による表現方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198235A (ja) * 1996-01-13 1997-07-31 Shinobu Noda 逐次制御方式電子計算機システムで実行可能なプログラムの図形による表現方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229074A (ja) * 2013-05-22 2014-12-08 株式会社デンソー ソフトウェアの開発支援装置、開発支援方法およびプログラム
KR20160011236A (ko) * 2014-04-30 2016-01-29 미쓰비시덴키 가부시키가이샤 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
KR101641853B1 (ko) 2014-04-30 2016-07-21 미쓰비시덴키 가부시키가이샤 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
WO2018092237A1 (ja) * 2016-11-17 2018-05-24 三菱電機株式会社 プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム
JP6486574B2 (ja) * 2016-11-17 2019-03-20 三菱電機株式会社 プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム
US10628140B2 (en) 2016-11-17 2020-04-21 Mitsubishi Electric Corporation Program code generation apparatus

Also Published As

Publication number Publication date
JP5422963B2 (ja) 2014-02-19

Similar Documents

Publication Publication Date Title
JP5307802B2 (ja) 外部デバッグのインフラストラクチャを使用するインプロセスのデバッグ
US20180024911A1 (en) Software code debugger for quick detection of error root causes
JP2020024717A5 (ja)
JP2011070256A (ja) デバッガおよびプログラム
JP2016528650A5 (ja)
JP6258159B2 (ja) プログラム情報生成システム、方法、及びプログラム
US9921946B2 (en) Method and system to display and browse program trace using source code decoration
KR20110065067A (ko) 멀티 쓰레드 테스팅시 발생되는 에러 정보에 대한 비주얼 인터페이스를 제공하는 장치 및 방법
CN101120321A (zh) 程序调试装置、程序调试方法以及程序
US9117020B2 (en) Determining control flow divergence due to variable value difference
CN107203465A (zh) 系统接口测试方法及装置
JP5422963B2 (ja) ソフトウェアの開発支援システム、開発支援方法およびプログラム
Davies Async in C# 5.0
JP2019153042A (ja) 数値制御装置
JP2009193181A (ja) ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
JP2013008277A (ja) カバレッジ測定装置、方法およびプログラム
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2010049439A (ja) ソフトウェアモデルを用いたシステム構築方法およびモデリング装置
JP2009211622A (ja) 契約定義関数検証装置、その方法及びそのプログラム
JP4481783B2 (ja) シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム
JP6519530B2 (ja) 検証装置、検証プログラム、及び、検証方法
CN109947420A (zh) 一种代码编辑器的快捷键机制实现方法及电子设备
JP2008090699A (ja) トレースロギング方法、装置及びプログラム
CN104573526A (zh) 软件产品多版本管理方法、装置以及计算机设备
JP5287427B2 (ja) シンボリックデバッガ、方法およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110907

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5422963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees