学位論文要旨



No 111820
著者(漢字) 川合,史朗
著者(英字)
著者(カナ) カワイ,シロウ
標題(和) 使用環境に応じて動的にモダリティを選択できるユーザインタフェースシステムに関する研究
標題(洋)
報告番号 111820
報告番号 甲11820
学位授与日 1996.03.29
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3618号
研究科 工学系研究科
専攻 電子工学専攻
論文審査委員 主査: 東京大学 助教授 相田,仁
 東京大学 教授 羽鳥,光俊
 東京大学 教授 斉藤,忠夫
 東京大学 教授 田中,英彦
 東京大学 教授 石塚,満
 東京大学 教授 廣瀬,啓吉
内容要旨

 近年、計算機の能力は飛躍的に増大し、処理能力の多くをユーザインタフェース(UI)を充実させるために使うことが出来るようになってきている。パーソナルユースの計算機でもグラフィカルユーザインタフェース(GUI)を備えることはごく普通となり、画像情報、音声情報を比較的自由に取り扱えるようになった。それらの様々なモダリティを利用したアプリケーションプログラム(AP)は、テキストデータのみを頼りとしていた時代のAPに比べ、操作性・作業効率・学習のしやすさ等の面で格段に優れている。しかし一方では、身体的障害や計算機の使用環境によってモダリティの一部でも使えないユーザは、APそのものを使えなくなってしまうという事態が生じてきた。例えば全盲の視覚障害者はグラフィカルに提示された情報をそのまま利用することができないし、聴覚障害者は警告音に気づくことができない。また、障害者でなくとも、小さな移動端末を携帯している人は精細なGUIよりもむしろ旧式のコマンドラインインタフェースを望むかもしれない。

 身体障害への対応を念頭においた従来の研究では、標準的な入出力(主としてGUI出力)をデバイスに近いレベルでフックし、他のモダリティにマッピングするという方法がとられてきた。この方法は既存のAPがほぼそのまま使えるという利点があるが、UIの表面的な情報だけを扱うため、本来のインタフェースのセマンティクスをうまく表現できないという欠点がある。特にGUIからの出力であるビットマップ情報や図形の位置情報からUIのセマンティクスを再現するには、2次元の空間配置を解析する必要があり、困難である。

 我々は、現在のUIの多くがインタラクションの「部品」を提供するツールキットを用いて作成されている点に注目した。このようなツールキットで提供されるオブジェクトは、外見を管理する機能とインタラクションを管理する機能の両方を担っている。本研究では、これら二つの機能を個別に実装できるようにすることで、ツールキットそのものにモダリティの動的な選択機構を導入することができ、柔軟なインタフェースが構築できることを示した。

 まず、分散オブジェクト空間linked spaceを定義する。linked spaceは複数のプロセス間で情報の共有ができるオブジェクトのプールである。最初にlinked spaceを生成したプロセスはmasterと呼ばれ、他のプロセスはmasterに接続することでlinked spaceのイメージを共有する事が出来る(slaveとなる)。Linked spaceにはmasterが許可すればいつでも参加・離脱することができる。linked spaceの参加者の一人がspace内にオブジェクトlinked objectを作成すると、そのオブジェクトは他の参加者のspace内にも見えるようになる。

 プロセス間の通信にはlinked methodと呼ばれるメソッドが用いられる。linked methodは、参加者の一人がlinked objectにそれを適用するとあたかも他の参加者全てが自分のlinked objectにそのメソッドを適用したかのような効果を生むメソッドである。例えばオブジェクトのスロットの値の更新はlinked methodとして定義され、スロットの値の更新は常にspaceの参加者全員に見えるものとなる。単なる共有オブジェクトと異なる点は、メソッドのディスパッチと実行が各プロセス内で個別に行なわれる点である。したがって、一つのlinked objectのクラスに対して別々のメソッドを各プロセス内で定義することにより、メソッドの適用が各プロセスで違う効果を持つようにできる。

 次に、インタラクションのセマンティクスを表すオブジェクトである、abstract widgetを導入する。通常、GUIはwidgetと呼ばれる部品を組み合わせることで構成されるが、abstract widgetはwidgetのテンプレートとなるものである。例えばアプリケーションに対して動作のきっかけを与えるabstract widgetや、いくつかの選択肢からユーザが望みのものを選ぶabstract widgetなどが考えられる。GUIならば前者はボタンで、後者はスクロール可能なリストで表現されるかもしれない。コマンドライン指向のインタフェースでは前者は特定の単語の投入、後者は選択肢が表示された後に番号を選ぶといった形に表現されるかもしれない。

 Abstract widgetを用いれば、アプリケーション側からはインタフェースのモダリティに依存しない記述ができる。しかし実装上、様々なインタフェースの形態に対応するために、ツールキットに考え得るすべての表現に対するコードを埋め込んでおくというのは、新たなインタフェースの表現を追加するのが非常に困難であるという点で非現実的である。Abstract widgetをlinked objectの一形態として定義することにより、この問題を解決し同時にインタフェースを動的に切替える機能を持たせることができる。

 すなわち、インタラクションのセマンティクスに関わる部分だけをアプリケーションとインタフェースで共有する定義としておき、インタフェースモジュールの方では望ましいモダリティへの表現をするlinked methodを個別に定義するのである(図1)。このようにabstract widgetに具体的な定義を与えることをexternalizationと呼ぶ。特に、基本的なインタフェースモジュールとアプリケーションモジュールはexternalizeしたウィジェットセットをあらかじめ作っておくことができるので、アプリケーションプログラマは通常のGUIを作るのと同じ工数でモダリティ独立なアプリケーションを作成することができる。例として、アプリケーションに動作のきっかけを与えるCommandと呼ばれるabstract widgetについての定義を図2に示す。

