1 / 32

Feature Modeling Capabilities for ViPER Platform

Feature Modeling Capabilities for ViPER Platform. Feature Modeling Different approaches of Feature Modeling MetaModel of Feature Modeling for ViPER Implementation and Extension of Feature Editor in ViPER Demo Future Development. Product line Development.

lindsay
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 MetaModel of Feature Modeling for ViPER Implementation and Extension of Feature Editor in ViPER Demo Future Development

  2. Product line Development • Reusabiliy lead to different software engineering techniques. • a relatively new and widely discussed approach is the product line software engineering (PLSE) • According to SEI: • “A software product line is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way”. [SEI] • Major activities of PLSE are • Domain Engineering • Application Engineering

  3. Domain Engineering • Process of analysis, specification and implementation of core assets, which are used in the common development of multiple software products in the same domain, iscalledDomainEngineering. • mainfocusis at the identification and development of reusable components for an application

  4. Domain Model • Domain engineering is divided into • Domain analysis • Domain design • Domain implementation • Results of domain analysis are collectively captured in a domainmodel • Domain model consists of • Domain definition • Domain lexicon • Concept models • Feature models • Feature models define a set of reusable and configurable requirements for specifying the systems in a domain

  5. Feature Modeling • Increasingly popular domain in product linedevelopment • 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

  6. 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

  7. 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’s Approach • Approach by Krzysztof Czarnecki • A few others as well

  8. 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

  9. 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

  10. RequiLine • Tool that supports the requirement engineering for product line development. • It has been developed by the Research Group Software Construction I3 at the RWTH Aachen University. • The feature model underlying RequiLine consists of the following • Dependency relationships • Domain relationships • Composition • Generalization Specialization • Implementation

  11. RequiLine - Observations • All the other approaches have defined mandatory/optional as a property of a feature resulting in either optional features or mandatory features. • Contrary to other approaches, RequiLine visualizes the mandatory/optional not as the properties of a feature, but of the domain relationships. • According to RequiLine, the relationship between two features defines these aspects, but not the features them self.

  12. 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

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

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

  15. Could be Specialization Composition Has a reference of CompositionKind Domain Relationship

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

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

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

  19. MetaModel for ViPER

  20. 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

  21. 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.

  22. 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.

  23. 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

  24. 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

  25. 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.

  26. Feature Editor

  27. 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.

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

  29. 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

  30. DEMO

  31. Future Development • Extension of feature editor to support different approaches • Possibility of import / export • E.g. ViPER <-> RequiLine • Open Issues • decorations

  32. Thank you for your attention.

More Related