Operations of companies have become over-dependent on their supporting enterprise software applications. This situation has placed a heavy burden onto software maintenance teams who are expected to keep these applications up and running optimally in varying execution conditions. However, this high human intervention drives up the overall costs of software ownership. In addition, the current dynamic nature of enterprise applications constitutes challenges with respect to their architectural design and development, and the guarantee of the agreed quality requirements at runtime. Efficiently and effectively achieving the adaptation of enterprise applications requires an autonomic solution. In this paper, we present SHIFT, a framework that provides (i) facilities and mechanisms for managing self-adaptive enterprise applications using an autonomic infrastructure, and (ii) automated derivation of self-adaptive enterprise applications and their respective monitoring infrastructure. Along with the framework, our work led us to propose a reference specification and architectural design for implementing self-adaptation autonomic infrastructures. We developed a reference implementation of SHIFT; our contribution includes the development of monitoring infrastructures, and dynamic adaptation planning and automated derivation strategies. SHIFT, along with its autonomic infrastructure and derived enterprise application, can provide a cost-effective mean to fulfill the agreed quality in these types of applications.
aplicaciones empresariales autoadaptativas, líneas de producto de software, configuraciones de componentessoftware product lines, component configurations, self-adaptive enterprise applications
 H. Arboleda, A. Paz, M. Jiménez, and G. Tamura, “A framework for the generation and management of self-adaptive enterprise applications,” in 10th Computing Colombian Conference (10CCC), 2015.
 N. M. Villegas, G. Tamura, H. A. Müller, L. Duchien, and R. Casallas, “DYNAMICO: A reference model for governing control objectives and context relevance in self-adaptive software systems,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 7475 LNCS, pp. 265–293, 2013.
 G. Kaiser, J. Parekh, P. Gross, and G. Valetto, “Kinesthetics eXtreme: An external infrastructure for monitoring distributed legacy systems,” in Proc. Autonomic Computing Workshop, 2003, pp. 22–30.
 D. Ameller and X. Franch, “Service Level Agreement Monitor (SALMon),” in Proc. The Seventh Int. Conf. Composition-Based Software Systems (ICCBSS’08), 2008, pp. 224–227.
 V. Cardellini, E. Casalicchio, V. Grassi, S. Iannucci, F. Lo Presti, and R. Mirandola, “MOSES: A framework for QoS Driven runtime adaptation of service-oriented systems,” IEEE Trans. Softw. Eng., vol. 38, no. 5, pp. 1138–1159, 2012.
 S.-W. Cheng, D. Garlan, and B. Schmerl, “Evaluating the Effectiveness of the Rainbow Self-adaptive System,” in Proc. of the 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’09), 2009, pp. 132–141.
 IBM, “An architectural blueprint for autonomic computing,” 2006. [Online]. Available: http://www-03.ibm.com/autonomic/pdfs/AC%20Blueprint%20White%20Paper%20V7.pdf.
 L. Castañeda and G. Tamura, “A reference architecture for component-based self-adaptive software systems,” Master’s Thesis, Universidad Icesi, Colombia, 2012.
 K. Czarnecki, “Overview of generative software development,” in Unconventional Programming Paradigms, J.-P. Banâtre, P. Fradet, J.-L. Giavitto, and O. Michel, Eds. Berlin: Springer, 2005, pp. 326–341.
 C. Seidl, S. Schuster, and I. Schaefer, “Generative software product line development using variability-aware design patterns,” in Proc. of the 2015 ACM SIGPLAN Int. Conf. On Generative Programming: Concepts and Experiences, 2015, pp. 151–160.
 A. Paz and H. Arboleda, “Towards a framework for deriving platform-independent modeldriven software product lines,” Ing. e Investig., vol. 33, no. 2, pp. 70–75, 2013.
 B. Rumpe, M. Schindler, S. Völkel, and I. Weisemöller, “Generative software development,” in Proc. the 32nd Int. Conf. on Soft. Eng. (ICSE 2010), 2010, pp. 473–474.
 M. Colombo, E. Di Nitto, and M. Mauri, “Scene: A service composition execution environment supporting dynamic changes disciplined through rules,” in Proc. of the ICSOC’06,
