  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.
