Cloud Environment Selection and Configuration: A Software Product Lines-Based Approach. (Sélection et Configuration de Clouds : une Approche à Base de Lignes de Produits Logiciels)

In the recent years, cloud computing has become a major trend in distributed computing environments enabling software virtualization on configurable runtime environments. These environments provide numerous highly configurable software resources at different levels of functionality, that may lead to configuration errors when done manually. Therefore, cloud environments selection and configuration tools and approaches have been developed, ranging from ad-hoc implementation software, to automated strategies based on model transformation. However, these approaches suffer from a lack of abstraction, or do not provide an automated an scalable configuration reasoning support. Moreover, they are often limited to a certain type of cloud environment, thus limiting their efficiency. To address these shortcomings, and since we noticed that an important number of such cloud environments share several characteristics, we present in this thesis an approach based on software product line principles, with dedicated variability models to handle cloud environments commonalities and variabilities. Software product lines were defined to take advantage of commonalities through the definition of reusable artifacts, in order to automate the derivation of software products. In this dissertation, we provide in particular three major contributions. First, we propose an abstract model for feature modeling with attributes, cardinalities, and constraints over both of them. This kind of feature models are required to describe the variability of cloud environments. By providing an abstract model, we are thus implementation-independent and allow existing feature modeling approaches to rely on this model to extend their support. As a second contribution, we provide an automated support for maintaining the consistency of cardinality-based feature models. When evolving them, inconsistencies may arise due to the defined cardinalities and constraints over them, and detecting them can be tedious and complex whenever the size of the feature model grows. Finally, we provide as third contribution SALOON, a platform to select and configure cloud environments based on software product line principles. In particular, SALOON relies on our abstract model to describe cloud environments as feature models, and provide an automated support to derive configuration files and executable scripts, enabling the configuration of cloud environment in a reliable way. The experiments we conducted to validate our proposal show that by using software product lines and feature models, we are able to provide an automated, scalable, practical and reliable approach to select and configure cloud environments with respect to a set of requirements, even when numerous different kind of these environments are involved.

[1]  Ronald H. Perrott,et al.  A constraints-based resource discovery model for multi-provider cloud environments , 2012, Journal of Cloud Computing: Advances, Systems and Applications.

[2]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[3]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[4]  Wilhelm Hasselbring,et al.  Automatic conformance checking for migrating software systems to cloud infrastructures and platforms , 2013, J. Softw. Evol. Process..

[5]  Guillaume Pierre,et al.  ConPaaS: A Platform for Hosting Elastic Cloud Applications , 2012, IEEE Internet Computing.

[6]  Klaus Schmid,et al.  A systematic analysis of textual variability modeling languages , 2013, SPLC '13.

[7]  Klaus Pohl,et al.  Software product line engineering and variability management: achievements and challenges , 2014, FOSE.

[8]  Dragan Gasevic,et al.  Model Driven Engineering and Ontology Development , 2009 .

[9]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[10]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

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

[12]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[13]  Rajiv Ranjan,et al.  CloudGenius: decision support for web server cloud migration , 2012, WWW.

[14]  Charles W. Krueger,et al.  Systems and software product line engineering with BigLever software gears , 2012, SPLC Workshops.

[15]  Jianmei Guo,et al.  Consistency maintenance for evolving feature models , 2012, Expert Syst. Appl..

[16]  Krzysztof Czarnecki,et al.  Towards a catalog of variability evolution patterns: the Linux kernel case , 2012, FOSD '12.

[17]  Narendra Jussien,et al.  User-friendly explanations for constraint programming , 2001, WLPE.

[18]  Uirá Kulesza,et al.  Investigating the safe evolution of software product lines , 2011, GPCE '11.

[19]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

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

[21]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[22]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[23]  Krzysztof Czarnecki,et al.  Coevolution of variability models and related artifacts: a case study from the Linux kernel , 2013, SPLC '13.

[24]  Wil M. P. van der Aalst Configurable Services in the Cloud: Supporting Variability While Enabling Cross-Organizational Process Mining , 2010, OTM Conferences.

[25]  Harald Kühn,et al.  Moving an application to the cloud: an evolutionary approach , 2013, MultiCloud '13.

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

[27]  Mathieu Acher,et al.  A domain-specific language for managing feature models , 2011, SAC.

[28]  Parastoo Mohagheghi,et al.  Software Engineering Challenges for Migration to the Service Cloud Paradigm: Ongoing Work in the REMICS Project , 2011, 2011 IEEE World Congress on Services.

[29]  Inês Lynce,et al.  Towards efficient MUS extraction , 2012, AI Commun..

[30]  Jan Bosch,et al.  The Evolution in Software Product Lines , 1999 .

[31]  Andreas Classen,et al.  A formal semantics for feature cardinalities in feature diagrams , 2011, VaMoS '11.

[32]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

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

[34]  Romain Rouvoy,et al.  A Federated Multi-cloud PaaS Infrastructure , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[35]  Pierre-Yves Schobbens,et al.  Beyond Boolean product-line model checking: Dealing with feature attributes and multi-features , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[36]  Philippe Collet,et al.  On the use of an internal DSL for enriching EMF models , 2012, OCL '12.

[37]  Roberto Di Cosmo,et al.  Towards a Formal Component Model for the Cloud , 2012, SEFM.

[38]  Antonio Ruiz Cortés,et al.  Using Java CSP Solvers in the Automated Analyses of Feature Models , 2005, GTTSE.

[39]  Roberto Di Cosmo,et al.  Optimal Provisioning in the Cloud. Technical report of the Aeolus project , 2013 .

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