Springer, 2006, pp. 191–202.
 L. Baresi and S. Guinea, “Self-supervising bpel processes,” IEEE Trans. Softw. Eng., vol. 37, no. 2, pp. 247–263, 2011.
 N. C. Narendra, K. Ponnalagu, J. Krishnamurthy, and R. Ramkumar, Run-time adaptation of non-functional properties of composite web services using aspect-oriented programming. Berlin: Springer, 2007.
 P. Cedillo, J. Gonzalez-Huerta, S. Abrahao, and E. Insfran, “Towards monitoring cloud services using firstname.lastname@example.org,” in Proc. of the 9th Workshop on Models@run.time, 2014, pp. 31–40.
 R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli, “Dynamic QoS management and optimization in service-based systems,” IEEE Trans. Softw. Eng., vol. 37, no. 3, pp. 387–409, 2011.
 D. Menasce, H. Gomaa, S. Malek, and J. P. Sousa, “Sassy: A framework for self-architecting service-oriented systems,” IEEE Softw., vol. 28, no. 6, pp. 78–85, 2011.
 B. Morin, F. Fleurey, N. Bencomo, J.-M. Jézéquel, A. Solberg, V. Dehlen, and G. Blair, “An aspect-oriented and model-driven approach for managing dynamic variability,” in Model Driven Engineering Languages and Systems. Berlin: Springer, 2008, pp. 782–796.
 G. H. Alférez, V. Pelechano, R. Mazo, C. Salinesi, and D. Diaz, “Dynamic adaptation of service compositions with variability models,” J. Syst. Softw., vol. 91, no. 1, pp. 24–47, 2014.
 R. Heinrich, E. Schmieders, R. Jung, K. Rostami, A. Metzger, W. Hasselbring, R. Reussner, and K. Pohl, “Integrating Run-Time Observations and Design Component Models for Cloud System Analysis,” in Proc. of the 9th Workshop on Models@run.time, 2014, pp. 41–46.
 A. van Hoorn, M. Rohr, A. Gul, and W. Hasselbring, “An adaptation framework enabling resource-efficient operation of software systems,” in Proc. of the Warm Up Workshop for ACM/ IEEE ICSE 2010, 2009, pp. 41–44.
 H. Arboleda and J.-C. Royer, Model-Driven and Software Product Line Engineering, 1st ed. New York: ISTE-Wiley, 2012.
 H. Arboleda, R. Casallas, J.-C. Royer, and J.-C. Arboleda, Hugo and Casallas, Rubby and Royer, “Dealing with fine-grained configurations in model-driven SPLs,” in Proc. Of the 13th Int. Soft. Product Line Conf. (SPLC’09), 2009, pp. 1–10.
 D. Durán and H. Arboleda, “Quality-driven software product lines,” Master’s Thesis, Icesi University, Colombia, 2014.
 H. Arboleda, J. F. Diaz, V. Vargas, and J.-C. Royer, “Automated reasoning for derivation of model-driven SPLs,” in Proc. of the 14th Int. Soft. Product Line Conf. (SPLC 2010), Volume 2, 2nd International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE 2010), 2010, pp. 181–188.
 L. Seinturier, P. Merle, R. Rouvoy, D. Romero, V. Schiavoni, and J.-B. Stefani, “A component- based middleware platform for reconfigurable service-oriented architectures,” Softw. Pract. Exp., vol. 42, no. 5, pp. 559–583, 2012.
 A. Paz and H. Arboleda, “A model to guide dynamic adaptation planning in self-adaptive systems,” Electron. Notes Theor. Comput. Sci., vol. 321, pp. 67-88, 2016.
 ISO/IEC, “ISO/IEC 25000:2014 Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Guide to SQuaRE,” Information technology standard, ISO/IEC, 2014.
 D. Garlan and M. Shaw, “An introduction to software architecture,” Knowl. Creat. Diffus. Util., vol. 1, no. January, pp. 1–40, 1994.
 A. Bien, Real World Java EE Patterns-Rethinking Best Practices, 2 Ed. lulu.com, 2012.