Metric Results

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

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

Summary

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

Package TC CC AC Ca Ce A I D V
es.upm.dit.gsi.beast.exception 1 1 0 3 1 0.0% 25.0% 75.0% 1
es.upm.dit.gsi.beast.mock 1 1 0 0 3 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.common 3 3 0 7 1 0.0% 12.0% 88.0% 1
es.upm.dit.gsi.beast.mock.jade.bridgeMock 4 4 0 0 15 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.jade.common 1 1 0 3 4 0.0% 57.0% 43.0% 1
es.upm.dit.gsi.beast.mock.jade.listenerMock 2 2 0 0 13 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.jade.repositoryMock 2 2 0 0 12 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.jadex.bridgeMock 2 2 0 0 7 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.jadex.common 2 1 1 1 8 50.0% 89.0% 39.0% 1
es.upm.dit.gsi.beast.mock.jadex.listenerMock 1 1 0 0 3 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.mock.jadex.repositoryMock 1 1 0 0 5 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.platform 4 1 3 4 5 75.0% 56.0% 31.0% 1
es.upm.dit.gsi.beast.platform.jade 3 3 0 5 7 0.0% 58.0% 42.0% 1
es.upm.dit.gsi.beast.platform.jade.agent 2 2 0 0 8 0.0% 100.0% 0.0% 1
es.upm.dit.gsi.beast.platform.jadex 7 7 0 1 10 0.0% 91.0% 9.0% 1
es.upm.dit.gsi.beast.reader 1 1 0 2 7 0.0% 78.0% 22.0% 1
es.upm.dit.gsi.beast.reader.mas 4 4 0 1 7 0.0% 88.0% 12.0% 1
es.upm.dit.gsi.beast.reader.system 3 3 0 2 6 0.0% 75.0% 25.0% 1
es.upm.dit.gsi.beast.story 2 1 1 1 11 50.0% 92.0% 42.0% 1
es.upm.dit.gsi.beast.story.logging 1 1 0 4 3 0.0% 43.0% 57.0% 1

Packages

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

es.upm.dit.gsi.beast.exception

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 1 0.0% 25.0% 75.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.exception.BeastException
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.mas
es.upm.dit.gsi.beast.reader.system
java.lang

es.upm.dit.gsi.beast.mock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.MockManager
None es.upm.dit.gsi.beast.mock.common
es.upm.dit.gsi.beast.story
java.lang

es.upm.dit.gsi.beast.mock.common

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 1 0.0% 12.0% 88.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.common.AgentBehaviour
es.upm.dit.gsi.beast.mock.common.Definitions
es.upm.dit.gsi.beast.mock.common.MockConfiguration
es.upm.dit.gsi.beast.mock
es.upm.dit.gsi.beast.mock.jade.bridgeMock
es.upm.dit.gsi.beast.mock.jade.listenerMock
es.upm.dit.gsi.beast.mock.jade.repositoryMock
es.upm.dit.gsi.beast.mock.jadex.bridgeMock
es.upm.dit.gsi.beast.mock.jadex.common
es.upm.dit.gsi.beast.mock.jadex.repositoryMock
java.lang

es.upm.dit.gsi.beast.mock.jade.bridgeMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 15 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jade.bridgeMock.BridgeMockAgent
es.upm.dit.gsi.beast.mock.jade.bridgeMock.BridgeMockAgent$MessageReceiver
es.upm.dit.gsi.beast.mock.jade.bridgeMock.DannyBridgeMockAgent
es.upm.dit.gsi.beast.mock.jade.bridgeMock.DannyBridgeMockAgent$Listen
None es.upm.dit.gsi.beast.mock.common
es.upm.dit.gsi.beast.mock.jade.common
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.story.logging
jade.core
jade.core.behaviours
jade.domain
jade.domain.FIPAAgentManagement
jade.lang.acl
jade.util
java.io
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.mock.jade.common

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 4 0.0% 57.0% 43.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jade.common.AgentRegistration
es.upm.dit.gsi.beast.mock.jade.bridgeMock
es.upm.dit.gsi.beast.mock.jade.listenerMock
es.upm.dit.gsi.beast.mock.jade.repositoryMock
jade.core
jade.domain
jade.domain.FIPAAgentManagement
java.lang

