2010/10/4 SPLC 2010 概要紹介 山内 和幸 http://www.exmotion.co.jp/ カンファレンス概要(1) Software Product Line Conference 2010 (SPLC 2010) 概要 SPLEに関する研究者/実践者が一堂に会する国際会議 企業でのケーススタディや経験論文が比較的多いのが特徴 期間: 2010/09/13(月)∼09/17(金) 場所: 韓国,済州島 参加者: 167名(研究者 69.4%,産業界 30.6%) 日本からは20名の参加+多数の論文発表あり SPLEに対する注目が、日本で再び高まりつつある兆候が出ている!? プログラム詳細: http://splc2010.postech.ac.kr/ 産業界からの参加比率が下降傾向にある 例年は50%近くを占めるが……世界的な景気低迷によるコストカットの 影響か? (Kang教授の談) Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 1 1 2010/10/4 カンファレンス概要(2) アジアでの開催ということもあり、アジアからの参加者が多数 韓国(52名)、日本(20名)、中国、シンガポール、イスラエル、イ ランから参加 他は、北米(31名)、欧州(51名)、オセアニア(2名) 論文の内容に、若干変化が出てきている 特に今年は検証、すなわちテスト関連の論文が多かった SPLEの主眼が「生産性」から「品質」へとシフトしている? また、形式手法を応用した事例も出始めてきた カバーする技術の幅が広がってきていると言えるだろう 基調講演に國井秀子氏(リコーITソリューションズ)が登壇! 日本からの基調講演は、松本教授(SPLC2007)に次いで2人目 2 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. カンファレンス概要(3) 日本からの講演・論文一覧(workshopは除く) 内容を知りたい方は、著者にコンタクトを取ることをお薦めします タイトル 著者 基調講演 “SPLE as a Management Strategy – the Meaning and our Experience” Hideko Kunii @ Ricoh IT Solutions 技術論文 “Context-dependent Product Line Practice for Constructing Reliable Embedded Systems” Naoyasu Ubayashi @ Kyushu Univ. Shin Nakajima @ National Institute of Informatics Masayuki Hirayama @ SEC Japan 技術論文 “Non-clausal Encoding of Feature Diagram for Automated Diagnosis” Shin Nakajima @ National Institute of Informatics 技術論文 “A Method to Identify Feature Constraints Based on Feature Selections Mining” Kentaro Yoshimura, Yoshitaka Atarashi, Takeshi Fukuda @ Hitachi Research Lab. 技術論文 “An Experience Report of Introducing Product Line Engineering across the Board” Takashi Iwasaki, Makoto Uchiba, Jun Ohtsuka, Koji Hachiya @ Fujitsu Kyushu Network Technologies Ltd. Tsuneo Nakanishi, Kenji Hisazumi, Akira Fukuda @ Kyushu Univ. Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 3 2 2010/10/4 カンファレンス概要(4) 最優秀論文賞 “Consistent Product Line Configuration Across File Type and Product Line Boundaries”, C. Elsner et al. に決定 Product Line Hall of Fame 今年は該当者なしという結果だった 中国のX線検査システム(空港の荷物検査等)の会社がHall of Fameに ノミネートされた 民間企業というより、国営に近い気がしたが…? 次回はドイツ(ミュンヘン)で開催 期間:2011/08/22∼26 の5日間 SPLE先進国のドイツから、多くの事例が発表されることに期待 詳細:http://splc.net 4 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 印象に残った発表の紹介 全プログラムの内、私が特に興味深く感じたものについて、その概要を紹介します 詳細は、以降のスライドをご覧下さい(多少の誤訳はご容赦を...) その他について、興味のある方はproceedingsをご覧下さい タイトル 要約 基調講演 #1: “Issues and Challenges in Embedded Software Development for Consumer Electronics Industry in Korea” HPやSamsung, LGといった世界企業で要職を歴任して きたRyu氏が、携帯電話やディジタルTVの開発での経 験を講演。 基調講演 #2: “The Truth about Model-Driven Development: who’s doing it, how and why?” 英国ランカスター大学のWhittle教授が、MDDの現在 の状況や、成功/失敗につながる要因、SPLEとの関係 や展望について講演。 パネルディスカッション: “The Rise and Fall of Product Line Architectures” “Product Line Success in Cultural Diversity” “The Many Paths to Quality Core Assets” PLコミュニティで活躍するメンバーが、3つの議題に 関してそれぞれ討論。 技術論文 #1: “Usage Context as Key Driver for Feature Selection” 従来のフィーチャモデルを、使用コンテクスト/品質 特性/製品フィーチャの3つの可変性モデルに分け、 それらのマッピングによりフィーチャ選択を行う手法。 技術論文 #2: “Consistent Product Line Configuration Across File Type and Product Line Boundaries” 複数のサブPLから構成される製品群において、それぞ れが異なる可変性(特に制約)の管理方法を用いてい る場合に、それらを画一的に扱う手法の提唱。 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 5 3 2010/10/4 基調講演 #1 “Issues and Challenges in Embedded Software Development for Consumer Electronics Industry in Korea” Dr. In Kyung Ryu @ Korea Embedded Software Industry Association 6 基調講演 #1(1) HPやSamsung, LGといった世界企業で要職を歴任してきたRyu氏が、 携帯電話やディジタルTVの開発での経験を講演 本講演は、特にLGでの5年間の経験に基づくものとのこと LG:言わずと知れた、韓国を代表する電子機器メーカ 約15,000人のエンジニアの内、5,400人がソフトウェア技術者 他の企業と同様、ソフトウェアの肥大化は頭痛の種 コードサイズ 携帯電話: 20MLOC ディジタルTV: 6MLOC 規模の増大に伴い、欠陥の多くもソフトウェアに起因 携帯電話では全体の2/3, ディジタルTVでは全体の1/3がソフトウェア に関連している ゆえにソフトウェアは、今やQCDを決定する上でのキー要因となった Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 7 4 2010/10/4 基調講演 #1(2) LG vs. Apple(戦略の対比) 可変性 アプリケーション開発 LG 多 3rd-party Apple 少 in-house 実際、携帯電話において、LGでは100以上のベースモデル/2,000以上 のローカルモデルが存在する なぜこれほど多くの可変性が発生? 各製品は特有の要素をもつ − しかし、それらは非常に似ている 多くの違いは企業内部の事情から発生(チップや実装手法の違い等) 本質的にはほとんど同じ ゆえに、SPLの適用が効果的と期待される Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 8 基調講演 #1(3) ソフトウェア開発で成功を収めた企業 Microsoft, Oracle, Adobe Google, Yahoo IBM, EDS Siemens, Nokia, BMW これらの企業とは、抱えている課題が異なる 参考にすべきはこれらの企業 LGの取り組み (SPLというより)プラットフォーム/コンポーネントベース開発 複雑性をコントロールするために、divide & conquerを実施 しかし、分割されたコンポーネントは独立ではなく、互いに関連している よって、これらのコンポーネントをどう整理し、その開発に携わる 人々を互いにどう組織するかが課題だった 技術面だけでなく、組織/プロセス/人材の問題も同時に対処しなければ ならなかった 全体的なアプローチが必要 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 9 5 2010/10/4 基調講演 #1(4) LGの取り組み(続き) 以下のようなP/Fを構築し、再利用を促進 App. LG software P/F chipset software P/F App. RTOS device drivers development environment App. App. hardware どのレベルのアプリケーションが必要かは ものによって異なる 開発環境やツールを統一 その他にも、様々な取り組みを実施 単体テストの徹底、PCベースシミュレーションの推進、プロジェクト 型 マトリクス型の組織への変更、テクニカル・ライティング技術の 強化、etc. Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 10 基調講演 #1(5) 教訓 技術的な課題よりも、政治的な課題の方が大きい 他者を信用し、理解することが重要 特に、コンポーネント開発のように複数の開発部署に分かれる場合 また、企画/UI設計/ソフトウェア開発/QAなどを超えた連携も必要 段階的 or ビッグバン? 組織によって異なる コンシューマ・エレクトロニクス分野はSPLの適用に適している しかし、適用のための準備ができていない/能力が足りないのが現状 iPhoneやAndroidといったミドルウェア・プラットフォームが、こ れまでの状況(常識)を大きく変えようとしている これにより、SPLの適用に拍車がかかる可能性あり? Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 11 6 2010/10/4 基調講演 #1(6) 感想 SPLの適用事例として、コンシューマ・エレクトロニクス製品の例は意 外と少ない よい情報源となり得る やっていること自体はそれほど特別なことではない 多くの企業と同じ課題に直面し、同じようなソリューションを採っている 「技術的な課題よりも、政治的な課題の方が大きい」とのことだが、 政治的課題にメスを入れるには、Ryu氏のような権限を与えられたカリ スマが必要なのかもしれない コンシューマ・エレクトロニクス分野は変化が早く、SPLには向かない という意見も多く聞かれるが、Ryu氏は「適している」と言っている この分野での適用が活性化することを期待したい 今後、オープンソース化の波やPCの技術が、コンシューマ・エレクト ロニクス製品の開発にどのような影響を与えるかは、要注目だろう iPhoneのようなビジネスモデルが主流になるかもしれない?! Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 12 基調講演 #2 “The Truth about Model-Driven Development: who’s doing it, how and why?” Prof. Jon Whittle @ Lancaster University 13 7 2010/10/4 基調講演 #2(1) 英国ランカスター大学のWhittle教授が、 Model-driven Development(MDD)の現在の状況や、成功/失敗につながる要因、 SPLEとの関係や展望について講演 MDDは様々な呼び名があるが、どれも基本的には同じ model-driven architecture model-driven engineering model-based software development model-based design model-integrated computing domain-specific modeling そもそもモデルとは? − 以下の2つを満たすもの 抽象化 目的に対する適合性 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 14 基調講演 #2(2) MDDが上手くいく/行かない要因 技術的要因 コードは書かなくて済む しかし、既存システムとの統合(合わせ込み)が必要 人的要因 教える側にとって教えやすい 教わる側は、より多くの訓練が必要 組織的要因 全組織規模の標準化を促進する 一方、過酷で厳密な管理が必要 Project EAMDE MDDがどのように適用されているかを広く調査したプロジェクト 詳細は http://www.comp.lancs.ac.uk/~eamde/ Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 15 8 2010/10/4 基調講演 #2(3) 【調査結果】どのモデリング言語を使用しているか? 全調査対象中、当該言語を使っている実践者の割合 モデリング言語 割合(%) UML > 80 BPMN > 20 Vendor DSL > 20 In-house DSL < 40 SysML < 15 Matlab/Simulink < 10 UMLが多いのは予想どおりだが、以外にDSL(特にin-house)が多い ことは注目に値する 汎用言語では、企業独自のニーズを必ずしも満たせないということだ ろう Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 16 基調講演 #2(4) 調査を通じて得られた4つの発見 MDDの成功の多くは公になっていない 汎用モデリング言語より、DSLを好む傾向がある – 企業は特定用途向けに、独自のコードジェネレータを書いているケースが多い – 一方で、システム全体を自動生成することは、それほど行われていない コード生成に囚われ過ぎ 非機能要件をコードジェネレータに組み込むのは難しい 調査の回答者は、システム全体の65∼100%をコード生成しているが、生産 性の向上率は-27%∼800%まで様々 MDDの真の効果はもっと幅広い コード生成による生産性の向上よりも、品質/アーキテクチャ/再利用の 向上に効果がある – MDDはより明確な設計やアーキテクチャをもつ傾向がある MDDは新しいものを可能にしなければならない 単に今できることをより速くするのではなく Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 17 9 2010/10/4 基調講演 #2(5) MDDの心理学 アーキテクトはMDDが好き コード至上主義者(code guru)はMDDが嫌い 趣味でソフトウェア開発をしている人も同様 大抵の場合、中間管理職がボトルネック MDD権威者(MDD guru)は開発者かドメインエキスパートのようだ MDDはソフトウェア開発企業でない方が成功する ドメインエキスパートは抽象的に物事を考えられるが、ソフトウェア技術 者はそれができない かなり的を得ているのでは? 皆さんそう思いませんか? Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 18 基調講演 #2(6) 実践者への助言(Top 10) 1. 2. 3. 対象ドメインを厳格に、狭く保て 十分に文書化され、理解されているドメインをターゲットとせよ MDDを(プロセス上の)クリティカル・パスに置け やらなくても済むものにしてはダメ 9. (開発の)始めから取り組んだ時、MDDは最も上手くいく 別の場所で相殺される利益(効果)に注意せよ コード生成ばかりに気を取られるな 皆が抽象的に物事を考えられるわけではない 大抵のプロジェクトは、規模を拡大しようとした時に失敗する 人々のものの考え方にツールやプロセスを適合させよ 10. そう、たったの9つだけだ 4. 5. 6. 7. 8. 逆ではダメ Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 19 10 2010/10/4 基調講演 #2(7) 感想 EAMDEの調査結果は非常に興味深い 是非ウェブサイトを見に行くことをお薦めします http://www.comp.lancs.ac.uk/~eamde/ MDDが何に効くかは、意見が分かれるところだろう 確かに、設計の安定による品質の向上は大きい しかし、最も効果的に働くにはコード生成が不可欠と思う いずれにせよ、上手く適用することで、様々な効果が得られることは間違 いないと言える 「実践者への助言」は、十分に肝に銘じておきたい 非常に簡潔だが、極めて重要なものばかり 日本では一時期ほど盛り上がりがなくなったが、本講演を聞いて、新 たなMDDの可能性を感じることができた Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 20 パネルディスカッション 1. “The Rise and Fall of Product Line Architectures” 2. “Product Line Success in Cultural Diversity” 3. “The Many Paths to Quality Core Assets” 21 11 2010/10/4 パネルディスカッション(1) メインセッションの各日にパネルディスカッションを実施 1. “The Rise and Fall of Product Line Architectures” PLAについて、実践経験豊富なアーキテクトを中心に、参加者が自由に 議論(goldfish bowl形式) 2. “Product Line Success in Cultural Diversity” PL開発の成功において、文化的な違いが存在するのかどうか、コミュ ニティを代表するパネリストが討論 3. “The Many Paths to Quality Core Assets” コア資産の品質を高めるためにはどうすべきかを、コミュニティを代 表するパネリストが討論 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 22 パネルディスカッション(2) どのパネルでも、今年はかなり意見が割れた感があった どれも明確な答えが存在する議題ではない だからディスカッション するわけだが… 参加者の関心事が多様だったことも影響している とはいえ、以下の点に関しては共通した認識のようだ PL開発において、アーキテクチャの果たす役割は極めて大きい 技術的側面は当然のこととして、ビジネスや組織構成に対する影響をもつ 文化の違いは確かにある − 国/地域というよりも、組織文化の違いが 与える影響が大きい 文化の違いに合わせたアプローチを採ることが必要 可変性を適切に管理することが、全体の品質を維持する上で重要 どのような手法/モデルを使うかは、組織の状況に合わせればよい 著名人の意見を生で聞きたい方は、是非来年のSPLCへ! Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 23 12 2010/10/4 技術論文 #1 “Usage Context as Key Driver for Feature Selection” Kwanwoo Lee and Kyo C. Kang 24 技術論文 #1(1) 概要 これまで筆者らは、フィーチャモデル中に品質特性(非機能要件)や使用環境 も含めてモデル化し、階層構造を形成することを提案してきた しかし、システムが巨大になるとモデルが複雑化し、「フィーチャモデルはで きるだけシンプルであるべき」というKang教授の言葉とは逆の現象が起きる そこで本論文では、従来1つのフィーチャモデルで表現してきたものを、使用 コンテクスト/品質特性/製品フィーチャの3つに分けてそれぞれモデル化す る手法を提案 これらの表記法は、従来のフィーチャモデルの 表記法を使用 【フィーチャモデル】 Product Family UC A B C 【使用コンテキスト可変性モデル】 (Usage Context Variability Model) D QA E F G 【品質特性可変性モデル】 (Quality Attribute Variability Model) H PF I J K 【製品フィーチャ可変性モデル】 (Product Feature Variability Model) Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 25 13 2010/10/4 技術論文 #1(2) 概要(続き) 3つのモデルは、それぞれ他の2つのモデルとのマッピングが取られる UC-QAマッピング QA-PFマッピング UC-PFマッピング ある可変性モデルでの選択が、他のモデルと矛盾していないかどうかが、これ らのマッピングをチェックすることで検証可能 【ドメイン知識モデル】 UC QA PF 各可変性モデル間の対応表 UC-QA マッピング QA-PF マッピング ここで、それぞれの選択が他のモデルと 矛盾・競合しないかがチェックできる UC-PF マッピング Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 26 技術論文 #1(3) 感想 使用コンテクストや非機能要件を製品フィーチャと分離し、別々にモ デル化する手法は、他の論文でも紹介されていた 特に近年は、フィーチャ選択とコンフィグレーションに関する多くの論文 が投稿されている 本論文は、これらを包括したような内容となっている フィーチャを種別で分離し、それらのマッピングを取り、コンフィグ レーションを行うという一連の流れを、システマティックに説明して いるという点で、非常に理解しやすい論文である ある種の ”Separation of Concerns” と言える 一方で、これまで主張してきたものを翻し、新たな提案をしてきたと いうことは、フィーチャモデルの実開発への適用が進み、多くの フィードバックが得られていることを表わしているのだろう 巨大なシステムを扱う産業界では、既に同様のことを(これほどシステマ ティックではないかもしれないが)やっているのではないかと思われる Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 27 14 2010/10/4 技術論文 #2 “Consistent Product Line Configuration Across File Type and Product Line Boundaries” Christoph Elsner, Peter Ulbrich, Daniel Lohmann and Wolfgang Schroeder-Preikschat 28 技術論文 #2(1) 本論文は、最優秀論文賞に選ばれた論文 概要 複数のサブPLから構成される大規模なPL環境においては、各サブPLで異なる可 変性の管理手法を使うことがあり得る このような場合、各サブPLの中で定義されている制約が、他のサブPLでの可変 性の決定に影響を与え得る 時に矛盾が発生しうる この問題を解決するための手法を提唱 【例: I4Copter Architecture】 アプリケーション層のサブPLでは、Cプリプロセッサ・ ディレクティブで可変性を管理 CopterSwHw OR これらの間の矛盾をどうやってチェックするか? PXROS 商用RTOSのサブPLでは、可変性の記述に DSLが使われている CiAO 内製RTOSのサブPLでは、フィーチャモデル (with pure::variants)を採用している Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 29 15 2010/10/4 技術論文 #2(2) 概要(続き) 可変性の実現・管理手法によって、制約を記述しているファイルのタイプが違 うと仮定 Cプリプロセッサ・ディレクティブ ヘッダファイル DSL テキストファイル(この例では) フィーチャモデル(with pure::variants) XMLファイル これらを一度、共通の記述に変換し、各サブPLで定義されている制約間の依存 関係を抽出 Cプリプロセッサ・ ディレクティブ DSLファイル (テキストファイル) 変換/マッピング これを使って、サブPL間の制約の 一貫性をチェック 各サブPLの制約間の依存関係 (OCL, XPand Check, etc.) XMLファイル この仕組みを実現するフレームワーク(PLiC Framework)を開発 Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 30 技術論文 #2(3) 感想 近年、システム規模は増加の一途である上、1社で全てのソフトウェ アを開発するケースは少なく、システムが複数のサブシステムで構成 されるケースは非常に多い このような状況では、本論文で示されるように、各サブシステムが個 別に可変性管理手法を導入することも大いに有り得る 現実には、サブシステムがPL化しているケースはまだ少ないかもしれない が、近い将来に現実味を帯びてくるだろう 本手法はその詳細設計まで含めて完成度も高く、こういったケースで は有用な技術となると感じた 最優秀論文となった理由は、その手法の完成度が高く評価されたためと思 われる Copyright© 2010 eXmotion Co., Ltd. All rights reserved. 31 16
© Copyright 2026 Paperzz