Low-level variability support for web-based software product lines

The Web systems domain has faced an increasing number of devices, browsers, and platforms to cope with, driving software systems to be more flexible to accomodate them. Software product line (SPL) engineering can be used as a strategy to implement systems capable of handling such a diversity. To this end, automated tool support is almost indispensable. However, current tool support gives more emphasis to modeling variability in the problem domain, over the support of variability at the solution domain. There is a need for mapping the variability between both abstraction levels, so as to determine what implementation impact a certain variability has. In this paper, we propose the FeatureJS, a FeatureIDE extension aiming at Javascript and HTML support for SPL engineering. The tool combines feature-oriented programming and preprocessors, as a strategy to map variability at source code with the variability modeled at a higher level of abstraction. We carried out a preliminary evaluation with an industrial project, aiming to characterize the capability of the tool to handle SPL engineering in the Web systems domain.

[1]  Jia Liu,et al.  Feature oriented refactoring of legacy applications , 2006, ICSE.

[2]  Rafael Capilla,et al.  Light-weight product-lines for evolution and maintenance of Web sites , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[3]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[4]  Stan Jarzabek,et al.  Industrial experience with building a web portal product line using a lightweight, reactive approach , 2005, ESEC/FSE-13.

[5]  Christian Kästner,et al.  Partial preprocessing C code for variability analysis , 2011, VaMoS.

[6]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[7]  Tom Van Cutsem,et al.  Robust trait composition for Javascript , 2015, Sci. Comput. Program..

[8]  Carmen Hernández,et al.  Product Line Development of Web Systems with Conventional Tools , 2009, ICWE.

[9]  Davide Di Ruscio,et al.  A product line architecture for web applications , 2005, SAC '05.

[10]  Sven Apel,et al.  Granularity in software product lines , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[11]  Gunter Saake,et al.  Type checking annotation-based product lines , 2012, TSEM.

[12]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[13]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[14]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[15]  Hassan Gomaa,et al.  Domain Modeling for World Wide Web Based Software Product Lines with UML , 2002, ICSR.

[16]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[17]  David Wiley,et al.  Connecting learning objects to instructional design theory: A definition, a metaphor, and a taxonomy , 2000 .

[18]  Sven Apel,et al.  Exploring feature interactions in the wild: the new feature-interaction challenge , 2013, FOSD '13.

[19]  Hugo Minni,et al.  Identifier management and resolution: conforming the IEEE standard for learning object metadata , 2008 .

[20]  Olivier Barais,et al.  Interactive visualisation of products in online configurators: a case study for variability modelling technologies , 2013, SPLC '13 Workshops.

[21]  Oscar Díaz,et al.  Feature Oriented Model Driven Development: A Case Study for Portlets , 2007, 29th International Conference on Software Engineering (ICSE'07).

[22]  Mario Kolberg,et al.  Feature interaction: a critical review and considered forecast , 2003, Comput. Networks.