• 検索結果がありません。

ユーザインタフェース設計における概念仕様記述の変換 : 因子化 利用統計を見る

N/A
N/A
Protected

Academic year: 2021

シェア "ユーザインタフェース設計における概念仕様記述の変換 : 因子化 利用統計を見る"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

論 文

ユーザインタフェース設計における概念仕様記述の変換

―因子化―

渡辺喜道 三宅一巧 今宮淳美

(平成3年8月31日受理)

Transformations of Conceptual Level Specifications in User Interface

Design

-Factorings-YoshimichiWATANABE KazuyoshiMIYAKE AtsumiIMAMIYA

      Abstract   This paper presents transformation algorithms and a translator of conceptual level specifi− cations in user interface design. The translator we implemented is based on four level user interface model. This is the model that user interface designers separate user interface to four levels, that is, conceptual level, functional level, sequencing level, and binding leve1, and design and implement in top down. Many user interface management systems don’t support conceptual level design.   There are many paradigms in user interface design. Without our translator, when the paradigm of user interface is changed, user interface designers must specify all over again. Thus, the translator is useful of user interface prototyping. Also, the translator allows us to quickly create the specifications which fits for existing user interface management systems.

1 はじめに

 グラフィカルな対話型システムの使いやすさは,そ のユーザインタフェースの設計に大きく依存する.近 年,ユーザインタフェースの設計に関する研究が活発 になされてきているが,GUI(グラフィカルユーザイン タフェース)に代表されるように,そのほとんどがユー ザインタフェースを技術的な対象として捉えて議論さ れている.ユーザインタフェースの形式論やモデル、 ツール,設計の方法論などの基礎的な見地からのアプ ローチは少ない.  また近年,対話型のアプリケーションからユーザイ ンタフェース部分を分離し、ユーザとアプリケーション 本体の間の相互作用を設計及び制御するソフトウェア ツール,すなわちユーザインタフェース管理システム【7, 101(以下,UIMSと略す)を用いたユーザとアプリケー ションの対話に関する研究が活発になってきている. UIMSを用いると次のような利点がある. ’電子情報工学科,Department of ElectricaユEngineering and Computer Science 1.異なるアプリケーションに同一のユーザインタ  フェースを提供できる. 2.1つのアプリケーションに複数のユーザインタ  フェースを適用できる. 3.アプリケーションの移植性と可搬性が向上する. 4.ユーザインタフェースの開発効率が向上する.  UIMSの機能は大きく2つに分けることができる. ひとつは,エンドユーザとアプリケーションの間の対 話管理である.これはエンドユーザのための機能で,エ ンドユーザからの入力を各種のフィードバックを考慮 しながらアプリケー..ションへ伝達したり,逆にアプリ ケーションからの出力をユーザに効率よく適切に伝達 するなどの対話を管理する機能である.もうひとつの 機能はユーザインタフェース作成支援機能である.こ れはユーザインタフェース設計者のための機能で、ユー ザインタフェース仕様記述言語、視覚要素エディタ,ス クリーンフォーマッタなどのユーザインタフェースを 設計する際の各種のツールを用いたユーザインタフェー スの生成を支援する機能である.本研究では、ユーザ

(2)

