  Model transformation tools assist system designers by reducing the
labor--intensive task of creating and updating models of various aspects of
systems, ensuring that modeling assumptions remain consistent across every
model of a system, and identifying constraints on system design imposed by
these modeling assumptions. We have proposed a model transformation approach
based on abstract interpretation, a static program analysis technique. Abstract
interpretation allows us to define transformations that are provably correct
and specific. This work develops the foundations of this approach to model
transformation. We define model transformation in terms of abstract
interpretation and prove the soundness of our approach. Furthermore, we develop
formalisms useful for encoding model properties. This work provides a
methodology for relating models of different aspects of a system and for
applying modeling techniques from one system domain, such as smart power grids,
to other domains, such as water distribution networks.
