Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
FeatureIDE: an extensible framework for feature-oriented software development
Thüm T., Kästner C., Benduhn F., Meinicke J., Saake G., Leich T. Science of Computer Programming79 70-85,2014.Type:Article
Date Reviewed: Mar 27 2015

Feature-oriented software development (FOSD) is a model for development and customization of large-scale software systems using distinct reusable functionalities known as features. Several programming languages uses various implementation techniques to map features to source codes, but to support the entire life cycle of FOSD, effective tool support is necessary. Effort-intensive command line tools are available, which limit the scope of development and research. An integrated development environment (IDE) is crucial to support the model for comparative study, further growth, and improvement.

This paper presents an approach of using FeatureIDE, an Eclipse-based FOSD architecture to integrate the various new and existing feature-oriented programming languages into a single development environment by providing interactive tool support for all of the phases of FOSD, along with a comprehensible user interface and inter-phase dependency support. The authors have proven, using lines of code (LOC) count, that their approach employing extensive reuse requires less effort as compared to building new IDEs for each of the languages from scratch.

The four important phases of FOSD are domain analysis, requirement analysis, domain implementation, and software generation. Feature models are created in FeatureIDE for the domain analysis phase, where various features are decomposed or grouped into a hierarchical structure pertaining to specific domains with constraints to define dependencies between features. The complexity associated with feature model evolution is managed by refactoring. External tools like GUIDSL, feature modeling plug-in, and so on are also supported. Requirement analysis is assisted by an editor, where the necessary features pertaining to the requirements can be selected from various feature models and conformance with the semantics of the models can be validated. In domain implementation, features specified and validated in the domain and requirement analysis phases are mapped to implementation artifacts for which FeatureIDE supports seven commercial programming languages: AHEAD, FeatureHouse, FeatureC++, DeltaJ, AspectJK, Munge, and Antenna, all of which use various techniques like feature-oriented programming, delta-oriented programming, aspect-oriented programming, or preprocessors for mapping features to artifacts. FeatureIDE also provides domain analysis and requirement analysis phase support to these languages. Eclipse Build generates code in the software generation phase.

This paper explains the integration approach well with illustrations, along with lessons learned; academic tool builders and Eclipse plug-in developers will benefit from reading it. Basic knowledge on FeatureIDE and other feature-oriented programming languages is desirable, as this paper focuses mainly on integration to convert FeatureIDE into an extensible architecture.

Reviewer:  Partha Pratim Das Review #: CR143294 (1506-0534)
Bookmark and Share
 
Software Development (K.6.3 ... )
 
 
Frameworks (D.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Software Development": Date
Strategies for software engineering
Ould M., John Wiley & Sons, Inc., New York, NY, 1990. Type: Book (9780471926283)
Oct 1 1991
Applications strategies for risk analysis
Charette R., Intertext Pubs./McGraw-Hill Book Co., New York, NY, 1990. Type: Book (9780070108882)
Aug 1 1992
A survey of exploratory software development
Trenouth J. The Computer Journal 34(2): 153-163, 1991. Type: Article
Nov 1 1991
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy