Metamouse

  • 図形の編集操作から編集プログラムを自動生成
  • Create a program based on editing history
  • プログラムをプロダクションルールの集合として表現
  • Program = a set of prodution rules
    • e.g. 「上に移動させた直線が矩形に接したとき直線の長さだけ矩形を移動させる」
    • e.g. If a line touches a rectangle, move the rectangle for the length of the line
    • ループも表現可能
    • Loop operation can be generated
  • 「接する」「交わる」といった幾何的条件を重視
  • Use geometric constraints (touch, cross, etc.)
  • システムの推論誤りを修正しながら正しいプログラムを作成
  • Inference errors can be corrected by user
  • 単一の例からでも変数や制約を抽出したプログラムを生成
  • 似たようだがちょっと違う例があるときは、より詳細な条件をもつruleが生成され、条件分岐のように働く
  • ユーザが以前の操作と完全に同じ操作を始めたときは、すぐに次の行動を予測して提示