TOP > 国内特許検索 > ソフトウェア開発支援システム > 明細書

明細書 :ソフトウェア開発支援システム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4855692号 (P4855692)
公開番号 特開2006-085668 (P2006-085668A)
登録日 平成23年11月4日(2011.11.4)
発行日 平成24年1月18日(2012.1.18)
公開日 平成18年3月30日(2006.3.30)
発明の名称または考案の名称 ソフトウェア開発支援システム
国際特許分類 G06F   9/44        (2006.01)
FI G06F 9/06 620A
請求項の数または発明の数 3
全頁数 19
出願番号 特願2005-041235 (P2005-041235)
出願日 平成17年2月17日(2005.2.17)
新規性喪失の例外の表示 特許法第30条第1項適用 2004年11月11日 社団法人電子情報通信学会発行の「電子情報通信学会技術研究報告 信学技報Vol.104 No.431」に発表
特許法第30条第1項適用 2004年8月19日から20日 社団法人情報処理学会発行の「情報処理学会研究報告 情処研報Vol.2004 No.87」に発表
優先権出願番号 2004238831
優先日 平成16年8月18日(2004.8.18)
優先権主張国 日本国(JP)
審査請求日 平成19年10月16日(2007.10.16)
特許権者または実用新案権者 【識別番号】000005832
【氏名又は名称】パナソニック電工株式会社
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
発明者または考案者 【氏名】新屋敷 泰史
【氏名】三瀬 敏朗
【氏名】橋本 正明
【氏名】中谷 多哉子
個別代理人の代理人 【識別番号】100087767、【弁理士】、【氏名又は名称】西川 惠清
審査官 【審査官】石川 亮
参考文献・文献 特開平07-200534(JP,A)
特開2003-256204(JP,A)
特開平08-305554(JP,A)
特開2000-293411(JP,A)
特開2003-233686(JP,A)
特開平08-314707(JP,A)
調査した分野 G06F 9/06
G06F 9/44
特許請求の範囲 【請求項1】
開発対象のソフトウェアを用いるハードウェア要件と該ソフトウェアの機能仕様と動作環境とを含む前記ソフトウェアの特徴情報を使用者から受け付ける入力手段と使用者に情報を提示する出力手段を備えたユーザーインターフェース部と、
前記特徴情報と非正常現象との関連を含む関連情報が格納されたデータベースと、
前記特徴情報が前記入力手段から与えられると前記データベースに格納されている前記関連情報を検索し、与えられた前記特徴情報に関連する前記非正常現象を取得して、取得した前記非正常現象に基づいた非正常仕様の生成を行うとともに、生成した前記非正常仕様と前記特徴情報に含まれている正常仕様とを合成して前記ソフトウェアの全体仕様として前記出力手段を介して提示する演算処理部とを備えていることを特徴とするソフトウェア開発支援システム。
【請求項2】
前記データベースは、
開発対象のシステムに関連する情報の運び手をキャリアとし、前記キャリアの送信元を情報発信者とし、前記キャリアの経路を情報フローパスとし、前記キャリアを変換するものを情報受信者として、
前記情報受信者と前記情報発信者と前記情報フローパスとを伝達者種別とし、夫々の名称と前記キャリアとを関連付けて記述した利用キャリア対応テーブルと、
前記情報受信者の種別毎に、例外要因の種別と、影響を受ける前記キャリアと、影響内容とを関連付けて記述した受信者例外種別テーブルと、
前記情報フローパスの種別毎に、妨害例と、影響を受ける前記キャリアと、影響内容とを関連付けて記述した情報フローパス妨害例テーブルと
の3つのテーブルを前記関連情報として格納していることを特徴とする請求項1記載のソフトウェア開発支援システム。
【請求項3】
前記関連情報は前記非正常現象間の関連を含んでおり、
前記演算処理部は、前記特徴情報および取得済みの他の前記非正常現象との関連により前記非正常現象を更に展開し、組み合わせにより連鎖的に発生する前記非正常現象を取得する分析機能を備えることを特徴とする請求項1または請求項2に記載のソフトウェア開発支援システム。
発明の詳細な説明 【技術分野】
【0001】
本発明は機器等に組み込むソフトウェアの作成に用いるソフトウェア開発支援システムに関するものである。
【背景技術】
【0002】
ソフトウェアの障害に関する障害を分析するシステムが従来提供されている(例えば特許文献1)。このシステムはソフトウェアにおいて発生した障害の名称や、障害が発生した環境、症状や対応者が特定した発生原因、登録した日付などを登録し、これら登録した情報を用いて、障害の分析やグラフ化などを自動的に実行し、発生原因の割合の分析を行うものである。また商品出荷後でのフィールド稼働後の障害情報の管理を含めてハードウェアの障害を面的に分析するシステムが提供されている(特許文献2)。

