jmove offers a framework and an extendable set of tools to ease the understanding of the design and architecture of software systems and to provide support to control the software from this point of view. It is based on a model centric approach which allows to analyze different kind of sources like source code and byte code.
Main features are:
- reads Java byte and source code into a model
- provides various means for analysing those models
- navigating and querying models
- checking (non)desired dependencies between types, packages, modules and self defineable sets of model elements
- monitors observe architectural and design constraints
- dependency metrics
- extension API for integrating custom metrics, monitors etc.
- integrates with JUnit (predefined tests for package cycles, package order, type cycles, ...)
- Jmover, a Swing Application to visualize dependencies (Screenshots)
jmove and jmover is open source software. It is distributed without any warranty under GNU Lesser General Public License.