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 |
---|---|---|---|---|---|---|---|---|---|
org.objectweb.fractal.task.core | 15 | 10 | 5 | 4 | 9 | 33.0% | 69.0% | 3.0% | 1 |
org.objectweb.fractal.task.core.composition | 17 | 12 | 5 | 3 | 18 | 29.0% | 86.0% | 15.000001% | 1 |
org.objectweb.fractal.task.core.composition.ast | 16 | 2 | 14 | 2 | 2 | 88.0% | 50.0% | 38.0% | 1 |
org.objectweb.fractal.task.core.composition.function | 5 | 5 | 0 | 1 | 2 | 0.0% | 67.0% | 33.0% | 1 |
org.objectweb.fractal.task.core.composition.parser | 10 | 9 | 1 | 1 | 7 | 10.0% | 88.0% | 2.0% | 1 |
org.objectweb.fractal.task.core.control | 11 | 2 | 9 | 1 | 14 | 82.0% | 93.0% | 75.0% | 1 |
org.objectweb.fractal.task.core.internal | 8 | 7 | 1 | 3 | 16 | 12.0% | 84.0% | 3.0% | 1 |
org.objectweb.fractal.task.core.primitive | 5 | 4 | 1 | 2 | 12 | 20.0% | 86.0% | 6.0% | 1 |
org.objectweb.fractal.task.core.primitive.annotations | 7 | 1 | 6 | 2 | 2 | 86.0% | 50.0% | 36.0% | 1 |
Packages
[ summary ] [ packages ] [ cycles ] [ explanations ]org.objectweb.fractal.task.core
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 9 | 33.0% | 69.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.AbstractTaskFactoryUser org.objectweb.fractal.task.core.Executable org.objectweb.fractal.task.core.Record$Field org.objectweb.fractal.task.core.TaskFactory org.objectweb.fractal.task.core.TaskInterface |
org.objectweb.fractal.task.core.InvalidRecordDescriptorException org.objectweb.fractal.task.core.Record org.objectweb.fractal.task.core.Record$1 org.objectweb.fractal.task.core.Record$ArgumentList org.objectweb.fractal.task.core.Record$FieldEntry org.objectweb.fractal.task.core.Record$FieldsIterable org.objectweb.fractal.task.core.Record$FieldsIterator org.objectweb.fractal.task.core.Record$ValueReference org.objectweb.fractal.task.core.RecordTemplate org.objectweb.fractal.task.core.TaskException |
org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core.control org.objectweb.fractal.task.core.internal org.objectweb.fractal.task.core.primitive |
java.lang java.util java.util.regex org.objectweb.fractal.adl org.objectweb.fractal.api org.objectweb.fractal.api.control org.objectweb.fractal.julia org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core.primitive |
org.objectweb.fractal.task.core.composition
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 18 | 29.0% | 86.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.composition.AbstractTaskCompositionLoader org.objectweb.fractal.task.core.composition.CompositeTaskFactory org.objectweb.fractal.task.core.composition.Function org.objectweb.fractal.task.core.composition.FunctionLoaderAttrbutes org.objectweb.fractal.task.core.composition.TaskCompositionLoader |
org.objectweb.fractal.task.core.composition.EvaluationException org.objectweb.fractal.task.core.composition.FunctionExecutionException org.objectweb.fractal.task.core.composition.FunctionLoader org.objectweb.fractal.task.core.composition.Interpreter org.objectweb.fractal.task.core.composition.Interpreter$1 org.objectweb.fractal.task.core.composition.Interpreter$CompositeTask org.objectweb.fractal.task.core.composition.Interpreter$TaskBinding org.objectweb.fractal.task.core.composition.InvalidNumberOfParameterException org.objectweb.fractal.task.core.composition.InvalidParameterTypeException org.objectweb.fractal.task.core.composition.NullParameterException org.objectweb.fractal.task.core.composition.TaskCompositionFileLoader org.objectweb.fractal.task.core.composition.VariableLoader |
org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition.function org.objectweb.fractal.task.core.internal |
java.io java.lang java.net java.util org.objectweb.fractal.adl org.objectweb.fractal.adl.xml org.objectweb.fractal.api org.objectweb.fractal.api.control org.objectweb.fractal.api.factory org.objectweb.fractal.api.type org.objectweb.fractal.julia.control.binding org.objectweb.fractal.julia.factory org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition.ast org.objectweb.fractal.task.core.composition.function org.objectweb.fractal.task.core.composition.parser org.objectweb.fractal.task.core.internal org.objectweb.fractal.util |
org.objectweb.fractal.task.core.composition.ast
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 88.0% | 50.0% | 38.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.composition.ast.Binding org.objectweb.fractal.task.core.composition.ast.Constant org.objectweb.fractal.task.core.composition.ast.Export org.objectweb.fractal.task.core.composition.ast.FunctionCall org.objectweb.fractal.task.core.composition.ast.Import org.objectweb.fractal.task.core.composition.ast.ImportContainer org.objectweb.fractal.task.core.composition.ast.Instruction org.objectweb.fractal.task.core.composition.ast.Pattern org.objectweb.fractal.task.core.composition.ast.RecordField org.objectweb.fractal.task.core.composition.ast.Task org.objectweb.fractal.task.core.composition.ast.TaskDefinition org.objectweb.fractal.task.core.composition.ast.Value org.objectweb.fractal.task.core.composition.ast.ValueContainer org.objectweb.fractal.task.core.composition.ast.Variable |
org.objectweb.fractal.task.core.composition.ast.Constant$ConstantTypeEnum org.objectweb.fractal.task.core.composition.ast.DecorationHelper |
org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core.composition.parser |
java.lang org.objectweb.fractal.adl |
org.objectweb.fractal.task.core.composition.function
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.objectweb.fractal.task.core.composition.function.And org.objectweb.fractal.task.core.composition.function.Equals org.objectweb.fractal.task.core.composition.function.Not org.objectweb.fractal.task.core.composition.function.Or org.objectweb.fractal.task.core.composition.function.Same |
org.objectweb.fractal.task.core.composition |
java.lang org.objectweb.fractal.task.core.composition |
org.objectweb.fractal.task.core.composition.parser
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 10.0% | 88.0% | 2.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.composition.parser.TaskCompositionParserConstants |
org.objectweb.fractal.task.core.composition.parser.JavaCharStream org.objectweb.fractal.task.core.composition.parser.ParseException org.objectweb.fractal.task.core.composition.parser.TaskCompositionParser org.objectweb.fractal.task.core.composition.parser.TaskCompositionParser$1 org.objectweb.fractal.task.core.composition.parser.TaskCompositionParser$JJCalls org.objectweb.fractal.task.core.composition.parser.TaskCompositionParser$LookaheadSuccess org.objectweb.fractal.task.core.composition.parser.TaskCompositionParserTokenManager org.objectweb.fractal.task.core.composition.parser.Token org.objectweb.fractal.task.core.composition.parser.TokenMgrError |
org.objectweb.fractal.task.core.composition |
java.io java.lang java.util org.objectweb.fractal.adl.xml org.objectweb.fractal.task.core.composition.ast org.objectweb.fractal.task.core.internal org.xml.sax |
org.objectweb.fractal.task.core.control
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 14 | 82.0% | 93.0% | 75.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.control.BasicExportedInterfaceMixin org.objectweb.fractal.task.core.control.ContainerExecutionControllerMixin org.objectweb.fractal.task.core.control.DebugBindingControllerMixin org.objectweb.fractal.task.core.control.ExecutionController org.objectweb.fractal.task.core.control.ExportedInterfaceBindingMixin org.objectweb.fractal.task.core.control.ExportedInterfaceController org.objectweb.fractal.task.core.control.InterceptedExecutionControllerMixin org.objectweb.fractal.task.core.control.TaskBindingController org.objectweb.fractal.task.core.control.TaskContainerBindingControllerMixin |
org.objectweb.fractal.task.core.control.ExecutionInterceptorCodeGenerator org.objectweb.fractal.task.core.control.TaskExecutionException |
org.objectweb.fractal.task.core.primitive |
java.io java.lang java.lang.reflect java.util org.objectweb.fractal.api org.objectweb.fractal.api.control org.objectweb.fractal.api.factory org.objectweb.fractal.api.type org.objectweb.fractal.julia org.objectweb.fractal.julia.asm org.objectweb.fractal.julia.control.binding org.objectweb.fractal.task.core org.objectweb.fractal.task.core.primitive.annotations org.objectweb.fractal.util |
org.objectweb.fractal.task.core.internal
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 16 | 12.0% | 84.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.internal.BasicTaskInterface |
org.objectweb.fractal.task.core.internal.BasicTaskFactory org.objectweb.fractal.task.core.internal.TaskBootstrapFactory org.objectweb.fractal.task.core.internal.TaskBootstrapFactory$1 org.objectweb.fractal.task.core.internal.TaskInternalError org.objectweb.fractal.task.core.internal.TaskUtil org.objectweb.fractal.task.core.internal.TaskUtil$1 org.objectweb.fractal.task.core.internal.TaskUtil$TaskInterfaceDesc |
org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core.composition.parser org.objectweb.fractal.task.core.primitive |
java.io java.lang java.util org.objectweb.fractal.api org.objectweb.fractal.api.control org.objectweb.fractal.api.factory org.objectweb.fractal.api.type org.objectweb.fractal.julia org.objectweb.fractal.julia.asm org.objectweb.fractal.julia.factory org.objectweb.fractal.julia.loader org.objectweb.fractal.julia.type org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core.primitive org.objectweb.fractal.util |
org.objectweb.fractal.task.core.primitive
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 12 | 20.0% | 86.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.primitive.PrimitiveTaskFactory |
org.objectweb.fractal.task.core.primitive.BasicPrimitiveTaskFactory org.objectweb.fractal.task.core.primitive.BasicPrimitiveTaskFactory$ItfForEachTemplate org.objectweb.fractal.task.core.primitive.BasicPrimitiveTaskFactory$ItfTemplate org.objectweb.fractal.task.core.primitive.BasicPrimitiveTaskFactory$TaskTemplate |
org.objectweb.fractal.task.core org.objectweb.fractal.task.core.internal |
java.io java.lang java.lang.reflect java.util org.objectweb.fractal.api org.objectweb.fractal.api.control org.objectweb.fractal.api.factory org.objectweb.fractal.task.core org.objectweb.fractal.task.core.control org.objectweb.fractal.task.core.internal org.objectweb.fractal.task.core.primitive.annotations org.objectweb.fractal.util |
org.objectweb.fractal.task.core.primitive.annotations
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 2 | 86.0% | 50.0% | 36.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.objectweb.fractal.task.core.primitive.annotations.ClientInterface org.objectweb.fractal.task.core.primitive.annotations.ClientInterfaceForEach org.objectweb.fractal.task.core.primitive.annotations.Debug org.objectweb.fractal.task.core.primitive.annotations.ServerInterface org.objectweb.fractal.task.core.primitive.annotations.ServerInterfaces org.objectweb.fractal.task.core.primitive.annotations.TaskParameters |
org.objectweb.fractal.task.core.primitive.annotations.DefaultSignature |
org.objectweb.fractal.task.core.control org.objectweb.fractal.task.core.primitive |
java.lang java.lang.annotation |
Cycles
[ summary ] [ packages ] [ cycles ] [ explanations ]Package | Package Dependencies |
---|---|
org.objectweb.fractal.task.core | org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core |
org.objectweb.fractal.task.core.composition | org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition |
org.objectweb.fractal.task.core.composition.function | org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition |
org.objectweb.fractal.task.core.composition.parser | org.objectweb.fractal.task.core.internal org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core |
org.objectweb.fractal.task.core.control | org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core |
org.objectweb.fractal.task.core.internal | org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core |
org.objectweb.fractal.task.core.primitive | org.objectweb.fractal.task.core org.objectweb.fractal.task.core.composition org.objectweb.fractal.task.core |
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. |