Integrated Graphical Representations for Development of Programs with Real-world Input and Output

(邦訳:実世界入出力を伴うプログラムの画像表現を用いた開発支援手法)
 
加藤 淳
産業技術総合研究所 情報技術研究部門 研究員

[背景]大量のデータを扱う実世界指向プログラムの増加
[問題]
既存の統合開発環境(IDE)は文字表現に特化
[貢献]
画像表現を用いるIDEでプログラミング体験向上

 近年,プログラムが処理する入出力データの種類が豊富になってきている.マウス,キーボード,ディスプレイという従来型入出力に加え,カメラや深度センサから得られる映像情報や人の姿勢情報,アクチュエータの出力を制御するためのロボットの姿勢情報など,実世界入出力を伴うプログラムが一般的になりつつある.

 現在主流の統合開発環境(Integrated Development Environment, IDE)は,従来型入出力を伴うプログラム開発のために設計されている.従来型入出力ではデータの取りうる値はあらかじめ定数で定義されており,データのやり取りはキーの打鍵などの度に断続的に生じる.このような情報は文字や記号で分かりやすく表現でき,IDEは,文字や記号ベースのユーザインタフェースを提供することでプログラム開発を効果的に支援してきた.

 一方,実世界入出力では,実世界にある情報をサンプリングしてコンピュータで扱うため,複雑な構造のデータが連続的にやり取りされる.このような情報は文字や記号では直感的に提示できない.プログラマが既存のIDEを用いて実世界入出力を伴うプログラムを開発する際には,実世界のことがらを文字や記号といった非直感的な表現で書き下し,プログラムの実行状態を非直感的な表現を通して理解するような苦行を強いられる.

 この表現の溝をなくす試みとして,例示をもとにシステムがプログラムを推論,実行してくれる例示プログラミング(Programming by Example, PbE)が提案されている.PbEは,実世界のことがらを実世界で提示でき,何が起きるかその場で確認できるために前出のような問題は生じない.しかし,ロジックを精密に設計することが難しい欠点がある.

 本論文では,文字列表現を用いたプログラミングにおいて,PbEのようにシステムに例示した実世界入出力のデータを活用するワークフローをProgramming with Example(PwE)と定義した.そして,PwEを支援するために,実世界由来の例示データを画像表現で表してIDEに統合する手法を提案した.これは,精密なロジックを設計できる文字ベースのプログラミングと,実世界の直感的な表現を利用するPbEの「いいとこ取り」を目指した手法である.具体的には,実世界入出力を伴うプログラムをout = f (in, c)というモデルで表し,その構成要素を画像(c),動画(in, out),インタラクティブに操作可能な動画像(f)という3種類の画像表現で表す手法を提案した.各々Picode, DejaVu, VisionSketchというIDEのプロトタイプを実装し,ワークショップ開催やプロによる試用などを通して,プログラミング体験の向上を確認した.詳細についてはhttp://ide.digitalmuseum.jp/jaを参照されたい.

 本論文では実世界入出力のなかでも視覚的な情報を扱ったが,音や触感,匂いや味などを利用するアプリケーションも同様に重要である.このような実世界入出力を伴うプログラムの開発では例示データを活用する必要があるため,私は,本研究の知見がそのようなプログラムの開発支援手法における重要な基盤を担うと信じている.

 

 (2014年6月10日受付)
取得年月日:2014年3月
学位種別:博士(情報理工学)
大学:東京大学



推薦文
:(ヒューマンコンピュータインタラクション研究会)


実世界入出力を伴うプログラムの開発では,入出力データは実世界における状況や,状況の時間変化を表しており,文字列表現ベースの既存の統合開発環境(IDE)では直感的にデータを表現できない.本推薦論文では,この問題に対して,画像表現を活用したIDEの研究開発を行い,その効果を十分に検証した.


著者からの一言


五十嵐先生,坂本先生,多分野にわたる主査副査の先生方と研究室の皆様のお世話になりました.MicrosoftやAdobeでの海外研究インターンでは メンターに恵まれ大変よい経験を積めました.この場を借りて御礼申し上げます.なお,博論執筆の最中に遠隔地のインターンへ行くことはお薦めしません.寿命が縮みます.