Julia Schroeter edited this page Mar 13, 2014 · 66 revisions

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

Overview 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.

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.

  1. Create a Feature Model
  2. Create the Multi-Perspective Model
  3. Visualize the Multi-Perspective Model
  4. Validate the Multi-Perspective Model
  5. Create a Perspective on the Feature Model
  6. 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

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.