Search in sources :

Example 11 with JKindResult

use of jkind.api.results.JKindResult in project AGREE by loonwerks.

the class VerifyHandler method createVerification.

private AnalysisResult createVerification(String resultName, ComponentInstance compInst, Program lustreProgram, AgreeProgram agreeProgram, AnalysisType analysisType) {
    // ///////
    // Logger logger = Logger.getLogger("MyLog");
    // FileHandler fh;
    // try {
    // This block configure the logger with handler and formatter
    // fh = new FileHandler("/home/thomas/zzz.log");
    // logger.addHandler(fh);
    // SimpleFormatter formatter = new SimpleFormatter();
    // fh.setFormatter(formatter);
    // logger.info("Agree Program:");
    // AgreeASTPrettyprinter pp = new AgreeASTPrettyprinter();
    // pp.visit(agreeProgram);
    // logger.info(pp.toString());
    // } catch (SecurityException ex) {
    // ex.printStackTrace();
    // }
    // catch (IOException ex) {
    // ex.printStackTrace();
    // }
    // //////////////
    AgreeAutomaterRegistry aAReg = (AgreeAutomaterRegistry) ExtensionRegistry.getRegistry(ExtensionRegistry.AGREE_AUTOMATER_EXT_ID);
    List<AgreeAutomater> automaters = aAReg.getAgreeAutomaters();
    AgreeRenaming renaming = new AgreeRenaming();
    AgreeLayout layout = new AgreeLayout();
    Node mainNode = null;
    for (Node node : lustreProgram.nodes) {
        if (node.id.equals(lustreProgram.main)) {
            mainNode = node;
            break;
        }
    }
    if (mainNode == null) {
        throw new AgreeException("Could not find main lustre node after translation");
    }
    List<String> properties = new ArrayList<>();
    RenamingVisitor.addRenamings(lustreProgram, renaming, compInst, layout);
    addProperties(renaming, properties, mainNode, agreeProgram);
    for (AgreeAutomater aa : automaters) {
        renaming = aa.rename(renaming);
        layout = aa.transformLayout(layout);
    }
    JKindResult result;
    switch(analysisType) {
        case Consistency:
            result = new ConsistencyResult(resultName, mainNode.properties, Collections.singletonList(true), renaming);
            break;
        case Realizability:
            result = new JRealizabilityResult(resultName, renaming);
            break;
        case AssumeGuarantee:
            final Set<String> invertedProperties = renaming.getInvertedProperties();
            List<Boolean> invertedPropertyMask = mainNode.properties.stream().map(p -> invertedProperties.contains(p)).collect(Collectors.toList());
            result = new JKindResult(resultName, properties, invertedPropertyMask, renaming);
            break;
        default:
            throw new AgreeException("Unhandled Analysis Type");
    }
    queue.add(result);
    ComponentImplementation compImpl = AgreeUtils.getInstanceImplementation(compInst);
    linker.setProgram(result, lustreProgram);
    linker.setComponent(result, compImpl);
    linker.setContract(result, getContract(compImpl));
    linker.setLayout(result, layout);
    linker.setReferenceMap(result, renaming.getRefMap());
    linker.setLog(result, AgreeLogger.getLog());
    linker.setRenaming(result, renaming);
    // System.out.println(program);
    return result;
}
Also used : AnnexUtil(org.osate.annexsupport.AnnexUtil) Element(org.osate.aadl2.Element) Program(jkind.lustre.Program) EphemeralImplementationUtil(com.rockwellcollins.atc.agree.analysis.EphemeralImplementationUtil) AnalysisResult(jkind.api.results.AnalysisResult) CompositeAnalysisResult(jkind.api.results.CompositeAnalysisResult) IStatus(org.eclipse.core.runtime.IStatus) AgreeAutomaterRegistry(com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomaterRegistry) Classifier(org.osate.aadl2.Classifier) PartInitException(org.eclipse.ui.PartInitException) Map(java.util.Map) ComponentType(org.osate.aadl2.ComponentType) RenamingVisitor(com.rockwellcollins.atc.agree.analysis.lustre.visitors.RenamingVisitor) IViewPart(org.eclipse.ui.IViewPart) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) PrintWriter(java.io.PrintWriter) SystemInstance(org.osate.aadl2.instance.SystemInstance) AgreeContractSubclause(com.rockwellcollins.atc.agree.agree.AgreeContractSubclause) Set(java.util.Set) Status(org.eclipse.core.runtime.Status) AadlPackage(org.osate.aadl2.AadlPackage) PreferencesUtil(com.rockwellcollins.atc.agree.analysis.preferences.PreferencesUtil) Collectors(java.util.stream.Collectors) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) LustreAstBuilder(com.rockwellcollins.atc.agree.analysis.translation.LustreAstBuilder) IHandlerService(org.eclipse.ui.handlers.IHandlerService) Node(jkind.lustre.Node) List(java.util.List) AgreeUtils(com.rockwellcollins.atc.agree.analysis.AgreeUtils) JRealizabilityApi(jkind.api.JRealizabilityApi) Queue(java.util.Queue) AgreeProgram(com.rockwellcollins.atc.agree.analysis.ast.AgreeProgram) AgreeAutomater(com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomater) ExtensionRegistry(com.rockwellcollins.atc.agree.analysis.extentions.ExtensionRegistry) Dialog(org.osate.ui.dialogs.Dialog) ComponentInstance(org.osate.aadl2.instance.ComponentInstance) AgreePackage(com.rockwellcollins.atc.agree.agree.AgreePackage) ConsistencyResult(com.rockwellcollins.atc.agree.analysis.ConsistencyResult) AgreeSubclause(com.rockwellcollins.atc.agree.agree.AgreeSubclause) Activator(com.rockwellcollins.atc.agree.analysis.Activator) LustreContractAstBuilder(com.rockwellcollins.atc.agree.analysis.translation.LustreContractAstBuilder) ComponentImplementation(org.osate.aadl2.ComponentImplementation) AnalysisErrorReporterManager(org.osate.aadl2.modelsupport.errorreporting.AnalysisErrorReporterManager) HashMap(java.util.HashMap) AgreeLayout(com.rockwellcollins.atc.agree.analysis.AgreeLayout) AtomicReference(java.util.concurrent.atomic.AtomicReference) Message(org.osate.aadl2.modelsupport.errorreporting.QueuingAnalysisErrorReporter.Message) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) ComponentClassifier(org.osate.aadl2.ComponentClassifier) Pair(org.eclipse.xtext.util.Pair) AgreeResultsLinker(com.rockwellcollins.atc.agree.analysis.views.AgreeResultsLinker) JKindResult(jkind.api.results.JKindResult) EcoreUtil2(org.eclipse.xtext.EcoreUtil2) AgreeNode(com.rockwellcollins.atc.agree.analysis.ast.AgreeNode) AgreeException(com.rockwellcollins.atc.agree.analysis.AgreeException) AgreeLogger(com.rockwellcollins.atc.agree.analysis.AgreeLogger) AgreeResultsView(com.rockwellcollins.atc.agree.analysis.views.AgreeResultsView) KindApi(jkind.api.KindApi) JRealizabilityResult(jkind.api.results.JRealizabilityResult) Shell(org.eclipse.swt.widgets.Shell) AadlUtil(org.osate.aadl2.modelsupport.util.AadlUtil) JKindException(jkind.JKindException) StringWriter(java.io.StringWriter) AgreeStatement(com.rockwellcollins.atc.agree.analysis.ast.AgreeStatement) JKindApi(jkind.api.JKindApi) AgreeFileUtil(com.rockwellcollins.atc.agree.analysis.saving.AgreeFileUtil) QueuingAnalysisErrorReporter(org.osate.aadl2.modelsupport.errorreporting.QueuingAnalysisErrorReporter) PreferenceConstants(com.rockwellcollins.atc.agree.analysis.preferences.PreferenceConstants) AgreeRenaming(com.rockwellcollins.atc.agree.analysis.AgreeRenaming) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) AnnexSubclause(org.osate.aadl2.AnnexSubclause) ArrayDeque(java.util.ArrayDeque) Collections(java.util.Collections) AgreeASTBuilder(com.rockwellcollins.atc.agree.analysis.ast.AgreeASTBuilder) ComponentImplementation(org.osate.aadl2.ComponentImplementation) JRealizabilityResult(jkind.api.results.JRealizabilityResult) AgreeRenaming(com.rockwellcollins.atc.agree.analysis.AgreeRenaming) Node(jkind.lustre.Node) AgreeNode(com.rockwellcollins.atc.agree.analysis.ast.AgreeNode) ArrayList(java.util.ArrayList) JKindResult(jkind.api.results.JKindResult) AgreeAutomaterRegistry(com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomaterRegistry) AgreeLayout(com.rockwellcollins.atc.agree.analysis.AgreeLayout) ConsistencyResult(com.rockwellcollins.atc.agree.analysis.ConsistencyResult) AgreeAutomater(com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomater) AgreeException(com.rockwellcollins.atc.agree.analysis.AgreeException)

