SlideShare a Scribd company logo
2
Most read
4
Most read
10
Most read
もやもやを解消する
モデリング技術の紹介
細合 晋太郎
株式会社チェンジビジョン
第3回astah関西勉強会「もやもやを分解しよう」
UMLだけじゃない
組合せ爆発のもやもやを解消する
小規模なら真理値表・星取表でどうにかできなくもな
い
愚直に指数なオーダー(O(2^n))を相手にするとヤバい
如何に爆発する前に刈り取るかが重要
組合せ因子+制約をすっきり書けるモデル
→ フィーチャーモデル
ソフトウェアプロダクトライン、製品系列を持つソフトウェア
の構成管理に用いられるモデル
組合せ生成Plugin
クラス図を拡張したFeature Modelから、組合せを生成す
るツールを試作してみました
製品系列, ソフトウェアプロダクトライン
組合せ定義:フィーチャモデル
ソフトウェアプロダクトラインのバリエーションの因子
を記述できるモデル
従来は、システム内のバリエーションを記述すること
が多いが、今回はシステム外のモデリングにも使う
木構造で、小要素に対しMandatory(必須)、
Optional(選択)、Alternative(N個から1つ)、Or(N個
から0~N個)といった制約や、要素間にrequires、
excludesといった制約を加えることで、組合せを制限
することができる
FM例
2019/08/29 ©Shintaro Hosoai SES2019 いまどき、モデルベースド開発
4
要素技術
FM
A B
A1 A2 B1 B2
mandatory
alternative
requires
excludes
葉要素の組合せとして
・A1 - B1
・A1 - B2
・A2 - B1
・A2 - B2
を取りうるが、requires/excludes制約で、
A1-B1, A2-B1の組合せに限定される
組合せ生成:SAT Solver
組合せ生成の高速化のため、フィーチャモデルを
SATのCNF形式に変換し、フィーチャモデルを充足す
る組合せを導出している
一度出た組合せはCNFとして追加し、それ以外の組
合せを導出する
組合せが数万件になる場合でも数十秒で全組合せ
を導出することができる
2019/08/29 ©Shintaro Hosoai SES2019 いまどき、モデルベースド開発
5
要素技術
ドキュメント生成: JETT
各フィーチャにはステレオタイプを付与でき、これを
元にテンプレートエンジンにより組合せ情報をExcel
に出力することができる
2019/08/29 ©Shintaro Hosoai SES2019 いまどき、モデルベースド開発
6
要素技術
環境
天候 風速
<<Weather>>
晴れ
<<Weather>>
雨
<<Wind>>
強風
<<Wind>>
微風
<<alt>><<alt>>
天候 風速
<jt:forEach ...> ${scenario.Weather} ${scenario.Wind} </jt:forEach>
Template
天候 風速
晴れ 強風
晴れ 微風
雨 強風
雨 微風
output.xlsx
Demo
シナリオ生成
環境バリエーション
組合わせテスト
フィルタ・クエリ・ハイライト1,2、Diff
Feature Model記述補助
Import, Balk
実績
当初は、Excelで人手管理していたものが、次第にモ
デルだけで完結するようになり、基本モデルが成熟
することで確認作業が格段に減った
基本環境
モデル
~100因子
シナリオ 約800件
拡張
モデルA
+50因子 拡張
モデルB
+80因子 シナリオ 約10万件
シナリオ 約250件
拡張
モデルC
+50因子 シナリオ 600件
検証意図の明示化
全体俯瞰
検証したい項目の全体構造が俯瞰しやすい。検証アーキ
テクチャを確認できる
網羅性の担保
子として想定しているものが列挙できる
Mandatory、Alternative, Optionで関係を明示できる
スコープの明示化
何を対象とし、何を除外するのか明示できる
制約の明示化
制約にメモを付与することで、なぜその制約を課すのか
明示できる
必要に応じて、GSNと組み合わせることでより説明的に意
図を記述できる
おわりに
UML以外のモデルにもご興味を持って頂けたでしょ
うか?
今回の案件で、モデルやモデリングツールの可能
性を強く感じました
組合せ生成ツールもご相談頂ければ、ご提供できる
かもしれません
astahやモデルに関する
ご相談お待ちしております!
【宣伝】astah system safety
SysML, SCDL, STAMP/STPA, GSN入りの安全論証パッ
ケージ。2月頃リリース予定

