diff --git a/Makefile b/Makefile index 455c19ff80d5c98154823d967c28537bc99e5cbf..4abedcc0262738db92a5f1d83f792a03b67ae5e0 100755 --- a/Makefile +++ b/Makefile @@ -98,7 +98,7 @@ documentation: $(JAVADOC) $(CLASSPATH) $(TTOOL_SRC) -d $(TTOOL_DOC_HTML) $(TTOOL_SRC)/*.java $(TTOOL_SRC)/*/*.java $(TTOOL_SRC)/*/*/*.java $(TTOOL_SRC)/fr/inria/oasis/vercors/cttool/model/*.java release: jttooljar launcher tiftranslator tmltranslator remotesimulator ttooljar_std stdrelease - echo release done + @echo release done ########## RELEASE stdrelease: @@ -117,19 +117,21 @@ stdrelease: cd $(TTOOL_MODELING); cp $(RELEASE_STD_FILES_LIB) $(TTOOL_TARGET)/lib cp $(TTOOL_DOC)/README_lib $(TTOOL_TARGET)/lib # simulators - mkdir -p $(TTOOL_TARGET)/simulators/version1/src_simulator - mkdir -p $(TTOOL_TARGET)/simulators/version1/lib - cp $(TTOOL_SIMULATORS)/systemc1/Makefile $(TTOOL_TARGET)/simulators/version1 - cp $(TTOOL_SIMULATORS)/systemc1/Makefile.defs $(TTOOL_TARGET)/simulators/version1 - cp $(TTOOL_SIMULATORS)/systemc1/src_simulator/*.cpp $(TTOOL_TARGET)/simulators/version1/src_simulator - cp $(TTOOL_SIMULATORS)/systemc1/src_simulator/*.h $(TTOOL_TARGET)/simulators/version1/src_simulator - mkdir -p $(TTOOL_TARGET)/simulators/version2/src_simulator - mkdir -p $(TTOOL_TARGET)/simulators/version2/lib - cp $(TTOOL_SIMULATORS)/c++2/Makefile $(TTOOL_TARGET)/simulators/version2 - cp $(TTOOL_SIMULATORS)/c++2/Makefile.defs $(TTOOL_TARGET)/simulators/version2 - cp $(TTOOL_SIMULATORS)/c++2/schedstyle.css $(TTOOL_TARGET)/simulators/version2 - cp $(TTOOL_SIMULATORS)/c++2/src_simulator/*.cpp $(TTOOL_TARGET)/simulators/version2/src_simulator - cp $(TTOOL_SIMULATORS)/c++2/src_simulator/*.h $(TTOOL_TARGET)/simulators/version2/src_simulator + mkdir -p $(TTOOL_TARGET)/simulators/systemc1/src_simulator + mkdir -p $(TTOOL_TARGET)/simulators/systemc1/lib + cp $(TTOOL_SIMULATORS)/systemc1/lib/README $(TTOOL_TARGET)/simulators/systemc1/lib/ + cp $(TTOOL_SIMULATORS)/systemc1/Makefile $(TTOOL_TARGET)/simulators/systemc1 + cp $(TTOOL_SIMULATORS)/systemc1/Makefile.defs $(TTOOL_TARGET)/simulators/systemc1 + cp $(TTOOL_SIMULATORS)/systemc1/src_simulator/*.cpp $(TTOOL_TARGET)/simulators/systemc1/src_simulator + cp $(TTOOL_SIMULATORS)/systemc1/src_simulator/*.h $(TTOOL_TARGET)/simulators/systemc1/src_simulator + mkdir -p $(TTOOL_TARGET)/simulators/c++2/src_simulator + mkdir -p $(TTOOL_TARGET)/simulators/c++2/lib + cp $(TTOOL_SIMULATORS)/c++2/lib/README $(TTOOL_TARGET)/simulators/c++2/lib/ + cp $(TTOOL_SIMULATORS)/c++2/Makefile $(TTOOL_TARGET)/simulators/c++2 + cp $(TTOOL_SIMULATORS)/c++2/Makefile.defs $(TTOOL_TARGET)/simulators/c++2 + cp $(TTOOL_SIMULATORS)/c++2/schedstyle.css $(TTOOL_TARGET)/simulators/c++2 + cp $(TTOOL_SIMULATORS)/c++2/src_simulator/*.cpp $(TTOOL_TARGET)/simulators/c++2/src_simulator + cp $(TTOOL_SIMULATORS)/c++2/src_simulator/*.h $(TTOOL_TARGET)/simulators/c++2/src_simulator # Licenses cd $(TTOOL_DOC); cp $(RELEASE_STD_FILES_LICENSES) $(TTOOL_TARGET) # Main readme diff --git a/src/tmltranslator/TMLArchitecture.java b/src/tmltranslator/TMLArchitecture.java index bd1c5fa5ea18e7ae1da06441ea3371b078e86768..bcad2d2a26c2bcbb881ca08c2a20e0a6632f857c 100755 --- a/src/tmltranslator/TMLArchitecture.java +++ b/src/tmltranslator/TMLArchitecture.java @@ -54,6 +54,9 @@ public class TMLArchitecture { private int masterClockFrequency = 200; // in MHz + private int hashCode; + private boolean hashCodeComputed = false; + public TMLArchitecture() { init(); @@ -64,6 +67,21 @@ public class TMLArchitecture { hwlinks = new ArrayList<HwLink>(); } + private void computeHashCode() { + TMLArchiTextSpecification architxt = new TMLArchiTextSpecification("spec.tarchi"); + String s = architxt.toTextFormat(this); + hashCode = s.hashCode(); + System.out.println("TARCHI hashcode = " + hashCode); + } + + public int getHashCode() { + if (!hashCodeComputed) { + computeHashCode(); + hashCodeComputed = true; + } + return hashCode; + } + public void setMasterClockFrequency(int value) { masterClockFrequency = value; } diff --git a/src/tmltranslator/TMLMapping.java b/src/tmltranslator/TMLMapping.java index 1a120bf586f0c14285ac5e8503b5b38b5f4192d6..34341c018f9ff4f445213bf01d9306c61c8481cd 100755 --- a/src/tmltranslator/TMLMapping.java +++ b/src/tmltranslator/TMLMapping.java @@ -58,6 +58,9 @@ public class TMLMapping { private ArrayList<TMLElement> mappedcommelts; private boolean optimized = false; + + private int hashCode; + private boolean hashCodeComputed = false; public TMLMapping(TMLModeling _tmlm, TMLArchitecture _tmla) { tmlm = _tmlm; @@ -89,6 +92,21 @@ public class TMLMapping { return tmla; } + private void computeHashCode() { + hashCode = tmlm.getHashCode() + tmla.getHashCode(); + TMLMappingTextSpecification tmaptxt = new TMLMappingTextSpecification("spec.tmap"); + hashCode += tmaptxt.toString().hashCode(); + System.out.println("TMAP hashcode = " + hashCode); + } + + public int getHashCode() { + if (!hashCodeComputed) { + computeHashCode(); + hashCodeComputed = true; + } + return hashCode; + } + public ArrayList<HwExecutionNode> getNodes(){ return onnodes; } diff --git a/src/tmltranslator/TMLMappingTextSpecification.java b/src/tmltranslator/TMLMappingTextSpecification.java index c01358717f12a5ba27001e79fc9ddf090eed9978..4cccf447ea25464015c8f19f3270eaee338fa958 100755 --- a/src/tmltranslator/TMLMappingTextSpecification.java +++ b/src/tmltranslator/TMLMappingTextSpecification.java @@ -72,6 +72,8 @@ public class TMLMappingTextSpecification { private String taskparameters[] = {"PRIORITY"}; + private int hashCode; + public TMLMappingTextSpecification(String _title) { title = _title; diff --git a/src/tmltranslator/TMLModeling.java b/src/tmltranslator/TMLModeling.java index 1082e5685e11d30ecd06e2e07b3d44f31369e0bb..d88bcb8d40f238046ab3bbcbdecd2f4fff3e509e 100755 --- a/src/tmltranslator/TMLModeling.java +++ b/src/tmltranslator/TMLModeling.java @@ -36,7 +36,7 @@ The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms. /** - * Class TMLTask + * Class TMLModeling * Creation: 21/11/2005 * @version 1.0 21/11/2005 * @author Ludovic APVRILLE @@ -60,6 +60,9 @@ public class TMLModeling { private boolean optimized = false; private String[] ops = {">", "<", "+", "-", "*", "/", "[", "]", "(", ")", ":", "=", "==", ","}; + + private int hashCode; + private boolean hashCodeComputed = false; public TMLModeling() { init(); @@ -114,6 +117,21 @@ public class TMLModeling { } return null; } + + private void computeHashCode() { + TMLTextSpecification tmltxt = new TMLTextSpecification("spec.tml"); + String s = tmltxt.toTextFormat(this); + hashCode = s.hashCode(); + System.out.println("TML hashcode = " + hashCode); + } + + public int getHashCode() { + if (!hashCodeComputed) { + computeHashCode(); + hashCodeComputed = true; + } + return hashCode; + } public String toString() { String s = tasksToString();