UI設計検証装置及び方法
【課題】 UMLのような図式表記で表現された製品のUI挙動仕様を自動的に検証できるUI設計検証装置を提供する。
【解決手段】 この発明のUI設計検証装置は、表明変換用公理群を保持する表明変換用公理データベース5と、検証用公理群を保持する検証用公理データベース6と、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部1と、入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部2と、表明変換用公理が適用された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部3と、検証用公理適用部にて検証した結果を出力する検証結果出力部4とを備えている。
【解決手段】 この発明のUI設計検証装置は、表明変換用公理群を保持する表明変換用公理データベース5と、検証用公理群を保持する検証用公理データベース6と、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部1と、入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部2と、表明変換用公理が適用された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部3と、検証用公理適用部にて検証した結果を出力する検証結果出力部4とを備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、UI挙動を検証するためのUI設計検証装置及び方法に関する。
【背景技術】
【0002】
本発明は、小型電子機器のユーザインターフェース設計の初期段階を対象としている。携帯電話が典型的な例であるが、その新機種は数ヶ月毎に発売され、開発作業と開発コスト回収も同じ期間でなされなくてはならない。そのため設計初期段階と引き続くファームウェア開発には、密接した連携が必要となる。
【0003】
設計初期段階では、例えばe−SIM社製(イスラエル)のRapidPLUS(商品名)のようなプロトタイプ作成用のソフトウェアが用いられることがある。これらのソフトウェアはデモ用のアニメーションを生成することに主眼が置かれている。これは、デザイナーの興味がシステムの分析ではなく、製品形状と操作感覚に注がれることが多いためである。しかしながら、開発の視点から見ると、これらのプロトタイプ作成用ソフトウェアには2つの問題点がある。第1の問題点は、初期設計に続く開発作業のためのデータの共有と再利用の観点が欠けていることであり、第2の問題点は、質的な分析に対しての必要性が認識されていないことである。
【0004】
したがって、ほとんどのプロトタイプ作成用ソフトウェアでは、自身のデータをデータ共有、再利用、質的分析のためのデータをエキスポートすることができない。さらにほとんどの製品仕様は、例えば、Microsoft Word(商品名)で作成された文書のようなテキスト形式で書かれることが多く、形式的な表現ではないために自動的な検証を行うことはできない。よって設計初期段階においても、検証と再利用のための製品仕様の記述方法が必要であった。
【0005】
また、プロトタイプ作成用ソフトウェアは、システムの振る舞いをアニメーションとして見せることに主眼が置かれている。しかしながら、そのデータは独自仕様であって公開されておらず、またデータ共有のための中間フォーマットなどは用いられていない。このためにデータの検証と再利用が妨げられている。
【0006】
例えば、論文「Harel, D.: "Statecharts: A visual formalism for complex systems"; Science of Computer Programming 8 231-274 North-Holland (1987)」に記載されているプロトタイプ作成用ソフトウェアのように、いくつかのプロトタイプ作成用ソフトウェアでは、自身のデータをStatechartsで出力することができる。またGUIデザイン仕様にStatechartsを用いるソフトウェアも幾つかある(例えば、論文「Horrocks, I.: "Constructing the User Interface with Statecharts"; Addison-Wesley, (1999)」)。Statechartsは、状態遷移機械を表現するためには非常に有効であり、多くのツールが用意されている。
【0007】
しかしながら、Statechartsは図式表記であり、その形式化された表現については幾つかの提案、例えば、論文「Yacoub, S., Ammar, H.: "A Pattern Language of Statecharts"; PLoP-98 Conference (1998)」(非特許文献1)、論文「Costagliola, G. , Deufemia, V., Ferrucci, F. and Gravino, C.: "Implementing Statecharts using Extended Positional Grammars"; VLFM01, Symposium on Visual Languages and Formal Method, (2001)」(非特許文献2)があるが、矛盾したモデル記述を検証できる形式的な記述言語または数学的な表現形式は確立されていない。またStatechartsには、排他的な状態遷移や、同期したイベント及び状態遷移を表現することはできない。
【0008】
状態遷移機械の枠に縛られない概念的なモデルも提案されている。CSCW(Computer−supported Cooperative Work)の分野では、UMLに基づいた記述からCPN(Colored Petri Net)の形式に変換する方法が提案されている(論文「Garrido, J., Gea, M.: "A Coloured Petri Net Formalisation for a UML-Based Notation Applied to Cooperative System Modeling"; Proceeding of 9th International Workshop, DSV-IS (2002)」(非特許文献3))。またこの領域では、論文「van der Veer, G. C., van Welie, M.:"Task Based Groupware Design: Putting theory into practice"; Proc. of Symposium on Designing Interactive Systems (DIS'2000), pp.326-337, (2000)」(非特許文献4)に記載されているGTA(Group Task Analysis)や、論文「Paterno, F.: "Model-based Design and Evaluation on Interactive Applications"; Springer-Verlag, (2000)」(非特許文献5)に記載されているCTT(ConcurTaskTrees)なども提案されている。また、これらの表現形式からペトリネットへと変換する方式(ICO formalism)も提案されている(例えば、論文「Palanque, P., Bastide, R.: "Synergistic modeling on task, users and systems using formal specification techniques"; Interacting with Computers 9, pp.129-153, (1997)」(非特許文献6))。
【非特許文献1】Yacoub, S., Ammar, H.: "A Pattern Language of Statecharts"; PLoP-98 Conference (1998)
【非特許文献2】Costagliola, G., Deufemia, V., Ferrucci, F. and Gravino, C. : Implementing Statecharts using Extended Positional Grammars; VLFM01, Symposium on Visual Languages and Formal Method, (2001)
【非特許文献3】Garrido, J., Gea, M.: "A Coloured Petri Net Formalisation for a UML-Based Notation Applied to Cooperative System Modeling"; Proceeding of 9th International Workshop, DSV-IS (2002)
【非特許文献4】van der Veer, G. C., van Welie, M.: "Task Based Groupware Design: Putting theory into practice"; Proc. of Symposium on Designing Interactive Systems (DIS'2000) , pp.326-337, (2000)
【非特許文献5】Paterno, F.: "Model-based Design and Evaluation on Interactive Applications"; Springer-Verlag, (2000).
【非特許文献6】Palanque, P., Bastide, R. : Synergistic modeling on task, users and systems using formal specification techniques; Interactign with Computers 9, pp.129-153, (1997)
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、上述のような従来技術の問題点に鑑みてなされたものであり、UMLのような図式表記で表現された製品のUI挙動仕様を自動的に検証できるUI設計検証装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
請求項1の発明のUI設計検証装置は、表明変換用公理群を保持する表明変換用公理データベースと、検証用公理群を保持する検証用公理データベースと、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部と、入力された代数表記に対して、前記表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部と、前記表明変換用公理が適用された表明に対して、前記検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部と、前記検証用公理適用部にて検証した結果を出力する検証結果出力部とを備えたものである。
【0011】
請求項2の発明は、請求項1のUI設計検証装置において、前記検証用公理適用部には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部と、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部と、非決定性仕様の公理を適用して検証する第3検証用公理適用部とを備えたことを特徴とするものである。
【0012】
請求項3の発明のUI設計検証方法は、コンピュータを用いて、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する処理と、入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する処理と、作成された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う処理と、検証した結果を出力する処理とを実行するものである。
【0013】
請求項4の発明は、請求項3のUI設計検証方法において、前記検証用公理群の内の該当する公理を適用して表明の検証を行う処理には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1の検証と、階層構造の一貫性についての公理を適用して検証する第2の検証と、非決定性仕様の公理を適用して検証する第3の検証とを含むことを特徴とするものである。
【発明の効果】
【0014】
本発明によれば、図式表記されたUI挙動設計の自動的な検証が可能であり、UI挙動設計の効率化に寄与できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施の形態を図に基づいて詳説する。
図1は本発明の1つの実施の形態のUI設計検証装置の機能ブロック図である。本実施の形態のUI設計検証装置は、Statecharts等の図式表記を代数的表記に変換したその代数表記を入力する代数表記入力部1、入力された代数表記に対して、表明変換用公理データベース5に登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部2、この表明変換用公理が適用された表明に対して、検証用公理データベース6に登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部3、この検証用公理適用部3にて検証した結果を表示し、またプリントアウト等を行う検証結果出力部4から構成されている。
【0016】
検証用公理適用部3には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部3−1、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部3−2、そして非決定性仕様の公理を適用して検証する第3検証用公理適用部3−3を有している。また検証結果出力部4は、第1〜第3検証用公理適用部3−1〜3−3それぞれに対応して完全性、強連結性、状態数の最小性の検証結果を出力する第1検証結果出力部4−1、階層構造の一貫性の検証結果を出力する第2検証結果出力部4−2、そして非決定性仕様の検証結果を出力する第3検証結果出力部4−3を備えている。
【0017】
上記実施の形態のUI設計検証装置によるUI設計検証方法のシーケンスは、図2に示す通りである。まず、Statecharts等の図式表記を代数的表記に変換し(ステップSQ11)、ステップSQ11で変換した代数的表記を表明変換用公理データベース5から該当する表明変換用公理を抽出して適用して表明に変換し(ステップSQ12)、ステップSQ12で変換した表明に検証用公理データベース6から該当する検証用公理を抽出して適用し、その検証結果を出力する(ステップSQ13、SQ14、SQ15)。ステップSQ13は完全性、強連結性、状態数の最小性についての公理の検証であり、ステップSQ14は階層構造の一貫性についての公理の検証であり、ステップSQ15は非決定性仕様の公理の検証である。
【0018】
図3は、本実施の形態の代数的記述と評価の流れのシーケンス図である。図3はIDEF0(アクティビティ・モデリング手法)形式で表現されている。四角い箱はアクティビティを示し、箱に左から入る矢印がアクティビティへの入力を、右側に出る矢印が出力を示している。他に、上から入る矢印が参照用のデータ、下から入る矢印がアクティビティで使用するメカニズムを示す。
【0019】
設計者が作成したデザインを入力としてUIプロトタイプ/シナリオベースのStatechartsを生成し(アクティビティA11)、作成したStatechartsを入力として公理系からデータを参照して公理を適用し(アクティビティA12)、適用した公理を入力として検証用公理系からデータを参照して検証用公理を適用し、検証結果を出力する(アクティビティA13)。
【0020】
本発明では仕様の記述と検証に、製品仕様の数学的な記述表現と公理に基づく代数的な検証方法を用いる。これは、C.A.R Hoareによって提唱され計算機言語のPASCALの意味的な仕様をエミュレートする際に用いられた方法である。その詳しい方法は、論文「C. A. R. Hoare, N. Wirth: "An axiomatic definition of the programming language Pascal"; Acta Information 2, pp.335-355, (1973)」に記載されている。Margrenは、論文「Margren, W.: "Formal Specification of Graphic Data Types"; ACM Transactions on Programming Languages and systems, vol.4, No.4, pp.687-710, (1982)」において、この方法論を2次元グラフィックディスプレイ上の2つの描画画像が等価であるかどうかの証明に用いている。この方法では検証は2つのステージで行われる。始めに代数的に表現された状態遷移機械の仕様から表明が生成される。「表明」とは、内部変数と状態遷移に関する事実の集まりであり、代数式による宣言の集成とも言える。「公理」は論理学的な取り扱いでは「自明の、もしくはあまねく認識されている真実」である。代数仕様と表明の間には1対1の対応関係がある。公理は、代数仕様から表明の変換を定義するルールであり、代数仕様が表明中に残す効果を表現している。全ての代数的仕様を公理によって変換すると、最終的な表明が残される。この作業によって状態遷移機械の数学的な表現が導出される。アクティビティA13では、別の公理の集合が表明に適用されて仕様の検証が行われる。
【0021】
本実施の形態では、UI設計の図式的表記であるStatechartsから導出される基本的な有限状態機械を定義し検証するために、以下の情報を代数表現する。図4に状態遷移機械の代数表現の例を挙げる。「宣言開始」、「状態名宣言」、「イベント名宣言」、「アクション名宣言」、「大域的開始状態宣言」、「状態遷移宣言」、「状態遷移の階層構造定義」等である。状態遷移宣言は開始状態、終了状態、遷移を起動するイベント、同時に実行されるアクションの宣言なども行う。状態遷移の階層構造定義は、開始状態、サブ状態、終了状態、ヒストリインディケータの宣言を含む。階層構造の入れ子や並行サブプロセスなども表現する。
【0022】
また図5に階層構造の代数表現の例を示している。スーパー状態s3については、サブ状態がs5,s6である。このStatechartsに対する代数表現は、同図(b)のように表現する。また、図6に並行動作の代数表現を例示している。複数の階層構造を併記して表現している。同図(a)のStatechartsに対して同図(b)のように代数表現する。
【0023】
以下の説明では、ケーススタディとしてVWC(Visual Wireless Communicator)というデバイスのUI設計検証を例示して説明する。VWCは無線LANを経由して幾つかのリモートカメラを操作し、自身のLDCモニタに映し出す小型の電子機器で、人間が直接行くには危険な作業現場などで有効と考えられる。他には、レジャー用途として非常に見晴らしが良いが一般の観光客が行けないような危険な場所(崖の突端や高層ビルの展望スペースの外側など)にリモートカメラを設置し、観光客がコントロールユニットを制御して自分の記念写真を撮り、撮影した写真を携帯電話に電子メールとして受け取る、といった用途で使われるものである。
【0024】
図7に代数的仕様記述の例を示す。この記述は、ケーススタディとしたVWCの仕様の一部である。それぞれの記述は、名前と引数の組み合わせで表現される。これは入力部1においてユーザーが行う(アクティビティA11)。
【0025】
次に図3におけるアクティビティA12にて行う代数的仕様記述から表明への変換について説明する。始めに、表明変換用公理適用部2において、入力された代数的仕様記述から表明への変換を行う。代数的仕様記述を変換する際には、表明中の変数への代入などが行う。この変換が完了すると、最終的に残された表明が仕様全体を表現している。次に検証用公理適用部3にて、表明に対する検証を行う。この検証では、検証対象とするシステム内部の全ての変数を必要とするわけではなく、2つのステージ(アクティビティA12、A13)で必要とされるものだけを取り扱う。従って表明で表現する変数などは最小限の範囲で取り扱う。
【0026】
図8は、代数的仕様記述から表明への変換の一部を例示している。Ax1とAx2の式は、表明を生成するための公理の例である。図8では、代数“Start( )”を記述の開始の宣言として用いている。この代数に適用される公理Ax1は、有限状態機械を定義する全ての変数の初期化を行う。Ax1を代数式“Start( )”に適用すると、表明のテンプレートとして全ての変数が初期化された空リストの集合が生成される(アクティビティA21)。他の公理では代数式に従って、このリストへ値を代入する形で表明の変換を定義する。
【0027】
Ax2は宣言された状態名を表明中の“stateList”に登録するために用いられる。引数sがatomの場合(状態名が単独で登録される場合)は、その要素のみを含むリストが生成されて、“stateList”と結合される。図8では、下線をつけた状態名が“stateList”に付加されている(アクティビティA22)。ここでは、リスト操作のための一般的な公理が必要なため、2つのステージの両方で利用できるように用意してある。“IsList”と“Union”などの公理はリスト操作用として予め用意してある。
【0028】
表明検証用公理適用部3による表明の検証は、表明をそのままの形式で検証することは不可能なので、検証用の公理のグループをデータベース6に用意している。検証用の公理は、表明を入力として特定の状況を満たしているかどうかを判断するための検証結果を出力する。
【0029】
一般にイベントは自身の名前と引数、以前に実行されたイベントによって累積した結果によりシステムの変数の生成もしくは変更を引き起こす。上記の公理は、イベントに対応して表明を生成するので、全てのイベント系列を表明に変換し、得られた表明をシステムの最終状態の表現とし、本実施の形態ではこれを検証結果として出力する。
【0030】
図9はVWCデバイスのStatechartsを示している。このチャートは、状態遷移のトップレベルを示している。図10には並行サブプロセスの部分を示してある。図9のチャートにおいて、“Power_Off”が初期状態であり、電源が入れられると制御ユニットはリモートカメラをコントロールすることが可能となる。図中のアスタリスク(*)は、並行サブ状態が存在することを示している。
【0031】
用意してある公理には以下の3種類がある。(1)“Start( )”で用いる初期化用公理、(2)代数的表現に1対1に対応して表明を生成するための公理、(3)検証に用いるための公理である。このうち、(1)と(2)の公理を参照して表明を生成するが、これについて説明する。本実施の形態では、代数的仕様記述を関数呼び出しとして使用し表明を生成する。代数的仕様記述は“Start( )”から始まり、その内容に従ってシステムの初期化を行う。表明に含まれて検証で用いられる情報のリストを以下に挙げる。「状態名を列挙したリスト」、「イベント名を列挙したリスト」、「アクション名を列挙したリスト」、「全ての状態遷移を列挙したリスト」、「状態の階層構造に関する定義を列挙したリスト」、「遷移する可能性のある状態のリスト、またそれらの直積集合」、「イベントとアクションの直積集合」である。
【0032】
本実施の形態では、状態遷移機械の検証のために、上記(3)の公理を用いて表明を検証するために、図11に示すような完全性、強連結性、状態数の最小性を検証する第1の検証(ステップSQ13)、図12〜図14に示すような階層構造記述の一貫性と並行状態の記述を検証する第2の検証(ステップSQ14)、そして図15に示すような非決定性問題を検証する第3の検証(ステップSQ15)を実行する。
【0033】
図11に示したように、ステップSQ13の完全性、強連結性、状態数の最小性の検証は次の通りである。
【0034】
[完全性]完全性の検証では、全ての状態から少なくとも一つの他の状態への遷移が存在するかどうかを検証する。このために、公理中では、各々の状態からの遷移が定義されているかどうかを確認する。
【0035】
[強連結性]強連結性の検証では、任意の状態u及びvの間での状態遷移と、その逆の遷移が可能であるかどうかの検証を行う。公理中では、状態名の直積集合を元に、ある状態から他の状態への遷移が可能であるかどうかを探索する。
【0036】
[状態数の最小性]イベントとアクションの組み合わせから決まる最小限の個数の状態遷移を持つべき、同じイベントとアクションの組み合わせで並行した状態遷移が定義されている場合は、状態遷移の設計が不完全で、後述する非決定性問題を起こす可能性がある。このような場合、並行サブ状態などを用いて、イベントとアクションの組み合わせが単一の状態遷移を持つように、遷移の構造を見直す必要がある。そこで、公理では遷移を起こすイベントとアクションの組み合わせの数で検証する。
【0037】
ステップSQ14の階層構造の検証では、図12〜図14に示し、以下に列挙するように細分化された詳細な項目に関して行う。1つめの項目としては、サブ/スーパーの状態の関係(階層構造の定義)が一貫して、ツリー構造となっているか、2つめの項目としては、サブ状態からスーパー状態へ戻る遷移が少なくとも一つ定義されているかどうか。3つめの項目としては、スーパー状態への遷移が定義されているときに、その中で初期状態が宣言されているか、4つめの項目としては、終了状態への遷移が定義されているときに、終了状態に対応する外部の状態が宣言されているかどうか、5つめの項目としては、初期状態/終了状態への直接の遷移が定義されていないかどうか、6つめの項目としては、サブ状態からの遷移が一定の方式に従っているかどうかを検証する。
【0038】
図15に示したように、ステップSQ15の非決定性仕様の検証は、階層構造の中で2つ以上の遷移が、同じイベント/アクションの組み合わせで発生する場合、その仕様は非決定性問題(矛盾した仕様)を含んでいる可能性がある。例えば、同じイベントによって階層構造の外側への遷移と、階層構造の内側での遷移が定義されているような場合である。このような状況を検出するために、本発明では階層構造中での同じイベントによる遷移をチェックし、必要であれば警告を出す。
【0039】
本実施の形態によれば、特定の言語に依存しない特徴がある。また、静的な仕様と動的なイベント系列を入力とした仕様の検証の両方に適用できる特徴もある。さらに、有限状態機械に適用可能な公理の標準的な集合を定義できる特徴もある。
【実施例1】
【0040】
次に、本発明の実施例について説明する。VWCデバイスのUI挙動設計のため図16、図17に示したStatechartsを作成し、これに対して、図18に示す代数表現を作成して入力し、UI挙動の検証実験を実施した。この検証結果は、図19〜図21の検証結果1〜検証結果3に示すものであった。すなわち、図19の検証結果1に示したように、サブ状態のさらに下で「待機中」という同じ状態名が出てくることを発見した。また、図20の検証結果2に示したように、システム全体での初期状態の指定が欠けている点を発見した。つまり、“電源ON”中のどれが初期状態になるかが不明であることを発見した。この場合、四角で囲った「待機中」のサブ状態には開始を示すマークが付加されるべきであるのが、欠落しているのである。さらに、図21の検証結果3に示したように、開始状態として定義された状態への複数の遷移を発見した。これは、他のサブ状態で同じ状態名「待機中」を使っている場合にも起こるものである。
【実施例2】
【0041】
図22、図24に示すようなStatechartsに対して代数表現を作成し、本実施の形態のUI設計検証装置に入力し、非決定性仕様を検証した。その結果として、図23、図25の検証結果を得た。これにより、図22、図23よりサブ状態関係の状態s2とs1からの同一のイベントによる遷移があるので、これを非決定性遷移として警告を発することができることを確認できた。また図24、図25より並行関係中で同一イベントによる外部への遷移がある場合、非決定性遷移として警告を発することが確認できた。
【図面の簡単な説明】
【0042】
【図1】本発明の一つの実施の形態のUI設計検証装置の機能ブロック図。
【図2】上記実施の形態のUI設計検証装置のUI設計検証動作のフローチャート。
【図3】上記実施の形態のUI設計検証装置が実行するUI設計検証動作のフローチャート(IDEF0形式による)。
【図4】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例1の説明図。
【図5】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例2の説明図。
【図6】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例3の説明図。
【図7】上記実施の形態のUI設計検証装置に入力するVWCデバイスのUI設計仕様の代数表現例の説明図。
【図8】上記実施の形態のUI設計検証装置による具体的なUI設計検証動作のフローチャート(IDEF0形式による)。
【図9】上記実施の形態のUI設計検証装置にて検証対象としたVWCデバイスのUI挙動仕様のトップレベルのStatechartsの図。
【図10】上記実施の形態のUI設計検証装置にて検証対象としたVWCデバイスのUI挙動仕様の並行サブプロセスのStatechartsの図。
【図11】上記実施の形態のUI設計検証装置にて検証する第1の検証項目の説明図。
【図12】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その1)。
【図13】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その2)。
【図14】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その3)。
【図15】上記実施の形態のUI設計検証装置にて検証する第3の検証項目の説明図。
【図16】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様のトップレベルのStatechartsの図。
【図17】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様の並行サブプロセスのStatechartsの図。
【図18】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様の代数表現の一部を示す説明図。
【図19】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果1の説明図。
【図20】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果2の説明図。
【図21】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果3の説明図。
【図22】上記実施の形態のUI設計検証装置にて検証対象とした実施例2のUI挙動仕様その1のStatechartsの図。
【図23】上記実施例2のUI挙動仕様その1に対する検証結果の説明図。
【図24】上記実施の形態のUI設計検証装置にて検証対象とした実施例2のUI挙動仕様その2のStatechartsの図。
【図25】上記実施例2のUI挙動仕様その2に対する検証結果の説明図。
【符号の説明】
【0043】
1 代数表記入力部
2 表明変換用公理適用部
3 検証用公理適用部
3−1 第1検証用公理適用部
3−2 第2検証用公理適用部
3−3 第3検証用公理適用部
4 検証結果出力部
4−1 第1検証結果出力部
4−2 第2検証結果出力部
4−3 第3検証結果出力部
5 表明変換用公理データベース
6 検証用公理データベース
【技術分野】
【0001】
本発明は、UI挙動を検証するためのUI設計検証装置及び方法に関する。
【背景技術】
【0002】
本発明は、小型電子機器のユーザインターフェース設計の初期段階を対象としている。携帯電話が典型的な例であるが、その新機種は数ヶ月毎に発売され、開発作業と開発コスト回収も同じ期間でなされなくてはならない。そのため設計初期段階と引き続くファームウェア開発には、密接した連携が必要となる。
【0003】
設計初期段階では、例えばe−SIM社製(イスラエル)のRapidPLUS(商品名)のようなプロトタイプ作成用のソフトウェアが用いられることがある。これらのソフトウェアはデモ用のアニメーションを生成することに主眼が置かれている。これは、デザイナーの興味がシステムの分析ではなく、製品形状と操作感覚に注がれることが多いためである。しかしながら、開発の視点から見ると、これらのプロトタイプ作成用ソフトウェアには2つの問題点がある。第1の問題点は、初期設計に続く開発作業のためのデータの共有と再利用の観点が欠けていることであり、第2の問題点は、質的な分析に対しての必要性が認識されていないことである。
【0004】
したがって、ほとんどのプロトタイプ作成用ソフトウェアでは、自身のデータをデータ共有、再利用、質的分析のためのデータをエキスポートすることができない。さらにほとんどの製品仕様は、例えば、Microsoft Word(商品名)で作成された文書のようなテキスト形式で書かれることが多く、形式的な表現ではないために自動的な検証を行うことはできない。よって設計初期段階においても、検証と再利用のための製品仕様の記述方法が必要であった。
【0005】
また、プロトタイプ作成用ソフトウェアは、システムの振る舞いをアニメーションとして見せることに主眼が置かれている。しかしながら、そのデータは独自仕様であって公開されておらず、またデータ共有のための中間フォーマットなどは用いられていない。このためにデータの検証と再利用が妨げられている。
【0006】
例えば、論文「Harel, D.: "Statecharts: A visual formalism for complex systems"; Science of Computer Programming 8 231-274 North-Holland (1987)」に記載されているプロトタイプ作成用ソフトウェアのように、いくつかのプロトタイプ作成用ソフトウェアでは、自身のデータをStatechartsで出力することができる。またGUIデザイン仕様にStatechartsを用いるソフトウェアも幾つかある(例えば、論文「Horrocks, I.: "Constructing the User Interface with Statecharts"; Addison-Wesley, (1999)」)。Statechartsは、状態遷移機械を表現するためには非常に有効であり、多くのツールが用意されている。
【0007】
しかしながら、Statechartsは図式表記であり、その形式化された表現については幾つかの提案、例えば、論文「Yacoub, S., Ammar, H.: "A Pattern Language of Statecharts"; PLoP-98 Conference (1998)」(非特許文献1)、論文「Costagliola, G. , Deufemia, V., Ferrucci, F. and Gravino, C.: "Implementing Statecharts using Extended Positional Grammars"; VLFM01, Symposium on Visual Languages and Formal Method, (2001)」(非特許文献2)があるが、矛盾したモデル記述を検証できる形式的な記述言語または数学的な表現形式は確立されていない。またStatechartsには、排他的な状態遷移や、同期したイベント及び状態遷移を表現することはできない。
【0008】
状態遷移機械の枠に縛られない概念的なモデルも提案されている。CSCW(Computer−supported Cooperative Work)の分野では、UMLに基づいた記述からCPN(Colored Petri Net)の形式に変換する方法が提案されている(論文「Garrido, J., Gea, M.: "A Coloured Petri Net Formalisation for a UML-Based Notation Applied to Cooperative System Modeling"; Proceeding of 9th International Workshop, DSV-IS (2002)」(非特許文献3))。またこの領域では、論文「van der Veer, G. C., van Welie, M.:"Task Based Groupware Design: Putting theory into practice"; Proc. of Symposium on Designing Interactive Systems (DIS'2000), pp.326-337, (2000)」(非特許文献4)に記載されているGTA(Group Task Analysis)や、論文「Paterno, F.: "Model-based Design and Evaluation on Interactive Applications"; Springer-Verlag, (2000)」(非特許文献5)に記載されているCTT(ConcurTaskTrees)なども提案されている。また、これらの表現形式からペトリネットへと変換する方式(ICO formalism)も提案されている(例えば、論文「Palanque, P., Bastide, R.: "Synergistic modeling on task, users and systems using formal specification techniques"; Interacting with Computers 9, pp.129-153, (1997)」(非特許文献6))。
【非特許文献1】Yacoub, S., Ammar, H.: "A Pattern Language of Statecharts"; PLoP-98 Conference (1998)
【非特許文献2】Costagliola, G., Deufemia, V., Ferrucci, F. and Gravino, C. : Implementing Statecharts using Extended Positional Grammars; VLFM01, Symposium on Visual Languages and Formal Method, (2001)
【非特許文献3】Garrido, J., Gea, M.: "A Coloured Petri Net Formalisation for a UML-Based Notation Applied to Cooperative System Modeling"; Proceeding of 9th International Workshop, DSV-IS (2002)
【非特許文献4】van der Veer, G. C., van Welie, M.: "Task Based Groupware Design: Putting theory into practice"; Proc. of Symposium on Designing Interactive Systems (DIS'2000) , pp.326-337, (2000)
【非特許文献5】Paterno, F.: "Model-based Design and Evaluation on Interactive Applications"; Springer-Verlag, (2000).
【非特許文献6】Palanque, P., Bastide, R. : Synergistic modeling on task, users and systems using formal specification techniques; Interactign with Computers 9, pp.129-153, (1997)
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、上述のような従来技術の問題点に鑑みてなされたものであり、UMLのような図式表記で表現された製品のUI挙動仕様を自動的に検証できるUI設計検証装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
請求項1の発明のUI設計検証装置は、表明変換用公理群を保持する表明変換用公理データベースと、検証用公理群を保持する検証用公理データベースと、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部と、入力された代数表記に対して、前記表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部と、前記表明変換用公理が適用された表明に対して、前記検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部と、前記検証用公理適用部にて検証した結果を出力する検証結果出力部とを備えたものである。
【0011】
請求項2の発明は、請求項1のUI設計検証装置において、前記検証用公理適用部には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部と、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部と、非決定性仕様の公理を適用して検証する第3検証用公理適用部とを備えたことを特徴とするものである。
【0012】
請求項3の発明のUI設計検証方法は、コンピュータを用いて、図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する処理と、入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する処理と、作成された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う処理と、検証した結果を出力する処理とを実行するものである。
【0013】
請求項4の発明は、請求項3のUI設計検証方法において、前記検証用公理群の内の該当する公理を適用して表明の検証を行う処理には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1の検証と、階層構造の一貫性についての公理を適用して検証する第2の検証と、非決定性仕様の公理を適用して検証する第3の検証とを含むことを特徴とするものである。
【発明の効果】
【0014】
本発明によれば、図式表記されたUI挙動設計の自動的な検証が可能であり、UI挙動設計の効率化に寄与できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施の形態を図に基づいて詳説する。
図1は本発明の1つの実施の形態のUI設計検証装置の機能ブロック図である。本実施の形態のUI設計検証装置は、Statecharts等の図式表記を代数的表記に変換したその代数表記を入力する代数表記入力部1、入力された代数表記に対して、表明変換用公理データベース5に登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部2、この表明変換用公理が適用された表明に対して、検証用公理データベース6に登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部3、この検証用公理適用部3にて検証した結果を表示し、またプリントアウト等を行う検証結果出力部4から構成されている。
【0016】
検証用公理適用部3には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部3−1、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部3−2、そして非決定性仕様の公理を適用して検証する第3検証用公理適用部3−3を有している。また検証結果出力部4は、第1〜第3検証用公理適用部3−1〜3−3それぞれに対応して完全性、強連結性、状態数の最小性の検証結果を出力する第1検証結果出力部4−1、階層構造の一貫性の検証結果を出力する第2検証結果出力部4−2、そして非決定性仕様の検証結果を出力する第3検証結果出力部4−3を備えている。
【0017】
上記実施の形態のUI設計検証装置によるUI設計検証方法のシーケンスは、図2に示す通りである。まず、Statecharts等の図式表記を代数的表記に変換し(ステップSQ11)、ステップSQ11で変換した代数的表記を表明変換用公理データベース5から該当する表明変換用公理を抽出して適用して表明に変換し(ステップSQ12)、ステップSQ12で変換した表明に検証用公理データベース6から該当する検証用公理を抽出して適用し、その検証結果を出力する(ステップSQ13、SQ14、SQ15)。ステップSQ13は完全性、強連結性、状態数の最小性についての公理の検証であり、ステップSQ14は階層構造の一貫性についての公理の検証であり、ステップSQ15は非決定性仕様の公理の検証である。
【0018】
図3は、本実施の形態の代数的記述と評価の流れのシーケンス図である。図3はIDEF0(アクティビティ・モデリング手法)形式で表現されている。四角い箱はアクティビティを示し、箱に左から入る矢印がアクティビティへの入力を、右側に出る矢印が出力を示している。他に、上から入る矢印が参照用のデータ、下から入る矢印がアクティビティで使用するメカニズムを示す。
【0019】
設計者が作成したデザインを入力としてUIプロトタイプ/シナリオベースのStatechartsを生成し(アクティビティA11)、作成したStatechartsを入力として公理系からデータを参照して公理を適用し(アクティビティA12)、適用した公理を入力として検証用公理系からデータを参照して検証用公理を適用し、検証結果を出力する(アクティビティA13)。
【0020】
本発明では仕様の記述と検証に、製品仕様の数学的な記述表現と公理に基づく代数的な検証方法を用いる。これは、C.A.R Hoareによって提唱され計算機言語のPASCALの意味的な仕様をエミュレートする際に用いられた方法である。その詳しい方法は、論文「C. A. R. Hoare, N. Wirth: "An axiomatic definition of the programming language Pascal"; Acta Information 2, pp.335-355, (1973)」に記載されている。Margrenは、論文「Margren, W.: "Formal Specification of Graphic Data Types"; ACM Transactions on Programming Languages and systems, vol.4, No.4, pp.687-710, (1982)」において、この方法論を2次元グラフィックディスプレイ上の2つの描画画像が等価であるかどうかの証明に用いている。この方法では検証は2つのステージで行われる。始めに代数的に表現された状態遷移機械の仕様から表明が生成される。「表明」とは、内部変数と状態遷移に関する事実の集まりであり、代数式による宣言の集成とも言える。「公理」は論理学的な取り扱いでは「自明の、もしくはあまねく認識されている真実」である。代数仕様と表明の間には1対1の対応関係がある。公理は、代数仕様から表明の変換を定義するルールであり、代数仕様が表明中に残す効果を表現している。全ての代数的仕様を公理によって変換すると、最終的な表明が残される。この作業によって状態遷移機械の数学的な表現が導出される。アクティビティA13では、別の公理の集合が表明に適用されて仕様の検証が行われる。
【0021】
本実施の形態では、UI設計の図式的表記であるStatechartsから導出される基本的な有限状態機械を定義し検証するために、以下の情報を代数表現する。図4に状態遷移機械の代数表現の例を挙げる。「宣言開始」、「状態名宣言」、「イベント名宣言」、「アクション名宣言」、「大域的開始状態宣言」、「状態遷移宣言」、「状態遷移の階層構造定義」等である。状態遷移宣言は開始状態、終了状態、遷移を起動するイベント、同時に実行されるアクションの宣言なども行う。状態遷移の階層構造定義は、開始状態、サブ状態、終了状態、ヒストリインディケータの宣言を含む。階層構造の入れ子や並行サブプロセスなども表現する。
【0022】
また図5に階層構造の代数表現の例を示している。スーパー状態s3については、サブ状態がs5,s6である。このStatechartsに対する代数表現は、同図(b)のように表現する。また、図6に並行動作の代数表現を例示している。複数の階層構造を併記して表現している。同図(a)のStatechartsに対して同図(b)のように代数表現する。
【0023】
以下の説明では、ケーススタディとしてVWC(Visual Wireless Communicator)というデバイスのUI設計検証を例示して説明する。VWCは無線LANを経由して幾つかのリモートカメラを操作し、自身のLDCモニタに映し出す小型の電子機器で、人間が直接行くには危険な作業現場などで有効と考えられる。他には、レジャー用途として非常に見晴らしが良いが一般の観光客が行けないような危険な場所(崖の突端や高層ビルの展望スペースの外側など)にリモートカメラを設置し、観光客がコントロールユニットを制御して自分の記念写真を撮り、撮影した写真を携帯電話に電子メールとして受け取る、といった用途で使われるものである。
【0024】
図7に代数的仕様記述の例を示す。この記述は、ケーススタディとしたVWCの仕様の一部である。それぞれの記述は、名前と引数の組み合わせで表現される。これは入力部1においてユーザーが行う(アクティビティA11)。
【0025】
次に図3におけるアクティビティA12にて行う代数的仕様記述から表明への変換について説明する。始めに、表明変換用公理適用部2において、入力された代数的仕様記述から表明への変換を行う。代数的仕様記述を変換する際には、表明中の変数への代入などが行う。この変換が完了すると、最終的に残された表明が仕様全体を表現している。次に検証用公理適用部3にて、表明に対する検証を行う。この検証では、検証対象とするシステム内部の全ての変数を必要とするわけではなく、2つのステージ(アクティビティA12、A13)で必要とされるものだけを取り扱う。従って表明で表現する変数などは最小限の範囲で取り扱う。
【0026】
図8は、代数的仕様記述から表明への変換の一部を例示している。Ax1とAx2の式は、表明を生成するための公理の例である。図8では、代数“Start( )”を記述の開始の宣言として用いている。この代数に適用される公理Ax1は、有限状態機械を定義する全ての変数の初期化を行う。Ax1を代数式“Start( )”に適用すると、表明のテンプレートとして全ての変数が初期化された空リストの集合が生成される(アクティビティA21)。他の公理では代数式に従って、このリストへ値を代入する形で表明の変換を定義する。
【0027】
Ax2は宣言された状態名を表明中の“stateList”に登録するために用いられる。引数sがatomの場合(状態名が単独で登録される場合)は、その要素のみを含むリストが生成されて、“stateList”と結合される。図8では、下線をつけた状態名が“stateList”に付加されている(アクティビティA22)。ここでは、リスト操作のための一般的な公理が必要なため、2つのステージの両方で利用できるように用意してある。“IsList”と“Union”などの公理はリスト操作用として予め用意してある。
【0028】
表明検証用公理適用部3による表明の検証は、表明をそのままの形式で検証することは不可能なので、検証用の公理のグループをデータベース6に用意している。検証用の公理は、表明を入力として特定の状況を満たしているかどうかを判断するための検証結果を出力する。
【0029】
一般にイベントは自身の名前と引数、以前に実行されたイベントによって累積した結果によりシステムの変数の生成もしくは変更を引き起こす。上記の公理は、イベントに対応して表明を生成するので、全てのイベント系列を表明に変換し、得られた表明をシステムの最終状態の表現とし、本実施の形態ではこれを検証結果として出力する。
【0030】
図9はVWCデバイスのStatechartsを示している。このチャートは、状態遷移のトップレベルを示している。図10には並行サブプロセスの部分を示してある。図9のチャートにおいて、“Power_Off”が初期状態であり、電源が入れられると制御ユニットはリモートカメラをコントロールすることが可能となる。図中のアスタリスク(*)は、並行サブ状態が存在することを示している。
【0031】
用意してある公理には以下の3種類がある。(1)“Start( )”で用いる初期化用公理、(2)代数的表現に1対1に対応して表明を生成するための公理、(3)検証に用いるための公理である。このうち、(1)と(2)の公理を参照して表明を生成するが、これについて説明する。本実施の形態では、代数的仕様記述を関数呼び出しとして使用し表明を生成する。代数的仕様記述は“Start( )”から始まり、その内容に従ってシステムの初期化を行う。表明に含まれて検証で用いられる情報のリストを以下に挙げる。「状態名を列挙したリスト」、「イベント名を列挙したリスト」、「アクション名を列挙したリスト」、「全ての状態遷移を列挙したリスト」、「状態の階層構造に関する定義を列挙したリスト」、「遷移する可能性のある状態のリスト、またそれらの直積集合」、「イベントとアクションの直積集合」である。
【0032】
本実施の形態では、状態遷移機械の検証のために、上記(3)の公理を用いて表明を検証するために、図11に示すような完全性、強連結性、状態数の最小性を検証する第1の検証(ステップSQ13)、図12〜図14に示すような階層構造記述の一貫性と並行状態の記述を検証する第2の検証(ステップSQ14)、そして図15に示すような非決定性問題を検証する第3の検証(ステップSQ15)を実行する。
【0033】
図11に示したように、ステップSQ13の完全性、強連結性、状態数の最小性の検証は次の通りである。
【0034】
[完全性]完全性の検証では、全ての状態から少なくとも一つの他の状態への遷移が存在するかどうかを検証する。このために、公理中では、各々の状態からの遷移が定義されているかどうかを確認する。
【0035】
[強連結性]強連結性の検証では、任意の状態u及びvの間での状態遷移と、その逆の遷移が可能であるかどうかの検証を行う。公理中では、状態名の直積集合を元に、ある状態から他の状態への遷移が可能であるかどうかを探索する。
【0036】
[状態数の最小性]イベントとアクションの組み合わせから決まる最小限の個数の状態遷移を持つべき、同じイベントとアクションの組み合わせで並行した状態遷移が定義されている場合は、状態遷移の設計が不完全で、後述する非決定性問題を起こす可能性がある。このような場合、並行サブ状態などを用いて、イベントとアクションの組み合わせが単一の状態遷移を持つように、遷移の構造を見直す必要がある。そこで、公理では遷移を起こすイベントとアクションの組み合わせの数で検証する。
【0037】
ステップSQ14の階層構造の検証では、図12〜図14に示し、以下に列挙するように細分化された詳細な項目に関して行う。1つめの項目としては、サブ/スーパーの状態の関係(階層構造の定義)が一貫して、ツリー構造となっているか、2つめの項目としては、サブ状態からスーパー状態へ戻る遷移が少なくとも一つ定義されているかどうか。3つめの項目としては、スーパー状態への遷移が定義されているときに、その中で初期状態が宣言されているか、4つめの項目としては、終了状態への遷移が定義されているときに、終了状態に対応する外部の状態が宣言されているかどうか、5つめの項目としては、初期状態/終了状態への直接の遷移が定義されていないかどうか、6つめの項目としては、サブ状態からの遷移が一定の方式に従っているかどうかを検証する。
【0038】
図15に示したように、ステップSQ15の非決定性仕様の検証は、階層構造の中で2つ以上の遷移が、同じイベント/アクションの組み合わせで発生する場合、その仕様は非決定性問題(矛盾した仕様)を含んでいる可能性がある。例えば、同じイベントによって階層構造の外側への遷移と、階層構造の内側での遷移が定義されているような場合である。このような状況を検出するために、本発明では階層構造中での同じイベントによる遷移をチェックし、必要であれば警告を出す。
【0039】
本実施の形態によれば、特定の言語に依存しない特徴がある。また、静的な仕様と動的なイベント系列を入力とした仕様の検証の両方に適用できる特徴もある。さらに、有限状態機械に適用可能な公理の標準的な集合を定義できる特徴もある。
【実施例1】
【0040】
次に、本発明の実施例について説明する。VWCデバイスのUI挙動設計のため図16、図17に示したStatechartsを作成し、これに対して、図18に示す代数表現を作成して入力し、UI挙動の検証実験を実施した。この検証結果は、図19〜図21の検証結果1〜検証結果3に示すものであった。すなわち、図19の検証結果1に示したように、サブ状態のさらに下で「待機中」という同じ状態名が出てくることを発見した。また、図20の検証結果2に示したように、システム全体での初期状態の指定が欠けている点を発見した。つまり、“電源ON”中のどれが初期状態になるかが不明であることを発見した。この場合、四角で囲った「待機中」のサブ状態には開始を示すマークが付加されるべきであるのが、欠落しているのである。さらに、図21の検証結果3に示したように、開始状態として定義された状態への複数の遷移を発見した。これは、他のサブ状態で同じ状態名「待機中」を使っている場合にも起こるものである。
【実施例2】
【0041】
図22、図24に示すようなStatechartsに対して代数表現を作成し、本実施の形態のUI設計検証装置に入力し、非決定性仕様を検証した。その結果として、図23、図25の検証結果を得た。これにより、図22、図23よりサブ状態関係の状態s2とs1からの同一のイベントによる遷移があるので、これを非決定性遷移として警告を発することができることを確認できた。また図24、図25より並行関係中で同一イベントによる外部への遷移がある場合、非決定性遷移として警告を発することが確認できた。
【図面の簡単な説明】
【0042】
【図1】本発明の一つの実施の形態のUI設計検証装置の機能ブロック図。
【図2】上記実施の形態のUI設計検証装置のUI設計検証動作のフローチャート。
【図3】上記実施の形態のUI設計検証装置が実行するUI設計検証動作のフローチャート(IDEF0形式による)。
【図4】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例1の説明図。
【図5】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例2の説明図。
【図6】上記実施の形態のUI設計検証装置で入力する状態遷移機械の代数表現例3の説明図。
【図7】上記実施の形態のUI設計検証装置に入力するVWCデバイスのUI設計仕様の代数表現例の説明図。
【図8】上記実施の形態のUI設計検証装置による具体的なUI設計検証動作のフローチャート(IDEF0形式による)。
【図9】上記実施の形態のUI設計検証装置にて検証対象としたVWCデバイスのUI挙動仕様のトップレベルのStatechartsの図。
【図10】上記実施の形態のUI設計検証装置にて検証対象としたVWCデバイスのUI挙動仕様の並行サブプロセスのStatechartsの図。
【図11】上記実施の形態のUI設計検証装置にて検証する第1の検証項目の説明図。
【図12】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その1)。
【図13】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その2)。
【図14】上記実施の形態のUI設計検証装置にて検証する第2の検証項目の説明図(その3)。
【図15】上記実施の形態のUI設計検証装置にて検証する第3の検証項目の説明図。
【図16】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様のトップレベルのStatechartsの図。
【図17】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様の並行サブプロセスのStatechartsの図。
【図18】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様の代数表現の一部を示す説明図。
【図19】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果1の説明図。
【図20】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果2の説明図。
【図21】上記実施の形態のUI設計検証装置にて検証対象とした実施例1のVWCデバイスのUI挙動仕様に対する検証結果3の説明図。
【図22】上記実施の形態のUI設計検証装置にて検証対象とした実施例2のUI挙動仕様その1のStatechartsの図。
【図23】上記実施例2のUI挙動仕様その1に対する検証結果の説明図。
【図24】上記実施の形態のUI設計検証装置にて検証対象とした実施例2のUI挙動仕様その2のStatechartsの図。
【図25】上記実施例2のUI挙動仕様その2に対する検証結果の説明図。
【符号の説明】
【0043】
1 代数表記入力部
2 表明変換用公理適用部
3 検証用公理適用部
3−1 第1検証用公理適用部
3−2 第2検証用公理適用部
3−3 第3検証用公理適用部
4 検証結果出力部
4−1 第1検証結果出力部
4−2 第2検証結果出力部
4−3 第3検証結果出力部
5 表明変換用公理データベース
6 検証用公理データベース
【特許請求の範囲】
【請求項1】
表明変換用公理群を保持する表明変換用公理データベースと、
検証用公理群を保持する検証用公理データベースと、
図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部と、
入力された代数表記に対して、前記表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部と、
前記表明変換用公理が適用された表明に対して、前記検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部と、
前記検証用公理適用部にて検証した結果を出力する検証結果出力部とを備えたUI設計検証装置。
【請求項2】
前記検証用公理適用部には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部と、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部と、非決定性仕様の公理を適用して検証する第3検証用公理適用部とを備えたことを特徴とする請求項1に記載のUI設計検証装置。
【請求項3】
コンピュータを用いて、
図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する処理と、
入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する処理と、
作成された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う処理と、
検証した結果を出力する処理とを実行することを特徴とするUI設計検証方法。
【請求項4】
前記検証用公理群の内の該当する公理を適用して表明の検証を行う処理には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1の検証と、階層構造の一貫性についての公理を適用して検証する第2の検証と、非決定性仕様の公理を適用して検証する第3の検証とを含むことを特徴とする請求項3に記載のUI設計検証方法。
【請求項1】
表明変換用公理群を保持する表明変換用公理データベースと、
検証用公理群を保持する検証用公理データベースと、
図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する代数表記入力部と、
入力された代数表記に対して、前記表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する表明変換用公理適用部と、
前記表明変換用公理が適用された表明に対して、前記検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う検証用公理適用部と、
前記検証用公理適用部にて検証した結果を出力する検証結果出力部とを備えたUI設計検証装置。
【請求項2】
前記検証用公理適用部には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1検証用公理適用部と、階層構造の一貫性についての公理を適用して検証する第2検証用公理適用部と、非決定性仕様の公理を適用して検証する第3検証用公理適用部とを備えたことを特徴とする請求項1に記載のUI設計検証装置。
【請求項3】
コンピュータを用いて、
図式表記のUI設計仕様を代数的表記に変換したその代数表記を入力する処理と、
入力された代数表記に対して、表明変換用公理データベースに登録されている表明変換用公理群の内の該当する公理を適用して表明を作成する処理と、
作成された表明に対して、検証用公理データベースに登録されている検証用公理群の内の該当する公理を適用して表明の検証を行う処理と、
検証した結果を出力する処理とを実行することを特徴とするUI設計検証方法。
【請求項4】
前記検証用公理群の内の該当する公理を適用して表明の検証を行う処理には、完全性、強連結性、状態数の最小性についての公理を適用して検証する第1の検証と、階層構造の一貫性についての公理を適用して検証する第2の検証と、非決定性仕様の公理を適用して検証する第3の検証とを含むことを特徴とする請求項3に記載のUI設計検証方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2006−285626(P2006−285626A)
【公開日】平成18年10月19日(2006.10.19)
【国際特許分類】
【出願番号】特願2005−104503(P2005−104503)
【出願日】平成17年3月31日(2005.3.31)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2004年10月6日 ヒューマンインターフェース学会発行の「ヒューマンインターフェースシンポジウム2004 論文集」に発表
【出願人】(505119162)学校法人 北海学園 (1)
【出願人】(505119450)
【Fターム(参考)】
【公開日】平成18年10月19日(2006.10.19)
【国際特許分類】
【出願日】平成17年3月31日(2005.3.31)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2004年10月6日 ヒューマンインターフェース学会発行の「ヒューマンインターフェースシンポジウム2004 論文集」に発表
【出願人】(505119162)学校法人 北海学園 (1)
【出願人】(505119450)
【Fターム(参考)】
[ Back to top ]