第 7 章 関連研究 37
7.3 既存の GUI ソースコードを再利用する研究
Lutterothが提案する手法[10]では,WYSIWYGで作られるハードコーディング
されたGUIのソースコードに,数行のコードを加えることでGUI情報を抽出し,
自身の提案するレイアウトモデルであるALM[11]を用いて,より抽象化したGUI を作成する.それにより,よりウインドウや動作環境に柔軟に対応する動的なレ イアウトがされたGUIを生成している.
本手法ではレイアウト情報の抽出に加え,そこからレイアウトのルールの解析 を行い,新規作成するウインドウへの適用が可能である.また,本手法ではアス ペクト指向プログラミングを用い,既存のソースコードを改変することなくレイ アウト情報を抽出している.
第 8 章 おわりに
本研究では,既存のソフトウェアのソースコードを解析することで,レイアウ トルールを発見し,ルールを適用させた新しいウインドウを生成する手法を提案 した.しかし,現段階でウインドウ中のすべてのウィジェットを自動レイアウトす るには至っておらず,引き続き努力が必要である.
本研究の今後の課題は以下の通りである.
より柔軟なルール解析方法の提案
現段階での各レイアウトルールの解析方法は,型やラベルごとに出現回数を 記録し,最も多く出現する値をルールとして定めている.今後は単純な出現 回数だけではなく,ウィジェットがレイアウトされるコンテキストなども考 慮し,柔軟なレイアウトをさせたい.
様々なレイアウト方法への対応
Swingでは,ウィジェットのレイアウトにレイアウトマネージャを用い,ピ
クセルを指定せずにレイアウトする方法がある.今後はこのような方法でレ イアウトされたウィジェットに対してもルールの解析および自動レイアウト ができるようにしたい.
ルール解析対象の拡張
現在の解析対象としているウィジェットの型やレイアウトルールの種類を更 に拡張し,GUI中のより多くの部分を自動でレイアウトさせたい.
研究のより詳しい評価
本研究は,適用対象のソフトウェアの規模が大きいほど効果があると考えら れるため,適用実験だけではなく,実際の大規模なソフトウェアを用い,研 究の評価をとりたい.
謝辞
本研究を進めるにあたり,数々のご助言を下さった,深澤良彰 教授,3年間に わたり丁寧かつ熱心なご指導を賜りました,東京女子大学 白銀純子 准教授,神奈 川工科大学 岩田一 助教に深く感謝いたします.
また,ともに研究に励み,様々なご協力をいただいた深澤研究室,鷲崎研究室 の皆様に深く感謝いたします.
[1] Nielsen, J.:Usability Engineering, Academic Press (1993), (篠原稔和 監訳,三好 かおる 訳(1999)『ユーザビリティエンジニアリング原論』.株式会社トッパ ン.).
[2] Microsoft Corporation:Windows User Experience Interaction Guidelines(2010).
http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx
[3] Apple Inc.: Mac OS X Human Interface Guidelines (2011). http://
developer.apple.com/library/mac/documentation/UserExperience/Conceptual/ AppleHIGuidelines/OSXHIGuidelines.pdf
[4] Cooper, A., Reimann, R. and Cronin, D.:About Face 3 The Essentials of Interac-tion Design, Wiley Publishing, Inc. (2007), (長尾 高弘 訳(2008)『About Face 3 インタラクションデザインの極意』.株式会社アスキー・メディアワークス.).
[5] 長瀬嘉秀,天野まさひろ,鷲崎弘宜,立堀道昭:AspectJによるアスペクト指向 プログラミング入門,ソフトバンクパブリッシング株式会社(2004).
[6] Miles, R.:AspectJ Cookbook, O’Reilly Media (2004).
[7] 五月女健治:JavaCCコンパイラ・コンパイラfor Java,株式会社テクノプレス (2003).
[8] Bendsen, P.: Model-Driven Business UI Based on Maps, inSIGMOD ’04: Pro-ceedings of the 2004 ACM SIGMOD international conference on Management of data, pp. 887–891, ACM (2004).
[9] Plessis, du M. C. and Barnard, L.: Incorporating Layout Managers into an Evolu-tionary Programming algorithm to design Graphical User Interfaces, in SAICSIT
’08: Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries, pp. 41–47, ACM (2008).
[10] Lutteroth, C.: Automated reverse engineering of hard-coded GUI layouts, in Pro-ceedings of the ninth conference on Australasian user interface-Volume 76, pp.
65–73, Australian Computer Society, Inc. (2008).
[11] Lutteroth, C., Strandh, R. and Weber, G.: Domain Specific High-Level Constraints for User Interface Layout, inConstraints, vol.13, no.3, pp. 307–342. (2008)