(57)【要約】      （修正有）【課題】複数種類のタスクの動作の中から規則性に欠ける部分を容易に検出しうる装置等を提供する。【解決手段】計測部１１は解析対象となるソフトウェアが有する一または各タスクの動作状態値を計測する。クラスタ設定部１２は計測部１１による動作状態値の計測結果に基づいてクラスタ範囲を設定または更新する。クラスタ記憶部１３はクラスタ設定部１２により設定されたクラスタ範囲を記憶する。判定部１４は計測部１１により計測された新たな動作状態値が、クラスタ設定部１２により以前の動作状態値に基づいて設定されたクラスタ範囲またはその近傍範囲に含まれているか否かを判定する。状況記憶部１５は判定部１４による判定結果に応じて特異状況を記憶する。状況消去部１６は一定条件下で特異状況を状況記憶部１５から消去する。【選択図】図１
2009042957.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する装置であって、
前記複数のタスクのそれぞれの動作状態値を計測する計測部と、
該計測部により計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定部と、
該計測部により計測された新たな該動作状態値が、該計測部により計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定部により設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定部とを備えていることを特徴とするソフトウェア動作解析装置。
【請求項２】
請求項１記載のソフトウェア動作解析装置において、
前記クラスタ設定部が、前記一または各クラスタについて、前記計測部により計測された最近の第１所定数または第１所定期間分の前記動作状態値に基づき前記クラスタ範囲を逐次更新することを特徴とするソフトウェア動作解析装置。
【請求項３】
請求項２記載のソフトウェア動作解析装置において、
前記計測部により計測された前記新たな動作状態値が、前記クラスタ範囲の前記近傍範囲に含まれていると前記判定部により判定されたことを要件として、前記クラスタ設定部が、当該新たな動作状態値を包含するように前記クラスタ範囲を更新することを特徴とするソフトウェア動作解析装置。
【請求項４】
請求項２記載のソフトウェア動作解析装置において、
前記クラスタ設定部が、前記クラスタ範囲を複数に分割した分割範囲のうち、前記計測部により計測された最近の前記第１所定数または前記第１所定期間分の前記動作状態値が包含されていない該分割範囲を当該クラスタ範囲から除去することにより当該クラスタ範囲を複数のクラスタ範囲に更新することを特徴とするソフトウェア動作解析装置。
【請求項５】
請求項２記載のソフトウェア動作解析装置において、
前記クラスタ設定部が、前記クラスタ範囲を複数に分割した複数の分割範囲のうち、前記計測部により計測された最近の前記第１所定数または前記第１所定期間分の前記動作状態値が包含されない、連続する２つ以上の該分割範囲を当該クラスタ範囲から除去することにより当該クラスタ範囲を複数のクラスタ範囲に更新することを特徴とするソフトウェア動作解析装置。
【請求項６】
請求項２記載のソフトウェア動作解析装置において、
前記クラスタ設定部により設定された前記クラスタ範囲を記憶するクラスタ記憶部を備え、
前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のいずれにも含まれていないと判定されている状態が第２所定期間にわたり継続したことを要件として、前記クラスタ設定部が当該クラスタ範囲を前記クラスタ記憶部から消去することを特徴とするソフトウェア動作解析装置。
【請求項７】
請求項２記載のソフトウェア動作解析装置において、
前記クラスタ設定部により設定された前記クラスタ範囲を記憶するクラスタ記憶部を備え、
前記計測部により計測された最近の第２所定数の前記動作状態値が、前記クラスタ範囲およびその前記近傍範囲のいずれにも含まれていないと前記判定部により判定されたことを要件として、前記クラスタ設定部が当該クラスタ範囲を前記クラスタ記憶部から消去することを特徴とするソフトウェア動作解析装置。
【請求項８】
請求項１記載のソフトウェア動作解析装置において、
前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のうちいずれにも含まれていないと判定された時点における、当該動作状態値、当該クラスタ範囲および当該近傍範囲を特異状況として記憶する状況記憶部を備えていることを特徴とするソフトウェア動作解析装置。
【請求項９】
請求項２または３記載のソフトウェア動作解析装置において、
前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のうちいずれにも含まれていないと判定された第１時点における、当該動作状態値、当該クラスタ範囲および当該近傍範囲を特異状況として記憶する状況記憶部と、
該第１時点から前記クラスタ設定部により前記クラスタ範囲が更新される第２時点までの最短期間が第３所定期間以下であり、かつ、該第１時点における該動作状態値が当該更新後のクラスタ範囲またはその近傍範囲に包含されていることを要件として、該第１時点における当該特異状況を該状況記憶部から消去する状況消去部とを備えていることを特徴とするソフトウェア動作解析装置。
【請求項１０】
ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する方法であって、
前記複数のタスクのそれぞれの動作状態値を計測する計測処理と、
該計測処理において計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定処理と、
該計測処理において計測された新たな該動作状態値が、該計測処理において計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定処理において設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定処理とを実行することを特徴とするソフトウェア動作解析方法。
【請求項１１】
ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する装置として任意のコンピュータを機能させるプログラムであって、
前記複数のタスクのそれぞれの動作状態値を計測する計測部と、
該計測部により計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定部と、
該計測部により計測された新たな該動作状態値が、該計測部により計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定部により設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定部とを備えている前記装置として前記任意のコンピュータを機能させることを特徴とするソフトウェア動作解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおけるソフトウェアの動作を解析する装置等に関する。
【背景技術】
【０００２】
バス構造のデータ処理システムにおいて、バグや障害の解析のためにバスから得られたバス信号の中から繰り返し出現するデータのパターンをその出現回数とともにログデータとして保存する技術手法が提案されている（たとえば、特許文献１参照）。
【特許文献１】特開平１０−２７５１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来の技術手法にしたがい、ソフトウェアが有する複数種類のタスクのＣＰＵによる一連の動作から規則性に欠ける部分を抽出することは困難である。
【０００４】
そこで、本発明は、複数種類のタスクの動作の中から規則性に欠ける部分を容易に検出しうる装置等を提供することを解決課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するための第１発明のソフトウェア動作解析装置は、ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する装置であって、前記複数のタスクのそれぞれの動作状態値を計測する計測部と、該計測部により計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定部と、該計測部により計測された新たな該動作状態値が、該計測部により計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定部により設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定部とを備えていることを特徴とする。
【０００６】
第１発明のソフトウェア動作解析装置によれば、計測された動作状態値を分類する一または各クラスタに属するすべての動作状態値を包含し、かつ、一部または全部の動作状態値により境界が画定される範囲がクラスタ範囲として設定される。さらに、タスクの新たな動作状態値が、以前の動作状態値の一部または全部に基づいて設定されたクラスタ範囲またはその近傍範囲に含まれているか否かが判定される。複数のクラスタ範囲が設定される場合、一のクラスタ範囲およびその近傍範囲は、他のクラスタ範囲およびその近傍範囲のいずれにも重複しないように設定される。クラスタはある程度のまとまりがある動作状態値の集合を意味するので、クラスタ範囲は複数のタスクのそれぞれの動作状態のうち、種々のタスクの相互に同一または類似である動作状態の集合を画定する範囲として設定される。したがって、前記判定結果に基づき、タスクの新たな動作状態がクラスタ範囲により画定される、当該新たな動作状態以前の動作状態の集合に鑑みて規則性があるか否かが容易に検出されうる。
【０００７】
第２発明のソフトウェア動作解析装置は、第１発明のソフトウェア動作解析装置において、前記クラスタ設定部が、前記一または各クラスタについて、前記計測部により計測された最近の第１所定数または第１所定期間分の前記動作状態値に基づき前記クラスタ範囲を逐次更新することを特徴とする。
【０００８】
第２発明のソフトウェア動作解析装置によれば、一または各クラスタに対応するタスクの動作状態のうち一部または全部が集団的に変化する場合、タスクの新たな動作状態と同一または類似の動作状態の集合を画定する範囲としてクラスタ範囲が流動的に設定されうる。したがって、タスクの新たな動作状態が以前のクラスタ範囲により画定される動作状態の集合に鑑みて規則性があるか否かがリアルタイムで検出されうる。
【０００９】
第３発明のソフトウェア動作解析装置は、第２発明のソフトウェア動作解析装置において、前記計測部により計測された前記新たな動作状態値が、前記クラスタ範囲の前記近傍範囲に含まれていると前記判定部により判定されたことを要件として、前記クラスタ設定部が、当該新たな動作状態値を包含するように前記クラスタ範囲を更新することを特徴とする。
【００１０】
第３発明のソフトウェア動作解析装置によれば、新たな動作状態値がクラスタ範囲の近傍範囲に包含されることを要件として、当該新たな動作状態値が包含されるように当該クラスタ範囲が更新される。したがって、クラスタ範囲の変更幅が、当該クラスタ範囲の近傍範囲の幅以下に制限される。このため、クラスタ範囲が過剰に変更され、さらには当該変更後のクラスタ範囲により画定される動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００１１】
第４発明のソフトウェア動作解析装置は、第２発明のソフトウェア動作解析装置において、前記クラスタ設定部が、前記クラスタ範囲を複数に分割した複数の分割範囲のうち、前記計測部により計測された最近の前記第１所定数または前記第１所定期間分の前記動作状態値が包含されていない該分割範囲を当該クラスタ範囲から除去することにより当該クラスタ範囲を複数のクラスタ範囲に更新することを特徴とする。
【００１２】
第４発明のソフトウェア動作解析装置によれば、クラスタ範囲を複数に分割した分割範囲のうち、最近の第１所定数または第１所定期間分の動作状態値が包含されていない部分が除去されることにより、当該クラスタ範囲が複数のクラスタ範囲に更新される。これは、長期間にわたって動作状態値が出現しない範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲が過剰に広いままに維持され、さらには当該クラスタ範囲により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００１３】
第５発明のソフトウェア動作解析装置は、第２発明のソフトウェア動作解析装置において、前記クラスタ設定部が、前記クラスタ範囲を複数に分割した複数の分割範囲のうち、前記計測部により計測された最近の前記第１所定数または前記第１所定期間分の前記動作状態値が包含されない、連続する２つ以上の該分割範囲を当該クラスタ範囲から除去することにより当該クラスタ範囲を複数のクラスタ範囲に更新することを特徴とする。
【００１４】
第５発明のソフトウェア動作解析装置によれば、クラスタ範囲を複数に分割した分割範囲のうち、最近の第１所定数または第１所定期間分の動作状態値が包含されていない、連続する部分が除去されることにより、当該クラスタ範囲が複数のクラスタ範囲に更新される。これは、長期間にわたって動作状態値が出現しない広い範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲が過剰に広いままに維持され、さらには当該クラスタ範囲により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００１５】
第６発明のソフトウェア動作解析装置は、第２発明のソフトウェア動作解析装置において、前記クラスタ設定部により設定された前記クラスタ範囲を記憶するクラスタ記憶部を備え、前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のいずれにも含まれていないと判定されている状態が第２所定期間にわたり継続したことを要件として、前記クラスタ設定部が当該クラスタ範囲を前記クラスタ記憶部から消去することを特徴とする。
【００１６】
第６発明のソフトウェア動作解析装置によれば、クラスタ範囲およびその近傍範囲に第２所定期間にわたり動作状態値が出現しない場合、当該クラスタ範囲がクラスタ記憶部から消去される。これは、長期間にわたって動作状態値が出現しない範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲が無条件に残され、当該クラスタ範囲により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００１７】
第７発明のソフトウェア動作解析装置は、第２発明のソフトウェア動作解析装置において、前記クラスタ設定部により設定された前記クラスタ範囲を記憶するクラスタ記憶部を備え、前記計測部により計測された最近の第２所定数の前記動作状態値が、前記クラスタ範囲およびその前記近傍範囲のいずれにも含まれていないと前記判定部により判定されたことを要件として、前記クラスタ設定部が当該クラスタ範囲を前記クラスタ記憶部から消去することを特徴とする。
【００１８】
第７発明のソフトウェア動作解析装置によれば、クラスタ範囲およびその近傍範囲に最近の第２所定数の動作状態値が出現しない場合、当該クラスタ範囲がクラスタ記憶部から消去される。これは、長期間にわたって動作状態値が出現しない範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲が無条件に残され、当該クラスタ範囲により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００１９】
第８発明のソフトウェア動作解析装置は、第１発明のソフトウェア動作解析装置において、前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のうちいずれにも含まれていないと判定された時点における、当該動作状態値、当該クラスタ範囲および当該近傍範囲を特異状況として記憶する状況記憶部を備えていることを特徴とする。
【００２０】
第８発明のソフトウェア動作解析装置によれば、タスクの新たな動作状態値がクラスタ範囲およびその近傍範囲に包含されていないと判定された時点における当該新たな動作状態値等が特異状況として記憶される。当該判定結果は、タスクの新たな動作状態がクラスタ範囲により画定されるタスクの以前の動作状態の集合に鑑みて規則性がないことを表している可能性が高い。したがって、当該特異状況に基づき、規則性に欠けるタスクの動作状態が詳細に解析されうる。
【００２１】
第９発明のソフトウェア動作解析装置は、第２または第３発明のソフトウェア動作解析装置において、前記判定部により前記新たな動作状態値が前記クラスタ範囲およびその前記近傍範囲のうちいずれにも含まれていないと判定された第１時点における、当該動作状態値、当該クラスタ範囲および当該近傍範囲を特異状況として記憶する状況記憶部と、該第１時点から前記クラスタ設定部により前記クラスタ範囲が更新される第２時点までの最短期間が第３所定期間以下であり、かつ、該第１時点における該動作状態値が当該更新後のクラスタ範囲またはその近傍範囲に包含されていることを要件として、該第１時点における当該特異状況を該状況記憶部から消去する状況消去部とを備えていることを特徴とする。
【００２２】
第９発明のソフトウェア動作解析装置によれば、タスクの新たな動作状態値がクラスタ範囲およびその近傍範囲に包含されていないと判定された時点における当該新たな動作状態値等が特異状況として記憶される。当該判定結果は、タスクの新たな動作状態がクラスタ範囲により画定されるタスクの以前の動作状態の集合に鑑みて規則性がないことを表している可能性が高い。したがって、当該特異状況に基づき、規則性に欠けるタスクの動作状態が詳細に解析されうる。
【００２３】
その一方、当該判定後、早期にクラスタ範囲が更新され、かつ、当該判定時点における動作状態値が当該更新後のクラスタ範囲またはその近傍範囲に包含される場合、当該特異状況が消去されうる。この場合、当該判定結果は特異状況として記憶された動作状態値が、タスクの新たな動作状態に規則性が欠けることを表すのではなく、タスクの動作状態が集団的に変化していることを表している可能性が高い。したがって、当該特異状況が残されたまま、規則性の有無について誤認のあるタスクの動作状態が詳細に解析される事態が回避される。
【００２４】
前記課題を解決するための第１０発明のソフトウェア動作解析方法は、ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する方法であって、前記複数のタスクのそれぞれの動作状態値を計測する計測処理と、該計測処理において計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定処理と、該計測処理において計測された新たな該動作状態値が、該計測処理において計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定処理において設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定処理とを実行することを特徴とする。
【００２５】
第１０発明のソフトウェア動作解析方法によれば、タスクの新たな動作状態値がクラスタ範囲またはその近傍範囲に含まれているか否かが判定される。これにより、タスクの新たな動作状態が当該クラスタ範囲により画定される、タスクの以前の動作状態の集合に鑑みて規則性があるか否かが容易に検出されうる。
【００２６】
前記課題を解決するための第１１発明のソフトウェア動作解析プログラムは、ソフトウェアが有する複数のタスクのコンピュータにおける動作を解析することにより、当該ソフトウェアの該コンピュータにおける動作を解析する装置として任意のコンピュータを機能させるプログラムであって、前記複数のタスクのそれぞれの動作状態値を計測する計測部と、該計測部により計測された該動作状態値を分類する一または各クラスタに属するすべての該動作状態値を包含し、かつ、該動作状態値の一部により境界が画定される範囲をクラスタ範囲として設定するクラスタ設定部と、該計測部により計測された新たな該動作状態値が、該計測部により計測された以前の該動作状態値のうち一部または全部に基づいて該クラスタ設定部により設定された前記クラスタ範囲またはその近傍範囲に含まれているか否かを判定する判定部とを備えている前記装置として前記任意のコンピュータを機能させることを特徴とする。
【００２７】
第１１発明のソフトウェア動作解析プログラムによれば、タスクの新たな動作状態値がクラスタ範囲またはその近傍範囲に含まれているか否かが判定される。これにより、タスクの新たな動作状態が当該クラスタ範囲により画定される、タスクの以前の動作状態の集合に鑑みて規則性があるか否かを容易に検出しうる装置として、任意のコンピュータを機能させることができる。なお、解析対象となるソフトウェアが実装されているコンピュータと、ソフトウェア動作解析プログラムが実装されているコンピュータとは同一であっても異なっていてもよい。
【発明を実施するための最良の形態】
【００２８】
本発明のソフトウェア動作解析装置等の実施形態について図面を用いて説明する。
【００２９】
図１に示されているソフトウェア動作解析装置１０は、解析対象となるソフトウェアが搭載されているコンピュータ（ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ等により構成されている。）１およびソフトウェア動作解析プログラムにより構成されている。なお、ソフトウェアが搭載されているコンピュータ１と通信可能に接続された他のコンピュータによりソフトウェア動作解析装置１０が構成されていてもよい。ソフトウェア動作解析プログラムは予めコンピュータ１のメモリ（ＲＯＭ）に格納されていてもよいが、適当なタイミングでＣＤ等の記録媒体を介してまたは外部の無線通信によってコンピュータのメモリ（ＲＡＭ等）に格納されてもよい。コンピュータ１はたとえば車両（図示略）に搭載され、当該車両の動作を制御するＥＣＵや、ナビゲーション装置を構成する。ソフトウェア動作解析装置１０は、計測部１１と、クラスタ設定部１２と、クラスタ記憶部１３と、判定部１４と、状況記憶部１５と、状況消去部１６とを備えている。当該構成要素は１つのＣＰＵにより構成されていてもよく、複数の独立したＣＰＵにより構成されていてもよい。
【００３０】
計測部１１は解析対象となるソフトウェアが有する一または各タスクの動作状態値を計測する。クラスタ設定部１２は計測部１１による動作状態値の計測結果に基づいてクラスタ範囲を設定または更新する。クラスタ記憶部１３はクラスタ設定部１２により設定されたクラスタ範囲を記憶する。判定部１４は計測部１１により計測された新たな動作状態値が、クラスタ設定部１２により以前の動作状態値に基づいて設定されたクラスタ範囲またはその近傍範囲に含まれているか否かを判定する。状況記憶部１５は判定部１４による判定結果に応じて特異状況を記憶する。状況消去部１６は一定条件下で特異状況を状況記憶部１５から消去する。
【００３１】
前記構成のソフトウェア動作解析装置の機能について説明する。
【００３２】
まず、ソフトウェアが有する複数のタスクのそれぞれの動作状態値の計測回数を示す指数ｋが「０」に初期設定される（図２／Ｓ００２）。また、特異状況発生回数を表す指数ｐが「０」に初期設定される（図２／Ｓ００４）。さらに、計測部１１によりソフトウェアが有する各タスクの実行時間Ｔが当該各タスクの動作状態値ｓ（ｋ）として測定される（図２／Ｓ００６）。これに応じて指数ｋが１だけ増やされる（図２／Ｓ００８）。
【００３３】
各タスクの動作状態値ｓとしては、たとえば当該各タスクの実行時間Ｔが測定される。図３に示されているようにタスクＢが実行開始されてから時間Ｔ1が経過した後、タスクＡが割り込みで時間Ｔ2にわたって実行され、続いてタスクＢが実行再開されてから時間Ｔ3が経過した後に実行終了され、さらに時間Ｔ4が経過したときにタスクＢが再び実行開始された場合を考える。この場合、タスクＢの処理時間（実行開始から実行終了までの時間）Ｔ1＋Ｔ2＋Ｔ3、タスクＢの実実行時間Ｔ1＋Ｔ3またはタスクＢの実行周期Ｔ1＋Ｔ2＋Ｔ3＋Ｔ4等がタスクＢの実行時間Ｔとして計測される。なお、タスク実行時間Ｔのほか、タスクが実行される回数や頻度等、コンピュータ１におけるタスクの動作態様を示すあらゆる変数が動作状態値ｓとして測定されてもよい。
【００３４】
指数ｋが所定値ｎ未満である場合（図２／Ｓ０１０‥ＮＯ）、計測部１１により引き続きタスクの動作状態値ｓ（ｋ）が測定される（図２／Ｓ００４）。一方、指数ｋが所定値ｎ以上になった場合（図２／Ｓ０１０‥ＹＥＳ）、各クラスタｉについて個別に以下に説明する処理が実行される。
【００３５】
すなわち、クラスタ設定部１２により、動作状態値ｓにより定義される空間（動作状態値ｓがスカラーの場合には１次元空間、動作状態値ｓがｘ次元ベクトル（ｘ≧２）である場合にはｘ次元空間を意味する。）においてあらかじめ定められた個数のあらかじめ定められた範囲に分類し、分類した範囲内の動作状態値ｓにより境界が画定される範囲がクラスタ範囲Ｃi（ｋ）として設定される（図２／Ｓ０１２）。
【００３６】
たとえば、図４左側に示されているようにタスクの動作状態値ｓおよびその計測時刻ｔを表す複数のプロットが計測部１１による計測結果として得られた場合を考える。また、動作状態値ｓ（ｊ）により定義される１次元空間において、図４に示されているような４つの隣接する範囲が設定されている。この場合、当該４つの範囲のうちしたから１番目、３番目および４番目のそれぞれに包含される動作状態値ｓ（ｊ）の計測結果の集合がクラスタ１、２および３として定義される。さらに、図４右側に示されているように、クラスタ１、２および３のそれぞれに属するすべての動作状態値ｓ（ｊ）を包含し、かつ、当該動作状態値ｓ（ｊ）の一部または全部により境界が画定される範囲のそれぞれがクラスタ範囲Ｃ1（ｋ1）、Ｃ2（ｋ2）およびＣ3（ｋ3）として設定される。ここで、ｋiは各クラスタ範囲Ｃiに属する動作状態値ｓの数であり、指数ｋに関して関係式Σiｋi＝ｋが成立する。図４に示されている例では、ｋ1＝３、ｋ2＝８、ｋ3＝９、かつ、ｋ＝２０である。具体的には、クラスタｉに属するすべての動作状態値ｓ（ｊ）（ｊ＝１〜ｋi）の測定結果のうち最大値ｍａｘ（Ｃi（ｋi））および最小値ｍｉｎ（Ｃi（ｋi））のそれぞれを上限値および下限値のそれぞれとする範囲がクラスタ範囲Ｃi（ｋi）として設定される。また、動作状態値ｓ（ｊ）の計測結果が存在しない下から２番目の範囲においてクラスタ範囲は設定されない。
【００３７】
なお、動作状態値ｓ（ｋ）により定義される空間における設定範囲の個数、各設定範囲の幅および位置等は任意に変更されてもよい。たとえば、図４左側に示されている４つの範囲に代えて、図５左側に示されているような４つの幅狭の範囲が定義された上で、図５右側に示されているような４つのクラスタ範囲Ｃ1（ｋ1）〜Ｃ4（ｋ4）が設定されてもよい。
【００３８】
また、クラスタ範囲Ｃi（ｋi）の近傍範囲Ｃi(+)（ｋi）およびＣi(-)（ｋi）が設定される（図２／Ｓ０１４）。例として、図６に示されているように相互に離れているＮ個のクラスタ範囲Ｃi（ｋi）（ｉ＝１，‥，ｉ−１，ｉ，ｉ＋１，‥，Ｎ）が下から順に設定されている場合を考える。この場合、クラスタ範囲Ｃi（ｋi）の上側近傍範囲Ｃi(+)（ｋi）の幅Δi(+)（ｋi）は当該クラスタ範囲Ｃi（ｋi）の幅Δi1（ｋi）＝ｍａｘ（Ｃi（ｋi））−ｍｉｎ（Ｃi（ｋi））に基づき、式（１１）にしたがって設定される。
【００３９】
Δi(+)（ｋi）＝ｃ1(+)・Δi1（ｋi）  ‥（１１）
なお、クラスタ範囲Ｃi（ｋi）の上側にクラスタ範囲Ｃi+1（ｋi+1）が存在する場合、上側近傍範囲Ｃi(+)（ｋi）の幅Δi(+)（ｋi）は当該クラスタ範囲Ｃi（ｋi）およびＣi+1（ｋi+1）の間隔Δi2(+)（ｋi）＝ｍｉｎ（Ｃi+1（ｋi+1））−ｍａｘ（Ｃi（ｋi+1））に基づき、式（１２）にしたがって設定されてもよい。
【００４０】
Δi(+)（ｋi）＝ｃ2+・Δi2(+)（ｋi）  ‥（１２）
また、上側近傍範囲Ｃi(+)（ｋi）の幅Δi(+)（ｋi）は最も上側のクラスタ範囲ＣN（ｋN）の上限値と最も下側のクラスタ範囲Ｃ1（ｋ1）の下限値との間隔Δ3（ｋi）＝ｍａｘ（ＣN（ｋN））−ｍｉｎ（Ｃ1（ｋ1））に基づき、式（１３）にしたがって設定されてもよい。
【００４１】
Δi(+)（ｋi）＝ｃ3(+)・Δ3（ｋi）  ‥（１３）
式（１１）〜（１３）における係数ｃi(+)（ｉ＝１〜３）は、クラスタ範囲Ｃi（ｋi）の上側にクラスタ範囲Ｃi-1（ｋi-1）が存在する場合、クラスタ範囲Ｃi（ｋi）およびその上側近傍範囲Ｃi(+)（ｋi）が、上側のクラスタ範囲Ｃi+1（ｋi+1）およびその近傍範囲Ｃi+1(+)（ｋi+1），Ｃi+1(-)（ｋi+1）に重複しないように設定される。
【００４２】
また、クラスタ範囲Ｃi（ｋi）の下側近傍範囲Ｃi(-)（ｋi）の幅Δi(-)（ｋi）は当該クラスタ範囲Ｃi（ｋi）の幅Δi1（ｋi）に基づき、式（２１）にしたがって設定される。
【００４３】
Δi(-)（ｋi）＝ｃ1(-)・Δi1（ｋi）  ‥（２１）
なお、クラスタ範囲Ｃi（ｋi）の下側にクラスタ範囲Ｃi-1（ｋi-1）が存在する場合、下側近傍範囲Ｃi(-)（ｋi）の幅Δi-（ｋi）は当該クラスタ範囲Ｃi（ｋi）およびＣi-1（ｋi-1）の間隔Δi2(-)（ｋi）＝ｍｉｎ（Ｃi（ｋi））−ｍａｘ（Ｃi-1（ｋi-1））に基づき、式（２２）にしたがって設定されてもよい。
【００４４】
Δi(+)（ｋi）＝ｃ2(-)・Δi2(-)（ｋi）  ‥（２２）
また、下側近傍範囲Ｃi(-)（ｋ）の幅Δi(-)（ｋ）は最も上側のクラスタ範囲ＣN（ｋN）の上限値と最も下側のクラスタ範囲Ｃ1（ｋ1）の下限値との間隔Δ3（ｋi）＝ｍａｘ（ＣN（ｋN））−ｍｉｎ（Ｃ1（ｋ1））に基づき、式（２３）にしたがって設定されてもよい。
【００４５】
Δi（-）（ｋi）＝ｃ3（-）・Δ3（ｋi）  ‥（２３）
式（２１）〜（２３）における係数ｃi(-)（ｉ＝１〜３）は、クラスタ範囲Ｃi（ｋi）の下側にクラスタ範囲Ｃi-1（ｋi-1）が存在する場合、クラスタ範囲Ｃi（ｋi）およびその下側近傍範囲Ｃi(-)（ｋi）が、下側のクラスタ範囲Ｃi-1（ｋi-1）およびその近傍範囲Ｃi-1(+)（ｋi-1），Ｃi-1(-)（ｋi-1）に重複しないように設定される。
【００４６】
なお、一のクラスタ範囲およびその近傍範囲と、他のクラスタ範囲およびその近傍範囲とが相互に重複しないという条件が満たされる限り、各クラスタ範囲の近傍範囲は任意に設定されてもよい。また、クラスタ範囲の上下両方ではなく、上下一方にのみ近傍範囲が設定されてもよい。
【００４７】
クラスタ設定部１２により設定されたクラスタ範囲Ｃi（ｋi）と、その近傍範囲Ｃi(+)（ｋi）およびＣi(-)（ｋi）とはクラスタ記憶部１３により記憶される。たとえば、図６に示されているようにクラスタ範囲Ｃi（ｋi）のそれぞれの上限値ｍａｘ（Ｃi（ｋi））および下限値ｍｉｎ（Ｃi（ｋi））と、その上側近傍範囲Ｃi(+)（ｋi）および下側近傍範囲Ｃi(-)（ｋi）のそれぞれの幅Δi(+)（ｋi）およびΔi(-)（ｋi）がクラスタ記憶部１３により記憶される。
【００４８】
その後、計測部１１により新たな動作状態値ｓが計測された場合（図２／Ｓ０１６‥ＹＥＳ）。当該新たな動作状態値ｓ（ｋi＋１）が、クラスタ記憶部１３により記憶されている、図６に示されているようなクラスタ範囲Ｃi（ｋi）またはその近傍範囲Ｃi(+)（ｋi）もしくはＣi(-)（ｋi）に包含されるか否かが、判定部１４により判定される（図２／Ｓ０１８）。
【００４９】
そして、判定部１４により、新たな動作状態値ｓ（ｋi＋１）がクラスタ範囲Ｃi（ｋi）またはその近傍範囲Ｃi(+)（ｋi）もしくはＣi(-)（ｋi）に包含されていると判定された場合（図２／Ｓ０１８‥ＹＥＳ）、当該クラスタ範囲Ｃi（ｋi）の変更要否が判定される（図２／Ｓ０２０）。
【００５０】
具体的には、クラスタ範囲Ｃi（ｋi）の上限値および下限値のそれぞれと、新たな動作状態値ｓ（ｋi＋１）が計測された時点における、各クラスタｉに属する最近のｎ1個（ｎ1：第１所定数≦ｋi）の動作状態値ｓの集合Ｇi（ｋi）の上限値および下限値のそれぞれとの異同が判定されることにより、当該クラスタ範囲Ｃi（ｋi）の変更要否が判定される。なお、最近の第１所定期間分の動作状態値ｓの集合Ｇiに基づいてクラスタ範囲Ｃi（ｋi）の変更要否が判定されてもよい。
【００５１】
クラスタ範囲Ｃi（ｋi）の変更が必要であると判定された場合（図２／Ｓ０２０‥ＹＥＳ）、当該クラスタ範囲Ｃi（ｋi）が変更されることにより新たなクラスタ範囲Ｃi（ｋi＋１）が設定される（図２／Ｓ０２２）。
【００５２】
たとえば、図７（ａ）左側に示されているように新たな動作状態値ｓ（ｎｅｗ）＝ｓ（ｋi＋１）がクラスタ範囲Ｃi（ｋi）の上側近傍範囲Ｃi(+)（ｋi）に包含される場合、集合Ｇiの上限値（＝ｓ（ｎｅｗ））は当該クラスタ範囲Ｃi（ｋi）の上限値（＝ｍａｘ（Ｃi（ｋi）））よりも高くなる。この場合、図７（ａ）右側に矢印で示されているように新たなクラスタ範囲Ｃi（ｋi＋１）の上限値が集合Ｇiの上限値に一致するように、先のクラスタ範囲Ｃi（ｋi）の上限値より高く設定される。
【００５３】
また、図７（ｂ）左側に示されているように新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋi）の下側近傍範囲Ｃi(-)（ｋi）に包含される場合、集合Ｇiの下限値（＝ｓ（ｎｅｗ））は当該クラスタ範囲Ｃi（ｋ）の下限値（＝ｍｉｎ（Ｃi（ｋ）））よりも低くなる。この場合、図７（ｂ）右側に矢印で示されているように新たなクラスタ範囲Ｃi（ｋ＋１）の下限値が集合Ｇiの下限値に一致するように、先のクラスタ範囲Ｃi（ｋ）の下限値より低く設定される。
【００５４】
さらに、図８（ａ）左側に示されているように新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋ）に包含されていたとしても、前回集合Ｇi（ｏｌｄ）または当該クラスタ範囲Ｃi（ｋ）の上限値を画定していた動作状態値ｓ（ｏｌｄ）が今回集合Ｇi（ｎｅｗ）から外れることにより、今回集合Ｇi（ｎｅｗ）の上限値が当該クラスタ範囲Ｃi（ｋ）の上限値よりも低くなる場合がある。この場合、図８（ａ）右側に矢印で示されているように新たなクラスタ範囲Ｃi（ｋ＋１）の上限値が今回集合Ｇi（ｎｅｗ）の上限値に一致するように、先のクラスタ範囲Ｃi（ｋ）の上限値より低く設定される。
【００５５】
また、図８（ｂ）左側に示されているように新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋi）に包含されていても、前回集合Ｇi（ｏｌｄ）または当該クラスタ範囲Ｃi（ｋi）の下限値を画定していた動作状態値ｓ（ｏｌｄ）が今回集合Ｇi（ｎｅｗ）から外れることにより、今回集合Ｇi（ｎｅｗ）の下限値が当該クラスタ範囲Ｃi（ｋi）の下限値よりも高くなる場合がある。この場合、図８（ｂ）右側に矢印で示されているように新たなクラスタ範囲Ｃi（ｋi＋１）の下限値が今回集合Ｇi（ｎｅｗ）の下限値に一致するように、先のクラスタ範囲Ｃi（ｋi）の下限値より高く設定される。
【００５６】
前記のように前回のクラスタ範囲Ｃi（ｋi）が変更されて今回のクラスタ範囲Ｃi（ｋi＋１）が設定されることにより、図１０に示されているようにクラスタｉのそれぞれについてクラスタ範囲Ｃi（ｋi）が流動的に設定されうる。
【００５７】
一方、クラスタ範囲Ｃi（ｋi）の変更が不要であると判定された場合（図２／Ｓ０２０‥ＮＯ）、当該クラスタ範囲Ｃi（ｋ）が変更されることなくそのまま新たなクラスタ範囲Ｃi（ｋi＋１）として更新される（図２／Ｓ０２４）。たとえば、新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋi）に包含され、かつ、今回集合Ｇi（ｎｅｗ）および当該タスク範囲Ｃi（ｋi）（または前回集合Ｇi（ｏｌｄ））のそれぞれの上限値および下限値が同じである場合、クラスタ範囲Ｃi（ｋi）の変更が不要であると判定される。
【００５８】
今回のクラスタ範囲Ｃi（ｋi＋１）の設定後、前記と同様の手法にしたがってこの今回のクラスタ範囲Ｃi（ｋi＋１）の近傍範囲Ｃi(+)（ｋi＋１）およびＣi(-)（ｋi＋１）が設定される（図２／Ｓ０２５（式（１１）〜（１３）、（２１）〜（２３）、図２／Ｓ０１４参照））。
【００５９】
また、判定部１４により、図９（ａ）に示されているように新たな動作状態値ｓ（ｎｅｗ）がクラスタｉに属していないと判定された場合（図２／Ｓ０１８‥ＮＯ）、指数ｐが１だけ増やされ（図２／Ｓ０２８）、当該判定時点における動作状態値ｓ（ｋi＋１）≡ｓ（ｐ）などが「特異状況」として状況記憶部１５により記憶される（図２／Ｓ０３０）。特異状況には、当該判定時点におけるクラスタ範囲Ｃi（ｋi）（上限値ｍａｘ（Ｃi（ｋi））および下限値ｍｉｎ（Ｃi（ｋi））により特定される。）と、その近傍範囲Ｃi(+)（ｋi）およびＣi(-)（ｋi）（幅Δi(+)（ｋi−１）およびΔi(-)（ｋi−１）により特定される。）とが含まれる（式（１１）〜（１３），（２１）〜（２３）参照）。
【００６０】
また、新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲ｉに属してないと判定された第１時点からの経過時間τ（ｐ）が計測開始される（図２／Ｓ０３２）。
【００６１】
ソフトウェアの動作解析が終了していない場合（図２／Ｓ０２６‥ＮＯ）、指数ｐが０に等しいか否かが判定される（図２／Ｓ０３４）。
【００６２】
指数ｐが０に等しいと判定された場合（図２／Ｓ０３４‥ＹＥＳ）、クラスタｉに属した経歴を有する動作状態値ｓの累積個数を表す指数ｋiが１だけ増やされ（図２／Ｓ０５０）、その後、新たな動作状態値ｓ（ｋ＋１）が測定された場合、前述の一連の処理が再び実行される（図２／Ｓ０１６，Ｓ０１８等参照）。一方、指数ｐが０ではないと判定された場合（図２／Ｓ０３４‥ＮＯ）、指数ｐがカウンタにより計測される数ｈに置換され（図２／Ｓ０３６）、前記第１時点からの経過時間τ（ｈ）が所定期間（第３所定期間）以下であるか否かが判定される（図２／Ｓ０３８）。
【００６３】
当該経過時間τ（ｈ）が所定期間以下であると判定された場合（図２／Ｓ０３８‥ＹＥＳ）、状況消去部１６により、特異状況の一部としての動作状態値ｓ（ｐ）が、更新後のクラスタ範囲Ｃi（ｋi＋１）またはその近傍範囲Ｃi(+)（ｋi＋１）もしくはＣi(-)（ｋi＋１）に包含されているか否かがさらに判定される（図２／Ｓ０４０）。動作状態値ｓ（ｐ）が更新後のクラスタ範囲Ｃi（ｋi＋１）等に包含されていると判定された場合（図２／Ｓ０４０‥ＹＥＳ）、状況消去部１６により当該特異状況が状況記憶部１５から消去される（図２／Ｓ０４２）。たとえば、図９（ｂ）に示されているように特異状況の一部としての動作状態値ｓ（ｏｌｄ）が最新のクラスタ範囲Ｃi（ｋi＋１）の近傍範囲Ｃi(+)（ｋi＋１）に包含されている場合、当該特異状況が状況記憶部１５から消去される。また、特異状況の消去または削除に応じて、特異状況発生回数を表す指数ｐが１だけ減らされ（図２／Ｓ０４４）、かつ、カウント数ｈも１だけ減らされる（図２／Ｓ０４６）。
【００６４】
さらに、指数ｐが０に等しいか否かが判定され（図２／Ｓ０４８）、指数ｐが０ではないと判定された場合（図２／Ｓ０４８‥ＮＯ）、経過時間τ（ｈ）に関する判定処理およびこれ以降の前記処理が繰り返される（図２／Ｓ０３８〜Ｓ０４６参照）。
【００６５】
当該経過時間τ（ｈ）が所定期間を超えていると判定された場合（図２／Ｓ０３８‥ＮＯ）、または、動作状態値ｓ（ｐ）が更新後のクラスタ範囲Ｃi（ｋi＋１）等に包含されていないと判定された場合も（図２／Ｓ０４０‥ＮＯ）、カウンタ数ｈが１だけ減らされた上でｈが０に等しいか否かが判定される（図２／Ｓ０４６，Ｓ０４８参照）。当該経過時間τ（ｈ）が所定期間を超えていると判定された場合（図２／Ｓ０３８‥ＮＯ）、状況記憶部１５により特異状況がそのまま保存される。
【００６６】
そして、カウンタ数ｈが０に等しいと判定された場合（図２／Ｓ０４８‥ＹＥＳ）、クラスタｉに属した経歴を有する動作状態値ｓの累積個数を表す指数ｋiが１だけ増やされ（図２／Ｓ０５０）、その後、新たな動作状態値ｓ（ｋ＋１）が測定された場合、前述の一連の処理が再び実行される（図２／Ｓ０１６，Ｓ０１８等参照）。
【００６７】
そして、その後、ソフトウェアの動作解析が終了した場合（図２／Ｓ０２６‥ＹＥＳ）、前述の一連の処理が停止される。
【００６８】
前記機能を発揮するソフトウェア動作解析装置１０によれば、クラスタｉに属する最新の第１所定数ｎ1の動作状態値ｓを包含し、かつ、当該動作状態値ｓのうち一部または全部により境界が画定される範囲がクラスタ範囲Ｃi（ｋi）として設定される（図２／Ｓ０１２，図４，図５参照）。さらに、タスクの新たな動作状態値ｓが、過去の動作状態値ｓの一部または全部に基づいて設定されたクラスタ範囲Ｃi（ｋi）またはその近傍範囲Ｃi(+)（ｋi）もしくはＣi(-)（ｋi）に含まれているか否かが判定される（図２／Ｓ０１８，図６参照）。クラスタｉはある程度のまとまりがある動作状態値ｓの集合を意味するので、クラスタ範囲Ｃi（ｋi）は複数のタスクのそれぞれの動作状態のうち、種々のタスクの相互に同一または類似である動作状態の集合を画定する範囲として設定される。したがって、前記判定結果に基づき、タスクの新たな動作状態がクラスタ範囲Ｃi（ｋi）により画定される先の動作状態の集合に鑑みて規則性があるか否かが容易に検出されうる。
【００６９】
また、各クラスタｉについて、最近の第１所定数ｎ1（または第１所定期間分）の動作状態値ｓの集合Ｇiに基づき、クラスタ範囲Ｃi（ｋi）が逐次更新される（図２／Ｓ０２０，Ｓ０２２，図７（ａ）（ｂ），図８（ａ）（ｂ）参照）。これにより、各クラスタｉに対応するタスクの動作状態のうち一部または全部が集団的に変化する場合、タスクの新たな動作状態と同一または類似の動作状態の集合を画定する範囲としてクラスタ範囲Ｃi（ｋi）が流動的に設定されうる（図１０参照）。したがって、タスクの新たな動作状態ｓ（ｎｅｗ）＝ｓ（ｋi＋１）がクラスタ範囲Ｃi（ｋi）により画定される以前の動作状態の集合に鑑みて規則性があるか否かがリアルタイムで検出されうる。
【００７０】
さらに、新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋi）の近傍範囲Ｃi(+)（ｋi）またはＣi(-)（ｋi）に包含されることを要件として、当該新たな動作状態値ｓ（ｎｅｗ）が包含されるように当該クラスタ範囲Ｃi（ｋi）が変更される（図２／Ｓ０２２，図７（ａ）（ｂ）参照）。したがって、クラスタ範囲Ｃi（ｋi）の変更幅が、当該クラスタ範囲Ｃi（ｋi）の近傍範囲Ｃi(+)（ｋi）またはＣi(-)（ｋｖ）の幅Δi(+)（ｋi）またはΔi(-)（ｋi）以下に制限される（式（１１）〜（１３），（２１）〜（２３）参照）。このため、クラスタ範囲Ｃi（ｋi）が過剰に変更され、さらには当該変更後のクラスタ範囲Ｃi（ｋi＋１）により画定される最近の動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００７１】
また、タスクの新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋi）およびその近傍範囲Ｃi(+)（ｋi），Ｃi(-)（ｋi）に包含されていないと判定された時点における当該新たな動作状態値ｓ（ｎｅｗ）等が特異状況として記憶される（図２／Ｓ０３０，図９（ａ）参照）。当該判定結果は、タスクの新たな動作状態がクラスタ範囲Ｃi（ｋi）により画定されるタスクの以前の動作状態の集合に鑑みて規則性がないことを表している可能性が高い。したがって、当該特異状況に基づき、規則性に欠けるタスクの動作状態が詳細に解析されうる。
【００７２】
その一方、当該判定後、早期にクラスタ範囲Ｃi（ｋi）がＣi（ｋi＋１）に更新され、かつ、当該判定時点における動作状態値ｓ（ｐ）が当該更新後のクラスタ範囲Ｃi（ｋi＋１）またはその近傍範囲に包含される場合、当該特異状況が消去されうる（図２／Ｓ０３８，Ｓ０４０，Ｓ０４２，図９（ｂ）参照）。この場合、当該判定結果は特異状況として記憶された動作状態値ｓ（ｐ）が、タスクの新たな動作状態に規則性が欠けることを表すのではなく、タスクの動作状態が集団的に変化していることを表している可能性が高い。したがって、当該特異状況が残されたまま、規則性の有無について誤認のあるタスクの動作状態が詳細に解析される事態が回避される。
【００７３】
なお、前記実施形態では動作状態値（タスク実行時間）ｓがスカラーであり、クラスタｉに属する動作状態値ｓの最大値および最小値のそれぞれを上限値および下限値のそれぞれとする範囲がクラスタ範囲Ｃi（ｋi）として設定された（図４参照）。他の実施形態として動作状態値ｓがベクトルであり、クラスタｉに属する動作状態値ｓのうち原点Ｏに最も近い動作状態値を通る円もしくは扇形領域（２次元）または球または球殻部分（３次元以上）と、原点Ｏから最も遠い動作状態値を通る円または球とにより挟まれた環状または殻状の範囲または領域がクラスタ範囲Ｃi（ｋi）として設定されてもよい。
【００７４】
また、クラスタ範囲Ｃi（ｋi）の変更要否が次のように判定されてもよい（図２／Ｓ０２０参照）。すなわち、図１１左側に示されているクラスタ範囲Ｃi（ｋi）を複数に分割して得られる分割範囲のうち、計測部１１により計測された最近の第１所定数ｎ1（または第１所定期間分）の動作状態値ｓが包含されていない分割範囲が存在するか否かに応じて、当該クラスタ範囲Ｃi（ｋi）の変更要否が判定されてもよい。そして、図１１中央に示されているように当該分割範囲が存在する場合、当該分割範囲が当該クラスタ範囲Ｃi（ｋi）から除去される。これにより、図１１右側に示されているような３つの新たなクラスタ範囲Ｃi1（ｋi1＋１），Ｃi2（ｋi2＋１）およびＣi3（ｋi3＋１）が設定される。これは、長期間にわたって動作状態値ｓ（ｋi）が出現しない範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲Ｃi（ｋi）が過剰に広いままに維持され、さらには当該クラスタ範囲Ｃi（ｋi）により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００７５】
さらに、クラスタ範囲Ｃi（ｋi）の変更要否が次のように判定されてもよい（図２／Ｓ０２０参照）。すなわち、図１２左側に示されているクラスタ範囲Ｃi（ｋi）を構成する複数の分割範囲のうち、計測部１１により計測された最近の第１所定数ｎ1（または第１所定期間分）の動作状態値ｓが包含されていない、連続する２つ以上の分割範囲が存在するか否かに応じて、当該クラスタ範囲Ｃi（ｋi）の変更要否が判定されてもよい。そして、図１２中央に示されているように当該連続する２つ以上の分割範囲が存在する場合、当該分割範囲が当該クラスタ範囲Ｃi（ｋi）から除去される。これにより、図１２右側に示されているような２つの新たなクラスタ範囲Ｃi1（ｋi1＋１）およびＣi2（ｋi2＋１）が設定される。これは、長期間にわたって動作状態値ｓ（ｎｅｗ）が出現しない広い範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲Ｃi（ｋi）が過剰に広いままに維持され、さらには当該クラスタ範囲により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【００７６】
また、判定部１４により新たな動作状態値ｓ（ｎｅｗ）がクラスタ範囲Ｃi（ｋ）およびその近傍範囲Ｃi(+)（ｋi），Ｃi(-)（ｋi）のいずれにも含まれていない（＝クラスタｉに属していない）と判定されている状態が第２所定期間にわたり継続したことを要件として、クラスタ設定部１２が当該クラスタ範囲Ｃi（ｋi）をクラスタ記憶部１３から消去してもよい。さらに、計測部１１により計測された最近の第２所定数の動作状態値ｓが、クラスタｉに属していないと判定部１４により判定されたことをさらなる要件として、クラスタ設定部１２が当該クラスタ範囲Ｃi（ｋi）をクラスタ記憶部１３から消去してもよい。これは、長期間にわたって新たな動作状態値ｓが出現しない範囲は、種々のタスクの同一または類似の動作状態の集合を画定する範囲として不適当であるという点を考慮したためである。したがって、クラスタ範囲Ｃi（ｋi）が無条件に残され、当該クラスタ範囲Ｃi（ｋi）により画定されるタスクの動作状態の集合に鑑みた、タスクの以後の動作状態の規則性の有無が誤認されるような事態が回避されうる。
【図面の簡単な説明】
【００７７】
【図１】ソフトウェア動作解析装置の構成説明図
【図２】ソフトウェア動作解析装置による実行処理のフローチャート
【図３】タスクの動作状態値に関する説明図
【図４】クラスタ範囲の設定方法に関する説明図
【図５】クラスタ範囲の設定方法に関する説明図
【図６】クラスタ範囲およびその近傍範囲に関する説明図
【図７】クラスタ範囲の更新方法に関する説明図
【図８】クラスタ範囲の更新方法に関する説明図
【図９】クラスタ範囲の更新方法に関する説明図
【図１０】クラスタ範囲の更新方法に関する説明図
【図１１】クラスタ範囲の更新方法に関する説明図
【図１２】クラスタ範囲の更新方法に関する説明図
【符号の説明】
【００７８】
１‥コンピュータ、１０‥ソフトウェア動作解析装置、１１‥計測部、１２‥クラスタ設定部、１３‥クラスタ記憶部、１４‥判定部、１５‥状況記憶部、１６‥状況消去部
【図１】
2009042957.tif 000003
【図２】
2009042957.tif 000004
【図３】
2009042957.tif 000005
【図４】
2009042957.tif 000006
【図５】
2009042957.tif 000007
【図６】
2009042957.tif 000008
【図７】
2009042957.tif 000009
【図８】
2009042957.tif 000010
【図９】
2009042957.tif 000011
【図１０】
2009042957.tif 000012
【図１１】
2009042957.tif 000013
【図１２】
2009042957.tif 000014