Palladio Feature Model
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
- Feature Model Instance Editor:
https://svnserver.informatik.kit.edu/i43/svn/code/FeatureModel/Addons/FeatureInstanceEditor/trunk
Additional Sources
- RSA Model in the SVN: https://svnserver.informatik.kit.edu/i43/svn/code/Palladio/Core/trunk/MetaModels/de.uka.ipd.sdq.pcm.rsa/features/
Old Developer Notes
Featuremodel
- 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)
- case use existing file
- 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
- file present: ask (yes/no dialog)
- check for abc.featureconfig
- double click on featuremodel
- no file exists: ask for featuremodel and featureconfig file name (new file wizard and cool bar extension)
- (optional) context menu of featuremodel: initialize featureconfig
- 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