Home - multi-perspectives/cluster GitHub Wiki
Welcome to the project site of Conper, a tool for creating consistent perspectives on feature models. The tool is implemented as Eclipse plugins based on the Featuremapper feature model. Another version of Conper based on the PUMA feature model can be found in a different [repository] (https://github.com/extFM/extFM-Tooling/wiki/Conper).
Multi-Perspectives on Feature Models
Domain feature models concisely express commonality and variability among variants of a software product line.
For separation of concerns, e.g., due to legal restrictions, technical considerations, and business requirements,
multi-view approaches restrict the configuration choices on feature models for different stakeholders.
We offer a precise, yet flexible specification of views that
ensure every derivable configuration perspective to obey feature model semantics.
Thus, we introduce a novel approach for preconfiguring feature models to create multi-perspectives.
Such customized perspectives result from composition of multiple
concern-relevant views. A structured view model is used to organize feature groups,
whereat a feature can be contained in multiple views.
Our approach supports view composition and guarantees consistency of the resulting perspectives w.r.t. feature model semantics.
Thereupon, an efficient algorithm to verify consistency for entire multi-perspectives is provided.
Getting Started
We implemented our multi-perspective concepts in the tool Conper as plug-ins for Eclipse 3.7 Indigo. As our tool is based on the Eclipse Modeling Framework (EMF), you need the Eclipse Modelling distribution to use it.
Please install the Zest Visualisation Toolkit available from the [Eclipse 3.7 Indigo update-site] (http://download.eclipse.org/releases/indigo).
Our tool extends the Featuremapper environment, please contact its update-site to get the latest version of Feature Mapper Core.
Feel free to try out our tool Conper. You may install it using our Eclipse update-site.
Conper Tooling
Conper offers tooling support for creating, editing and analyzing multi-perspectives.
-
The multi-perspective editor is used to create the view model and to define viewpoints.
-
The viewpoint view visualizes the view groups referenced by a specific viewpoint.
-
The Featuremapper environment provides an [editor] (https://github.com/multi-perspectives/cluster/wiki/Featuremodel) to create a cardinality-based domain feature model.
-
To assign features to view groups the featuremapper's mapping facility is used and visualized in the mapping view.
Examples
Some examples projects are available for download from our [source code repository] (https://github.com/multi-perspectives/cluster/tree/master/Example%20Projects).
For instance, the Document Management Case Study examplifies a product-line for document management systems. This example is used in the following screencasts to visualize our concepts.
Screencasts
We provide screencasts to show the various functionalities of our multi-perspective approach and how to use the tooling. The screencasts give an overview about the multi-pespective workflow - from creating a domain feature model until deriving a variant from a restricted perspective on that feature model.
- Create a Feature Model
- Create the Multi-Perspective Model
- Visualize the Multi-Perspective Model
- Validate the Multi-Perspective Model
- Create a Perspective on the Feature Model
- Derive a Variant from the Perspective
Further Reading
More information and a formalization of our concepts are available:
[SLW11] Julia Schroeter, Malte Lochau, and Tim Winkelmann. Extended Version of Multi-Perspectives on Feature Models. In: Technical Report TUD-FI11-07-Dezember 2011, Technische Universität Dresden, December 2011
[SLW12a] Julia Schroeter, Malte Lochau, and Tim Winkelmann. Conper: Consistent Perspectives on Feature Models. In: Proceedings of the First Workshop on Academics Modeling with Eclipse (ACME '12), July 2012
[SLW12b] Julia Schroeter, Malte Lochau, and Tim Winkelmann. Multi-Perspectives on Feature Models. In: Proceedings of the 15th International Conference on Model Driven Engineering Languages & Systems MODELS 2012 (MODELS'12), October 2012