Synergizing Domain Expertise with Self-Awareness in Software Systems: A Patternized Architecture Guideline
arXiv:2001.07076 · doi:10.1109/JPROC.2020.2985293
Abstract
To promote engineering self-aware and self-adaptive software systems in a reusable manner, architectural patterns and the related methodology provide an unified solution to handle the recurring problems in the engineering process. However, in existing patterns and methods, domain knowledge and engineers' expertise that is built over time are not explicitly linked to the self-aware processes. This linkage is important, as the knowledge is a valuable asset for the related problems and its absence would cause unnecessary overhead, possibly misleading results and unwise waste of the tremendous benefit that could have been brought by the domain expertise. This paper highlights the importance of synergizing domain expertise and the self-awareness to enable better self-adaptation in software systems, relying on well-defined expertise representation, algorithms and techniques. In particular, we present a holistic framework of notions, enriched patterns and methodology, dubbed DBASES, that offers a principled guideline for the engineers to perform difficulty and benefit analysis on possible synergies, in an attempt to keep "engineers-in-the-loop". Through three tutorial case studies, we demonstrate how DBASES can be applied in different domains, within which a carefully selected set of candidates with different synergies can be used for quantitative investigation, providing more informed decisions of the design choices.
arXiv commentAccepted manuscript to the Proceedings of the IEEE. Please use the following citation: Tao Chen, Rami Bahsoon, and Xin Yao. 2020. Synergizing Domain Expertise with Self-Awareness in Software Systems: A Patternized Architecture Guideline. Proc. IEEE, in press
References in corpus (10)
- Estimating Continuous Distributions in Bayesian Classifiers
- Tuning for Software Analytics: is it Really Necessary?
- How to Evaluate Solutions in Pareto-based Search-Based Software Engineering? A Critical Review and Methodological Guidance
- A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems
- FEMOSAA: Feature Guided and Knee Driven Multi-Objective Optimization for Self-Adaptive Software
- Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services
- The Handbook of Engineering Self-Aware and Self-Expressive Systems
- Online QoS Modeling in the Cloud: A Hybrid and Adaptive Multi-Learners Approach
- DATESSO: Self-Adapting Service Composition with Debt-Aware Two Levels Constraint Reasoning
- Understanding the Automated Parameter Optimization on Transfer Learning for CPDP: An Empirical Study
Cited by in corpus (5)
- The Weights can be Harmful: Pareto Search versus Weighted Search in Multi-Objective Search-Based Software Engineering
- Multi-Objectivizing Software Configuration Tuning (for a single performance concern)
- Does Configuration Encoding Matter in Learning Software Performance? An Empirical Study on Encoding Schemes
- Planning Landscape Analysis for Self-Adaptive Systems
- Search-Based Software Engineering for Self-Adaptive Systems: Survey, Disappointments, Suggestions and Opportunities