More Related Content

PPTX
Beginners guidetoconceptualmodelingbyuml
PDF
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
PDF
DSL駆動によるクラウド・アプリケーション開発
PDF
Azure Machine Learning getting started
PPT
オブジェクト指向入門6
PDF
オブジェクト指向プログラミングのためのモデリング入門
PPTX
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
PDF
AutoML & InterpretML (2019/11/27 Deep Learning Lab 講演資料)
Beginners guidetoconceptualmodelingbyuml
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
DSL駆動によるクラウド・アプリケーション開発
Azure Machine Learning getting started
オブジェクト指向入門6
オブジェクト指向プログラミングのためのモデリング入門
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
AutoML & InterpretML (2019/11/27 Deep Learning Lab 講演資料)

Similar to UMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature Model (20)

PDF
2025/3/11『チームでの未来戦略の描き方』連動セミナー Vol.2での説明資料です
PPTX
Eclipse modeling projectの概要
PPTX
UMLモデルを使った自動生成
PDF
機械学習デザインパターン Machine Learning Design Patterns
PDF
ADO.NET Entity Framework
PDF
Azure Machine Learning アップデートセミナー 20191127
PPTX
Database Modeling (2018)
PPTX
ビジネスアーキテクチャにおける脅威モデリングの実践と改善_2025_05_20.pptx
PDF
20240522 Findy Event ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する.pdf
PPTX
Conceptual Data Modeling Level01 Part01
PDF
What is template
PDF
Modeling by Verb
PPTX
変数の重要度ってどうやったらわかるん?
PPT
UML Not Executable, but Understandable
PDF
ビジネスモデリングによる問題解決型アプローチ
PPTX
Relationship betweenddd and mvc
PPTX
機械学習応用のためのソフトウェアエンジニアリングパターン
PPTX
OpenModelica tutorials_4 Model customization2 (超初級チュートリアル4.モデルのカスタマイズ2)
PDF
SIGGRAPH2017勉強会 Dynamic Fabrication
PPTX
Alloy論理データモデル
2025/3/11『チームでの未来戦略の描き方』連動セミナー Vol.2での説明資料です
Eclipse modeling projectの概要
UMLモデルを使った自動生成
機械学習デザインパターン Machine Learning Design Patterns
ADO.NET Entity Framework
Azure Machine Learning アップデートセミナー 20191127
Database Modeling (2018)
ビジネスアーキテクチャにおける脅威モデリングの実践と改善_2025_05_20.pptx
20240522 Findy Event ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する.pdf
Conceptual Data Modeling Level01 Part01
What is template
Modeling by Verb
変数の重要度ってどうやったらわかるん?
UML Not Executable, but Understandable
ビジネスモデリングによる問題解決型アプローチ
Relationship betweenddd and mvc
機械学習応用のためのソフトウェアエンジニアリングパターン
OpenModelica tutorials_4 Model customization2 (超初級チュートリアル4.モデルのカスタマイズ2)
SIGGRAPH2017勉強会 Dynamic Fabrication
Alloy論理データモデル
Ad

More from Shintaro Hosoai (10)

PPTX
astah関西勉強会#2 STAMP Workbenchではじめる安全分析
PPTX
astah関西勉強会
PPTX
手抜力
PPTX
Mqttで始めるIoT
PPTX
Xtext入門
PPTX
Xtext&Xtend documents
PPTX
Xtext practice
PPTX
Umlとは
PDF
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
PPTX
Eclipse con2010 参加報告 upload
astah関西勉強会#2 STAMP Workbenchではじめる安全分析
astah関西勉強会
手抜力
Mqttで始めるIoT
Xtext入門
Xtext&Xtend documents
Xtext practice
Umlとは
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
Eclipse con2010 参加報告 upload
Ad

UMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature Model