[41]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

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

[43]  Jeff Z. Pan,et al.  A semantic web approach to feature modeling and verification , 2005 .

[44]  Antonio Ruiz Cortés,et al.  Using Constraint Programming to Reason on Feature Models , 2005, SEKE.

[45]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[46]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

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

[48]  Gianluigi Zavattaro,et al.  A Planning Tool Supporting the Deployment of Cloud Applications , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[49]  Ilka Philippow,et al.  Details of formalized relations in feature models using OCL , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[50]  Robert L. Glass,et al.  Loyal Opposition - Frequently Forgotten Fundamental Facts about Software Engineering , 2001, IEEE Softw..

[51]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[52]  Robertas Damasevicius,et al.  Change Impact Analysis of Feature Models , 2012, ICIST.

[53]  Uwe Aßmann,et al.  Capturing variability in space and time with hyper feature models , 2014, VaMoS.

[54]  Antonio Ruiz Cortés,et al.  Abductive Reasoning and Automated Analysis of Feature Models: How are they connected? , 2009, VaMoS.

[55]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[56]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[57]  Marten Schönherr,et al.  (MC2)2: A Generic Decision-Making Framework and its Application to Cloud Computing , 2010, ArXiv.

[58]  Stefan Kowalewski,et al.  Model-driven support for product line evolution on feature level , 2012, J. Syst. Softw..

[59]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[60]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[61]  C. Hart Future perfect. , 1998, Nursing times.

[62]  Mathieu Acher,et al.  Reverse engineering web configurators , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[63]  M. Acher Managing, multiple feature models : foundations, languages and applications , 2011 .

[64]  Rajkumar Buyya,et al.  Market-Oriented Cloud Computing: Vision, Hype, and Reality of Delivering Computing as the 5th Utility , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[65]  Jörn Kuhlenkamp,et al.  Cloud Service Selection Based on Variability Modeling , 2012, ICSOC.

[66]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[67]  Jan Bosch,et al.  A taxonomy of variability realization techniques: Research Articles , 2005 .

[68]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[69]  Christian Bessiere,et al.  Global Inverse Consistency for Interactive Constraint Satisfaction , 2013, CP.

[70]  Asunción Gómez-Pérez,et al.  Ontological Engineering: Principles, Methods, Tools and Languages , 2006, Ontologies for Software Engineering and Software Technology.

[71]  Camille Salinesi,et al.  Transforming Attribute and Clone-enabled Feature Models into Constraint Programs over Finite Domains , 2011, ENASE.

[72]  Chris Rose,et al.  A Break in the Clouds: Towards a Cloud Definition , 2011 .

[73]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[74]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[75]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[76]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[77]  Carlos Parra,et al.  Towards Dynamic Software Product Lines: Unifying Design and Runtime Adaptations , 2011 .

[78]  Douglas C. Schmidt,et al.  Selecting highly optimal architectural feature sets with Filtered Cartesian Flattening , 2009, J. Syst. Softw..

[79]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[80]  Paul Grünbacher,et al.  Requirements for product derivation support: Results from a systematic literature review and an expert survey , 2010, Inf. Softw. Technol..

[81]  Dana Petcu,et al.  Enabling Legacy Engineering Applications for Cloud Computing: Experience with the mOSAIC API and Platform , 2012, 2012 Third International Conference on Emerging Intelligent Data and Web Technologies.

[82]  Uwe Aßmann,et al.  Co-evolution of models and feature mapping in software product lines , 2012, SPLC '12.

[83]  Martin Törngren,et al.  The CVM Framework - A Prototype Tool for Compositional Variability Management , 2010, VaMoS.

[84]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[85]  Wilhelm Hasselbring,et al.  Search-based genetic optimization for deployment and reconfiguration of software in the cloud , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[86]  Mathieu Acher,et al.  Slicing feature models , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[87]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[88]  Gunter Saake,et al.  Multi-dimensional variability modeling , 2011, VaMoS.

[89]  Brice Morin,et al.  Towards Model-Driven Provisioning, Deployment, Monitoring, and Adaptation of Multi-cloud Systems , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[90]  Dana Petcu,et al.  MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[91]  Klaus Schmid,et al.  A comparison of decision modeling approaches in product lines , 2011, VaMoS.

[92]  Thorsten Schütt,et al.  ConPaaS: an integrated runtime environment for elastic cloud applications , 2011, PDT '11.

[93]  Leonard Kleinrock,et al.  An Internet vision: the invisible global infrastructure , 2003, Ad Hoc Networks.

[94]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[95]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[96]  Barry W. Boehm Perspectives [The changing nature of software evolution; The inevitability of evolution] , 2010, IEEE Softw..

[97]  Salvatore Venticinque,et al.  Architecturing a Sky Computing Platform , 2010, ServiceWave Workshops.

[98]  Isidro Ramos,et al.  Cardinality-Based Feature Modeling and Model-Driven Engineering: Fitting them Together , 2010, VaMoS.

[99]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[100]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[101]  Xavier Lorca,et al.  Choco: an Open Source Java Constraint Programming Library , 2008 .

[102]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[103]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[104]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[105]  Douglas C. Schmidt,et al.  Model-driven auto-scaling of green cloud computing infrastructure , 2012, Future Gener. Comput. Syst..

[106]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[107]  A. Rauzy,et al.  Exact and truncated computations of prime implicants of coherent and non-coherent fault trees within Aralia , 1997 .

[108]  Krzysztof Czarnecki,et al.  Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled , 2010, SLE.