図1:Development of applications and user interface modules:Abstract widgets are like template of ordinary widgets.Interface developers can’externalize’them by adding interface specific features.Application programmers construct interface using application-side externalized widgets as interaction objects,without concerning interface details.Instantiation of application side widgets automatically propagates to interface modules and creates corresponding interface-side widgets.図2:Example of externalization of command abstract widget

 この原理に基づいて、インタフェースツールキットFRUITをUNIX上に実装した。linked spaceを始めとするオブジェクトシステムは主としてSchemeで実装されているが、ベースとなるwidgetの階層は、GUIのツールキットとして広く使われるようになったTkと互換性を持たせてある。

 実行時のアーキテクチャは、図3(b)のようになっている。ユーザの手元にはinteraction shellと呼ばれるプロセスが走り、abstract widgetの表現を担当する。アプリケーションは、通常のツールキットライブラリを使う代わりにabstract widgetのツールキットを使うことにより、容易にFruitの持つ柔軟性を得ることができる。ユーザは自分の環境に合わせたinteraction shellを立ち上げて望ましいモダリティでアプリケーションを使用でき、またアプリケーションの動作中にも別のinteraction shellを立ち上げることによりモダリティを動的に変更することが可能である。標準ではGUI、line-oriented interface及びカーソル制御可能な文字端末を用いたインタフェースに対するinteraction shellが提供される。特に、文字端末やline-oriented interfaceを用いたインタフェースは既存の文字から音声への変換システムを用いることにより音声出力として情報を取り出すことができ、視覚障害者へのインタフェースとして有効である。立ち上げられたアプリケーションはsession managerというプロセスで管理され、アプリケーションを一時停止させ、interaction shellをシャットダウンし、別の場所に移ってinteraction shellを立ち上げ、再びアプリケーションと接続して仕事の続きを行なうといったユーザの環境変動にも対応できる。

図3:Runtime structure of ordinary application and FRUIT application
審査要旨

 本論文は「使用環境に応じて動的にモダリティを選択できるユーザインタフェースシステムに関する研究」と題し、移動端末のように表示機能や通信帯域に制限のある場合や、身体障害者がコンピュータを使う場合などに、モダリティを動的に変更することのできるユーザインタフェースに関して研究をまとめたものであって、6章より構成されている。

 第1章「はじめに」は序論であり、計算機がもはや単なる計算だけのための道具ではなく、個人の情報管理や他人とのコミュニケーションのための手段として不可欠のものとなりつつある現在、高解像度のディスプレイが利用可能であり、かつ視力・上肢の動きが制限されない環境でしか使うことのできないユーザインタフェースでは不十分であるとして、本論文の研究の動機を述べるとともに、本論文の構成および用語の定義を明確にしている。

 第2章「ユーザに適応するインタフェースの現状と問題点」では、ユーザインタフェースの階層性とモダリティを分類した後、ユーザインタフェースが適応すべき要因として、高齢化や身体障害なとの身体的要因、端末の機能や設置環境による要因等があることを述べている。ついで、これらの要因に対処するために従来行われてきた手法、および研究事例について、ユーザインタフェースの階層性の観点から問題点を明らかにし、文法レベル以上でモダリティを切り替えて対処すべきであるとしている。

 第3章「インタフェースの分界点についての検討」では、前章での議論に基づいて、意味レベルでアプリケーションプログラムとのインタフェースが記述できるようにするためのモダリティ独立なインタフェースオブジェクトとして、Abstract Widgetという概念を提案し、その機能について検討を行っている。具体的には、Abstract Widgetとユーザインタフェースのモダリティを実現するinteraction shellとの間にLinkedSpaceと呼ばれる情報共有空間を設け、AbstractWidgetのインスタンスであるLinkedObjectにメッセージを送ることによりユーザとのインタラクションを実現する。interaction shellをシャットダウンしてもLinkedSpaceの状態は保たれるため、新たなinteraction shellを立ち上げることで動的にモダリティを変更することができる。

 第4章「AbstractWidgetのクラス階層の設計」では、現実的なアプリケーションにおいて必要とされる機能を実現するためのAbstractWidgetの機能について設計を行っている。AbstractWidgetとグラフィカルユーザインタフェースのwidgetとはおおよそ1対1に対応するが、グラフィカルユーザインタフェースにおいては外観を制御するために、他のモダリティでは不要な詳細化がしばしば行われている。逆に、ユーザがインタラクションを行う対象(Focus)は、グラフィカルユーザインタフェースにおいては最前面に表示することで暗黙的に示されることが多いが、他のモダリティにおいては、AbstractWidgetのラベルを明示的にユーザに示す必要があるなど、AbstractWidgetとグラフィカルユーザインタフェースのwidgetの違いが明確にされている。

 第5章「モダリティを切り替え可能なインタフェースツールキットの試作と評価」では、既存のTcl/TkおよびGuileソフトウェアパッケージを利用して行った、CおよびScheme言語によるAbstractWidgetの実装Fruitについて紹介し、アプリケーションの開発にFruitを用いる場合と従来の手法との利害得失について論じている。簡単なhttpクライアントアプリケーションの例では、従来の手法でグラフィカルユーザインタフェースのアプリケーションを開発するのとほとんど変わらない工数でアプリケーションに動的なモダリティ変更の機能を付加できることが示されている。

 第6章は結論であり、本論文で得られた成果をまとめている。

 以上のように、本論文はさまざまなユーザの要求に適応するために動的にモダリティを変更することのできるユーザインタフェースの実現方式を提案し、ツールキットを試作してその上で実際にアプリケーションを動作させてその有効性を示したものであって、電子情報工学上貢献するところが少なくない。

 よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク