-
Notifications
You must be signed in to change notification settings - Fork 101
Collaboration Diagram
HOME < Software Product Line Developer < FeatureIDE Functions in Deep
The collaboration view gives a detailed overview on the implementation of the product line, such as classes, features, and methods similar to the known Eclipse outline view, however for the whole product line. Features are displayed as columns. The attached classes are displayed as rows. If a class contains a implementation of a feature (e.g., a feature module of a processor annotation), a role is displayed as box at the intersection of the class and the feature. The order of features is equivalent to the order defined in the feature model. Thus, if relevant for the composition tool, roles are introduced at the top and refined by roles below.
The collaboration view can be filtered for fields, methods, refinements, contracts, invariants, nested classes, and access-modifiers. You can select multiple rows, columns or fields. Methods and classes with refinements are displayed bold (i.e., methods that are refined in several features). New roles can be created and deleted within the collaboration diagram. If you hover over a role it shows a tooltip with informations about the number of fields, methods and nested classes per role. In the top right you have buttons in a toolbar.
The function of the toolbar from left to right:
- access-modifiers-filter: filter for "private","public","protected" and "default" modifiers
- fields-with-refinements-filter: toggles the display of fields with refinements
- fields-without-refinements-filter: toggles the display of fields without refinements
- methods-with-refinements-filter: toggles the display of methods with refinements
- methods-without-refinements-filter: toggles the display of methods without refinements
- contract-filter: if enabled shows only methods with contracts
- invariant-filter: if enabled shows fields/methods with invariants
- nested-class-filter: if enabled shows nested classes
- export all: export collaboration view as image/.xml
- refresh: refresh the collaboration view
nested-classes-button OFF (nested classes are not displayed):
nested-classes-button ON (nested classes are displayed):
methods-with-refinements-filter OFF (Only methods without refinements are displayed):
methods-with-refinements-filter ON (All methods are displayed):
##Example project:
Colors are supported.
You may also visit FeatureIDE's home page: https://featureide.github.io/
- [Background] (https://github.com/FeatureIDE/FeatureIDE/wiki/Background)
- [Software Product Lines] (https://github.com/FeatureIDE/FeatureIDE/wiki/Background-Software-Product-Lines)
- [Feature Models] (https://github.com/FeatureIDE/FeatureIDE/wiki/Background-Feature-Models)
- [FOSD] (https://github.com/FeatureIDE/FeatureIDE/wiki/Background-FOSD)
- [Feature-Oriented Programming] (https://github.com/FeatureIDE/FeatureIDE/wiki/Background-FOP)
- [FeatureIDE Installation and Update] (https://github.com/FeatureIDE/FeatureIDE/wiki/FeatureIDE-Installation-and-Update)
- [FeatureIDE Overview] (https://github.com/FeatureIDE/FeatureIDE/wiki/FeatureIDE-Overview)
- [Plugin List] (https://github.com/FeatureIDE/FeatureIDE/wiki/Plugin-List)
- [FeatureIDE Functions in Deep] (https://github.com/FeatureIDE/FeatureIDE/wiki/FeatureIDE-Functions-in-Deep)
- [FeatureIDE Project] (https://github.com/FeatureIDE/FeatureIDE/wiki/FeatureIDE-Project)
- [Feature Model Editor] (https://github.com/FeatureIDE/FeatureIDE/wiki/Feature-Model-Editor)
- [Configuration Editor] (https://github.com/FeatureIDE/FeatureIDE/wiki/Configuration-Editor)
- [Collaboration Diagram] (https://github.com/FeatureIDE/FeatureIDE/wiki/Collaboration-Diagram)
- [Statistics View] (https://github.com/FeatureIDE/FeatureIDE/wiki/Statistics-View)
- [FeatureIDE Outline] (https://github.com/FeatureIDE/FeatureIDE/wiki/FeatureIDE-Outline)
- [Samples] (https://github.com/FeatureIDE/FeatureIDE/wiki/Samples)
- [Best-Practice] (https://github.com/FeatureIDE/FeatureIDE/wiki/Best-Practice)