Presentation is loading. Please wait.

Presentation is loading. Please wait.

マルチスレッド GUI モデル 小笠原啓 有限会社 IT プランニング. Page 2 ゴール  マルチスレッドな GUI ライブラリを OCaml で。  動きのある UI は近頃必須なので、アニメーションを容易にする仕組みを導 入。  GUI 部品のイベント、見かけを自由にカスタマイズできるように。

Similar presentations


Presentation on theme: "マルチスレッド GUI モデル 小笠原啓 有限会社 IT プランニング. Page 2 ゴール  マルチスレッドな GUI ライブラリを OCaml で。  動きのある UI は近頃必須なので、アニメーションを容易にする仕組みを導 入。  GUI 部品のイベント、見かけを自由にカスタマイズできるように。"— Presentation transcript:

1 マルチスレッド GUI モデル 小笠原啓 有限会社 IT プランニング

2 Page 2 ゴール  マルチスレッドな GUI ライブラリを OCaml で。  動きのある UI は近頃必須なので、アニメーションを容易にする仕組みを導 入。  GUI 部品のイベント、見かけを自由にカスタマイズできるように。

3 Page 3 マルチスレッドと GUI  スレッド間情報共有  共有メモリ、メッセージパッシング  描画はマルチスレッド化できない。  副作用は少ないほうがよい。

4 Page 4 Concurrent Cell  CML スタイルのメッセージパッシングライブラリ (Ocaml)  Event ライブラリの上に構築。  スレッドレスな ivar, mvar, mbox(queue) 。  GC も考慮した broadcast チャンネル。  widh_nack, timeout, future, rpc などの便利関数も実装 。

5 Page 5  動き(ビヘイビア. ‘a behavior )を状態の無限リストで表現。動きを宣言的 に記述できる。  ビヘイビアは合成可能(コンビネーター)。  over, fusion, insert, replace, loop  イベントが起きたときにビヘイビアを変化させるコンビネーター。  react : bool event → (‘a behavior → ’a behavior) →‘a behavior → ’a behavior Reactive Programming 状態変化を f : ‘a→’a で記述して、 stream にする。 時間 離散的なタイムラインとみなせる。

6 Page 6 柔軟な GUI 部品  内部状態と表示内容とにずれがないよう、保障してくれる代わりに、イ ベント部分以外の動作を変更できない。  カスタム部品はゼロから作らなければならない。 従来の部品( Model-View-Control) 新しい設計の部品  イベントの受信と状態判定とロジックを一体化。(インタラクション)  子部品とインタラクションの集まりで一つの部品と定義。

7 Page 7 デモンストレーション

8 Page 8 Related and Future Work  Related Work  eXene  Fudget(Gadget)  FranTk  Future Work  CML スタイルのメッセージパッ シングを π 計算でエンコーディング 。  モデルチェックでデッドロック 回避。

9 Page 9 Web Site: www.itpl.co.jp Email: info@itpl.co.jp


Download ppt "マルチスレッド GUI モデル 小笠原啓 有限会社 IT プランニング. Page 2 ゴール  マルチスレッドな GUI ライブラリを OCaml で。  動きのある UI は近頃必須なので、アニメーションを容易にする仕組みを導 入。  GUI 部品のイベント、見かけを自由にカスタマイズできるように。"

Similar presentations


Ads by Google