validation moved into api
diff --git a/pom.xml b/pom.xml
index 264ef90..729f9c5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -303,10 +303,6 @@
     <module>taverna-scufl2-scufl</module>
     <module>taverna-scufl2-t2flow</module>
     <module>taverna-scufl2-ucfpackage</module>
-    <module>taverna-scufl2-validation</module>
-    <module>taverna-scufl2-validation-correctness</module>
-    <module>taverna-scufl2-validation-integration</module>
-    <module>taverna-scufl2-validation-structural</module>
     <module>taverna-scufl2-wfbundle</module>
     <module>taverna-scufl2-wfdesc</module>
 	</modules>
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/Status.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/Status.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/Status.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/Status.java
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationException.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationException.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationException.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationException.java
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationProblem.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationProblem.java
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationReport.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationReport.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/ValidationReport.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/ValidationReport.java
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/Validator.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/Validator.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/Validator.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/Validator.java
diff --git a/taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/WorkflowBeanReport.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/WorkflowBeanReport.java
similarity index 100%
rename from taverna-scufl2-validation/src/main/java/org/apache/taverna/scufl2/validation/WorkflowBeanReport.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/WorkflowBeanReport.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidator.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidator.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidator.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessValidator.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultCorrectnessValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultCorrectnessValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultCorrectnessValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultCorrectnessValidationListener.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultDispatchingVisitor.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultDispatchingVisitor.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultDispatchingVisitor.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DefaultDispatchingVisitor.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DispatchingVisitor.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DispatchingVisitor.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/DispatchingVisitor.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/DispatchingVisitor.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/ReportCorrectnessValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/ReportCorrectnessValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/ReportCorrectnessValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/ReportCorrectnessValidationListener.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/EmptyIterationStrategyTopNodeProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/EmptyIterationStrategyTopNodeProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/EmptyIterationStrategyTopNodeProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/EmptyIterationStrategyTopNodeProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/IncompatibleGranularDepthProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/IncompatibleGranularDepthProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/IncompatibleGranularDepthProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/IncompatibleGranularDepthProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/MismatchConfigurableTypeProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/MismatchConfigurableTypeProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/MismatchConfigurableTypeProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/MismatchConfigurableTypeProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NegativeValueProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NegativeValueProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NegativeValueProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NegativeValueProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NonAbsoluteURIProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NonAbsoluteURIProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NonAbsoluteURIProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NonAbsoluteURIProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NullFieldProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NullFieldProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NullFieldProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/NullFieldProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/OutOfScopeValueProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/OutOfScopeValueProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/OutOfScopeValueProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/OutOfScopeValueProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMentionedTwiceProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMentionedTwiceProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMentionedTwiceProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMentionedTwiceProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMissingFromIterationStrategyStackProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMissingFromIterationStrategyStackProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMissingFromIterationStrategyStackProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/PortMissingFromIterationStrategyStackProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/WrongParentProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/WrongParentProblem.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/WrongParentProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/report/WrongParentProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/DefaultStructuralValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/DefaultStructuralValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/DefaultStructuralValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/DefaultStructuralValidationListener.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/ReportStructuralValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/ReportStructuralValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/ReportStructuralValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/ReportStructuralValidationListener.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidationListener.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidationListener.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidationListener.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidationListener.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidator.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidator.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidator.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/StructuralValidator.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/ValidatorState.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/ValidatorState.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/ValidatorState.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/ValidatorState.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/DotProductIterationMismatchProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/DotProductIterationMismatchProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/DotProductIterationMismatchProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/DotProductIterationMismatchProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyCrossProductProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyCrossProductProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyCrossProductProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyCrossProductProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyDotProductProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyDotProductProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyDotProductProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/EmptyDotProductProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/FailedProcessorProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/FailedProcessorProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/FailedProcessorProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/FailedProcessorProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/IncompleteWorkflowProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/IncompleteWorkflowProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/IncompleteWorkflowProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/IncompleteWorkflowProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingIterationStrategyStackProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingIterationStrategyStackProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingIterationStrategyStackProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingIterationStrategyStackProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingMainIncomingDataLinkProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingMainIncomingDataLinkProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingMainIncomingDataLinkProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/MissingMainIncomingDataLinkProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnrecognizedIterationStrategyNodeProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnrecognizedIterationStrategyNodeProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnrecognizedIterationStrategyNodeProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnrecognizedIterationStrategyNodeProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedOutputProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedOutputProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedOutputProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedOutputProblem.java
diff --git a/taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedProcessorProblem.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedProcessorProblem.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedProcessorProblem.java
rename to taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/structural/report/UnresolvedProcessorProblem.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyProfile.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyProfile.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyProfile.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyProfile.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflow.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflow.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflow.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflow.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflowBundle.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflowBundle.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflowBundle.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/DummyWorkflowBundle.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractDepthPort.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractDepthPort.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractDepthPort.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractDepthPort.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractGranularDepthPort.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractGranularDepthPort.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractGranularDepthPort.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestAbstractGranularDepthPort.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestBlockingControlLink.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestBlockingControlLink.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestBlockingControlLink.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestBlockingControlLink.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestChild.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestChild.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestChild.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestChild.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestConfiguration.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestConfiguration.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestConfiguration.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestConfiguration.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestDataLink.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestDataLink.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestDataLink.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestDataLink.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyStack.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyStack.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyStack.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyStack.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyTopNode.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyTopNode.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyTopNode.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestIterationStrategyTopNode.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestNamed.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestNamed.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestNamed.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestNamed.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPortNode.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPortNode.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPortNode.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPortNode.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPorted.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPorted.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPorted.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestPorted.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessor.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessor.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessor.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessor.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorBinding.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorBinding.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorBinding.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorBinding.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorInputPortBinding.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorInputPortBinding.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorInputPortBinding.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorInputPortBinding.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorOutputPortBinding.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorOutputPortBinding.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorOutputPortBinding.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProcessorOutputPortBinding.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProfile.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProfile.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProfile.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestProfile.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestRoot.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestRoot.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestRoot.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestRoot.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestTyped.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestTyped.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestTyped.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestTyped.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflow.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflow.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflow.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflow.java
diff --git a/taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflowBundle.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflowBundle.java
similarity index 100%
rename from taverna-scufl2-validation-correctness/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflowBundle.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/correctness/TestWorkflowBundle.java
diff --git a/taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/CrossProductTest.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/CrossProductTest.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/CrossProductTest.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/CrossProductTest.java
diff --git a/taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/DepthInheritanceTest.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/DepthInheritanceTest.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/DepthInheritanceTest.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/DepthInheritanceTest.java
diff --git a/taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/DotProductTest.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/DotProductTest.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/DotProductTest.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/DotProductTest.java
diff --git a/taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/StagedCombinationTest.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/StagedCombinationTest.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/StagedCombinationTest.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/StagedCombinationTest.java
diff --git a/taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/WorkflowTest.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/WorkflowTest.java
similarity index 100%
rename from taverna-scufl2-validation-structural/src/test/java/org/apache/taverna/scufl2/validation/structural/WorkflowTest.java
rename to taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/validation/structural/WorkflowTest.java
diff --git a/taverna-scufl2-validation-integration/src/test/resources/t172starterpacklist b/taverna-scufl2-integration-tests/src/test/resources/t172starterpacklist
similarity index 100%
rename from taverna-scufl2-validation-integration/src/test/resources/t172starterpacklist
rename to taverna-scufl2-integration-tests/src/test/resources/t172starterpacklist
diff --git a/taverna-scufl2-validation-integration/src/test/resources/t230starterpacklist b/taverna-scufl2-integration-tests/src/test/resources/t230starterpacklist
similarity index 100%
rename from taverna-scufl2-validation-integration/src/test/resources/t230starterpacklist
rename to taverna-scufl2-integration-tests/src/test/resources/t230starterpacklist
diff --git a/taverna-scufl2-validation-correctness/pom.xml b/taverna-scufl2-validation-correctness/pom.xml
deleted file mode 100644
index a5289d8..0000000
--- a/taverna-scufl2-validation-correctness/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.taverna.language</groupId>
-        <artifactId>taverna-language</artifactId>
-        <version>0.15.0-incubating-SNAPSHOT</version>
-    </parent>
-    <artifactId>taverna-scufl2-validation-correctness</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Taverna Scufl 2 validation correctness</name>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.apache.taverna.scufl2.validation.correctness.*;provide:=true</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-		</plugins>
-	</build>
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>taverna-scufl2-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>taverna-scufl2-validation</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/taverna-scufl2-validation-integration/pom.xml b/taverna-scufl2-validation-integration/pom.xml
deleted file mode 100644
index 388d53a..0000000
--- a/taverna-scufl2-validation-integration/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.apache.taverna.language</groupId>
-		<artifactId>taverna-language</artifactId>
-		<version>0.15.0-incubating-SNAPSHOT</version>
-	</parent>
-	<artifactId>taverna-scufl2-validation-integration</artifactId>
-	<packaging>bundle</packaging>
-	<name>Apache Taverna Scufl 2 validation integration</name>
-	<dependencies>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>taverna-scufl2-t2flow</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>taverna-scufl2-validation-correctness</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>taverna-scufl2-validation-structural</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>taverna-scufl2-scufl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-	</dependencies>
-</project>
diff --git a/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/scufl/Test172StarterPack.java b/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/scufl/Test172StarterPack.java
deleted file mode 100644
index 4cf2a86..0000000
--- a/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/scufl/Test172StarterPack.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.apache.taverna.scufl2.validation.integration.scufl;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.junit.Assert.*;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.bind.JAXBException;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.scufl.ScuflParser;
-import org.apache.taverna.scufl2.validation.correctness.CorrectnessValidator;
-import org.apache.taverna.scufl2.validation.correctness.ReportCorrectnessValidationListener;
-import org.apache.taverna.scufl2.validation.structural.ReportStructuralValidationListener;
-import org.apache.taverna.scufl2.validation.structural.StructuralValidator;
-
-/**
- * @author alanrw
- * 
- */
-@RunWith(value = Parameterized.class)
-public class Test172StarterPack {
-
-	private final static String WORKFLOW_LIST = "/t172starterpacklist";
-
-	private ScuflParser parser;
-
-	private final String url;
-
-	public Test172StarterPack(String url) {
-		this.url = url;
-	}
-
-	@Before
-	public void makeParser() throws JAXBException {
-		parser = new ScuflParser();
-		parser.setValidating(false);
-		parser.setStrict(false);
-
-	}
-
-	@Parameters
-	public static List<Object[]> data() throws IOException {
-		List<Object[]> result = new ArrayList<Object[]>();
-		URL workflowListResource = Test172StarterPack.class
-				.getResource(WORKFLOW_LIST);
-		BufferedReader in = null;
-		try {
-			in = new BufferedReader(new InputStreamReader(
-					workflowListResource.openStream()));
-
-			String inputLine;
-
-			while ((inputLine = in.readLine()) != null) {
-				if (!inputLine.startsWith("#") && !inputLine.isEmpty()) {
-					result.add(new Object[] { inputLine });
-				}
-			}
-		} catch (IOException e) {
-			// TODO
-		} finally {
-			if (in != null) {
-				in.close();
-			}
-		}
-		return result;
-	}
-
-	@Test
-	public void testWorkflow() throws IOException, JAXBException,
-			ReaderException {
-		URL workflowURL = new URL(url);
-		WorkflowBundle bundle = null;
-		bundle = parser.parseScufl(workflowURL.openStream());
-
-		CorrectnessValidator cv = new CorrectnessValidator();
-		ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener();
-
-		cv.checkCorrectness(bundle, true, rcvl);
-		assertEquals(Collections.EMPTY_SET,
-				rcvl.getEmptyIterationStrategyTopNodeProblems());
-		assertEquals(Collections.EMPTY_SET,
-				rcvl.getIncompatibleGranularDepthProblems());
-		assertEquals(Collections.EMPTY_SET,
-				rcvl.getMismatchConfigurableTypeProblems());
-		assertEquals(Collections.EMPTY_SET, rcvl.getNegativeValueProblems());
-		assertEquals(Collections.EMPTY_SET, rcvl.getNonAbsoluteURIProblems());
-// FIXME		assertEquals(Collections.EMPTY_SET, rcvl.getNullFieldProblems());
-		assertEquals(Collections.EMPTY_SET, rcvl.getOutOfScopeValueProblems());
-		assertEquals(Collections.EMPTY_SET,
-				rcvl.getPortMentionedTwiceProblems());
-		assertEquals(Collections.EMPTY_SET,
-				rcvl.getPortMissingFromIterationStrategyStackProblems());
-		assertEquals(Collections.EMPTY_SET, rcvl.getWrongParentProblems());
-
-		StructuralValidator sv = new StructuralValidator();
-		ReportStructuralValidationListener rsvl = new ReportStructuralValidationListener();
-		sv.checkStructure(bundle, rsvl);
-		assertEquals(Collections.EMPTY_SET,
-				rsvl.getDotProductIterationMismatches());
-		assertEquals(Collections.EMPTY_SET, rsvl.getEmptyCrossProducts());
-		assertEquals(Collections.EMPTY_SET, rsvl.getEmptyDotProducts());
-		assertEquals(Collections.EMPTY_SET, rsvl.getFailedProcessors());
-		assertEquals(Collections.EMPTY_SET, rsvl.getIncompleteWorkflows());
-		assertEquals(Collections.EMPTY_SET,
-				rsvl.getMissingIterationStrategyStacks());
-// FIXME 		assertEquals(Collections.EMPTY_SET, rsvl.getMissingMainIncomingDataLinks());
-		assertEquals(Collections.EMPTY_SET,
-				rsvl.getUnrecognizedIterationStrategyNodes());
-// FIXME		assertEquals(Collections.EMPTY_SET, rsvl.getUnresolvedOutputs());
-		assertEquals(Collections.EMPTY_SET, rsvl.getUnresolvedProcessors());
-
-	}
-
-}
diff --git a/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/t2flow/Test230StarterPack.java b/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/t2flow/Test230StarterPack.java
deleted file mode 100644
index 50aeb9b..0000000
--- a/taverna-scufl2-validation-integration/src/test/java/org/apache/taverna/scufl2/validation/integration/t2flow/Test230StarterPack.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.apache.taverna.scufl2.validation.integration.t2flow;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.junit.Assert.*;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.bind.JAXBException;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.validation.correctness.CorrectnessValidator;
-import org.apache.taverna.scufl2.validation.correctness.ReportCorrectnessValidationListener;
-import org.apache.taverna.scufl2.validation.structural.ReportStructuralValidationListener;
-import org.apache.taverna.scufl2.validation.structural.StructuralValidator;
-
-/**
- * @author alanrw
- *
- */
-@RunWith(value = Parameterized.class)
-public class Test230StarterPack {
-	
-	private final static String WORKFLOW_LIST = "/t230starterpacklist";
-	
-	private T2FlowParser parser;
-
-	private final String url;
-	
-	public Test230StarterPack(String url) {
-		this.url = url;
-	}
-
-	@Before
-	public void makeParser() throws JAXBException {
-		parser = new T2FlowParser();
-		parser.setValidating(true);
-		parser.setStrict(true);
-		
-	}
-	
-	@Parameters
-	public static List<Object[]> data() throws IOException {
-		List<Object[]> result = new ArrayList<Object[]>();
-		URL workflowListResource = Test230StarterPack.class.getResource(WORKFLOW_LIST);
-		BufferedReader in = null;
-		try {
-			in = new BufferedReader(new InputStreamReader(
-				workflowListResource.openStream()));
-
-		String inputLine;
-
-		while ((inputLine = in.readLine()) != null) {
-			if (!inputLine.startsWith("#") && !inputLine.isEmpty()) {
-				result.add(new Object[] {inputLine});
-			}
-		 }
-		}
-		catch (IOException e) {
-			// TODO
-		}
-		finally {
-			if (in != null) {
-				in.close();
-			}
-		}
-		return result;
-	}
-	
-	@Test
-	public void testWorkflow() throws IOException, JAXBException,
-			ReaderException {
-		URL workflowURL = new URL(url);
-		WorkflowBundle bundle = null;
-			bundle = parser.parseT2Flow(workflowURL.openStream());
-
-			CorrectnessValidator cv = new CorrectnessValidator();
-			ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener();
-			
-			cv.checkCorrectness(bundle, true, rcvl);
-			assertEquals(Collections.EMPTY_SET, rcvl.getEmptyIterationStrategyTopNodeProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getIncompatibleGranularDepthProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getMismatchConfigurableTypeProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getNegativeValueProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getNonAbsoluteURIProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getNullFieldProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getOutOfScopeValueProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getPortMentionedTwiceProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getPortMissingFromIterationStrategyStackProblems());
-			assertEquals(Collections.EMPTY_SET, rcvl.getWrongParentProblems());
-			
-			StructuralValidator sv = new StructuralValidator();
-			ReportStructuralValidationListener rsvl = new ReportStructuralValidationListener();
-			sv.checkStructure(bundle, rsvl);
-			assertEquals(Collections.EMPTY_SET, rsvl.getDotProductIterationMismatches());
-			assertEquals(Collections.EMPTY_SET, rsvl.getEmptyCrossProducts());
-			assertEquals(Collections.EMPTY_SET, rsvl.getEmptyDotProducts());
-			assertEquals(Collections.EMPTY_SET, rsvl.getFailedProcessors());
-			assertEquals(Collections.EMPTY_SET, rsvl.getIncompleteWorkflows());
-			assertEquals(Collections.EMPTY_SET, rsvl.getMissingIterationStrategyStacks());
-			assertEquals(Collections.EMPTY_SET, rsvl.getMissingMainIncomingDataLinks());
-			assertEquals(Collections.EMPTY_SET, rsvl.getUnrecognizedIterationStrategyNodes());
-			assertEquals(Collections.EMPTY_SET, rsvl.getUnresolvedOutputs());
-			assertEquals(Collections.EMPTY_SET, rsvl.getUnresolvedProcessors());
-
-	}
-	
-	
-
-}
diff --git a/taverna-scufl2-validation-structural/pom.xml b/taverna-scufl2-validation-structural/pom.xml
deleted file mode 100644
index ee34ebc..0000000
--- a/taverna-scufl2-validation-structural/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-      <groupId>org.apache.taverna.language</groupId>
-      <artifactId>taverna-language</artifactId>
-      <version>0.15.0-incubating-SNAPSHOT</version>
-    </parent>
-    <artifactId>taverna-scufl2-validation-structural</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Taverna Scufl 2 validation structural</name>
-    <description>Code to check that the SCUFL 2 could run as a valid workflow.
-      This is separate from checking the activities within the SCUFL 2 are
-      "live"
-    </description> 
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>taverna-scufl2-validation</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>taverna-scufl2-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-    </dependencies>
-</project>
diff --git a/taverna-scufl2-validation/pom.xml b/taverna-scufl2-validation/pom.xml
deleted file mode 100644
index ae5c68c..0000000
--- a/taverna-scufl2-validation/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.taverna.language</groupId>
-    <artifactId>taverna-language</artifactId>
-    <version>0.15.0-incubating-SNAPSHOT</version>
-  </parent>
-  <packaging>bundle</packaging>
-  <artifactId>taverna-scufl2-validation</artifactId>
-  <name>Apache Taverna Scufl 2 validation</name>
-  <dependencies>
-  	<dependency>
-  		<groupId>${project.groupId}</groupId>
-  		<artifactId>taverna-scufl2-api</artifactId>
-  		<version>${project.version}</version>
-  	</dependency>
-  </dependencies>
-</project>