EMF Feature Model

The project has been created. Please visit the project page.

Introduction

EMF Feature Model is a proposed open source project under the Eclipse Modeling Framework Technology Project (EMFT). This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.emft newsgroup.

Background

During the last years Feature Modeling has become the "standard" for variability management in the field of Software Product Lines. Feature Models are easy to understand and provide a generic way to represent variability information, independent of a specific application domain. Several independent projects using the Eclipse platform / EMF have each defined their own meta model for feature models. Although these meta models have considerable structural differences, their core semantics are similar. A brief description of feature models can be found at Wikipedia and this article describes a small feature modeling example. The EMF Feature Model project will define a standard representation of Feature Models inside the Eclipse platform. The intent is to provide a uniform representation for variability information for tools based on the Eclipse Modeling Framework. This will allow easy and consistent access to variability-related information, such as variation points and variant decisions, in DSLs, M2M transformations, and other contexts where variability information is produced or consumed.

Scope

The objectives of the EMF Feature Model project are the following:

  • Define Feature Meta Model
  • Define an extensible evaluation engine framework and provide an exemplary engine implementation
  • Provide extensible editors and visualizations for the EMF Feature Models

Description

Relations to other Eclipse Projects

  • EMF Feature Model will be built on top of EMF
  • GMF and ZEST will be used to implement the editors and visualizations
  • M2T (Xpand) and TMF (Xtext) eclipse projects already have (simple) interfaces for feature model information integrated. These should be based on the proposed EMF Feature Model.
  • Other eclipse projects with need for variability modelling (e.g. UML2, BPEL) could use the meta model and evaluation API provided by the project to create model variants.

Organization

Mentors

  • Ed Merks
  • Cédric Brun

Proposed initial committers

  • Holger Papajewski (pure-systems GmbH, Germany)
  • Markus Völter

Interested parties

Parties indicating interest were

  • pure-systems GmbH
  • itemis AG
  • Geensys
  • General Motors Corp. [pending management approval]
  • Open Canarias S.L.
  • IKV++ AG
  • Generative Software Development Lab, University of Waterloo
  • Andreas Rummler, SAP Research

Code contributions

The initial contribution will be from the pure::variants – Connector for Ecore. pure::variants is a commercial variant management tool, which already provides a mapping for its internal feature models to Ecore models. The Connector for Ecore source contains the Ecore meta model and related APIs. Xpand and Xtext already have interfaces to this meta model. The pure::variants feature meta model is mature and has been used for modeling in commercial and research applications for several years now and thus should provide a solid basis for the EMF Feature Model.