Feature Modeling Capabilities for ViPER Platform - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Feature Modeling Capabilities for ViPER Platform

Description:

ViPER Feature Model ... MetaModel for ViPER. Feature Editor ... For ViPER, DiagramEditor class has been implemented ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 33
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
  • 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, is called Domain
    Engineering.
  • main focus is 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 domain model
  • 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 line
    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

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
  • Czarneckis 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
Domain Relationship
  • Could be
  • Specialization
  • Composition
  • Has a reference of CompositionKind

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

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

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

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

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

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

29
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

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

32
  • Thank you for your attention.
Write a Comment
User Comments (0)
About PowerShow.com