Analysis: Add the active path module
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.graph.core / src / org / eclipse / tracecompass / analysis / graph / core / criticalpath / ICriticalPathAlgorithm.java
diff --git a/analysis/org.eclipse.tracecompass.analysis.graph.core/src/org/eclipse/tracecompass/analysis/graph/core/criticalpath/ICriticalPathAlgorithm.java b/analysis/org.eclipse.tracecompass.analysis.graph.core/src/org/eclipse/tracecompass/analysis/graph/core/criticalpath/ICriticalPathAlgorithm.java
new file mode 100644 (file)
index 0000000..f564f99
--- /dev/null
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2015 École Polytechnique de Montréal
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.analysis.graph.core.criticalpath;
+
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.analysis.graph.core.base.TmfGraph;
+import org.eclipse.tracecompass.analysis.graph.core.base.TmfVertex;
+
+/**
+ * Interface for all critical path algorithms
+ *
+ * @author Francis Giraldeau
+ */
+public interface ICriticalPathAlgorithm {
+
+    /**
+     * Computes the critical path
+     *
+     * @param start
+     *            The starting vertex
+     * @param end
+     *            The end vertex
+     * @return The graph of the critical path
+     */
+    public TmfGraph compute(TmfVertex start, @Nullable TmfVertex end);
+
+    /**
+     * Unique ID of this analysis
+     *
+     * @return the ID string
+     */
+    public String getID();
+
+    /**
+     * Human readable display name
+     *
+     * @return display name
+     */
+    public String getDisplayName();
+
+}
This page took 0.026927 seconds and 5 git commands to generate.