From 800133b8c32461a82574abc2366f37ee044287f4 Mon Sep 17 00:00:00 2001 From: Minh Hiep Pham <minh.pham@telecom-paristech.fr> Date: Wed, 18 Sep 2019 15:16:28 +0200 Subject: [PATCH] Created equalSpec methods to compare TML & class test to testing the clone of hardware nodes --- src/main/java/tmltranslator/HwA.java | 8 + src/main/java/tmltranslator/HwBridge.java | 9 + src/main/java/tmltranslator/HwBus.java | 13 + src/main/java/tmltranslator/HwCPU.java | 21 +- .../tmltranslator/HwCommunicationNode.java | 10 + src/main/java/tmltranslator/HwDMA.java | 12 + .../java/tmltranslator/HwExecutionNode.java | 12 + src/main/java/tmltranslator/HwFPGA.java | 15 +- src/main/java/tmltranslator/HwLink.java | 12 + src/main/java/tmltranslator/HwMemory.java | 12 +- src/main/java/tmltranslator/HwNode.java | 10 + .../java/tmltranslator/TMLArchitecture.java | 76 +- src/main/java/tmltranslator/TMLChannel.java | 16 + .../TMLCommunicationElement.java | 11 +- src/main/java/tmltranslator/TMLElement.java | 9 + src/main/java/tmltranslator/TMLEvent.java | 17 +- src/main/java/tmltranslator/TMLMapping.java | 106 ++ src/main/java/tmltranslator/TMLModeling.java | 140 +- src/main/java/tmltranslator/TMLRequest.java | 20 +- src/main/java/tmltranslator/TMLTask.java | 12 + .../modelcompiler/ArchUnitMEC.java | 19 + .../TDiagramPanelCloneArchitectureTest.java | 229 ++- .../expected/Expected_CloneArchitecture.xml | 1653 +++++++++++++++++ .../input/CloneCompositeComponentTest.xml | 632 ++++--- 24 files changed, 2767 insertions(+), 307 deletions(-) create mode 100644 ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml diff --git a/src/main/java/tmltranslator/HwA.java b/src/main/java/tmltranslator/HwA.java index 2719d81948..92a68d18ef 100755 --- a/src/main/java/tmltranslator/HwA.java +++ b/src/main/java/tmltranslator/HwA.java @@ -41,6 +41,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwA * Creation: 23/11/2007 @@ -75,5 +77,11 @@ public class HwA extends HwExecutionNode { return s; } + public boolean equalSpec(Object o) { + if (!(o instanceof HwA)) return false; + if (!super.equalSpec(o)) return false; + HwA hwA = (HwA) o; + return byteDataSize == hwA.byteDataSize; + } } diff --git a/src/main/java/tmltranslator/HwBridge.java b/src/main/java/tmltranslator/HwBridge.java index 4b6b0a49c9..309062e5f6 100755 --- a/src/main/java/tmltranslator/HwBridge.java +++ b/src/main/java/tmltranslator/HwBridge.java @@ -42,6 +42,7 @@ package tmltranslator; import java.util.ArrayList; +import java.util.Objects; /** @@ -68,4 +69,12 @@ public class HwBridge extends HwCommunicationNode { return s; } + public boolean equalSpec(Object o) { + if (!(o instanceof HwBridge)) return false; + if (!super.equalSpec(o)) return false; + HwBridge hwBridge = (HwBridge) o; + return latency == hwBridge.latency && + bufferByteSize == hwBridge.bufferByteSize; + } + } diff --git a/src/main/java/tmltranslator/HwBus.java b/src/main/java/tmltranslator/HwBus.java index 2106e01127..8f824501c3 100755 --- a/src/main/java/tmltranslator/HwBus.java +++ b/src/main/java/tmltranslator/HwBus.java @@ -39,6 +39,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwBus * Creation: 05/09/2007 @@ -73,4 +75,15 @@ public class HwBus extends HwCommunicationNode { return s; } + public boolean equalSpec(Object o) { + if (!(o instanceof HwBus)) return false; + if (!super.equalSpec(o)) return false; + HwBus hwBus = (HwBus) o; + return byteDataSize == hwBus.byteDataSize && + pipelineSize == hwBus.pipelineSize && + arbitration == hwBus.arbitration && + sliceTime == hwBus.sliceTime; + } + + } diff --git a/src/main/java/tmltranslator/HwCPU.java b/src/main/java/tmltranslator/HwCPU.java index 70780e9516..32df7da978 100755 --- a/src/main/java/tmltranslator/HwCPU.java +++ b/src/main/java/tmltranslator/HwCPU.java @@ -44,6 +44,8 @@ package tmltranslator; import tmltranslator.modelcompiler.ArchUnitMEC; import tmltranslator.modelcompiler.CpuMEC; +import java.util.Objects; + /** * Class HwCPU @@ -104,6 +106,23 @@ public class HwCPU extends HwExecutionNode { return s; } - + public boolean equalSpec(Object o) { + if (!(o instanceof HwCPU)) return false; + if (!super.equalSpec(o)) return false; + HwCPU hwCPU = (HwCPU) o; + return encryption == hwCPU.encryption && + nbOfCores == hwCPU.nbOfCores && + byteDataSize == hwCPU.byteDataSize && + pipelineSize == hwCPU.pipelineSize && + goIdleTime == hwCPU.goIdleTime && + maxConsecutiveIdleCycles == hwCPU.maxConsecutiveIdleCycles && + taskSwitchingTime == hwCPU.taskSwitchingTime && + branchingPredictionPenalty == hwCPU.branchingPredictionPenalty && + cacheMiss == hwCPU.cacheMiss && + schedulingPolicy == hwCPU.schedulingPolicy && + sliceTime == hwCPU.sliceTime && + MEC.equalSpec(hwCPU.MEC); + } + } diff --git a/src/main/java/tmltranslator/HwCommunicationNode.java b/src/main/java/tmltranslator/HwCommunicationNode.java index d32b00d767..e5a0f0eb09 100755 --- a/src/main/java/tmltranslator/HwCommunicationNode.java +++ b/src/main/java/tmltranslator/HwCommunicationNode.java @@ -42,6 +42,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwCommunicationNode * Creation: 23/11/2007 @@ -59,4 +61,12 @@ public abstract class HwCommunicationNode extends HwNode { public HwCommunicationNode(String _name) { super(_name); } + + public boolean equalSpec(Object o) { + if(!(o instanceof HwCommunicationNode)) return false; + if (!super.equalSpec(o)) return false; + HwCommunicationNode that = (HwCommunicationNode) o; + return privacy == that.privacy; + } + } diff --git a/src/main/java/tmltranslator/HwDMA.java b/src/main/java/tmltranslator/HwDMA.java index ddbe5e7353..cb68f6338d 100755 --- a/src/main/java/tmltranslator/HwDMA.java +++ b/src/main/java/tmltranslator/HwDMA.java @@ -41,6 +41,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwDMA * Creation: 26/09/2011 @@ -63,4 +65,14 @@ public class HwDMA extends HwCommunicationNode { String s = "<DMA name=\"" + name + "\" clockRatio=\"" + clockRatio + "\" byteDataSize=\"" + byteDataSize + "\" nbOfChannels=\"" + nbOfChannels + "\" execiTime=\"" + "1" + "\" execcTime=\"" + "1" +"\" />\n"; return s; } + + + public boolean equalSpec(Object o) { + if (!(o instanceof HwDMA)) return false; + if (!super.equalSpec(o)) return false; + HwDMA hwDMA = (HwDMA) o; + return byteDataSize == hwDMA.byteDataSize && + nbOfChannels == hwDMA.nbOfChannels; + } + } diff --git a/src/main/java/tmltranslator/HwExecutionNode.java b/src/main/java/tmltranslator/HwExecutionNode.java index 2b354583e1..1674ffd361 100755 --- a/src/main/java/tmltranslator/HwExecutionNode.java +++ b/src/main/java/tmltranslator/HwExecutionNode.java @@ -41,6 +41,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwExecutionNode * Creation: 23/11/2007 @@ -97,4 +99,14 @@ public abstract class HwExecutionNode extends HwNode { return false; } + public boolean equalSpec(Object o) { + if (!(o instanceof HwExecutionNode)) return false; + if(!super.equalSpec(o)) return false; + HwExecutionNode that = (HwExecutionNode) o; + return maximumNbOfTasks == that.maximumNbOfTasks && + execiTime == that.execiTime && + execcTime == that.execcTime && + operation.equals(that.operation); + } + } diff --git a/src/main/java/tmltranslator/HwFPGA.java b/src/main/java/tmltranslator/HwFPGA.java index cf1833f793..a1b038fb6d 100755 --- a/src/main/java/tmltranslator/HwFPGA.java +++ b/src/main/java/tmltranslator/HwFPGA.java @@ -41,6 +41,8 @@ package tmltranslator; import tmltranslator.modelcompiler.ArchUnitMEC; +import java.util.Objects; + /** * Class HwFPGA @@ -87,5 +89,16 @@ public class HwFPGA extends HwExecutionNode { return s; } - + public boolean equalSpec(Object o) { + if (!(o instanceof HwFPGA)) return false; + if(!super.equalSpec(o)) return false; + HwFPGA hwFPGA = (HwFPGA) o; + return byteDataSize == hwFPGA.byteDataSize && + goIdleTime == hwFPGA.goIdleTime && + maxConsecutiveIdleCycles == hwFPGA.maxConsecutiveIdleCycles && + capacity == hwFPGA.capacity && + mappingPenalty == hwFPGA.mappingPenalty && + reconfigurationTime == hwFPGA.reconfigurationTime && + scheduling.equals(hwFPGA.scheduling); + } } diff --git a/src/main/java/tmltranslator/HwLink.java b/src/main/java/tmltranslator/HwLink.java index a98bf3c275..51c8cc03d4 100755 --- a/src/main/java/tmltranslator/HwLink.java +++ b/src/main/java/tmltranslator/HwLink.java @@ -39,6 +39,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwLink * Creation: 05/09/2007 @@ -104,4 +106,14 @@ public class HwLink implements Comparable<HwLink> { return (nodeBus == bus) || (nodeBus == vgmn) || (nodeBus == crossbar); } + public boolean equalSpec(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + HwLink hwLink = (HwLink) o; + return priority == hwLink.priority && + bus.getName().equals(hwLink.bus.getName()) && + hwnode.getName().equals(hwLink.hwnode.getName()) && + Objects.equals(getName(),hwLink.getName()); + } + } diff --git a/src/main/java/tmltranslator/HwMemory.java b/src/main/java/tmltranslator/HwMemory.java index e417e93a71..abf43a84df 100755 --- a/src/main/java/tmltranslator/HwMemory.java +++ b/src/main/java/tmltranslator/HwMemory.java @@ -41,6 +41,8 @@ package tmltranslator; +import java.util.Objects; + /** * Class HwMemory * Creation: 23/11/2007 @@ -66,6 +68,14 @@ public class HwMemory extends HwCommunicationNode { String s = "<MEMORY name=\"" + name + "\" clockRatio=\"" + clockRatio + "\" byteDataSize=\"" + byteDataSize + "\" memorySize=\"" + memorySize + "\" bufferType=\"" + bufferType + "\" />\n"; return s; } - + + public boolean equalSpec(Object o) { + if (!(o instanceof HwMemory)) return false; + if(!super.equalSpec(o)) return false; + HwMemory hwMemory = (HwMemory) o; + return bufferType == hwMemory.bufferType && + byteDataSize == hwMemory.byteDataSize && + memorySize == hwMemory.memorySize; + } } diff --git a/src/main/java/tmltranslator/HwNode.java b/src/main/java/tmltranslator/HwNode.java index 5b339fb2bd..28dd620d26 100755 --- a/src/main/java/tmltranslator/HwNode.java +++ b/src/main/java/tmltranslator/HwNode.java @@ -43,6 +43,8 @@ package tmltranslator; import tmltranslator.modelcompiler.ArchUnitMEC; +import java.util.Objects; + /** * Class HwNode @@ -77,4 +79,12 @@ public abstract class HwNode extends DIPLOElement { public abstract String toXML(); + public boolean equalSpec(Object o) { + if (!(o instanceof HwNode)) return false; + HwNode hwNode = (HwNode) o; + return maximumNbOfMappedElement == hwNode.maximumNbOfMappedElement && + clockRatio == hwNode.clockRatio && + name.equals(hwNode.getName()); + } + } diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java index f86193101e..e91adcd7f9 100755 --- a/src/main/java/tmltranslator/TMLArchitecture.java +++ b/src/main/java/tmltranslator/TMLArchitecture.java @@ -41,8 +41,7 @@ package tmltranslator; import myutil.TraceManager; -import java.util.ArrayList; -import java.util.List; +import java.util.*; /** * Class TMLArchitecture @@ -502,4 +501,77 @@ public class TMLArchitecture { HwNoC noc = getHwNoC(); return (noc == null ? -1 : noc.size); } + + public boolean equalSpec(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TMLArchitecture that = (TMLArchitecture) o; + + if (!isHwNodeListEquals(hwnodes, that.hwnodes)) return false; + + if(!isHwlinkListEquals(hwlinks, that.hwlinks)) return false; + + return masterClockFrequency == that.masterClockFrequency; + } + + public boolean isHwNodeListEquals(List<HwNode> list1, List<HwNode> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(HwNode::getName)); + Collections.sort(list2, Comparator.comparing(HwNode::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + + public boolean isHwlinkListEquals(List<HwLink> list1, List<HwLink> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(HwLink::getName)); + Collections.sort(list2, Comparator.comparing(HwLink::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + } diff --git a/src/main/java/tmltranslator/TMLChannel.java b/src/main/java/tmltranslator/TMLChannel.java index fa1fb536b9..0b9ca172ff 100755 --- a/src/main/java/tmltranslator/TMLChannel.java +++ b/src/main/java/tmltranslator/TMLChannel.java @@ -44,6 +44,7 @@ import ui.tmlcompd.TMLCPrimitivePort; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * Class TMLChannel @@ -616,4 +617,19 @@ public class TMLChannel extends TMLCommunicationElement { s += " />\n"; return s; } + + public boolean equalSpec(Object o) { + if (!(o instanceof TMLChannel)) return false; + if (!super.equalSpec(o)) return false; + TMLChannel channel = (TMLChannel) o; + return checkConf == channel.checkConf && + checkAuth == channel.checkAuth && + size == channel.size && + type == channel.type && + max == channel.max && + vc == channel.vc && + nbOfSamples == channel.getNumberOfSamples() && + priority == channel.priority; + } + } diff --git a/src/main/java/tmltranslator/TMLCommunicationElement.java b/src/main/java/tmltranslator/TMLCommunicationElement.java index 843234226f..52c8572128 100755 --- a/src/main/java/tmltranslator/TMLCommunicationElement.java +++ b/src/main/java/tmltranslator/TMLCommunicationElement.java @@ -43,6 +43,8 @@ package tmltranslator; import myutil.TraceManager; +import java.util.Objects; + /** * Class TMLCommunicationElement * Creation: 22/11/2005 @@ -85,5 +87,12 @@ public abstract class TMLCommunicationElement extends TMLElement { return maxNbOfLoss; } - + public boolean equalSpec(Object o) { + if (!(o instanceof TMLCommunicationElement)) return false; + if (!super.equalSpec(o)) return false; + TMLCommunicationElement that = (TMLCommunicationElement) o; + return isLossy == that.isLossy && + lossPercentage == that.lossPercentage && + maxNbOfLoss == that.maxNbOfLoss; + } } diff --git a/src/main/java/tmltranslator/TMLElement.java b/src/main/java/tmltranslator/TMLElement.java index d84afa74f9..993d09da71 100755 --- a/src/main/java/tmltranslator/TMLElement.java +++ b/src/main/java/tmltranslator/TMLElement.java @@ -42,6 +42,7 @@ package tmltranslator; +import java.util.Objects; /** * Class TMLElement @@ -91,4 +92,12 @@ public class TMLElement extends DIPLOElement { public void setReferenceObject( Object _referenceObject ) { this.referenceObject = _referenceObject; } + + public boolean equalSpec(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TMLElement that = (TMLElement) o; + return name.equals(that.getName()); + } + } diff --git a/src/main/java/tmltranslator/TMLEvent.java b/src/main/java/tmltranslator/TMLEvent.java index 42c2b068ea..e3e8b9131f 100755 --- a/src/main/java/tmltranslator/TMLEvent.java +++ b/src/main/java/tmltranslator/TMLEvent.java @@ -43,9 +43,8 @@ package tmltranslator; import ui.tmlcompd.TMLCPrimitivePort; -import java.util.ArrayList; -import java.util.List; -import java.util.Vector; +import java.util.*; + import myutil.*; /** @@ -339,4 +338,16 @@ public class TMLEvent extends TMLCommunicationElement { return s; } + public boolean equalSpec(Object o) { + if (!(o instanceof TMLEvent)) return false; + if (!super.equalSpec(o)) return false; + TMLEvent event = (TMLEvent) o; + if(!(new HashSet<>(params).equals(new HashSet<>(event.params)))) + return false; + return maxEvt == event.maxEvt && + isBlocking == event.isBlocking && + checkAuth == event.checkAuth && + checkConf == event.checkConf; + } + } diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java index 2b427cc437..66a7efe36d 100755 --- a/src/main/java/tmltranslator/TMLMapping.java +++ b/src/main/java/tmltranslator/TMLMapping.java @@ -1831,4 +1831,110 @@ public class TMLMapping<E> { } return cpt; } + + public boolean equalSpec(Object o) { + if (!(o instanceof TMLMapping)) return false; + TMLMapping<?> that = (TMLMapping<?>) o; + + if(!isOncommondesListEquals(oncommnodes, that.oncommnodes)) + return false; + + if(!isMappedcommeltsListEquals(mappedcommelts, that.mappedcommelts)) + return false; + + if(!isMappedtasksListEquals(mappedtasks, that.mappedtasks)) + return false; + + + return tmlm.equalSpec(that.tmlm) && + tmla.equalSpec(that.tmla); + } + + public boolean isOncommondesListEquals(List<HwCommunicationNode> list1, List<HwCommunicationNode> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(HwCommunicationNode::getName)); + Collections.sort(list2, Comparator.comparing(HwCommunicationNode::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + public boolean isMappedcommeltsListEquals(List<TMLElement> list1, List<TMLElement> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLElement::getID)); + Collections.sort(list2, Comparator.comparing(TMLElement::getID)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + public boolean isMappedtasksListEquals(List<TMLTask> list1, List<TMLTask> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLTask::getName)); + Collections.sort(list2, Comparator.comparing(TMLTask::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + } diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java index 46fb125a76..8b4156397b 100755 --- a/src/main/java/tmltranslator/TMLModeling.java +++ b/src/main/java/tmltranslator/TMLModeling.java @@ -65,7 +65,7 @@ import java.util.*; * @version 1.0 21/11/2005 * @author Ludovic APVRILLE */ -public class TMLModeling<E> { +public class TMLModeling<E> { public final String SEP1 = "_S_"; private List<TMLTask> tasks; @@ -2731,5 +2731,141 @@ public class TMLModeling<E> { s += "</TMLMODELING>\n"; return s; } - + + public boolean equalSpec(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TMLModeling<?> that = (TMLModeling<?>) o; + + if(!isTaskListEquals(tasks, that.tasks)) + return false; + + if(!isRequestListEquals(requests, that.requests)) + return false; + + if(!isEventListEquals(events, that.events)) + return false; + + if(!isChannelListEquals(channels, that.channels)) + return false; + + return true; + } + + public boolean isTaskListEquals(List<TMLTask> list1, List<TMLTask> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLTask::getName)); + Collections.sort(list2, Comparator.comparing(TMLTask::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + public boolean isRequestListEquals(List<TMLRequest> list1, List<TMLRequest> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLRequest::getName)); + Collections.sort(list2, Comparator.comparing(TMLRequest::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + + public boolean isChannelListEquals(List<TMLChannel> list1, List<TMLChannel> list2){ + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if(list1 == null || list2 == null) { + return false; + } + else if(list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLChannel::getName)); + Collections.sort(list2, Comparator.comparing(TMLChannel::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + + public boolean isEventListEquals(List<TMLEvent> list1, List<TMLEvent> list2) { + if (list1 == null && list2 == null) { + return true; + } + //Only one of them is null + else if (list1 == null || list2 == null) { + return false; + } else if (list1.size() != list2.size()) { + return false; + } + + //copying to avoid rearranging original lists + list1 = new ArrayList<>(list1); + list2 = new ArrayList<>(list2); + + Collections.sort(list1, Comparator.comparing(TMLEvent::getName)); + Collections.sort(list2, Comparator.comparing(TMLEvent::getName)); + + boolean test; + + for (int i = 0; i < list1.size(); i++) { + test = list1.get(i).equalSpec(list2.get(i)); + if (!test) return false; + } + + return true; + } + } diff --git a/src/main/java/tmltranslator/TMLRequest.java b/src/main/java/tmltranslator/TMLRequest.java index 799d03fdd2..57f55eae74 100755 --- a/src/main/java/tmltranslator/TMLRequest.java +++ b/src/main/java/tmltranslator/TMLRequest.java @@ -43,9 +43,7 @@ package tmltranslator; import ui.tmlcompd.TMLCPrimitivePort; -import java.util.ArrayList; -import java.util.List; -import java.util.Vector; +import java.util.*; /** * Class TMLRequest @@ -172,4 +170,20 @@ public class TMLRequest extends TMLCommunicationElement { s += "</TMLREQUEST>\n"; return s; } + + public boolean equalSpec(Object o) { + if (!(o instanceof TMLRequest)) return false; + if (!super.equalSpec(o)) return false; + TMLRequest request = (TMLRequest) o; + + if(!(new HashSet<>(params).equals(new HashSet<>(request.params)))) + return false; + + if(!(new HashSet<>(paramNames).equals(new HashSet<>(request.paramNames)))) + return false; + + return confStatus == request.confStatus && + checkConf == request.checkConf && + checkAuth == request.checkAuth; + } } diff --git a/src/main/java/tmltranslator/TMLTask.java b/src/main/java/tmltranslator/TMLTask.java index 91e9da04a8..d0cb50ea58 100755 --- a/src/main/java/tmltranslator/TMLTask.java +++ b/src/main/java/tmltranslator/TMLTask.java @@ -465,4 +465,16 @@ public class TMLTask extends TMLElement { return activity.getWorstCaseIComplexity(); } + public boolean equalSpec(Object o) { + if (!(o instanceof TMLTask)) return false; + if (!super.equalSpec(o)) return false; + TMLTask tmlTask = (TMLTask) o; + if(!(new HashSet<>(attributes).equals(new HashSet<>(tmlTask.attributes)))) + return false; + return operationType == tmlTask.operationType && + isDaemon == tmlTask.isDaemon && + isAttacker == tmlTask.isAttacker && + operation.equals(tmlTask.operation) && + operationMEC.equals(tmlTask.operationMEC); + } } diff --git a/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java b/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java index c85b583164..db03d9d8a5 100644 --- a/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java +++ b/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java @@ -40,6 +40,7 @@ package tmltranslator.modelcompiler; import java.util.Arrays; +import java.util.Objects; import java.util.Vector; /** @@ -98,4 +99,22 @@ public abstract class ArchUnitMEC { return stringTypesArr[index]; } + public boolean equalSpec(Object o) { + if (!(o instanceof ArchUnitMEC)) return false; + ArchUnitMEC that = (ArchUnitMEC) o; + return index == that.index; + } + + /*@Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ArchUnitMEC that = (ArchUnitMEC) o; + return index == that.index; + } + + @Override + public int hashCode() { + return Objects.hash(index); + }*/ } //End of class diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java index dc4895c6bb..219329d2c2 100644 --- a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java +++ b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java @@ -1,27 +1,82 @@ +/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille + * + * ludovic.apvrille AT enst.fr + * + * This software is a computer program whose purpose is to allow the + * edition of TURTLE analysis, design and deployment diagrams, to + * allow the generation of RT-LOTOS or Java code from this diagram, + * and at last to allow the analysis of formal validation traces + * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP + * from INRIA Rhone-Alpes. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + package ui; import myutil.TraceManager; import org.junit.*; -import tmltranslator.compareTMLTest.CompareTML; +import tmltranslator.*; import ui.tmldd.TMLArchiDiagramPanel; import java.io.*; + import static org.junit.Assert.*; -/* + + +/** * #issue 186 + * Testing the clone function on architecture * author : Minh Hiep + * update test : 18/10/2019 */ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { - static TDiagramPanel architecture; - static TGComponent cpu1; + static TDiagramPanel architecture_clone; + static TDiagramPanel architecture_Exp; - static TGComponent mapChannel; + static TMLMapping tmlMapping_clone; + static TMLMapping tmlMapping_exp; + + static TGComponent CPU_Cl; + static TGComponent DMA_Cl; + static TGComponent FPGA_Cl; + static TGComponent HWA_Cl; + static TGComponent Bus_Cl; + static TGComponent Bridge_Cl; + static TGComponent Memory_Cl; + + + static TGComponent mapChannel; - final static String EXPECTED_FILE1 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec1.tmap"; - final static String EXPECTED_FILE2 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec2.tarchi"; + final static String EXPECTED_FILE_MODEL = getBaseResourcesDir() + "/ui/diagram2tml/expected/Expected_CloneArchitecture.xml"; @BeforeClass @@ -31,18 +86,39 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { public TDiagramPanelCloneArchitectureTest() { super(); + + // Open expected model + mainGUI.openProjectFromFile(new File(EXPECTED_FILE_MODEL)); + + for(TURTLEPanel _tab : mainGUI.getTabs()) { + if(_tab instanceof TMLArchiPanel) { + for (TDiagramPanel tdp : _tab.getPanels()) { + if (tdp instanceof TMLArchiDiagramPanel) { + architecture_Exp = tdp; + mainGUI.selectTab(tdp); + break; + } + } + break; + } + } + + + mainGUI.checkModelingSyntax(true); + tmlMapping_exp = mainGUI.gtm.getTMLMapping(); + + // Open testing model mainGUI.openProjectFromFile(new File(RESOURCES_DIR)); } @Before public void setUp() { - architecture = null; for(TURTLEPanel _tab : mainGUI.getTabs()) { if(_tab instanceof TMLArchiPanel) { for (TDiagramPanel tdp : _tab.getPanels()) { if (tdp instanceof TMLArchiDiagramPanel) { - architecture = tdp; - mainGUI.selectTab(architecture); + architecture_clone = tdp; + mainGUI.selectTab(architecture_clone); break; } } @@ -50,60 +126,115 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } - if (architecture != null) { - //TraceManager.addDev("architecture tab is non null"); - for (TGComponent tgc : architecture.getAllComponentList()) { - if (tgc.getValue().equals("Application::PrimitiveComp1")) { - mapChannel = tgc; - } + assertNotNull(architecture_clone); - if (tgc.getName().equals("CPU1")) { - cpu1 = tgc; - } + for (TGComponent tgc : architecture_clone.getAllComponentList()) { + if (tgc.getValue().equals("Application::PrimitiveComp1")) { + mapChannel = tgc; } - } - } - @Test - public void testCloneMapInArchitecture() throws Exception { - CompareTML compTML = new CompareTML(); - TGComponent mapTaskClone = null; - architecture.cloneComponent(mapChannel); - architecture.removeComponent(mapChannel); - for (TGComponent tgc : architecture.getComponentList()) { - if (tgc.getValue().equals("Application::PrimitiveComp1")) { - mapTaskClone = tgc; + if (tgc.getName().equals("CPU1")) { + CPU_Cl = tgc; + } + + if (tgc.getName().equals("FPGA0")) { + FPGA_Cl = tgc; + } + + if (tgc.getName().equals("Bridge0")) { + Bridge_Cl = tgc; + } + + if (tgc.getName().equals("HWA0")) { + HWA_Cl = tgc; } - } - if (mapTaskClone != null) { - //TraceManager.addDev("mapTaskClone is non null"); - architecture.attach(mapTaskClone); + if (tgc.getName().equals("Bus0")) { + Bus_Cl = tgc; + } + + if (tgc.getName().equals("DMA0")) { + DMA_Cl = tgc; + } + + if (tgc.getName().equals("Memory0")) { + Memory_Cl = tgc; + } } - mainGUI.checkModelingSyntax(true); - mainGUI.generateTMLTxt(); - File f1 = new File(EXPECTED_FILE1); - File f2 = new File("spec.tmap"); // Generated file after executing "TML generation" - //assertTrue(compTML.compareTML(f1,f2)); + } - @Test - public void testCloneNodeInArchitecture() throws Exception { - CompareTML compTML = new CompareTML(); - architecture.cloneComponent(cpu1); - for (TGComponent tgc : architecture.getComponentList()) { + public void cloneHwNodesOfTestingModel(){ + architecture_clone.cloneComponent(CPU_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("CPU1")) { tgc.setName("CPU2"); break; } } - mainGUI.checkModelingSyntax(true); - mainGUI.generateTMLTxt(); - File f1 = new File(EXPECTED_FILE2); - File f2 = new File("spec.tarchi"); // Generated file after executing "TML generation" - //assertTrue(compTML.compareTML(f1,f2)); + architecture_clone.cloneComponent(FPGA_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("FPGA0")) { + tgc.setName("FPGA1"); + break; + } + } + + architecture_clone.cloneComponent(Bridge_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("Bridge0")) { + tgc.setName("Bridge1"); + break; + } + } + + architecture_clone.cloneComponent(Bus_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("Bus0")) { + tgc.setName("Bus1"); + break; + } + } + + architecture_clone.cloneComponent(DMA_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("DMA0")) { + tgc.setName("DMA1"); + break; + } + } + + architecture_clone.cloneComponent(Memory_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("Memory0")) { + tgc.setName("Memory1"); + break; + } + } + + architecture_clone.cloneComponent(HWA_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("HWA0")) { + tgc.setName("HWA1"); + break; + } + } + + } + @Test + public void testTMLMapping() { + + cloneHwNodesOfTestingModel(); + + mainGUI.checkModelingSyntax(true); + + tmlMapping_clone = mainGUI.gtm.getTMLMapping(); + + assertTrue(tmlMapping_clone.equalSpec(tmlMapping_exp)); + } + } \ No newline at end of file diff --git a/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml new file mode 100644 index 0000000000..ca40f5d0ab --- /dev/null +++ b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml @@ -0,0 +1,1653 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0"> + +<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" > +<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" > +<CONNECTOR type="126" id="5" > +<cdparam x="475" y="480" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="Connector between ports" /> +<P1 x="467" y="365" id="58" /> +<P2 x="514" y="364" id="69" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="4" > +<cdparam x="1021" y="460" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="Connector between ports" /> +<P1 x="564" y="164" id="19" /> +<P2 x="430" y="163" id="32" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="3" > +<cdparam x="878" y="469" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="Connector between ports" /> +<P1 x="430" y="208" id="34" /> +<P2 x="564" y="209" id="21" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="2" > +<cdparam x="424" y="585" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="Connector between ports" /> +<P1 x="424" y="585" id="45" /> +<P2 x="521" y="585" id="47" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="1" > +<cdparam x="1144" y="348" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="Connector between ports" /> +<P1 x="1144" y="348" id="8" /> +<P2 x="1144" y="405" id="6" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<COMPONENT type="1200" id="97" > +<cdparam x="186" y="10" /> +<sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Composite component" value="CompositeComp1" /> +<TGConnectingPoint num="0" id="89" /> +<TGConnectingPoint num="1" id="90" /> +<TGConnectingPoint num="2" id="91" /> +<TGConnectingPoint num="3" id="92" /> +<TGConnectingPoint num="4" id="93" /> +<TGConnectingPoint num="5" id="94" /> +<TGConnectingPoint num="6" id="95" /> +<TGConnectingPoint num="7" id="96" /> +<extraparam> +<info hiddeni="false" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1202" id="31" > +<father id="97" num="0" /> +<cdparam x="577" y="116" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp2" /> +<TGConnectingPoint num="0" id="23" /> +<TGConnectingPoint num="1" id="24" /> +<TGConnectingPoint num="2" id="25" /> +<TGConnectingPoint num="3" id="26" /> +<TGConnectingPoint num="4" id="27" /> +<TGConnectingPoint num="5" id="28" /> +<TGConnectingPoint num="6" id="29" /> +<TGConnectingPoint num="7" id="30" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="20" > +<father id="31" num="0" /> +<cdparam x="564" y="151" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel" /> +<TGConnectingPoint num="0" id="19" /> +<extraparam> +<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="22" > +<father id="31" num="1" /> +<cdparam x="564" y="196" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> +<TGConnectingPoint num="0" id="21" /> +<extraparam> +<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="44" > +<father id="97" num="1" /> +<cdparam x="217" y="116" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp1" /> +<TGConnectingPoint num="0" id="36" /> +<TGConnectingPoint num="1" id="37" /> +<TGConnectingPoint num="2" id="38" /> +<TGConnectingPoint num="3" id="39" /> +<TGConnectingPoint num="4" id="40" /> +<TGConnectingPoint num="5" id="41" /> +<TGConnectingPoint num="6" id="42" /> +<TGConnectingPoint num="7" id="43" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="33" > +<father id="44" num="0" /> +<cdparam x="404" y="150" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel" /> +<TGConnectingPoint num="0" id="32" /> +<extraparam> +<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="35" > +<father id="44" num="1" /> +<cdparam x="404" y="195" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> +<TGConnectingPoint num="0" id="34" /> +<extraparam> +<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1200" id="88" > +<father id="97" num="2" /> +<cdparam x="266" y="278" /> +<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" /> +<infoparam name="Composite component" value="CompositeComp2" /> +<TGConnectingPoint num="0" id="80" /> +<TGConnectingPoint num="1" id="81" /> +<TGConnectingPoint num="2" id="82" /> +<TGConnectingPoint num="3" id="83" /> +<TGConnectingPoint num="4" id="84" /> +<TGConnectingPoint num="5" id="85" /> +<TGConnectingPoint num="6" id="86" /> +<TGConnectingPoint num="7" id="87" /> +<extraparam> +<info hiddeni="false" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="57" > +<father id="88" num="0" /> +<cdparam x="399" y="491" /> +<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" /> +<infoparam name="Primitive component" value="PrimitiveComp5" /> +<TGConnectingPoint num="0" id="49" /> +<TGConnectingPoint num="1" id="50" /> +<TGConnectingPoint num="2" id="51" /> +<TGConnectingPoint num="3" id="52" /> +<TGConnectingPoint num="4" id="53" /> +<TGConnectingPoint num="5" id="54" /> +<TGConnectingPoint num="6" id="55" /> +<TGConnectingPoint num="7" id="56" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="46" > +<father id="57" num="0" /> +<cdparam x="411" y="559" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> +<TGConnectingPoint num="0" id="45" /> +<extraparam> +<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="48" > +<father id="57" num="1" /> +<cdparam x="508" y="559" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> +<TGConnectingPoint num="0" id="47" /> +<extraparam> +<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="68" > +<father id="88" num="1" /> +<cdparam x="285" y="318" /> +<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp3" /> +<TGConnectingPoint num="0" id="60" /> +<TGConnectingPoint num="1" id="61" /> +<TGConnectingPoint num="2" id="62" /> +<TGConnectingPoint num="3" id="63" /> +<TGConnectingPoint num="4" id="64" /> +<TGConnectingPoint num="5" id="65" /> +<TGConnectingPoint num="6" id="66" /> +<TGConnectingPoint num="7" id="67" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="59" > +<father id="68" num="0" /> +<cdparam x="441" y="352" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel2" /> +<TGConnectingPoint num="0" id="58" /> +<extraparam> +<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="79" > +<father id="88" num="2" /> +<cdparam x="527" y="316" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp4" /> +<TGConnectingPoint num="0" id="71" /> +<TGConnectingPoint num="1" id="72" /> +<TGConnectingPoint num="2" id="73" /> +<TGConnectingPoint num="3" id="74" /> +<TGConnectingPoint num="4" id="75" /> +<TGConnectingPoint num="5" id="76" /> +<TGConnectingPoint num="6" id="77" /> +<TGConnectingPoint num="7" id="78" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="70" > +<father id="79" num="0" /> +<cdparam x="514" y="351" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel2" /> +<TGConnectingPoint num="0" id="69" /> +<extraparam> +<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1202" id="18" > +<cdparam x="931" y="292" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component" value="PrimitiveComp6" /> +<TGConnectingPoint num="0" id="10" /> +<TGConnectingPoint num="1" id="11" /> +<TGConnectingPoint num="2" id="12" /> +<TGConnectingPoint num="3" id="13" /> +<TGConnectingPoint num="4" id="14" /> +<TGConnectingPoint num="5" id="15" /> +<TGConnectingPoint num="6" id="16" /> +<TGConnectingPoint num="7" id="17" /> +<extraparam> +<Data isAttacker="No" daemon="false" Operation="" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1203" id="7" > +<father id="18" num="0" /> +<cdparam x="1118" y="392" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel4" /> +<TGConnectingPoint num="0" id="6" /> +<extraparam> +<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="9" > +<father id="18" num="1" /> +<cdparam x="1118" y="335" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel4" /> +<TGConnectingPoint num="0" id="8" /> +<extraparam> +<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + + +</TMLComponentTaskDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="113" > +<cdparam x="520" y="416" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="112" /> +</COMPONENT> + +<COMPONENT type="1001" id="115" > +<cdparam x="397" y="418" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="114" /> +</COMPONENT> + +<COMPONENT type="1010" id="118" > +<cdparam x="501" y="302" /> +<sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="wait event" value="event() " /> +<TGConnectingPoint num="0" id="116" /> +<TGConnectingPoint num="1" id="117" /> +<extraparam> +<Data eventName="event" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1009" id="121" > +<cdparam x="366" y="296" /> +<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="read channel" value="channel(1) " /> +<TGConnectingPoint num="0" id="119" /> +<TGConnectingPoint num="1" id="120" /> +<extraparam> +<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1012" id="129" > +<cdparam x="392" y="175" /> +<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="125" /> +<TGConnectingPoint num="1" id="126" /> +<TGConnectingPoint num="2" id="127" /> +<TGConnectingPoint num="3" id="128" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="122" > +<father id="129" num="0" /> +<cdparam x="367" y="185" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="123" > +<father id="129" num="1" /> +<cdparam x="427" y="185" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="124" > +<father id="129" num="2" /> +<cdparam x="412" y="220" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1000" id="131" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="130" /> +</COMPONENT> + +<CONNECTOR type="115" id="133" > +<cdparam x="447" y="190" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="447" y="190" id="127" /> +<P2 x="530" y="297" id="116" /> +<Point x="530" y="190" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="132" > +<father id="133" num="0" /> +<cdparam x="530" y="190" /> +<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="point " value="null" /> +</SUBCOMPONENT> + +<CONNECTOR type="115" id="134" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="130" /> +<P2 x="407" y="165" id="125" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="135" > +<cdparam x="407" y="230" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="230" id="128" /> +<P2 x="407" y="291" id="119" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="136" > +<cdparam x="407" y="321" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="321" id="120" /> +<P2 x="407" y="413" id="114" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="137" > +<cdparam x="530" y="327" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="530" y="327" id="117" /> +<P2 x="530" y="411" id="112" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="139" > +<cdparam x="397" y="440" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="138" /> +</COMPONENT> + +<COMPONENT type="1001" id="141" > +<cdparam x="302" y="444" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="140" /> +</COMPONENT> + +<COMPONENT type="1008" id="144" > +<cdparam x="285" y="326" /> +<sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="send event" value="event()" /> +<TGConnectingPoint num="0" id="142" /> +<TGConnectingPoint num="1" id="143" /> +<extraparam> +<Data eventName="event" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="147" > +<cdparam x="368" y="324" /> +<sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="write channel" value="channel(1)" /> +<TGConnectingPoint num="0" id="145" /> +<TGConnectingPoint num="1" id="146" /> +<extraparam> +<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="Yes" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1012" id="155" > +<cdparam x="392" y="183" /> +<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="151" /> +<TGConnectingPoint num="1" id="152" /> +<TGConnectingPoint num="2" id="153" /> +<TGConnectingPoint num="3" id="154" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="148" > +<father id="155" num="0" /> +<cdparam x="367" y="193" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="149" > +<father id="155" num="1" /> +<cdparam x="427" y="193" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="150" > +<father id="155" num="2" /> +<cdparam x="412" y="228" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1000" id="157" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="156" /> +</COMPONENT> + +<CONNECTOR type="115" id="159" > +<cdparam x="367" y="198" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="367" y="198" id="152" /> +<P2 x="312" y="321" id="142" /> +<Point x="312" y="198" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="158" > +<father id="159" num="0" /> +<cdparam x="312" y="198" /> +<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="point " value="null" /> +</SUBCOMPONENT> + +<CONNECTOR type="115" id="160" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="156" /> +<P2 x="407" y="173" id="151" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="161" > +<cdparam x="407" y="238" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="238" id="154" /> +<P2 x="407" y="319" id="145" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="162" > +<cdparam x="312" y="351" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="312" y="351" id="143" /> +<P2 x="312" y="439" id="140" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="163" > +<cdparam x="407" y="349" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="349" id="146" /> +<P2 x="407" y="435" id="138" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="165" > +<cdparam x="397" y="269" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="164" /> +</COMPONENT> + +<COMPONENT type="1006" id="168" > +<cdparam x="364" y="143" /> +<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="write channel" value="channel2(1)" /> +<TGConnectingPoint num="0" id="166" /> +<TGConnectingPoint num="1" id="167" /> +<extraparam> +<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="170" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="169" /> +</COMPONENT> + +<CONNECTOR type="115" id="171" > +<cdparam x="407" y="168" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="168" id="167" /> +<P2 x="407" y="264" id="164" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="172" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="169" /> +<P2 x="407" y="138" id="166" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="174" > +<cdparam x="397" y="274" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="173" /> +</COMPONENT> + +<COMPONENT type="1009" id="177" > +<cdparam x="362" y="162" /> +<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="read channel" value="channel2(1) " /> +<TGConnectingPoint num="0" id="175" /> +<TGConnectingPoint num="1" id="176" /> +<extraparam> +<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="179" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="178" /> +</COMPONENT> + +<CONNECTOR type="115" id="180" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="178" /> +<P2 x="407" y="157" id="175" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="181" > +<cdparam x="407" y="187" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="187" id="176" /> +<P2 x="407" y="269" id="173" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="183" > +<cdparam x="397" y="342" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="182" /> +</COMPONENT> + +<COMPONENT type="1009" id="186" > +<cdparam x="362" y="238" /> +<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="read channel" value="channel3(1) " /> +<TGConnectingPoint num="0" id="184" /> +<TGConnectingPoint num="1" id="185" /> +<extraparam> +<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="189" > +<cdparam x="364" y="143" /> +<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="write channel" value="channel3(1)" /> +<TGConnectingPoint num="0" id="187" /> +<TGConnectingPoint num="1" id="188" /> +<extraparam> +<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="191" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="190" /> +</COMPONENT> + +<CONNECTOR type="115" id="192" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="190" /> +<P2 x="407" y="138" id="187" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="193" > +<cdparam x="407" y="168" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="168" id="188" /> +<P2 x="407" y="233" id="184" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="194" > +<cdparam x="407" y="263" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="263" id="185" /> +<P2 x="407" y="337" id="182" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="PrimitiveComp6" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1001" id="196" > +<cdparam x="397" y="331" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="195" /> +</COMPONENT> + +<COMPONENT type="1009" id="199" > +<cdparam x="362" y="233" /> +<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="read channel" value="channel4(1) " /> +<TGConnectingPoint num="0" id="197" /> +<TGConnectingPoint num="1" id="198" /> +<extraparam> +<Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="202" > +<cdparam x="364" y="133" /> +<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="write channel" value="channel4(1)" /> +<TGConnectingPoint num="0" id="200" /> +<TGConnectingPoint num="1" id="201" /> +<extraparam> +<Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="204" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="203" /> +</COMPONENT> + +<CONNECTOR type="115" id="205" > +<cdparam x="407" y="65" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="65" id="203" /> +<P2 x="407" y="128" id="200" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="206" > +<cdparam x="407" y="158" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="158" id="201" /> +<P2 x="407" y="228" id="197" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="207" > +<cdparam x="407" y="258" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="407" y="258" id="198" /> +<P2 x="407" y="326" id="195" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +</Modeling> + + + + +<Modeling type="TML Architecture" nameTab="Architecture" > +<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > +<COMPONENT type="1100" id="299" > +<cdparam x="83" y="128" /> +<sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU0" value="name" /> +<TGConnectingPoint num="0" id="275" /> +<TGConnectingPoint num="1" id="276" /> +<TGConnectingPoint num="2" id="277" /> +<TGConnectingPoint num="3" id="278" /> +<TGConnectingPoint num="4" id="279" /> +<TGConnectingPoint num="5" id="280" /> +<TGConnectingPoint num="6" id="281" /> +<TGConnectingPoint num="7" id="282" /> +<TGConnectingPoint num="8" id="283" /> +<TGConnectingPoint num="9" id="284" /> +<TGConnectingPoint num="10" id="285" /> +<TGConnectingPoint num="11" id="286" /> +<TGConnectingPoint num="12" id="287" /> +<TGConnectingPoint num="13" id="288" /> +<TGConnectingPoint num="14" id="289" /> +<TGConnectingPoint num="15" id="290" /> +<TGConnectingPoint num="16" id="291" /> +<TGConnectingPoint num="17" id="292" /> +<TGConnectingPoint num="18" id="293" /> +<TGConnectingPoint num="19" id="294" /> +<TGConnectingPoint num="20" id="295" /> +<TGConnectingPoint num="21" id="296" /> +<TGConnectingPoint num="22" id="297" /> +<TGConnectingPoint num="23" id="298" /> +<extraparam> +<info stereotype="CPU" nodeName="CPU0" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1101" id="229" > +<father id="299" num="0" /> +<cdparam x="110" y="152" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> +<TGConnectingPoint num="0" id="221" /> +<TGConnectingPoint num="1" id="222" /> +<TGConnectingPoint num="2" id="223" /> +<TGConnectingPoint num="3" id="224" /> +<TGConnectingPoint num="4" id="225" /> +<TGConnectingPoint num="5" id="226" /> +<TGConnectingPoint num="6" id="227" /> +<TGConnectingPoint num="7" id="228" /> +<extraparam> +<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="238" > +<father id="299" num="1" /> +<cdparam x="111" y="201" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> +<TGConnectingPoint num="0" id="230" /> +<TGConnectingPoint num="1" id="231" /> +<TGConnectingPoint num="2" id="232" /> +<TGConnectingPoint num="3" id="233" /> +<TGConnectingPoint num="4" id="234" /> +<TGConnectingPoint num="5" id="235" /> +<TGConnectingPoint num="6" id="236" /> +<TGConnectingPoint num="7" id="237" /> +<extraparam> +<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="247" > +<father id="299" num="2" /> +<cdparam x="112" y="261" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> +<TGConnectingPoint num="0" id="239" /> +<TGConnectingPoint num="1" id="240" /> +<TGConnectingPoint num="2" id="241" /> +<TGConnectingPoint num="3" id="242" /> +<TGConnectingPoint num="4" id="243" /> +<TGConnectingPoint num="5" id="244" /> +<TGConnectingPoint num="6" id="245" /> +<TGConnectingPoint num="7" id="246" /> +<extraparam> +<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="256" > +<father id="299" num="3" /> +<cdparam x="393" y="144" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp4" /> +<TGConnectingPoint num="0" id="248" /> +<TGConnectingPoint num="1" id="249" /> +<TGConnectingPoint num="2" id="250" /> +<TGConnectingPoint num="3" id="251" /> +<TGConnectingPoint num="4" id="252" /> +<TGConnectingPoint num="5" id="253" /> +<TGConnectingPoint num="6" id="254" /> +<TGConnectingPoint num="7" id="255" /> +<extraparam> +<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="265" > +<father id="299" num="4" /> +<cdparam x="371" y="203" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> +<TGConnectingPoint num="0" id="257" /> +<TGConnectingPoint num="1" id="258" /> +<TGConnectingPoint num="2" id="259" /> +<TGConnectingPoint num="3" id="260" /> +<TGConnectingPoint num="4" id="261" /> +<TGConnectingPoint num="5" id="262" /> +<TGConnectingPoint num="6" id="263" /> +<TGConnectingPoint num="7" id="264" /> +<extraparam> +<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="274" > +<father id="299" num="5" /> +<cdparam x="376" y="255" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> +<TGConnectingPoint num="0" id="266" /> +<TGConnectingPoint num="1" id="267" /> +<TGConnectingPoint num="2" id="268" /> +<TGConnectingPoint num="3" id="269" /> +<TGConnectingPoint num="4" id="270" /> +<TGConnectingPoint num="5" id="271" /> +<TGConnectingPoint num="6" id="272" /> +<TGConnectingPoint num="7" id="273" /> +<extraparam> +<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1100" id="324" > +<cdparam x="1276" y="110" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU2" value="name" /> +<TGConnectingPoint num="0" id="300" /> +<TGConnectingPoint num="1" id="301" /> +<TGConnectingPoint num="2" id="302" /> +<TGConnectingPoint num="3" id="303" /> +<TGConnectingPoint num="4" id="304" /> +<TGConnectingPoint num="5" id="305" /> +<TGConnectingPoint num="6" id="306" /> +<TGConnectingPoint num="7" id="307" /> +<TGConnectingPoint num="8" id="308" /> +<TGConnectingPoint num="9" id="309" /> +<TGConnectingPoint num="10" id="310" /> +<TGConnectingPoint num="11" id="311" /> +<TGConnectingPoint num="12" id="312" /> +<TGConnectingPoint num="13" id="313" /> +<TGConnectingPoint num="14" id="314" /> +<TGConnectingPoint num="15" id="315" /> +<TGConnectingPoint num="16" id="316" /> +<TGConnectingPoint num="17" id="317" /> +<TGConnectingPoint num="18" id="318" /> +<TGConnectingPoint num="19" id="319" /> +<TGConnectingPoint num="20" id="320" /> +<TGConnectingPoint num="21" id="321" /> +<TGConnectingPoint num="22" id="322" /> +<TGConnectingPoint num="23" id="323" /> +<extraparam> +<info stereotype="CPURR" nodeName="CPU2" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +</extraparam> +</COMPONENT> + +<COMPONENT type="1100" id="349" > +<cdparam x="991" y="100" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU1" value="name" /> +<TGConnectingPoint num="0" id="325" /> +<TGConnectingPoint num="1" id="326" /> +<TGConnectingPoint num="2" id="327" /> +<TGConnectingPoint num="3" id="328" /> +<TGConnectingPoint num="4" id="329" /> +<TGConnectingPoint num="5" id="330" /> +<TGConnectingPoint num="6" id="331" /> +<TGConnectingPoint num="7" id="332" /> +<TGConnectingPoint num="8" id="333" /> +<TGConnectingPoint num="9" id="334" /> +<TGConnectingPoint num="10" id="335" /> +<TGConnectingPoint num="11" id="336" /> +<TGConnectingPoint num="12" id="337" /> +<TGConnectingPoint num="13" id="338" /> +<TGConnectingPoint num="14" id="339" /> +<TGConnectingPoint num="15" id="340" /> +<TGConnectingPoint num="16" id="341" /> +<TGConnectingPoint num="17" id="342" /> +<TGConnectingPoint num="18" id="343" /> +<TGConnectingPoint num="19" id="344" /> +<TGConnectingPoint num="20" id="345" /> +<TGConnectingPoint num="21" id="346" /> +<TGConnectingPoint num="22" id="347" /> +<TGConnectingPoint num="23" id="348" /> +<extraparam> +<info stereotype="CPURR" nodeName="CPU1" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +</extraparam> +</COMPONENT> + +<COMPONENT type="1107" id="374" > +<cdparam x="699" y="398" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="DMA0" value="name" /> +<TGConnectingPoint num="0" id="350" /> +<TGConnectingPoint num="1" id="351" /> +<TGConnectingPoint num="2" id="352" /> +<TGConnectingPoint num="3" id="353" /> +<TGConnectingPoint num="4" id="354" /> +<TGConnectingPoint num="5" id="355" /> +<TGConnectingPoint num="6" id="356" /> +<TGConnectingPoint num="7" id="357" /> +<TGConnectingPoint num="8" id="358" /> +<TGConnectingPoint num="9" id="359" /> +<TGConnectingPoint num="10" id="360" /> +<TGConnectingPoint num="11" id="361" /> +<TGConnectingPoint num="12" id="362" /> +<TGConnectingPoint num="13" id="363" /> +<TGConnectingPoint num="14" id="364" /> +<TGConnectingPoint num="15" id="365" /> +<TGConnectingPoint num="16" id="366" /> +<TGConnectingPoint num="17" id="367" /> +<TGConnectingPoint num="18" id="368" /> +<TGConnectingPoint num="19" id="369" /> +<TGConnectingPoint num="20" id="370" /> +<TGConnectingPoint num="21" id="371" /> +<TGConnectingPoint num="22" id="372" /> +<TGConnectingPoint num="23" id="373" /> +<extraparam> +<info stereotype="DMA" nodeName="DMA0" /> +<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1105" id="399" > +<cdparam x="344" y="601" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Memory0" value="name" /> +<TGConnectingPoint num="0" id="375" /> +<TGConnectingPoint num="1" id="376" /> +<TGConnectingPoint num="2" id="377" /> +<TGConnectingPoint num="3" id="378" /> +<TGConnectingPoint num="4" id="379" /> +<TGConnectingPoint num="5" id="380" /> +<TGConnectingPoint num="6" id="381" /> +<TGConnectingPoint num="7" id="382" /> +<TGConnectingPoint num="8" id="383" /> +<TGConnectingPoint num="9" id="384" /> +<TGConnectingPoint num="10" id="385" /> +<TGConnectingPoint num="11" id="386" /> +<TGConnectingPoint num="12" id="387" /> +<TGConnectingPoint num="13" id="388" /> +<TGConnectingPoint num="14" id="389" /> +<TGConnectingPoint num="15" id="390" /> +<TGConnectingPoint num="16" id="391" /> +<TGConnectingPoint num="17" id="392" /> +<TGConnectingPoint num="18" id="393" /> +<TGConnectingPoint num="19" id="394" /> +<TGConnectingPoint num="20" id="395" /> +<TGConnectingPoint num="21" id="396" /> +<TGConnectingPoint num="22" id="397" /> +<TGConnectingPoint num="23" id="398" /> +<extraparam> +<info stereotype="MEMORY" nodeName="Memory0" /> +<attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1102" id="424" > +<cdparam x="1363" y="461" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bus1" value="name" /> +<TGConnectingPoint num="0" id="400" /> +<TGConnectingPoint num="1" id="401" /> +<TGConnectingPoint num="2" id="402" /> +<TGConnectingPoint num="3" id="403" /> +<TGConnectingPoint num="4" id="404" /> +<TGConnectingPoint num="5" id="405" /> +<TGConnectingPoint num="6" id="406" /> +<TGConnectingPoint num="7" id="407" /> +<TGConnectingPoint num="8" id="408" /> +<TGConnectingPoint num="9" id="409" /> +<TGConnectingPoint num="10" id="410" /> +<TGConnectingPoint num="11" id="411" /> +<TGConnectingPoint num="12" id="412" /> +<TGConnectingPoint num="13" id="413" /> +<TGConnectingPoint num="14" id="414" /> +<TGConnectingPoint num="15" id="415" /> +<TGConnectingPoint num="16" id="416" /> +<TGConnectingPoint num="17" id="417" /> +<TGConnectingPoint num="18" id="418" /> +<TGConnectingPoint num="19" id="419" /> +<TGConnectingPoint num="20" id="420" /> +<TGConnectingPoint num="21" id="421" /> +<TGConnectingPoint num="22" id="422" /> +<TGConnectingPoint num="23" id="423" /> +<extraparam> +<info stereotype="BUS-RR" nodeName="Bus1" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1102" id="449" > +<cdparam x="316" y="416" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bus0" value="name" /> +<TGConnectingPoint num="0" id="425" /> +<TGConnectingPoint num="1" id="426" /> +<TGConnectingPoint num="2" id="427" /> +<TGConnectingPoint num="3" id="428" /> +<TGConnectingPoint num="4" id="429" /> +<TGConnectingPoint num="5" id="430" /> +<TGConnectingPoint num="6" id="431" /> +<TGConnectingPoint num="7" id="432" /> +<TGConnectingPoint num="8" id="433" /> +<TGConnectingPoint num="9" id="434" /> +<TGConnectingPoint num="10" id="435" /> +<TGConnectingPoint num="11" id="436" /> +<TGConnectingPoint num="12" id="437" /> +<TGConnectingPoint num="13" id="438" /> +<TGConnectingPoint num="14" id="439" /> +<TGConnectingPoint num="15" id="440" /> +<TGConnectingPoint num="16" id="441" /> +<TGConnectingPoint num="17" id="442" /> +<TGConnectingPoint num="18" id="443" /> +<TGConnectingPoint num="19" id="444" /> +<TGConnectingPoint num="20" id="445" /> +<TGConnectingPoint num="21" id="446" /> +<TGConnectingPoint num="22" id="447" /> +<TGConnectingPoint num="23" id="448" /> +<extraparam> +<info stereotype="BUS-RR" nodeName="Bus0" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1116" id="474" > +<cdparam x="1355" y="573" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="FPGA1" value="name" /> +<TGConnectingPoint num="0" id="450" /> +<TGConnectingPoint num="1" id="451" /> +<TGConnectingPoint num="2" id="452" /> +<TGConnectingPoint num="3" id="453" /> +<TGConnectingPoint num="4" id="454" /> +<TGConnectingPoint num="5" id="455" /> +<TGConnectingPoint num="6" id="456" /> +<TGConnectingPoint num="7" id="457" /> +<TGConnectingPoint num="8" id="458" /> +<TGConnectingPoint num="9" id="459" /> +<TGConnectingPoint num="10" id="460" /> +<TGConnectingPoint num="11" id="461" /> +<TGConnectingPoint num="12" id="462" /> +<TGConnectingPoint num="13" id="463" /> +<TGConnectingPoint num="14" id="464" /> +<TGConnectingPoint num="15" id="465" /> +<TGConnectingPoint num="16" id="466" /> +<TGConnectingPoint num="17" id="467" /> +<TGConnectingPoint num="18" id="468" /> +<TGConnectingPoint num="19" id="469" /> +<TGConnectingPoint num="20" id="470" /> +<TGConnectingPoint num="21" id="471" /> +<TGConnectingPoint num="22" id="472" /> +<TGConnectingPoint num="23" id="473" /> +<extraparam> +<info stereotype="FPGA" nodeName="FPGA1" /> +<attributes capacity="100" byteDataSize="4" mappingPenalty="0" reconfigurationTime="50" goIdleTime="10" maxConsecutiveIdleCycles="10" execiTime="1" execcTime="1" clockRatio="1" operation ="" scheduling ="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1116" id="499" > +<cdparam x="74" y="596" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="FPGA0" value="name" /> +<TGConnectingPoint num="0" id="475" /> +<TGConnectingPoint num="1" id="476" /> +<TGConnectingPoint num="2" id="477" /> +<TGConnectingPoint num="3" id="478" /> +<TGConnectingPoint num="4" id="479" /> +<TGConnectingPoint num="5" id="480" /> +<TGConnectingPoint num="6" id="481" /> +<TGConnectingPoint num="7" id="482" /> +<TGConnectingPoint num="8" id="483" /> +<TGConnectingPoint num="9" id="484" /> +<TGConnectingPoint num="10" id="485" /> +<TGConnectingPoint num="11" id="486" /> +<TGConnectingPoint num="12" id="487" /> +<TGConnectingPoint num="13" id="488" /> +<TGConnectingPoint num="14" id="489" /> +<TGConnectingPoint num="15" id="490" /> +<TGConnectingPoint num="16" id="491" /> +<TGConnectingPoint num="17" id="492" /> +<TGConnectingPoint num="18" id="493" /> +<TGConnectingPoint num="19" id="494" /> +<TGConnectingPoint num="20" id="495" /> +<TGConnectingPoint num="21" id="496" /> +<TGConnectingPoint num="22" id="497" /> +<TGConnectingPoint num="23" id="498" /> +<extraparam> +<info stereotype="FPGA" nodeName="FPGA0" /> +<attributes capacity="100" byteDataSize="4" mappingPenalty="0" reconfigurationTime="50" goIdleTime="10" maxConsecutiveIdleCycles="10" execiTime="1" execcTime="1" clockRatio="1" operation ="" scheduling ="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1106" id="524" > +<cdparam x="1108" y="814" /> +<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bridge1" value="name" /> +<TGConnectingPoint num="0" id="500" /> +<TGConnectingPoint num="1" id="501" /> +<TGConnectingPoint num="2" id="502" /> +<TGConnectingPoint num="3" id="503" /> +<TGConnectingPoint num="4" id="504" /> +<TGConnectingPoint num="5" id="505" /> +<TGConnectingPoint num="6" id="506" /> +<TGConnectingPoint num="7" id="507" /> +<TGConnectingPoint num="8" id="508" /> +<TGConnectingPoint num="9" id="509" /> +<TGConnectingPoint num="10" id="510" /> +<TGConnectingPoint num="11" id="511" /> +<TGConnectingPoint num="12" id="512" /> +<TGConnectingPoint num="13" id="513" /> +<TGConnectingPoint num="14" id="514" /> +<TGConnectingPoint num="15" id="515" /> +<TGConnectingPoint num="16" id="516" /> +<TGConnectingPoint num="17" id="517" /> +<TGConnectingPoint num="18" id="518" /> +<TGConnectingPoint num="19" id="519" /> +<TGConnectingPoint num="20" id="520" /> +<TGConnectingPoint num="21" id="521" /> +<TGConnectingPoint num="22" id="522" /> +<TGConnectingPoint num="23" id="523" /> +<extraparam> +<info stereotype="BRIDGE" nodeName="Bridge1" /> +<attributes bufferByteDataSize="4" clockRatio="1" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1106" id="549" > +<cdparam x="13" y="416" /> +<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bridge0" value="name" /> +<TGConnectingPoint num="0" id="525" /> +<TGConnectingPoint num="1" id="526" /> +<TGConnectingPoint num="2" id="527" /> +<TGConnectingPoint num="3" id="528" /> +<TGConnectingPoint num="4" id="529" /> +<TGConnectingPoint num="5" id="530" /> +<TGConnectingPoint num="6" id="531" /> +<TGConnectingPoint num="7" id="532" /> +<TGConnectingPoint num="8" id="533" /> +<TGConnectingPoint num="9" id="534" /> +<TGConnectingPoint num="10" id="535" /> +<TGConnectingPoint num="11" id="536" /> +<TGConnectingPoint num="12" id="537" /> +<TGConnectingPoint num="13" id="538" /> +<TGConnectingPoint num="14" id="539" /> +<TGConnectingPoint num="15" id="540" /> +<TGConnectingPoint num="16" id="541" /> +<TGConnectingPoint num="17" id="542" /> +<TGConnectingPoint num="18" id="543" /> +<TGConnectingPoint num="19" id="544" /> +<TGConnectingPoint num="20" id="545" /> +<TGConnectingPoint num="21" id="546" /> +<TGConnectingPoint num="22" id="547" /> +<TGConnectingPoint num="23" id="548" /> +<extraparam> +<info stereotype="BRIDGE" nodeName="Bridge0" /> +<attributes bufferByteDataSize="4" clockRatio="1" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1104" id="574" > +<cdparam x="1393" y="804" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="HWA1" value="name" /> +<TGConnectingPoint num="0" id="550" /> +<TGConnectingPoint num="1" id="551" /> +<TGConnectingPoint num="2" id="552" /> +<TGConnectingPoint num="3" id="553" /> +<TGConnectingPoint num="4" id="554" /> +<TGConnectingPoint num="5" id="555" /> +<TGConnectingPoint num="6" id="556" /> +<TGConnectingPoint num="7" id="557" /> +<TGConnectingPoint num="8" id="558" /> +<TGConnectingPoint num="9" id="559" /> +<TGConnectingPoint num="10" id="560" /> +<TGConnectingPoint num="11" id="561" /> +<TGConnectingPoint num="12" id="562" /> +<TGConnectingPoint num="13" id="563" /> +<TGConnectingPoint num="14" id="564" /> +<TGConnectingPoint num="15" id="565" /> +<TGConnectingPoint num="16" id="566" /> +<TGConnectingPoint num="17" id="567" /> +<TGConnectingPoint num="18" id="568" /> +<TGConnectingPoint num="19" id="569" /> +<TGConnectingPoint num="20" id="570" /> +<TGConnectingPoint num="21" id="571" /> +<TGConnectingPoint num="22" id="572" /> +<TGConnectingPoint num="23" id="573" /> +<extraparam> +<info stereotype="HWA" nodeName="HWA1" /> +<attributes byteDataSize="4" execiTime="1" clockRatio="1" operation="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1104" id="599" > +<cdparam x="672" y="681" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="HWA0" value="name" /> +<TGConnectingPoint num="0" id="575" /> +<TGConnectingPoint num="1" id="576" /> +<TGConnectingPoint num="2" id="577" /> +<TGConnectingPoint num="3" id="578" /> +<TGConnectingPoint num="4" id="579" /> +<TGConnectingPoint num="5" id="580" /> +<TGConnectingPoint num="6" id="581" /> +<TGConnectingPoint num="7" id="582" /> +<TGConnectingPoint num="8" id="583" /> +<TGConnectingPoint num="9" id="584" /> +<TGConnectingPoint num="10" id="585" /> +<TGConnectingPoint num="11" id="586" /> +<TGConnectingPoint num="12" id="587" /> +<TGConnectingPoint num="13" id="588" /> +<TGConnectingPoint num="14" id="589" /> +<TGConnectingPoint num="15" id="590" /> +<TGConnectingPoint num="16" id="591" /> +<TGConnectingPoint num="17" id="592" /> +<TGConnectingPoint num="18" id="593" /> +<TGConnectingPoint num="19" id="594" /> +<TGConnectingPoint num="20" id="595" /> +<TGConnectingPoint num="21" id="596" /> +<TGConnectingPoint num="22" id="597" /> +<TGConnectingPoint num="23" id="598" /> +<extraparam> +<info stereotype="HWA" nodeName="HWA0" /> +<attributes byteDataSize="4" execiTime="1" clockRatio="1" operation="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1107" id="624" > +<cdparam x="1109" y="354" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="DMA1" value="name" /> +<TGConnectingPoint num="0" id="600" /> +<TGConnectingPoint num="1" id="601" /> +<TGConnectingPoint num="2" id="602" /> +<TGConnectingPoint num="3" id="603" /> +<TGConnectingPoint num="4" id="604" /> +<TGConnectingPoint num="5" id="605" /> +<TGConnectingPoint num="6" id="606" /> +<TGConnectingPoint num="7" id="607" /> +<TGConnectingPoint num="8" id="608" /> +<TGConnectingPoint num="9" id="609" /> +<TGConnectingPoint num="10" id="610" /> +<TGConnectingPoint num="11" id="611" /> +<TGConnectingPoint num="12" id="612" /> +<TGConnectingPoint num="13" id="613" /> +<TGConnectingPoint num="14" id="614" /> +<TGConnectingPoint num="15" id="615" /> +<TGConnectingPoint num="16" id="616" /> +<TGConnectingPoint num="17" id="617" /> +<TGConnectingPoint num="18" id="618" /> +<TGConnectingPoint num="19" id="619" /> +<TGConnectingPoint num="20" id="620" /> +<TGConnectingPoint num="21" id="621" /> +<TGConnectingPoint num="22" id="622" /> +<TGConnectingPoint num="23" id="623" /> +<extraparam> +<info stereotype="DMA" nodeName="DMA1" /> +<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1105" id="649" > +<cdparam x="1115" y="579" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Memory1" value="name" /> +<TGConnectingPoint num="0" id="625" /> +<TGConnectingPoint num="1" id="626" /> +<TGConnectingPoint num="2" id="627" /> +<TGConnectingPoint num="3" id="628" /> +<TGConnectingPoint num="4" id="629" /> +<TGConnectingPoint num="5" id="630" /> +<TGConnectingPoint num="6" id="631" /> +<TGConnectingPoint num="7" id="632" /> +<TGConnectingPoint num="8" id="633" /> +<TGConnectingPoint num="9" id="634" /> +<TGConnectingPoint num="10" id="635" /> +<TGConnectingPoint num="11" id="636" /> +<TGConnectingPoint num="12" id="637" /> +<TGConnectingPoint num="13" id="638" /> +<TGConnectingPoint num="14" id="639" /> +<TGConnectingPoint num="15" id="640" /> +<TGConnectingPoint num="16" id="641" /> +<TGConnectingPoint num="17" id="642" /> +<TGConnectingPoint num="18" id="643" /> +<TGConnectingPoint num="19" id="644" /> +<TGConnectingPoint num="20" id="645" /> +<TGConnectingPoint num="21" id="646" /> +<TGConnectingPoint num="22" id="647" /> +<TGConnectingPoint num="23" id="648" /> +<extraparam> +<info stereotype="MEMORY" nodeName="Memory1" /> +<attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> +</extraparam> +</COMPONENT> + +<CONNECTOR type="125" id="650" > +<cdparam x="759" y="623" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="722" y="681" id="583" /> +<P2 x="503" y="466" id="440" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="651" > +<cdparam x="444" y="328" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="359" y="353" id="281" /> +<P2 x="441" y="416" id="426" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="652" > +<cdparam x="298" y="533" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="444" y="601" id="376" /> +<P2 x="441" y="466" id="431" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="653" > +<cdparam x="770" y="476" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="699" y="448" id="360" /> +<P2 x="566" y="441" id="429" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="654" > +<cdparam x="262" y="461" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="263" y="466" id="529" /> +<P2 x="316" y="441" id="428" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="655" > +<cdparam x="199" y="596" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="199" y="596" id="476" /> +<P2 x="378" y="466" id="439" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> + +</TMLArchiDiagramPanel> + +</Modeling> + + + + +</TURTLEGMODELING> \ No newline at end of file diff --git a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml index 85151e3792..60a0086af9 100644 --- a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml +++ b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false"> +<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="0" LAST_SELECTED_SUB_TAB="1"> <Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" > <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" > @@ -8,40 +8,40 @@ <cdparam x="1144" y="348" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="1131" y="335" id="87" /> -<P2 x="1131" y="392" id="85" /> +<P1 x="1100" y="256" id="87" /> +<P2 x="1100" y="313" id="85" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="2" > <cdparam x="424" y="585" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="424" y="559" id="32" /> -<P2 x="521" y="559" id="34" /> +<P1 x="424" y="585" id="32" /> +<P2 x="521" y="585" id="34" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="3" > <cdparam x="878" y="469" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="417" y="195" id="21" /> -<P2 x="577" y="196" id="8" /> +<P1 x="430" y="208" id="21" /> +<P2 x="564" y="209" id="8" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="4" > <cdparam x="1021" y="460" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="577" y="151" id="6" /> -<P2 x="417" y="150" id="19" /> +<P1 x="564" y="164" id="6" /> +<P2 x="430" y="163" id="19" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="5" > <cdparam x="475" y="480" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="454" y="352" id="45" /> -<P2 x="527" y="351" id="56" /> +<P1 x="467" y="365" id="45" /> +<P2 x="514" y="364" id="56" /> <AutomaticDrawing data="true" /> </CONNECTOR> <COMPONENT type="1200" id="84" > @@ -314,7 +314,7 @@ </SUBCOMPONENT> <COMPONENT type="1202" id="97" > -<cdparam x="931" y="292" /> +<cdparam x="887" y="200" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -333,7 +333,7 @@ </COMPONENT> <SUBCOMPONENT type="1203" id="86" > <father id="97" num="0" /> -<cdparam x="1118" y="392" /> +<cdparam x="1074" y="300" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> @@ -350,7 +350,7 @@ </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="88" > <father id="97" num="1" /> -<cdparam x="1118" y="335" /> +<cdparam x="1074" y="243" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> @@ -916,12 +916,48 @@ <Modeling type="TML Architecture" nameTab="Architecture" > <TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > -<COMPONENT type="1107" id="218" > -<cdparam x="648" y="377" /> -<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1100" id="272" > +<cdparam x="83" y="128" /> +<sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="DMA0" value="name" /> +<infoparam name="CPU0" value="name" /> +<TGConnectingPoint num="0" id="248" /> +<TGConnectingPoint num="1" id="249" /> +<TGConnectingPoint num="2" id="250" /> +<TGConnectingPoint num="3" id="251" /> +<TGConnectingPoint num="4" id="252" /> +<TGConnectingPoint num="5" id="253" /> +<TGConnectingPoint num="6" id="254" /> +<TGConnectingPoint num="7" id="255" /> +<TGConnectingPoint num="8" id="256" /> +<TGConnectingPoint num="9" id="257" /> +<TGConnectingPoint num="10" id="258" /> +<TGConnectingPoint num="11" id="259" /> +<TGConnectingPoint num="12" id="260" /> +<TGConnectingPoint num="13" id="261" /> +<TGConnectingPoint num="14" id="262" /> +<TGConnectingPoint num="15" id="263" /> +<TGConnectingPoint num="16" id="264" /> +<TGConnectingPoint num="17" id="265" /> +<TGConnectingPoint num="18" id="266" /> +<TGConnectingPoint num="19" id="267" /> +<TGConnectingPoint num="20" id="268" /> +<TGConnectingPoint num="21" id="269" /> +<TGConnectingPoint num="22" id="270" /> +<TGConnectingPoint num="23" id="271" /> +<extraparam> +<info stereotype="CPU" nodeName="CPU0" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1101" id="202" > +<father id="272" num="0" /> +<cdparam x="110" y="152" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> <TGConnectingPoint num="0" id="194" /> <TGConnectingPoint num="1" id="195" /> <TGConnectingPoint num="2" id="196" /> @@ -930,142 +966,220 @@ <TGConnectingPoint num="5" id="199" /> <TGConnectingPoint num="6" id="200" /> <TGConnectingPoint num="7" id="201" /> -<TGConnectingPoint num="8" id="202" /> -<TGConnectingPoint num="9" id="203" /> -<TGConnectingPoint num="10" id="204" /> -<TGConnectingPoint num="11" id="205" /> -<TGConnectingPoint num="12" id="206" /> -<TGConnectingPoint num="13" id="207" /> -<TGConnectingPoint num="14" id="208" /> -<TGConnectingPoint num="15" id="209" /> -<TGConnectingPoint num="16" id="210" /> -<TGConnectingPoint num="17" id="211" /> -<TGConnectingPoint num="18" id="212" /> -<TGConnectingPoint num="19" id="213" /> -<TGConnectingPoint num="20" id="214" /> -<TGConnectingPoint num="21" id="215" /> -<TGConnectingPoint num="22" id="216" /> -<TGConnectingPoint num="23" id="217" /> <extraparam> -<info stereotype="DMA" nodeName="DMA0" /> -<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> +<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> -</COMPONENT> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="211" > +<father id="272" num="1" /> +<cdparam x="111" y="201" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> +<TGConnectingPoint num="0" id="203" /> +<TGConnectingPoint num="1" id="204" /> +<TGConnectingPoint num="2" id="205" /> +<TGConnectingPoint num="3" id="206" /> +<TGConnectingPoint num="4" id="207" /> +<TGConnectingPoint num="5" id="208" /> +<TGConnectingPoint num="6" id="209" /> +<TGConnectingPoint num="7" id="210" /> +<extraparam> +<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="220" > +<father id="272" num="2" /> +<cdparam x="112" y="261" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> +<TGConnectingPoint num="0" id="212" /> +<TGConnectingPoint num="1" id="213" /> +<TGConnectingPoint num="2" id="214" /> +<TGConnectingPoint num="3" id="215" /> +<TGConnectingPoint num="4" id="216" /> +<TGConnectingPoint num="5" id="217" /> +<TGConnectingPoint num="6" id="218" /> +<TGConnectingPoint num="7" id="219" /> +<extraparam> +<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="229" > +<father id="272" num="3" /> +<cdparam x="393" y="144" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp4" /> +<TGConnectingPoint num="0" id="221" /> +<TGConnectingPoint num="1" id="222" /> +<TGConnectingPoint num="2" id="223" /> +<TGConnectingPoint num="3" id="224" /> +<TGConnectingPoint num="4" id="225" /> +<TGConnectingPoint num="5" id="226" /> +<TGConnectingPoint num="6" id="227" /> +<TGConnectingPoint num="7" id="228" /> +<extraparam> +<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="238" > +<father id="272" num="4" /> +<cdparam x="371" y="203" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> +<TGConnectingPoint num="0" id="230" /> +<TGConnectingPoint num="1" id="231" /> +<TGConnectingPoint num="2" id="232" /> +<TGConnectingPoint num="3" id="233" /> +<TGConnectingPoint num="4" id="234" /> +<TGConnectingPoint num="5" id="235" /> +<TGConnectingPoint num="6" id="236" /> +<TGConnectingPoint num="7" id="237" /> +<extraparam> +<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="247" > +<father id="272" num="5" /> +<cdparam x="376" y="255" /> +<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> +<TGConnectingPoint num="0" id="239" /> +<TGConnectingPoint num="1" id="240" /> +<TGConnectingPoint num="2" id="241" /> +<TGConnectingPoint num="3" id="242" /> +<TGConnectingPoint num="4" id="243" /> +<TGConnectingPoint num="5" id="244" /> +<TGConnectingPoint num="6" id="245" /> +<TGConnectingPoint num="7" id="246" /> +<extraparam> +<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> -<COMPONENT type="1102" id="243" > -<cdparam x="316" y="416" /> -<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1100" id="297" > +<cdparam x="991" y="100" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="Bus0" value="name" /> -<TGConnectingPoint num="0" id="219" /> -<TGConnectingPoint num="1" id="220" /> -<TGConnectingPoint num="2" id="221" /> -<TGConnectingPoint num="3" id="222" /> -<TGConnectingPoint num="4" id="223" /> -<TGConnectingPoint num="5" id="224" /> -<TGConnectingPoint num="6" id="225" /> -<TGConnectingPoint num="7" id="226" /> -<TGConnectingPoint num="8" id="227" /> -<TGConnectingPoint num="9" id="228" /> -<TGConnectingPoint num="10" id="229" /> -<TGConnectingPoint num="11" id="230" /> -<TGConnectingPoint num="12" id="231" /> -<TGConnectingPoint num="13" id="232" /> -<TGConnectingPoint num="14" id="233" /> -<TGConnectingPoint num="15" id="234" /> -<TGConnectingPoint num="16" id="235" /> -<TGConnectingPoint num="17" id="236" /> -<TGConnectingPoint num="18" id="237" /> -<TGConnectingPoint num="19" id="238" /> -<TGConnectingPoint num="20" id="239" /> -<TGConnectingPoint num="21" id="240" /> -<TGConnectingPoint num="22" id="241" /> -<TGConnectingPoint num="23" id="242" /> +<infoparam name="CPU1" value="name" /> +<TGConnectingPoint num="0" id="273" /> +<TGConnectingPoint num="1" id="274" /> +<TGConnectingPoint num="2" id="275" /> +<TGConnectingPoint num="3" id="276" /> +<TGConnectingPoint num="4" id="277" /> +<TGConnectingPoint num="5" id="278" /> +<TGConnectingPoint num="6" id="279" /> +<TGConnectingPoint num="7" id="280" /> +<TGConnectingPoint num="8" id="281" /> +<TGConnectingPoint num="9" id="282" /> +<TGConnectingPoint num="10" id="283" /> +<TGConnectingPoint num="11" id="284" /> +<TGConnectingPoint num="12" id="285" /> +<TGConnectingPoint num="13" id="286" /> +<TGConnectingPoint num="14" id="287" /> +<TGConnectingPoint num="15" id="288" /> +<TGConnectingPoint num="16" id="289" /> +<TGConnectingPoint num="17" id="290" /> +<TGConnectingPoint num="18" id="291" /> +<TGConnectingPoint num="19" id="292" /> +<TGConnectingPoint num="20" id="293" /> +<TGConnectingPoint num="21" id="294" /> +<TGConnectingPoint num="22" id="295" /> +<TGConnectingPoint num="23" id="296" /> <extraparam> -<info stereotype="BUS-RR" nodeName="Bus0" /> -<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> +<info stereotype="CPURR" nodeName="CPU1" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> </extraparam> </COMPONENT> -<COMPONENT type="1105" id="268" > -<cdparam x="415" y="607" /> -<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1107" id="322" > +<cdparam x="699" y="398" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="Memory0" value="name" /> -<TGConnectingPoint num="0" id="244" /> -<TGConnectingPoint num="1" id="245" /> -<TGConnectingPoint num="2" id="246" /> -<TGConnectingPoint num="3" id="247" /> -<TGConnectingPoint num="4" id="248" /> -<TGConnectingPoint num="5" id="249" /> -<TGConnectingPoint num="6" id="250" /> -<TGConnectingPoint num="7" id="251" /> -<TGConnectingPoint num="8" id="252" /> -<TGConnectingPoint num="9" id="253" /> -<TGConnectingPoint num="10" id="254" /> -<TGConnectingPoint num="11" id="255" /> -<TGConnectingPoint num="12" id="256" /> -<TGConnectingPoint num="13" id="257" /> -<TGConnectingPoint num="14" id="258" /> -<TGConnectingPoint num="15" id="259" /> -<TGConnectingPoint num="16" id="260" /> -<TGConnectingPoint num="17" id="261" /> -<TGConnectingPoint num="18" id="262" /> -<TGConnectingPoint num="19" id="263" /> -<TGConnectingPoint num="20" id="264" /> -<TGConnectingPoint num="21" id="265" /> -<TGConnectingPoint num="22" id="266" /> -<TGConnectingPoint num="23" id="267" /> +<infoparam name="DMA0" value="name" /> +<TGConnectingPoint num="0" id="298" /> +<TGConnectingPoint num="1" id="299" /> +<TGConnectingPoint num="2" id="300" /> +<TGConnectingPoint num="3" id="301" /> +<TGConnectingPoint num="4" id="302" /> +<TGConnectingPoint num="5" id="303" /> +<TGConnectingPoint num="6" id="304" /> +<TGConnectingPoint num="7" id="305" /> +<TGConnectingPoint num="8" id="306" /> +<TGConnectingPoint num="9" id="307" /> +<TGConnectingPoint num="10" id="308" /> +<TGConnectingPoint num="11" id="309" /> +<TGConnectingPoint num="12" id="310" /> +<TGConnectingPoint num="13" id="311" /> +<TGConnectingPoint num="14" id="312" /> +<TGConnectingPoint num="15" id="313" /> +<TGConnectingPoint num="16" id="314" /> +<TGConnectingPoint num="17" id="315" /> +<TGConnectingPoint num="18" id="316" /> +<TGConnectingPoint num="19" id="317" /> +<TGConnectingPoint num="20" id="318" /> +<TGConnectingPoint num="21" id="319" /> +<TGConnectingPoint num="22" id="320" /> +<TGConnectingPoint num="23" id="321" /> <extraparam> -<info stereotype="MEMORY" nodeName="Memory0" /> -<attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> +<info stereotype="DMA" nodeName="DMA0" /> +<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> </extraparam> </COMPONENT> -<COMPONENT type="1100" id="293" > -<cdparam x="792" y="120" /> -<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1105" id="347" > +<cdparam x="344" y="601" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="CPU1" value="name" /> -<TGConnectingPoint num="0" id="269" /> -<TGConnectingPoint num="1" id="270" /> -<TGConnectingPoint num="2" id="271" /> -<TGConnectingPoint num="3" id="272" /> -<TGConnectingPoint num="4" id="273" /> -<TGConnectingPoint num="5" id="274" /> -<TGConnectingPoint num="6" id="275" /> -<TGConnectingPoint num="7" id="276" /> -<TGConnectingPoint num="8" id="277" /> -<TGConnectingPoint num="9" id="278" /> -<TGConnectingPoint num="10" id="279" /> -<TGConnectingPoint num="11" id="280" /> -<TGConnectingPoint num="12" id="281" /> -<TGConnectingPoint num="13" id="282" /> -<TGConnectingPoint num="14" id="283" /> -<TGConnectingPoint num="15" id="284" /> -<TGConnectingPoint num="16" id="285" /> -<TGConnectingPoint num="17" id="286" /> -<TGConnectingPoint num="18" id="287" /> -<TGConnectingPoint num="19" id="288" /> -<TGConnectingPoint num="20" id="289" /> -<TGConnectingPoint num="21" id="290" /> -<TGConnectingPoint num="22" id="291" /> -<TGConnectingPoint num="23" id="292" /> +<infoparam name="Memory0" value="name" /> +<TGConnectingPoint num="0" id="323" /> +<TGConnectingPoint num="1" id="324" /> +<TGConnectingPoint num="2" id="325" /> +<TGConnectingPoint num="3" id="326" /> +<TGConnectingPoint num="4" id="327" /> +<TGConnectingPoint num="5" id="328" /> +<TGConnectingPoint num="6" id="329" /> +<TGConnectingPoint num="7" id="330" /> +<TGConnectingPoint num="8" id="331" /> +<TGConnectingPoint num="9" id="332" /> +<TGConnectingPoint num="10" id="333" /> +<TGConnectingPoint num="11" id="334" /> +<TGConnectingPoint num="12" id="335" /> +<TGConnectingPoint num="13" id="336" /> +<TGConnectingPoint num="14" id="337" /> +<TGConnectingPoint num="15" id="338" /> +<TGConnectingPoint num="16" id="339" /> +<TGConnectingPoint num="17" id="340" /> +<TGConnectingPoint num="18" id="341" /> +<TGConnectingPoint num="19" id="342" /> +<TGConnectingPoint num="20" id="343" /> +<TGConnectingPoint num="21" id="344" /> +<TGConnectingPoint num="22" id="345" /> +<TGConnectingPoint num="23" id="346" /> <extraparam> -<info stereotype="CPURR" nodeName="CPU1" /> -<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +<info stereotype="MEMORY" nodeName="Memory0" /> +<attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> </extraparam> </COMPONENT> -<COMPONENT type="1100" id="372" > -<cdparam x="83" y="128" /> -<sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1102" id="372" > +<cdparam x="316" y="416" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="CPU0" value="name" /> +<infoparam name="Bus0" value="name" /> <TGConnectingPoint num="0" id="348" /> <TGConnectingPoint num="1" id="349" /> <TGConnectingPoint num="2" id="350" /> @@ -1091,155 +1205,185 @@ <TGConnectingPoint num="22" id="370" /> <TGConnectingPoint num="23" id="371" /> <extraparam> -<info stereotype="CPU" nodeName="CPU0" /> -<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +<info stereotype="BUS-RR" nodeName="Bus0" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1101" id="302" > -<father id="372" num="0" /> -<cdparam x="110" y="152" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> + +<COMPONENT type="1116" id="397" > +<cdparam x="74" y="596" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> -<TGConnectingPoint num="0" id="294" /> -<TGConnectingPoint num="1" id="295" /> -<TGConnectingPoint num="2" id="296" /> -<TGConnectingPoint num="3" id="297" /> -<TGConnectingPoint num="4" id="298" /> -<TGConnectingPoint num="5" id="299" /> -<TGConnectingPoint num="6" id="300" /> -<TGConnectingPoint num="7" id="301" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="FPGA0" value="name" /> +<TGConnectingPoint num="0" id="373" /> +<TGConnectingPoint num="1" id="374" /> +<TGConnectingPoint num="2" id="375" /> +<TGConnectingPoint num="3" id="376" /> +<TGConnectingPoint num="4" id="377" /> +<TGConnectingPoint num="5" id="378" /> +<TGConnectingPoint num="6" id="379" /> +<TGConnectingPoint num="7" id="380" /> +<TGConnectingPoint num="8" id="381" /> +<TGConnectingPoint num="9" id="382" /> +<TGConnectingPoint num="10" id="383" /> +<TGConnectingPoint num="11" id="384" /> +<TGConnectingPoint num="12" id="385" /> +<TGConnectingPoint num="13" id="386" /> +<TGConnectingPoint num="14" id="387" /> +<TGConnectingPoint num="15" id="388" /> +<TGConnectingPoint num="16" id="389" /> +<TGConnectingPoint num="17" id="390" /> +<TGConnectingPoint num="18" id="391" /> +<TGConnectingPoint num="19" id="392" /> +<TGConnectingPoint num="20" id="393" /> +<TGConnectingPoint num="21" id="394" /> +<TGConnectingPoint num="22" id="395" /> +<TGConnectingPoint num="23" id="396" /> <extraparam> -<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info stereotype="FPGA" nodeName="FPGA0" /> +<attributes capacity="100" byteDataSize="4" mappingPenalty="0" reconfigurationTime="50" goIdleTime="10" maxConsecutiveIdleCycles="10" execiTime="1" execcTime="1" clockRatio="1" operation ="" scheduling ="" /> </extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="311" > -<father id="372" num="1" /> -<cdparam x="111" y="201" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</COMPONENT> + +<COMPONENT type="1106" id="422" > +<cdparam x="13" y="416" /> +<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> -<TGConnectingPoint num="0" id="303" /> -<TGConnectingPoint num="1" id="304" /> -<TGConnectingPoint num="2" id="305" /> -<TGConnectingPoint num="3" id="306" /> -<TGConnectingPoint num="4" id="307" /> -<TGConnectingPoint num="5" id="308" /> -<TGConnectingPoint num="6" id="309" /> -<TGConnectingPoint num="7" id="310" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bridge0" value="name" /> +<TGConnectingPoint num="0" id="398" /> +<TGConnectingPoint num="1" id="399" /> +<TGConnectingPoint num="2" id="400" /> +<TGConnectingPoint num="3" id="401" /> +<TGConnectingPoint num="4" id="402" /> +<TGConnectingPoint num="5" id="403" /> +<TGConnectingPoint num="6" id="404" /> +<TGConnectingPoint num="7" id="405" /> +<TGConnectingPoint num="8" id="406" /> +<TGConnectingPoint num="9" id="407" /> +<TGConnectingPoint num="10" id="408" /> +<TGConnectingPoint num="11" id="409" /> +<TGConnectingPoint num="12" id="410" /> +<TGConnectingPoint num="13" id="411" /> +<TGConnectingPoint num="14" id="412" /> +<TGConnectingPoint num="15" id="413" /> +<TGConnectingPoint num="16" id="414" /> +<TGConnectingPoint num="17" id="415" /> +<TGConnectingPoint num="18" id="416" /> +<TGConnectingPoint num="19" id="417" /> +<TGConnectingPoint num="20" id="418" /> +<TGConnectingPoint num="21" id="419" /> +<TGConnectingPoint num="22" id="420" /> +<TGConnectingPoint num="23" id="421" /> <extraparam> -<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info stereotype="BRIDGE" nodeName="Bridge0" /> +<attributes bufferByteDataSize="4" clockRatio="1" /> </extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="320" > -<father id="372" num="2" /> -<cdparam x="112" y="261" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</COMPONENT> + +<COMPONENT type="1104" id="447" > +<cdparam x="672" y="681" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> -<TGConnectingPoint num="0" id="312" /> -<TGConnectingPoint num="1" id="313" /> -<TGConnectingPoint num="2" id="314" /> -<TGConnectingPoint num="3" id="315" /> -<TGConnectingPoint num="4" id="316" /> -<TGConnectingPoint num="5" id="317" /> -<TGConnectingPoint num="6" id="318" /> -<TGConnectingPoint num="7" id="319" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="HWA0" value="name" /> +<TGConnectingPoint num="0" id="423" /> +<TGConnectingPoint num="1" id="424" /> +<TGConnectingPoint num="2" id="425" /> +<TGConnectingPoint num="3" id="426" /> +<TGConnectingPoint num="4" id="427" /> +<TGConnectingPoint num="5" id="428" /> +<TGConnectingPoint num="6" id="429" /> +<TGConnectingPoint num="7" id="430" /> +<TGConnectingPoint num="8" id="431" /> +<TGConnectingPoint num="9" id="432" /> +<TGConnectingPoint num="10" id="433" /> +<TGConnectingPoint num="11" id="434" /> +<TGConnectingPoint num="12" id="435" /> +<TGConnectingPoint num="13" id="436" /> +<TGConnectingPoint num="14" id="437" /> +<TGConnectingPoint num="15" id="438" /> +<TGConnectingPoint num="16" id="439" /> +<TGConnectingPoint num="17" id="440" /> +<TGConnectingPoint num="18" id="441" /> +<TGConnectingPoint num="19" id="442" /> +<TGConnectingPoint num="20" id="443" /> +<TGConnectingPoint num="21" id="444" /> +<TGConnectingPoint num="22" id="445" /> +<TGConnectingPoint num="23" id="446" /> <extraparam> -<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info stereotype="HWA" nodeName="HWA0" /> +<attributes byteDataSize="4" execiTime="1" clockRatio="1" operation="" /> </extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="329" > -<father id="372" num="3" /> -<cdparam x="370" y="147" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp4" /> -<TGConnectingPoint num="0" id="321" /> -<TGConnectingPoint num="1" id="322" /> -<TGConnectingPoint num="2" id="323" /> -<TGConnectingPoint num="3" id="324" /> -<TGConnectingPoint num="4" id="325" /> -<TGConnectingPoint num="5" id="326" /> -<TGConnectingPoint num="6" id="327" /> -<TGConnectingPoint num="7" id="328" /> +</COMPONENT> + +<CONNECTOR type="125" id="448" > +<cdparam x="759" y="623" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="722" y="681" id="431" /> +<P2 x="503" y="466" id="363" /> +<AutomaticDrawing data="true" /> <extraparam> -<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info priority="0" /> +<spy value="false" /> </extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="338" > -<father id="372" num="4" /> -<cdparam x="371" y="203" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> -<TGConnectingPoint num="0" id="330" /> -<TGConnectingPoint num="1" id="331" /> -<TGConnectingPoint num="2" id="332" /> -<TGConnectingPoint num="3" id="333" /> -<TGConnectingPoint num="4" id="334" /> -<TGConnectingPoint num="5" id="335" /> -<TGConnectingPoint num="6" id="336" /> -<TGConnectingPoint num="7" id="337" /> +</CONNECTOR> +<CONNECTOR type="125" id="449" > +<cdparam x="444" y="328" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="359" y="353" id="254" /> +<P2 x="441" y="416" id="349" /> +<AutomaticDrawing data="true" /> <extraparam> -<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> +<info priority="0" /> +<spy value="false" /> </extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="347" > -<father id="372" num="5" /> -<cdparam x="376" y="255" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> -<TGConnectingPoint num="0" id="339" /> -<TGConnectingPoint num="1" id="340" /> -<TGConnectingPoint num="2" id="341" /> -<TGConnectingPoint num="3" id="342" /> -<TGConnectingPoint num="4" id="343" /> -<TGConnectingPoint num="5" id="344" /> -<TGConnectingPoint num="6" id="345" /> -<TGConnectingPoint num="7" id="346" /> +</CONNECTOR> +<CONNECTOR type="125" id="450" > +<cdparam x="298" y="533" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="444" y="601" id="324" /> +<P2 x="441" y="466" id="354" /> +<AutomaticDrawing data="true" /> <extraparam> -<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> +<info priority="0" /> +<spy value="false" /> </extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="125" id="373" > +</CONNECTOR> +<CONNECTOR type="125" id="451" > <cdparam x="770" y="476" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="648" y="427" id="204" /> -<P2 x="566" y="441" id="223" /> +<P1 x="699" y="448" id="308" /> +<P2 x="566" y="441" id="352" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="374" > -<cdparam x="298" y="533" /> +<CONNECTOR type="125" id="452" > +<cdparam x="262" y="461" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="515" y="607" id="245" /> -<P2 x="441" y="466" id="225" /> +<P1 x="263" y="466" id="402" /> +<P2 x="316" y="441" id="351" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="375" > -<cdparam x="444" y="328" /> +<CONNECTOR type="125" id="453" > +<cdparam x="199" y="596" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="359" y="353" id="354" /> -<P2 x="441" y="416" id="220" /> +<P1 x="199" y="596" id="374" /> +<P2 x="378" y="466" id="362" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> -- GitLab