(57)【要約】【課題】レジスタ変数の設計およびプログラム自動作成に、レジスタ変数の誤った定義、使い回しのチェックを容易にする。【解決手段】ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成を行うソフトウェア開発支援システム１００に搭載するレジスタ変数チェック装置１０は、設計図上で使用されたレジスタ変数とその使用箇所を特定するレジスタ変数定義情報取得部１０Ａと、レジスタ変数定義情報で特定するレジスタ変数使用箇所を設計図上で強調表示する強調表示部１０Ｂを備える。  強調表示の仕様設定とその強調表示、レジスタ変数が使用される設計図のリストアップ、同じ変数名をもつレジスタ変数の強調表示を実施するかしないかのチェックも行う。【選択図】図１
2010160593.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、
設計図上で使用されている同じレジスタ変数をチェックするレジスタ変数チェック装置は、
前記レジスタ変数とその使用箇所を特定するレジスタ変数定義情報取得手段と、
前記レジスタ変数定義情報取得手段で取得したレジスタ変数定義情報で特定するレジスタ変数使用箇所を設計図上で強調表示する強調表示手段と、
を備えたことを特徴とするソフトウェアの開発支援システム。
【請求項２】
前記レジスタ変数チェック装置は、
前記設計図上でレジスタ変数が使用されるときに強調表示の仕様を前記レジスタ変数定義情報に設定できる強調表示仕様設定手段と、
前記レジスタ変数定義情報取得手段で取得したレジスタ変数定義情報にもつ前記強調表示の仕様を読み込む強調表示仕様読込み手段を備え、
前記強調表示手段は、前記強調表示仕様読込み手段で読込んだ強調表示の仕様で、前記レジスタ変数使用箇所を強調表示する手段を備えたことを特徴とする請求項１に記載のソフトウェアの開発支援システム。
【請求項３】
前記レジスタ変数チェック装置は、レジスタ変数とそのレジスタ変数が使用されている設計図をリストアップし、どの設計図上にどのレジスタ変数が使用されているかの情報を提供するレジスタ変数リストアップ手段を備えたことを特徴とする請求項１または２に記載のソフトウェアの開発支援システム。
【請求項４】
前記レジスタ変数チェック装置は、
同じ変数名をもつレジスタ変数の強調表示を実施するかしないかをチェックできる強調表示チェック手段を備え、
前記強調表示手段は、前記強調表示仕様読込み手段で読込んだ強調表示の仕様で、かつ前記強調表示チェック手段でチェックされた前記レジスタ変数使用箇所を強調表示する手段を備えたことを特徴とする請求項１〜３のいずれか１項に記載のソフトウェアの開発支援システム。
【請求項５】
ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、
設計図上で使用されている同じレジスタ変数をチェックするレジスタ変数チェック装置は、
前記レジスタ変数とその使用箇所を特定するレジスタ変数定義情報取得ステップと、
前記レジスタ変数定義情報取得ステップで取得したレジスタ変数定義情報で特定するレジスタ変数使用箇所を設計図上で強調表示する強調表示ステップと、
を有してレジスタ変数をチェックすることを特徴とするソフトウェアの開発支援方法。
【請求項６】
前記レジスタ変数チェック装置は、
前記設計図上でレジスタ変数が使用されるときに強調表示の仕様を前記レジスタ変数定義情報に設定できる強調表示仕様設定ステップと、
前記レジスタ変数定義情報取得ステップで取得したレジスタ変数定義情報にもつ前記強調表示の仕様を読み込む強調表示仕様読込みステップを有し、
前記強調表示ステップは、前記強調表示仕様読込みステップで読込んだ強調表示の仕様で、前記レジスタ変数使用箇所を強調表示するステップを有することを特徴とする請求項５に記載のソフトウェアの開発支援方法。
【請求項７】
前記レジスタ変数チェック装置は、レジスタ変数とそのレジスタ変数が使用されている設計図をリストアップし、どの設計図上にどのレジスタ変数が使用されているかの情報を提供するレジスタ変数リストアップステップを有することを特徴とする請求項５または６に記載のソフトウェアの開発支援方法。
【請求項８】
前記レジスタ変数チェック装置は、
同じ変数名をもつレジスタ変数の強調表示を実施するかしないかをチェックできる強調表示チェックステップを有し、
前記強調表示ステップは、前記強調表示仕様読込みステップで読込んだ強調表示の仕様で、かつ前記強調表示チェックステップでチェックされた前記レジスタ変数使用箇所を強調表示するステップを有することを特徴とする請求項５〜７のいずれか１項に記載のソフトウェアの開発支援方法。
【請求項９】
請求項５〜８のいずれか１項に記載の開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの設計図に合わせたプログラムの自動作成などを支援するソフトウェアの開発支援システム、開発支援方法およびプログラムに係り、特に設計図上で使用されている同じレジスタ変数の誤った定義、使い回しのチェックに関する。
【背景技術】
【０００２】
ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成などを支援するソフトウェア開発支援システムとして、ＵＭＬ図で仕様や設計図などの記述を行い、このＵＭＬ図による「仕様作成」、「分析」、「設計」、「実装」、「保守」といったソフトウェア開発を支援する支援システムがある（例えば、非特許文献１参照）。
【０００３】
一方、組込みソフトウェア開発では、演算に関する設計図としてブロック図を作成する。また、処理の順番に関する設計図として、図１５のように、フローチャートのような図を設計図として用いることもある。たとえば、開発対象の組込み機器が加算と乗算を行う場合、入力から出力まで、加算や乗算を表すブロックを配置し、ブロック間を線で結んで演算順序を表現する。この設計図を元にして実装を行うにあたっては、作成したブロック図を元にプログラムを作成し、このプログラムを専用のコンパイラを使用してコンパイルし、実機に組み込んで動作試験を可能にする。
【０００４】
このようなソフトウェアの開発支援システムでは、プログラムを自動作成するうえで必要な情報を保持している。例えば、変数の情報（型・スコープ・変数名・記憶クラス、使用するＵＩ（ユーザインタフェース）情報等）、関数の情報（型・スコープ・関数変数名・記億クラス、使用ＵＩ情報、関数で使用されている変数の情報等）、プログラム上の制御情報や設計図の表現からどのような順番でプログラムを自動作成するか（プログラムフロー情報）などである。
【０００５】
例として、図１４と図１５を示す。図１４の場合は、設計図Ｘを構成する処理Ａ、Ｂの前後（入力側・出力側）を結線し、その線に変数ｒｅｇ１，ｒｅｇ２などが割り振られている場合であり、ソフトウェア開発支援システムは、設計図ＸのＵＩ情報のほかに、変数情報、プログラム順番情報（プログラムフロー情報）をもつ。また、結線上に変数名を表示している。
【０００６】
図１５の場合は、設計図Ｙを構成する処理Ａ、Ｂの順番を線で結線し、それらに入出力変数などが割り振られている場合であり、ソフトウェア開発支援システムは、設計図ＹのＵＩ情報のほかに、処理で使用される変数等の属性情報、変数情報、プログラム順番情報（プログラムフロー情報）をもつ。
【０００７】
このようなソフトウェアの開発支援システムで自動作成されたプログラムの中には、演算の高速化の手段として、レジスタを読出し／書き込み領域とするレジスタ変数を使った設計図、プログラムを用いている場合がある。ここでレジスタとは、高速に読み出し、書き込みができるＣＰＵ（中央処理装置）の中の記憶素子であり、プログラム中から自由にその内容を参照・更新することができる。レジスタ変数を使用した設計図、プログラム中では、レジスタ変数を宣言することにより、ＣＰＵのレジスタにデータ書き込みや読み出しを可能にする。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】明電時報  ２００６年９・１０月  通巻３１０号  Ｎｏ．５「ソフトウェア開発総合支援システムにおける仕様作成支援機能」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
プログラム中からレジスタにデータ読み出し、書き込みを行う場合、使用中のレジスタへのデータの上書きなどが起こらないように注意を払う必要がある。ソフトウェア開発者の意図しない箇所で使用中のレジスタへのデータの上書きが発生すると、開発されたシステムに不具合が生じる。
【００１０】
また、割込み処理が発生するようなプログラムの場合、割込み元、割込み先で同一のレジスタ変数を使用している場合も使用中のレジスタへのデータの上書きが発生する場合も多くある。
【００１１】
また、組み込みシステム等では、各ＣＰＵで使用できるレジスタの数に制限があるため、レジスタ変数を使いまわしてプログラムを作成することもあり、このような状況で、使用中のレジスタへのデータの上書きが発生する場合も多くある。
【００１２】
ソフトウェアの設計図をもとに、シミュレーションを実行したり、プログラムを自動作成したりするソフトウェア開発支援システムの場合、設計図上で使用する変数の情報（型・スコープ・変数名・記億クラス等）はある。しかし、レジスタ変数は、使いまわすこともあるため、複数の設計図にまたがって存在することもある。この場合、レジスタ変数の使い回しが正しい使用方法か否かは、設計図を記述したソフトウェア開発支援システム使用者のみが知るところにより、システムが一概にレジスタ変数の使用方法にエラー通知を出すのは難しい。
【００１３】
そのため、ソフトウェア開発支援システムでは、何のチェックもなしにプログラムを自動作成すると、使用者の意図したとおりの実行結果が期待できないプログラムを作成する結果となり、自動作成したプログラムを用いた実際の動作試験で不具合が見つかるなど、開発に多くの時間を要し、ソフトウェア開発支援システムの使用者に大きな負担となる。
【００１４】
なお、ソフトウェア開発支援システムがプログラムを自動作成する前に、レジスタ変数の使用箇所の特定をするためには、設計図上の変数の定義を一つ一つ確かめなくてはならず、上書きのチェックに多くの時間がかかり、ソフトウェア開発支援システムの使用者に大きな負担となる。
【００１５】
本発明の目的は、レジスタ変数の設計およびプログラム自動作成に、レジスタ変数の誤った定義、使い回しのチェックを容易にしたソフトウェアの開発支援システム、開発支援方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明は、設計図上で使用されているレジスタ変数とその使用箇所を特定し、特定したレジスタ変数とその使用箇所を設計図上で強調表示することで、システム使用者によるレジスタ変数の誤った定義、使い回しのチェックを容易にするもので、以下のシステム、方法およびプログラムを特徴とする。
【００１７】
（システムの発明）
（１）ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、
設計図上で使用されている同じレジスタ変数をチェックするレジスタ変数チェック装置は、
前記レジスタ変数とその使用箇所を特定するレジスタ変数定義情報取得手段と、
前記レジスタ変数定義情報取得手段で取得したレジスタ変数定義情報で特定するレジスタ変数使用箇所を設計図上で強調表示する強調表示手段と、
を備えたことを特徴とする。
【００１８】
（２）前記レジスタ変数チェック装置は、
前記設計図上でレジスタ変数が使用されるときに強調表示の仕様を前記レジスタ変数定義情報に設定できる強調表示仕様設定手段と、
前記レジスタ変数定義情報取得手段で取得したレジスタ変数定義情報にもつ前記強調表示の仕様を読み込む強調表示仕様読込み手段を備え、
前記強調表示手段は、前記強調表示仕様読込み手段で読込んだ強調表示の仕様で、前記レジスタ変数使用箇所を強調表示する手段を備えたことを特徴とする。
【００１９】
（３）前記レジスタ変数チェック装置は、レジスタ変数とそのレジスタ変数が使用されている設計図をリストアップし、どの設計図上にどのレジスタ変数が使用されているかの情報を提供するレジスタ変数リストアップ手段を備えたことを特徴とする。
【００２０】
（４）前記レジスタ変数チェック装置は、
同じ変数名をもつレジスタ変数の強調表示を実施するかしないかをチェックできる強調表示チェック手段を備え、
前記強調表示手段は、前記強調表示仕様読込み手段で読込んだ強調表示の仕様で、かつ前記強調表示チェック手段でチェックされた前記レジスタ変数使用箇所を強調表示する手段を備えたことを特徴とする。
【００２１】
（方法の発明）
（５）ソフトウェアの設計図をＧＵＩベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、
設計図上で使用されている同じレジスタ変数をチェックするレジスタ変数チェック装置は、
前記レジスタ変数とその使用箇所を特定するレジスタ変数定義情報取得ステップと、
前記レジスタ変数定義情報取得ステップで取得したレジスタ変数定義情報で特定するレジスタ変数使用箇所を設計図上で強調表示する強調表示ステップと、
を有してレジスタ変数をチェックすることを特徴とする。
【００２２】
（６）前記レジスタ変数チェック装置は、
前記設計図上でレジスタ変数が使用されるときに強調表示の仕様を前記レジスタ変数定義情報に設定できる強調表示仕様設定ステップと、
前記レジスタ変数定義情報取得ステップで取得したレジスタ変数定義情報にもつ前記強調表示の仕様を読み込む強調表示仕様読込みステップを有し、
前記強調表示ステップは、前記強調表示仕様読込みステップで読込んだ強調表示の仕様で、前記レジスタ変数使用箇所を強調表示するステップを有することを特徴とする。
【００２３】
（７）前記レジスタ変数チェック装置は、レジスタ変数とそのレジスタ変数が使用されている設計図をリストアップし、どの設計図上にどのレジスタ変数が使用されているかの情報を提供するレジスタ変数リストアップステップを有することを特徴とする。
【００２４】
（８）前記レジスタ変数チェック装置は、
同じ変数名をもつレジスタ変数の強調表示を実施するかしないかをチェックできる強調表示チェックステップを有し、
前記強調表示ステップは、前記強調表示仕様読込みステップで読込んだ強調表示の仕様で、かつ前記強調表示チェックステップでチェックされた前記レジスタ変数使用箇所を強調表示するステップを有することを特徴とする。
【００２５】
（プログラムの発明）
（９）上記の（５）〜（８）のいずれか１つに記載の開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とする。
【発明の効果】
【００２６】
以上のとおり、本発明によれば、設計図上で使用されているレジスタ変数とそのレジスタ変数の使用箇所を特定し、特定したレジスタ変数とその使用箇所を設計図上で強調表示することで、レジスタ変数の設計およびプログラム自動作成に、システム使用者によるレジスタ変数の誤った定義、使い回しのチェックが容易になる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態１の機能構成図。
【図２】設計図１（割込み元）の例。
【図３】設計図２（割込み先）の例。
【図４】設計図１（割込み元）のプログラムフロー情報。
【図５】設計図２（割込み先）のプログラムフロー情報。
【図６】変数情報の例。
【図７】割込み発生時のレジスタ（ｒｅｇ２）の上書きの例。
【図８】実施形態１の強調表示のフロー。
【図９】本発明の実施形態２の機能構成図。
【図１０】実施形態２の強調表示のフロー。
【図１１】定義されたレジスタ変数のリストアップ表示の例。
【図１２】本発明の実施形態４の機能構成図。
【図１３】実施形態４の強調表示のフロー。
【図１４】設計図と変数情報とプログラムフロー情報の例１。
【図１５】設計図と変数情報とプログラムフロー情報の例２。
【発明を実施するための形態】
【００２８】
（実施形態１）
図１は、本実施形態の機能構成図を示す。ソフトウェアの設計図をＧＵＩベースで作成し、その設計図をもとにプログラムを自動作成したりするソフトウェア開発支援システム１００に、コンピュータ資源とこれを利用したソフトウェアで構成するレジスタ変数チェック装置１０を搭載する。
【００２９】
レジスタ変数チェック装置１０は、レジスタ変数定義情報取得部１０Ａと、強調表示部１０Ｂで構成する。レジスタ変数定義情報取得部１０Ａは、システム内部の情報（変数情報）より、レジスタ変数定義情報を取得し、どのレジスタがどのＵＩ（設計図）上のどの部品に割り当てられているかを特定する情報を取得する。強調表示部１０Ｂは、システムが保持している強調表示の仕様（例えば、色や線の太さ、線の種別等）で、当該レジスタ変数に係る部分を強調表示させる。
【００３０】
このようなレジスタ変数チェック装置１０を開発支援システムに搭載することにより、設計図の作成段階または自動作成されたプログラムで使用されたレジスタ変数とその使用箇所を強調表示し、このレジスタ変数が強調表示されている設計図やプログラムに関連する図についてもそのレジスタ変数の使用箇所を一目で特定できるように機能構成する。これにより、システムの使用者は同じレジスタにレジスタ変数が上書きされるかどうかのチェックを容易にする。
【００３１】
上記のレジスタ変数チェック装置１０の機能を具体的に説明する。割込み処理が発生するようなシステムを設計する場合、割込み元、割込み先で同一のレジスタ変数を使用している場合も使用中のレジスタヘのデータの上書きが発生する場合が多くある。しかし、割込み元の処理、割込み先の処理の設計図をみても、設計図からは、どのレジスタ変数が上書きされるのかは一目では分かりにくい。
【００３２】
図２に示す割込み元の設計図１と図３に示す割込み先の設計図２が設計された場合で説明する。図２、図３に対応するプログラムフロー情報は図４、図５に示し、両図の変数情報の例を図６に示す。
【００３３】
今、図７のようなタイミングで割り込みが発生すると、設計図１（割込み元）で使用するｒｅｇ２（図４のＳ２）は、設計図２（割込み先）の途中で計算されたｒｅｇ２（図５のＳ４）で上書きされたものになっており、本来設計図１（割込み元）で計算されたｒｅｇ２（図４のＳ２）を使用すべきであるが、違った値になってしまう。
【００３４】
そこで、前記のとおり、ソフトウェア開発支援システムはレジスタ変数を用いている箇所をシステム内部で認識することができるので（変数、情報）、レジスタ変数名ごとに、システムが保持している強調表示の使用（例えば色や線の太さ、線の種別など）で強調表示させる。例として、色別で強調表示させる例は、図２と図３に表示される同じレジスタ変数ｒｅｇ２には、同じ色（赤）が設定および表示される。
【００３５】
レジスタ変数チェック装置１０による強調表示機能のフローを図８に示す。システム内部の情報（変数情報）より、レジスタ変数定義情報を取得し（Ｓ１０）、レジスタ変数定義情報があれば（Ｓ１１）、その定義番号ｉを「０」に初期化し（Ｓ１２）、ｉ番目のレジスタ変数定義情報を取得し（Ｓ１３）、ｉ番目のレジスタ変定義情報に関連するＵＩ情報を取得し（Ｓ１４）、取得したＵＩ情報より設計図上でのレジスタ変数の使用ｕｉ情報を判別し（Ｓ１５）、判別したレジスタ変数の使用ｕｉ情報を強調表示する（Ｓ１６）。
【００３６】
これら処理Ｓ１３〜Ｓ１６後に、処理していないレジスタ変数定義情報があるか否かをチェックし（Ｓ１７）、あれば定義番号ｉをインクリメントし（Ｓ１８）、当該ｉ番目のレジスタ変数定義情報に関連する設計図上の使用ｕｉ情報を強調表示する（Ｓ１３〜Ｓ１８）。
【００３７】
本実施形態によれば、ソフトウェア開発支援システム使用者は、表示されている設計図上の使用箇所に関連するＵＩを一目で特定でき、当該レジスタ変数が上書きされるかどうかのチェックが簡単になり、チェックの負担が軽減される。
【００３８】
また、システム使用者は、チェックによってレジスタ変数を正しく使用し、これにより適切なプログラムを得ることができ、ソフトウェア開発支援システムが出力したプログラムの誤りを少なくし、その動作試験の時間短縮も可能となる。
【００３９】
（実施形態２）
上記の実施形態１によるレジスタ変数チェック処理において、強調表示の仕様がソフトウェア開発支援システムの他機能に用いられていた場合、レジスタ変数の使用箇所でない部分も、あたかもレジスタ変数の使用箇所のようにシステム使用者に誤解を与えてしまうおそれがある。
【００４０】
本実施形態では、レジスタ変数ごとにソフトウェア開発支援システム使用者が、強調表示の仕様を設定できるようにする。例えば、色や線の太さ、線の種別等をＵＩ経由やファイル経由などで設定する。
【００４１】
本実施形態の機能構成図を図９に示し、ソフトウェア開発支援システムにレジスタ変数チェック装置１０を搭載する。図９において、図１と同様に、レジスタ変数定義情報取得部１０Ａは、システム内部の情報（変数情報）より、レジスタ変数定義情報を取得し、どのレジスタがどのＵＩ（設計図）上のどの部品に割り当てられているか取得可能とする。また、強調表示部１０Ｂは、システムが保持している強調表示の仕様（例えば、色や線の太さ、線の種別等）で、強調表示させる。
【００４２】
本実施形態で新たに追加する強調表示仕様読込み部１０Ｃは、強調表示の仕様をＵＩやファイルなどを経由して読み込み可能にする。
【００４３】
なお、システム使用者が、強調表示の仕様を設定できるよう、システムは、定義されたレジスタ変数と、システム使用者が設定した強調表示の仕様（例えば色や線の太さ、線の種別など）を関連付けて持つ。システム使用者が設定しない場合は、システム内部で保持している強調表示の仕様を使う。
【００４４】
図１０は、本実施形態による強調表示のフローを示す。同図が図８と異なる部分は、レジスタ変数の使用ｕｉ情報を判別したとき（Ｓ１５）、強調表示仕様読込み部１０Ｃは、ｉ番目のレジスタ変数に関連付けられている強調表示の仕様を取得し（Ｓ２０）、判別したレジスタ変数の使用ｕｉ情報を処理Ｓ２０で取得した強調表示の仕様で表示する（Ｓ２１）。
【００４５】
本実施形態によれば、実施形態１の作用効果に加えて、強調表示の仕様が、ソフトウェア開発支援システムの他の機能に用いられていた場合においても、システム使用者が強調表示の仕様を設定できるので、レジスタ変数の使用箇所に特化した強調表示ができ、上書きされるかどうかのチェックに関するシステム使用者の負担を軽減できる。
【００４６】
（実施形態３）
上記までの実施形態において、設計図が複数ある場合、すべての設計図を開きながら確認しないと、上書きされるかどうかのチェックがすべて終了しないので、上書きチェックに関する誤認識を起こしたり、上書きチェックの作業効率が落ちたりするおそれがある。
【００４７】
前記のように、ソフトウェアの設計図をＧＵＩベースで作成し、その設計図をもとに、プログラムを自動作成するソフトウェア開発支援システムは、プログラムを自動作成するうえで必要な情報を保持している。例えば変数の情報（型・スコープ・変数名・記憶クラス、使用ＵＩ情報等）、関数の情報（型・スコープ・関数変数名・記憶クラス、使用ＵＩ情報等）、プログラム上の制御情報や設計図の表現からどのような順番でプログラムを自動作成するか（プログラムフロー情報）などである。
【００４８】
本実施形態では、これらの情報より、定義されたレジスタ変数とそのレジスタ変数が使用されている設計図をリストアップし、ソフトウェア開発支援システム使用者に対して、どの設計図上にどのレジスタ変数が使用きれているかの情報を提供する。このとき、開発支援システムは、表示される情報に実際の設計図の関連付けを行い、リストアップされた設計図の情報をマウス等で選択すると、その設計図を表示するようにする。このとき、表示される設計図において、対象のレジスタ変数の使用箇所が分かるように、ディスプレイ等の外部出力装置の中央等に表示する。これらの一連の処理は、レジスタ変数定義情報取得部１０Ａに付属機能として設けるか、取得部１０Ａとは分離したレジスタ変数リストアップ部として設けることでもよい。
【００４９】
本実施形態によれば、実施形態１，２の作用効果に加えて、関連する設計図をリストアップ表示することにより、図１１のように、設計図１（割込み元）しか表示されていない場合でも、レジスタ変数ｒｅｇ２は、異なる設計図（設計図２（割込先））においても使用されていることが一目でわかり、チェックの作業効率が上がる。
【００５０】
また、システム中で使用されている設計図の数が多い場合でも、使用されている設計図を探す手間がなく、レジスタ変数の使用箇所が効率良くわかり、上書きされるかどうかのチェックに関するシステム使用者の負担を軽減できる。
【００５１】
（実施形態４）
上記までの実施形態において、レジスタ変数の定義数が多くなると、設計図上での強調表示が多くなり、システム使用者がチェックすべきレジスタ変数を誤認識したり（適切に上書きチェックできない）、上書きチェック作業の効率が落ちたりするおそれがある。
【００５２】
本実施形態では、ソフトウェア開発支援システム使用者がチェックすべきレジスタ変数の誤認識を軽減する仕組みを提案する。
【００５３】
本実施形態の機能構成図を図１２に示し、ソフトウェア開発支援システムにレジスタ変数チェック装置１０を搭載する。図１２において、図９と同様に、レジスタ変数定義情報取得部１０Ａは、システム内部の情報（変数情報）より、レジスタ変数定義情報を取得し、どのレジスタがどのＵＩ（設計図）上のどの部品に割り当てられているか取得可能とする。また、強調表示部１０Ｂは、システムが保持している強調表示の仕様（例えば、色や線の太さ、線の種別等）で、強調表示させる。また、強調表示仕様読込み部１０Ｃは、強調表示の仕様をＵＩやファイルなどを経由して読み込み可能にする。
【００５４】
本実施形態で新たに追加する強調表示チェック部１０Ｄは、同じ変数名をもつレジスタ変数の強調表示を実施するかしないかをチェックする。
【００５５】
実施形態２のように、開発支援システム内部で、レジスタ変数と、その変数に強調表示の仕様（例えば、色や線の太さ、線の種別等）を関連付けておく。また、開発支援システムには、レジスタ変数に関連付けられる情報を強調表示する仕様だけではなく、新たに強調表示を実施するかしないかの情報を持たせ、システム使用者が強調表示を実施するかしないかの情報を設定できるようにする。強調表示を実施するかしないかの情報の設定は、ＵＩ経由やファイル経由などで設定する。また、開発支援システムには、強調表示を実施するかしないかの情報をデフォルトで持っておき、システム使用者が設定しない場合は、デフォルトで持っている情報を使用して強調表示の処理を決定する。
【００５６】
図１３は、本実施形態による強調表示のフローを示す。同図が図１０と異なる部分は、レジスタ変数の使用ｕｉ情報を判別したとき（Ｓ１５）、強調表示チェック部１０Ｄは、ｉ番目のレジスタ変数に関連付けられている強調表示を実施するかしないかの情報を取得し（Ｓ３０）、強調表示を実施するときは（Ｓ３１）、ｉ番目のジスタ変数に関連付けられている強調表示の仕様を取得し（Ｓ２０）、判別したレジスタ変数の使用ｕｉ情報をＳ２０で取得した強調表示の仕様で表示する（Ｓ２１）。
【００５７】
本実施形態によれば、実施形態１〜３の作用効果に加えて、特定のレジスタ変数のみ、強調表示することによって、システム使用者がチェックすべきレジスタ変数の誤認識を軽減することができる。
【００５８】
なお、本発明は、各実施形態に示したレジスタ変数チェック方法の一部又は全部の処理機能をコンピュータで実行可能にしたプログラムとして提供することができる。
【符号の説明】
【００５９】
１００  ソフトウェア開発支援システム
１０  レジスタ変数チェック装置
１０Ａ  レジスタ変数定義情報取得部
１０Ｂ  強調表示部
１０Ｃ  強調表示仕様読込み部
１０Ｄ  強調表示チェック部
【図１】
2010160593.tif 000003
【図２】
2010160593.tif 000004
【図３】
2010160593.tif 000005
【図４】
2010160593.tif 000006
【図５】
2010160593.tif 000007
【図６】
2010160593.tif 000008
【図７】
2010160593.tif 000009
【図８】
2010160593.tif 000010
【図９】
2010160593.tif 000011
【図１０】
2010160593.tif 000012
【図１１】
2010160593.tif 000013
【図１２】
2010160593.tif 000014
【図１３】
2010160593.tif 000015
【図１４】
2010160593.tif 000016
【図１５】
2010160593.tif 000017