Palladio Feature Model

Aus SDQ-Wiki
Warning
The most important information of this page was moved to the GitHub ReadMe

Summary

As part of the Palladio project a feature model () has been developed and provided as an EMF / eCore based implementation. The feature model and the editors are not limited to be used within the Palladio tooling, but can be integrated in other applications or used as a standalone modeling tool as well.

The feature model decides between the feature model itself and the feature configuration. The former describes the complete feature space while the later describes a specific configuration of the former.

At the current state, the editor is located in the sources of the core palladio system.

Installation & Resources

Eclipse Update Site

Stable Releases
1.0: http://sdqweb.ipd.kit.edu/eclipse/featuremodel/releases/1.0/

Nightly Build
http://sdqweb.ipd.kit.edu/eclipse/featuremodel/nightly/

Subversion

Core Trunk
https://svnserver.informatik.kit.edu/i43/svn/code/FeatureModel/Core/trunk

Addons

Additional Sources

Old Developer Notes

Featuremodel

  1. abc.featuremodel file is present
    • double click on featuremodel
      • check for abc.featureconfig
        • file present: ask (yes/no dialog)
          • case use existing file
            • if config references right model: OK
            • else: Error message; new file wizard
          • case do not use existing file
            • new: new file dialog (new file wizard)
        • file not present: dialog asking for file name (loadResource Dialog)
          • featureconfig file selected: if config references right model: OK
          • dialog cancelled/invalid file selected: new file wizard
  2. no file exists: ask for featuremodel and featureconfig file name (new file wizard and cool bar extension)
  3. (optional) context menu of featuremodel: initialize featureconfig
  4. reload editor

Featureconfig

abc.featureconfig file is present

default overrides
0       0         (both configs are empty; no navigation to featue diagram): file selection wizard asking for featuremodel and configmodel location; instanciate a overrides config
0       1         open editor and store in file abc...
1       0         keep default config file; new file wizard for storing overrides config; make the new config reference the default with an URI
1       1         open editor (rare case; creation not supported by tooling)

General guideline: Have default and overrides stored in different files. Anyhow, overrides should alway reference the default (if available) by URI.

"empty": no ConfigNodes and no ConfigFeatureGroup present (defaultConfig and configOverrides might be set)

Diagramm

Das ganze, mehr oder weniger genau, als Aktivitätsdiagramm:

Aktivitätsdiagramm zum FeatureInstanceEditor

Detailliertes Aktivitätsdiagramm zur "Check_Cases"-Aktivität im FeatureInstanceEditor-Diagramm

Additional Resources

Feature Model Projects Overview