use of org.osate.aadl2.impl.ComponentImplementationImpl in project AMASE by loonwerks.
the class FaultsVerifyAllHandler method isProbabilisticAnalysis.
private boolean isProbabilisticAnalysis() {
List<Classifier> classifiers = getClassifiers();
if (classifiers == null) {
return false;
}
// TODO: Finish addressing this issue.
for (Classifier cl : classifiers) {
// Get impl of this level
if (cl instanceof ComponentImplementationImpl) {
List<AnnexSubclause> asList = cl.getOwnedAnnexSubclauses();
for (AnnexSubclause as : asList) {
if (as.getName().equalsIgnoreCase("safety")) {
if (as instanceof DefaultAnnexSubclauseImpl) {
DefaultAnnexSubclauseImpl defaultAnnex = (DefaultAnnexSubclauseImpl) as;
SafetyContractSubclauseImpl safetyAnnex = (SafetyContractSubclauseImpl) defaultAnnex.getParsedAnnexSubclause();
// Get analysis stmt
List<SpecStatement> specs = ((SafetyContract) safetyAnnex.getContract()).getSpecs();
for (SpecStatement spec : specs) {
if (spec instanceof AnalysisStatement) {
if (!(((AnalysisStatement) spec).getBehavior() instanceof ProbabilityBehavior)) {
return false;
}
}
}
}
}
}
}
}
return true;
}
Aggregations