インタフェース用の仕様記述言語を用いて記述した設 計仕様記述を意味的に等価な仕様記述に変換すること でユーザインタフェース作成機能を支援するツールに ついて述べる.  UIMSを用いた設計方法のひとつに4レベルユーザ インタフェースモデルがある.このモデルでは,ユーザ インタフェースの設計を概念,機能,順序化,結合の4つ のレベルに分け,それらをトップダウンに設計し,ユー ザインタフェースを作成する.しかし,各レベルの設 計において,設計者は同一人物とは限らず,各設計者に より意味的には等価であるが,形式的には異なる仕様 記述が数多く生成される可能性がある.また,次のレベ ルとうまく整合するような仕様記述を生成しなければ ならない場合もあり,各レベルの設計者はこれらを考 慮しながら設計を進めるため,負担は増大する.特に, 最初に設計しなければならない概念レベルの記述の負 担は非常に大きい.そこで,概念レベルの設計におい て,ユーザインタフェースの仕様記述を意味的に等価 な別の仕様記述に変換するツールを作成した[12】.この ッールを用いることにより,ユーザインタフェース設 計者は,機能的に等価なユーザインタフェースを素早 く作成することができ,ユーザインタフェースのプロ トタイピングを容易に行うことができる.  本論文の構成は以下の通りである.2章で,本研究 のユーザインタフェース設計の基となる4レベルユー ザインタフェースモデルについて述べる.3章では,概 念レベルの仕様記述方法について述べる.4章では, 様々な概念レベルの仕様記述を得るための変換方法に ついて述べる.5章では,本研究で作成した変換ツール について述べる.最後に6章で本論文をまとめる.

2 4レベルユーザインタフェースモデル

  この章では,本研究の基礎となる設計モデルであ る4レベルユーザインタフェースモデルについて述べ る.  従来のユーザインタフェースは、意味,構文,字句の 3つのレベルに分けて設計されていた.しかし,この設 計方法では,ユーザインタフェースが言語的な性質の みを持ってしまうように考えられてしまう.そこで、 Foleyはこの設計を概念,機能,順序化,結合の4つのレ ベルに分け,その順に設計する方法である4レベルユー ザインタフェースモデルを提案した団,また一般に, ユーザとアプリケーションの対話は意味と形式の2つ に分けられる.意味設計が概念および機能レベルに対 応し,形式設計が順序化及び結合レベルに対応する.ま た,従来のユーザインタフェースの設計方法の意味、構 文,字句レベルは,それぞれ4レベルユーザインタフェー スモデルの機能,順序化,結合レベルに相当する.した がって,従来の設計には概念レベルに相当する部分は ない.  次に4レベルユーザインタフェースモデルの各レ ベルで設計する内容について述べる. 1)概念レベルの設計  概念レベルでは,エンドユーザが理解しなければな らないアプリケーションの概念を定義する.つまり, アプリケーションのユーザモデルを定義する.典型的 な概念レベルの設計では,オブジェクトやオブジェク トのクラス,オブジェクト間の関係,オブジェクトの オペレーションを定義する.簡単なテキストエディタ を例にとると次のようになる. ●オブジェクト_行,ファイル ●オブジェクト間の関係_ファイルは行の集まり ●オブジェクトへのオペレーション 一行_挿入,削除,移動,コピー 一ファイル...生成,削除挿入,ファイル名の  変更,コピー 2)機能レベルの設計  機能レベルでは,詳細な機能の設計と意味付けを 行う.つまり,オブジェクト上の各動作に必要な情報と 動作結果,起こり得るエラーとその処理方法などを定 義する.ここでは,意味付けだけを定義し,動作列や動 作が実行されるデバイスを定義しないことに注意され たい.ディスプレイ上にアイコンのインスタンスを追 加するオペレーションの例を以下に示す. ●機能_アイコンのインスタンスの追加 ●必要な情報..アイコン名とインスタンス名と位  置 ●意味動作...アイコンのインスタンスを生成し,指  定された位置に対応する視覚的表現を加える.そ  のインスタンスが現在の選択オブジェクトにな  る. ●ブイードバック...インスタンスがディスプレイ  上に見え,ハイライトされる. ●エラー 一アイコン名がない_マウスによる選択で回  避 一アイコンの位置がビューポートの内部にな  い_ビユーポートの内部に指定できるよう  に位置付けに対応するデバイスのフィード  バックに制約をもたせることで回避 3)順序化レベルの設計  順序化レベルでは入出力列を定義する.入力の定義 では,インタラクションタスクを実行するための入力 の順序列を定義する.この入力列は,意味の最小単位 により構成される.意味の最小単位とは,それ以上分割 すると意味を持たなくなってしまう最小単位を言う.一

(3)

