Static analysis and software manipulation tools are frequently rule-based and draw on a variety of software models in order to achieve their goals. Program transformation languages provide traversal and matching capabilities that are aligned with the core functionality of rule-based systems. Therefore, transformation systems should be considered as candidates for implementing static analysis and manipulation tools. An issue associated with this approach is that transformation systems predominantly operate on syntactic models (abstract/concrete trees) of software. To effectively support in-depth analysis, it is beneficial to integrate the syntactic models used by transformation systems with one or more semantic models. This paper describes a system, called GPS-Traverse, that establishes a link between syntactic and semantic models of Java software. These models are central to a transformation-based Java source code analysis and manipulation system we are developing called Sextant. Within Sextant, GPS-traverse provides a coordinate system that is accessible during transformation. These coordinates enable the semantic model to be queried in a context-sensitive fashion during the course of transformation.