  The heterogeneous multi-scale method (HMM) is a general strategy for dealing
with problems involving multi-scales, with multi-physics, using multi-grids. It
not only unifies several existing multi-scale methods, but also provide a
methodology for designing new algorithms for new applications. In this paper,
we review the history of multi-scale modeling and simulation that led to the
development of HMM, the methodology itself together with some applications, and
the mathematical theory of stability and accuracy.
