目次

  1. インタフェースのプログラミング
  2. 最終レポート課題
  3. ユーザインタフェース部分
  4. インタフェース作成の面倒さ
  5. インタフェース作成の面倒さ (cont'd)
  6. リアルタイム性
  7. 様々な要素技術
  8. アプリケーション部とインタフェース部の交錯
  9. AppとI/Fの分離
  10. 分離の困難さ
  11. 並列処理
  12. 並列処理 (cont'd)
  13. 例外処理
  14. エラー処理記述の面倒さ
  15. 柔軟性/頑強性
  16. ユーザ補助機能
  17. 評価/再設計の繰り返し
  18. 関連技術
  19. 関連技術 (cont'd)
  20. 関連技術 (cont'd)
  21. 解決法1: UIMS
  22. Seeheimモデル
  23. UIMSの問題点
  24. 解決法2: UI記述言語
  25. Languages for Developing User Interfaces
  26. UI記述言語の問題点
  27. 解決法3: ツールキット
  28. 各種のグラフィックツールキット
  29. オブジェクト指向ツールキット
  30. UIツールキットの問題点
  31. UIツールキットの問題点 (cont'd)
  32. 解決策4: 状態遷移プログラミング
  33. 状態遷移機械の問題点
  34. 拡張状態遷移機械
  35. 状態遷移プログラミング
  36. 状態遷移プログラミング例
  37. 変換後のソース
  38. 解決策5: 並列プログラミング
  39. ツールキットの並列動作
  40. 並列プログラミングの問題点
  41. 解決法6: インターフェースビルダ
  42. インターフェースビルダ
  43. NeXTのインタフェースビルダ
  44. Xcodeのインタフェースビルダ
  45. インターフェースビルダの問題点
  46. 解決法7: 制約プログラミング
  47. 参考: Cinderella
  48. Ivan SutherlandのSketchpad
  49. 制約システムの問題点
  50. 解決法8: 例示プログラミング
  51. Viscuit
  52. 例示システムの問題点
  53. どうするのがよいか?
  54. 工夫のいろいろ
  55. From scratch, 小規模システムの場合
  56. From scratch, 大規模システムの場合
  57. ウィンドウシステムの場合
  58. プロトタイプシステムをとりあえず動かす場合
  59. ツールの実例1: Flex
  60. Flex適用例
  61. C出力
  62. ツールの実例2: Linda
  63. Lindaモデル
  64. 8-Queen
  65. Lindaによる解法
  66. 端末インタフェースをもつ8-Queenプログラム
  67. ウィンドウインタフェースをもつ8-Queenプログラム
  68. End