Development and Instrumentation of a Framework for the Generation and Management of Self-Adaptive Enterprise Applications

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.

[1]  Wilhelm Hasselbring,et al.  An adaptation framework enabling resource-efficient operation of software systems , 2009 .

[2]  Jean-Claude Royer,et al.  Automated Reasoning for Derivation of Model-Driven SPLs , 2010, SPLC Workshops.

[3]  Jean-Claude Royer,et al.  Model-Driven and Software Product Line Engineering , 2012 .

[4]  Adam Bien Real World Java EE Patterns Rethinking Best Practices , 2009 .

[5]  Vicente Pelechano,et al.  Dynamic adaptation of service compositions with variability models , 2014, J. Syst. Softw..

[6]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

[7]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[8]  Gabriel Tamura,et al.  A framework for the generation and management of self-adaptive enterprise applications , 2015, 2015 10th Computing Colombian Conference (10CCC).

[9]  Vincenzo Grassi,et al.  MOSES: A Framework for QoS Driven Runtime Adaptation of Service-Oriented Systems , 2012, IEEE Transactions on Software Engineering.

[10]  Silvia Mara Abrahão,et al.  Towards Monitoring Cloud Services using Models@run.time , 2014, MoDELS@Run.time.

[11]  Krzysztof Czarnecki,et al.  Overview of Generative Software Development , 2004, UPP.

[12]  Brice Morin,et al.  An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability , 2008, MoDELS.

[13]  A. Paz,et al.  Towards a framework for deriving platform-independent model-driven software product lines , 2013, Ingeniería e Investigación.

[14]  David Durán Giraldo Quality-driven software product lines , 2015 .

[15]  Bernhard Rumpe,et al.  Generative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[16]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[17]  Valerio Schiavoni,et al.  A component‐based middleware platform for reconfigurable service‐oriented architectures , 2012, Softw. Pract. Exp..

[18]  Hugo Arboleda,et al.  A Model to Guide Dynamic Adaptation Planning in Self-Adaptive Systems , 2016, CLEI Selected Papers.

[19]  Bradley R. Schmerl,et al.  Evaluating the effectiveness of the Rainbow self-adaptive system , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[20]  Karthikeyan Ponnalagu,et al.  Run-Time Adaptation of Non-functional Properties of Composite Web Services Using Aspect-Oriented Programming , 2007, ICSOC.

[21]  Jean-Claude Royer,et al.  Dealing with fine-grained configurations in model-driven SPLs , 2009, SPLC.

[22]  Gail E. Kaiser,et al.  Kinesthetics eXtreme: an external infrastructure for monitoring distributed legacy systems , 2003, 2003 Autonomic Computing Workshop.

[23]  Xavier Franch,et al.  Service Level Agreement Monitor (SALMon) , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[24]  Christoph Seidl,et al.  Generative software product line development using variability-aware design patterns , 2016 .

[25]  Elisabetta Di Nitto,et al.  SCENE: A Service Composition Execution Environment Supporting Dynamic Changes Disciplined Through Rules , 2006, ICSOC.

[26]  Hausi A. Müller,et al.  DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems , 2010, Software Engineering for Self-Adaptive Systems.

[27]  Luciano Baresi,et al.  Self-Supervising BPEL Processes , 2011, IEEE Transactions on Software Engineering.

[28]  Sam Malek,et al.  SASSY: A Framework for Self-Architecting Service-Oriented Systems , 2011, IEEE Software.

[29]  Wilhelm Hasselbring,et al.  Integrating Run-time Observations and Design Component Models for Cloud System Analysis , 2014, Models@run.time.

[30]  L. C. Bueno,et al.  A Reference Architecture for Component-Based Self-Adaptive Software Systems , 2012 .