/*******************************************************************************
* Copyright (c) 2009 University of Edinburgh.
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the BSD Licence, which accompanies this feature
* and can be downloaded from http://groups.inf.ed.ac.uk/pepa/update/licence.txt
******************************************************************************/
package uk.ac.ed.inf.biopepa.ui.interfaces;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import uk.ac.ed.inf.biopepa.core.BioPEPAException;
import uk.ac.ed.inf.biopepa.core.compiler.ModelCompiler;
import uk.ac.ed.inf.biopepa.core.interfaces.Result;
import uk.ac.ed.inf.biopepa.core.interfaces.Solver;
import uk.ac.ed.inf.biopepa.core.sba.Parameters;
import uk.ac.ed.inf.biopepa.core.sba.PhaseLine;
import uk.ac.ed.inf.biopepa.core.sba.SBAModel;
import uk.ac.ed.inf.biopepa.core.sba.ExperimentLine;
import uk.ac.ed.inf.biopepa.ui.BioPEPAEvent;
public interface BioPEPAModel extends IResourceProvider {
public void addListener(BioPEPAListener listener);
public void notify(BioPEPAEvent event) ;
public void dispose();
public String[] getComponentNames();
public String[] getDynamicVariableNames();
public String getProperty(String name);
public void parse() throws CoreException;
public void overrideAndRecompile(ExperimentLine experimentLine) throws BioPEPAException;
public SBAModel getSBAModel();
public ModelCompiler getCompiledModel();
public void removeListener(BioPEPAListener listener);
public void setProperty(String name, String value);
public Result runPhasesTimeSeries(Solver solver,
Parameters parameters,
IProgressMonitor monitor,
PhaseLine[] phaseLines) throws BioPEPAException, CoreException;
public Result timeSeriesAnalysis(Solver solver,
Parameters parameters,
IProgressMonitor monitor) throws CoreException;
public boolean errorsPresent();
}