|
Message
From: cvs at opencores.org<cvs@o...>
Date: Tue Jul 24 15:05:22 CEST 2007
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/07/07 24:15:05 Added: jop/java/tools/src/wcet/framework/interfaces/general IAnalyser.java IAnalyserComponent.java IDataStore.java IDataStoreKeys.java IGlobalComponentOrder.java Log: Revision Changes Path 1.1 jop/java/tools/src/wcet/framework/interfaces/general/IAnalyser.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/framework/interfaces/general/IAnalyser.java?rev=1.1&content-type=text/x-cvsweb-markup Index: IAnalyser.java =================================================================== package wcet.framework.interfaces.general; import java.util.Properties; import wcet.framework.exceptions.InitException; import wcet.framework.exceptions.TaskException; import wcet.framework.exceptions.TaskInitException; /** * Interface to be implemented by all analysers using this framework. * @author Elena Axamitova * @version 0.2 */ public interface IAnalyser { /** * Initializes the analyser object, including all its components. This method should be called * only once during the program execution. * @param arguments - a properties object with arguments and settings. * @throws InitException - thrown when the initiation of the analyser fails. */ public void init(Properties arguments) throws InitException; /** * Prepares the analyser for the execution of a concrete analysis. This method is called * for every task. * @param mainClass - the name of the application entry point, e.g of the class containing * the main method. * @throws TaskInitException - when the execution preparation fails. */ public void setTask(String mainClass) throws TaskInitException; /** * Starts the analysis execution. * @throws TaskException - when the execution failes. */ public void analyse() throws TaskException; } 1.1 jop/java/tools/src/wcet/framework/interfaces/general/IAnalyserComponent.java http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/framework/interfaces/general/IAnalyserComponent.java?rev=1.1&content-type=text/x-cvsweb-markup Index: IAnalyserComponent.java =================================================================== /* * IAnalyserComponent.java, WCETA tool */ package wcet.framework.interfaces.general; import java.util.concurrent.Callable; import wcet.framework.exceptions.InitException; /** * Interface of an analyser component. An analyser component performs * a well specified part of the analysis. * @author Elena Axamitova * @version 0.4 */ public interface IAnalyserComponent extends Callable<String>{ /** * Initializes the component. * @throws InitException */ public void init() throws InitException; /** * Returns the component's order in the execution sequence. * @see IGlobalComponentOrder * @return - the execution order of the component */ public int getOrder(); /** * <code>true</code> if there is to be only one component of this order in the system, * <code>false</code> otherwise. * @return - the onlyOne property of the component */ public boolean getOnlyOne(); /* * Sets the data store object to be used by the component. The component can refuse this
* data store.
* @param ds - the data store object
* @return <code>true</code> when this data store will be used.
*/
//public boolean setDataStore(IDataStore ds);
}
1.1 jop/java/tools/src/wcet/framework/interfaces/general/IDataStore.java
http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/framework/interfaces/general/IDataStore.java?rev=1.1&content-type=text/x-cvsweb-markup
Index: IDataStore.java
===================================================================
/*
* IDataStore.java, WCETA tool
*/
package wcet.framework.interfaces.general;
import java.io.PrintStream;
import java.util.List;
import wcet.framework.interfaces.cfg.IControlFlowGraph;
import wcet.framework.interfaces.constraints.IConstraint;
/**
* DataStore object is used to store information needed across component boundaries.
* The keys used to object store and retrieval should be defined in an IDataStoreKeys
* interface.
* @see IDataStoreKeys
* @author Elena Axamitova
* @version 0.3
*/
public interface IDataStore {
/**
* Store the task to be executed.
* @param ts - the name of the currently analysed application entry point.
* @return - <code>true</code>if the task was accepted</code>
*/
public boolean setTask(String ts);
/**
* Get the current task.
* @return - the name of the currently analysed application entry point.
*/
public String getTask();
/**
* Store the classpath.
*/
public boolean setClasspath(String cp);
/**
* The classpath set.
* @return - the complete path to the analysed application class files.
*/
public String getClasspath();
/**
* Store the output destination.
* @param os - the output stream to be used for messages and results.
* @return
*/
public boolean setOutput(PrintStream os);
/**
* Get the output destination.
* @return - the output stream to be used for messages and results.
*/
public PrintStream getOutput();
/**
* Get the current flow graph.
* @return - the current representation of the application's programm flow.
*/
public IControlFlowGraph getGraph();
/**
* Set the flow graph. If the graph is allready set, it should be modified, not
* replaced.
* @param graph - current representation of the application's programm flow.
*/
public void setGraph(IControlFlowGraph graph);
/**
* Get the state of the graph stored.
* @return - <code>true</code> if the graph is set.
*/
public boolean isGraphSet();
/**
* Add a constraint to the current set.
* @param constraint - a constraint to be added.
*/
public void addConstraint(IConstraint constraint);
/**
* Add all constraints in the list to the current constraints.
* @param constraints - constraints to be added.
*/
public void addConstraints(List<IConstraint> constraints);
/**
* Get all constraints.
* @return - all constraints stored.
*/
public List<IConstraint> getAllConstraints();
/**
* Store an unspecified object with the provided key.
* @param key - the key for the object retrieval
* @param obj - the onject to be stored.
*/
public boolean storeObject(String key, Object obj);
/**
* Get an object stored under the provided key.
* @return - the stored object.
*/
public Object getObject(String key);
/**
* Remove the object stored under this key form dataStore.
* @return
*/
public Object removeObject(String key);
/**
*
* @param sourcepath - the complete path to the analysed application java files.
*/
public boolean setSourcepath(String sourcepath);
/**
* The classpath set.
* @return - the complete path to the analysed application java files.
*/
public String getSourcepath();
/**
*
* @param sourcepath - the complete path to the analysed application java files.
*/
public boolean setMainMethodName(String name);
/**
* The classpath set.
* @return - the complete path to the analysed application java files.
*/
public String getMainMethodName();
/**
*
* @param sourcepath - the complete path to the analysed application java files.
*/
public boolean setMainMethodDescriptor(String descriptor);
/**
* The classpath set.
* @return - the complete path to the analysed application java files.
*/
public String getMainMethodDescriptor();
}
1.1 jop/java/tools/src/wcet/framework/interfaces/general/IDataStoreKeys.java
http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/framework/interfaces/general/IDataStoreKeys.java?rev=1.1&content-type=text/x-cvsweb-markup
Index: IDataStoreKeys.java
===================================================================
/*
* IDataStoreKeys.java, WCETA tool
*/
package wcet.framework.interfaces.general;
/**
* The interface defining basic keys for object storage and retrieval used by a
* IDataStore object.
*
* @author Elena Axamitova
* @version 0.2
*/
public interface IDataStoreKeys {
/**
* the classpath (path to the .class files of the application) key
*/
public static final String CLASSPATH_KEY = "General.Classpath";
/**
* the output (name of the file where the general output - debug and
* progress messages are to be printed) key. If not specified, standard
* output is used.
*/
public static final String OUTPUT_KEY = "General.Output";
/**
* the graph key
*/
public static final String GRAPH_KEY = "General.Graph";
/**
* the constraints key
*/
public static final String CONSTRAINTS_KEY = "General.Constraints";
/**
* the task key - stores the currently processed task.
*/
public static final String TASK_KEY = "General.Task";
/**
* the sourcepath (path to the .java files of the application) key
*/
public static final String SOURCEPATH_KEY = "General.Sourcepath";
/**
* the main method name key. If not specified 'main' is used.
*/
public static final String MAINMETHOD_NAME_KEY = "General.MainMethodName";
/**
* the main method descriptor key. If not specified
* '([Ljava/lang/String;)V' - the main method descriptor is used.
*/
public static final String MAINMETHOD_DESCRIPTOR_KEY = "General.MainMethodDescriptor";
/**
* the librarypath (path to the .jar files containing components) key
*/
public static final String LIBRARYPATH_KEY = "General.LibraryPath";
/**
* the key of the path to the zip
*/
public static final String ZIP_CLASSFILE_KEY = "General.ZipClassFile";
/**
* the keys of object with direct access, the set/get operations in the
* general area should be ignored.
*/
public static String[] ignoredKeys = { OUTPUT_KEY, GRAPH_KEY,
CONSTRAINTS_KEY };
}
1.1 jop/java/tools/src/wcet/framework/interfaces/general/IGlobalComponentOrder.java
http://www.opencores.org/cvsweb.shtml/jop/java/tools/src/wcet/framework/interfaces/general/IGlobalComponentOrder.java?rev=1.1&content-type=text/x-cvsweb-markup
Index: IGlobalComponentOrder.java
===================================================================
/*
* IGlobalComponentOrder.java, WCETA tool
*/
package wcet.framework.interfaces.general;
/**
* Defines constants for priorities reserved by first level
* components. Can be used for validity check of dynamicaly assembled
* analysers.
* @author Elena Axamitova
* @version 0.3
*/
public interface IGlobalComponentOrder {
/**
* default order value
*/
public static final int UNKNOWN_ORDER = 0;
/**
* not executed component
*/
public static final int NOT_EXECUTED = -1;
/**
* order of the annotations checker component
*/
public static final int ANNOTATIONS_CHECHER = 10;
/**
* order of the graph builder component
*/
public static final int GRAPH_BUILDER = 20;
//30 free
/**
* order of the constraints generator
*/
public static final int CONSTRAINS_GENERATOR = 40;
//60 free
/**
* order of the ILP solver components
*/
public static final int ILP_SOLVER = 70;
//80 free
/**
* order of the output writer
*/
public static final int OUTPUT_WRITER = 90;
}
|
 |