方,出力の定義では,表示のための出力の順序列を定義 する.この順序列の概念には空間的・時相的要因も含 まれ拡張されている.したがって,出力列には表示の ための2Dおよび3D構造やアニメーションなどの時 間的に変化する表示形式などが含まれる.出力の場合 も,入力の場合と同様に意味の最小単位で構成され る. 4)結合レベルの設計  結合設計では,順序化レベルの設計で構成した入出 力の意味の最小単位が,実際に使川するハードウェア プリミティブからどのように構成されるかを定義する, 入力プリミティブは、利用可能な入力デバイスで,出力 プリミティブはグラフィクスサブルーチンパッケージ が提供する形状とその属性である.つまり、ここでの設 計は、入力に対してはインタラクション技法の設計や 選択であり,出力に対してはアイコンや他のシンボル を形成するための出力プリミティブと属性の組み合わ せである.

3 インタフェース定義言語IDL

 この章では,本研究で用いるユーザインタフェース 設計のための仕様記述言語IDLについて説明する.  IDLはインタフェース定義言語である[51. IDLに よる概念のレベル設計仕様記述は,次の4つの部分か らなる. Lオブジェクトの階層構造の定義 ●オブジェクトの親子関係の定義 ●オブジェクトの属性の定義 ●オブジェクトに対するオペレーション(コ  マンド)の定義 ●オブジェクト間の関係の定義 2.属性値の範囲の指定   ●各オブジェクトの属性の取り得る値の範囲    の指定 3.前状態の初期値の設定 ●属性や変数の初期値の設定 4.オペレーションの定義 ●オペレーション名とそのパラメータの定義 ●前状態(オペレーションを実行する前の状  態)の指定 ●後状態(オペレーションを実行した後の状  態)の指定  ここで,様々な色を持つ三角形と四角形の生成およ び削除,回転のできるアプリケーションを考える.この 場合の概念レベルの設計のための仕様記述は図1のよ  {オブジェクトの階層楕造の定義} type  shape  superclasses : 0 subclasses actions attributes  relations triangle, square  superclasses : (shape) subclasses actions attributes relations : (triangle, square) : (create_shape, delete_shape, rotate_shape) : originates, heritable :(Pt)sition. color, angle) : originates, heritable :o  o : (create_shape, delete_shape, rotate_shape) : inherits from shape, not heritable :(position. col。r. angle) : inherits frorn shape, not heritable

