DCI Tokyo 2
イベント内容
DCI Tokyo 2 - Commonality / Variability Analysis: Practical MPD
今年(2018年)1/10(水)のDCI Tokyo 1から2ヶ月、再びJames Coplienさんを招いてトークセッションを開催します。
今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 です。
皆様のご参加をお待ちしております。
James Coplien氏について
Eric Evans氏による書籍『ドメイン駆動設計』(2003年)に先駆けること5年、日本ではソフトウェアパターンやアジャイルのリーダーとして知られるJames Coplien氏は、書籍『マルチパラダイムデザイン』(1998年)でドメインとドメイン間の関係を中心に据えた設計パラダイムを提唱しました。
『マルチパラダイムデザイン』から11年後となる2009年、Coplien氏はTrygve Reenskaug氏(MVC, OOramの考案者)とともにDCIアーキテクチャを発表(The DCI Architecture: A New Vision of Object-Oriented Programming)、クラスベースの静的なモデルではなく、オブジェクトベースの動的なモデルを指向し、従来のオブジェクトモデルが捉えられていなかった「手続き」を、オブジェクトモデル上のインタラクションで捉える、具体的な方法に言及しました。
その翌年(2010年)、Coplien氏はGertrud Bjørnvig氏(Coplien氏の奥様)とともに書籍『Lean Architecture』を上梓、トヨタ生産方式をソフトウェアアーキテクチャに適用するリーンアーキテクチャについて、DCIアーキテクチャをそのビルディングブロックと位置づけた具体的な方法を記述しました。
DCI Tokyoについて
Lean Architecture / DCI Eveningの参加者を中心に、Lean Architecture / DCIを継続して学習する意欲を持つ人々により結成されたグループです。Coplien氏、Gertrud氏のトークセッションや講演のサポートに加えて、Lean Architecre / DCIに関する情報の集積や発信を企図しています。
開催要項
開催日
2018年3月27日(火)
タイムスケジュール
時刻 | 内容 |
---|---|
19:00 | 受付開始 |
19:30 | セッション第1部開始 |
20:30 | セッション第1部終了 |
21:00 | セッション第2部開始 |
22:00 | セッション第2部終了、後片付け開始 |
22:30 | 閉会 |
本タイムスケジュールは予告なく変更される場合があります。あらかじめご了承ください。
*1 セッションは英語で行われます。通訳による同時または逐次翻訳を行います。
*2 この時間内にスポンサーによるショートセッションを予定しています。
参加方法
NOTE: 貴重な機会であること、人数に限りがあること、ケータリングまたはデリバリーの手配を伴うことから、申し込みいただいた方は可能な限り当日ご参加いただけることを前提に考えております。
もし、当日参加できるかどうかわからない(少々遅れる等は構いません)という方がいらっしゃいましたら、参加できる方を優先するため、ご辞退をお願いできればと存じます。
- 一般の方は、参加枠 一般 をお選びの上お申し込みいただくようお願いいたします。
- object-compositionメーリングリストの方は、参加枠 object-composition をお選びの上お申し込みいただくようお願いいたします。
参加費用
- 懇親会費用として
1,000
円 を集金させていただきます。
会場
特記事項
撮影について
本イベントでは、トークの写真・動画撮影を行います。登壇者を写す予定ですが、他の方も映り込む可能性がありますのでご了承ください。また撮影した写真・動画は現時点では公開を予定していませんが、後日、YouTube に公開する可能性があります。
スタッフ
名前 | ロール | |
---|---|---|
久保 | 幹事 | @iteman |
山根 | 副幹事 | @spring_kuma |
川辺 | 副幹事 | @kawakawa |
勢田 | 事務 | @kseta19 |
花井 | 交渉窓口 | @hanahiro_aze |
大野 | 通訳 | @ganchiku |
澤田 | 通訳 | @remore |
参考
杉本啓(@sugimoto_kei)さんによるリーンアーキテクチャの解説
問題に対応する際に、機能、形態、構造の三つ組があるとの考え方は興味深い。普通は、機能と構造の2つで考える。形態とはその2つの間にある、ドメイン固有の型みたいなもの。それがリーンアーキテクチャ。だからリーンアーキテクチャは、ドメイン中立どころか、ドメインを深堀りして見出すもの。 https://t.co/nwlmQknHYl
— 杉本啓 (@sugimoto_kei) 2017年12月13日
簡単な例で、ソートという問題を解くと、①ソートされるモノ、②その容器(リスト)、③順序付け規則、④ソートアルゴリズムの4要素が現れる。これがソートの「形態(フォーム)」でありアーキテクチャ。各要素を具体的に実装するとき「構造」が現れる。これらは全体としてソート「機能」を提供する。 https://t.co/Y8DY5F2UIO
— 杉本啓 (@sugimoto_kei) 2017年12月13日
こうした「形態」は、コプリンさんのマルチパラダイムデザインでは「共通性」と呼ばれる。ソート問題の解決領域に通有的に表れるから。一方、構造は「可変性」と呼ばれる。リーンアーキテクチャは深いところでマルチパラダイムデザインにつながっている。共通性はアーキテクチャなんだ。 https://t.co/3efEylyTh5
— 杉本啓 (@sugimoto_kei) 2017年12月13日
書籍
リーンアーキテクチャ
マルチパラダイムデザイン(Multi-Paradigm Design: MPD)を下敷きにしつつLean ArchitectureとDCI(data, context and interaction)アーキテクチャによる設計を解説する書。James O. Coplien氏によると、DCIアーキテクチャとは「オブジェクトを使った、人々が問題を解決するために彼らの頭に持ち込む操作のモデルに応じたソフトウェアの構造化」であり、「手続き・オブジェクトパラダイムの重要な要素を組み込んだMPDの拡張サブセット」である。クラスベースの静的なモデルではなく、オブジェクトベースの動的なモデルを指向し、従来のオブジェクトモデルが捉えられていなかった「手続き」を、オブジェクトモデル上のインタラクションで捉えることを試みる。MPD同様、ドメイン駆動設計(Domain-Driven Design: DDD)と多くの点でオーバーラップする。「境界付けられたコンテキストはDCIのコンテキストよりもドメインモデルにより似ている」
マルチパラダイムデザイン
マルチパラダイムデザイン(Multi-Paradigm Design: MPD)は、James O. Coplien氏の提唱する設計パラダイム。MPDは、認知言語学の現代的なカテゴリー理論に基づく共通性・可変性によって、問題をドメインとドメイン間の関係によって構造化(第1段階のドメインモデル=アーキテクチャを作成)し、ソリューションドメインの提供する抽象によってそれらを再定義・洗練(第2段階のドメインモデル=アーキテクチャを作成)するものである。ユビキタス言語(≒ドメイン辞書)、モデル駆動設計、境界付けられたコンテキスト(≒MPDのドメイン)等、ドメイン駆動設計(Domain-Driven Design: DDD)と多くの点でオーバーラップするため、本書を理解することはDDDの理解にも役立つ。なお、日本語版の内容は2000年の博士論文バージョンに基づいている。時系列は Multi-Paradigm Design for C++ (1998) -> Multi-Paradigm Design (Ph.D. Thesis) (2000) -> マルチパラダイムデザイン (2001) となる。
関連リンク
- "Lean Architecure" at DCI Tokyo Review in Osaka Dec 8.2017
- 20171207 Gaiaxエンジニア勉強会 プログラマーのためのDCIアーキテクチャ一夜漬け
- Frameworks We Live By: Design by day-to-day framework development: Multi-paradigm design in practice at DDD.rb #5
- FullOO Home Page
- Interview with James Coplien – INNOVATION ROOTS
- PHP Mentors -> DCI Tokyo 1 - Lean Architecture by James Coplien - が開催されました(前編)
- PHP Mentors -> DCI Tokyo 1 - Lean Architecture by James Coplien - が開催されました(後編)
- PHP Mentors -> 「Lean Architecture / DCI Evening」参加レポート
- Six wise men and the elephant (六人の賢者と象)
- The DCI Architecture: A New Vision of Object-Oriented Programming (和智さんによる日本語訳
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。