1 / 29

Feature Modeling Capabilities for ViPER Platform

Feature Modeling Capabilities for ViPER Platform. Feature Modeling Different approaches of Feature Modeling Explanation and examples of few MetaModel of Feature Modeling for ViPER Implementation and Extension of Feature Editor in ViPER Demo Current / Future Development. Feature Modeling.

alvis
Download Presentation

Feature Modeling Capabilities for ViPER Platform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Feature ModelingCapabilitiesforViPERPlatform Feature Modeling Different approaches of Feature Modeling Explanation and examples of few MetaModel of Feature Modeling for ViPER Implementation and Extension of Feature Editor in ViPER Demo Current / Future Development

  2. Feature Modeling • Increasingly popular domain in product linedevelopment • PL is a set of systems with common characteristics. Goal is to improve productivity and quality of application development. • Used for managing common and variable properties of a concept and their interdependencies • Features are primarily used in order to discriminate between choices • A feature can further be decomposed into sub features • Organization of these into a coherent model is called Feature Model

  3. Feature Model • Feature Model structure requirements by generalizing them by concepts • Purpose is to organize the features in multiple levels with increasing details • Describes a set of valid feature combinations • Variability defines which combinations are allowed • The variability in feature model is expressed through different notations like • Optional Feature • Mandatory Feature • Alternate / Or Relationship • Require / Exclude Relationship • Attributes

  4. Variants of Feature Modeling • In practice there are number of approaches being used for feature modeling • FODA • Feature Oriented Domain Analysis • FORM • Feature Oriented Reuse Model • FeatuRSEB • A combination between FODA and Reuse-Driven Software Engineering Business • RequiLine • Czarnecki • Approach by Krzysztof Czarnecki • A few others as well

  5. FODA • FODA is a domain analysis method that focuses on the “features” of the domain's systems. • A Feature in FODA is an aspect, quality or characteristics visible to end user • FODA feature model contains of 4 elements • Feature diagram • Feature definitions • Composition rules for features • Rationale for features • Feature diagram describes the decomposition in hierarchal way. • Sub-features of a feature may be • Mandatory • Optional • Alternative • Two types of composition rules of features exist • Require rule • Mutually exclusive rule

  6. Example

  7. FORM • FORM defines a systematic procedure of development of product lines. • Modeling of domain functionality • Modeling of alternate implementation of identified features • Construction of a Feature Model • As a Feature Model characterizes a Domain, it can be used to compare the domains. • The degree of reusability can be guessed, as a Feature Model contains the commonalities of Product Line • Feature Model serves the purpose of deciding the important matters involved in the development

  8. FORM Example

  9. ViPER Feature Model • Is an extension of the above mentioned approaches, features of which are put together keeping the requirements of ViPER Feature Editor • It contains • Features and Attributes • Domain Relationships • Dependencies • Affect-Relationship • Feature Sets, Feature Model

  10. Feature • A Feature is • An aspect, quality or characteristic • It has • name • description • attributes

  11. Feature Relationship • Could be • Domain Relationship • Dependency Relationship • Affect Relationship

  12. Could be Specialization Composition mandatory optional Or mandatory optional Alternative mandatory optional Domain Relationship

  13. Could be Require feature A requires feature B uni-directional Exclude feature A exclude feature B bi-directional Dependency Relationship

  14. Is between the Attributes of the Features An attribute can effect / change the value of another attribute Affect Relationship

  15. Acts as a container Contains All the Features Feature Sets Relationships Model

  16. MetaModel for ViPER

  17. Feature Editor • Main task was to implement a Feature Editor in ViPER platform, through which feature diagrams can be made. • This is done using EMF, GEF and Eclipse. • So far, only a UML2Editor has been implemented in ViPER with possibility to add different UML2 diagram categories as plug-ins. • For this purpose, the base implementations should be extended

  18. EMF • EMF consists of following fundamental blocks • EMF - The core EMF framework includes a (meta) meta model (Ecore) for describing models and runtime support for the models • EMF.Edit - The EMF.Edit framework includes generic reusable classes for building (non-graphical) editors for EMF models. It includes • content and label provider classes • a command framework • EMF.Codegen - The EMF code generation facility is capable of generating everything needed to build a complete (non-graphical) editor for an EMF model. It includes a GUI from which generation options can be specified, and generators can be invoked.

  19. GEF • The Graphical Editing Framework (GEF) allows developers to create a rich graphical editor from an existing application model. • GEF consists of 2 plug-ins. • The org.eclipse.draw2d plug-in provides a layout and rendering toolkit for displaying graphics. • The developer can then take advantage of the many common operations provided by org.eclipse.gef and/or extend them for the specific domain. • GEF employs a model-view-controller architecture. • GEF is completely application neutral and provides the groundwork to build almost any application.

  20. Draw2D • Features of Draw2d • Efficient layout and rendering support • Various figure and layout implementations • Borders • Cursors and tooltip support • Connection anchoring, routing, and decorating • Multiple, transparent layers • Flexible coordinate systems • Overview window • Printing

  21. EditorPart is a base implementation for all workbench editors In order to define new Client editors, this class should be sub classed For ViPER, DiagramEditor class has been implemented All the editors must either directly sub class this class, or sub class ExtensibleDiagramEditor Feature Editor

  22. Feature Editor • ExtensibleDiagramEditor class is implemented to support different diagram categories under single diagram editor. E.g. UML2 • E.g. Use case, Sequence, Composition etc • Feature editor does not have different kinds of diagrams • Only a single type of diagram is to be made • It is sub classed directly from DiagramEditor class.

  23. Feature Editor

  24. Feature Editor Wizards • To create the feature diagram, feature model and feature namespace, the following wizards are implemented as well. • FeatureModellingDiagramCreationWizard • Creates the Feature diagram and model • FeatureModellingNamespaceCreationWizard • Creates the Feature Namespace • FeatureModellingNamespaceResourceAndNamespaceSelectionWizardPage • These wizards are used to create a Feature diagram and all the related resources.

  25. The wizard classes are extended from Wizard class provided by Eclipse Used to create Feature Diagram Feature Model FeatureModellingDiagramCreationWizard

  26. This wizard is used to create the namespace for the feature diagram. The namespace for feature diagram can either be Feature set Feature Model FeatureModellingNamespaceCreationWizard

  27. DEMO

  28. Current / Future Development • Editor finishing touches • Curve for Alternate and Or relationships. • Icons for Attributes • Icons for Palate entries • Diagram layout • Code cleanup • Report writing

  29. Thank you for your attention.

More Related