Metric Results

[ summary] [ packages] [ cycles] [ explanations]

The following document contains the results of a JDependmetric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary] [ packages] [ cycles] [ explanations]

Package TC AC CC AC EC A I D
org.codehaus.activemq 2712614240.0463%33%
org.codehaus.activemq.axis 101060100%0%
org.codehaus.activemq.broker 76112130.8652%38%
org.codehaus.activemq.broker.impl 11011323088%12%
org.codehaus.activemq.capacity 624430.3343%24%
org.codehaus.activemq.filter 461234570.2658%16%
org.codehaus.activemq.gbean 3120100.33100%33%
org.codehaus.activemq.jndi 10373110.379%9%
org.codehaus.activemq.journal 532340.657%17%
org.codehaus.activemq.journal.howl 303040100%0%
org.codehaus.activemq.journal.impl 17017112092%8%
org.codehaus.activemq.management 21318480.1467%19%
org.codehaus.activemq.message 83127139140.1426%59%
org.codehaus.activemq.message.util 9184100.1171%17%
org.codehaus.activemq.ra 252231160.0894%2%
org.codehaus.activemq.security 11024167%67%
org.codehaus.activemq.selector 716250.1471%14%
org.codehaus.activemq.service 161331980.8130%11%
org.codehaus.activemq.service.boundedvm 7161110.1492%6%
org.codehaus.activemq.service.impl 3162513170.1957%24%
org.codehaus.activemq.spring 7070160100%0%
org.codehaus.activemq.store 440126133%33%
org.codehaus.activemq.store.bdb 7070130100%0%
org.codehaus.activemq.store.bdbn 6060130100%0%
org.codehaus.activemq.store.cache 7341100.4391%34%
org.codehaus.activemq.store.howl 4040120100%0%
org.codehaus.activemq.store.jdbc 10371140.393%23%
org.codehaus.activemq.store.jdbc.adapter 808112092%8%
org.codehaus.activemq.store.jdbm 404315083%17%
org.codehaus.activemq.store.journal 8080150100%0%
org.codehaus.activemq.store.vm 505111092%8%
org.codehaus.activemq.transport 26131316140.547%3%
org.codehaus.activemq.transport.composite 202210083%17%
org.codehaus.activemq.transport.ember 5050120100%0%
org.codehaus.activemq.transport.gnet 7070140100%0%
org.codehaus.activemq.transport.http 10190180.1100%10%
org.codehaus.activemq.transport.jabber 101060100%0%
org.codehaus.activemq.transport.jgroups 5050100100%0%
org.codehaus.activemq.transport.jrms 4040120100%0%
org.codehaus.activemq.transport.jxta 404090100%0%
org.codehaus.activemq.transport.multicast 404090100%0%
org.codehaus.activemq.transport.reliable 303111092%8%
org.codehaus.activemq.transport.ssl 202020100%0%
org.codehaus.activemq.transport.tcp 808210083%17%
org.codehaus.activemq.transport.udp 40419090%10%
org.codehaus.activemq.transport.vm 50518089%11%
org.codehaus.activemq.transport.xstream 10115083%17%
org.codehaus.activemq.transport.zeroconf 4040110100%0%
org.codehaus.activemq.util 2332026150.1337%50%
org.codehaus.activemq.web 6150100.17100%17%

Packages

[ summary] [ packages] [ cycles] [ explanations]

org.codehaus.activemq

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
14244%63%33%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.axis

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
060%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.journal

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
3460%57%17%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.journal.howl

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
040%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.message

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
391414%26%59%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.security

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
24100%67%67%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None

org.codehaus.activemq.selector

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
2514%71%14%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.service.impl

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
131719%57%24%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.transport

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
161450%47%3%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

org.codehaus.activemq.transport.jabber

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
060%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.transport.jxta

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
090%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.transport.ssl

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
020%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.transport.xstream

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
150%83%17%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None

org.codehaus.activemq.transport.zeroconf

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
0110%100%0%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
None None

org.codehaus.activemq.util

Afferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
261513%37%50%
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages

Cycles

[ summary] [ packages] [ cycles] [ explanations]

PackageCyclic Dependencies
org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.axis
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.broker
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.broker.impl
  • org.codehaus.activemq.broker
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.filter
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.gbean
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.jndi
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.journal
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.journal.howl
  • org.codehaus.activemq.journal
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.journal.impl
  • org.codehaus.activemq.journal
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.management
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.message.util
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.ra
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.security
  • org.codehaus.activemq.broker
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.selector
  • org.codehaus.activemq.filter
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
org.codehaus.activemq.service.boundedvm
  • org.codehaus.activemq.broker
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.service.impl
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
org.codehaus.activemq.spring
  • org.codehaus.activemq.broker
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.store.bdb
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.bdbn
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.cache
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.store.howl
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.jdbc
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.jdbc.adapter
  • org.codehaus.activemq.store.jdbc
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.jdbm
  • org.codehaus.activemq
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.journal
  • org.codehaus.activemq.journal
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.store.vm
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
org.codehaus.activemq.transport
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
org.codehaus.activemq.transport.composite
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.transport.ember
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.gnet
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.http
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.jabber
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.jgroups
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.transport.jrms
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.jxta
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.multicast
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.reliable
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.transport.ssl
  • org.codehaus.activemq.transport.tcp
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.tcp
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.udp
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.transport.vm
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.xstream
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
org.codehaus.activemq.transport.zeroconf
  • org.codehaus.activemq.transport
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
org.codehaus.activemq.web
  • org.codehaus.activemq.message
  • org.codehaus.activemq.util
  • org.codehaus.activemq.store
  • org.codehaus.activemq.service
  • org.codehaus.activemq.message

Explanations

[ summary] [ packages] [ cycles] [ explanations]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

TermDescription
Number of ClassesThe number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent CouplingsThe number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent CouplingsThe number of other packages that the classes in the package depend upon is an indicator of the package's independence.
AbstractnessThe ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
InstabilityThe ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
DistanceThe perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
CyclesPackages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.