es.upm.dit.gsi.beast.mock.jade.listenerMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 13 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jade.listenerMock.ListenerMockAgent
es.upm.dit.gsi.beast.mock.jade.listenerMock.ListenerMockAgent$MessageReceiver
None es.upm.dit.gsi.beast.mock.common
es.upm.dit.gsi.beast.mock.jade.common
es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.story.logging
jade.core
jade.core.behaviours
jade.domain
jade.lang.acl
jade.util
java.io
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.mock.jade.repositoryMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jade.repositoryMock.RepositoryMockAgent
es.upm.dit.gsi.beast.mock.jade.repositoryMock.RepositoryMockAgent$Listen
None es.upm.dit.gsi.beast.mock.common
es.upm.dit.gsi.beast.mock.jade.common
es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.story.logging
jade.core
jade.core.behaviours
jade.domain
jade.lang.acl
jade.util
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.mock.jadex.bridgeMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jadex.bridgeMock.InformCommunicationPlan
es.upm.dit.gsi.beast.mock.jadex.bridgeMock.RequestCommunicationPlan
None es.upm.dit.gsi.beast.mock.common
es.upm.dit.gsi.beast.mock.jadex.common
jadex.bdi.runtime
jadex.bridge
java.io
java.lang
java.util.logging

es.upm.dit.gsi.beast.mock.jadex.common

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 8 50.0% 89.0% 39.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
es.upm.dit.gsi.beast.mock.jadex.common.MockAgentPlan
es.upm.dit.gsi.beast.mock.jadex.common.SetupPlan
es.upm.dit.gsi.beast.mock.jadex.bridgeMock
es.upm.dit.gsi.beast.mock.common
jadex.base.fipa
jadex.bdi.runtime
jadex.bridge.service
jadex.commons.future
jadex.standalone.service
java.lang
java.util.logging

es.upm.dit.gsi.beast.mock.jadex.listenerMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jadex.listenerMock.ListenPlan
None jadex.bdi.runtime
java.lang
java.util.logging

es.upm.dit.gsi.beast.mock.jadex.repositoryMock

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 5 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.mock.jadex.repositoryMock.AnswerPlan
None es.upm.dit.gsi.beast.mock.common
jadex.bdi.runtime
jadex.bridge
java.lang
java.util.logging

es.upm.dit.gsi.beast.platform

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 5 75.0% 56.0% 31.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
es.upm.dit.gsi.beast.platform.AgentIntrospector
es.upm.dit.gsi.beast.platform.Connector
es.upm.dit.gsi.beast.platform.Messenger
es.upm.dit.gsi.beast.platform.PlatformSelector
es.upm.dit.gsi.beast.mock.jade.bridgeMock
es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.story
es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.platform.jadex
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.platform.jade

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 7 0.0% 58.0% 42.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.platform.jade.JadeAgentIntrospector
es.upm.dit.gsi.beast.platform.jade.JadeConnector
es.upm.dit.gsi.beast.platform.jade.JadeMessenger
es.upm.dit.gsi.beast.mock.jade.bridgeMock
es.upm.dit.gsi.beast.mock.jade.listenerMock
es.upm.dit.gsi.beast.mock.jade.repositoryMock
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jade.agent
es.upm.dit.gsi.beast.platform
jade.core
jade.lang.acl
jade.wrapper
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.platform.jade.agent

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.platform.jade.agent.MessengerAgent
es.upm.dit.gsi.beast.platform.jade.agent.MessengerAgent$RequestServer
None es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.story.logging
jade.core
jade.core.behaviours
jade.lang.acl
jade.util
java.lang
java.util.logging