Example 12 with JKindResult

use of jkind.api.results.JKindResult in project AGREE by loonwerks.

the class VerifyHandler method doAnalysis.

protected IStatus doAnalysis(final Element root, final IProgressMonitor globalMonitor) {
    Thread analysisThread = new Thread() {

        @Override
        public void run() {
            // Record the analysis start time and get model hashcode for
            // saving to property analysis log, if necessary
            String modelHash = "";
            long startTime = 0;
            if (Activator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_PROP_LOG)) {
                try {
                    modelHash = AgreeFileUtil.getModelHashcode(root);
                    startTime = System.currentTimeMillis();
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                    return;
                }
            }
            try {
                activateTerminateHandlers(globalMonitor);
                KindApi api = PreferencesUtil.getKindApi();
                KindApi consistApi = PreferencesUtil.getConsistencyApi();
                JRealizabilityApi realApi = PreferencesUtil.getJRealizabilityApi();
                while (!queue.isEmpty() && !globalMonitor.isCanceled()) {
                    JKindResult result = queue.peek();
                    NullProgressMonitor subMonitor = new NullProgressMonitor();
                    monitorRef.set(subMonitor);
                    Program program = linker.getProgram(result);
                    if (api instanceof JKindApi) {
                        String resultName = result.getName();
                        String adviceFileName = rerunAdviceMap.get(resultName);
                        if (adviceFileName == null) {
                            adviceFileName = "agree_advice" + adviceCount++;
                            rerunAdviceMap.put(resultName, adviceFileName);
                        } else {
                            ((JKindApi) api).setReadAdviceFile(adviceFileName);
                        }
                        ((JKindApi) api).setWriteAdviceFile(adviceFileName);
                    }
                    try {
                        if (result instanceof ConsistencyResult) {
                            consistApi.execute(program, result, subMonitor);
                        } else if (result instanceof JRealizabilityResult) {
                            realApi.execute(program, (JRealizabilityResult) result, subMonitor);
                        } else {
                            api.execute(program, result, subMonitor);
                        }
                    } catch (JKindException e) {
                        System.out.println("******** JKindException Text ********");
                        e.printStackTrace(System.out);
                        // System.out.println("******** JKind Output ********");
                        // System.out.println(result.getText());
                        // System.out.println("******** Agree Lustre ********");
                        // System.out.println(program);
                        String errStr = e.getMessage();
                        int l = Math.min(errStr.length(), 300);
                        System.out.println(e.getMessage().substring(0, l));
                        // >>>>>>> origin/develop
                        break;
                    }
                    // Print to property analysis log, if necessary
                    if (Activator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_PROP_LOG)) {
                        AgreeFileUtil.printLog(result, startTime, modelHash);
                    }
                    queue.remove();
                }
                while (!queue.isEmpty()) {
                    queue.remove().cancel();
                }
            } finally {
                deactivateTerminateHandlers();
                enableRerunHandler(root);
            }
        }
    };
    analysisThread.start();
    return Status.OK_STATUS;
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) JRealizabilityResult(jkind.api.results.JRealizabilityResult) Program(jkind.lustre.Program) AgreeProgram(com.rockwellcollins.atc.agree.analysis.ast.AgreeProgram) JKindException(jkind.JKindException) PartInitException(org.eclipse.ui.PartInitException) AgreeException(com.rockwellcollins.atc.agree.analysis.AgreeException) JKindException(jkind.JKindException) JKindResult(jkind.api.results.JKindResult) JKindApi(jkind.api.JKindApi) JRealizabilityApi(jkind.api.JRealizabilityApi) ConsistencyResult(com.rockwellcollins.atc.agree.analysis.ConsistencyResult) KindApi(jkind.api.KindApi) JKindApi(jkind.api.JKindApi)