lo

 ㈲性値の範囲の指定} Position : range [0..10] x [0..10] color  : set (1,1) of (red, green, blue, white, black, cyan, magenta, yellow) angle  : range [0..360] {前状態の初期値の設定} initial  : number_shape = 0  {オペレーションの定義} create_shape(p:position, c:color, a:angle, type_of_shape:shapq_obj) postcondition(number_shape 治 number_shape + 1) precondition(number_shape 〈> 0 ) rotate_shape(obj:shape, a:angle) precondition(number_shape 〈> 0) delete_shape(obj:shape) postcondition(number_shape = number_shape − 1) 図1.IDLによる概念レベルの設計仕様記述の例 うになる.この記述のなかで{}で囲まれた部分は注釈 である.   オブジェクトの階層構造の定義では,shape, trian− gle, squareの3つのオブジェクトを定義している.オ ブジェクトshapeは,2つのサブクラスtriangleと squareをもつ.さらに,形状の生成,削除,回転の3つ のオペレーションを持ち,属性として位置と色と回転 角を持つことを示している.また,オブジェクトtrian− gleとsquareはスーパクラスとしてsllapeをもつ.ま た,これらのオブジェクトはサブクラスを持たず,スー パクラスshapeから継承する生成削除回転の3つ オペレーションを持ち,それらのオペレーションをサ ブクラスに継承できないことを示している.属性値と しては,shapeから継承する位置と色と回転角の属性 をもち,オペレーションと同様にサブクラスには継承 できないことを示している.  属性値の範囲の指定では,3つの属性p《)sit,iOll, color, angleの値域を宣言している.位置を表す属性POsitiOll の値は2次元配列で【O,O]から[10、10】までの値が取れ ることを示し,色を表す属性colorは、赤,緑、青、白、黒, シアン,マゼンタ,黄の内の1色(同時に1∼1色まで) が指定でき,角度を表す属性angleは0∼360の範囲の 値が指定できることを示している.  前状態の初期値の設定では,初期状態では形状の数 が0であることを示している.

(4)

 また,オペレーションの定義では,形状の生成,回 転削除の3つのオペレーションを定義している.たと えば,形状を削除するオペレーションdelete」shapeは, 形状を表す1つのパラメータをもち,前状態より,こ のオペレーションを実行する前には形状の数が0では なく,実行した後には形状の数が1つ減ることを示し ている.

4 概念レベルの仕様記述の変換

 この章では,前章で述べた概念レベルの設計仕様記 述から意味的に等価な複数の仕様記述を生成するため の変換技術のひとつである因子化について述べる.

4.1 オブジェクトの属性の因子化

 あるオペレーションを実行するときに必要なひと つ以上の情報の単位(たとえばパラメータ)は,各情 報の単位ごとに別々のオペレーションを作り,そのオ ペレーションをグローバル化しても、同じ機能を実現 することができる.このような変換は,多くの異なるオ ペレーションが同じパラメータを取る場合やオペレー ションがたくさんのパラメータを取る場合パラメー タがディフォルトの値を持っている場合などに非常に 便利である.このように,パラメータをオペレーショ ンから因子として取り出し,その値を設定できるよう なオペレーションを追加することにより,一度その値 が設定されると,以後値の変更のためのオペレーショ ンが実行されるまでその値が使用されるようなパラダ イムに変換する技術を因子化と呼ぶ.パラメータが因 子化されると,それが取り出されたオペレーションを 実行するときに,そのパラメータを指定する必要がな くなる.また,このとき,因子化されたパラメータは陰 的であると呼び,そうでないパラメータを陽的である と呼ぶ.仕様記述の中では,陰的なパラメータは予約 語implicitで後置修飾して表す.  因子化されたパラメータが属性であるとき,この因 子化をオブジェクトの属性の因子化と呼ぶ.図1の概 念レベルの設計仕様記述のうち,属性colorを因子化 した結果の変更部分を図2に示す.因子化により変更 を受ける部分は前状態の初期値の設定とオペレーショ ンの定義のみであることに注意されたい、色が設定さ れているかどうかを表す変数color.setが初期値の設 定に追加され,色を設定するためのオペレーションset −colorが追加された.またオペレーションcreate』hape に前状態が増え,パラメータcolorが陰的になったこ とに注意されたい,  一般に,次の1.∼3.の操作の手順で,属性を因子 化することができる.ここで,因子化される属性をfa とする. 1.次の前状態の初期値の設定を加える.  initial:fa_set=false {前状態の初期値の設定} initial  : color_set = false initial  : number_shape= 0 {オペレーションの定義} set_color(C:color) POstcondition(color_set = true) precondition(color_set = true) {新しく追加された初期値の設定} {新しく追加されたオベレーション} {新しく追加された後状態} create_shape(p:position, c:color implicit, a:angle,      type_of_shape:shape_obj)  {implicitカ『追加された} postcondition(number_shape = number_shape + 1) precondition(number_shape 〈> 0 ) rotate_shape(obj:shape, a:angle) precondition(number_shape <> 0) delete_shape(obj:shape) postcondition(number_shape = number_shape − 1) 図2.属性colorを因子化した後の仕様記述 2.次のオペレーションを追加する.ただし,attは  任意の変数名である.  set」Ea(att:fa)  postcondition(faset=true) 3.2.で加えた以外の属性faを含むすべてのオペ  レーションに対して, (a)faを陰的にする. (b)次の前状態を加える.   precondition(fa_set=tl’ue)

4.2 オブジェクトの因子化

 属性を因子化する代わりに,オブジェクト自身を因 子化することもできる.因子化されたパラメータがオ ペレーションの操作対象のオブジェクトであるとき,カ レントリセレクテッドオブジェクトパラダイムに基づ いたユーザインタフェースになる.この因子化をオブ ジェクトの因子化と呼ぶ.オブジェクトを因子化する ことにより,選択されたオブジェクトに対して,様様な 操作が連続的に実行できる.図1の記述のオブジェク トshapeを因子化した結果の変更部分を図3に示す. 因子化により変更される部分は属性の因子化と同様に 前状態の初期値の設定とオペレーションの定義のみで ある.オブジェクトが現在選択されているかどうかを 示す変数CSO.setが初期値の設定に追加され,オブジェ クトを選択するためのオペレーションselect.shapeが 追加された.また,2つのオペレーションrotateshape とdeleteshapeにあった形状の数に関する前状態 precondition(nurnber_shape<>0) が precondition(CSO_set=true) に置き代わったことに注意されたい.  一般に,次の1.∼7.の手順によりオブジェクトを 因子化することができる.ここで,因子化されるオブ ジェクトをfoとする.

(5)

{前状態の初期値の設定} initial  : CSO set = false initial  : number_shape = 0 {オペレーションの定義} precondition(number_shape 〈> 0 ) select_shape(obj:shape) postcondition(CSO_set = true) {新しく追加された初期値の設定}  {新しく追加された前状態} {新しく追加されたオペレーション} {新しく勘ロさ鮫後槻‖} create__shape(p:position, c:color, a:angle, type_of_shape:shape_obj) postcondition(CSO_set=true)        {新しく勘uされた後状態} postcondition(number_shape = number_shape + 1) precondition(CSO_set=true)       {新しく追加された前状態} rotate_shape(obj:shape implicit, a:angle)  {impli c i tカ{i島jbaさh」た} precondition(CSO_set=true)       {新しく追加された前状態} delete_sh4pe(obj:shape i而plicit)       {implicitが追加された} postcondition(number_shape エ nurnber_shape − 1) postcondition(CSO_set=false)       {新しく追加された後状態} 図3.オブジェクトshapeを因子化した後の仕様記述 1.次の前状態の初期値の設定を加える.  iiiitia1:CSO_set=false 2.次のオペレーションを追加する.ただし,objは  任意の変数である.  preconditioii(number.fb<>0)  select.fo(obj:fo)  1)ostcondition(CSO_setニtrue) 3.前状態precondition(11uml)er.fo<>0)を持つす  べてのオペレーションに対して, (a)その前状態を削除する. (b)次の前状態を加える.   precondition(CSOsetニtrue) 4.前状態precondition(mml〕er−.fo=0)を持つす  べてのオペレーションに対して, (a)その前状態を削除する. (b)次の前状態を加える.   precon(lition(CSO」set=false) 5.後状r&R post(tondition(nllnlber.fo=number.fb−  1)を持つすべてのオペレーションに対して, (a)その後状態を削除する. (b)次の後状態を加える.   postcondit,ion(CSO_,set,=false) 6.後状態postco1Klitio11(111mll)el・−f()=11umber」b+  1)を持つすべてのオペレーションに対して,次の  後状態を加える.  postcondition(CSO_set=true) 7.2.で加えた以外のfbを含むすべてのオペレーショ  ンに対して,foを陰的にする.

4.3 オペレーションの因子化

  オブジェクトの因子化と同様に,オペレーションも 因子化することができる.因子化されたパラメータが オペレーションであるとき,カレントリセレクテッド コマンドパラダイムに基づくユー一ザインタフェースに なる.つまり,コマンドモードの概念に基づくユーザ インタフェースになる.このような因子化をオペレー ションの因子化と呼ぶ.オペレーションを因子化する ことにより,選択されたオペレーションを多くのオブ ジェクトに連続的に適用することができる.図1の記 述のオペレーションdelete.shapeを因子化した場合の 変更部分を図4に示す.変更を受ける部分は,この場 合も前状態の初期値の設定とオペレーションの定義の みである.因子化されるオペレーションdelete−shape が現在選択されている状態であるかどうかを表す変数 delet,eshape.modesetの初期設定が追加され,このオ ペレーションdeleteshapeを選択状態にするオペレー ションbegin.delete.shape.modeと選択から開放する オペレーションend.delete.shape』iodeが追加された. また,最初の記述から存在した3つのオペレーション createshapeとrotate」3hape, delete.shapeに前状態が 追加された.さらに,オペレーションdelete.shapeが陰 的になったことに注意されたい.  一般に,次の1.∼4.の手順により,オペレーショ ンを因子化することができる.ここで,因子化されるオ ペレーションをfbとする. 1.次の前状態の初期値の設定を加える.  initiaユ:fo」node_set =false 2.fb以外のすべてのオペレーションに対して,次の  前状態を加える.  precondition(fo」nodeset=:faユse) {前網態の初期値の設定} initial  : delete_shape_mOde_set = false initial  : number_shape = 0 {新しく勘ロされた初期値の設定} {オペレーションの定義} precondition(number_shape〈>0)         {新しく追加され」た前状態} precondition(delete_shape』Ode_set=false){新しく追加された前状態} begin_delete_shape_rnOde      {新しく追加されたオペレーシeン} postcondition(delete_shape」ode_set=true){新しく追加された後状態} precondition(delete_shape_mOde_set=true) {新しく追加された前状態} end_delete_shape』ode       {新しく追加されたオベレーシyン} Ix)stcondition(delete_shape』Ode_set=false){新しく追加された後状態} precondition(delete_shape..plOde_set=false){新しく追加された前状態} create=shape(P:position, c:color, a:angle, type_of_shape:shape_obj) postcondition(number_shape = number_shape + 1) precondition(number−.shape 〈> 0 ) precondition(delete_shape_mOde_set宕false) {新しく追加された前状態} rotate_shape(obj:shape, a:angle) precondition(delete_shape』Ode_set=true) {新しく追加された前状態} delete_shape implicit(obj:shape)         {implicitが追加され」た} postcondition(number_shape = number_shape − 1)  図4.オペレーションdeleteshapeを因子化した後の     仕様記述

