Exploiting software product lines to develop cloud computing applications

With the advance of the Cloud Computing paradigm, new challenges in terms of models, tools, and techniques to support developers to design, build and deploy complex software systems that make full use of the cloud technology arise. In the heterogeneous scenario of this new paradigm, the development of applications using cloud services becomes hard, and the software product lines (SPL) approach is potentially promising for this context since specificities of the cloud platforms, such as services heterogeneity, pricing model, and other aspects can be catered as variabilities to core features. In this perspective, this paper (i) proposes a seamless adaptation of the SPL-based development to include important features of cloud-based applications, and (ii) reports the experience of developing HW-CSPL, a SPL for the Health Watcher (HW) System, which allows citizens to register complaints and consult information regarding the public health system of a city. Several functionalities of this system were implemented using different Cloud Computing platforms, and run time specificities of this application deployed on the cloud were analyzed, as well as other information such as change impact and pricing.

[1]  Jaejoon Lee,et al.  Combining Service-Orientation with Product Line Engineering , 2010, IEEE Software.

[2]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[3]  William Crawford,et al.  Java servlet programming, second edition , 2001 .

[4]  Jaejoon Lee,et al.  An Approach for Developing Service Oriented Product Lines , 2008, 2008 12th International Software Product Line Conference.

[5]  Paulo Borba,et al.  Distribution and persistence as aspects , 2006 .

[6]  Maurice H. ter Beek,et al.  Product Lines for Service Oriented Applications - PL for SOA , 2011, WWV.

[7]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[8]  Gustavo Alonso,et al.  Engineering the cloud from software modules , 2009, 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing.

[9]  Silvio Romero de Lemos Meira,et al.  Towards an Approach for Service-Oriented Product Line Architectures , 2009 .

[10]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[11]  Maurice H. ter Beek,et al.  Product Line Architectures for SOA , 2011 .

[12]  Xi He,et al.  Cloud Computing: a Perspective Study , 2010, New Generation Computing.

[13]  Yong Zhao,et al.  Cloud Computing and Grid Computing 360-Degree Compared , 2008, GCE 2008.

[14]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[15]  Sérgio Soares,et al.  Distribution and persistence as aspects , 2006, Softw. Pract. Exp..

[16]  Bhawna Taneja,et al.  Software Engineering Issues from the Cloud Application Perspective , 2010 .

[17]  Ali Khajeh-Hosseini,et al.  Research Agenda in Cloud Technologies , 2010, ArXiv.

[18]  Stephen S. Yau,et al.  Design Stability Measures for Software Maintenance , 1985, IEEE Transactions on Software Engineering.

[19]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

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

[21]  A. Zahariev Google App Engine , 2009 .

[22]  Thomas Erl,et al.  SOA Principles of Service Design , 2007 .

[23]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[24]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[25]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[26]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[27]  John W. Rittinghouse,et al.  Cloud Computing: Implementation, Management, and Security , 2009 .

[28]  Raouf Boutaba,et al.  Cloud computing: state-of-the-art and research challenges , 2010, Journal of Internet Services and Applications.