Feature Modeling Capabilities for ViPER Platform - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Feature Modeling Capabilities for ViPER Platform

Description:

As a Feature Model characterizes a Domain, it can be used to compare the domains. ... Is an extension of the above mentioned approaches, features of which are put ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 30
Provided by: zsa1
Category:

less

Transcript and Presenter's Notes

Title: Feature Modeling Capabilities for ViPER Platform


1
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

2
Feature Modeling
  • Increasingly popular domain in product line
    development
  • 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
Domain Relationship
  • Could be
  • Specialization
  • Composition
  • mandatory
  • optional
  • Or
  • mandatory
  • optional
  • Alternative
  • mandatory
  • optional

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

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

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

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
Feature Editor
  • 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

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
  • FeatureModellingNamespaceResourceAndNamespaceSelec
    tionWizardPage
  • These wizards are used to create a Feature
    diagram and all the related resources.

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

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

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.
Write a Comment
User Comments (0)
About PowerShow.com