We follow the definition of John Lakos in "Large Scale C++ Software Design": A component is the smallest unit of physical design. This is a source file in Java and C# and a source file plus included header files in C/C++. For more details, see Chapter 4, Getting Familiar with the Sonargraph System Model .


Logical Namespace

Unifies physical namespaces contained in different root directories. More details are given in Section 4.4, “Logical Models” .



Represents usually a deployable unit (e.g. an OSGi bundle, JAR file, C# assembly) containing components.


Programming Element

The abstract term that represents a type, method, routine, etc. within the different languages. More details are given in Chapter 4, Getting Familiar with the Sonargraph System Model


(Software) System

Represents the scope of analysis and contains all required resources, i.e. the workspace definition, virtual models, analyzer configurations and Groovy scripts and the analyzed source code.


Workspace Profile

Transforms the existing root directories. This is useful for the integration of Sonargraph in the build server. More details are given in Section 7.7.3, “ Creating Workspace Profiles for Build Environments ”.


Virtual Model

Represents a sandbox where virtual sets of resolutions (Fix, Ignore, TODO, Delete refactoring, Move/Rename refactoring) can be applied to the system.