  In Software Reengineering, one of the central artifacts is the source code of
the legacy system in question. In fact, in most cases it is the only definitive
artifact, because over the time the code has diverged from the original
architecture and design documents. The first task of any reengineering project
is to gather an understanding of the system's architecture. Therefore, a common
approach is to use parsers to translate the source code into a model conforming
to the abstract syntax of the programming language the system is implemented in
which can then be subject to querying. Despite querying, transformations can be
used to generate more abstract views on the system's architecture. This
transformation case deals with the creation of a state machine model out of a
Java syntax graph. It is derived from a task that originates from a real
reengineering project.
