  For most service architectures, such as OSGi and Spring,
architecture-specific tools allow software developers and architects to
visualize otherwise obscure configurations hidden in the project files. Such
visualization tools are often used for documentation purposes and help to
better understand programs than with source code alone. However, such tools
often do not address project-specific peculiarities or do not exist at all for
less common architectures, requiring developers to use different visualization
and analysis tools within the same architecture. Furthermore, many generic
modeling tools and architecture visualization tools require their users to
create and maintain models manually.
  We here propose a DSL-driven approach that allows software architects to
define and adapt their own project visualization tool. The approach, which we
refer to as Software Project Visualization (SPViz), uses two DSLs, one to
describe architectural elements and their relationships, and one to describe
how these should be visualized. We demonstrate how SPViz can then automatically
synthesize a customized, project-specific visualization tool that can adapt to
changes in the underlying project automatically.
  We implemented our approach in an open-source library, also termed SPViz and
discuss and analyze four different tools that follow this concept, including
open-source projects and projects from an industrial partner in the railway
domain.