Example 13 with JKindResult

use of jkind.api.results.JKindResult in project AGREE by loonwerks.

the class AgreeMenuListener method addViewTraceabilityConsole.

private IAction addViewTraceabilityConsole(String text, IMenuManager manager, AnalysisResult result) {
    return new Action(text) {

        @Override
        public void run() {
            Map<String, EObject> tempRefMap = linker.getReferenceMap(result.getParent());
            if (tempRefMap == null) {
                tempRefMap = linker.getReferenceMap(result);
            }
            final Map<String, EObject> refMap = tempRefMap;
            final MessageConsole console = findConsole("Traceability");
            final Renaming renaming = linker.getRenaming(result);
            showConsole(console);
            console.clearConsole();
            console.addPatternMatchListener(new AgreePatternListener(refMap));
            new Thread(() -> {
                try {
                    MessageConsoleStream out = console.newMessageStream();
                    printHLine(out, 2);
                    out.println("Traceability for Valid Contract Guarantees");
                    printHLine(out, 2);
                    out.println("");
                    List<PropertyResult> allProperties = new ArrayList<PropertyResult>(((JKindResult) result).getPropertyResults());
                    if (!allProperties.isEmpty()) {
                        for (PropertyResult prop : allProperties) {
                            if (prop.getStatus().equals(jkind.api.results.Status.VALID)) {
                                if (renaming instanceof AgreeRenaming) {
                                    writeIvcResult(prop, console, (AgreeRenaming) renaming);
                                }
                            }
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }).start();
        }
    };
}
Also used : IAction(org.eclipse.jface.action.IAction) Action(org.eclipse.jface.action.Action) MessageConsole(org.eclipse.ui.console.MessageConsole) AgreeRenaming(com.rockwellcollins.atc.agree.analysis.AgreeRenaming) MessageConsoleStream(org.eclipse.ui.console.MessageConsoleStream) PropertyResult(jkind.api.results.PropertyResult) PartInitException(org.eclipse.ui.PartInitException) AgreeException(com.rockwellcollins.atc.agree.analysis.AgreeException) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) AgreeRenaming(com.rockwellcollins.atc.agree.analysis.AgreeRenaming) Renaming(jkind.api.results.Renaming) JKindResult(jkind.api.results.JKindResult) EObject(org.eclipse.emf.ecore.EObject) List(java.util.List) ArrayList(java.util.ArrayList)

Example 14 with JKindResult

use of jkind.api.results.JKindResult in project AGREE by loonwerks.

the class AgreeFileUtil method parsePropertyResult.

/**
 * Converts an AGREE analysis result to a simple format used for saving AGREE analyses.
 * @param result - The AGREE result.
 * @return AgreePropertyResult
 */
private static AgreeLogResult parsePropertyResult(AnalysisResult result) {
    AgreeLogResult agreeResult = new AgreeLogResult();
    agreeResult.setName(result.getName());
    if (result instanceof PropertyResult) {
        PropertyResult propResult = (PropertyResult) result;
        agreeResult.setResult(propResult.getStatus().toString());
    } else if (result instanceof JKindResult) {
        JKindResult jkindResult = (JKindResult) result;
        ArrayList<AgreeLogResult> propResults = new ArrayList<>();
        agreeResult.setResult(jkindResult.getMultiStatus().getOverallStatus().toString());
        for (PropertyResult propResult : jkindResult.getPropertyResults()) {
            propResults.add(parsePropertyResult(propResult));
        }
        agreeResult.setAnalyses(propResults);
    }
    return agreeResult;
}
Also used : ArrayList(java.util.ArrayList) PropertyResult(jkind.api.results.PropertyResult) JKindResult(jkind.api.results.JKindResult)

Example 15 with JKindResult

use of jkind.api.results.JKindResult in project AGREE by loonwerks.

the class Simulation method executeFrame.

private SimulationFrameResults executeFrame(final List<Expr> assertions, final Set<SimulationProperty> disabledProperties) throws InterruptedException {
    assert assertions != null;
    // Build the final constrained lustre specification for the frame.
    final ProgramBuilder programBuilder = new ProgramBuilder(program.getLustreProgram());
    programBuilder.clearNodes();
    final NodeBuilder nodeBuilder = new NodeBuilder(program.getLustreProgram().getMainNode());
    // Add assignments for the sim assertions signal
    // Actual assertions are not used because they can result in an inconsistent Lustre program which will prevent
    // the set of support from being generated when using yices.
    Expr prevSimAssertionExpr = new BoolExpr(true);
    for (int assertionIndex = 0; assertionIndex < assertions.size(); assertionIndex++) {
        final String simAssertionSignalId = CreateSimulationGuarantee.SIMULATION_ASSERTIONS_ID + assertionIndex;
        final IdExpr simAssertionExpr = new IdExpr(simAssertionSignalId);
        nodeBuilder.addLocal(new VarDecl(simAssertionSignalId, NamedType.BOOL));
        nodeBuilder.addEquation(new Equation(simAssertionExpr, new BinaryExpr(prevSimAssertionExpr, BinaryOp.AND, assertions.get(assertionIndex))));
        prevSimAssertionExpr = simAssertionExpr;
    }
    nodeBuilder.addEquation(new Equation(new IdExpr(CreateSimulationGuarantee.SIMULATION_ASSERTIONS_ID), prevSimAssertionExpr));
    // Add assignments for property enablement variables
    for (final SimulationProperty simProp : program.getSimulationProperties()) {
        if (simProp.getEnablementVariableId() != null) {
            nodeBuilder.addEquation(new Equation(new IdExpr(simProp.getEnablementVariableId()), new BoolExpr(disabledProperties.contains(simProp) ? false : true)));
        }
    }
    // Build the lustre program for the frame
    programBuilder.addNode(nodeBuilder.build());
    final Program constrainedLustreProgram = programBuilder.build();
    // Prepare to execute JKind
    final KindApi api = PreferencesUtil.getKindApi();
    // Enable IVC Reduction capability if using JKind
    if (api instanceof JKindApi) {
        final JKindApi jkindApi = (JKindApi) api;
        jkindApi.setIvcReduction();
    }
    // Execute JKind
    final JKindResult result = new JKindResult("Simulation");
    // Lucas: This seems to be needed. If we do not add properties to the result explicitly,
    // it looks like the result will grab the main property name with the main node prepended.
    // This is causing an error when retrieving the property result in the
    // if/then/else block structure below.
    constrainedLustreProgram.getMainNode().properties.forEach(p -> result.addProperty(p));
    System.out.println(constrainedLustreProgram.toString());
    try {
        final IProgressMonitor currentMonitor = new NullProgressMonitor();
        api.execute(constrainedLustreProgram, result, currentMonitor);
        // Create a model state from the results.
        String simulationGuaranteeId = CreateSimulationGuarantee.SIMULATION_GUARANTEE_ID;
        final PropertyResult propertyResult = result.getPropertyResult(simulationGuaranteeId);
        final Property property = propertyResult.getProperty();
        if (property == null) {
            throw new AGREESimulatorException("Unexpected case. Unable to read property results", constrainedLustreProgram);
        } else if (property instanceof InvalidProperty) {
            final InvalidProperty invalidProperty = (InvalidProperty) property;
            final Counterexample counterexample = invalidProperty.getCounterexample();
            if (counterexample.getLength() != 1) {
                throw new AGREESimulatorException("Unexpected case. Counterexample has " + counterexample.getLength() + " steps", constrainedLustreProgram);
            }
            SimulationState newState = SimulationState.WAITING_FOR_COMMANDS;
            // and a counterexample will not have been generated. This should only occur when a disabled property, lemma, top-level guarantee, or a non-top-level assumption is false.
            for (final SimulationProperty simulationProp : program.getSimulationProperties()) {
                if (!disabledProperties.contains(simulationProp)) {
                    for (final String propLustreId : simulationProp.getLustreIds()) {
                        final Signal<BooleanValue> signal = counterexample.getBooleanSignal(propLustreId);
                        if (signal == null) {
                            throw new AGREESimulatorException("Unable to get signal for guarantee property: " + propLustreId, constrainedLustreProgram);
                        } else {
                            if (!signal.getValue(0).value) {
                                newState = SimulationState.WARNING_PROPERTY_NOT_SATISFIED;
                                break;
                            }
                        }
                    }
                }
            }
            return new SimulationFrameResults(constrainedLustreProgram, counterexample, disabledProperties, newState);
        } else if (property instanceof UnknownProperty) {
            return new SimulationFrameResults(constrainedLustreProgram, assertions, disabledProperties, SimulationState.HALTED_UNABLE_TO_SATISFY_CONSTRAINTS);
        } else if (property instanceof ValidProperty) {
            return new SimulationFrameResults(constrainedLustreProgram, assertions, disabledProperties, ((ValidProperty) property).getIvc(), SimulationState.HALTED_UNABLE_TO_SATISFY_CONSTRAINTS);
        } else {
            throw new AGREESimulatorException("Unhandled case. Property is of type: " + property.getClass(), constrainedLustreProgram);
        }
    } catch (JKindException ex) {
        if (ex.getCause() instanceof InterruptedException) {
            throw (InterruptedException) ex.getCause();
        }
        throw new AGREESimulatorException(constrainedLustreProgram, ex, result.getText());
    }
}
Also used : BoolExpr(jkind.lustre.BoolExpr) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) UnknownProperty(jkind.results.UnknownProperty) ValidProperty(jkind.results.ValidProperty) NodeBuilder(jkind.lustre.builders.NodeBuilder) Counterexample(jkind.results.Counterexample) PropertyResult(jkind.api.results.PropertyResult) JKindApi(jkind.api.JKindApi) Signal(jkind.results.Signal) VarDecl(jkind.lustre.VarDecl) SimulationProperty(edu.uah.rsesc.aadlsimulator.agree.SimulationProperty) KindApi(jkind.api.KindApi) JKindApi(jkind.api.JKindApi) SimulationProperty(edu.uah.rsesc.aadlsimulator.agree.SimulationProperty) ValidProperty(jkind.results.ValidProperty) Property(jkind.results.Property) UnknownProperty(jkind.results.UnknownProperty) InvalidProperty(jkind.results.InvalidProperty) InvalidProperty(jkind.results.InvalidProperty) Program(jkind.lustre.Program) SimulationProgram(edu.uah.rsesc.aadlsimulator.agree.SimulationProgram) JKindException(jkind.JKindException) IdExpr(jkind.lustre.IdExpr) ProgramBuilder(jkind.lustre.builders.ProgramBuilder) BinaryExpr(jkind.lustre.BinaryExpr) Equation(jkind.lustre.Equation) JKindResult(jkind.api.results.JKindResult) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) BoolExpr(jkind.lustre.BoolExpr) BinaryExpr(jkind.lustre.BinaryExpr) Expr(jkind.lustre.Expr) IdExpr(jkind.lustre.IdExpr)

