A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Towards an aspect-oriented architecture for self-adaptive frameworks
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Questions, options, and criteria: elements of design space analysis
Human-Computer Interaction
Future Generation Computer Systems
Communications of the ACM
Graph-based implicit knowledge discovery from architecture change logs
Proceedings of the WICSA/ECSA 2012 Companion Volume
A Framework for Classifying and Comparing Architecture-centric Software Evolution Research
CSMR '13 Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering
A Decentralized Self-Adaptation Mechanism for Service-Based Applications in the Cloud
IEEE Transactions on Software Engineering
Cloud Migration Research: A Systematic Review
IEEE Transactions on Cloud Computing
Hi-index | 0.00 |
Cloud computing enables organisations to deploy their software systems over a pool of available services -- exploiting pay-per-use models -- rather than upfront purchase of an overprovisioned infrastructure. In an architectural context for cloud systems that demand elasticity in terms of service availability, reliability, and efficiency, there is a need to capitalise on the 'build-once, use-often' solutions that support reuse-driven self-adaptations of cloud-based architectures. We support the composition and application of a pattern language that exploits adaptation patterns and their relations to support 'adaptation-off-the-shelf' for cloud-based software architectures. We unify the concepts of software repository mining and software evolution to support the composition and application of an adaptation pattern language. First, we exploit the software repository mining concepts by investigating adaptation logs to empirically discover architecture adaptation patterns and their relations. Second, we utilise the software evolution techniques for self-adaptation of cloud architectures guided by a systematic selection and application of adaptation patterns. In the context of the IBM'S MAPE-K model for self-adaptation, we propose reusable policies for self-adaptive cloud architectures. Architectural adaptation knowledge in the proposed pattern language is expressed as a formalised collection of interconnected-patterns. Individual patterns in the language build on each other to provide a generic and reusable solution to address the recurring adaptation problems. In future, we focus on an incremental evolution of pattern language by discovering new patterns from adaptation logs over time.