Microsoft Office ドキュメントのバリアント管理
バリアントごとにドキュメントを手作業で編集することは多くの工数が必要であり、また間違いの原因にもなります。Pure Variants では、マスタードキュメントからバリアントごとのドキュメントを自動的に生成することができます。 この資料ではサンプルプロジェクトを用いて、バリアント管理されるExcel ドキュメントの利用方法を紹介します。基本的なコンセプトはバリアント管理する対象に共通であり、容易に利用できるExcel を用いて、プロダクトライン開発のバリアント管理のイメージを理解いただくことを目的にしています。

バリアントごとのテキストを生成
このチュートリアルでは、Pure Variants でバリアントごとにドキュメントを生成する方法を紹介します。ここでのドキュメントは、英語や日本語など言語によらずにテキストやXML などあらゆるフォーマットのものであり、仕様書やソースコード、make 用のファイルなどが想定されます。 最新版(ver5)に合わせて更新して内容を強化しました。
バリアント管理能力を比較
ソフトウエアプロダクトライン開発のバリアント管理には、専用に開発されたツールが必要です。
その理由を Pure Variants と Excel の比較、各種開発支援ツールとの比較表 にてご紹介します。
CSV インポーター機能
CSV ファイルでフィーチャを管理している場合、CSV インポーター機能を使えば、Pure Variants のフィーチャモデルとしてインポートできるので、既存の管理環境から容易に移行させることができます。
Pure Variants API JavaScript
Pure VariantsにはAPIによるJavaScriptインターフェースが提供されていますので、外部に定義した一連のフィーチャをPure Variantsのフィーチャモデル(*.xfm)としてインポートすることや、バリアント定義モデル(*.vdm)上の選択内容を変更することができます。この資料ではバリアント定義モデルの設定を、外部のファイルに定義したフィーチャの選択情報や属性値で変更する例を通じて、Pure VariantsのAPIによるJavaScriptインターフェースについて紹介します。
*フィーチャモデルの外部定義とインポートについての説明も、最後のページに追記しました。
PLEのバージョン管理
Eclipseのプラグインツールである Pure Variants は、Eclipse のチームプロバイダーインターフェイスに対応する、あらゆるバージョン管理システムをサポートします。そして資産のスーパーセットとバリアントの双方に並行して行われる変更は、比較やマージ機能を用いて支援されます。以下のGitHubを例にした動画では、プロダクトライン開発における構成管理のワークフロー、およびフィーチャモデルの変更作業を紹介します。これら動画の基になった Webセミナー(英語) もご参考ください。
GitHubを例にワークフローを紹介
バリアントの比較・マージ機能
複数のVDM(バリアント・ディスクリプション・モデル)を比較させて、それら製品バリアントが持つ同じ、もしくは異なるフィーチャの抽出や、それらをマージする機能について紹介します。
動画デモ
フィーチャモデルと
バリアントモデル
フィーチャモデルから、新しいバリアントを構成する過程で、フィーチャ間の制約やルールで効率良く、間違いの無い構成が行えることを紹介します。
バリアントモデルの
クローン、継承
既存のバリアントモデルをクローン、継承する方法を紹介します。
フィーチャ間の制約
フィーチャ間の制約設定(Relation、Constraint、Restriction)について、紹介します。
変更の影響分析
バリアント管理時の様々な変更に対する影響分析機能について、3つの例を紹介します。
例1:フィーチャ名が変更された
例2:バリアントのフィーチャ選択内容が変更された
例3:要件が追加・変更された
Partial Configuration
スーパーセットとなるプロダクトライン(150%)から、サブプロダクトライン(120%)を部分派生させて、そこから個々のバリアントを生成させます。サプライヤーが異なるOEM向けに、あるいはOEMが車のタイプ別にサブプロダクトラインを部分派生させる、といった用途があります。
Enterprise Architect
全ての資産のスーパーセット(150%モデル)上でバリアントに選択される状態をプレビューさせること、バリアント固有のモデルを生成させることを紹介します。
Pure Variants connector for Enterprise Architect
Mathworks Simulink®
バリアントを指定する特別なブロックをモデル上に追加することで、バリエーションポイントを定義します。そして、それらバリエーションと構成情報を管理し、各種バリアントを自動生成することができるようになります。
Pure Variants connector for Simulink
事例
Daimler社
ダイムラー社では、Simulink(R) モデリング時に、Pure Variants を用いて体系的なバリアントとバライアビリティの管理を実施し、Mercedes-Benz(R)シリーズの開発に適応しています。この事例紹介が (独)Elektronik Automotive 誌と、Mathworks Automotive Conference(独 Stuttgart 6月)で発表されました。
Danfoss社
Danfoss 社では、製品である周波数コンバータのソフトウエア開発アプローチを変革することで、ソフトウエアプラットフォームから製品を組み立てられるようになりました。多くのマニュアルプロセスを排除し、プロダクトライン開発導入以前と比較して、少ない開発者、少ないコードで、多くの製品を生み出せるようになりました。また当初の目的ではありませんでしたが、資産の品質が向上して、製品の欠陥が飛躍的に削減されたことも報告されています。
Danfoss 社は、プロダクトライン・ライフサイクルの全フェーズのにPure Variants を用いています。pure-systems 社は、プロダクトラインのアーキテクチャ設計、ツールの統合、定期的なレビューとコーチングなどを通じて、Danfoss 社のプロダクトライン開発への取り組みを支援してきました。
以下に公開される資料では、段階的にプロダクトライン開発に取り組んだことや、継続的に変更・追加される資産をバリアント管理するためのプロセス、そして得られた教訓が詳しく紹介されています。プロダクトライン開発への取り組みを検討されているなら、市販されている書籍よりもお勧めです。
Ten years of product line engineering at Danfoss: lessons learned and way ahead