Aggregations

JKindResult (jkind.api.results.JKindResult)16 AgreeException (com.rockwellcollins.atc.agree.analysis.AgreeException)9 AgreeRenaming (com.rockwellcollins.atc.agree.analysis.AgreeRenaming)8 ArrayList (java.util.ArrayList)8 ConsistencyResult (com.rockwellcollins.atc.agree.analysis.ConsistencyResult)7 JKindException (jkind.JKindException)7 KindApi (jkind.api.KindApi)7 JRealizabilityResult (jkind.api.results.JRealizabilityResult)7 Program (jkind.lustre.Program)7 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)7 AgreeLayout (com.rockwellcollins.atc.agree.analysis.AgreeLayout)6 JKindApi (jkind.api.JKindApi)6 PropertyResult (jkind.api.results.PropertyResult)6 Node (jkind.lustre.Node)6 ComponentImplementation (org.osate.aadl2.ComponentImplementation)6 AgreeProgram (com.rockwellcollins.atc.agree.analysis.ast.AgreeProgram)5 JRealizabilityApi (jkind.api.JRealizabilityApi)5 PartInitException (org.eclipse.ui.PartInitException)5 AgreeAutomater (com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomater)4 AgreeAutomaterRegistry (com.rockwellcollins.atc.agree.analysis.extentions.AgreeAutomaterRegistry)4