【特許文献1】特開2000-293411号公報
【特許文献2】特開2003-233686号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述の特許文献1に示されるシステムはソフトウェアの障害管理を行うシステムであるが、ソフトウェア作成後における障害分析に使用するものであって、ソフトウェアを作成するに当たって障害等の分析を行い作成しようとするソフトウェアの仕様に盛り込むというものではなかった。また特許文献2に示されるシステムもフィールド稼働後の障害管理を目的とするものであり、特許文献1と同様にソフトウェアを作成するに当たって障害等の分析を行い作成しようとするソフトウェアの仕様に盛り込むというものではなかった。
【0004】
特に近年、機器に組み込むソフトウェア(以下、組み込みソフトと呼ぶ)の大規模化、複雑化が進む一方で、開発期間の短縮に対する要求が強くなっており、上述の特許文献1、2に示されるシステムではこれら要求に対して対応させるものではなかった。
【0005】
ところで組み込みソフトでは、仕様設定や設計段階における問題が重要であることを裏付ける統計結果が経済産業省が実施した調査によって下記のように得られている。
・組み込みソフト関係者の約70%が、課題はソフトウェアの品質向上にあると認識している。
・ソフトウェアの発注時の課題のトップに、要求仕様や設計仕様の伝達の困難さが挙げられている。
・開発中発生した前工程への設計手戻りの原因のうち、要求仕様や仕様書の不備が約半数を占める。
【0006】
このため、組み込みソフトに対しても効率的な開発手法の整備が急務とされ、様々な手法が提案されている。しかし仕様分析段階においては、組み込みソフト固有の特性から、それらの手法が充分な効果を発揮できていないと思われるのが現状である。
【0007】
つまり、組み込みソフトには、長期安定動作、ユーザーの監視下にない状況での動作、リアルタイム性、消費電力や発熱への配慮、多少の異常がある状態でも動作を保証するといったユーザーからのニーズと、ハードリソースの制限、開発中のハードリソース変更に対する対応といったメーカーからのニーズがあるという特徴がある。これらのニーズに対応するためには、開発者にハードウェアに対する知識とソフトウェアが利用される環境におけるシステムの障害要因となりうる事象や状態(以下、システムの障害要因となりうる異常事象、例外事象や障害が発生している状態を総称して非正常系と呼ぶ)に対する知識が必要となる。実際、組み込みソフトに関する市場で散見されるトラブルは、その多くが非正常系への対応が不十分であったことに由来するものであった。
【0008】
本発明は、上述の点に鑑みて為されたものであって、その目的とするところは、上述の非正常系に対応するための仕様を正しく効率的に設定でき、開発するソフトウェアの品質改善が図れるソフトウェア開発支援システムを提供することにある。
【課題を解決するための手段】
【0009】
上述の目的を達成するために、請求項1の発明では、開発対象のソフトウェアを用いるハードウェア要件と該ソフトウェアの機能仕様と動作環境とを含む前記ソフトウェアの特徴情報を使用者から受け付ける入力手段と使用者に情報を提示する出力手段を備えたユーザーインターフェース部と、前記特徴情報と非正常現象との関連を含む関連情報が格納されたデータベースと、前記特徴情報が前記入力手段から与えられると前記データベースに格納されている前記関連情報を検索し、与えられた前記特徴情報に関連する前記非正常現象を取得して、取得した前記非正常現象に基づいた非正常仕様の生成を行うとともに、生成した前記非正常仕様と前記特徴情報に含まれている正常仕様とを合成して前記ソフトウェアの全体仕様として前記出力手段を介して提示する演算処理部とを備えていることを特徴とする。
【0010】
請求項1の発明によれば、ユーザーが開発対象のソフトウェアに対応する特徴情報をユーザーインターフェース部の入力手段で入力するだけで、異常事象を折り込んだ当該ソフトウェアの仕様を自動的に作成してユーザーに提示することができ、そのため異常事象に対する知識をユーザーが特に持たなくても、稼働時におけるトラブル発生を回避したソフトウェアの仕様を正しく効率的に設定することが可能となるとともに開発するソフトウェアの品質改善が図れる。
請求項2の発明では、請求項1の発明において、前記データベースは、開発対象のシステムに関連する情報の運び手をキャリアとし、前記キャリアの送信元を情報発信者とし、前記キャリアの経路を情報フローパスとし、前記キャリアを変換するものを情報受信者として、前記情報受信者と前記情報発信者と前記情報フローパスとを伝達者種別とし、夫々の名称と前記キャリアとを関連付けて記述した利用キャリア対応テーブルと、前記情報受信者の種別毎に、例外要因の種別と、影響を受ける前記キャリアと、影響内容とを関連付けて記述した受信者例外種別テーブルと、前記情報フローパスの種別毎に、妨害例と、影響を受ける前記キャリアと、影響内容とを関連付けて記述した情報フローパス妨害例テーブルとの3つのテーブルを前記関連情報として格納していることを特徴とする。
【0011】
請求項の発明では、請求項1または請求項2の発明において、前記関連情報は前記非正常現象間の関連を含んでおり、前記演算処理部は、前記特徴情報および取得済みの他の前記非正常現象との関連により前記非正常現象を更に展開し、組み合わせにより連鎖的に発生する前記非正常現象を取得する分析機能を備えることを特徴とする。
【0012】
請求項の発明によれば、ソフトウェアの開発者であるユーザーに対して、組み込み対象のシステムの状態とイベント発生との関係を提示することができ、その結果ソフトウェアの設計につなげる支援が可能となり、ユーザー個人の能力に依存しない組み込みソフトの品質改善が図れる。
【発明の効果】
【0013】
本発明は、ユーザーが開発対象ソフトウェアに対応する特徴をユーザーインターフェース部の入力手段で入力するだけで、当該開発対象ソフトウェアの異常事象や例外事象を折り込んだ仕様を自動的に作成してユーザーに提示することができ、そのため異常事象や例外事象に対する知識をユーザーが特に持たなくても、稼働時におけるトラブル発生を回避したソフトウェアの仕様を正しく効率的に設定でき、結果作成を可能とし、開発するソフトウェアの品質改善が図れるという効果がある。
【発明を実施するための最良の形態】
【0014】
まず、本発明者らは上述した非正常系仕様の記述のもととなるモデル構築を目的として、非正常系仕様の設定において考慮すべき事項について事例分析を行い、この分析に基づいてソフトウェア開発支援システムを発明するに至った。そこで実施形態の説明の前に、この非正常系仕様の分析について事例を挙げて説明する。
【0015】
ここで各事項を通じた具体例として、以下のような単純な架空商品を想定する。この商品は図6(a)に示すように屋外に設置される照明器具1であって、図6(b)に示すようにセンサ部2に入る光が一定以上の光量を持つ場合に所定電圧の電圧信号を出力する昼光センサ3と、辺りを照らす照明器具1及びその照明器具1を電気的にオン/オフ制御するためのリレーを含む照明回路4、これらを統括制御するCPU部5と、クロックを制御するタイマ6と、これらに電源を供給する電源回路(図示せず)から構成される。本システムに対する当初の要求仕様は「昼間は消灯しており、夜間は点灯して、周囲を明るく照らす」である。
【0016】
次に分析の結果得られた事項について述べる。
1)パッケージ系ソフトと組み込みソフトでは、非正常現象発生の主要なトリガが異なる。
非正常現象の概念自体は組み込みソフト固有の概念ではないが、組み込みソフトにおいては、パッケージ系ソフトではあまり考慮されない利用環境からの影響が重要な位置を占めるのが特徴である。
【0017】
屋外で稼動することによる汚れ、風雨などの影響は言うに及ばず、システム利用者でない人間が意図せずシステムの動作を妨害することなども考慮しなければならない。例えば、昼光センサ付照明システムにおいては、先の風雨などの天候のほか、夜間にヘッドライトを点灯した自動車が通りかかった場合や子供のいたずらの可能性も考慮しなければならない。
【0018】
また、部品の故障や機能の劣化へもある程度対応しなければ可用性の高いシステムとして市場に受け入れられない。更に、ハード的な設計によっては、夜間にシステム自身が照明を点灯したことでセンサはこれを昼間の明るさと判断してしまう可能性もある。これらはモデリングに際してシステムのアクタを決定する場合、一般的なイメージであるアクタはシステムの外部にあるもの、との考えを改める必要性を意味している。即ち組み込みソフトでは周辺環境もシステムと同時にモデリングする必要がある。
2)実装技術によって発生する非正常系が決まる
システムにおいて発生しうる非正常現象(異常事象や例外事象)の種類は、そのシステムにおける実装技術に依存して決定する。例えば昼光センサ付照明システムでは、夜間にヘッドライトを点灯させた自動車が通過するといったケースを想定する必要が生じる。一方、システムクロック(タイマ6)を採用したシステムにおいてはこのケースを想定する必要はなく、代わりに実際の時刻とシステムクロックの時刻の不一致を考慮する必要がある。
【0019】
このことは、組み込み系においてはハードウェア/ソフトウェアの設計が、仕様に影響を及ぼすことを意味している。このことから、システムの実装技術を決定することで、それに伴う非正常現象が形式的に導出できることが期待される。
3)非正常現象が別の非正常現象の原因となる
システム内で発生した現象が、別の非正常現象の原因となることがある。例えば、事例の昼光センサ付照明システムにおいて、システムが夜と判断して照明を点灯した結果、その光をセンサが検知して昼と判断する、といった異常や、明け方や夕方など、明るさが安定しない状況下では昼光センサ3からの電圧信号が頻繁にオン/オフ変化することが予想されるが、それがCPU部5の電圧信号検知の割り込み処理の頻発につながるといったことが挙げられる。このことは、システムの動的側面を考慮して分析を行う必要があることを表している。このような現象の伝播は組み込みソフト分野に限った現象ではないが、組み込みソフト分野においてはハードウェアやOS(オペレーティングシステム)、ミドルウェアといった階層も仕様分析段階で考慮に入れる必要があるため、分析が困難となる一因となっている。
4)ハードウェアの非正常発生の検知をソフトの機能として求められることが要求される
コスト要求の厳しい組み込みシステムにおいては、ハードウェアの非正常検知を行うために高価な部品を用いたり、非正常検知用の回路を設けることを最低限に留めるために、ソフトウェアによってハードウェアの非正常検知を行うことが要求されることが多い。
5)一つの非正常現象に対して、複数の対応手段が存在する
ある非正常現象を検知した場合、システム、サブシステム或いはコンポーネントは以下のような処理をとることができる。(1)非正常の原因を取り除く、(2)非正常の発生を外部に通知する、(3)時間経過によって非正常から回復するのを待つ、(4)非正常現象発生箇所をシステムから切断し、影響の拡大を防ぐ。また、これらの処理と並行して、事前手段を採用することもできる。例えば事例の昼光センサ付照明システムにおいて、昼光センサ3が故障したために昼光センサ3からの入力信号がめまぐるしく変化して昼夜いずれとも判断し難い場合の対応方法について、前述の種別毎に考えると、(1)はソフトウェアでの実現が困難、(2)は異常通知LEDなどによってメンテナンス者への注意を促す方法、(3)はある程度時間をおいて、昼光センサ3からの入力信号が再び安定するまで待つ方法、(4)は昼光センサ3を昼夜の判断基準から外す方法、次善手段は例えばタイマ6によって12時間毎に昼/夜を区別するといった方法がそれに相当する。
6)非正常への対応手段の利用可否は実装技術に依存する
先に、1つの非正常現象に対して複数の対応手段があることについて述べたが、システムの実装技術によっては採用できない対応手段が存在する。事例の昼光センサ付照明システムにおいて、昼光センサ3が故障したケースにおいては、非正常の原因を取り除く対応は例えば昼光センサ3を自動的に交換する機能をシステムに設けることに相当するが、その対応は現実的ではない。また、コスト削減のために異常検知LEDを実装しないとすれば、外部への通知を行うという対応についても別の方法によるか、外部への通知を行わないとする仕様に変更する必要がある。
7)非正常への対応手段は、要求仕様における優先順位付けによって決定される
1つの非正常現象に対して複数の対応手段が取りえる場合、各手段のうちいずれを選択するべきかの判断基準は、システムの要求仕様における優先順位に委ねられる。昼光センサ付照明システムの場合、昼光センサ3の故障時に照明をどのように制御するかの仕様は、もしそのシステムが安全性を重視したものであればオン制御することが、もしそのシステムが省エネルギー性を重視したものであればオフ制御することが望ましいと判断される可能性がある。
【0020】
上述したように、非正常現象は様々な情報と関連を持つが、そのうち非正常系仕様の検討に先立って与えられることが多い情報として、システムでの実装技術(特にハードウェア)が挙げられる。このことから、システムでの実装技術とそれに伴って生じる可能性のある非正常現象との関連を中心に知識体系を構築し、その知識体系に開発対象システム(組み込みシステム)の採用手段を入力として与えることで、開発対象システム(組み込みシステム)で発生しうる非正常現象とその対応方法を出力とするようなソフトウェア開発支援システムを構築できることが分かった。
【0021】
更に本発明者らは上述の分析結果に基づいて非正常系仕様抽出のための組み込みシステムの概念モデリングを行った。つまり、組み込みシステムは環境との関係が非常に深い。それはパッケージ系ソフトは利用される環境における人間が占める比率が高いため、人間の判断によってシステムへの影響をコントロールすることができるが、組み込みシステムでは利用される環境における人間の占める比率が低く、ときには無人環境での動作を要求されるためである。このような理由から、組み込みシステムの概念モデリングにおいては、組み込みシステムが置かれる環境も含めたモデリングが必要である。
【0022】
例として、上述の昼光センサ付照明システムにおいて、システムは「昼/夜」と判断するための情報をどのように得ているかについて考察した。
【0023】
この場合、昼光センサ付照明システムは昼光センサ3が受光する光の量によって昼夜の区別を行っている。この光は発光する物体から直接、若しくは光を反射する物体を経由して、空間の中を通過してくる。また、光の量という情報の運び手によって運ばれた「昼/夜」の情報は、昼光センサ3にて銅線(信号線)の中を通過する電気信号によってCPU部5まで運ばれるようになる。このことから、昼光センサ3は情報の運び手を光の量から電圧信号に変換させる役割を担っていると言える。
【0024】
以上の考察から、組み込みシステム及びそれを取り巻く環境について、以下のように定義した。
・組み込みシステムに関連する情報の運び手をキャリアと呼ぶ。例えば、上述の昼光センサ付照明システムでは昼光センサ3に対して「昼/夜」の情報をもたらす光の量がキャリアである。
・ここでキャリアの送信元を情報発信者と呼ぶ。
・キャリアの経路を情報フローパスと呼ぶ。例えば、上述の昼光センサ付照明システムでは電圧信号の経路である銅線(信号線)は情報フローパスである。
・キャリアを変換する物を情報変換ポイント(若しくは情報受信者)と呼ぶ。例えば、上述の昼光センサ付照明システムの昼光センサ3はそれまで光の量というキャリアが運んできた「昼/夜」という情報を、電圧信号に運ばせるようにするため、情報変換ポイントとして扱う。また、情報変換ポイントは、変換後のキャリアの受信側から見れば情報発信者と言える。これらの概念を、上述の昼光センサ付照明システムに当てはめると、太陽という情報発信者から光の量というキャリアを用いて昼光センサ3に昼という情報が伝達されることになる。
【0025】
さて、上述した定義に基づいて組み込みシステムに情報がもたらされる仕組みをモデリングした場合、非正常現象の発生は情報発信者、情報フローパス、情報変換ポイントにて発生するものとすることができる。ここで情報発信者において発生する非正常現象を「なりすまし」と呼ぶ。つまりこのなりすましとは、情報変換ポイントが受信する情報を、本来発すべき情報発信者以外の発信源が発信している現象を表す。例えば、上述した昼光センサ付照明システムの昼光センサ3は、昼光センサ3が捉える光の量によって昼或いは夜という情報を得るが、夜間にヘッドライトを点灯した自動車が昼光センサ3の近隣を通過することによって、昼光センサ3は昼に相当するだけの光を受信する。この場合、昼という情報を、本来の情報発信者である太陽ではなく、自動車のヘッドライトが太陽になりすまして発信していると言える。また、情報フローパスにおいて発生する非正常現象を、ここでは情報フローパス妨害と呼ぶ。情報フローパス妨害は、情報のキャリアが通る情報フローパスに情報のキャリアの通過を妨げるものが現れる現象を表す。例えば、昼間であっても、昼光センサ3の前に光を遮る障害物が置かれた場合、昼光センサ3に入る光の量が減少してセンサは夜という情報を得てしまう。
【0026】
次に、情報変換ポイントにて発生する非正常現象を、ここでは情報変換ポイント例外と呼ぶ。情報変換ポイント例外は、情報変換ポイントの特性が変化した結果、変換前と変換後の持つ情報が変化する現象を表す。例えば、上述した昼光センサ付照明システムの昼光センサ3の受光回路が経年劣化などで当初より多い量の光を受光しないと昼と判断できないようになってしまった場合、この昼光センサ3にて情報変換が行われる前と後で、昼という情報が夜という情報に変わってしまうことがある。
このように、システム及びそれを取り巻く環境で発生する非正常現象は、情報フローパス・ダイアグラムの概念の上では、以上の3種類に分類することができる。
【0027】
図7は上述した情報伝達の基本的モデルと非正常現象の発生を反映した非正常系概念モデルを示しており、同図では、情報発信者10と情報受信者11が情報フローパス12と隣接しており、その情報はやはり情報フローパス12と隣接している情報変換ポイント13で変換されることが表されている。情報は、情報発信者10からキャリアに載せて発信される。キャリアはフローパス12の中を伝達し、途中で何度か情報変換ポイント13によって変換され、最終的に情報受信者11に到達する。
【0028】
ここで、情報発信者10、情報受信者11、情報変換ポイント13がそれぞれn-nの関連になっている点に着目し、これらの間の関連は同じキャリア14を利用することを条件として成立するため、各々が意図しない相手との間で情報の送受信が行われる可能性がある。また、情報発信者10自身が意図していないキャリア14によって情報発信をするケースもある。例えば上述の昼光センサ付照明システムの場合には太陽が光を発信するが、同時に熱も発している。このことは例えば、昼光センサ付照明システムに人体検知などを目的とした熱センサを付加した場合、太陽光の影響で人体を誤認識する可能性があるなどのように、システム設計者が意図していない情報伝達が行われる可能性があることと、それによって組み込みシステムの設計が困難なものになっている事実を表している。ここで情報発信者10、情報受信者11、情報フローパス12が夫々物理的な存在であるため、夫々が持つ記号15或いは15’、シンタクス16或いは16’やセマンティクス17或いは17’というオブジェクトが存在することになる。
【0029】
さて上述した概念モデルは非正常系仕様の設定において考慮すべき事項が直観的に記述できる必要があるが、上述した1)~7)の事項の内4)~7)については非正常現象を検知する、或いは除去や代替手段などの処理に対する事項であるため、概念モデルの記述範囲には含まれないものの、1)~3)の事項については、以下のように捉えることで記述できる。
1)パッケージ系ソフトと組み込みソフトでは、非正常現象発生の主要なトリガが異なる
図7の概念モデルは周辺環境を含めたモデルになっているため、情報発信者10や情報フローパス妨害者18として周辺環境に存在するインスタンスを選択することで記述可能である。
2)実装技術によって発生する非正常系が決まる
情報発信者10や情報受信者11、情報変換ポイント13における実装技術は、それらが情報フローパス12上で用いるキャリア14の種類や性質を決定する。これらをキーとして以下のように記述することができる。
【0030】
なりすましの情報発信者は、本来の情報発信者と同じキャリア14を用い、同じ情報フローパス12と関連を持つ別の情報発信者である
情報フローパス妨害者18は、情報発信者と同じキャリア14に対して妨害を行うことができ、同じ情報フローパス12と関連を持つ存在である。
【0031】
情報変換ポイント13の例外は、情報変換ポイント13がシステム上で用いるキャリア14について、その解釈を変化させうる可能性のあるものを例外要因19とすることで記述可能である。
【0032】
ここで図8に上記モデルを用いて太陽から発信された光が昼光センサ3を通じてソフトウェア内で昼と解釈されるまでの情報伝達過程に関するインスタンス図を、また図9には上述した3種類の非正常現象に対応したインスタンス図を記述した例を示す。
【0033】
図8では光量、電圧、0/1がキャリアを、空間、導線(後述する銅線)、論理過程が情報フローパスとなり、太陽が昼光センサ3に対する情報発信者、昼光センサ3がCPU部5に対する情報変換ポイント、CPU部5がソフトウェア30に対する情報変換ポイントとなり、最終的にソフトウェア30が情報受信者となり、太陽、昼光センサ3,CPU部5,ソフトウェア30の縦方向の要素が上から、記号、シンタクス、セマンティクスに対応する。
【0034】
図9(a)~(d)は事例の昼光センサ付照明システムにおいて太陽から発信された光が昼光センサ3を通じて組み込みソフト内で昼と解釈されるまでの情報伝達過程に関するインスタンス図を示す。
【0035】
図9(a)及び図9(d)は上述したなりすましの記述例を示しており、光量がキャリア14に、ヘッドライトが情報発信者10に、空間が情報フローパス12に、昼光センサ3が情報受信者11に相当し、ヘッドライトがなりすましの情報発信者10に夫々相当し、ヘッドライトの光量は多いので、昼光センサ3では閾値より多い光量を受光することになり、この閾値より多い光量に基づいて明るいと判断される。つまり太陽が出ていない夜間において昼間と判断されてしまうという非正常現象である。また、図9(d)においてはシステム自身の出力である照明の光が原因の場合を示し、太陽が出てない夜間において自身の出力が昼光センサ3の閾値より多い光量の場合、昼光センサ3では閾値より多い光量を受光することになり、この閾値より多い光量に基づいて明るいと判断される。つまり太陽が出ていない夜の環境では昼光センサ3の受光する光量は閾値より少なく、この閾値より少ない光量に基づいて暗いと判断されるべきところ、自身の出力である照明の光が出ていない夜間において昼間と判断されてしまうという非正常現象である。
【0036】
図9(b)は情報フローパス12での妨害の記述例を示しており、光量がキャリア14に、木の葉が図7の情報フローパス妨害者15に、太陽が情報発信者10に、空間が情報フローパス12に、昼光センサ3が情報受信者11に夫々相当し、この場合空間に木の葉が存在することで、昼光センサ3が太陽から受光する光量が減少し、閾値より少ない光量となり、この閾値より少ない光量に基づいて暗いと判断される。つまり昼間において夜間と判断されてしまうという非正常現象となる。
【0037】
図9(c)は情報変換ポイント13の例外の記述例を示しており、光量がキャリア14に、太陽が情報発信者10に、空間が情報フローパス12に、昼光センサ3が情報変換ポイント13に、経年変化が図7の例外要因19に夫々相当し、この場合昼光センサ3が太陽から受光する光量が経年劣化により閾値より少ない光量となり、この閾値より少ない光量に基づいて暗いと判断される。つまり昼間において夜間と判断されてしまうという非正常現象となる。
3)非正常現象が別の非正常現象の原因となる
非正常現象の発生箇所を情報発信者、または情報変換ポイントとみなし、非正常現象の結果発生した情報がキャリアによって次の非正常現象発生箇所である情報変換ポイント、または情報受信者に到達するもの、とみなすことで記述可能である。
【0038】
以上のように、図7で示した非正常系概念モデルは、非正常系仕様の記述において考慮すべき項目のうち非正常現象に直接関与する項目について記述が可能である。
【0039】
このような概念モデルに基づいて実現したのが本発明のソフトウェア開発支援システムであり、このソフトウェア開発支援システムを実施形態により説明する。
【0040】
(実施形態1)
図1は本実施形態のハードウェア構成を示しており、図示するソフトウェア開発支援システムAは開発対象ソフトウェアを用いるハードウェア要件、機能仕様、動作環境を含む開発対象のソフトウェアに関連する特徴情報の入力をユーザーから受け付ける入力手段20a及びソフトウェア開発者であるユーザーに情報を提示する出力手段20bを備えたユーザーインターフェース部20と、特徴情報とこの特徴情報に関連する異常事象(上述した例外要因となる事象を含む)たる非正常現象との関連、各非正常現象間の関連、非正常現象に対応した処理内容を含むデータに基づいて構築された記憶装置内のデータベース21と、ユーザーインターフェース部20により受け付けた前記特徴のデータに基づいて前記データベース21に格納している対応データを検索し、当該開発対象ソフトウェアに対して考慮すべき非正常事象を獲得してこれら獲得した事象に基づいた仕様の生成を行うとともに、生成した仕様と前記ユーザーインターフェース部20で受け付けた前記特徴が示す仕様とを合成してソフトウェアの仕様を得、前記ユーザーインターフェース部の出力手段20bを介して提示する演算処理部22とから構成される。
【0041】
ここで出力手段20bはモニタ装置等の表示装置(及び印字装置)が用いられ、入力手段20aは表示装置での表示画面を用いたGUI(ポインティングデバイスの利用)やキーボードから構成される。
【0042】
またデータベース21には上述した分析や概念モデルに基づいて作成した利用キャリア対応テーブル(図2(a)参照)、情報受信者例外種別テーブル(図2()参照)、情報フローパス妨害例テーブル(図2()参照)を格納している。利用キャリア対応テーブルは上述した情報受信者、情報発信者、情報フローパスを伝達者種別とし、夫々の名称と、キャリアとを関連付けて記述している。また受信者例外種別テーブルは、情報受信者の種別毎に例外要因の種別と、影響を受けるキャリアと、影響内容を関連付けて記述している。更に情報フローパス妨害例テーブルは、情報フローパスの種別毎に妨害例、影響を受けるキャリア、影響内容を関連付けて記述している。図2で示す各テーブル例は上述した昼光センサ付照明システムの事例に対応させたものであるが、勿論各種組み込みシステムを考慮して当該テーブルが作成されるのは言うまでもない。
【0043】
次に本実施形態の使用について図3の処理の流れを示す概念的システム図を用いて説明する。
【0044】
まずソフトウェア開発者であるユーザーはユーザーインターフェース部20の入力手段20aを用いて開発対象となるソフトウェアを用いるハードウェア要件、ソフトウェアの機能仕様、動作環境を含むソフトウェアの特徴情報(正常仕様)を入力する。
【0045】
具体的には次の情報を入力する。
1)使用ハード:
ソフトウェアを用いるシステムで使用するハードウェアを記述する。
2)利用環境:
ソフトウェアを用いるシステムがどのような場所で利用されるかを記述する。つまりそのシステムが環境から受けうる影響を検索するための情報である。
3)入力:
ソフトウェアを用いるシステムに対して、どのハードウェアを経由して入力がなされるか、入力をどのように区別しているかを記述する。つまりシステムが想定している入力を、想定外の入力(誤操作・ノイズなど)と区別するための情報である。
4)出力:
ソフトウェアを用いるシステムが、どのハードウェアを経由して出力を行うか、出力はどのように区別されるかを記述する。つまりシステムが想定している出力を、想定外の出力(騒音・異常データ等)と区別するための情報である。
5)構成:
使用ハードがどのように接続されているか、またそれらの間はどのようなキャリア(情報を伝える媒体)で結び付けられているか。記述順としては左側が情報発信者で、真中がその間の情報フローパス、右側が情報受信者で、最後にかっこ書き内にキャリアを表す。
【0046】
ここで図6に示す昼光センサ付照明システムに組み込むソフトウェアについて本実施形態を用いて仕様決定の支援を受ける場合を例とすると、ユーザーたるソフトウェア開発者は開発対象となるソフトウェアの特徴情報を上述の1)~5)の項目に対応する情報を次のように入力する。
【0047】
1)使用ハード:昼光センサ、照明回路制御、タイマ、CPU部
2)利用環境 :一般屋外
3)入力:昼光センサ(光量:大/小)、タイマ(時間経過:パルス)
4)出力:照明回路(光量:点灯/消灯)
5)構成:昼光センサ→銅線→CPU部(電圧)
タイマ→銅線→CPU部(電圧)
CPU部→銅線→タイマ(電圧)
<※これはタイマリセットの場合を示す>
CPU部→銅線→照明回路(電圧)
昼夜一般屋外→昼光センサ(光量)
*→*タイマ(時間経過)
<*は特定の情報発信者やキャリアを特に持たない場合を示す。>
照明回路→一般屋外→人間(光量)
このようにして入力手段20aを用いて情報入力を終了すると、ユーザーは演算処理部21に入力確定の指示を入力手段20aから与える演算処理部21は、非正常仕様導出処理S1を開始する。つまり非正常現象についてデータベース22のテーブルから検索する処理を開始する。
【0048】
ここで演算処理部21は「構成」の記述中、昼夜一般屋外→光センサ(光量)の記述に着目し、まず「なりすまし」の検出を行う。この場合、入力特徴情報「構成」に記述した各レコードに対して、キャリア(入力例では光量)をキーとし、伝達者種別が「発信者」であるようなレコードを、データベース22に格納されている図2(a)に示す利用キャリア対応テーブルから検索する。ここでは、「太陽」、「ヘッドライト」、「懐中電灯」、「ネオンサイン」が検索されることになる。これら検索されたレコードはシステムに対して本来の昼夜情報とは違う情報を与える可能性のある情報発信者に対応する。
【0049】
更に演算処理部21は、「出力」の照明回路(光量)の記述に着目し、これを伝達者種別が「発信者」であるようなデータベース22に格納されている利用キャリア対応テーブル内のレコードと同様に「なりすまし」検出の対象として扱う。その場合、システムの出力コードの内容において、情報伝達者種別は「情報発信者」、名称は「自身の出力」、キャリアは入力特徴情報「出力」に記載された「光量」として扱う。
【0050】
次に、「情報フローパス妨害」の検出を行う。この場合入力特徴情報の「構成」に記述された各レコードに対して、情報フローパス(入力例では一般屋外)とキャリアをキーとして、データベース22に格納されている図2(b)に示すフローパス妨害例テーブルを検索する。
【0051】
ここでは、「光を遮る障害物」が検索される。この「光を遮る障害物」がシステムに対して与えられるべき情報を妨害する可能性のあるものである。
【0052】
次に「情報受信者例外」の検出を行う。つまり、情報受信者が受け取ったキャリアの解釈の仕方を誤ってしまうことによって、情報を誤解するタイプの異常事象(例外事象)を検出する。この場合入力特徴情報の「構成」に記述された各レコードに対して、受信者(上の例では昼光センサ3)とキャリアをキーとして、データベース22に格納されている図2(c)に示す情報受信者例外種別テーブルを検索する。ここでは、「受光感度変化」が検索される。この「受光感度変化」が情報受信者である昼光センサ3において、情報を誤解してしまう可能性として考慮すべき事項である。
【0053】
このようにして3つの非正常現象についての関連情報を検索して当該ソフトウェアに対して考慮すべき非正常現象(異常事象)を取得した演算処理部21では、この取得した非正常現象に基づいた非正常仕様を生成し(S2)、この生成した非正常仕様とユーザーが入力した特徴情報に含まれている正常仕様とを合成する処理を行い(S3)、この合成よって得られた開発対象のソフトウェア(システム)の全体仕様内容をユーザーインターフェース部20の出力手段20bを通じてユーザーに提示する(S4)。ユーザーはこの提示された仕様を開発しようとするソフトウェアの作成に反映させることで、ユーザーが特に様々な非正常現象について知らなくても、トラブルを起こさないソフトウェアを作成することができることになる。
【0054】
尚図3は上記処理の流れを概念的に示したシステム構成図であり、この図に示すように演算処理部20は正常仕様を特徴情報として入力手段20aから受け取ると、データベース21の各テーブルの検索により非正常仕様の導出処理S1を行い、この導出処理S1から非正常仕様作成S2、正常仕様と非正常仕様による仕様合成処理S3を経て出力手段20bによる全体仕様提示S4の処理を順次行うのである。
(実施形態2)
上記実施形態1では非正常現象を反映させた全体仕様をソフトウェア開発者に提示するものであったが、本実施形態では演算処理部21に非正常現象の要因と現象発生に至るプロセスの分析を行うことにより、状態とイベントとのマトリクスを作成し、該マトリクスをユーザーインターフェース部20の出力手段20bよりソフトウェア開発者に提示する分析機能をも備えている点に特徴がある。
【0055】
次に本実施形態の分析機能を実現するに至るまでに、本発明者らが上述したような非正常現象を引き起こす要因等について考察した結果を簡単に説明する。
【0056】
まず非正常現象を引き起こす要因は、外部或いは内部の発生事象であり、直接のシステムだけでなく、システムを取り巻く環境も考える必要がある。これらの挙動を分析することにより、非正常現象の特性が把握でき、それによる障害影響を最小にすることができる。そのためには、まず外部に起因する非正常系の一次要因の抽出を抜け漏れなく行うことが必要であり、そのための仕組みを作る必要がある。一次要因の一例として、環境、機構、回路、施工、運用、処理等の項目がある。一方過去の経験がない新たなシステムの非正常系の要因を抽出するためには、抽象化した視点からの分析が必要であり、非正常系の要因から発生する現象を、ソフトウェア処理視点から見た非正常系の要因としては、情報の意味、情報の量、情報の時間、情報の構成、情報の対象、情報の状態等がある。
【0057】
また状態の組み合わせによる非正常現象の発生もある。例えば携帯電話が鳴ること、車を運転していることはそれぞれ問題ではないが、前の車が急停車するという非正常な状態で、たまたま運転中であり、かつ携帯電話が鳴りだした場合にのみ、気を携帯電話にそらしてしまい、ブレーキへの対応が遅れ事故が発生する。このように、非正常系が要因となるが、他の特殊な状態と組み合わさった場合のみ障害が発生する。このため、組み合わせを充分配慮しないと検討もれが発生する。発生する状況としては、通常の状態で、非正常イベント発生時に非正常事象が生じる場合、非正常状態で、通常のイベント発生時に非正常事象が生じる場合、非正常状態で、非正常イベント発生時に非正常事象が生じる3つの場合があるため、非正常系の分析には、正常なイベント、正常な状態、非正常なイベント、非正常な状態を組み合わせて分析する必要がある。
【0058】
更に非正常現象は、上述したような一次要因から連鎖的に生じることもあるが、このプロセスを分析することにより抜けのない非正常現系の抽出が可能になる。
【0059】
また非正常現象の分析としてタイミングによる問題も重要な課題として取り上げなければならない。タイミングに関して、障害要因を分類すると、競合や衝突、リソース不足、状態等の遷移中や処理中による不安定期間に分類できる。
【0060】
そして非正常現象への対応は、一次的な非正常系で対応できれば連鎖を考える必要がないが、連鎖したプロセスの過程でしか対応できない場合も多い。例えば、煙感知器による火災判断の場合、火災の煙以外にタバコの煙による誤作動の可能性がある。煙センサからの入力としてはフィルタリングできないが、アプリケーションレベルでは、例えば、部屋の人感センサが煙発生以前から点灯している、部屋の電気鍵が開けられている、部屋の照明が点灯している、火災の熱検知器は作動していないといったことから煙による火災検知の誤報をフィルタリングできる。このため、非正常系の最も効率が高くかつ確実に対応するためには、非正常系の障害へのプロセスを分析し、全体的な視点から対策を施すことが重要となってくる。
【0061】
さて組み込みシステムでの障害(非正常現象)の分析は、前述したように一次非正常要因、組み合わせ、連鎖といった非正常系から障害へのプロセス分析を必要とする。
【0062】
このような結果から、状態とイベントによりシステムの動きを網羅的にとらえることで、ソフトウェアの挙動を設計していくことができる分かった。そこで非正常現象(障害)の分析としての非正常系分析手法として、状態遷移表を分析段階に拡張し、イベントと状態のマトリクスよる分析が可能であると考えて実現したのが本実施形態の演算処理部21での分析機能である。
【0063】
まず分析機能は、分析段階で概念的な抽象状態(正常系)と抽象イベント(正常系)をその対象とし抽出する機能と、システムの環境や構成要因から、外部の非正常要因を検討することにより、一次的な非正常イベントを抽出する機能を備えており、これにより、状態とイベント(正常、一次非正常)の表を作成する。
【0064】
次にこの表のマトリクス部分に注目していくことにより、組み合わせにより連鎖的に発生する非正常系を抽出する機能を備えている。ここでの非正常系は、回避処理により影響を受けないようにできる場合とできない場合があるが、できない場合は、分析機能は、二次的非正常系の状態やイベントとして新たに追加し、これをマトリクス部分の状態やイベントの項目に追加してマトリクスを拡張する処理を行う。これを続けていった場合、ある障害可能性に対し、回避処理により防ぐことができるか、障害を受け入れざるを得ない状態になり、それ以上新たな非正常系がなくなった時点で非正常系の抽出が完了する。
【0065】
図4は本実施形態の演算処理部21が備えている分析機能により非正常分析のためのマトリクスの作成の概要を示しており、図示する(1)の段階では一次非正常イベントの作成の段階に対応し、この段階では開発しようとするソフトウェアを用いるシステムの構成要件と機能、運用状態を分析し、これにより正常イベントの抽出を行った後、一次非正常イベントの抽出を行う。この場合外部からの一次非正常系イベントの抽出に対して、非正常系の要因から抽出する方法と、システムのCPU部から見た非正常系の項目と照らし合わせて抽出する方法がある。非正常系の要因としては、上述した非正常系の要因である環境、機構、回路、施工、運用、処理といった要因のリスト(これは図1でのデータベースに格納しているものとする)と、システム構成のマトリクスから一次非正常イベントを抽出する。また、ソフトウェア処理からの要因項目としても、同様にシステム構成要素と要因とのマトリクスから抽出する。
【0066】
次の(2)の段階は初期の非正常分析マトリクスを作成する段階であって、(1)の段階で得られた正常、一次非正常イベント、正常状態から初期の非正常分析マトリクス表を作成する。また(3)の段階は新たな非正常系の抽出の段階であって、各イベントと状態の交点での挙動を検討し、新たな非正常系の発生可能性を検討する。交点があり得ないもの、新たな非正常系が発生しないものは、マトリクスの当該欄対して網掛け等の検討済みのマークを行い、処理は記述しない。次の(4)の段階は抽出した非正常系の分析を行う段階であって、非正常系が発生する可能性がある場合、その検出方法と回避方法の検討を行う。そのために新たな処理機能を追加し、その処理機能により新たな状態が発生する場合や発生する可能性のある非正常系を回避できない場合には新たな非正常系状態と非正常系イベントが発生することになり、そのため状態とイベントの交点には発生する非正常系を、また非正常系の回避が可能であって処理することが妥当な場合には、その検出方法を、検出した非正常系の回避方法を記入する処理を行う。(5)の段階は非正常系イベントと状態の展開を行う段階で()の段階で抽出できた非正常系に対して、回避処理が行え、外部に影響を全く発生させない場合は、新たな非正常イベントとし、非正常状態は発生しない。また回避処理を行っても非正常の影響を与える場合は、新たな状態或いはイベントとし、マトリクスに追加拡張する。これにより新たに拡張した非正常系の状態とイベントは、正常系や、抽出済みの他の非正常系との相互作用により、更に次の非正常系の可能性について分析する。非正常処理機能を考える場合、その発生方法を理解し、それに応じた対応を取らなければならないため、連鎖している状況をマトリクスから逆にトレースする。そして(5)の段階で展開した状態やイベントに、どのイベントと状態により発生したかを連鎖コードとして、イベント或いは状態項目の欄に記入する。
【0067】
このようにして最終的に次の段階(6)で非正常分析マトリクスからなる表が完成することになる。この場合すべての交点から新たな非正常系の抽出がない、対応できない、必要がなく運用等でカバーできるといった展開できなくなるまで分析を行う。
【0068】
そしてこの完成したマトリクスからなる表を出力手段2bによりソフトウェア開発者に提示することで、状態とイベント発生の関係が一目で分かることになる。尚マトリクスの表に記述された、非正常系と検出方法、対応方法を表に記述し、非正常系処理要件としてまとめる処理も本実施形態の演算処理部21の分類機能を備えている。
【0069】
次に図6に示す昼光センサ付照明システムの事例に基づいて説明する。まず図1のソフトウェア開発支援システムで本実施形態におけるマトリクスを用いる分析機能を働かせるためには、上述した特徴情報以外に予めユーザーインターフェース部20の入力手段20aを用いてソフトウェアを組み込むシステムの状態情報と、イベントの情報を
初期:初期化処理中
昼の処理中(光量=大)
夜の処理中(光量=小)
と記述して入力する。
【0070】
そして入力が終了して分析の指示を与えると演算処理部21は分析機能を働かせて上述した(1)~(6)の段階に基づいた処理を行う。
【0071】
演算処理部21は昼光センサ3の構成であるケース、センサ回路、処理機能に対して、障害要因と照らし合わせながら、初期状態の一次非正常イベントとして、早朝・夕方、街路樹の陰、汚れ・経年劣化、車のヘッドライト、ノイズ、停電・リセット、昼光センサ3の故障を抽出する。図5のマトリクス表では、状態コードとしてA、B、で表し、イベントコードとして1、2、で表す。またマトリクスの交点を、例えばA5のように示す。状態とイベントの各下には連鎖コードとして、どのマトリクスの交点から新たな状態やイベントとして展開したかを記している。各交点には3行あり、上から発生しうる非正常系、検出方法、対策方法として記している。実際には詳しく記すが表の見易さのために簡略化している。
【0072】
そして図5では状態としてのAからE、イベントとしての1から9のマトリクスの部分が、初期状態の昼光センサ3の処理に関するマトリクスとして作成した部分となる。
【0073】
そして初期状態のマトリクスを作成した後、マトリクスの展開を行う処理に入る。ここで、B7の電気的ノイズにより、昼光センサ3のセンサ回路に誤動作を与え、アナログ/デジタル変換ミスにより入力値が一時的に変化してしまう可能性がある。また、D4の太陽光が街路樹の影になる場合、木の葉の風による揺らぎや枝、幹など遮り方を配慮する必要がある。更にE6の車のヘッドライトを受光した場合、センサ入力値が一時的に変化する。昼光センサ3のセンサ回路の故障により昼光センサ3の出力値が発振した場合も考慮する必要があり、それらの要因による照明ちらつき防止のため、平均値処理によるノイズ除去を追加する必要があり、そこでその処理をFとして付け加える。
【0074】
またF4、G4、F6、G6のように回避処理からではすべての昼光センサ3の出力値の読み間違えを回避することは不可能であり、昼光センサ3の出力値の誤入力イベントとして12を加える。またD3、E3の早朝・夕方では、昼光センサ3が昼と夜の判断付近でセンサオン、オフの判断変化を繰り返し、照明がちらつく可能性があるため、充分照度が低下して昼光センサ3をオフに、充分照度が高くなってからオン処理を行う必要がある。このため、その間の照度での処理をGに展開する。A5、B5のケースの汚れやセンサ回路の経年劣化から、センサ入力値が低下していくことになり、非正常系イベントとして11を付け加える。更にD11では、昼光センサ3が劣化した場合、昼の判断処理が経年的にずれてくるため、一日の最大値と最小値を計算し、それから昼と夜の判定レベルを計算し、動的に変化させることにより劣化や汚れに強いシステムとなるため、この処理をHに追加する。また、センサ入力値の絶対値が小さくなっており、問題が発生する可能性があるため、この状態をIに追加する。B9の昼光センサ3のセンサ回路故障時では、あり得ない値になるか、値が固定になるか、発振する。発振に対する対応は、F、その他の故障判断処理を追加してJとし、昼光センサ3の故障判断したというイベントを13に追加する。また、これらの判断ができない場合は、センサ値を読み間違えるため、12にも展開する。D12、E12では、ノイズ等の除去ができなかったセンサ入力エラーのため、誤動作する可能性があるが、最悪でも短時間に照明がちらつくことがないように変化判断後一定時間は判断を変えない処理を付け加え、Kに展開する。J4では、センサ故障判断中に街路樹の木の葉の揺れで太陽光が遮られることが同時に発生した場合を考える必要があり、実験などにより適切なアルゴリズムを考える必要がある。I4では、昼光センサ3が汚れてセンサの絶対値が低下している状態で、街路樹による太陽光の遮りは全体レベルが低下しているため、通常は問題ないが、受光部が平面でなく突起しているなどむらのある汚れ方をしている場合、その方向によって影響を受けてしまう可能性がある。これについては、受光部がむらのある汚れをしないような構造にしなければならない。H8の瞬時停電があった場合、前日までの平均値処理がリセットされるため、経年劣化が進んでいる場合、昼夜の判断レベルが一日間行えない。また、G8の停電リセット状態で、Fの昼夜判定レベルの中間にあった場合、判定ができないため、不定とする。C13の昼光センサ3の故障認識状態で、初期化処理が発生した場合、故障認識がリセットされ、センサ判断を誤る可能性があるため、初期処理時にセンサ判断処理を加えることにより誤動作を回避する。
【0075】
以上の処理を演算処理部12の分析機能が検討し、図5に示す昼光センサ3の非正常分析マトリクスを生成するのである。この生成したマトリクスは出力手段20bを通じて開発者に提示する。
【0076】
尚図5より昼光センサ3の非正常系仕様要求要件を整理し、
(I)早朝・夕方の照明のちらつきを防止するために、昼光センサ3のオンの判定レベルとオフの判定レベルに充分幅を持たせ、一旦昼と判断した場合、充分暗くならないと夜と判断しないようにする。
(II)街路樹などの陰、電気的ノイズ、ヘッドライト、センサ故障時の発振に、できる限り誤動作しないセンサ平均化処理を組み込む。
(III)センサ受光部の汚れ、センサ回路の経年劣化に対応するため、一日の変化を記録し、昼と夜の判断レベルを変化させる。停電・リセット時にはデータが消えるため、規定値に戻し一日は補正が効かない仕様とする。
(IV)初期化処理時と常時定期的にセンサ故障判定を行う。センサ故障時は、センサ値を不定値として扱う。
(V)平均値処理時には、太陽光の街路樹による遮りが発生するが、判定レベルには問題ないよう配慮する。
(VI)センサ判断は環境により確実ではないため、最悪照明のちらつきが発生しないようにセンサ判断変化後一定時間は再変化させない。
(VII)センサ故障判断処理については、街路樹の陰など、値が連続的に大きく変化する環境もあるため、実験しアルゴリズムを定める。
【0077】
という内容を記述した非正常要求仕様要件表を作成して出力手段20bを通じて提示する処理も行う。
【0078】
このようにして作成された図5に示すマトリクスの表を状況説明資料として用いることができるため、きめ細かい処理を行うソフトウェアを作成することが可能となる。また、システム評価段階で、非正常系仕様抽出の資料として、非正常系の試験を抜けなく実施し確認することが可能となるのである。
【図面の簡単な説明】
【0079】
【図1】実施形態1のシステム構成図である。
【図2】(a)~(c)は実施形態1のデータベースに格納されているテーブルの構成図である。
【図3】実施形態1の概念的なシステム図である。
【図4】実施形態2の分析機能の処理段階の説明図である。
【図5】実施形態2で生成されるマトリクスの説明図である。
【図6】非正常現象の分析に用いた事例の構成を示し、(a)は昼光センサ付照明システムの側面図、(b)は回路構成図である。
【図7】非正常系概念モデルの説明図である。
【図8】昼光センサ付照明システムの事例における情報伝達過程に関するインスタンス図である。
【図9】昼光センサ付照明システムの事例における非正常現象発生に対応したモデルにおけるインスタンス図である。
【符号の説明】
【0080】
A ソフトウェア開発支援システム
20 ユーザーインターフェース部
20a 入力手段
20b 出力手段
21 演算処理部
22 記憶部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8