(6)

ww「deSSIss attxibutes      olrigirntds, heritabユe relati飢s  :0 triang)烏squa鵬

鷲竺:㌶難欝一

ぬt皿   :0

竃㎞ii護1蹴熾…己一賦一一・

猟w:coibr−get=f曲 ユ冗【t皿:n血一sha)eエ0 図5−a.変換ツールの画面 蝸丁,、ξ藷, ● 一 Mor‘ Ltst Co ・   ● Move Remove auit }=File Irrfoロ田u㎝=

麟㌍]

眠]

[(㎞固曲] 、止灘i 日pasiti飢 口co]ρr Oangle Output Fi泌

[コ

匝コ国

図5−b.変換コマンド実行時の画面構成 3.次の2つのオペレーションを追加する. (a)選択状態にするオペレーション   preconditio11(fo」node−set=false)   beginrfo」node   postcondition(fo」nodeset =true) (b)選択状態から開放するオペレーション   precondition(fo」nodeset=true)   endfo」node   postcondition(fo」node_set=false) 4.foに対して, (a)次の前状態を加える.   precondition(fo_mode_set=true) (b)foを陰的にする.

5 概念レベルの設計仕様記述変換ツール

 この章では,本研究で作成した概念レベルの設計仕 様記述の因子化を支援するツールについて述べる.

5.1 変換ツールの必要性と有効性

 概念レベルでは,同じ機能を持った異なる記述が数 多く存在する.たとえば,図1の記述に基づくユーザイ ンタフェースではオペレーションを3つ持つのに対し, 図2の記述に基づくユーザインタフェースでは,4つの オペレーションを持つ.3つの図形を生成するタスク を考えると,前者では図形生成オペレーションの選択 とその4つのパラメータの入力を3回繰り返しタスク を完成させるようなユーザインタフェースになる一方, 後者ではまず色設定オペレーションを実行し,次に図 形生成オペレーションの選択とその3つのパラメータ の入ガを3回繰り返しタスクを完成するようなユーザ インタフェースとなる.ユーザインタフェース設計者は, これらのユーザインタフェースの使いやすさや使用時 の効率等を考慮し、適切な仕様記述を選択しなければ ならない.このような考察は,ユーザインタフェースが 複雑になればなるほど,非常に手間のかかる作業であ る.  そこで本研究では,ひとつの概念レベルの仕様記述 に各種の変換を施し,意味(機能)的に等仙な複数の異 なる仕様記述を自動生成するツールを開発する.この ツールにより,様々なパターンの概念レベルの仕様記 述を生成することができ、それぞれの仕様記述による ユーザインタフェースの使川時のスピード等を評価し, 適切な仕様記述を既存のUIMSへ人力することにより、 簡単に素早くユーザインタフェースを構築できる.

5.2 変換ツールの実現

 ユーザインタフェース部にx To()1−kit[8、13、14]を 用い,構文解析【1, 2,61部にlexとya(・c[3],その他の部 分はC言語[9】を用いてこのッールを作成した.このツー ルの主な機能を次に挙げる.  ○仕様記述の構文エラーの検出   仕様記述の文法的な誤りを検出し,エラーメッセー   ジを表示する. ●仕様記述の静的意味エラーの検出  オペレーションの定義の部分で用いられている  オブジェクトや属性が予め定義されていない場  合や二重に定義されている場合などにエラーメッ  セージを表示する. ●後状態の正当性の検査  あるオペレーションの後状態が他のオペレーショ  ンの前状態で使用されていなかった場合に警告  する.この機能により,仕様記述の意味的誤りを  少なくすることができる. ●3種類の因子化の支援  属性やオブジェクト,オペレーションの各因子化  を,マウスによる選択で,繰り返し連続的に実行

(7)

することができる. ●変換時の動的意味検査  変換の種類と対象とするパラメータの型の不一  致などを検出し,エラーメッセージを表示する. ●仕様記述ファイルに対する操作  仕様記述のファイルとしての保存や読み込みな  どの基本的なファイル操作をマウスを用いて実  行することができる. ●ツールの対話的・視覚的な実行  マウスによるメニュー選択やパラメータの指定  などのユーザフレンドリな処理ができる.  次に,このツールを用いた概念レベルの設計仕様記 述の変換動作例を示す.図5−aに変換ツールの画面構成 を示す.画面の上部に仕様記述に対するコマンドの一 覧が表示されている.ここでは,変換,編集,表示,仕様 記述用ファイルの一覧,ファイルのコピー,ファイル名 の変更,ファイル名の削除このツールの終了が選択で きる.中央にあるウィンドウには,仕様記述の内容や仕 様記述の内部の情報等を表示するための表示ウィンド ウである.図5−aは,図1の仕様記述を読み込み,表示 ウィンドウにその記述を表示している状態を示してい る.ここで,変換コマンドを選択すると,図5−bのよう にポップアップウィンドウが表示され,ユーザの入力 待ち状態になる.この状態で,ユーザは変換の種類や 因子化するパラメータ等を選択し,変換コマンドを実 行することにより,変換された新しい仕様記述を得る ことができる.このとき,変換の種類に応じて,変換可 能なパラメータのリストが表示され,マウスで選択す ることによりパラメータを指定する.同時に,表示ウィ ンドウには,属性,オブジェクト,オペレーションの一 覧表が表示されており,どのパラメータが因子化され ているか等の情報を知ることができる.  なお,ツールの実現方法や他の具体例等の詳細につ いては,[11]を参照されたい.

6 おわりに

 本論文では,4レベルユーザインタフェースモデル に基づく概念レベルの設計において,仕様の異なる意 味的に等価な複数の記述に変換するアルゴリズムと ツールについて述べた.このツールを用いることによ り,ユーザインタフェース設計者は,機能的に等価な ユーザインタフェースを素早く作成することができ, ユーザインタフェースのプロトタイピングを容易にす ることができる.  このツールは、変換として.3種類の因子化を支援し ているが,その他の変換も考えられる.たとえば,オブ ジェクトの因子化のとき対象とするオブジェクトをひ とつに限定せず,オブジェクトの集合を因子化したり, オペレーションの後状態と他のオペレーションの前状 態が等しいとき,必要に応じてそれらのオペレーショ ンを結合してひとつのオペレーションにするような変 るようなツールもあれば便利である.今後は,このよう な機能を備えた総合的で知的なユーザインタフェース 設計用のツールを作成したい.

参考文献

[11Aho、 A. V.、 Sethi, R. all(l Ullnian, J. D.   Compilers, Prillcil)les Techni(llles, and Tools,  Addisol1−V㌧アesle}・,1986, [2]Aho, A. V. alld Ullllla11、 J. D.:Prillcil)les of  Compiler Desig11, Addisoll−Wesle}・,1977. [3]Coniputer Systielns Resea,rch Groul):UNIX Pro−  gra111meゴs Slll)1)leinentar.y Docuinents, Dept. of  EE&CS,Ulliversity of Califorllia, VoL 1, PS1:15,  PS1:16,1986. {4]Foley, J.:Models alld Tools for tlle Desigllers of  User−Coll1Pllter Interfaces, Report G WU一刀rST−  87−O,’S,Dept. of EE&CS, George Washington  Ulliversity,1987. [o「]Gibbs, C.、 Kill1, W. C. and Foley, J.:Case  Stlldies ill the Use()f IDL:Interface De丘nition  Language, Rc2)ort G I・VU−llST−86−,90, Dept. of  EE&CS, George Wasllillgtoll Ulliversity,1986. [6]Gries, D.:Collll)iler COIIstl−11(・tiOll for Digital  Colllputel’s, Jolm VViley alld Sons,1971. [7]今宮淳美:ユーザインタフェース管理システム,  情報処理ハンドブック,第13編、第10章,オーム  子1:、PP.1194−1201,1989. [8]J・…,O・・1・・t…lucti・11 t・th・XWi・・d・w Sys−  telll、 Prentice−Hall,1989. 【9】Kernighan, W. B. and Rit(・hie, M. D.:The  CPrograllllllillg La,nguage, Prelltice−Hall,1978. 1101L6wgren, J.:History, State alld Future of User   Illterface Alanageinent・Systellls,ノ10M SIGCHI   Bulletin, VoL 20, No.1, pp.32−44,1988. [111三宅一巧:ユーザインタフェース設計における   概念記述の変換,山梨大学工学部計算機科学科卒   業論文,1990. [12】三宅一巧,渡辺喜道,今宮淳美:ユーザインタ   フェース設計における概念記述の変換,情報処理   学会,第41回全国大会,4R−3,1990. [i3]Nye, A. and()’Reilly, T.:.X Toolkit lntrinsics   Pr’ogran}ining Manual,0’Reilly&Associates,   1990.    [1410’Reilly, T. alld Lallgley, M.:XToolkit Illtrill−

参照

関連したドキュメント

・電源投入直後の MPIO は出力状態に設定されているため全ての S/PDIF 信号を入力する前に MPSEL レジスタで MPIO を入力状態に設定する必要がある。MPSEL

現状では、3次元CAD等を利用して機器配置設計・配 管設計を行い、床面のコンクリート打設時期までにファ

To transmit the large capacity and high speed signal in the devices without distortion, it is very important to apply the composed material with low loss and frequency

Due to biomass energy utilization policy, considerable amount of wood waste is consumed by the biomass industry for boiler fuel to produce electricity and steam in Japan these

[r]

主権の教義に対する政治家の信頼が根底からぐらつくとすれば,法律家の

ヘーゲル「法の哲学」 における刑罰理論の基礎

『ヘルモゲニアヌス法典』, 『テオドシウス法典』 及びそれ以後の勅令を収録