

In addition double-clicking on any package will bring up a diagram featuring the same visualisations for the package’s contents. Using a mouse it is a simple matter to rotate, pan, zoom and move the 3D model to focus in on a particular area. The lower down a package is the more dependencies it has on other packages.The closer to the centre of a diagram a package is the more it is utilised (see grey concentric circles for reference).The bigger the package’s cube the more classes and interfaces the package contains.The screenshot above shows each KSE package as a cube and dependencies between packages as gradiated lines coloured from green to blue (green for the provider, blue the client). That is impressive given that the KSE code base is made up of 286 classes over 33 packages and encompasses ~37,000 lines of code.Īfter analysis completes Relief displays an impressive 3d model: The time to start Relief for the KSE project was 15 seconds on my Macbook Air running Windows 7. The project code is analysed on start up and the analysis is very fast. I ran the tool with black-box switched off as I wanted to see the true dependency picture in all its ugliness. Once all dependencies have been included the Relief should start with no errors. To fix this simply kill it, add the missing dependency indicated by the exception and re-run. If a dependency is missed a ClassNotFoundException will be displayed in the console and Relief will freeze on its splash screen. Running Relief against the config file involves running a simple command line: java -jar relief.jar kse.xml kse Relief will analyse dependencies based on either interfaces alone (blackbox) or implementation. Note the commented out ‘blackbox’ element.

java.JavaConfigHandlerĬ:\projects\kse\lib\AppleJavaExtensions.jarįortunately KeyStore Explorer has very few dependencies. Here is the config file I created for KSE: Once installed Relief requires an xml configuration file which points it in the direction of the project source to analyse and any dependant libraries. Another tip is to make sure that you run Relief with the JRE that Java3d installs itself into. I had to use the Windows installer for Java3d as, try as I might, I couldn’t get Relief to find a manual install. The set up process for Relief is relatively straightforward. I had some spare time this week so decided to use Relief to visualize the KeyStore Explorer (KSE) project code. The purpose of the tool is to analyse a Java project and present the objects therein as a 3D model with various characteristics to show size, client/provider dependencies and frequency of use. A colleague recently pointed me in the direction of an interesting code visualisation application called Relief.
