(57)【要約】【課題】  状態遷移表の一部セルを変更しようとした場合に、この変更しようとしたセルの影響が及ぶ可能性の高い他のセルを見つける手間を軽減することが可能な状態遷移表処理方法を提供すること。【解決手段】  行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表から選出された特定のセルとこの特定のセル以外のセルとの類似度をセル毎に算出する。算出したセル毎の類似度の中で、基準値より高い類似度の高類似度セルを検出する。検出された高類似度セルの存在を通知する。【選択図】      図４
2009223803.tif 000002
【特許請求の範囲】
【請求項１】
行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表から選出された特定のセルとこの特定のセル以外のセルとの類似度をセル毎に算出し、
前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似度セルを検出し、
前記検出された高類似度セルの存在を通知する、
ことを特徴とする状態遷移表処理方法。
【請求項２】
各セル内に記載された文字列から語句を抽出し、
前記特定のセルとこの特定のセル以外のセルとの間で語句の一致する割合を算出し、
前記算出された一致の割合に基づき、前記特定のセルとこの特定のセル以外のセルとの前記類似度を算出する、
ことを特徴とする請求項１に記載の状態遷移表処理方法。
【請求項３】
行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した変更前の状態遷移表の各セルと変更後の状態遷移表の各セルとを対応するセル毎に比較し、
前記比較結果に基づき前記変更後の状態遷移表の中から変更セルを検出し、
前記変更後の状態遷移表の中から検出された前記変更セルと、前記変更後の状態遷移表の中の前記変更セル以外の各セルとの類似度をセル毎に算出し、
前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似セルを検出し、
前記高類似セルの中で、前記変更セルに非該当なセルの存在を通知する、
ことを特徴とする状態遷移表処理方法。
【請求項４】
各セル内に記載された文字列から語句を抽出し、
前記変更後の状態遷移表の中から検出された前記変更セルと前記変更後の状態遷移表の中の前記変更セル以外の各セルとの間で語句の一致する割合を算出し、
前記算出された一致の割合に基づき、前記変更後の状態遷移表の中から検出された前記変更セルと前記変更後の状態遷移表の中の前記変更セル以外の各セルとの前記類似度を算出する、
ことを特徴とする請求項３に記載の状態遷移表処理方法。
【請求項５】
行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表から選出された特定のセルとこの特定のセル以外のセルとの類似度をセル毎に算出する手順と、
前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似度セルを検出し、
前記検出された高類似度セルの存在を通知する手順と、
をコンピュータに実行させるための状態遷移表処理プログラム。
【請求項６】
各セル内に記載された文字列から語句を抽出する手順と、
前記特定のセルとこの特定のセル以外のセルとの間で語句の一致する割合を算出する手順と、
前記算出された一致の割合に基づき、前記特定のセルとこの特定のセル以外のセルとの前記類似度を算出する手順と、
をコンピュータに実行させるための請求項５に記載の状態遷移表処理プログラム。
【請求項７】
行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した変更前の状態遷移表の各セルと変更後の状態遷移表の各セルとを対応するセル毎に比較する手順と、
前記比較結果に基づき前記変更後の状態遷移表の中から変更セルを検出する手順と、
前記変更後の状態遷移表の中から検出された前記変更セルと、前記変更後の状態遷移表の中の前記変更セル以外の各セルとの類似度をセル毎に算出する手順と、
前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似セルを検出する手順と、
前記高類似セルの中で、前記変更セルに非該当なセルの存在を通知する手順と、
をコンピュータに実行させるための状態遷移表処理プログラム。
【請求項８】
各セル内に記載された文字列から語句を抽出する手順と、
前記変更後の状態遷移表の中から検出された前記変更セルと前記変更後の状態遷移表の中の前記変更セル以外の各セルとの間で語句の一致する割合を算出する手順と、
前記算出された一致の割合に基づき、前記変更後の状態遷移表の中から検出された前記変更セルと前記変更後の状態遷移表の中の前記変更セル以外の各セルとの前記類似度を算出する手順と、
をコンピュータに実行させるための請求項７に記載の状態遷移表処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態遷移を表現するための表であり、列または行の一方には状態を表し、他方にはイベントを表し、行と列とが交差するセルにはその状態においてそのイベントが発生したときの処理及び／又は次の遷移先の状態を記述する状態遷移表を処理する状態遷移表処理方法及び状態遷移表処理プログラムに関する。
【背景技術】
【０００２】
ソフトウェアを設計するにあたり、状態遷移表が利用されることが知られている。例えば、状態遷移表に関する技術として、表示装置の画面上で状態遷移表の編集および状態変数の定義が行え、編集した状態遷移表の内容および状態変数の定義を、ソースプログラム自動作成装置への入力形式に自動的に変換する状態遷移表エディタが提案されている（特許文献１参照）。
【特許文献１】特開平５−１０８３３４
【発明の開示】
【発明が解決しようとする課題】
【０００３】
状態遷移表をソフトウェア設計に使用した場合、ソフトウェアの設計変更時に各セルに記載されている処理内容の変更が発生することがある。設計変更の内容によっては、変更対象のセルが複数箇所に存在する場合があるが、全ての変更対象のセルを見つけるのは手間がかかる作業である。また、変更対象のセルの処理を変更し忘れるとソフトウェアの不具合につながるおそれがある。
【０００４】
上記した従来技術の状態遷移表エディタは、あくまでも、編集した状態遷移表の内容および状態変数の定義を、ソースプログラム自動作成装置への入力形式に自動的に変換するものである。つまり、ソフトウェアの設計変更に対応して変更対象のセルを指摘するような技術は提案されていない。
【０００５】
本発明の目的は、状態遷移表の一部セルを変更しようとした場合に、この変更しようとしたセルの影響が及ぶ可能性の高い他のセルを見つける手間を軽減することが可能な状態遷移表処理方法及び状態遷移表処理プログラムを提供することにある。
【０００６】
また、本発明の目的は、状態遷移表の一部セルを変更した場合に、この変更したセルの影響が及ぶ可能性の高い未変更のセルを見つける手間を軽減することが可能な状態遷移表処理方法及び状態遷移表処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
この発明の状態遷移表処理方法及び状態遷移表処理プログラムは、以下のように構成されている。
【０００８】
この発明の状態遷移表処理方法は、行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表から選出された特定のセルとこの特定のセル以外のセルとの類似度をセル毎に算出し、前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似度セルを検出し、前記検出された高類似度セルの存在を通知する。
【０００９】
この発明の状態遷移表処理プログラムは、行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表から選出された特定のセルとこの特定のセル以外のセルとの類似度をセル毎に算出する手順と、前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似度セルを検出し、前記検出された高類似度セルの存在を通知する手順とをコンピュータに実行させる。
【００１０】
この発明の状態遷移表処理方法は、行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した変更前の状態遷移表の各セルと変更後の状態遷移表の各セルとを対応するセル毎に比較し、前記比較結果に基づき前記変更後の状態遷移表の中から変更セルを検出し、前記変更後の状態遷移表の中から検出された前記変更セルと、前記変更後の状態遷移表の中の前記変更セル以外の各セルとの類似度をセル毎に算出し、前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似セルを検出し、前記高類似セルの中で、前記変更セルに非該当なセルの存在を通知する。
【００１１】
この発明の状態遷移表処理プログラムは、行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した変更前の状態遷移表の各セルと変更後の状態遷移表の各セルとを対応するセル毎に比較する手順と、前記比較結果に基づき前記変更後の状態遷移表の中から変更セルを検出する手順と、前記変更後の状態遷移表の中から検出された前記変更セルと、前記変更後の状態遷移表の中の前記変更セル以外の各セルとの類似度をセル毎に算出する手順と、前記算出したセル毎の類似度の中で、基準値より高い類似度の高類似セルを検出する手順と、前記高類似セルの中で、前記変更セルに非該当なセルの存在を通知する手順とをコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、状態遷移表の一部セルを変更しようとした場合に、この変更しようとしたセルの影響が及ぶ可能性の高い他のセルを見つける手間を軽減することが可能な状態遷移表処理方法及び状態遷移表処理プログラムを提供できる。
【００１３】
また、本発明によれば、状態遷移表の一部セルを変更した場合に、この変更したセルの影響が及ぶ可能性の高い未変更のセルを見つける手間を軽減することが可能な状態遷移表処理方法及び状態遷移表処理プログラムを提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。
【００１５】
図１は、状態遷移表エディタの概略構成を示す図である。この状態遷移表エディタは、行または列のどちらか一方に状態を表し、他方にイベントを表し、行と列とが交差するセルにその状態においてそのイベントが発生したときの処理及び遷移先の状態のうちの少なくとも一方を記述した状態遷移表を処理するものである。つまり、この状態遷移表エディタにより、以下説明する状態遷移表処理が実行される。
【００１６】
この状態遷移表エディタは、ＣＰＵ１、メインメモリ２、記録装置３、入力装置４、表示装置５を備えている。表示装置５は、状態遷移表エディタの利用者に状態遷移表の作業内容を表示する。記録装置３は、状態遷移表処理プログラムを含む各種プログラム及び状態遷移表などのデータを保持する。メインメモリ２は、プログラム実行時に、プログラムやデータなどを一時的に保持する。ＣＰＵ１は、状態遷移表処理プログラムを含む各種プログラムに従い演算処理を行う。入力装置４は、データの入力や操作を行う装置であって、例えばキーボード及びマウスである。
【００１７】
上記した状態遷移表エディタにより、次の二つの状態遷移表処理が実現される。
【００１８】
（１）状態遷移表エディタは、状態遷移表の編集処理者が変更しようとしているセルに対し（つまり編集処理者が選択したセルに対し）、類似度の高い高類似度セルの存在を通知する第１の通知処理を実行する。
【００１９】
（２）状態遷移表エディタは、状態遷移表の編集処理者により変更されたセルと類似度の高い高類似度セルの中で、変更されていないセルの存在を通知する第２の通知処理を実行する。
【００２０】
第１に、上記した第１の通知処理を説明する。図２は、状態遷移表の一例を示す図である。各列は状態を表し、各行はイベントを表した状態遷移表の例である。図２のケースは、セル番号12を変更しようとしているケースである。つまり編集処理者が、入力装置４を介してセル番号12のセルを変更目的で選択したケースである。例えば、表示装置５は、非選択セルを第１の色で表示し、選択されたセル番号12のセル（変更対象のセル）を第２の色で表示する。
【００２１】
これに対応して、ＣＰＵ１は、選択されたセル番号12のセルと、このセル番号12のセル以外の全てのセルとの類似度をセル毎に算出し、算出したセル毎の類似度の中で基準値以上（例えば類似度90%以上）の類似度のセルを検出する。例えば、基準値以上の類似度のセルとして、セル番号14とセル番号15のセルが検出された場合、これら検出されたセル番号14とセル番号15の存在が通知される。通知の手法としては、例えば、表示装置５が、セル番号14とセル番号15のセルの色を第３の色に変更し表示する。
【００２２】
類似度の算出方法としては、例えば、セル内に記載された文字列から語句を抽出し、セル間の語句の一致する割合を求める方法などが挙げられる。つまり、ＣＰＵ１が、各セル内に記載された文字列から語句を抽出し、選択されたセル番号12のセルとこのセル番号12のセル以外の全てのセルとの間で語句の一致する割合を算出し、算出された一致の割合に基づき選択されたセル番号12のセルとこのセル番号12のセル以外の全てのセルとの類似度を算出する。
【００２３】
上記説明では、閾値として予め類似度90%を設定し、類似度90%以上のセルを高類似度セルとして検出するケースについて説明したが、閾値として任意の値を設定することができる。
【００２４】
続いて、図４を参照して、上記した第１の通知処理の動作を説明する。
【００２５】
最初に、ＣＰＵ１は、変更対象のセルが選択されているかどうかを判定する（Ｓ１）。変更対象のセルが選択されていることを条件に（Ｓ１、ＹＥＳ）、第１の通知処理が継続される。
【００２６】
さらに、ＣＰＵ１は、未チェックセルが存在するかどうかを判定する（Ｓ２）。未チェックセルが存在すれば（Ｓ２、ＹＥＳ）、ＣＰＵ１は、未チェックセルの記述内容を読み込み（Ｓ３）、記述内容を読み込んだセルが変更対象のセルでなければ（Ｓ４、ＮＯ）、読み込んだセルと変更対象のセルとの類似度を算出する（Ｓ５）。類似度が閾値以上であれば（Ｓ６、ＹＥＳ）、表示装置５は、Ｓ３で読み込んだセルの色を変更する（Ｓ７）。
【００２７】
これまでは、状態遷移表をソフトウェア設計に使用した場合、ソフトウェアの設計変更時に状態遷移表中の変更対象のセルを見つけるのに手間がかかっていた。これに対して、変更対象のセルと類似度の高いセルには同様の処理が多く含まれるため、同様に変更対象となる可能性が高いことに着目した本実施形態により、変更対象のセルを見つける手間を軽減することができる。
【００２８】
第２に、上記した第２の通知処理を説明する。図３は、変更前の状態遷移表と変更後の状態遷移表の一例を示す図である。各列は状態を表し、各行はイベントを表した状態遷移表の例である。記録装置３は、変更前の状態遷移表と変更後の状態遷移表の両者を記録する。
【００２９】
ＣＰＵ１は、変更前の状態遷移表の各セルと変更後の状態遷移表の各セルとを対応するセル毎に比較し、例えばセル番号12とセル番号22を変更のあったセルとして検出する。表示装置５は、変更前及び変更後の状態遷移表上における変更されていないセルを第１の色で表示するとともに、変更前及び変更後の状態遷移表上における変更のあったセル、つまりセル番号12とセル番号22を第2の色で表示する。
【００３０】
さらに、ＣＰＵ１は、変更後の状態遷移表の中から検出された変更のあったセル番号12とセル番号22のセルと、変更後の状態遷移表の中のこれらセル番号12とセル番号22のセル以外の各セルとの類似度をセル毎に算出し、基準値より高い類似度のセルを検出する。例えば、セル番号12との類似度が高く(例えば類似度90%以上)、かつ変更のなかったセルとしてセル番号14が検出された場合、この検出されたセル番号14の存在が通知される。同様に、セル番号22との類似度が高く、かつ変更のなかったセルとしてセル番号24が検出された場合、この検出されたセル番号24の存在が通知される。通知の手法としては、例えば、表示装置５が、セル番号14とセル番号24のセルの色を第３の色に変更し表示する。
【００３１】
なお、類似度の算出方法は、既に説明した算出方法などが挙げられ、ここではその詳細説明は省略する。
【００３２】
続いて、図５を参照して、上記した第２の通知処理の動作を説明する。
【００３３】
最初に、ＣＰＵ１は、変更前と変更後の状態遷移表に未チェックセルが存在するかどうかを判定する（Ｓ１）。未チェックセルが存在すると（Ｓ１、ＹＥＳ）、ＣＰＵ１は、変更前と変更後の状態遷移表の対応するセルの記述内容を比較し（Ｓ２）、チェック対象のセルが変更されたセルかどうかを判定し（Ｓ３）、変更されたセルであれば（Ｓ３、ＹＥＳ）、変更セルリストにチェック対象のセルを追加する（Ｓ４）。
【００３４】
ＣＰＵ１は、変更セルリストにリストアップされたセルのうち未チェックのセルが存在するかどうかを判定し（Ｓ５）、さらに変更後の状態遷移表に未チェックセルが存在するかどうかを判定する（Ｓ６）。
【００３５】
変更セルリストにリストアップされたセルのうち未チェックのセルが存在し（Ｓ５、ＹＥＳ）、変更後の状態遷移表に未チェックセルが存在すると（Ｓ６、ＹＥＳ）、ＣＰＵ１は、未チェックセルの記述内容を読み込み（Ｓ７）、この読み込んだセルが変更セルリストにリストアップされたチェック対象のセルに該当しなければ（Ｓ８、ＮＯ）、読み込んだセルと変更セルリストにリストアップされたチェック対象のセルの類似度を算出する（Ｓ９）。
【００３６】
読み込んだセルと変更セルリストにリストアップされたチェック対象のセルの類似度が閾値以上であり（Ｓ１０、ＹＥＳ）、読み込んだセルが変更セルリストにリストアップされていなければ（Ｓ１１、ＮＯ）、表示装置５は、Ｓ７で読み込んだセルの色を変更する（Ｓ１２）。  これまでは、状態遷移表をソフトウェア設計に使用した場合、ソフトウェアの設計変更時に状態遷移表中の変更対象のセルを見つけることができず、見落としのためにソフトウェアの不具合に繋がる可能性があった。これに対して、変更対象のセルと類似度の高いセルには同様の処理が多く含まれるため、同様に変更対象となる可能性が高いことに着目した本実施形態により、変更対象のセルの見落としを検出することができる。
【００３７】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００３８】
【図１】状態遷移表エディタの概略構成を示す図である。
【図２】状態遷移表の一例を示す図である。
【図３】変更前の状態遷移表と変更後の状態遷移表の一例を示す図である。
【図４】第１の通知処理の動作を説明するためのフローチャートである。
【図５】第２の通知処理の動作を説明するためのフローチャートである。
【符号の説明】
【００３９】
１…ＣＰＵ、２…メインメモリ、３…記録装置、４…入力装置、５…表示装置
【図１】
2009223803.tif 000003
【図２】
2009223803.tif 000004
【図３】
2009223803.tif 000005
【図４】
2009223803.tif 000006
【図５】
2009223803.tif 000007