es.upm.dit.gsi.beast.platform.jadex

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 0.0% 91.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.platform.jadex.JadexAgentIntrospector
es.upm.dit.gsi.beast.platform.jadex.JadexAgentIntrospector$1
es.upm.dit.gsi.beast.platform.jadex.JadexAgentIntrospector$2
es.upm.dit.gsi.beast.platform.jadex.JadexAgentIntrospector$3
es.upm.dit.gsi.beast.platform.jadex.JadexAgentIntrospector$4
es.upm.dit.gsi.beast.platform.jadex.JadexConnector
es.upm.dit.gsi.beast.platform.jadex.JadexMessenger
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform
jadex.base
jadex.bdi.runtime
jadex.bridge
jadex.bridge.service
jadex.commons
jadex.commons.future
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.reader

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 7 0.0% 78.0% 22.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.reader.Reader
es.upm.dit.gsi.beast.reader.mas
es.upm.dit.gsi.beast.reader.system
es.upm.dit.gsi.beast.exception
es.upm.dit.gsi.beast.reader.mas
es.upm.dit.gsi.beast.reader.system
java.io
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.reader.mas

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 7 0.0% 88.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.reader.mas.CreateMASCaseManager
es.upm.dit.gsi.beast.reader.mas.CreateMASTestCase
es.upm.dit.gsi.beast.reader.mas.CreateMASTestStory
es.upm.dit.gsi.beast.reader.mas.MASReader
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.exception
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.system
java.io
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.reader.system

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 6 0.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.reader.system.CreateSystemCaseManager
es.upm.dit.gsi.beast.reader.system.CreateSystemTestSuite
es.upm.dit.gsi.beast.reader.system.SystemReader
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.mas
es.upm.dit.gsi.beast.exception
es.upm.dit.gsi.beast.reader
java.io
java.lang
java.util
java.util.logging

es.upm.dit.gsi.beast.story

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 11 50.0% 92.0% 42.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
es.upm.dit.gsi.beast.story.BeastTestCase
es.upm.dit.gsi.beast.story.BeastTestCaseRunner
es.upm.dit.gsi.beast.mock
es.upm.dit.gsi.beast.platform
jadex.bdi.runtime
java.lang
java.util
java.util.logging
junit.framework
org.jbehave.core.configuration
org.jbehave.core.embedder
org.jbehave.core.io
org.jbehave.core.junit
org.jbehave.core.steps

es.upm.dit.gsi.beast.story.logging

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 3 0.0% 43.0% 57.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None es.upm.dit.gsi.beast.story.logging.LogActivator
es.upm.dit.gsi.beast.mock.jade.bridgeMock
es.upm.dit.gsi.beast.mock.jade.listenerMock
es.upm.dit.gsi.beast.mock.jade.repositoryMock
es.upm.dit.gsi.beast.platform.jade.agent
java.io
java.lang
java.util.logging

Cycles

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

Package Package Dependencies
es.upm.dit.gsi.beast.mock es.upm.dit.gsi.beast.story
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.mock.jade.bridgeMock es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.mock.jade.listenerMock es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.mock.jade.repositoryMock es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jade es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jade.agent es.upm.dit.gsi.beast.platform.jade
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.reader es.upm.dit.gsi.beast.reader.system
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.mas es.upm.dit.gsi.beast.reader.system
es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.system
es.upm.dit.gsi.beast.reader.system es.upm.dit.gsi.beast.reader
es.upm.dit.gsi.beast.reader.system
es.upm.dit.gsi.beast.story es.upm.dit.gsi.beast.platform
es.upm.dit.gsi.beast.platform.jadex
es.upm.dit.gsi.beast.platform

Explanation

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

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

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness The 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.
Instability The 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.
Distance The 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.
Cycles Packages 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.