featureide overview
play

FeatureIDE: Overview Thomas Th um, Jens Meinicke October 23, 2015 - PowerPoint PPT Presentation

FeatureIDE: Overview Thomas Th um, Jens Meinicke October 23, 2015 FeatureIDE Project Structure Feature model file in a supported format (default: xml) Thomas Th um, Jens Meinicke FeatureIDE: Overview 2 FeatureIDE Project Structure


  1. FeatureIDE: Overview Thomas Th¨ um, Jens Meinicke October 23, 2015

  2. FeatureIDE Project Structure ◮ Feature model file in a supported format (default: xml) Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 2

  3. FeatureIDE Project Structure ◮ Feature model file in a supported format (default: xml) ◮ Source folder containing a folder for every feature including files to compose Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 2

  4. FeatureIDE Project Structure ◮ Feature model file in a supported format (default: xml) ◮ Source folder containing a folder for every feature including files to compose ◮ Configurations containing selected features from the feature model Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 2

  5. FeatureIDE Project Structure ◮ Feature model file in a supported format (default: xml) ◮ Source folder containing a folder for every feature including files to compose ◮ Configurations containing selected features from the feature model ◮ Composed source files for the actual configurations (might be helpful when debugging) Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 2

  6. Creation Wizards ◮ FeatureIDE project wizard: creates basic feature model and project structure, also can add the FeatureIDE Nature to a project at your workspace Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 3

  7. Creation Wizards ◮ FeatureIDE project wizard: creates basic feature model and project structure, also can add the FeatureIDE Nature to a project at your workspace ◮ Example project wizard Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 3

  8. Creation Wizards ◮ FeatureIDE project wizard: creates basic feature model and project structure, also can add the FeatureIDE Nature to a project at your workspace ◮ Example project wizard ◮ Configuration file wizard Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 3

  9. Creation Wizards ◮ FeatureIDE project wizard: creates basic feature model and project structure, also can add the FeatureIDE Nature to a project at your workspace ◮ Example project wizard ◮ Configuration file wizard ◮ FeatureIDE source file wizard Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 3

  10. FeatureIDE Project Builder ◮ Specific to composition engine ◮ Build: compose features contained in current configuration ◮ Clean: removing all resources in bin/build folder ◮ Build automatically: based on changes in source folder or current configuration Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 4

  11. FeatureIDE Project Builder ◮ Specific to composition engine ◮ Build: compose features contained in current configuration ◮ Clean: removing all resources in bin/build folder ◮ Build automatically: based on changes in source folder or current configuration Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 4

  12. FeatureIDE Project Builder ◮ Specific to composition engine ◮ Build: compose features contained in current configuration ◮ Clean: removing all resources in bin/build folder ◮ Build automatically: based on changes in source folder or current configuration Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 4

  13. FeatureIDE Project Builder ◮ Specific to composition engine ◮ Build: compose features contained in current configuration ◮ Clean: removing all resources in bin/build folder ◮ Build automatically: based on changes in source folder or current configuration Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 4

  14. Run Configurations ◮ The project has other natures (e.g. Java nature) next to the FeatureIDE nature, so you can run your application in the common way Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 5

  15. Run Configurations ◮ The project has other natures (e.g. Java nature) next to the FeatureIDE nature, so you can run your application in the common way Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 5

  16. Run Configurations ◮ The project has other natures (e.g. Java nature) next to the FeatureIDE nature, so you can run your application in the common way Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 5

  17. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  18. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  19. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features ◮ Right click to open context menu for features/connections Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  20. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features ◮ Right click to open context menu for features/connections ◮ Drag Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  21. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features ◮ Right click to open context menu for features/connections ◮ Drag and drop features Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  22. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features ◮ Right click to open context menu for features/connections ◮ Drag and drop features ◮ Context menu Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  23. Feature Model Editor - Feature Diagram ◮ Double click to change connections and mandatory property ◮ Single click to rename features ◮ Right click to open context menu for features/connections ◮ Drag and drop features ◮ Context menu to open Constraint Editor Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 6

  24. Feature Model Editor - Feature Diagram ◮ Legend for the feature model elements and colors Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 7

  25. Feature Model Editor - Feature Diagram ◮ Legend for the feature model elements and colors ◮ Highlighting dead features Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 7

  26. Feature Model Editor - Feature Diagram ◮ Legend for the feature model elements and colors ◮ Highlighting dead features ◮ Highlighting false optional features Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 7

  27. Feature Model Editor - Feature Diagram ◮ Legend for the feature model elements and colors ◮ Highlighting dead features ◮ Highlighting false optional features ◮ Highlight if the model is void Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 7

  28. Feature Model Editor - Feature Order ◮ Order of features matters: can influence program behavior ◮ Default order: pre-order traversal of the feature diagram ◮ User-defined order possible ◮ Applies to all configurations Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 8

  29. Feature Model Editor - Synchronization Before saving: ◮ When switching tab, changes are propagated When saving: ◮ Feature folders are created, removed, and renamed ◮ Updating order of features in configurations ◮ Checking which configurations are valid/invalid ◮ Current content of Configuration Editor updated Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 9

  30. FeatureIDE Outline View: Feature Model ◮ Tree representation of the Feature Model Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 10

  31. FeatureIDE Outline View: Feature Model ◮ Tree representation of the Feature Model ◮ Same context menu like at the editor Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 10

  32. FeatureIDE Outline View: Feature Model ◮ Tree representation of the Feature Model ◮ Same context menu like at the editor ◮ Minimize subtrees for a better overview Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 10

  33. FeatureIDE Collaboration Outline ◮ Additional to the normal outline, it contains all methods of this class from other features Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 11

  34. FeatureIDE Collaboration Outline ◮ Additional to the normal outline, it contains all methods of this class from other features ◮ The subtree of a method contains all features implementing it Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 11

  35. FeatureIDE Collaboration Outline ◮ Additional to the normal outline, it contains all methods of this class from other features ◮ The subtree of a method contains all features implementing it ◮ Clicking the feature will open the corresponding file Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 11

  36. FeatureIDE Collaboration Outline: Contracts ◮ Class invariants are shown in Outline above class fields Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 12

  37. FeatureIDE Collaboration Outline: Contracts ◮ Class invariants are shown in Outline above class fields ◮ Contracts of methods are displayed by decorating @-icon ◮ Features in subtrees of a method with additional @-icon if contract exists Thomas Th¨ um, Jens Meinicke FeatureIDE: Overview 12

Recommend


More recommend