diff --git a/bin/config.xml b/bin/config.xml index 0458862dbbec46edeef4269f5f223173c8f7e5b5..be45f75df3fd8b3f2f8af26c5ac3a4e396e1267b 100755 --- a/bin/config.xml +++ b/bin/config.xml @@ -65,7 +65,7 @@ <PLUGIN_JAVA_CODE_GENERATOR data="../plugins/CustomizerAvatarCodeGeneration.jar" /> -<LastOpenFile data="/home/dblouin/Projets/TTool/git/TTool/modeling/AVATAR/CoffeeMachine_Avatar.xml"/> +<LastOpenFile data="/home/dblouin/Projets/TTool/git/TTool/modeling/DIPLODOCUS/ZigBeeDEMO.xml"/> diff --git a/build.txt b/build.txt index 46d8b838dc40ea766ba1aa04857ad422a39e2753..0848eef440ab3f4669e6d84685d8f197b42dbfb0 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -12240 \ No newline at end of file +12241 \ No newline at end of file diff --git a/modeling/DIPLODOCUS/ZigBeeDEMO.xml b/modeling/DIPLODOCUS/ZigBeeDEMO.xml index c027bcc88b54254807786d9c814430a61a5f0847..251513506e516a28bbb1a2576efd02a909f597e3 100644 --- a/modeling/DIPLODOCUS/ZigBeeDEMO.xml +++ b/modeling/DIPLODOCUS/ZigBeeDEMO.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<TURTLEGMODELING version="0.99-beta2"> +<TURTLEGMODELING version="0.99-beta4"> <Modeling type="Diplodocus Methodology" nameTab="DIPLODOCUS_Methodology" > <DiplodocusMethodologyDiagramPanel name="DIPLODOCUS_Methodology" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > <COMPONENT type="6003" id="5" > -<cdparam x="50" y="150" /> +<cdparam x="63" y="99" /> <sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -29,11 +29,11 @@ </COMPONENT> <SUBCOMPONENT type="6005" id="6" > <father id="13" num="0" /> -<cdparam x="605" y="140" /> +<cdparam x="605" y="170" /> <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" /> -<infoparam name="value " value="DMA_transfer" /> +<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" /> +<infoparam name="value " value="CP_Memory_Copy" /> </SUBCOMPONENT> <SUBCOMPONENT type="6005" id="7" > <father id="13" num="1" /> @@ -45,11 +45,11 @@ </SUBCOMPONENT> <SUBCOMPONENT type="6005" id="8" > <father id="13" num="2" /> -<cdparam x="605" y="170" /> +<cdparam x="605" y="140" /> <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" /> -<infoparam name="value " value="CP_Memory_Copy" /> +<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" /> +<infoparam name="value " value="DMA_transfer" /> </SUBCOMPONENT> <COMPONENT type="6002" id="23" > @@ -67,11 +67,11 @@ </COMPONENT> <SUBCOMPONENT type="6005" id="14" > <father id="23" num="0" /> -<cdparam x="605" y="340" /> +<cdparam x="605" y="370" /> <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" /> -<infoparam name="value " value="Mapping_0" /> +<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" /> +<infoparam name="value " value="Mapping_2" /> </SUBCOMPONENT> <SUBCOMPONENT type="6005" id="15" > <father id="23" num="1" /> @@ -83,11 +83,11 @@ </SUBCOMPONENT> <SUBCOMPONENT type="6005" id="16" > <father id="23" num="2" /> -<cdparam x="605" y="370" /> +<cdparam x="605" y="340" /> <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" /> -<infoparam name="value " value="Mapping_2" /> +<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" /> +<infoparam name="value " value="Mapping_0" /> </SUBCOMPONENT> <COMPONENT type="6001" id="29" > @@ -171,8 +171,8 @@ <cdparam x="1952" y="691" /> <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="119" y="76" id="324" /> -<P2 x="125" y="80" id="283" /> +<P1 x="10" y="0" id="335" /> +<P2 x="10" y="0" id="300" /> <Point x="1770" y="552" /> <Point x="1770" y="425" /> <AutomaticDrawing data="true" /> @@ -197,8 +197,8 @@ <cdparam x="1951" y="285" /> <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="125" y="80" id="363" /> -<P2 x="125" y="80" id="287" /> +<P1 x="10" y="0" id="412" /> +<P2 x="10" y="0" id="296" /> <Point x="1656" y="228" /> <Point x="1656" y="386" /> <AutomaticDrawing data="true" /> @@ -223,8 +223,8 @@ <cdparam x="1491" y="561" /> <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="125" y="80" id="242" /> -<P2 x="119" y="76" id="322" /> +<P1 x="10" y="0" id="263" /> +<P2 x="10" y="0" id="337" /> <Point x="1315" y="448" /> <Point x="1315" y="550" /> <AutomaticDrawing data="true" /> @@ -249,8 +249,8 @@ <cdparam x="1491" y="511" /> <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="125" y="80" id="246" /> -<P2 x="1372" y="199" id="389" /> +<P1 x="10" y="0" id="259" /> +<P2 x="10" y="0" id="378" /> <Point x="1317" y="408" /> <Point x="1317" y="209" /> <AutomaticDrawing data="true" /> @@ -275,7 +275,7 @@ <cdparam x="1945" y="539" /> <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="115" y="75" id="339" /> +<P1 x="10" y="0" id="320" /> <P2 x="1740" y="286" id="102" /> <Point x="1740" y="431" /> <AutomaticDrawing data="true" /> @@ -292,48 +292,48 @@ <cdparam x="1077" y="532" /> <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="125" y="80" id="207" /> -<P2 x="125" y="80" id="248" /> +<P1 x="10" y="0" id="218" /> +<P2 x="10" y="0" id="257" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="57" > <cdparam x="1074" y="384" /> <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="126" y="73" id="222" /> -<P2 x="116" y="74" id="263" /> +<P1 x="10" y="0" id="203" /> +<P2 x="10" y="0" id="242" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="58" > <cdparam x="661" y="525" /> <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="125" y="80" id="168" /> -<P2 x="125" y="80" id="205" /> +<P1 x="10" y="0" id="179" /> +<P2 x="10" y="0" id="220" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="59" > <cdparam x="660" y="383" /> <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="126" y="76" id="183" /> -<P2 x="126" y="73" id="220" /> +<P1 x="10" y="0" id="164" /> +<P2 x="10" y="0" id="205" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="60" > <cdparam x="262" y="524" /> <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="125" y="80" id="131" /> -<P2 x="125" y="80" id="166" /> +<P1 x="10" y="0" id="142" /> +<P2 x="10" y="0" id="181" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="61" > <cdparam x="265" y="373" /> <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="128" y="72" id="144" /> -<P2 x="126" y="76" id="181" /> +<P1 x="10" y="0" id="129" /> +<P2 x="10" y="0" id="166" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="62" > @@ -341,14 +341,14 @@ <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="1753" y="280" id="97" /> -<P2 x="126" y="77" id="300" /> +<P2 x="10" y="0" id="283" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="64" > <cdparam x="1944" y="125" /> <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="120" y="78" id="378" /> +<P1 x="10" y="0" id="397" /> <P2 x="1740" y="274" id="100" /> <Point x="1740" y="100" /> <AutomaticDrawing data="true" /> @@ -366,7 +366,7 @@ <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="1296" y="300" id="114" /> -<P2 x="115" y="75" id="337" /> +<P2 x="10" y="0" id="322" /> <Point x="1344" y="301" /> <Point x="1344" y="425" /> <AutomaticDrawing data="true" /> @@ -391,8 +391,8 @@ <cdparam x="1729" y="262" /> <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="1372" y="219" id="394" /> -<P2 x="125" y="80" id="361" /> +<P1 x="10" y="20" id="383" /> +<P2 x="10" y="0" id="414" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="70" > @@ -400,7 +400,7 @@ <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="1291" y="294" id="116" /> -<P2 x="1372" y="84" id="408" /> +<P2 x="10" y="0" id="359" /> <Point x="1292" y="95" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="69" > @@ -416,15 +416,15 @@ <cdparam x="1729" y="119" /> <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="1372" y="104" id="413" /> -<P2 x="120" y="78" id="376" /> +<P1 x="10" y="20" id="364" /> +<P2 x="10" y="0" id="399" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="72" > <cdparam x="1485" y="363" /> <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="116" y="74" id="261" /> +<P1 x="10" y="0" id="244" /> <P2 x="1279" y="300" id="113" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -432,61 +432,61 @@ <cdparam x="2385" y="443" /> <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="125" y="80" id="285" /> -<P2 x="126" y="77" id="298" /> +<P1 x="10" y="0" id="298" /> +<P2 x="10" y="0" id="285" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="74" > <cdparam x="1911" y="211" /> <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="125" y="80" id="359" /> -<P2 x="120" y="78" id="374" /> +<P1 x="10" y="0" id="416" /> +<P2 x="10" y="0" id="401" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="75" > <cdparam x="1912" y="621" /> <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="119" y="76" id="320" /> -<P2 x="115" y="75" id="335" /> +<P1 x="10" y="0" id="339" /> +<P2 x="10" y="0" id="324" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="76" > <cdparam x="1457" y="435" /> <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="125" y="80" id="244" /> -<P2 x="116" y="74" id="259" /> +<P1 x="10" y="0" id="261" /> +<P2 x="10" y="0" id="246" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="77" > <cdparam x="1041" y="456" /> <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="125" y="80" id="203" /> -<P2 x="126" y="73" id="218" /> +<P1 x="10" y="0" id="222" /> +<P2 x="10" y="0" id="207" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="78" > <cdparam x="630" y="455" /> <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="125" y="80" id="164" /> -<P2 x="126" y="76" id="179" /> +<P1 x="10" y="0" id="183" /> +<P2 x="10" y="0" id="168" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="79" > <cdparam x="215" y="452" /> <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="125" y="80" id="129" /> -<P2 x="110" y="72" id="142" /> +<P1 x="10" y="0" id="144" /> +<P2 x="10" y="0" id="131" /> <AutomaticDrawing data="true" /> </CONNECTOR> <COMPONENT type="301" id="96" > -<cdparam x="53" y="97" /> -<sizeparam width="345" height="43" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="0" y="0" /> +<sizeparam width="197" height="43" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="9" minY="0" maxY="6" /> <infoparam name="UML Note" value="In this model THE PARAMETER SIZE @@ -585,10 +585,10 @@ processing tasks <SUBCOMPONENT type="1202" id="141" > <father id="163" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="128" height="82" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> -<infoparam name="Primitive component" value="F_Source" /> +<cdrectangleparam minX="0" maxX="104" minY="0" maxY="174" /> +<infoparam name="Primitive component" value="X_Source" /> <TGConnectingPoint num="0" id="133" /> <TGConnectingPoint num="1" id="134" /> <TGConnectingPoint num="2" id="135" /> @@ -598,20 +598,20 @@ processing tasks <TGConnectingPoint num="6" id="139" /> <TGConnectingPoint num="7" id="140" /> <extraparam> -<Attribute access="2" id="size" value="127" type="0" typeOther="" /> +<Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="130" > <father id="141" num="0" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Request source_req" /> +<cdrectangleparam minX="-10" maxX="118" minY="-10" maxY="72" /> +<infoparam name="Primitive port" value="Channel Source_ch_out" /> <TGConnectingPoint num="0" id="129" /> <extraparam> -<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -620,14 +620,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="132" > <father id="141" num="1" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event Source_evt_out" /> +<cdrectangleparam minX="-10" maxX="118" minY="-10" maxY="72" /> +<infoparam name="Primitive port" value="Request source_req" /> <TGConnectingPoint num="0" id="131" /> <extraparam> -<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -638,10 +638,10 @@ processing tasks <SUBCOMPONENT type="1202" id="154" > <father id="163" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="128" height="82" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="104" minY="0" maxY="174" /> -<infoparam name="Primitive component" value="X_Source" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> +<infoparam name="Primitive component" value="F_Source" /> <TGConnectingPoint num="0" id="146" /> <TGConnectingPoint num="1" id="147" /> <TGConnectingPoint num="2" id="148" /> @@ -651,19 +651,19 @@ processing tasks <TGConnectingPoint num="6" id="152" /> <TGConnectingPoint num="7" id="153" /> <extraparam> -<Attribute access="2" id="size" value="" type="0" typeOther="" /> +<Attribute access="2" id="size" value="127" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="143" > <father id="154" num="0" /> -<cdparam x="100" y="72" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="118" minY="-10" maxY="72" /> -<infoparam name="Primitive port" value="Request source_req" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event Source_evt_out" /> <TGConnectingPoint num="0" id="142" /> <extraparam> -<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -673,15 +673,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="145" > <father id="154" num="1" /> -<cdparam x="118" y="72" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="118" minY="-10" maxY="72" /> -<infoparam name="Primitive port" value="Channel Source_ch_out" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Request source_req" /> <TGConnectingPoint num="0" id="144" /> <extraparam> -<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -710,10 +710,10 @@ processing tasks <SUBCOMPONENT type="1202" id="178" > <father id="202" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="126" height="86" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> -<infoparam name="Primitive component" value="F_Symbol2ChipSeq" /> +<cdrectangleparam minX="0" maxX="106" minY="0" maxY="170" /> +<infoparam name="Primitive component" value="X_Symbol2ChipSeq" /> <TGConnectingPoint num="0" id="170" /> <TGConnectingPoint num="1" id="171" /> <TGConnectingPoint num="2" id="172" /> @@ -728,15 +728,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="165" > <father id="178" num="0" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Request bit2chip_req" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" /> <TGConnectingPoint num="0" id="164" /> <extraparam> -<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -745,15 +745,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="167" > <father id="178" num="1" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event bit2symbol_evt_in" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" /> <TGConnectingPoint num="0" id="166" /> <extraparam> -<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -762,14 +762,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="169" > <father id="178" num="2" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event bit2symbol_evt_out" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Request bit2chip_req" /> <TGConnectingPoint num="0" id="168" /> <extraparam> -<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -780,10 +780,10 @@ processing tasks <SUBCOMPONENT type="1202" id="193" > <father id="202" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="126" height="86" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="106" minY="0" maxY="170" /> -<infoparam name="Primitive component" value="X_Symbol2ChipSeq" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> +<infoparam name="Primitive component" value="F_Symbol2ChipSeq" /> <TGConnectingPoint num="0" id="185" /> <TGConnectingPoint num="1" id="186" /> <TGConnectingPoint num="2" id="187" /> @@ -798,14 +798,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="180" > <father id="193" num="0" /> -<cdparam x="116" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Request bit2chip_req" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event bit2symbol_evt_out" /> <TGConnectingPoint num="0" id="179" /> <extraparam> -<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -815,15 +815,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="182" > <father id="193" num="1" /> -<cdparam x="116" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event bit2symbol_evt_in" /> <TGConnectingPoint num="0" id="181" /> <extraparam> -<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -832,15 +832,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="184" > <father id="193" num="2" /> -<cdparam x="116" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Request bit2chip_req" /> <TGConnectingPoint num="0" id="183" /> <extraparam> -<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -869,10 +869,10 @@ processing tasks <SUBCOMPONENT type="1202" id="217" > <father id="241" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="126" height="83" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> -<infoparam name="Primitive component" value="F_Chip_to_Octet" /> +<cdrectangleparam minX="0" maxX="106" minY="0" maxY="173" /> +<infoparam name="Primitive component" value="X_Chip_to_Octet" /> <TGConnectingPoint num="0" id="209" /> <TGConnectingPoint num="1" id="210" /> <TGConnectingPoint num="2" id="211" /> @@ -887,15 +887,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="204" > <father id="217" num="0" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Request chip2octet_req" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> +<infoparam name="Primitive port" value="Channel chip2octet_ch_out" /> <TGConnectingPoint num="0" id="203" /> <extraparam> -<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -904,15 +904,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="206" > <father id="217" num="1" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event chip2octet_evt_in" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> +<infoparam name="Primitive port" value="Channel chip2octet_ch_in" /> <TGConnectingPoint num="0" id="205" /> <extraparam> -<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -921,14 +921,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="208" > <father id="217" num="2" /> -<cdparam x="115" y="80" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event chip2octet_evt_out" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> +<infoparam name="Primitive port" value="Request chip2octet_req" /> <TGConnectingPoint num="0" id="207" /> <extraparam> -<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -939,10 +939,10 @@ processing tasks <SUBCOMPONENT type="1202" id="232" > <father id="241" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="126" height="83" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="106" minY="0" maxY="173" /> -<infoparam name="Primitive component" value="X_Chip_to_Octet" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> +<infoparam name="Primitive component" value="F_Chip_to_Octet" /> <TGConnectingPoint num="0" id="224" /> <TGConnectingPoint num="1" id="225" /> <TGConnectingPoint num="2" id="226" /> @@ -957,14 +957,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="219" > <father id="232" num="0" /> -<cdparam x="116" y="73" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> -<infoparam name="Primitive port" value="Request chip2octet_req" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event chip2octet_evt_out" /> <TGConnectingPoint num="0" id="218" /> <extraparam> -<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -974,15 +974,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="221" > <father id="232" num="1" /> -<cdparam x="116" y="73" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> -<infoparam name="Primitive port" value="Channel chip2octet_ch_in" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event chip2octet_evt_in" /> <TGConnectingPoint num="0" id="220" /> <extraparam> -<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -991,15 +991,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="223" > <father id="232" num="2" /> -<cdparam x="116" y="73" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="73" /> -<infoparam name="Primitive port" value="Channel chip2octet_ch_out" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Request chip2octet_req" /> <TGConnectingPoint num="0" id="222" /> <extraparam> -<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1025,36 +1025,36 @@ processing tasks <info hiddeni="false" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1202" id="258" > +<SUBCOMPONENT type="1202" id="256" > <father id="282" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="116" height="84" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> -<infoparam name="Primitive component" value="F_CWL" /> -<TGConnectingPoint num="0" id="250" /> -<TGConnectingPoint num="1" id="251" /> -<TGConnectingPoint num="2" id="252" /> -<TGConnectingPoint num="3" id="253" /> -<TGConnectingPoint num="4" id="254" /> -<TGConnectingPoint num="5" id="255" /> -<TGConnectingPoint num="6" id="256" /> -<TGConnectingPoint num="7" id="257" /> +<cdrectangleparam minX="0" maxX="116" minY="0" maxY="172" /> +<infoparam name="Primitive component" value="X_CWL" /> +<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> <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="243" > -<father id="258" num="0" /> -<cdparam x="115" y="80" /> +<father id="256" num="0" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event cwl_evt_out_1" /> +<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> +<infoparam name="Primitive port" value="Channel cwl_ch_in" /> <TGConnectingPoint num="0" id="242" /> <extraparam> -<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1062,16 +1062,16 @@ processing tasks </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="245" > -<father id="258" num="1" /> -<cdparam x="115" y="80" /> +<father id="256" num="1" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Request cwl_req" /> +<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> +<infoparam name="Primitive port" value="Channel cwl_ch_out" /> <TGConnectingPoint num="0" id="244" /> <extraparam> -<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1079,32 +1079,15 @@ processing tasks </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="247" > -<father id="258" num="2" /> -<cdparam x="115" y="80" /> +<father id="256" num="2" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event cwl_evt_out" /> +<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> +<infoparam name="Primitive port" value="Request cwl_req" /> <TGConnectingPoint num="0" id="246" /> <extraparam> -<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="249" > -<father id="258" num="3" /> -<cdparam x="115" y="80" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event cwl_evt_in" /> -<TGConnectingPoint num="0" id="248" /> -<extraparam> -<Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1115,10 +1098,10 @@ processing tasks <SUBCOMPONENT type="1202" id="273" > <father id="282" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="116" height="84" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="116" minY="0" maxY="172" /> -<infoparam name="Primitive component" value="X_CWL" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> +<infoparam name="Primitive component" value="F_CWL" /> <TGConnectingPoint num="0" id="265" /> <TGConnectingPoint num="1" id="266" /> <TGConnectingPoint num="2" id="267" /> @@ -1131,16 +1114,16 @@ processing tasks <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="260" > +<SUBCOMPONENT type="1203" id="258" > <father id="273" num="0" /> -<cdparam x="106" y="74" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> -<infoparam name="Primitive port" value="Request cwl_req" /> -<TGConnectingPoint num="0" id="259" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event cwl_evt_in" /> +<TGConnectingPoint num="0" id="257" /> <extraparam> -<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1148,34 +1131,51 @@ processing tasks <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="262" > +<SUBCOMPONENT type="1203" id="260" > <father id="273" num="1" /> -<cdparam x="106" y="74" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> -<infoparam name="Primitive port" value="Channel cwl_ch_out" /> -<TGConnectingPoint num="0" id="261" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event cwl_evt_out" /> +<TGConnectingPoint num="0" id="259" /> <extraparam> -<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="262" > +<father id="273" num="2" /> +<cdparam x="0" y="0" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Request cwl_req" /> +<TGConnectingPoint num="0" id="261" /> +<extraparam> +<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="264" > -<father id="273" num="2" /> -<cdparam x="106" y="74" /> +<father id="273" num="3" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="106" minY="-10" maxY="74" /> -<infoparam name="Primitive port" value="Channel cwl_ch_in" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event cwl_evt_out_1" /> <TGConnectingPoint num="0" id="263" /> <extraparam> -<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1201,37 +1201,36 @@ processing tasks <info hiddeni="false" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1202" id="297" > +<SUBCOMPONENT type="1202" id="295" > <father id="319" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="126" height="87" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="171" /> -<infoparam name="Primitive component" value="F_Sink" /> -<TGConnectingPoint num="0" id="289" /> -<TGConnectingPoint num="1" id="290" /> -<TGConnectingPoint num="2" id="291" /> -<TGConnectingPoint num="3" id="292" /> -<TGConnectingPoint num="4" id="293" /> -<TGConnectingPoint num="5" id="294" /> -<TGConnectingPoint num="6" id="295" /> -<TGConnectingPoint num="7" id="296" /> +<cdrectangleparam minX="0" maxX="106" minY="0" maxY="174" /> +<infoparam name="Primitive component" value="X_Sink" /> +<TGConnectingPoint num="0" id="287" /> +<TGConnectingPoint num="1" id="288" /> +<TGConnectingPoint num="2" id="289" /> +<TGConnectingPoint num="3" id="290" /> +<TGConnectingPoint num="4" id="291" /> +<TGConnectingPoint num="5" id="292" /> +<TGConnectingPoint num="6" id="293" /> +<TGConnectingPoint num="7" id="294" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> -<Attribute access="2" id="size_1" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="284" > -<father id="297" num="0" /> -<cdparam x="115" y="80" /> +<father id="295" num="0" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event sink_evt_in_1" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="77" /> +<infoparam name="Primitive port" value="Channel sink_ch_in" /> <TGConnectingPoint num="0" id="283" /> <extraparam> -<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1239,32 +1238,15 @@ processing tasks </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="286" > -<father id="297" num="1" /> -<cdparam x="115" y="80" /> +<father id="295" num="1" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="77" /> <infoparam name="Primitive port" value="Request sink_req" /> <TGConnectingPoint num="0" id="285" /> <extraparam> -<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -<Type type="0" typeOther="" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="288" > -<father id="297" num="2" /> -<cdparam x="115" y="80" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event sink_evt_in" /> -<TGConnectingPoint num="0" id="287" /> -<extraparam> -<Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1275,10 +1257,10 @@ processing tasks <SUBCOMPONENT type="1202" id="310" > <father id="319" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="126" height="87" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="106" minY="0" maxY="174" /> -<infoparam name="Primitive component" value="X_Sink" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="171" /> +<infoparam name="Primitive component" value="F_Sink" /> <TGConnectingPoint num="0" id="302" /> <TGConnectingPoint num="1" id="303" /> <TGConnectingPoint num="2" id="304" /> @@ -1289,18 +1271,36 @@ processing tasks <TGConnectingPoint num="7" id="309" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> +<Attribute access="2" id="size_1" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="299" > +<SUBCOMPONENT type="1203" id="297" > <father id="310" num="0" /> -<cdparam x="116" y="77" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="77" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event sink_evt_in" /> +<TGConnectingPoint num="0" id="296" /> +<extraparam> +<Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="299" > +<father id="310" num="1" /> +<cdparam x="0" y="0" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> <infoparam name="Primitive port" value="Request sink_req" /> <TGConnectingPoint num="0" id="298" /> <extraparam> -<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1309,16 +1309,16 @@ processing tasks </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="301" > -<father id="310" num="1" /> -<cdparam x="116" y="77" /> +<father id="310" num="2" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="116" minY="-10" maxY="77" /> -<infoparam name="Primitive port" value="Channel sink_ch_in" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event sink_evt_in_1" /> <TGConnectingPoint num="0" id="300" /> <extraparam> -<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1347,10 +1347,10 @@ processing tasks <SUBCOMPONENT type="1202" id="334" > <father id="358" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="119" height="86" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="115" height="85" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="113" minY="0" maxY="170" /> -<infoparam name="Primitive component" value="F_CWP_Q" /> +<cdrectangleparam minX="0" maxX="117" minY="0" maxY="171" /> +<infoparam name="Primitive component" value="X_CWP_Q" /> <TGConnectingPoint num="0" id="326" /> <TGConnectingPoint num="1" id="327" /> <TGConnectingPoint num="2" id="328" /> @@ -1365,15 +1365,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="321" > <father id="334" num="0" /> -<cdparam x="109" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Request cwpQ_req" /> +<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> +<infoparam name="Primitive port" value="Channel cwpQ_ch_out" /> <TGConnectingPoint num="0" id="320" /> <extraparam> -<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1382,15 +1382,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="323" > <father id="334" num="1" /> -<cdparam x="109" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Event cwpQ_evt_in" /> +<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> +<infoparam name="Primitive port" value="Channel cwpQ_ch_in" /> <TGConnectingPoint num="0" id="322" /> <extraparam> -<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1399,14 +1399,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="325" > <father id="334" num="2" /> -<cdparam x="109" y="76" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> -<infoparam name="Primitive port" value="Event cwpQ_evt_out" /> +<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> +<infoparam name="Primitive port" value="Request cwpQ_req" /> <TGConnectingPoint num="0" id="324" /> <extraparam> -<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1417,10 +1417,10 @@ processing tasks <SUBCOMPONENT type="1202" id="349" > <father id="358" num="1" /> <cdparam x="0" y="0" /> -<sizeparam width="115" height="85" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="119" height="86" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="117" minY="0" maxY="171" /> -<infoparam name="Primitive component" value="X_CWP_Q" /> +<cdrectangleparam minX="0" maxX="113" minY="0" maxY="170" /> +<infoparam name="Primitive component" value="F_CWP_Q" /> <TGConnectingPoint num="0" id="341" /> <TGConnectingPoint num="1" id="342" /> <TGConnectingPoint num="2" id="343" /> @@ -1435,14 +1435,14 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="336" > <father id="349" num="0" /> -<cdparam x="105" y="75" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> -<infoparam name="Primitive port" value="Request cwpQ_req" /> +<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Event cwpQ_evt_out" /> <TGConnectingPoint num="0" id="335" /> <extraparam> -<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1452,15 +1452,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="338" > <father id="349" num="1" /> -<cdparam x="105" y="75" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> -<infoparam name="Primitive port" value="Channel cwpQ_ch_in" /> +<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Event cwpQ_evt_in" /> <TGConnectingPoint num="0" id="337" /> <extraparam> -<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1469,15 +1469,15 @@ processing tasks </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="340" > <father id="349" num="2" /> -<cdparam x="105" y="75" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="105" minY="-10" maxY="75" /> -<infoparam name="Primitive port" value="Channel cwpQ_ch_out" /> +<cdrectangleparam minX="-10" maxX="109" minY="-10" maxY="76" /> +<infoparam name="Primitive port" value="Request cwpQ_req" /> <TGConnectingPoint num="0" id="339" /> <extraparam> -<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1503,69 +1503,121 @@ processing tasks <info hiddeni="false" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1202" id="373" > +<SUBCOMPONENT type="1201" id="377" > <father id="435" num="0" /> <cdparam x="0" y="0" /> -<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="20" height="20" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> -<infoparam name="Primitive component" value="F_CWP_I" /> -<TGConnectingPoint num="0" id="365" /> -<TGConnectingPoint num="1" id="366" /> -<TGConnectingPoint num="2" id="367" /> -<TGConnectingPoint num="3" id="368" /> -<TGConnectingPoint num="4" id="369" /> -<TGConnectingPoint num="5" id="370" /> -<TGConnectingPoint num="6" id="371" /> -<TGConnectingPoint num="7" id="372" /> +<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="246" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="359" /> +<TGConnectingPoint num="1" id="360" /> +<TGConnectingPoint num="2" id="361" /> +<TGConnectingPoint num="3" id="362" /> +<TGConnectingPoint num="4" id="363" /> +<TGConnectingPoint num="5" id="364" /> +<TGConnectingPoint num="6" id="365" /> +<TGConnectingPoint num="7" id="366" /> +<TGConnectingPoint num="8" id="367" /> +<TGConnectingPoint num="9" id="368" /> +<TGConnectingPoint num="10" id="369" /> +<TGConnectingPoint num="11" id="370" /> +<TGConnectingPoint num="12" id="371" /> +<TGConnectingPoint num="13" id="372" /> +<TGConnectingPoint num="14" id="373" /> +<TGConnectingPoint num="15" id="374" /> +<TGConnectingPoint num="16" id="375" /> +<TGConnectingPoint num="17" id="376" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1201" id="396" > +<father id="435" num="1" /> +<cdparam x="0" y="0" /> +<sizeparam width="20" height="20" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="246" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="378" /> +<TGConnectingPoint num="1" id="379" /> +<TGConnectingPoint num="2" id="380" /> +<TGConnectingPoint num="3" id="381" /> +<TGConnectingPoint num="4" id="382" /> +<TGConnectingPoint num="5" id="383" /> +<TGConnectingPoint num="6" id="384" /> +<TGConnectingPoint num="7" id="385" /> +<TGConnectingPoint num="8" id="386" /> +<TGConnectingPoint num="9" id="387" /> +<TGConnectingPoint num="10" id="388" /> +<TGConnectingPoint num="11" id="389" /> +<TGConnectingPoint num="12" id="390" /> +<TGConnectingPoint num="13" id="391" /> +<TGConnectingPoint num="14" id="392" /> +<TGConnectingPoint num="15" id="393" /> +<TGConnectingPoint num="16" id="394" /> +<TGConnectingPoint num="17" id="395" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="411" > +<father id="435" num="2" /> +<cdparam x="0" y="0" /> +<sizeparam width="120" height="88" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="112" minY="0" maxY="168" /> +<infoparam name="Primitive component" value="X_CWP_I" /> +<TGConnectingPoint num="0" id="403" /> +<TGConnectingPoint num="1" id="404" /> +<TGConnectingPoint num="2" id="405" /> +<TGConnectingPoint num="3" id="406" /> +<TGConnectingPoint num="4" id="407" /> +<TGConnectingPoint num="5" id="408" /> +<TGConnectingPoint num="6" id="409" /> +<TGConnectingPoint num="7" id="410" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="360" > -<father id="373" num="0" /> -<cdparam x="115" y="80" /> +<SUBCOMPONENT type="1203" id="398" > +<father id="411" num="0" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Request cwpI_req" /> -<TGConnectingPoint num="0" id="359" /> +<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> +<infoparam name="Primitive port" value="Channel cwpI_ch_out" /> +<TGConnectingPoint num="0" id="397" /> <extraparam> -<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<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="362" > -<father id="373" num="1" /> -<cdparam x="115" y="80" /> +<SUBCOMPONENT type="1203" id="400" > +<father id="411" num="1" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event cwpI_evt_in" /> -<TGConnectingPoint num="0" id="361" /> +<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> +<infoparam name="Primitive port" value="Channel cwpI_ch_in" /> +<TGConnectingPoint num="0" id="399" /> <extraparam> -<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<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="364" > -<father id="373" num="2" /> -<cdparam x="115" y="80" /> +<SUBCOMPONENT type="1203" id="402" > +<father id="411" num="2" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> -<infoparam name="Primitive port" value="Event cwpI_evt_out" /> -<TGConnectingPoint num="0" id="363" /> +<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> +<infoparam name="Primitive port" value="Request cwpI_req" /> +<TGConnectingPoint num="0" id="401" /> <extraparam> -<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1573,35 +1625,35 @@ processing tasks <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="388" > -<father id="435" num="1" /> +<SUBCOMPONENT type="1202" id="426" > +<father id="435" num="3" /> <cdparam x="0" y="0" /> -<sizeparam width="120" height="88" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="125" height="90" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="112" minY="0" maxY="168" /> -<infoparam name="Primitive component" value="X_CWP_I" /> -<TGConnectingPoint num="0" id="380" /> -<TGConnectingPoint num="1" id="381" /> -<TGConnectingPoint num="2" id="382" /> -<TGConnectingPoint num="3" id="383" /> -<TGConnectingPoint num="4" id="384" /> -<TGConnectingPoint num="5" id="385" /> -<TGConnectingPoint num="6" id="386" /> -<TGConnectingPoint num="7" id="387" /> +<cdrectangleparam minX="0" maxX="107" minY="0" maxY="166" /> +<infoparam name="Primitive component" value="F_CWP_I" /> +<TGConnectingPoint num="0" id="418" /> +<TGConnectingPoint num="1" id="419" /> +<TGConnectingPoint num="2" id="420" /> +<TGConnectingPoint num="3" id="421" /> +<TGConnectingPoint num="4" id="422" /> +<TGConnectingPoint num="5" id="423" /> +<TGConnectingPoint num="6" id="424" /> +<TGConnectingPoint num="7" id="425" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="375" > -<father id="388" num="0" /> -<cdparam x="110" y="78" /> +<SUBCOMPONENT type="1203" id="413" > +<father id="426" num="0" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> -<infoparam name="Primitive port" value="Request cwpI_req" /> -<TGConnectingPoint num="0" id="374" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event cwpI_evt_out" /> +<TGConnectingPoint num="0" id="412" /> <extraparam> -<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1609,108 +1661,148 @@ processing tasks <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="377" > -<father id="388" num="1" /> -<cdparam x="110" y="78" /> +<SUBCOMPONENT type="1203" id="415" > +<father id="426" num="1" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> -<infoparam name="Primitive port" value="Channel cwpI_ch_in" /> -<TGConnectingPoint num="0" id="376" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Event cwpI_evt_in" /> +<TGConnectingPoint num="0" id="414" /> <extraparam> -<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="379" > -<father id="388" num="2" /> -<cdparam x="110" y="78" /> +<SUBCOMPONENT type="1203" id="417" > +<father id="426" num="2" /> +<cdparam x="0" y="0" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="110" minY="-10" maxY="78" /> -<infoparam name="Primitive port" value="Channel cwpI_ch_out" /> -<TGConnectingPoint num="0" id="378" /> +<cdrectangleparam minX="-10" maxX="115" minY="-10" maxY="80" /> +<infoparam name="Primitive port" value="Request cwpI_req" /> +<TGConnectingPoint num="0" id="416" /> <extraparam> -<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="407" > -<father id="435" num="2" /> -<cdparam x="1362" y="199" /> -<sizeparam width="20" height="20" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> + + +</TMLComponentTaskDiagramPanel> + +<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1001" id="437" > +<cdparam x="397" y="338" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="246" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="389" /> -<TGConnectingPoint num="1" id="390" /> -<TGConnectingPoint num="2" id="391" /> -<TGConnectingPoint num="3" id="392" /> -<TGConnectingPoint num="4" id="393" /> -<TGConnectingPoint num="5" id="394" /> -<TGConnectingPoint num="6" id="395" /> -<TGConnectingPoint num="7" id="396" /> -<TGConnectingPoint num="8" id="397" /> -<TGConnectingPoint num="9" id="398" /> -<TGConnectingPoint num="10" id="399" /> -<TGConnectingPoint num="11" id="400" /> -<TGConnectingPoint num="12" id="401" /> -<TGConnectingPoint num="13" id="402" /> -<TGConnectingPoint num="14" id="403" /> -<TGConnectingPoint num="15" id="404" /> -<TGConnectingPoint num="16" id="405" /> -<TGConnectingPoint num="17" id="406" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="426" > -<father id="435" num="3" /> -<cdparam x="1362" y="84" /> -<sizeparam width="20" height="20" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="436" /> +</COMPONENT> + +<COMPONENT type="1008" id="440" > +<cdparam x="338" y="262" /> +<sizeparam width="139" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="246" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="408" /> -<TGConnectingPoint num="1" id="409" /> -<TGConnectingPoint num="2" id="410" /> -<TGConnectingPoint num="3" id="411" /> -<TGConnectingPoint num="4" id="412" /> -<TGConnectingPoint num="5" id="413" /> -<TGConnectingPoint num="6" id="414" /> -<TGConnectingPoint num="7" id="415" /> -<TGConnectingPoint num="8" id="416" /> -<TGConnectingPoint num="9" id="417" /> -<TGConnectingPoint num="10" id="418" /> -<TGConnectingPoint num="11" id="419" /> -<TGConnectingPoint num="12" id="420" /> -<TGConnectingPoint num="13" id="421" /> -<TGConnectingPoint num="14" id="422" /> -<TGConnectingPoint num="15" id="423" /> -<TGConnectingPoint num="16" id="424" /> -<TGConnectingPoint num="17" id="425" /> -</SUBCOMPONENT> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="send event" value="Source_evt_out(size)" /> +<TGConnectingPoint num="0" id="438" /> +<TGConnectingPoint num="1" id="439" /> +<extraparam> +<Data eventName="Source_evt_out" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1007" id="443" > +<cdparam x="351" y="188" /> +<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="send request" value="source_req(size)" /> +<TGConnectingPoint num="0" id="441" /> +<TGConnectingPoint num="1" id="442" /> +<extraparam> +<Data requestName="source_req" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> +</COMPONENT> +<COMPONENT type="1011" id="446" > +<cdparam x="370" y="116" /> +<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="action state" value="size = 127" /> +<TGConnectingPoint num="0" id="444" /> +<TGConnectingPoint num="1" id="445" /> +</COMPONENT> -</TMLComponentTaskDiagramPanel> +<COMPONENT type="1000" id="448" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="447" /> +</COMPONENT> + +<CONNECTOR type="115" id="449" > +<cdparam x="407" y="70" /> +<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="70" id="447" /> +<P2 x="407" y="111" id="444" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="450" > +<cdparam x="407" y="141" /> +<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="141" id="445" /> +<P2 x="407" y="183" id="441" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="451" > +<cdparam x="407" y="213" /> +<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="213" id="442" /> +<P2 x="407" y="257" id="438" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="452" > +<cdparam x="407" y="287" /> +<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="287" id="439" /> +<P2 x="407" y="333" id="436" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="439" > +<COMPONENT type="1013" id="456" > <cdparam x="402" y="189" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="437" /> -<TGConnectingPoint num="1" id="438" /> +<TGConnectingPoint num="0" id="454" /> +<TGConnectingPoint num="1" id="455" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="436" > -<father id="439" num="0" /> +<SUBCOMPONENT type="-1" id="453" > +<father id="456" num="0" /> <cdparam x="417" y="209" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -1718,190 +1810,195 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="441" > +<COMPONENT type="1001" id="458" > <cdparam x="397" y="342" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="440" /> +<TGConnectingPoint num="0" id="457" /> </COMPONENT> -<COMPONENT type="1006" id="444" > +<COMPONENT type="1006" id="461" > <cdparam x="340" y="270" /> <sizeparam width="135" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="Source_ch_out(size)" /> -<TGConnectingPoint num="0" id="442" /> -<TGConnectingPoint num="1" id="443" /> +<TGConnectingPoint num="0" id="459" /> +<TGConnectingPoint num="1" id="460" /> <extraparam> <Data channelName="Source_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="447" > +<COMPONENT type="1034" id="464" > <cdparam x="351" y="113" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="445" /> -<TGConnectingPoint num="1" id="446" /> +<TGConnectingPoint num="0" id="462" /> +<TGConnectingPoint num="1" id="463" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="449" > +<COMPONENT type="1000" id="466" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="448" /> +<TGConnectingPoint num="0" id="465" /> </COMPONENT> -<CONNECTOR type="115" id="450" > +<CONNECTOR type="115" id="467" > <cdparam x="462" y="222" /> <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="224" id="438" /> -<P2 x="407" y="265" id="442" /> +<P1 x="407" y="224" id="455" /> +<P2 x="407" y="265" id="459" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="451" > +<CONNECTOR type="115" id="468" > <cdparam x="407" y="70" /> <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="70" id="448" /> -<P2 x="407" y="108" id="445" /> +<P1 x="407" y="70" id="465" /> +<P2 x="407" y="108" id="462" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="452" > +<CONNECTOR type="115" id="469" > <cdparam x="402" y="256" /> <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="295" id="443" /> -<P2 x="407" y="337" id="440" /> +<P1 x="407" y="295" id="460" /> +<P2 x="407" y="337" id="457" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="453" > +<CONNECTOR type="115" id="470" > <cdparam x="407" y="155" /> <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="138" id="446" /> -<P2 x="407" y="184" id="437" /> +<P1 x="407" y="138" id="463" /> +<P2 x="407" y="184" id="454" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1001" id="455" > -<cdparam x="397" y="338" /> -<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1010" id="473" > +<cdparam x="317" y="132" /> +<sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="454" /> +<infoparam name="wait event" value="bit2symbol_evt_in(size) " /> +<TGConnectingPoint num="0" id="471" /> +<TGConnectingPoint num="1" id="472" /> +<extraparam> +<Data eventName="bit2symbol_evt_in" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> </COMPONENT> -<COMPONENT type="1008" id="458" > -<cdparam x="338" y="262" /> -<sizeparam width="139" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1001" id="475" > +<cdparam x="385" y="354" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="Source_evt_out(size)" /> -<TGConnectingPoint num="0" id="456" /> -<TGConnectingPoint num="1" id="457" /> -<extraparam> -<Data eventName="Source_evt_out" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="474" /> </COMPONENT> -<COMPONENT type="1007" id="461" > -<cdparam x="351" y="188" /> -<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="478" > +<cdparam x="314" y="278" /> +<sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="source_req(size)" /> -<TGConnectingPoint num="0" id="459" /> -<TGConnectingPoint num="1" id="460" /> +<infoparam name="send event" value="bit2symbol_evt_out(size)" /> +<TGConnectingPoint num="0" id="476" /> +<TGConnectingPoint num="1" id="477" /> +<accessibility /> <extraparam> -<Data requestName="source_req" nbOfParams="5" /> +<Data eventName="bit2symbol_evt_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1011" id="464" > -<cdparam x="370" y="116" /> -<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="481" > +<cdparam x="335" y="204" /> +<sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="action state" value="size = 127" /> -<TGConnectingPoint num="0" id="462" /> -<TGConnectingPoint num="1" id="463" /> +<infoparam name="send request" value="bit2chip_req(size)" /> +<TGConnectingPoint num="0" id="479" /> +<TGConnectingPoint num="1" id="480" /> +<extraparam> +<Data requestName="bit2chip_req" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> </COMPONENT> -<COMPONENT type="1000" id="466" > -<cdparam x="400" y="50" /> +<COMPONENT type="1000" id="483" > +<cdparam x="388" y="66" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="465" /> +<TGConnectingPoint num="0" id="482" /> </COMPONENT> -<CONNECTOR type="115" id="467" > -<cdparam x="407" y="70" /> +<CONNECTOR type="115" id="484" > +<cdparam x="395" y="229" /> <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="70" id="465" /> -<P2 x="407" y="111" id="462" /> +<P1 x="395" y="229" id="480" /> +<P2 x="395" y="273" id="476" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="468" > -<cdparam x="407" y="141" /> +<CONNECTOR type="115" id="485" > +<cdparam x="395" y="303" /> <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="141" id="463" /> -<P2 x="407" y="183" id="459" /> +<P1 x="395" y="303" id="477" /> +<P2 x="395" y="349" id="474" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="469" > -<cdparam x="407" y="213" /> +<CONNECTOR type="115" id="486" > +<cdparam x="395" y="86" /> <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="213" id="460" /> -<P2 x="407" y="257" id="456" /> +<P1 x="395" y="86" id="482" /> +<P2 x="395" y="127" id="471" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="470" > -<cdparam x="407" y="287" /> +<CONNECTOR type="115" id="487" > +<cdparam x="435" y="149" /> <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="287" id="457" /> -<P2 x="407" y="333" id="454" /> +<P1 x="395" y="157" id="472" /> +<P2 x="395" y="199" id="479" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1021" id="474" > +<COMPONENT type="1021" id="491" > <cdparam x="393" y="289" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execC" value="null" /> -<TGConnectingPoint num="0" id="472" /> -<TGConnectingPoint num="1" id="473" /> +<TGConnectingPoint num="0" id="489" /> +<TGConnectingPoint num="1" id="490" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="471" > -<father id="474" num="0" /> +<SUBCOMPONENT type="-1" id="488" > +<father id="491" num="0" /> <cdparam x="408" y="309" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -1909,216 +2006,215 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="477" > +<COMPONENT type="1009" id="494" > <cdparam x="305" y="213" /> <sizeparam width="187" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="symbol2ChipSeq_ch_in(size) " /> -<TGConnectingPoint num="0" id="475" /> -<TGConnectingPoint num="1" id="476" /> +<TGConnectingPoint num="0" id="492" /> +<TGConnectingPoint num="1" id="493" /> <extraparam> <Data channelName="symbol2ChipSeq_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="479" > +<COMPONENT type="1001" id="496" > <cdparam x="388" y="447" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="478" /> +<TGConnectingPoint num="0" id="495" /> </COMPONENT> -<COMPONENT type="1006" id="482" > +<COMPONENT type="1006" id="499" > <cdparam x="302" y="375" /> <sizeparam width="193" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="symbol2ChipSeq_ch_out(size)" /> -<TGConnectingPoint num="0" id="480" /> -<TGConnectingPoint num="1" id="481" /> +<TGConnectingPoint num="0" id="497" /> +<TGConnectingPoint num="1" id="498" /> <extraparam> <Data channelName="symbol2ChipSeq_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="485" > +<COMPONENT type="1034" id="502" > <cdparam x="342" y="137" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="483" /> -<TGConnectingPoint num="1" id="484" /> +<TGConnectingPoint num="0" id="500" /> +<TGConnectingPoint num="1" id="501" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="487" > +<COMPONENT type="1000" id="504" > <cdparam x="391" y="74" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="486" /> +<TGConnectingPoint num="0" id="503" /> </COMPONENT> -<CONNECTOR type="115" id="488" > +<CONNECTOR type="115" id="505" > <cdparam x="541" y="169" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="398" y="238" id="476" /> -<P2 x="398" y="284" id="472" /> +<P1 x="398" y="238" id="493" /> +<P2 x="398" y="284" id="489" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="489" > +<CONNECTOR type="115" id="506" > <cdparam x="453" 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="398" y="324" id="473" /> -<P2 x="398" y="370" id="480" /> +<P1 x="398" y="324" id="490" /> +<P2 x="398" y="370" id="497" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="490" > +<CONNECTOR type="115" id="507" > <cdparam x="398" y="94" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="398" y="94" id="486" /> -<P2 x="398" y="132" id="483" /> +<P1 x="398" y="94" id="503" /> +<P2 x="398" y="132" id="500" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="491" > +<CONNECTOR type="115" id="508" > <cdparam x="393" y="361" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="398" y="400" id="481" /> -<P2 x="398" y="442" id="478" /> +<P1 x="398" y="400" id="498" /> +<P2 x="398" y="442" id="495" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="492" > +<CONNECTOR type="115" id="509" > <cdparam x="398" y="179" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="398" y="162" id="484" /> -<P2 x="398" y="208" id="475" /> +<P1 x="398" y="162" id="501" /> +<P2 x="398" y="208" id="492" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1010" id="495" > -<cdparam x="317" y="132" /> +<TMLActivityDiagramPanel name="F_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1010" id="512" > +<cdparam x="333" y="128" /> <sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="bit2symbol_evt_in(size) " /> -<TGConnectingPoint num="0" id="493" /> -<TGConnectingPoint num="1" id="494" /> +<infoparam name="wait event" value="chip2octet_evt_in(size) " /> +<TGConnectingPoint num="0" id="510" /> +<TGConnectingPoint num="1" id="511" /> <extraparam> -<Data eventName="bit2symbol_evt_in" nbOfParams="5" /> +<Data eventName="chip2octet_evt_in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="497" > -<cdparam x="385" y="354" /> +<COMPONENT type="1001" id="514" > +<cdparam x="401" y="350" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="496" /> +<TGConnectingPoint num="0" id="513" /> </COMPONENT> -<COMPONENT type="1008" id="500" > -<cdparam x="314" y="278" /> +<COMPONENT type="1008" id="517" > +<cdparam x="330" y="274" /> <sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="bit2symbol_evt_out(size)" /> -<TGConnectingPoint num="0" id="498" /> -<TGConnectingPoint num="1" id="499" /> -<accessibility /> +<infoparam name="send event" value="chip2octet_evt_out(size)" /> +<TGConnectingPoint num="0" id="515" /> +<TGConnectingPoint num="1" id="516" /> <extraparam> -<Data eventName="bit2symbol_evt_out" nbOfParams="5" /> +<Data eventName="chip2octet_evt_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1007" id="503" > -<cdparam x="335" y="204" /> -<sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="520" > +<cdparam x="343" y="200" /> +<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="bit2chip_req(size)" /> -<TGConnectingPoint num="0" id="501" /> -<TGConnectingPoint num="1" id="502" /> +<infoparam name="send request" value="chip2octet_req(size)" /> +<TGConnectingPoint num="0" id="518" /> +<TGConnectingPoint num="1" id="519" /> <extraparam> -<Data requestName="bit2chip_req" nbOfParams="5" /> +<Data requestName="chip2octet_req" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="505" > -<cdparam x="388" y="66" /> +<COMPONENT type="1000" id="522" > +<cdparam x="404" y="62" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="504" /> +<TGConnectingPoint num="0" id="521" /> </COMPONENT> -<CONNECTOR type="115" id="506" > -<cdparam x="395" y="229" /> +<CONNECTOR type="115" id="523" > +<cdparam x="411" y="225" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="395" y="229" id="502" /> -<P2 x="395" y="273" id="498" /> +<P1 x="411" y="225" id="519" /> +<P2 x="411" y="269" id="515" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="507" > -<cdparam x="395" y="303" /> +<CONNECTOR type="115" id="524" > +<cdparam x="411" y="299" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="395" y="303" id="499" /> -<P2 x="395" y="349" id="496" /> +<P1 x="411" y="299" id="516" /> +<P2 x="411" y="345" id="513" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="508" > -<cdparam x="395" y="86" /> +<CONNECTOR type="115" id="525" > +<cdparam x="411" y="82" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="395" y="86" id="504" /> -<P2 x="395" y="127" id="493" /> +<P1 x="411" y="82" id="521" /> +<P2 x="411" y="123" id="510" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="509" > -<cdparam x="435" y="149" /> +<CONNECTOR type="115" id="526" > +<cdparam x="451" y="145" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="395" y="157" id="494" /> -<P2 x="395" y="199" id="501" /> +<P1 x="411" y="153" id="511" /> +<P2 x="411" y="195" id="518" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1021" id="513" > +<COMPONENT type="1021" id="530" > <cdparam x="377" y="300" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execC" value="null" /> -<TGConnectingPoint num="0" id="511" /> -<TGConnectingPoint num="1" id="512" /> +<TGConnectingPoint num="0" id="528" /> +<TGConnectingPoint num="1" id="529" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="510" > -<father id="513" num="0" /> +<SUBCOMPONENT type="-1" id="527" > +<father id="530" num="0" /> <cdparam x="392" y="320" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -2126,215 +2222,237 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="516" > +<COMPONENT type="1009" id="533" > <cdparam x="306" y="215" /> <sizeparam width="152" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="chip2octet_ch_in(size) " /> -<TGConnectingPoint num="0" id="514" /> -<TGConnectingPoint num="1" id="515" /> +<TGConnectingPoint num="0" id="531" /> +<TGConnectingPoint num="1" id="532" /> <extraparam> <Data channelName="chip2octet_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="518" > +<COMPONENT type="1001" id="535" > <cdparam x="372" y="449" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="517" /> +<TGConnectingPoint num="0" id="534" /> </COMPONENT> -<COMPONENT type="1006" id="521" > +<COMPONENT type="1006" id="538" > <cdparam x="303" y="377" /> <sizeparam width="158" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="chip2octet_ch_out(size)" /> -<TGConnectingPoint num="0" id="519" /> -<TGConnectingPoint num="1" id="520" /> +<TGConnectingPoint num="0" id="536" /> +<TGConnectingPoint num="1" id="537" /> <extraparam> <Data channelName="chip2octet_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="524" > +<COMPONENT type="1034" id="541" > <cdparam x="326" y="139" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="522" /> -<TGConnectingPoint num="1" id="523" /> +<TGConnectingPoint num="0" id="539" /> +<TGConnectingPoint num="1" id="540" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="526" > +<COMPONENT type="1000" id="543" > <cdparam x="375" y="76" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="525" /> +<TGConnectingPoint num="0" id="542" /> </COMPONENT> -<CONNECTOR type="115" id="527" > +<CONNECTOR type="115" id="544" > <cdparam x="525" y="171" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="382" y="240" id="515" /> -<P2 x="382" y="295" id="511" /> +<P1 x="382" y="240" id="532" /> +<P2 x="382" y="295" id="528" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="528" > +<CONNECTOR type="115" id="545" > <cdparam x="437" y="329" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="382" y="335" id="512" /> -<P2 x="382" y="372" id="519" /> +<P1 x="382" y="335" id="529" /> +<P2 x="382" y="372" id="536" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="529" > +<CONNECTOR type="115" id="546" > <cdparam x="382" y="96" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="382" y="96" id="525" /> -<P2 x="382" y="134" id="522" /> +<P1 x="382" y="96" id="542" /> +<P2 x="382" y="134" id="539" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="530" > +<CONNECTOR type="115" id="547" > <cdparam x="377" y="363" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="382" y="402" id="520" /> -<P2 x="382" y="444" id="517" /> +<P1 x="382" y="402" id="537" /> +<P2 x="382" y="444" id="534" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="531" > +<CONNECTOR type="115" id="548" > <cdparam x="382" y="181" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="382" y="164" id="523" /> -<P2 x="382" y="210" id="514" /> +<P1 x="382" y="164" id="540" /> +<P2 x="382" y="210" id="531" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1010" id="534" > -<cdparam x="333" y="128" /> -<sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1010" id="551" > +<cdparam x="360" y="134" /> +<sizeparam width="108" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="chip2octet_evt_in(size) " /> -<TGConnectingPoint num="0" id="532" /> -<TGConnectingPoint num="1" id="533" /> +<infoparam name="wait event" value="cwl_evt_in(size) " /> +<TGConnectingPoint num="0" id="549" /> +<TGConnectingPoint num="1" id="550" /> <extraparam> -<Data eventName="chip2octet_evt_in" nbOfParams="5" /> +<Data eventName="cwl_evt_in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="536" > -<cdparam x="401" y="350" /> +<COMPONENT type="1001" id="553" > +<cdparam x="407" y="397" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="535" /> +<TGConnectingPoint num="0" id="552" /> </COMPONENT> -<COMPONENT type="1008" id="539" > -<cdparam x="330" y="274" /> -<sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="556" > +<cdparam x="370" y="206" /> +<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="chip2octet_evt_out(size)" /> -<TGConnectingPoint num="0" id="537" /> -<TGConnectingPoint num="1" id="538" /> +<infoparam name="send request" value="cwl_req(size)" /> +<TGConnectingPoint num="0" id="554" /> +<TGConnectingPoint num="1" id="555" /> <extraparam> -<Data eventName="chip2octet_evt_out" nbOfParams="5" /> +<Data requestName="cwl_req" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1007" id="542" > -<cdparam x="343" y="200" /> -<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1000" id="558" > +<cdparam x="407" y="68" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="chip2octet_req(size)" /> -<TGConnectingPoint num="0" id="540" /> -<TGConnectingPoint num="1" id="541" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="557" /> +</COMPONENT> + +<COMPONENT type="1008" id="561" > +<cdparam x="352" y="333" /> +<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="send event" value="cwl_evt_out_1(size)" /> +<TGConnectingPoint num="0" id="559" /> +<TGConnectingPoint num="1" id="560" /> <extraparam> -<Data requestName="chip2octet_req" nbOfParams="5" /> +<Data eventName="cwl_evt_out_1" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="544" > -<cdparam x="404" y="62" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="564" > +<cdparam x="357" y="280" /> +<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="543" /> +<infoparam name="send event" value="cwl_evt_out(size)" /> +<TGConnectingPoint num="0" id="562" /> +<TGConnectingPoint num="1" id="563" /> +<extraparam> +<Data eventName="cwl_evt_out" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> </COMPONENT> -<CONNECTOR type="115" id="545" > -<cdparam x="411" y="225" /> +<CONNECTOR type="115" id="565" > +<cdparam x="416" y="358" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="411" y="225" id="541" /> -<P2 x="411" y="269" id="537" /> +<P1 x="416" y="358" id="560" /> +<P2 x="417" y="392" id="552" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="546" > -<cdparam x="411" y="299" /> +<CONNECTOR type="115" id="566" > +<cdparam x="414" y="231" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="411" y="299" id="538" /> -<P2 x="411" y="345" id="535" /> +<P1 x="414" y="231" id="555" /> +<P2 x="414" y="275" id="562" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="547" > -<cdparam x="411" y="82" /> +<CONNECTOR type="115" id="567" > +<cdparam x="414" y="305" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="411" y="82" id="543" /> -<P2 x="411" y="123" id="532" /> +<P1 x="414" y="305" id="563" /> +<P2 x="416" y="328" id="559" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="548" > -<cdparam x="451" y="145" /> +<CONNECTOR type="115" id="568" > +<cdparam x="414" y="88" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="414" y="88" id="557" /> +<P2 x="414" y="129" id="549" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="569" > +<cdparam x="454" y="151" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="411" y="153" id="533" /> -<P2 x="411" y="195" id="540" /> +<P1 x="414" y="159" id="550" /> +<P2 x="414" y="201" id="554" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="552" > +<COMPONENT type="1013" id="573" > <cdparam x="402" y="277" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="550" /> -<TGConnectingPoint num="1" id="551" /> +<TGConnectingPoint num="0" id="571" /> +<TGConnectingPoint num="1" id="572" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="549" > -<father id="552" num="0" /> +<SUBCOMPONENT type="-1" id="570" > +<father id="573" num="0" /> <cdparam x="417" y="297" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -2342,237 +2460,215 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="555" > +<COMPONENT type="1009" id="576" > <cdparam x="355" y="196" /> <sizeparam width="104" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="cwl_ch_in(size) " /> -<TGConnectingPoint num="0" id="553" /> -<TGConnectingPoint num="1" id="554" /> +<TGConnectingPoint num="0" id="574" /> +<TGConnectingPoint num="1" id="575" /> <extraparam> <Data channelName="cwl_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="557" > +<COMPONENT type="1001" id="578" > <cdparam x="397" y="430" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="556" /> +<TGConnectingPoint num="0" id="577" /> </COMPONENT> -<COMPONENT type="1006" id="560" > +<COMPONENT type="1006" id="581" > <cdparam x="352" y="358" /> <sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="cwl_ch_out(size)" /> -<TGConnectingPoint num="0" id="558" /> -<TGConnectingPoint num="1" id="559" /> +<TGConnectingPoint num="0" id="579" /> +<TGConnectingPoint num="1" id="580" /> <extraparam> <Data channelName="cwl_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="563" > +<COMPONENT type="1034" id="584" > <cdparam x="351" y="120" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="561" /> -<TGConnectingPoint num="1" id="562" /> +<TGConnectingPoint num="0" id="582" /> +<TGConnectingPoint num="1" id="583" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="565" > +<COMPONENT type="1000" id="586" > <cdparam x="400" y="57" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="564" /> +<TGConnectingPoint num="0" id="585" /> </COMPONENT> -<CONNECTOR type="115" id="566" > +<CONNECTOR type="115" id="587" > <cdparam x="550" y="152" /> <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="221" id="554" /> -<P2 x="407" y="272" id="550" /> +<P1 x="407" y="221" id="575" /> +<P2 x="407" y="272" id="571" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="567" > +<CONNECTOR type="115" id="588" > <cdparam x="462" y="310" /> <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="312" id="551" /> -<P2 x="407" y="353" id="558" /> +<P1 x="407" y="312" id="572" /> +<P2 x="407" y="353" id="579" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="568" > +<CONNECTOR type="115" id="589" > <cdparam x="407" y="77" /> <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="77" id="564" /> -<P2 x="407" y="115" id="561" /> +<P1 x="407" y="77" id="585" /> +<P2 x="407" y="115" id="582" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="569" > +<CONNECTOR type="115" id="590" > <cdparam x="402" y="344" /> <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="383" id="559" /> -<P2 x="407" y="425" id="556" /> +<P1 x="407" y="383" id="580" /> +<P2 x="407" y="425" id="577" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="570" > +<CONNECTOR type="115" id="591" > <cdparam x="407" y="162" /> <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="145" id="562" /> -<P2 x="407" y="191" id="553" /> +<P1 x="407" y="145" id="583" /> +<P2 x="407" y="191" id="574" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1010" id="573" > -<cdparam x="360" y="134" /> -<sizeparam width="108" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="cwl_evt_in(size) " /> -<TGConnectingPoint num="0" id="571" /> -<TGConnectingPoint num="1" id="572" /> -<extraparam> -<Data eventName="cwl_evt_in" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1001" id="575" > -<cdparam x="407" y="397" /> +<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1001" id="593" > +<cdparam x="396" y="355" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="574" /> +<TGConnectingPoint num="0" id="592" /> </COMPONENT> -<COMPONENT type="1007" id="578" > -<cdparam x="370" y="206" /> -<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="596" > +<cdparam x="331" y="265" /> +<sizeparam width="150" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="cwl_req(size)" /> -<TGConnectingPoint num="0" id="576" /> -<TGConnectingPoint num="1" id="577" /> +<infoparam name="send request" value="sink_req(size + size_1)" /> +<TGConnectingPoint num="0" id="594" /> +<TGConnectingPoint num="1" id="595" /> <extraparam> -<Data requestName="cwl_req" nbOfParams="5" /> -<Param index="0" value="size" /> +<Data requestName="sink_req" nbOfParams="5" /> +<Param index="0" value="size + size_1" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="580" > -<cdparam x="407" y="68" /> +<COMPONENT type="1000" id="598" > +<cdparam x="400" y="73" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="579" /> +<TGConnectingPoint num="0" id="597" /> </COMPONENT> -<COMPONENT type="1008" id="583" > -<cdparam x="352" y="333" /> -<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1010" id="601" > +<cdparam x="336" y="187" /> +<sizeparam width="142" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="cwl_evt_out_1(size)" /> -<TGConnectingPoint num="0" id="581" /> -<TGConnectingPoint num="1" id="582" /> +<infoparam name="wait event" value="sink_evt_in_1(size_1) " /> +<TGConnectingPoint num="0" id="599" /> +<TGConnectingPoint num="1" id="600" /> <extraparam> -<Data eventName="cwl_evt_out_1" nbOfParams="5" /> -<Param index="0" value="size" /> +<Data eventName="sink_evt_in_1" nbOfParams="5" /> +<Param index="0" value="size_1" /> </extraparam> </COMPONENT> -<COMPONENT type="1008" id="586" > -<cdparam x="357" y="280" /> +<COMPONENT type="1010" id="604" > +<cdparam x="350" y="139" /> <sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="cwl_evt_out(size)" /> -<TGConnectingPoint num="0" id="584" /> -<TGConnectingPoint num="1" id="585" /> +<infoparam name="wait event" value="sink_evt_in(size) " /> +<TGConnectingPoint num="0" id="602" /> +<TGConnectingPoint num="1" id="603" /> <extraparam> -<Data eventName="cwl_evt_out" nbOfParams="5" /> +<Data eventName="sink_evt_in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<CONNECTOR type="115" id="587" > -<cdparam x="416" y="358" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="416" y="358" id="582" /> -<P2 x="417" y="392" id="574" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="588" > -<cdparam x="414" y="231" /> +<CONNECTOR type="115" id="605" > +<cdparam x="407" y="212" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="414" y="231" id="577" /> -<P2 x="414" y="275" id="584" /> +<P1 x="407" y="212" id="600" /> +<P2 x="406" y="260" id="594" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="589" > -<cdparam x="414" y="305" /> +<CONNECTOR type="115" id="606" > +<cdparam x="406" y="290" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="414" y="305" id="585" /> -<P2 x="416" y="328" id="581" /> +<P1 x="406" y="290" id="595" /> +<P2 x="406" y="350" id="592" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="590" > -<cdparam x="414" y="88" /> +<CONNECTOR type="115" id="607" > +<cdparam x="407" y="93" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="414" y="88" id="579" /> -<P2 x="414" y="129" id="571" /> +<P1 x="407" y="93" id="597" /> +<P2 x="407" y="134" id="602" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="591" > -<cdparam x="454" y="151" /> +<CONNECTOR type="115" id="608" > +<cdparam x="447" y="156" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="414" y="159" id="572" /> -<P2 x="414" y="201" id="576" /> +<P1 x="407" y="164" id="603" /> +<P2 x="407" y="182" id="599" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="595" > +<COMPONENT type="1013" id="612" > <cdparam x="445" y="298" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="593" /> -<TGConnectingPoint num="1" id="594" /> +<TGConnectingPoint num="0" id="610" /> +<TGConnectingPoint num="1" id="611" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="592" > -<father id="595" num="0" /> +<SUBCOMPONENT type="-1" id="609" > +<father id="612" num="0" /> <cdparam x="460" y="318" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -2580,194 +2676,194 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="598" > +<COMPONENT type="1009" id="615" > <cdparam x="395" y="217" /> <sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="sink_ch_in(size) " /> -<TGConnectingPoint num="0" id="596" /> -<TGConnectingPoint num="1" id="597" /> +<TGConnectingPoint num="0" id="613" /> +<TGConnectingPoint num="1" id="614" /> <extraparam> <Data channelName="sink_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="600" > +<COMPONENT type="1001" id="617" > <cdparam x="440" y="384" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="599" /> +<TGConnectingPoint num="0" id="616" /> </COMPONENT> -<COMPONENT type="1034" id="603" > +<COMPONENT type="1034" id="620" > <cdparam x="394" y="141" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="601" /> -<TGConnectingPoint num="1" id="602" /> +<TGConnectingPoint num="0" id="618" /> +<TGConnectingPoint num="1" id="619" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="605" > +<COMPONENT type="1000" id="622" > <cdparam x="443" y="78" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="604" /> +<TGConnectingPoint num="0" id="621" /> </COMPONENT> -<CONNECTOR type="115" id="606" > +<CONNECTOR type="115" id="623" > <cdparam x="450" y="333" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="450" y="333" id="594" /> -<P2 x="450" y="379" id="599" /> +<P1 x="450" y="333" id="611" /> +<P2 x="450" y="379" id="616" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="607" > +<CONNECTOR type="115" id="624" > <cdparam x="593" y="173" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="450" y="242" id="597" /> -<P2 x="450" y="293" id="593" /> +<P1 x="450" y="242" id="614" /> +<P2 x="450" y="293" id="610" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="608" > +<CONNECTOR type="115" id="625" > <cdparam x="450" y="98" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="450" y="98" id="604" /> -<P2 x="450" y="136" id="601" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="609" > -<cdparam x="450" y="183" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="450" y="166" id="602" /> -<P2 x="450" y="212" id="596" /> +<P1 x="450" y="98" id="621" /> +<P2 x="450" y="136" id="618" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="626" > +<cdparam x="450" y="183" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="450" y="166" id="619" /> +<P2 x="450" y="212" id="613" /> <AutomaticDrawing data="true" /> </CONNECTOR> -</TMLActivityDiagramPanel> - -<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1001" id="611" > -<cdparam x="396" y="355" /> -<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="610" /> -</COMPONENT> - -<COMPONENT type="1007" id="614" > -<cdparam x="331" y="265" /> -<sizeparam width="150" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1010" id="629" > +<cdparam x="342" y="117" /> +<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="sink_req(size + size_1)" /> -<TGConnectingPoint num="0" id="612" /> -<TGConnectingPoint num="1" id="613" /> +<infoparam name="wait event" value="cwpQ_evt_in(size) " /> +<TGConnectingPoint num="0" id="627" /> +<TGConnectingPoint num="1" id="628" /> <extraparam> -<Data requestName="sink_req" nbOfParams="5" /> -<Param index="0" value="size + size_1" /> +<Data eventName="cwpQ_evt_in" nbOfParams="5" /> +<Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="616" > -<cdparam x="400" y="73" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1001" id="631" > +<cdparam x="393" y="339" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="615" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="630" /> </COMPONENT> -<COMPONENT type="1010" id="619" > -<cdparam x="336" y="187" /> -<sizeparam width="142" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="634" > +<cdparam x="339" y="263" /> +<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="sink_evt_in_1(size_1) " /> -<TGConnectingPoint num="0" id="617" /> -<TGConnectingPoint num="1" id="618" /> +<infoparam name="send event" value="cwpQ_evt_out(size)" /> +<TGConnectingPoint num="0" id="632" /> +<TGConnectingPoint num="1" id="633" /> <extraparam> -<Data eventName="sink_evt_in_1" nbOfParams="5" /> -<Param index="0" value="size_1" /> +<Data eventName="cwpQ_evt_out" nbOfParams="5" /> +<Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="622" > -<cdparam x="350" y="139" /> -<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="637" > +<cdparam x="352" y="189" /> +<sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="sink_evt_in(size) " /> -<TGConnectingPoint num="0" id="620" /> -<TGConnectingPoint num="1" id="621" /> +<infoparam name="send request" value="cwpQ_req(size)" /> +<TGConnectingPoint num="0" id="635" /> +<TGConnectingPoint num="1" id="636" /> <extraparam> -<Data eventName="sink_evt_in" nbOfParams="5" /> +<Data requestName="cwpQ_req" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<CONNECTOR type="115" id="623" > -<cdparam x="407" y="212" /> +<COMPONENT type="1000" id="639" > +<cdparam x="396" y="51" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="638" /> +</COMPONENT> + +<CONNECTOR type="115" id="640" > +<cdparam x="403" y="214" /> <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="212" id="618" /> -<P2 x="406" y="260" id="612" /> +<P1 x="403" y="214" id="636" /> +<P2 x="403" y="258" id="632" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="624" > -<cdparam x="406" y="290" /> +<CONNECTOR type="115" id="641" > +<cdparam x="403" y="288" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="406" y="290" id="613" /> -<P2 x="406" y="350" id="610" /> +<P1 x="403" y="288" id="633" /> +<P2 x="403" y="334" id="630" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="625" > -<cdparam x="407" y="93" /> +<CONNECTOR type="115" id="642" > +<cdparam x="403" y="71" /> <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="93" id="615" /> -<P2 x="407" y="134" id="620" /> +<P1 x="403" y="71" id="638" /> +<P2 x="403" y="112" id="627" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="626" > -<cdparam x="447" y="156" /> +<CONNECTOR type="115" id="643" > +<cdparam x="443" y="134" /> <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="164" id="621" /> -<P2 x="407" y="182" id="617" /> +<P1 x="403" y="142" id="628" /> +<P2 x="403" y="184" id="635" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="630" > +<COMPONENT type="1013" id="647" > <cdparam x="365" y="275" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="628" /> -<TGConnectingPoint num="1" id="629" /> +<TGConnectingPoint num="0" id="645" /> +<TGConnectingPoint num="1" id="646" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="627" > -<father id="630" num="0" /> +<SUBCOMPONENT type="-1" id="644" > +<father id="647" num="0" /> <cdparam x="380" y="295" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -2775,215 +2871,215 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="633" > +<COMPONENT type="1009" id="650" > <cdparam x="311" y="194" /> <sizeparam width="118" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="cwpQ_ch_in(size) " /> -<TGConnectingPoint num="0" id="631" /> -<TGConnectingPoint num="1" id="632" /> +<TGConnectingPoint num="0" id="648" /> +<TGConnectingPoint num="1" id="649" /> <extraparam> <Data channelName="cwpQ_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="635" > +<COMPONENT type="1001" id="652" > <cdparam x="360" y="428" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="634" /> +<TGConnectingPoint num="0" id="651" /> </COMPONENT> -<COMPONENT type="1006" id="638" > +<COMPONENT type="1006" id="655" > <cdparam x="308" y="356" /> <sizeparam width="124" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="cwpQ_ch_out(size)" /> -<TGConnectingPoint num="0" id="636" /> -<TGConnectingPoint num="1" id="637" /> +<TGConnectingPoint num="0" id="653" /> +<TGConnectingPoint num="1" id="654" /> <extraparam> <Data channelName="cwpQ_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="641" > +<COMPONENT type="1034" id="658" > <cdparam x="314" y="118" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="639" /> -<TGConnectingPoint num="1" id="640" /> +<TGConnectingPoint num="0" id="656" /> +<TGConnectingPoint num="1" id="657" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="643" > +<COMPONENT type="1000" id="660" > <cdparam x="363" y="55" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="642" /> +<TGConnectingPoint num="0" id="659" /> </COMPONENT> -<CONNECTOR type="115" id="644" > +<CONNECTOR type="115" id="661" > <cdparam x="513" y="150" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="370" y="219" id="632" /> -<P2 x="370" y="270" id="628" /> +<P1 x="370" y="219" id="649" /> +<P2 x="370" y="270" id="645" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="645" > +<CONNECTOR type="115" id="662" > <cdparam x="425" y="308" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="370" y="310" id="629" /> -<P2 x="370" y="351" id="636" /> +<P1 x="370" y="310" id="646" /> +<P2 x="370" y="351" id="653" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="646" > +<CONNECTOR type="115" id="663" > <cdparam x="370" y="75" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="370" y="75" id="642" /> -<P2 x="370" y="113" id="639" /> +<P1 x="370" y="75" id="659" /> +<P2 x="370" y="113" id="656" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="647" > +<CONNECTOR type="115" id="664" > <cdparam x="365" y="342" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="370" y="381" id="637" /> -<P2 x="370" y="423" id="634" /> +<P1 x="370" y="381" id="654" /> +<P2 x="370" y="423" id="651" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="648" > +<CONNECTOR type="115" id="665" > <cdparam x="370" y="160" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="370" y="143" id="640" /> -<P2 x="370" y="189" id="631" /> +<P1 x="370" y="143" id="657" /> +<P2 x="370" y="189" id="648" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1010" id="651" > -<cdparam x="342" y="117" /> -<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1010" id="668" > +<cdparam x="321" y="132" /> +<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="cwpQ_evt_in(size) " /> -<TGConnectingPoint num="0" id="649" /> -<TGConnectingPoint num="1" id="650" /> +<infoparam name="wait event" value="cwpI_evt_in(size) " /> +<TGConnectingPoint num="0" id="666" /> +<TGConnectingPoint num="1" id="667" /> <extraparam> -<Data eventName="cwpQ_evt_in" nbOfParams="5" /> +<Data eventName="cwpI_evt_in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="653" > -<cdparam x="393" y="339" /> +<COMPONENT type="1001" id="670" > +<cdparam x="369" y="354" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="652" /> +<TGConnectingPoint num="0" id="669" /> </COMPONENT> -<COMPONENT type="1008" id="656" > -<cdparam x="339" y="263" /> -<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="673" > +<cdparam x="318" y="278" /> +<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="cwpQ_evt_out(size)" /> -<TGConnectingPoint num="0" id="654" /> -<TGConnectingPoint num="1" id="655" /> +<infoparam name="send event" value="cwpI_evt_out(size)" /> +<TGConnectingPoint num="0" id="671" /> +<TGConnectingPoint num="1" id="672" /> <extraparam> -<Data eventName="cwpQ_evt_out" nbOfParams="5" /> +<Data eventName="cwpI_evt_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1007" id="659" > -<cdparam x="352" y="189" /> -<sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1007" id="676" > +<cdparam x="331" y="204" /> +<sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="cwpQ_req(size)" /> -<TGConnectingPoint num="0" id="657" /> -<TGConnectingPoint num="1" id="658" /> +<infoparam name="send request" value="cwpI_req(size)" /> +<TGConnectingPoint num="0" id="674" /> +<TGConnectingPoint num="1" id="675" /> <extraparam> -<Data requestName="cwpQ_req" nbOfParams="5" /> +<Data requestName="cwpI_req" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="661" > -<cdparam x="396" y="51" /> +<COMPONENT type="1000" id="678" > +<cdparam x="372" y="66" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="660" /> +<TGConnectingPoint num="0" id="677" /> </COMPONENT> -<CONNECTOR type="115" id="662" > -<cdparam x="403" y="214" /> +<CONNECTOR type="115" id="679" > +<cdparam x="379" y="229" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="403" y="214" id="658" /> -<P2 x="403" y="258" id="654" /> +<P1 x="379" y="229" id="675" /> +<P2 x="379" y="273" id="671" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="663" > -<cdparam x="403" y="288" /> +<CONNECTOR type="115" id="680" > +<cdparam x="379" y="303" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="403" y="288" id="655" /> -<P2 x="403" y="334" id="652" /> +<P1 x="379" y="303" id="672" /> +<P2 x="379" y="349" id="669" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="664" > -<cdparam x="403" y="71" /> +<CONNECTOR type="115" id="681" > +<cdparam x="379" y="86" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="403" y="71" id="660" /> -<P2 x="403" y="112" id="649" /> +<P1 x="379" y="86" id="677" /> +<P2 x="379" y="127" id="666" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="665" > -<cdparam x="443" y="134" /> +<CONNECTOR type="115" id="682" > +<cdparam x="419" y="149" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="403" y="142" id="650" /> -<P2 x="403" y="184" id="657" /> +<P1 x="379" y="157" id="667" /> +<P2 x="379" y="199" id="674" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="669" > +<COMPONENT type="1013" id="686" > <cdparam x="369" y="290" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="667" /> -<TGConnectingPoint num="1" id="668" /> +<TGConnectingPoint num="0" id="684" /> +<TGConnectingPoint num="1" id="685" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="666" > -<father id="669" num="0" /> +<SUBCOMPONENT type="-1" id="683" > +<father id="686" num="0" /> <cdparam x="384" y="310" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -2991,198 +3087,102 @@ processing tasks <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="672" > +<COMPONENT type="1009" id="689" > <cdparam x="318" y="209" /> <sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="cwpI_ch_in(size) " /> -<TGConnectingPoint num="0" id="670" /> -<TGConnectingPoint num="1" id="671" /> +<TGConnectingPoint num="0" id="687" /> +<TGConnectingPoint num="1" id="688" /> <extraparam> <Data channelName="cwpI_ch_in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="674" > +<COMPONENT type="1001" id="691" > <cdparam x="364" y="443" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="673" /> +<TGConnectingPoint num="0" id="690" /> </COMPONENT> -<COMPONENT type="1006" id="677" > +<COMPONENT type="1006" id="694" > <cdparam x="315" y="371" /> <sizeparam width="118" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="cwpI_ch_out(size)" /> -<TGConnectingPoint num="0" id="675" /> -<TGConnectingPoint num="1" id="676" /> +<TGConnectingPoint num="0" id="692" /> +<TGConnectingPoint num="1" id="693" /> <extraparam> <Data channelName="cwpI_ch_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="680" > +<COMPONENT type="1034" id="697" > <cdparam x="318" y="133" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="678" /> -<TGConnectingPoint num="1" id="679" /> +<TGConnectingPoint num="0" id="695" /> +<TGConnectingPoint num="1" id="696" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="682" > +<COMPONENT type="1000" id="699" > <cdparam x="367" y="70" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="681" /> +<TGConnectingPoint num="0" id="698" /> </COMPONENT> -<CONNECTOR type="115" id="683" > +<CONNECTOR type="115" id="700" > <cdparam x="517" y="165" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="374" y="234" id="671" /> -<P2 x="374" y="285" id="667" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="684" > -<cdparam x="429" y="323" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="374" y="325" id="668" /> -<P2 x="374" y="366" id="675" /> +<P1 x="374" y="234" id="688" /> +<P2 x="374" y="285" id="684" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="685" > -<cdparam x="374" y="90" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="374" y="90" id="681" /> -<P2 x="374" y="128" id="678" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="686" > -<cdparam x="369" y="357" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="374" y="396" id="676" /> -<P2 x="374" y="438" id="673" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="687" > -<cdparam x="374" y="175" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="374" y="158" id="679" /> -<P2 x="374" y="204" id="670" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> - -</TMLActivityDiagramPanel> - -<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1010" id="690" > -<cdparam x="321" y="132" /> -<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="cwpI_evt_in(size) " /> -<TGConnectingPoint num="0" id="688" /> -<TGConnectingPoint num="1" id="689" /> -<extraparam> -<Data eventName="cwpI_evt_in" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1001" id="692" > -<cdparam x="369" y="354" /> -<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="691" /> -</COMPONENT> - -<COMPONENT type="1008" id="695" > -<cdparam x="318" y="278" /> -<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="cwpI_evt_out(size)" /> -<TGConnectingPoint num="0" id="693" /> -<TGConnectingPoint num="1" id="694" /> -<extraparam> -<Data eventName="cwpI_evt_out" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1007" id="698" > -<cdparam x="331" y="204" /> -<sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="cwpI_req(size)" /> -<TGConnectingPoint num="0" id="696" /> -<TGConnectingPoint num="1" id="697" /> -<extraparam> -<Data requestName="cwpI_req" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1000" id="700" > -<cdparam x="372" y="66" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="699" /> -</COMPONENT> - <CONNECTOR type="115" id="701" > -<cdparam x="379" y="229" /> +<cdparam x="429" y="323" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="379" y="229" id="697" /> -<P2 x="379" y="273" id="693" /> +<P1 x="374" y="325" id="685" /> +<P2 x="374" y="366" id="692" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="115" id="702" > -<cdparam x="379" y="303" /> +<cdparam x="374" y="90" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="379" y="303" id="694" /> -<P2 x="379" y="349" id="691" /> +<P1 x="374" y="90" id="698" /> +<P2 x="374" y="128" id="695" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="115" id="703" > -<cdparam x="379" y="86" /> +<cdparam x="369" y="357" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="379" y="86" id="699" /> -<P2 x="379" y="127" id="688" /> +<P1 x="374" y="396" id="693" /> +<P2 x="374" y="438" id="690" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="115" id="704" > -<cdparam x="419" y="149" /> +<cdparam x="374" y="175" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="379" y="157" id="689" /> -<P2 x="379" y="199" id="696" /> +<P1 x="374" y="158" id="696" /> +<P2 x="374" y="204" id="687" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -3220,7 +3220,7 @@ processing tasks <COMPONENT type="301" id="727" > <cdparam x="559" y="109" /> -<sizeparam width="387" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="354" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="UML Note" value="Some parameters are mapping dependent: @@ -3853,7 +3853,7 @@ processing tasks <COMPONENT type="301" id="1111" > <cdparam x="606" y="40" /> -<sizeparam width="358" height="75" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="313" height="75" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="UML Note" value="Some parameters are mapping dependent: @@ -4874,7 +4874,7 @@ CPU via interrupts (no polling messages) <COMPONENT type="301" id="1743" > <cdparam x="448" y="98" /> -<sizeparam width="429" height="75" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="396" height="75" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="UML Note" value="Some parameters are mapping dependent: @@ -8311,7 +8311,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1105" id="3756" > -<cdparam x="354" y="243" /> +<cdparam x="377" y="225" /> <sizeparam width="200" height="152" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -8347,7 +8347,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1100" id="3790" > -<cdparam x="29" y="215" /> +<cdparam x="90" y="201" /> <sizeparam width="252" height="181" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -8383,7 +8383,7 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="3765" > <father id="3790" num="0" /> -<cdparam x="48" y="315" /> +<cdparam x="109" y="301" /> <sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="106" minY="0" maxY="141" /> @@ -8510,11 +8510,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="3849" > <father id="3937" num="0" /> -<cdparam x="1686" y="522" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1465" y="339" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> <TGConnectingPoint num="0" id="3841" /> <TGConnectingPoint num="1" id="3842" /> <TGConnectingPoint num="2" id="3843" /> @@ -8524,16 +8524,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3847" /> <TGConnectingPoint num="7" id="3848" /> <extraparam> -<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3858" > <father id="3937" num="1" /> -<cdparam x="1685" y="459" /> -<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="395" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> <TGConnectingPoint num="0" id="3850" /> <TGConnectingPoint num="1" id="3851" /> <TGConnectingPoint num="2" id="3852" /> @@ -8543,16 +8543,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3856" /> <TGConnectingPoint num="7" id="3857" /> <extraparam> -<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> +<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3867" > <father id="3937" num="2" /> -<cdparam x="1691" y="345" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="456" /> +<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> +<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> <TGConnectingPoint num="0" id="3859" /> <TGConnectingPoint num="1" id="3860" /> <TGConnectingPoint num="2" id="3861" /> @@ -8562,16 +8562,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3865" /> <TGConnectingPoint num="7" id="3866" /> <extraparam> -<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3876" > <father id="3937" num="3" /> -<cdparam x="1688" y="405" /> -<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="518" /> +<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> +<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> <TGConnectingPoint num="0" id="3868" /> <TGConnectingPoint num="1" id="3869" /> <TGConnectingPoint num="2" id="3870" /> @@ -8581,16 +8581,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3874" /> <TGConnectingPoint num="7" id="3875" /> <extraparam> -<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3885" > <father id="3937" num="4" /> -<cdparam x="1466" y="518" /> -<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1688" y="405" /> +<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> <TGConnectingPoint num="0" id="3877" /> <TGConnectingPoint num="1" id="3878" /> <TGConnectingPoint num="2" id="3879" /> @@ -8600,16 +8600,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3883" /> <TGConnectingPoint num="7" id="3884" /> <extraparam> -<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3894" > <father id="3937" num="5" /> -<cdparam x="1466" y="456" /> -<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1691" y="345" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> <TGConnectingPoint num="0" id="3886" /> <TGConnectingPoint num="1" id="3887" /> <TGConnectingPoint num="2" id="3888" /> @@ -8619,16 +8619,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3892" /> <TGConnectingPoint num="7" id="3893" /> <extraparam> -<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3903" > <father id="3937" num="6" /> -<cdparam x="1466" y="395" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> +<cdparam x="1685" y="459" /> +<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> <TGConnectingPoint num="0" id="3895" /> <TGConnectingPoint num="1" id="3896" /> <TGConnectingPoint num="2" id="3897" /> @@ -8638,16 +8638,16 @@ sequence diagram. <TGConnectingPoint num="6" id="3901" /> <TGConnectingPoint num="7" id="3902" /> <extraparam> -<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="3912" > <father id="3937" num="7" /> -<cdparam x="1465" y="339" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1686" y="522" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> +<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> <TGConnectingPoint num="0" id="3904" /> <TGConnectingPoint num="1" id="3905" /> <TGConnectingPoint num="2" id="3906" /> @@ -8657,7 +8657,7 @@ sequence diagram. <TGConnectingPoint num="6" id="3910" /> <TGConnectingPoint num="7" id="3911" /> <extraparam> -<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> @@ -8734,7 +8734,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1102" id="4012" > -<cdparam x="231" y="635" /> +<cdparam x="354" y="618" /> <sizeparam width="845" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -9005,7 +9005,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1105" id="4196" > -<cdparam x="895" y="193" /> +<cdparam x="991" y="187" /> <sizeparam width="255" height="183" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -9041,7 +9041,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1100" id="4248" > -<cdparam x="619" y="199" /> +<cdparam x="680" y="193" /> <sizeparam width="238" height="185" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -9077,11 +9077,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="4205" > <father id="4248" num="0" /> -<cdparam x="639" y="239" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="732" y="283" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> +<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> <TGConnectingPoint num="0" id="4197" /> <TGConnectingPoint num="1" id="4198" /> <TGConnectingPoint num="2" id="4199" /> @@ -9091,12 +9091,12 @@ sequence diagram. <TGConnectingPoint num="6" id="4203" /> <TGConnectingPoint num="7" id="4204" /> <extraparam> -<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4214" > <father id="4248" num="1" /> -<cdparam x="640" y="335" /> +<cdparam x="701" y="329" /> <sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="76" minY="0" maxY="145" /> @@ -9115,11 +9115,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4223" > <father id="4248" num="2" /> -<cdparam x="671" y="289" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="700" y="233" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> +<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> <TGConnectingPoint num="0" id="4215" /> <TGConnectingPoint num="1" id="4216" /> <TGConnectingPoint num="2" id="4217" /> @@ -9129,7 +9129,7 @@ sequence diagram. <TGConnectingPoint num="6" id="4221" /> <TGConnectingPoint num="7" id="4222" /> <extraparam> -<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> @@ -9206,7 +9206,7 @@ sequence diagram. </COMPONENT> <COMPONENT type="1100" id="4323" > -<cdparam x="1174" y="850" /> +<cdparam x="1141" y="748" /> <sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" /> @@ -9419,8 +9419,19 @@ sequence diagram. <TGConnectingPoint num="6" id="4448" /> <TGConnectingPoint num="7" id="4449" /> <extraparam> -<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="MAPPER_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="Crossbar, INTL_Bridge, INTL_Bus, MAPPER_Bridge, MAPPER_Bus" /> +<mappedAttributes type="int" name="destinationAddress" value="123" /> +<mappedAttributes type="int" name="sourceAddress" value="123" /> +<mappedAttributes type="int" name="counter" value="1" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="4441" > @@ -9458,8 +9469,17 @@ sequence diagram. <TGConnectingPoint num="6" id="4466" /> <TGConnectingPoint num="7" id="4467" /> <extraparam> -<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="INTL_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="Crossbar, INTL_Bridge, INTL_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> +<mappedAttributes type="int" name="counter" value="1" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="4459" > @@ -9497,8 +9517,26 @@ sequence diagram. <TGConnectingPoint num="6" id="4484" /> <TGConnectingPoint num="7" id="4485" /> <extraparam> -<info stereotype="CP" nodeName="CP_sink" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_sink" cpMEC="Double DMA" transferType1="0" transferType2="0" /> +<attributes reference="Double_DMA_transfer" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_2" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_2" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_2" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_2" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_6" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_5" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_8" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_7" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> +<mappedAttributes type="int" name="counter1" value="2" /> +<mappedAttributes type="int" name="counter2" value="2" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="4477" > @@ -9536,13 +9574,21 @@ sequence diagram. <TGConnectingPoint num="6" id="4502" /> <TGConnectingPoint num="7" id="4503" /> <extraparam> -<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="Memory Copy" transferType1="0" transferType2="0" /> +<attributes reference="CP_Memory_Copy" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="CPU_Controller" architectureUnit="MainCPU" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Src_Storage_Instance" architectureUnit="DDR" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Dst_Storage_Instance" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Transfer_Instance_1" architectureUnit="MainBus" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Transfer_Instance2" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappedAttributes type="addr" name="sourceAddress" value="0x123" /> +<mappedAttributes type="addr" name="destinationAddress" value="0x456" /> +<mappedAttributes type="int" name="counter" value="8" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="4495" > <father id="4504" num="0" /> -<cdparam x="280" y="1181" /> +<cdparam x="157" y="1179" /> <sizeparam width="247" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="174" minY="0" maxY="45" /> @@ -9565,7 +9611,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="1367" y="660" id="3966" /> -<P2 x="1076" y="660" id="3992" /> +<P2 x="1199" y="643" id="3992" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9577,7 +9623,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="1147" y="508" id="4152" /> -<P2 x="1076" y="635" id="3990" /> +<P2 x="1199" y="618" id="3990" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9588,8 +9634,8 @@ sequence diagram. <cdparam x="1298" y="875" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="1249" y="850" id="4300" /> -<P2 x="1076" y="685" id="3995" /> +<P1 x="1216" y="748" id="4300" /> +<P2 x="1199" y="668" id="3995" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9601,7 +9647,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="970" y="780" id="4325" /> -<P2 x="864" y="685" id="4003" /> +<P2 x="987" y="668" id="4003" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9613,7 +9659,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="960" y="566" id="4255" /> -<P2 x="864" y="635" id="3997" /> +<P2 x="987" y="618" id="3997" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9649,7 +9695,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="560" y="807" id="3682" /> -<P2 x="442" y="685" id="4002" /> +<P2 x="565" y="668" id="4002" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9697,7 +9743,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="356" y="580" id="3797" /> -<P2 x="231" y="635" id="3988" /> +<P2 x="354" y="618" id="3988" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9721,7 +9767,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="543" y="522" id="3712" /> -<P2 x="442" y="635" id="3996" /> +<P2 x="565" y="618" id="3996" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9744,7 +9790,7 @@ sequence diagram. <cdparam x="549" y="337" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="454" y="395" id="3738" /> +<P1 x="477" y="377" id="3738" /> <P2 x="418" y="447" id="4131" /> <AutomaticDrawing data="true" /> <extraparam> @@ -9756,7 +9802,7 @@ sequence diagram. <cdparam x="155" y="323" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="155" y="396" id="3772" /> +<P1 x="216" y="382" id="3772" /> <P2 x="293" y="447" id="4130" /> <AutomaticDrawing data="true" /> <extraparam> @@ -9769,7 +9815,7 @@ sequence diagram. <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> <P1 x="356" y="737" id="4014" /> -<P2 x="231" y="685" id="3993" /> +<P2 x="354" y="668" id="3993" /> <AutomaticDrawing data="true" /> <extraparam> <info priority="0" /> @@ -9828,7 +9874,7 @@ sequence diagram. <cdparam x="1189" y="374" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="1022" y="376" id="4178" /> +<P1 x="1118" y="370" id="4178" /> <P2 x="1022" y="433" id="4283" /> <AutomaticDrawing data="true" /> <extraparam> @@ -9840,7 +9886,7 @@ sequence diagram. <cdparam x="795" y="360" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="738" y="384" id="4230" /> +<P1 x="799" y="378" id="4230" /> <P2 x="897" y="433" id="4282" /> <AutomaticDrawing data="true" /> <extraparam> @@ -9864,7 +9910,7 @@ sequence diagram. <cdparam x="1173" y="906" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="1174" y="900" id="4302" /> +<P1 x="1141" y="798" id="4302" /> <P2 x="1095" y="900" id="4412" /> <AutomaticDrawing data="true" /> <extraparam> @@ -10178,11 +10224,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="4700" > <father id="4788" num="0" /> -<cdparam x="1465" y="339" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1686" y="522" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> +<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> <TGConnectingPoint num="0" id="4692" /> <TGConnectingPoint num="1" id="4693" /> <TGConnectingPoint num="2" id="4694" /> @@ -10192,16 +10238,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4698" /> <TGConnectingPoint num="7" id="4699" /> <extraparam> -<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4709" > <father id="4788" num="1" /> -<cdparam x="1466" y="395" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1685" y="459" /> +<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> +<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> <TGConnectingPoint num="0" id="4701" /> <TGConnectingPoint num="1" id="4702" /> <TGConnectingPoint num="2" id="4703" /> @@ -10211,16 +10257,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4707" /> <TGConnectingPoint num="7" id="4708" /> <extraparam> -<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4718" > <father id="4788" num="2" /> -<cdparam x="1466" y="456" /> -<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1691" y="345" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> <TGConnectingPoint num="0" id="4710" /> <TGConnectingPoint num="1" id="4711" /> <TGConnectingPoint num="2" id="4712" /> @@ -10230,16 +10276,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4716" /> <TGConnectingPoint num="7" id="4717" /> <extraparam> -<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4727" > <father id="4788" num="3" /> -<cdparam x="1466" y="518" /> -<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1688" y="405" /> +<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> <TGConnectingPoint num="0" id="4719" /> <TGConnectingPoint num="1" id="4720" /> <TGConnectingPoint num="2" id="4721" /> @@ -10249,16 +10295,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4725" /> <TGConnectingPoint num="7" id="4726" /> <extraparam> -<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4736" > <father id="4788" num="4" /> -<cdparam x="1688" y="405" /> -<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="518" /> +<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> +<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> <TGConnectingPoint num="0" id="4728" /> <TGConnectingPoint num="1" id="4729" /> <TGConnectingPoint num="2" id="4730" /> @@ -10268,16 +10314,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4734" /> <TGConnectingPoint num="7" id="4735" /> <extraparam> -<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4745" > <father id="4788" num="5" /> -<cdparam x="1691" y="345" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="456" /> +<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> +<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> <TGConnectingPoint num="0" id="4737" /> <TGConnectingPoint num="1" id="4738" /> <TGConnectingPoint num="2" id="4739" /> @@ -10287,16 +10333,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4743" /> <TGConnectingPoint num="7" id="4744" /> <extraparam> -<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4754" > <father id="4788" num="6" /> -<cdparam x="1685" y="459" /> -<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="395" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> <TGConnectingPoint num="0" id="4746" /> <TGConnectingPoint num="1" id="4747" /> <TGConnectingPoint num="2" id="4748" /> @@ -10306,16 +10352,16 @@ sequence diagram. <TGConnectingPoint num="6" id="4752" /> <TGConnectingPoint num="7" id="4753" /> <extraparam> -<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> +<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="4763" > <father id="4788" num="7" /> -<cdparam x="1686" y="522" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1465" y="339" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> <TGConnectingPoint num="0" id="4755" /> <TGConnectingPoint num="1" id="4756" /> <TGConnectingPoint num="2" id="4757" /> @@ -10325,7 +10371,7 @@ sequence diagram. <TGConnectingPoint num="6" id="4761" /> <TGConnectingPoint num="7" id="4762" /> <extraparam> -<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> @@ -10745,11 +10791,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="5056" > <father id="5099" num="0" /> -<cdparam x="671" y="289" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="639" y="239" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> +<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> <TGConnectingPoint num="0" id="5048" /> <TGConnectingPoint num="1" id="5049" /> <TGConnectingPoint num="2" id="5050" /> @@ -10759,7 +10805,7 @@ sequence diagram. <TGConnectingPoint num="6" id="5054" /> <TGConnectingPoint num="7" id="5055" /> <extraparam> -<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5065" > @@ -10783,11 +10829,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5074" > <father id="5099" num="2" /> -<cdparam x="639" y="239" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="671" y="289" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> +<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> <TGConnectingPoint num="0" id="5066" /> <TGConnectingPoint num="1" id="5067" /> <TGConnectingPoint num="2" id="5068" /> @@ -10797,7 +10843,7 @@ sequence diagram. <TGConnectingPoint num="6" id="5072" /> <TGConnectingPoint num="7" id="5073" /> <extraparam> -<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> @@ -11087,8 +11133,19 @@ sequence diagram. <TGConnectingPoint num="6" id="5299" /> <TGConnectingPoint num="7" id="5300" /> <extraparam> -<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="ADAIF_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="ADAIF_Bridge, MainBus, MainBridge, Crossbar, ADAIF_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="ADAIF_Bridge, MainBus, MainBridge, Crossbar, ADAIF_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, MAPPER_Bridge, MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="ADAIF_Bridge, Crossbar, INTL_Bridge, INTL_Bus, ADAIF_Bus" /> +<mappedAttributes type="int" name="destinationAddress" value="123" /> +<mappedAttributes type="int" name="sourceAddress" value="123" /> +<mappedAttributes type="int" name="counter" value="123" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="5292" > @@ -11126,8 +11183,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5317" /> <TGConnectingPoint num="7" id="5318" /> <extraparam> -<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="INTL_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="Crossbar, INTL_Bridge, INTL_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="5310" > @@ -11165,8 +11230,24 @@ sequence diagram. <TGConnectingPoint num="6" id="5335" /> <TGConnectingPoint num="7" id="5336" /> <extraparam> -<info stereotype="CP" nodeName="CP_sink" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_sink" cpMEC="Double DMA" transferType1="0" transferType2="0" /> +<attributes reference="Double_DMA_transfer" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_2" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_2" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_2" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_2" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_6" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_5" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_8" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_7" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="5328" > @@ -11204,8 +11285,14 @@ sequence diagram. <TGConnectingPoint num="6" id="5353" /> <TGConnectingPoint num="7" id="5354" /> <extraparam> -<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="Memory Copy" transferType1="0" transferType2="0" /> +<attributes reference="CP_Memory_Copy" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Dst_Storage_Instance" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Src_Storage_Instance" architectureUnit="DDR" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="CPU_Controller" architectureUnit="MainCPU" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Transfer_Instance_1" architectureUnit="MainBus" /> +<mappingInfo CPname="CP_Memory_Copy" instanceName="Transfer_Instance2" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappedAttributes type="addr" name="sourceAddress" value="0x123" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="5346" > @@ -11846,11 +11933,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="5551" > <father id="5639" num="0" /> -<cdparam x="1686" y="522" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1465" y="339" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> <TGConnectingPoint num="0" id="5543" /> <TGConnectingPoint num="1" id="5544" /> <TGConnectingPoint num="2" id="5545" /> @@ -11860,16 +11947,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5549" /> <TGConnectingPoint num="7" id="5550" /> <extraparam> -<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5560" > <father id="5639" num="1" /> -<cdparam x="1685" y="459" /> -<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="395" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> +<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> <TGConnectingPoint num="0" id="5552" /> <TGConnectingPoint num="1" id="5553" /> <TGConnectingPoint num="2" id="5554" /> @@ -11879,16 +11966,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5558" /> <TGConnectingPoint num="7" id="5559" /> <extraparam> -<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> +<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5569" > <father id="5639" num="2" /> -<cdparam x="1691" y="345" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="456" /> +<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> +<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> <TGConnectingPoint num="0" id="5561" /> <TGConnectingPoint num="1" id="5562" /> <TGConnectingPoint num="2" id="5563" /> @@ -11898,16 +11985,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5567" /> <TGConnectingPoint num="7" id="5568" /> <extraparam> -<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5578" > <father id="5639" num="3" /> -<cdparam x="1688" y="405" /> -<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1466" y="518" /> +<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> +<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> <TGConnectingPoint num="0" id="5570" /> <TGConnectingPoint num="1" id="5571" /> <TGConnectingPoint num="2" id="5572" /> @@ -11917,16 +12004,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5576" /> <TGConnectingPoint num="7" id="5577" /> <extraparam> -<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5587" > <father id="5639" num="4" /> -<cdparam x="1466" y="518" /> -<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1688" y="405" /> +<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="211" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" /> <TGConnectingPoint num="0" id="5579" /> <TGConnectingPoint num="1" id="5580" /> <TGConnectingPoint num="2" id="5581" /> @@ -11936,16 +12023,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5585" /> <TGConnectingPoint num="7" id="5586" /> <extraparam> -<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5596" > <father id="5639" num="5" /> -<cdparam x="1466" y="456" /> -<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1691" y="345" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" /> <TGConnectingPoint num="0" id="5588" /> <TGConnectingPoint num="1" id="5589" /> <TGConnectingPoint num="2" id="5590" /> @@ -11955,16 +12042,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5594" /> <TGConnectingPoint num="7" id="5595" /> <extraparam> -<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5605" > <father id="5639" num="6" /> -<cdparam x="1466" y="395" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1685" y="459" /> +<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_Source" /> +<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" /> <TGConnectingPoint num="0" id="5597" /> <TGConnectingPoint num="1" id="5598" /> <TGConnectingPoint num="2" id="5599" /> @@ -11974,16 +12061,16 @@ sequence diagram. <TGConnectingPoint num="6" id="5603" /> <TGConnectingPoint num="7" id="5604" /> <extraparam> -<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5614" > <father id="5639" num="7" /> -<cdparam x="1465" y="339" /> -<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1686" y="522" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" /> -<infoparam name="TGComponent" value="Zigbee_TX::F_Source" /> +<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" /> +<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" /> <TGConnectingPoint num="0" id="5606" /> <TGConnectingPoint num="1" id="5607" /> <TGConnectingPoint num="2" id="5608" /> @@ -11993,7 +12080,7 @@ sequence diagram. <TGConnectingPoint num="6" id="5612" /> <TGConnectingPoint num="7" id="5613" /> <extraparam> -<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" /> +<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> @@ -12413,11 +12500,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1101" id="5907" > <father id="5950" num="0" /> -<cdparam x="639" y="239" /> -<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="671" y="289" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> +<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> <TGConnectingPoint num="0" id="5899" /> <TGConnectingPoint num="1" id="5900" /> <TGConnectingPoint num="2" id="5901" /> @@ -12427,7 +12514,7 @@ sequence diagram. <TGConnectingPoint num="6" id="5905" /> <TGConnectingPoint num="7" id="5906" /> <extraparam> -<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5916" > @@ -12451,11 +12538,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="5925" > <father id="5950" num="2" /> -<cdparam x="671" y="289" /> -<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="639" y="239" /> +<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" /> -<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" /> +<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" /> +<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" /> <TGConnectingPoint num="0" id="5917" /> <TGConnectingPoint num="1" id="5918" /> <TGConnectingPoint num="2" id="5919" /> @@ -12465,7 +12552,7 @@ sequence diagram. <TGConnectingPoint num="6" id="5923" /> <TGConnectingPoint num="7" id="5924" /> <extraparam> -<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" /> +<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" /> </extraparam> </SUBCOMPONENT> @@ -12755,8 +12842,19 @@ sequence diagram. <TGConnectingPoint num="6" id="6150" /> <TGConnectingPoint num="7" id="6151" /> <extraparam> -<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="MAPPER_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="Crossbar, INTL_Bridge, INTL_Bus, MAPPER_Bridge, MAPPER_Bus" /> +<mappedAttributes type="int" name="destinationAddress" value="123" /> +<mappedAttributes type="int" name="sourceAddress" value="123" /> +<mappedAttributes type="int" name="counter" value="123" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="6143" > @@ -12794,8 +12892,16 @@ sequence diagram. <TGConnectingPoint num="6" id="6168" /> <TGConnectingPoint num="7" id="6169" /> <extraparam> -<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="Single DMA" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="INTL_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="INTL_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="Crossbar, INTL_Bridge, INTL_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="6161" > @@ -12833,8 +12939,24 @@ sequence diagram. <TGConnectingPoint num="6" id="6186" /> <TGConnectingPoint num="7" id="6187" /> <extraparam> -<info stereotype="CP" nodeName="CP_sink" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_sink" cpMEC="Double DMA" transferType1="0" transferType2="0" /> +<attributes reference="Double_DMA_transfer" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Src_Storage_Instance_2" architectureUnit="FEP_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="DMA_Controller_2" architectureUnit="FEP_DMA" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_2" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="ADAIF_MSS" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="CPU_Controller_2" architectureUnit="MainCPU" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_6" architectureUnit="FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_5" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_8" architectureUnit="MainBus, MainBridge, Crossbar, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> +<mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_7" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="6179" > @@ -12872,8 +12994,17 @@ sequence diagram. <TGConnectingPoint num="6" id="6204" /> <TGConnectingPoint num="7" id="6205" /> <extraparam> -<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="VOID" transferType1="-1" transferType2="-1" /> -<attributes reference="" /> +<info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="Memory Copy" transferType1="0" transferType2="0" /> +<attributes reference="DMA_transfer" /> +<mappingInfo CPname="DMA_transfer" instanceName="Src_Storage_Instance_1" architectureUnit="DDR" /> +<mappingInfo CPname="DMA_transfer" instanceName="Dst_Storage_Instance_1" architectureUnit="MAPPER_MSS" /> +<mappingInfo CPname="DMA_transfer" instanceName="DMA_Controller_1" architectureUnit="MAPPER_DMA" /> +<mappingInfo CPname="DMA_transfer" instanceName="CPU_Controller_1" architectureUnit="MainCPU" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_1" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_3" architectureUnit="MAPPER_Bus" /> +<mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_2" architectureUnit="MainBus, MainBridge, Crossbar, MAPPER_Bridge, MAPPER_Bus" /> +<mappedAttributes type="addr" name="sourceAddress" value="0x123" /> </extraparam> </COMPONENT> <SUBCOMPONENT type="1110" id="6197" > @@ -13246,16 +13377,16 @@ sequence diagram. <cdparam x="1029" y="409" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="1029" y="409" id="7088" /> -<P2 x="1044" y="406" id="7123" /> +<P1 x="1029" y="409" id="7175" /> +<P2 x="1044" y="406" id="7142" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6240" > <cdparam x="16" y="272" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="241" y="448" id="6376" /> -<P2 x="541" y="448" id="6399" /> +<P1 x="241" y="448" id="6382" /> +<P2 x="541" y="448" id="6401" /> <Point x="220" y="526" /> <Point x="220" y="560" /> <Point x="570" y="560" /> @@ -13298,8 +13429,8 @@ sequence diagram. <cdparam x="207" y="242" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="541" y="448" id="6397" /> -<P2 x="241" y="448" id="6378" /> +<P1 x="541" y="448" id="6403" /> +<P2 x="241" y="448" id="6380" /> <Point x="587" y="478" /> <Point x="587" y="578" /> <Point x="208" y="578" /> @@ -13342,8 +13473,8 @@ sequence diagram. <cdparam x="487" y="102" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="994" y="242" id="6357" /> -<P2 x="241" y="448" id="6374" /> +<P1 x="994" y="242" id="6359" /> +<P2 x="241" y="448" id="6384" /> <Point x="1005" y="242" /> <Point x="1005" y="282" /> <Point x="201" y="282" /> @@ -13386,8 +13517,8 @@ sequence diagram. <cdparam x="487" y="88" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="994" y="218" id="6355" /> -<P2 x="241" y="448" id="6384" /> +<P1 x="994" y="218" id="6361" /> +<P2 x="241" y="448" id="6374" /> <Point x="1020" y="220" /> <Point x="1020" y="291" /> <Point x="215" y="291" /> @@ -13430,120 +13561,120 @@ sequence diagram. <cdparam x="1124" y="324" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="1064" y="465" id="7156" /> -<P2 x="1113" y="457" id="7208" /> +<P1 x="1064" y="465" id="7099" /> +<P2 x="1113" y="457" id="7210" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6257" > <cdparam x="1124" y="303" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="1064" y="406" id="7118" /> -<P2 x="1113" y="419" id="7210" /> +<P1 x="1064" y="406" id="7137" /> +<P2 x="1113" y="419" id="7208" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6258" > <cdparam x="987" y="323" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="912" y="442" id="7071" /> -<P2 x="936" y="442" id="7137" /> +<P1 x="912" y="442" id="7069" /> +<P2 x="936" y="442" id="7118" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6259" > <cdparam x="987" y="303" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="912" y="420" id="7069" /> -<P2 x="936" y="415" id="7099" /> +<P1 x="912" y="420" id="7071" /> +<P2 x="936" y="415" id="7156" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6260" > <cdparam x="869" y="320" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="793" y="441" id="7024" /> -<P2 x="821" y="441" id="7067" /> +<P1 x="793" y="441" id="6967" /> +<P2 x="821" y="441" id="7073" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6261" > <cdparam x="869" y="299" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="793" y="420" id="6986" /> -<P2 x="821" y="420" id="7073" /> +<P1 x="793" y="420" id="7005" /> +<P2 x="821" y="420" id="7067" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6262" > <cdparam x="734" y="300" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="658" y="420" id="6418" /> -<P2 x="683" y="420" id="6967" /> +<P1 x="658" y="420" id="6420" /> +<P2 x="683" y="420" id="7024" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6263" > <cdparam x="734" y="321" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="658" y="441" id="6420" /> -<P2 x="683" y="441" id="7005" /> +<P1 x="658" y="441" id="6418" /> +<P2 x="683" y="441" id="6986" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6264" > <cdparam x="617" y="298" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="541" y="420" id="6401" /> -<P2 x="567" y="420" id="6422" /> +<P1 x="541" y="420" id="6399" /> +<P2 x="567" y="420" id="6416" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6265" > <cdparam x="617" y="320" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="541" y="440" id="6403" /> -<P2 x="567" y="440" id="6416" /> +<P1 x="541" y="440" id="6397" /> +<P2 x="567" y="440" id="6422" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6266" > <cdparam x="519" y="353" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="441" y="448" id="6924" /> -<P2 x="470" y="448" id="6395" /> +<P1 x="441" y="448" id="6795" /> +<P2 x="470" y="448" id="6405" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6267" > <cdparam x="519" y="333" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="441" y="448" id="6795" /> -<P2 x="470" y="448" id="6405" /> +<P1 x="441" y="448" id="6924" /> +<P2 x="470" y="448" id="6395" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6268" > <cdparam x="389" y="379" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="312" y="448" id="6382" /> -<P2 x="333" y="448" id="6814" /> +<P1 x="312" y="448" id="6376" /> +<P2 x="333" y="448" id="6905" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6269" > <cdparam x="389" y="359" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="312" y="448" id="6380" /> -<P2 x="333" y="448" id="6833" /> +<P1 x="312" y="448" id="6378" /> +<P2 x="333" y="448" id="6886" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6274" > <cdparam x="782" y="137" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="994" y="170" id="6359" /> -<P2 x="333" y="395" id="6852" /> +<P1 x="994" y="170" id="6357" /> +<P2 x="333" y="395" id="6867" /> <Point x="1058" y="170" /> <Point x="1058" y="328" /> <Point x="302" y="328" /> @@ -13586,8 +13717,8 @@ sequence diagram. <cdparam x="782" y="159" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="994" y="190" id="6361" /> -<P2 x="333" y="416" id="6871" /> +<P1 x="994" y="190" id="6355" /> +<P2 x="333" y="416" id="6848" /> <Point x="1047" y="189" /> <Point x="1047" y="321" /> <Point x="288" y="321" /> @@ -13630,344 +13761,344 @@ sequence diagram. <cdparam x="693" y="193" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="890" y="221" id="6752" /> -<P2 x="923" y="221" id="6353" /> +<P1 x="890" y="221" id="6695" /> +<P2 x="923" y="221" id="6363" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6281" > <cdparam x="693" y="172" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="890" y="199" id="6714" /> -<P2 x="923" y="199" id="6363" /> +<P1 x="890" y="199" id="6733" /> +<P2 x="923" y="199" id="6353" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6282" > <cdparam x="557" y="191" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Composite port" value="Connector between ports" /> -<P1 x="753" y="219" id="6522" /> -<P2 x="780" y="219" id="6733" /> +<P1 x="753" y="219" id="6465" /> +<P2 x="780" y="219" id="6714" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6283" > <cdparam x="557" y="170" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Composite port" value="Connector between ports" /> -<P1 x="753" y="199" id="6484" /> -<P2 x="780" y="199" id="6695" /> +<P1 x="753" y="199" id="6503" /> +<P2 x="780" y="199" id="6752" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6284" > <cdparam x="427" y="190" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="635" y="199" id="6340" /> -<P2 x="643" y="199" id="6503" /> +<P1 x="635" y="199" id="6338" /> +<P2 x="643" y="199" id="6484" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6285" > <cdparam x="427" y="170" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="635" y="219" id="6338" /> -<P2 x="643" y="219" id="6465" /> +<P1 x="635" y="219" id="6340" /> +<P2 x="643" y="219" id="6522" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6286" > <cdparam x="320" y="186" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="513" y="205" id="6637" /> -<P2 x="534" y="215" id="6336" /> +<P1 x="513" y="205" id="6580" /> +<P2 x="534" y="215" id="6342" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6287" > <cdparam x="320" y="166" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="513" y="176" id="6599" /> -<P2 x="534" y="195" id="6342" /> +<P1 x="513" y="176" id="6618" /> +<P2 x="534" y="195" id="6336" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6288" > <cdparam x="188" y="186" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="322" y="216" id="6437" /> -<P2 x="348" y="212" id="6618" /> +<P1 x="322" y="216" id="6435" /> +<P2 x="348" y="212" id="6599" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6289" > <cdparam x="188" y="166" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="322" y="195" id="6435" /> -<P2 x="348" y="178" id="6580" /> +<P1 x="322" y="195" id="6437" /> +<P2 x="348" y="178" id="6637" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6290" > <cdparam x="67" y="336" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="195" y="213" id="6323" /> -<P2 x="221" y="215" id="6433" /> +<P1 x="195" y="213" id="6325" /> +<P2 x="221" y="215" id="6439" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6291" > <cdparam x="67" y="304" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="195" y="193" id="6325" /> -<P2 x="221" y="195" id="6439" /> +<P1 x="195" y="193" id="6323" /> +<P2 x="221" y="195" id="6433" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6292" > <cdparam x="480" y="337" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="480" y="223" id="6660" /> -<P2 x="493" y="205" id="6642" /> +<P1 x="480" y="223" id="6565" /> +<P2 x="493" y="205" id="6585" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6293" > <cdparam x="484" y="239" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="450" y="173" id="6569" /> -<P2 x="493" y="176" id="6604" /> +<P1 x="450" y="173" id="6656" /> +<P2 x="493" y="176" id="6623" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6294" > <cdparam x="403" y="300" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="368" y="212" id="6623" /> -<P2 x="389" y="223" id="6658" /> +<P1 x="368" y="212" id="6604" /> +<P2 x="389" y="223" id="6567" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6295" > <cdparam x="403" y="274" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="368" y="178" id="6585" /> -<P2 x="381" y="170" id="6567" /> +<P1 x="368" y="178" id="6642" /> +<P2 x="381" y="170" id="6658" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6296" > <cdparam x="469" y="378" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="410" y="191" id="6565" /> -<P2 x="416" y="191" id="6656" /> +<P1 x="410" y="191" id="6660" /> +<P2 x="416" y="191" id="6569" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6297" > <cdparam x="756" y="327" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="727" y="248" id="6541" /> -<P2 x="733" y="219" id="6527" /> +<P1 x="727" y="248" id="6454" /> +<P2 x="733" y="219" id="6470" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6298" > <cdparam x="760" y="229" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="728" y="176" id="6450" /> -<P2 x="733" y="199" id="6489" /> +<P1 x="728" y="176" id="6545" /> +<P2 x="733" y="199" id="6508" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6299" > <cdparam x="679" y="290" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="663" y="199" id="6508" /> -<P2 x="668" y="248" id="6543" /> +<P1 x="663" y="199" id="6489" /> +<P2 x="668" y="248" id="6452" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6300" > <cdparam x="679" y="264" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="663" y="219" id="6470" /> -<P2 x="667" y="173" id="6452" /> +<P1 x="663" y="219" id="6527" /> +<P2 x="667" y="173" id="6543" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6301" > <cdparam x="745" y="368" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="696" y="194" id="6454" /> -<P2 x="697" y="213" id="6545" /> +<P1 x="696" y="194" id="6541" /> +<P2 x="697" y="213" id="6450" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6302" > <cdparam x="928" y="350" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="868" y="249" id="6775" /> -<P2 x="870" y="221" id="6757" /> +<P1 x="868" y="249" id="6680" /> +<P2 x="870" y="221" id="6700" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6303" > <cdparam x="932" y="252" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="864" y="180" id="6684" /> -<P2 x="870" y="199" id="6719" /> +<P1 x="864" y="180" id="6771" /> +<P2 x="870" y="199" id="6738" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6304" > <cdparam x="851" y="313" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="800" y="219" id="6738" /> -<P2 x="802" y="249" id="6773" /> +<P1 x="800" y="219" id="6719" /> +<P2 x="802" y="249" id="6682" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6305" > <cdparam x="851" y="287" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="800" y="199" id="6700" /> -<P2 x="802" y="176" id="6682" /> +<P1 x="800" y="199" id="6757" /> +<P2 x="802" y="176" id="6773" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6306" > <cdparam x="917" y="391" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="829" y="200" id="6680" /> -<P2 x="833" y="215" id="6771" /> +<P1 x="829" y="200" id="6775" /> +<P2 x="833" y="215" id="6684" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6307" > <cdparam x="698" y="478" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="420" y="484" id="6890" /> -<P2 x="421" y="448" id="6929" /> +<P1 x="420" y="484" id="6837" /> +<P2 x="421" y="448" id="6800" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6308" > <cdparam x="696" y="390" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="418" y="433" id="6907" /> -<P2 x="421" y="448" id="6800" /> +<P1 x="418" y="433" id="6820" /> +<P2 x="421" y="448" id="6929" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6309" > <cdparam x="619" y="480" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="353" y="448" id="6819" /> -<P2 x="362" y="493" id="6896" /> +<P1 x="353" y="448" id="6910" /> +<P2 x="362" y="493" id="6831" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6310" > <cdparam x="619" y="386" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="353" y="416" id="6876" /> -<P2 x="362" y="476" id="6894" /> +<P1 x="353" y="416" id="6853" /> +<P2 x="362" y="476" id="6833" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6311" > <cdparam x="619" y="453" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="353" y="448" id="6838" /> -<P2 x="360" y="438" id="6913" /> +<P1 x="353" y="448" id="6891" /> +<P2 x="360" y="438" id="6814" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6312" > <cdparam x="619" y="360" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="353" y="395" id="6857" /> -<P2 x="360" y="421" id="6911" /> +<P1 x="353" y="395" id="6872" /> +<P2 x="360" y="421" id="6816" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6313" > <cdparam x="571" y="583" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="389" y="453" id="6909" /> -<P2 x="390" y="467" id="6892" /> +<P1 x="389" y="453" id="6818" /> +<P2 x="390" y="467" id="6835" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6314" > <cdparam x="918" y="409" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="768" y="435" id="7047" /> -<P2 x="773" y="441" id="7029" /> +<P1 x="768" y="435" id="6952" /> +<P2 x="773" y="441" id="6972" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6315" > <cdparam x="922" y="311" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="770" y="398" id="6956" /> -<P2 x="773" y="420" id="6991" /> +<P1 x="770" y="398" id="7043" /> +<P2 x="773" y="420" id="7010" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6316" > <cdparam x="841" y="372" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="703" y="441" id="7010" /> -<P2 x="705" y="435" id="7045" /> +<P1 x="703" y="441" id="6991" /> +<P2 x="705" y="435" id="6954" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6317" > <cdparam x="841" y="346" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="703" y="420" id="6972" /> -<P2 x="704" y="394" id="6954" /> +<P1 x="703" y="420" id="7029" /> +<P2 x="704" y="394" id="7045" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6318" > <cdparam x="907" y="450" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="733" y="423" id="6952" /> -<P2 x="733" y="406" id="7043" /> +<P1 x="733" y="423" id="7047" /> +<P2 x="733" y="406" id="6956" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6319" > <cdparam x="1272" y="373" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Composite port" value="Connector between ports" /> -<P1 x="1033" y="469" id="7179" /> -<P2 x="1044" y="465" id="7161" /> +<P1 x="1033" y="469" id="7084" /> +<P2 x="1044" y="465" id="7104" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6320" > <cdparam x="1195" y="336" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="956" y="442" id="7142" /> -<P2 x="970" y="473" id="7177" /> +<P1 x="956" y="442" id="7123" /> +<P2 x="970" y="473" id="7086" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6321" > <cdparam x="1195" y="310" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Composite port to Primitive port" value="Connector between ports" /> -<P1 x="956" y="415" id="7104" /> -<P2 x="963" y="408" id="7086" /> +<P1 x="956" y="415" id="7161" /> +<P2 x="963" y="408" id="7177" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6322" > <cdparam x="1261" y="414" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Primitive port to Primitive port" value="Connector between ports" /> -<P1 x="992" y="434" id="7084" /> -<P2 x="1004" y="448" id="7175" /> +<P1 x="992" y="434" id="7179" /> +<P2 x="1004" y="448" id="7088" /> <AutomaticDrawing data="true" /> </CONNECTOR> <COMPONENT type="1202" id="6335" > @@ -13991,15 +14122,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="6324" > <father id="6335" num="0" /> -<cdparam x="174" y="203" /> +<cdparam x="174" y="183" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="72" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Event src_out" /> +<infoparam name="Primitive port" value="Channel src_out" /> <TGConnectingPoint num="0" id="6323" /> <extraparam> -<Prop commName="src_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="src_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14008,15 +14139,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6326" > <father id="6335" num="1" /> -<cdparam x="174" y="183" /> +<cdparam x="174" y="203" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="72" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Channel src_out" /> +<infoparam name="Primitive port" value="Event src_out" /> <TGConnectingPoint num="0" id="6325" /> <extraparam> -<Prop commName="src_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="src_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14049,15 +14180,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="6337" > <father id="6352" num="0" /> -<cdparam x="534" y="205" /> +<cdparam x="534" y="185" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6336" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14066,15 +14197,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6339" > <father id="6352" num="1" /> -<cdparam x="614" y="209" /> +<cdparam x="614" y="189" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Channel ovlp_out" /> +<infoparam name="Primitive port" value="Event ovlp_out" /> <TGConnectingPoint num="0" id="6338" /> <extraparam> -<Prop commName="ovlp_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="ovlp_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14083,15 +14214,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6341" > <father id="6352" num="2" /> -<cdparam x="614" y="189" /> +<cdparam x="614" y="209" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Event ovlp_out" /> +<infoparam name="Primitive port" value="Channel ovlp_out" /> <TGConnectingPoint num="0" id="6340" /> <extraparam> -<Prop commName="ovlp_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="ovlp_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14100,15 +14231,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6343" > <father id="6352" num="3" /> -<cdparam x="534" y="185" /> +<cdparam x="534" y="205" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="45" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6342" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14137,15 +14268,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="6354" > <father id="6373" num="0" /> -<cdparam x="923" y="211" /> +<cdparam x="923" y="189" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6353" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14154,15 +14285,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6356" > <father id="6373" num="1" /> -<cdparam x="973" y="208" /> +<cdparam x="973" y="180" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel dmx_out2" /> +<infoparam name="Primitive port" value="Event dmx_out1" /> <TGConnectingPoint num="0" id="6355" /> <extraparam> -<Prop commName="dmx_out2" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="dmx_out1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14171,15 +14302,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6358" > <father id="6373" num="2" /> -<cdparam x="973" y="232" /> +<cdparam x="973" y="160" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event dmx_out2" /> +<infoparam name="Primitive port" value="Channel dmx_out1" /> <TGConnectingPoint num="0" id="6357" /> <extraparam> -<Prop commName="dmx_out2" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dmx_out1" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14188,15 +14319,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6360" > <father id="6373" num="3" /> -<cdparam x="973" y="160" /> +<cdparam x="973" y="232" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel dmx_out1" /> +<infoparam name="Primitive port" value="Event dmx_out2" /> <TGConnectingPoint num="0" id="6359" /> <extraparam> -<Prop commName="dmx_out1" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="dmx_out2" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14205,15 +14336,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6362" > <father id="6373" num="4" /> -<cdparam x="973" y="180" /> +<cdparam x="973" y="208" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event dmx_out1" /> +<infoparam name="Primitive port" value="Channel dmx_out2" /> <TGConnectingPoint num="0" id="6361" /> <extraparam> -<Prop commName="dmx_out1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dmx_out2" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14222,15 +14353,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6364" > <father id="6373" num="5" /> -<cdparam x="923" y="189" /> +<cdparam x="923" y="211" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6363" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14263,11 +14394,11 @@ sequence diagram. <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event in1" /> +<infoparam name="Primitive port" value="Channel dmx_out2" /> <TGConnectingPoint num="0" id="6374" /> <extraparam> -<Prop commName="in1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dmx_out2" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14276,14 +14407,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6377" > <father id="6394" num="1" /> -<cdparam x="241" y="438" /> +<cdparam x="291" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event in2" /> +<infoparam name="Primitive port" value="Event mx_out" /> <TGConnectingPoint num="0" id="6376" /> <extraparam> -<Prop commName="in2" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="mx_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14293,14 +14424,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6379" > <father id="6394" num="2" /> -<cdparam x="241" y="438" /> +<cdparam x="291" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel in2" /> +<infoparam name="Primitive port" value="Channel mx_out" /> <TGConnectingPoint num="0" id="6378" /> <extraparam> -<Prop commName="in2" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="mx_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14310,14 +14441,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6381" > <father id="6394" num="3" /> -<cdparam x="291" y="438" /> +<cdparam x="241" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel mx_out" /> +<infoparam name="Primitive port" value="Channel in2" /> <TGConnectingPoint num="0" id="6380" /> <extraparam> -<Prop commName="mx_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="in2" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14327,14 +14458,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6383" > <father id="6394" num="4" /> -<cdparam x="291" y="438" /> +<cdparam x="241" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event mx_out" /> +<infoparam name="Primitive port" value="Event in2" /> <TGConnectingPoint num="0" id="6382" /> <extraparam> -<Prop commName="mx_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="in2" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14348,11 +14479,11 @@ sequence diagram. <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel dmx_out2" /> +<infoparam name="Primitive port" value="Event in1" /> <TGConnectingPoint num="0" id="6384" /> <extraparam> -<Prop commName="dmx_out2" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14386,11 +14517,11 @@ sequence diagram. <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6395" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14399,15 +14530,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6398" > <father id="6415" num="1" /> -<cdparam x="520" y="438" /> +<cdparam x="520" y="430" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel dmx1_out2" /> +<infoparam name="Primitive port" value="Event dmx1_out1" /> <TGConnectingPoint num="0" id="6397" /> <extraparam> -<Prop commName="dmx1_out2" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="dmx1_out1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14416,15 +14547,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6400" > <father id="6415" num="2" /> -<cdparam x="520" y="438" /> +<cdparam x="520" y="410" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event dmx1_out2" /> +<infoparam name="Primitive port" value="Channel dmx1_out1" /> <TGConnectingPoint num="0" id="6399" /> <extraparam> -<Prop commName="dmx1_out2" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dmx1_out1" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14433,15 +14564,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6402" > <father id="6415" num="3" /> -<cdparam x="520" y="410" /> +<cdparam x="520" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel dmx1_out1" /> +<infoparam name="Primitive port" value="Event dmx1_out2" /> <TGConnectingPoint num="0" id="6401" /> <extraparam> -<Prop commName="dmx1_out1" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="dmx1_out2" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14450,15 +14581,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6404" > <father id="6415" num="4" /> -<cdparam x="520" y="430" /> +<cdparam x="520" y="438" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Event dmx1_out1" /> +<infoparam name="Primitive port" value="Channel dmx1_out2" /> <TGConnectingPoint num="0" id="6403" /> <extraparam> -<Prop commName="dmx1_out1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dmx1_out2" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14471,11 +14602,11 @@ sequence diagram. <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="40" minY="-10" maxY="97" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6405" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14506,15 +14637,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="6417" > <father id="6432" num="0" /> -<cdparam x="567" y="430" /> +<cdparam x="567" y="410" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6416" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14523,15 +14654,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6419" > <father id="6432" num="1" /> -<cdparam x="637" y="410" /> +<cdparam x="637" y="431" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel rep_out" /> +<infoparam name="Primitive port" value="Event rep_out" /> <TGConnectingPoint num="0" id="6418" /> <extraparam> -<Prop commName="rep_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="rep_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14540,15 +14671,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6421" > <father id="6432" num="2" /> -<cdparam x="637" y="431" /> +<cdparam x="637" y="410" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event rep_out" /> +<infoparam name="Primitive port" value="Channel rep_out" /> <TGConnectingPoint num="0" id="6420" /> <extraparam> -<Prop commName="rep_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="rep_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14557,15 +14688,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6423" > <father id="6432" num="3" /> -<cdparam x="567" y="410" /> +<cdparam x="567" y="430" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6422" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14595,15 +14726,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="6434" > <father id="6449" num="0" /> -<cdparam x="221" y="205" /> +<cdparam x="221" y="185" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6433" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14612,15 +14743,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6436" > <father id="6449" num="1" /> -<cdparam x="301" y="185" /> +<cdparam x="301" y="206" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel feed_out" /> +<infoparam name="Primitive port" value="Event feed_out" /> <TGConnectingPoint num="0" id="6435" /> <extraparam> -<Prop commName="feed_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="feed_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14629,15 +14760,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6438" > <father id="6449" num="2" /> -<cdparam x="301" y="206" /> +<cdparam x="301" y="185" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event feed_out" /> +<infoparam name="Primitive port" value="Channel feed_out" /> <TGConnectingPoint num="0" id="6437" /> <extraparam> -<Prop commName="feed_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="feed_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14646,15 +14777,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6440" > <father id="6449" num="3" /> -<cdparam x="221" y="185" /> +<cdparam x="221" y="205" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="70" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6439" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14682,11 +14813,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1202" id="6464" > <father id="6564" num="0" /> -<cdparam x="675" y="150" /> -<sizeparam width="45" height="36" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="676" y="221" /> +<sizeparam width="43" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="45" minY="0" maxY="114" /> -<infoparam name="Primitive component" value="X_fft" /> +<cdrectangleparam minX="0" maxX="47" minY="0" maxY="110" /> +<infoparam name="Primitive component" value="F_fft" /> <TGConnectingPoint num="0" id="6456" /> <TGConnectingPoint num="1" id="6457" /> <TGConnectingPoint num="2" id="6458" /> @@ -14701,15 +14832,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6451" > <father id="6464" num="0" /> -<cdparam x="712" y="168" /> +<cdparam x="689" y="213" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Channel fft_out" /> +<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Request r_fft" /> <TGConnectingPoint num="0" id="6450" /> <extraparam> -<Prop commName="fft_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_fft" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14718,15 +14849,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6453" > <father id="6464" num="1" /> -<cdparam x="667" y="165" /> +<cdparam x="668" y="240" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Channel in" /> +<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6452" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14735,14 +14866,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6455" > <father id="6464" num="2" /> -<cdparam x="688" y="178" /> +<cdparam x="711" y="240" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Request r_fft" /> +<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Event fft_out" /> <TGConnectingPoint num="0" id="6454" /> <extraparam> -<Prop commName="r_fft" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="fft_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14752,7 +14883,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6483" > <father id="6564" num="1" /> -<cdparam x="643" y="209" /> +<cdparam x="733" y="209" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -14778,7 +14909,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6502" > <father id="6564" num="2" /> -<cdparam x="733" y="189" /> +<cdparam x="643" y="189" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -14804,7 +14935,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6521" > <father id="6564" num="3" /> -<cdparam x="643" y="189" /> +<cdparam x="733" y="189" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -14830,7 +14961,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6540" > <father id="6564" num="4" /> -<cdparam x="733" y="209" /> +<cdparam x="643" y="209" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -14856,11 +14987,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1202" id="6555" > <father id="6564" num="5" /> -<cdparam x="676" y="221" /> -<sizeparam width="43" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="675" y="150" /> +<sizeparam width="45" height="36" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="47" minY="0" maxY="110" /> -<infoparam name="Primitive component" value="F_fft" /> +<cdrectangleparam minX="0" maxX="45" minY="0" maxY="114" /> +<infoparam name="Primitive component" value="X_fft" /> <TGConnectingPoint num="0" id="6547" /> <TGConnectingPoint num="1" id="6548" /> <TGConnectingPoint num="2" id="6549" /> @@ -14875,14 +15006,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6542" > <father id="6555" num="0" /> -<cdparam x="711" y="240" /> +<cdparam x="688" y="178" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event fft_out" /> +<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Request r_fft" /> <TGConnectingPoint num="0" id="6541" /> <extraparam> -<Prop commName="fft_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_fft" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14892,15 +15023,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6544" > <father id="6555" num="1" /> -<cdparam x="668" y="240" /> +<cdparam x="667" y="165" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event in" /> +<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6543" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14909,15 +15040,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6546" > <father id="6555" num="2" /> -<cdparam x="689" y="213" /> +<cdparam x="712" y="168" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="35" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Request r_fft" /> +<cdrectangleparam minX="-8" maxX="37" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Channel fft_out" /> <TGConnectingPoint num="0" id="6545" /> <extraparam> -<Prop commName="r_fft" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="fft_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14945,11 +15076,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1202" id="6579" > <father id="6679" num="0" /> -<cdparam x="389" y="147" /> -<sizeparam width="53" height="36" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="397" y="199" /> +<sizeparam width="75" height="61" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="92" minY="0" maxY="117" /> -<infoparam name="Primitive component" value="X_dma" /> +<cdrectangleparam minX="0" maxX="70" minY="0" maxY="92" /> +<infoparam name="Primitive component" value="F_dma" /> <TGConnectingPoint num="0" id="6571" /> <TGConnectingPoint num="1" id="6572" /> <TGConnectingPoint num="2" id="6573" /> @@ -14959,19 +15090,19 @@ sequence diagram. <TGConnectingPoint num="6" id="6577" /> <TGConnectingPoint num="7" id="6578" /> <extraparam> -<Attribute access="2" id="size" value="" type="0" typeOther="" /> +<Attribute access="2" id="size" value="0" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6566" > <father id="6579" num="0" /> -<cdparam x="402" y="175" /> +<cdparam x="464" y="215" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Request r_dma" /> +<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> +<infoparam name="Primitive port" value="Event dma_out" /> <TGConnectingPoint num="0" id="6565" /> <extraparam> -<Prop commName="r_dma" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="dma_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14981,15 +15112,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6568" > <father id="6579" num="1" /> -<cdparam x="381" y="162" /> +<cdparam x="389" y="215" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Channel in" /> +<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6567" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -14998,15 +15129,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6570" > <father id="6579" num="2" /> -<cdparam x="434" y="165" /> +<cdparam x="408" y="191" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> -<infoparam name="Primitive port" value="Channel dma_out" /> +<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> +<infoparam name="Primitive port" value="Request r_dma" /> <TGConnectingPoint num="0" id="6569" /> <extraparam> -<Prop commName="dma_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_dma" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15015,7 +15146,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6598" > <father id="6679" num="1" /> -<cdparam x="348" y="168" /> +<cdparam x="493" y="195" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="135" minY="-10" maxY="143" /> @@ -15041,7 +15172,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6617" > <father id="6679" num="2" /> -<cdparam x="493" y="166" /> +<cdparam x="348" y="202" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="135" minY="-10" maxY="143" /> @@ -15067,7 +15198,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6636" > <father id="6679" num="3" /> -<cdparam x="348" y="202" /> +<cdparam x="493" y="166" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="135" minY="-10" maxY="143" /> @@ -15093,7 +15224,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6655" > <father id="6679" num="4" /> -<cdparam x="493" y="195" /> +<cdparam x="348" y="168" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="135" minY="-10" maxY="143" /> @@ -15119,11 +15250,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1202" id="6670" > <father id="6679" num="5" /> -<cdparam x="397" y="199" /> -<sizeparam width="75" height="61" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="389" y="147" /> +<sizeparam width="53" height="36" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="70" minY="0" maxY="92" /> -<infoparam name="Primitive component" value="F_dma" /> +<cdrectangleparam minX="0" maxX="92" minY="0" maxY="117" /> +<infoparam name="Primitive component" value="X_dma" /> <TGConnectingPoint num="0" id="6662" /> <TGConnectingPoint num="1" id="6663" /> <TGConnectingPoint num="2" id="6664" /> @@ -15133,20 +15264,20 @@ sequence diagram. <TGConnectingPoint num="6" id="6668" /> <TGConnectingPoint num="7" id="6669" /> <extraparam> -<Attribute access="2" id="size" value="0" type="0" typeOther="" /> +<Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6657" > <father id="6670" num="0" /> -<cdparam x="408" y="191" /> +<cdparam x="434" y="165" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> -<infoparam name="Primitive port" value="Request r_dma" /> +<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Channel dma_out" /> <TGConnectingPoint num="0" id="6656" /> <extraparam> -<Prop commName="r_dma" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dma_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15155,15 +15286,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6659" > <father id="6670" num="1" /> -<cdparam x="389" y="215" /> +<cdparam x="381" y="162" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> -<infoparam name="Primitive port" value="Event in" /> +<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6658" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15172,14 +15303,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6661" > <father id="6670" num="2" /> -<cdparam x="464" y="215" /> +<cdparam x="402" y="175" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="67" minY="-8" maxY="53" /> -<infoparam name="Primitive port" value="Event dma_out" /> +<cdrectangleparam minX="-8" maxX="45" minY="-8" maxY="28" /> +<infoparam name="Primitive port" value="Request r_dma" /> <TGConnectingPoint num="0" id="6660" /> <extraparam> -<Prop commName="dma_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_dma" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15208,11 +15339,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1202" id="6694" > <father id="6794" num="0" /> -<cdparam x="810" y="154" /> -<sizeparam width="46" height="38" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="810" y="223" /> +<sizeparam width="50" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="44" minY="0" maxY="112" /> -<infoparam name="Primitive component" value="X_cwm" /> +<cdrectangleparam minX="0" maxX="40" minY="0" maxY="110" /> +<infoparam name="Primitive component" value="F_cwm" /> <TGConnectingPoint num="0" id="6686" /> <TGConnectingPoint num="1" id="6687" /> <TGConnectingPoint num="2" id="6688" /> @@ -15227,14 +15358,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6681" > <father id="6694" num="0" /> -<cdparam x="821" y="184" /> +<cdparam x="852" y="241" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Request r_cwm" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Event cwm_out" /> <TGConnectingPoint num="0" id="6680" /> <extraparam> -<Prop commName="r_cwm" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="cwm_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15244,15 +15375,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6683" > <father id="6694" num="1" /> -<cdparam x="802" y="168" /> +<cdparam x="802" y="241" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Channel in" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6682" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15261,15 +15392,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6685" > <father id="6694" num="2" /> -<cdparam x="848" y="172" /> +<cdparam x="825" y="215" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Channel cwm_out" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> +<infoparam name="Primitive port" value="Request r_cwm" /> <TGConnectingPoint num="0" id="6684" /> <extraparam> -<Prop commName="cwm_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_cwm" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15278,7 +15409,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6713" > <father id="6794" num="1" /> -<cdparam x="780" y="189" /> +<cdparam x="870" y="211" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15304,7 +15435,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6732" > <father id="6794" num="2" /> -<cdparam x="870" y="189" /> +<cdparam x="780" y="209" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15330,7 +15461,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6751" > <father id="6794" num="3" /> -<cdparam x="780" y="209" /> +<cdparam x="870" y="189" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15356,7 +15487,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6770" > <father id="6794" num="4" /> -<cdparam x="870" y="211" /> +<cdparam x="780" y="189" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15382,11 +15513,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1202" id="6785" > <father id="6794" num="5" /> -<cdparam x="810" y="223" /> -<sizeparam width="50" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="810" y="154" /> +<sizeparam width="46" height="38" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="40" minY="0" maxY="110" /> -<infoparam name="Primitive component" value="F_cwm" /> +<cdrectangleparam minX="0" maxX="44" minY="0" maxY="112" /> +<infoparam name="Primitive component" value="X_cwm" /> <TGConnectingPoint num="0" id="6777" /> <TGConnectingPoint num="1" id="6778" /> <TGConnectingPoint num="2" id="6779" /> @@ -15401,15 +15532,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6772" > <father id="6785" num="0" /> -<cdparam x="825" y="215" /> +<cdparam x="848" y="172" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Request r_cwm" /> +<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Channel cwm_out" /> <TGConnectingPoint num="0" id="6771" /> <extraparam> -<Prop commName="r_cwm" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwm_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15418,15 +15549,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6774" > <father id="6785" num="1" /> -<cdparam x="802" y="241" /> +<cdparam x="802" y="168" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event in" /> +<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="6773" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15435,14 +15566,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6776" > <father id="6785" num="2" /> -<cdparam x="852" y="241" /> +<cdparam x="821" y="184" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event cwm_out" /> +<cdrectangleparam minX="-8" maxX="38" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Request r_cwm" /> <TGConnectingPoint num="0" id="6775" /> <extraparam> -<Prop commName="cwm_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_cwm" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15494,174 +15625,70 @@ sequence diagram. <TGConnectingPoint num="15" id="6810" /> <TGConnectingPoint num="16" id="6811" /> <TGConnectingPoint num="17" id="6812" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="6832" > -<father id="6951" num="1" /> -<cdparam x="333" y="438" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="6814" /> -<TGConnectingPoint num="1" id="6815" /> -<TGConnectingPoint num="2" id="6816" /> -<TGConnectingPoint num="3" id="6817" /> -<TGConnectingPoint num="4" id="6818" /> -<TGConnectingPoint num="5" id="6819" /> -<TGConnectingPoint num="6" id="6820" /> -<TGConnectingPoint num="7" id="6821" /> -<TGConnectingPoint num="8" id="6822" /> -<TGConnectingPoint num="9" id="6823" /> -<TGConnectingPoint num="10" id="6824" /> -<TGConnectingPoint num="11" id="6825" /> -<TGConnectingPoint num="12" id="6826" /> -<TGConnectingPoint num="13" id="6827" /> -<TGConnectingPoint num="14" id="6828" /> -<TGConnectingPoint num="15" id="6829" /> -<TGConnectingPoint num="16" id="6830" /> -<TGConnectingPoint num="17" id="6831" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="6851" > -<father id="6951" num="2" /> -<cdparam x="333" y="438" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="6833" /> -<TGConnectingPoint num="1" id="6834" /> -<TGConnectingPoint num="2" id="6835" /> -<TGConnectingPoint num="3" id="6836" /> -<TGConnectingPoint num="4" id="6837" /> -<TGConnectingPoint num="5" id="6838" /> -<TGConnectingPoint num="6" id="6839" /> -<TGConnectingPoint num="7" id="6840" /> -<TGConnectingPoint num="8" id="6841" /> -<TGConnectingPoint num="9" id="6842" /> -<TGConnectingPoint num="10" id="6843" /> -<TGConnectingPoint num="11" id="6844" /> -<TGConnectingPoint num="12" id="6845" /> -<TGConnectingPoint num="13" id="6846" /> -<TGConnectingPoint num="14" id="6847" /> -<TGConnectingPoint num="15" id="6848" /> -<TGConnectingPoint num="16" id="6849" /> -<TGConnectingPoint num="17" id="6850" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="6870" > -<father id="6951" num="3" /> -<cdparam x="333" y="385" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="6852" /> -<TGConnectingPoint num="1" id="6853" /> -<TGConnectingPoint num="2" id="6854" /> -<TGConnectingPoint num="3" id="6855" /> -<TGConnectingPoint num="4" id="6856" /> -<TGConnectingPoint num="5" id="6857" /> -<TGConnectingPoint num="6" id="6858" /> -<TGConnectingPoint num="7" id="6859" /> -<TGConnectingPoint num="8" id="6860" /> -<TGConnectingPoint num="9" id="6861" /> -<TGConnectingPoint num="10" id="6862" /> -<TGConnectingPoint num="11" id="6863" /> -<TGConnectingPoint num="12" id="6864" /> -<TGConnectingPoint num="13" id="6865" /> -<TGConnectingPoint num="14" id="6866" /> -<TGConnectingPoint num="15" id="6867" /> -<TGConnectingPoint num="16" id="6868" /> -<TGConnectingPoint num="17" id="6869" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1201" id="6889" > -<father id="6951" num="4" /> -<cdparam x="333" y="406" /> -<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> -<infoparam name="Composite port" value="" /> -<TGConnectingPoint num="0" id="6871" /> -<TGConnectingPoint num="1" id="6872" /> -<TGConnectingPoint num="2" id="6873" /> -<TGConnectingPoint num="3" id="6874" /> -<TGConnectingPoint num="4" id="6875" /> -<TGConnectingPoint num="5" id="6876" /> -<TGConnectingPoint num="6" id="6877" /> -<TGConnectingPoint num="7" id="6878" /> -<TGConnectingPoint num="8" id="6879" /> -<TGConnectingPoint num="9" id="6880" /> -<TGConnectingPoint num="10" id="6881" /> -<TGConnectingPoint num="11" id="6882" /> -<TGConnectingPoint num="12" id="6883" /> -<TGConnectingPoint num="13" id="6884" /> -<TGConnectingPoint num="14" id="6885" /> -<TGConnectingPoint num="15" id="6886" /> -<TGConnectingPoint num="16" id="6887" /> -<TGConnectingPoint num="17" id="6888" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="6906" > -<father id="6951" num="5" /> -<cdparam x="370" y="475" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="6830" > +<father id="6951" num="1" /> +<cdparam x="368" y="405" /> <sizeparam width="42" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="46" minY="0" maxY="106" /> -<infoparam name="Primitive component" value="F_cwa" /> -<TGConnectingPoint num="0" id="6898" /> -<TGConnectingPoint num="1" id="6899" /> -<TGConnectingPoint num="2" id="6900" /> -<TGConnectingPoint num="3" id="6901" /> -<TGConnectingPoint num="4" id="6902" /> -<TGConnectingPoint num="5" id="6903" /> -<TGConnectingPoint num="6" id="6904" /> -<TGConnectingPoint num="7" id="6905" /> +<infoparam name="Primitive component" value="X_cwa" /> +<TGConnectingPoint num="0" id="6822" /> +<TGConnectingPoint num="1" id="6823" /> +<TGConnectingPoint num="2" id="6824" /> +<TGConnectingPoint num="3" id="6825" /> +<TGConnectingPoint num="4" id="6826" /> +<TGConnectingPoint num="5" id="6827" /> +<TGConnectingPoint num="6" id="6828" /> +<TGConnectingPoint num="7" id="6829" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6891" > -<father id="6906" num="0" /> -<cdparam x="404" y="476" /> +<SUBCOMPONENT type="1203" id="6815" > +<father id="6830" num="0" /> +<cdparam x="360" y="430" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event cwa_out" /> -<TGConnectingPoint num="0" id="6890" /> +<infoparam name="Primitive port" value="Channel in2" /> +<TGConnectingPoint num="0" id="6814" /> <extraparam> -<Prop commName="cwa_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<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="6893" > -<father id="6906" num="1" /> -<cdparam x="382" y="467" /> +<SUBCOMPONENT type="1203" id="6817" > +<father id="6830" num="1" /> +<cdparam x="360" y="413" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Request r_cwa" /> -<TGConnectingPoint num="0" id="6892" /> +<infoparam name="Primitive port" value="Channel in1" /> +<TGConnectingPoint num="0" id="6816" /> <extraparam> -<Prop commName="r_cwa" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in1" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<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="6895" > -<father id="6906" num="2" /> -<cdparam x="362" y="468" /> +<SUBCOMPONENT type="1203" id="6819" > +<father id="6830" num="2" /> +<cdparam x="381" y="437" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event in1" /> -<TGConnectingPoint num="0" id="6894" /> +<infoparam name="Primitive port" value="Request r_cwa" /> +<TGConnectingPoint num="0" id="6818" /> <extraparam> -<Prop commName="in1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_cwa" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15669,69 +15696,69 @@ sequence diagram. <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6897" > -<father id="6906" num="3" /> -<cdparam x="362" y="485" /> +<SUBCOMPONENT type="1203" id="6821" > +<father id="6830" num="3" /> +<cdparam x="402" y="425" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Event in2" /> -<TGConnectingPoint num="0" id="6896" /> +<infoparam name="Primitive port" value="Channel cwa_out" /> +<TGConnectingPoint num="0" id="6820" /> <extraparam> -<Prop commName="in2" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="cwa_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<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="6923" > -<father id="6951" num="6" /> -<cdparam x="368" y="405" /> +<SUBCOMPONENT type="1202" id="6847" > +<father id="6951" num="2" /> +<cdparam x="370" y="475" /> <sizeparam width="42" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="46" minY="0" maxY="106" /> -<infoparam name="Primitive component" value="X_cwa" /> -<TGConnectingPoint num="0" id="6915" /> -<TGConnectingPoint num="1" id="6916" /> -<TGConnectingPoint num="2" id="6917" /> -<TGConnectingPoint num="3" id="6918" /> -<TGConnectingPoint num="4" id="6919" /> -<TGConnectingPoint num="5" id="6920" /> -<TGConnectingPoint num="6" id="6921" /> -<TGConnectingPoint num="7" id="6922" /> +<infoparam name="Primitive component" value="F_cwa" /> +<TGConnectingPoint num="0" id="6839" /> +<TGConnectingPoint num="1" id="6840" /> +<TGConnectingPoint num="2" id="6841" /> +<TGConnectingPoint num="3" id="6842" /> +<TGConnectingPoint num="4" id="6843" /> +<TGConnectingPoint num="5" id="6844" /> +<TGConnectingPoint num="6" id="6845" /> +<TGConnectingPoint num="7" id="6846" /> <extraparam> <Attribute access="2" id="size" value="" type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6908" > -<father id="6923" num="0" /> -<cdparam x="402" y="425" /> +<SUBCOMPONENT type="1203" id="6832" > +<father id="6847" num="0" /> +<cdparam x="362" y="485" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Channel cwa_out" /> -<TGConnectingPoint num="0" id="6907" /> +<infoparam name="Primitive port" value="Event in2" /> +<TGConnectingPoint num="0" id="6831" /> <extraparam> -<Prop commName="cwa_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in2" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6910" > -<father id="6923" num="1" /> -<cdparam x="381" y="437" /> +<SUBCOMPONENT type="1203" id="6834" > +<father id="6847" num="1" /> +<cdparam x="362" y="468" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Request r_cwa" /> -<TGConnectingPoint num="0" id="6909" /> +<infoparam name="Primitive port" value="Event in1" /> +<TGConnectingPoint num="0" id="6833" /> <extraparam> -<Prop commName="r_cwa" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="in1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15739,40 +15766,144 @@ sequence diagram. <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6912" > -<father id="6923" num="2" /> -<cdparam x="360" y="413" /> +<SUBCOMPONENT type="1203" id="6836" > +<father id="6847" num="2" /> +<cdparam x="382" y="467" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Channel in1" /> -<TGConnectingPoint num="0" id="6911" /> +<infoparam name="Primitive port" value="Request r_cwa" /> +<TGConnectingPoint num="0" id="6835" /> <extraparam> -<Prop commName="in1" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_cwa" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="6914" > -<father id="6923" num="3" /> -<cdparam x="360" y="430" /> +<SUBCOMPONENT type="1203" id="6838" > +<father id="6847" num="3" /> +<cdparam x="404" y="476" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-8" maxX="34" minY="-8" maxY="32" /> -<infoparam name="Primitive port" value="Channel in2" /> -<TGConnectingPoint num="0" id="6913" /> +<infoparam name="Primitive port" value="Event cwa_out" /> +<TGConnectingPoint num="0" id="6837" /> <extraparam> -<Prop commName="in2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="cwa_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> +<SUBCOMPONENT type="1201" id="6866" > +<father id="6951" num="3" /> +<cdparam x="333" y="406" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="6848" /> +<TGConnectingPoint num="1" id="6849" /> +<TGConnectingPoint num="2" id="6850" /> +<TGConnectingPoint num="3" id="6851" /> +<TGConnectingPoint num="4" id="6852" /> +<TGConnectingPoint num="5" id="6853" /> +<TGConnectingPoint num="6" id="6854" /> +<TGConnectingPoint num="7" id="6855" /> +<TGConnectingPoint num="8" id="6856" /> +<TGConnectingPoint num="9" id="6857" /> +<TGConnectingPoint num="10" id="6858" /> +<TGConnectingPoint num="11" id="6859" /> +<TGConnectingPoint num="12" id="6860" /> +<TGConnectingPoint num="13" id="6861" /> +<TGConnectingPoint num="14" id="6862" /> +<TGConnectingPoint num="15" id="6863" /> +<TGConnectingPoint num="16" id="6864" /> +<TGConnectingPoint num="17" id="6865" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1201" id="6885" > +<father id="6951" num="4" /> +<cdparam x="333" y="385" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="6867" /> +<TGConnectingPoint num="1" id="6868" /> +<TGConnectingPoint num="2" id="6869" /> +<TGConnectingPoint num="3" id="6870" /> +<TGConnectingPoint num="4" id="6871" /> +<TGConnectingPoint num="5" id="6872" /> +<TGConnectingPoint num="6" id="6873" /> +<TGConnectingPoint num="7" id="6874" /> +<TGConnectingPoint num="8" id="6875" /> +<TGConnectingPoint num="9" id="6876" /> +<TGConnectingPoint num="10" id="6877" /> +<TGConnectingPoint num="11" id="6878" /> +<TGConnectingPoint num="12" id="6879" /> +<TGConnectingPoint num="13" id="6880" /> +<TGConnectingPoint num="14" id="6881" /> +<TGConnectingPoint num="15" id="6882" /> +<TGConnectingPoint num="16" id="6883" /> +<TGConnectingPoint num="17" id="6884" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1201" id="6904" > +<father id="6951" num="5" /> +<cdparam x="333" y="438" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="6886" /> +<TGConnectingPoint num="1" id="6887" /> +<TGConnectingPoint num="2" id="6888" /> +<TGConnectingPoint num="3" id="6889" /> +<TGConnectingPoint num="4" id="6890" /> +<TGConnectingPoint num="5" id="6891" /> +<TGConnectingPoint num="6" id="6892" /> +<TGConnectingPoint num="7" id="6893" /> +<TGConnectingPoint num="8" id="6894" /> +<TGConnectingPoint num="9" id="6895" /> +<TGConnectingPoint num="10" id="6896" /> +<TGConnectingPoint num="11" id="6897" /> +<TGConnectingPoint num="12" id="6898" /> +<TGConnectingPoint num="13" id="6899" /> +<TGConnectingPoint num="14" id="6900" /> +<TGConnectingPoint num="15" id="6901" /> +<TGConnectingPoint num="16" id="6902" /> +<TGConnectingPoint num="17" id="6903" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="1201" id="6923" > +<father id="6951" num="6" /> +<cdparam x="333" y="438" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-10" maxX="78" minY="-10" maxY="136" /> +<infoparam name="Composite port" value="" /> +<TGConnectingPoint num="0" id="6905" /> +<TGConnectingPoint num="1" id="6906" /> +<TGConnectingPoint num="2" id="6907" /> +<TGConnectingPoint num="3" id="6908" /> +<TGConnectingPoint num="4" id="6909" /> +<TGConnectingPoint num="5" id="6910" /> +<TGConnectingPoint num="6" id="6911" /> +<TGConnectingPoint num="7" id="6912" /> +<TGConnectingPoint num="8" id="6913" /> +<TGConnectingPoint num="9" id="6914" /> +<TGConnectingPoint num="10" id="6915" /> +<TGConnectingPoint num="11" id="6916" /> +<TGConnectingPoint num="12" id="6917" /> +<TGConnectingPoint num="13" id="6918" /> +<TGConnectingPoint num="14" id="6919" /> +<TGConnectingPoint num="15" id="6920" /> +<TGConnectingPoint num="16" id="6921" /> +<TGConnectingPoint num="17" id="6922" /> +</SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6942" > <father id="6951" num="7" /> <cdparam x="421" y="438" /> @@ -15820,11 +15951,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1202" id="6966" > <father id="7066" num="0" /> -<cdparam x="712" y="372" /> -<sizeparam width="50" height="43" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="713" y="414" /> +<sizeparam width="47" height="43" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="40" minY="0" maxY="107" /> -<infoparam name="Primitive component" value="X_sum" /> +<cdrectangleparam minX="0" maxX="43" minY="0" maxY="107" /> +<infoparam name="Primitive component" value="F_sum" /> <TGConnectingPoint num="0" id="6958" /> <TGConnectingPoint num="1" id="6959" /> <TGConnectingPoint num="2" id="6960" /> @@ -15839,14 +15970,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6953" > <father id="6966" num="0" /> -<cdparam x="725" y="407" /> +<cdparam x="752" y="427" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Request r_sum" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Event sum_out" /> <TGConnectingPoint num="0" id="6952" /> <extraparam> -<Prop commName="r_sum" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="sum_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15856,15 +15987,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6955" > <father id="6966" num="1" /> -<cdparam x="704" y="386" /> +<cdparam x="705" y="427" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Channel in" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="6954" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15873,15 +16004,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="6957" > <father id="6966" num="2" /> -<cdparam x="754" y="390" /> +<cdparam x="725" y="406" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Channel sum_out" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Request r_sum" /> <TGConnectingPoint num="0" id="6956" /> <extraparam> -<Prop commName="sum_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_sum" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -15890,7 +16021,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="6985" > <father id="7066" num="1" /> -<cdparam x="683" y="410" /> +<cdparam x="773" y="431" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15916,7 +16047,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7004" > <father id="7066" num="2" /> -<cdparam x="773" y="410" /> +<cdparam x="683" y="431" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15942,7 +16073,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7023" > <father id="7066" num="3" /> -<cdparam x="683" y="431" /> +<cdparam x="773" y="410" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15968,7 +16099,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7042" > <father id="7066" num="4" /> -<cdparam x="773" y="431" /> +<cdparam x="683" y="410" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="80" minY="-10" maxY="140" /> @@ -15994,11 +16125,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1202" id="7057" > <father id="7066" num="5" /> -<cdparam x="713" y="414" /> -<sizeparam width="47" height="43" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="712" y="372" /> +<sizeparam width="50" height="43" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="43" minY="0" maxY="107" /> -<infoparam name="Primitive component" value="F_sum" /> +<cdrectangleparam minX="0" maxX="40" minY="0" maxY="107" /> +<infoparam name="Primitive component" value="X_sum" /> <TGConnectingPoint num="0" id="7049" /> <TGConnectingPoint num="1" id="7050" /> <TGConnectingPoint num="2" id="7051" /> @@ -16013,15 +16144,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7044" > <father id="7057" num="0" /> -<cdparam x="725" y="406" /> +<cdparam x="754" y="390" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Request r_sum" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Channel sum_out" /> <TGConnectingPoint num="0" id="7043" /> <extraparam> -<Prop commName="r_sum" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="sum_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16030,15 +16161,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7046" > <father id="7057" num="1" /> -<cdparam x="705" y="427" /> +<cdparam x="704" y="386" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Event in" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="7045" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16047,14 +16178,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7048" > <father id="7057" num="2" /> -<cdparam x="752" y="427" /> +<cdparam x="725" y="407" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="35" /> -<infoparam name="Primitive port" value="Event sum_out" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="35" /> +<infoparam name="Primitive port" value="Request r_sum" /> <TGConnectingPoint num="0" id="7047" /> <extraparam> -<Prop commName="sum_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_sum" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16086,15 +16217,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="7068" > <father id="7083" num="0" /> -<cdparam x="821" y="431" /> +<cdparam x="821" y="410" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="7067" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16103,15 +16234,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7070" > <father id="7083" num="1" /> -<cdparam x="891" y="410" /> +<cdparam x="891" y="432" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel res_out" /> +<infoparam name="Primitive port" value="Event res_out" /> <TGConnectingPoint num="0" id="7069" /> <extraparam> -<Prop commName="res_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="res_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16120,15 +16251,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7072" > <father id="7083" num="2" /> -<cdparam x="891" y="432" /> +<cdparam x="891" y="410" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event res_out" /> +<infoparam name="Primitive port" value="Channel res_out" /> <TGConnectingPoint num="0" id="7071" /> <extraparam> -<Prop commName="res_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="res_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16137,15 +16268,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7074" > <father id="7083" num="3" /> -<cdparam x="821" y="410" /> +<cdparam x="821" y="431" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="7073" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16173,11 +16304,11 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1202" id="7098" > <father id="7198" num="0" /> -<cdparam x="971" y="388" /> -<sizeparam width="50" height="38" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="978" y="456" /> +<sizeparam width="47" height="41" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="58" minY="0" maxY="128" /> -<infoparam name="Primitive component" value="X_dma1" /> +<cdrectangleparam minX="0" maxX="61" minY="0" maxY="125" /> +<infoparam name="Primitive component" value="F_dma1" /> <TGConnectingPoint num="0" id="7090" /> <TGConnectingPoint num="1" id="7091" /> <TGConnectingPoint num="2" id="7092" /> @@ -16192,14 +16323,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7085" > <father id="7098" num="0" /> -<cdparam x="984" y="418" /> +<cdparam x="1017" y="461" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Request r_dma1" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> +<infoparam name="Primitive port" value="Event dma1_out" /> <TGConnectingPoint num="0" id="7084" /> <extraparam> -<Prop commName="r_dma1" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="dma1_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16209,15 +16340,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7087" > <father id="7098" num="1" /> -<cdparam x="963" y="400" /> +<cdparam x="970" y="465" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Channel in" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="7086" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16226,15 +16357,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7089" > <father id="7098" num="2" /> -<cdparam x="1013" y="401" /> +<cdparam x="996" y="448" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> -<infoparam name="Primitive port" value="Channel dma1_out" /> +<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> +<infoparam name="Primitive port" value="Request r_dma1" /> <TGConnectingPoint num="0" id="7088" /> <extraparam> -<Prop commName="dma1_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="r_dma1" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16243,7 +16374,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7117" > <father id="7198" num="1" /> -<cdparam x="936" y="405" /> +<cdparam x="1044" y="455" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="98" minY="-10" maxY="156" /> @@ -16269,7 +16400,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7136" > <father id="7198" num="2" /> -<cdparam x="1044" y="396" /> +<cdparam x="936" y="432" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="98" minY="-10" maxY="156" /> @@ -16295,7 +16426,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7155" > <father id="7198" num="3" /> -<cdparam x="936" y="432" /> +<cdparam x="1044" y="396" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="98" minY="-10" maxY="156" /> @@ -16321,7 +16452,7 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1201" id="7174" > <father id="7198" num="4" /> -<cdparam x="1044" y="455" /> +<cdparam x="936" y="405" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="98" minY="-10" maxY="156" /> @@ -16347,11 +16478,11 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1202" id="7189" > <father id="7198" num="5" /> -<cdparam x="978" y="456" /> -<sizeparam width="47" height="41" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="971" y="388" /> +<sizeparam width="50" height="38" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="61" minY="0" maxY="125" /> -<infoparam name="Primitive component" value="F_dma1" /> +<cdrectangleparam minX="0" maxX="58" minY="0" maxY="128" /> +<infoparam name="Primitive component" value="X_dma1" /> <TGConnectingPoint num="0" id="7181" /> <TGConnectingPoint num="1" id="7182" /> <TGConnectingPoint num="2" id="7183" /> @@ -16366,15 +16497,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7176" > <father id="7189" num="0" /> -<cdparam x="996" y="448" /> +<cdparam x="1013" y="401" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> -<infoparam name="Primitive port" value="Request r_dma1" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Channel dma1_out" /> <TGConnectingPoint num="0" id="7175" /> <extraparam> -<Prop commName="r_dma1" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="dma1_out" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16383,15 +16514,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7178" > <father id="7189" num="1" /> -<cdparam x="970" y="465" /> +<cdparam x="963" y="400" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> -<infoparam name="Primitive port" value="Event in" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="7177" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16400,14 +16531,14 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7180" > <father id="7189" num="2" /> -<cdparam x="1017" y="461" /> +<cdparam x="984" y="418" /> <sizeparam width="16" height="16" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-8" maxX="39" minY="-8" maxY="33" /> -<infoparam name="Primitive port" value="Event dma1_out" /> +<cdrectangleparam minX="-8" maxX="42" minY="-8" maxY="30" /> +<infoparam name="Primitive port" value="Request r_dma1" /> <TGConnectingPoint num="0" id="7179" /> <extraparam> -<Prop commName="dma1_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Prop commName="r_dma1" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> <Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16459,15 +16590,15 @@ sequence diagram. </COMPONENT> <SUBCOMPONENT type="1203" id="7209" > <father id="7220" num="0" /> -<cdparam x="1113" y="447" /> +<cdparam x="1113" y="409" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Event in" /> +<infoparam name="Primitive port" value="Channel in" /> <TGConnectingPoint num="0" id="7208" /> <extraparam> -<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="1" typeOther="" /> +<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -16476,15 +16607,15 @@ sequence diagram. </SUBCOMPONENT> <SUBCOMPONENT type="1203" id="7211" > <father id="7220" num="1" /> -<cdparam x="1113" y="409" /> +<cdparam x="1113" y="447" /> <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-10" maxX="60" minY="-10" maxY="46" /> -<infoparam name="Primitive port" value="Channel in" /> +<infoparam name="Primitive port" value="Event in" /> <TGConnectingPoint num="0" id="7210" /> <extraparam> -<Prop commName="in" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> -<Type type="0" typeOther="" /> +<Prop commName="in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" /> +<Type type="1" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -17952,114 +18083,18 @@ sequence diagram. </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_fft" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1007" id="7523" > -<cdparam x="440" y="222" /> -<sizeparam width="67" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="r_fft(size)" /> -<TGConnectingPoint num="0" id="7521" /> -<TGConnectingPoint num="1" id="7522" /> -<extraparam> -<Data requestName="r_fft" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1001" id="7525" > -<cdparam x="463" y="351" /> -<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7524" /> -</COMPONENT> - -<COMPONENT type="1008" id="7528" > -<cdparam x="432" y="292" /> -<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="fft_out(size)" /> -<TGConnectingPoint num="0" id="7526" /> -<TGConnectingPoint num="1" id="7527" /> -<extraparam> -<Data eventName="fft_out" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1010" id="7531" > -<cdparam x="444" y="163" /> -<sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="in(size) " /> -<TGConnectingPoint num="0" id="7529" /> -<TGConnectingPoint num="1" id="7530" /> -<extraparam> -<Data eventName="in" nbOfParams="5" /> -<Param index="0" value="size" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="1000" id="7533" > -<cdparam x="466" y="103" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7532" /> -</COMPONENT> - -<CONNECTOR type="115" id="7534" > -<cdparam x="473" y="123" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to wait event" value="null" /> -<P1 x="473" y="123" id="7532" /> -<P2 x="473" y="158" id="7529" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="7535" > -<cdparam x="473" y="317" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from send event to stop state" value="null" /> -<P1 x="473" y="317" id="7527" /> -<P2 x="473" y="346" id="7524" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="7536" > -<cdparam x="473" y="188" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from wait event to send request" value="null" /> -<P1 x="473" y="188" id="7530" /> -<P2 x="473" y="217" id="7521" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="7537" > -<cdparam x="481" y="244" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from send request to send event" value="null" /> -<P1 x="473" y="247" id="7522" /> -<P2 x="473" y="287" id="7526" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> - -</TMLActivityDiagramPanel> - <TMLActivityDiagramPanel name="X_fft" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="7541" > +<COMPONENT type="1013" id="7524" > <cdparam x="539" y="207" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7539" /> -<TGConnectingPoint num="1" id="7540" /> +<TGConnectingPoint num="0" id="7522" /> +<TGConnectingPoint num="1" id="7523" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="7538" > -<father id="7541" num="0" /> +<SUBCOMPONENT type="-1" id="7521" > +<father id="7524" num="0" /> <cdparam x="554" y="227" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -18067,238 +18102,237 @@ sequence diagram. <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="7543" > +<COMPONENT type="1001" id="7526" > <cdparam x="535" y="335" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7542" /> +<TGConnectingPoint num="0" id="7525" /> </COMPONENT> -<COMPONENT type="1006" id="7546" > +<COMPONENT type="1006" id="7529" > <cdparam x="503" y="273" /> <sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="fft_out(size)" /> -<TGConnectingPoint num="0" id="7544" /> -<TGConnectingPoint num="1" id="7545" /> +<TGConnectingPoint num="0" id="7527" /> +<TGConnectingPoint num="1" id="7528" /> <extraparam> <Data channelName="fft_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1009" id="7549" > +<COMPONENT type="1009" id="7532" > <cdparam x="515" y="153" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="in(size) " /> -<TGConnectingPoint num="0" id="7547" /> -<TGConnectingPoint num="1" id="7548" /> +<TGConnectingPoint num="0" id="7530" /> +<TGConnectingPoint num="1" id="7531" /> <extraparam> <Data channelName="in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7552" > +<COMPONENT type="1034" id="7535" > <cdparam x="489" y="100" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7550" /> -<TGConnectingPoint num="1" id="7551" /> +<TGConnectingPoint num="0" id="7533" /> +<TGConnectingPoint num="1" id="7534" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7554" > +<COMPONENT type="1000" id="7537" > <cdparam x="538" y="57" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7553" /> +<TGConnectingPoint num="0" id="7536" /> </COMPONENT> -<CONNECTOR type="115" id="7555" > +<CONNECTOR type="115" id="7538" > <cdparam x="545" y="77" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to read args" value="null" /> -<P1 x="545" y="77" id="7553" /> -<P2 x="545" y="95" id="7550" /> +<P1 x="545" y="77" id="7536" /> +<P2 x="545" y="95" id="7533" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7556" > +<CONNECTOR type="115" id="7539" > <cdparam x="545" y="125" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read args to read channel" value="null" /> -<P1 x="545" y="125" id="7551" /> -<P2 x="544" y="148" id="7547" /> +<P1 x="545" y="125" id="7534" /> +<P2 x="544" y="148" id="7530" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7557" > +<CONNECTOR type="115" id="7540" > <cdparam x="544" y="178" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read channel to execI" value="null" /> -<P1 x="544" y="178" id="7548" /> -<P2 x="544" y="202" id="7539" /> +<P1 x="544" y="178" id="7531" /> +<P2 x="544" y="202" id="7522" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7558" > +<CONNECTOR type="115" id="7541" > <cdparam x="544" y="242" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from execI to write channel" value="null" /> -<P1 x="544" y="242" id="7540" /> -<P2 x="544" y="268" id="7544" /> +<P1 x="544" y="242" id="7523" /> +<P2 x="544" y="268" id="7527" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7559" > +<CONNECTOR type="115" id="7542" > <cdparam x="544" y="298" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="544" y="298" id="7545" /> -<P2 x="545" y="330" id="7542" /> +<P1 x="544" y="298" id="7528" /> +<P2 x="545" y="330" id="7525" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_dma" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1007" id="7562" > -<cdparam x="380" y="223" /> -<sizeparam width="81" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_fft" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1007" id="7545" > +<cdparam x="440" y="222" /> +<sizeparam width="67" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="r_dma(size)" /> -<TGConnectingPoint num="0" id="7560" /> -<TGConnectingPoint num="1" id="7561" /> -<breakpoint /> +<infoparam name="send request" value="r_fft(size)" /> +<TGConnectingPoint num="0" id="7543" /> +<TGConnectingPoint num="1" id="7544" /> <extraparam> -<Data requestName="r_dma" nbOfParams="5" /> +<Data requestName="r_fft" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="7564" > -<cdparam x="410" y="352" /> +<COMPONENT type="1001" id="7547" > +<cdparam x="463" y="351" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7563" /> +<TGConnectingPoint num="0" id="7546" /> </COMPONENT> -<COMPONENT type="1008" id="7567" > -<cdparam x="372" y="293" /> -<sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="7550" > +<cdparam x="432" y="292" /> +<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="dma_out(size)" /> -<TGConnectingPoint num="0" id="7565" /> -<TGConnectingPoint num="1" id="7566" /> +<infoparam name="send event" value="fft_out(size)" /> +<TGConnectingPoint num="0" id="7548" /> +<TGConnectingPoint num="1" id="7549" /> <extraparam> -<Data eventName="dma_out" nbOfParams="5" /> +<Data eventName="fft_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="7570" > -<cdparam x="391" y="164" /> +<COMPONENT type="1010" id="7553" > +<cdparam x="444" y="163" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="wait event" value="in(size) " /> -<TGConnectingPoint num="0" id="7568" /> -<TGConnectingPoint num="1" id="7569" /> +<TGConnectingPoint num="0" id="7551" /> +<TGConnectingPoint num="1" id="7552" /> <extraparam> <Data eventName="in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7572" > -<cdparam x="413" y="104" /> +<COMPONENT type="1000" id="7555" > +<cdparam x="466" y="103" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7571" /> +<TGConnectingPoint num="0" id="7554" /> </COMPONENT> -<CONNECTOR type="115" id="7573" > -<cdparam x="420" y="124" /> +<CONNECTOR type="115" id="7556" > +<cdparam x="473" y="123" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to wait event" value="null" /> -<P1 x="420" y="124" id="7571" /> -<P2 x="420" y="159" id="7568" /> +<P1 x="473" y="123" id="7554" /> +<P2 x="473" y="158" id="7551" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7574" > -<cdparam x="420" y="318" /> +<CONNECTOR type="115" id="7557" > +<cdparam x="473" y="317" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send event to stop state" value="null" /> -<P1 x="420" y="318" id="7566" /> -<P2 x="420" y="347" id="7563" /> +<P1 x="473" y="317" id="7549" /> +<P2 x="473" y="346" id="7546" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7575" > -<cdparam x="420" y="189" /> +<CONNECTOR type="115" id="7558" > +<cdparam x="473" y="188" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from wait event to send request" value="null" /> -<P1 x="420" y="189" id="7569" /> -<P2 x="420" y="218" id="7560" /> +<P1 x="473" y="188" id="7552" /> +<P2 x="473" y="217" id="7543" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7576" > -<cdparam x="428" y="245" /> +<CONNECTOR type="115" id="7559" > +<cdparam x="481" y="244" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send request to send event" value="null" /> -<P1 x="420" y="248" id="7561" /> -<P2 x="420" y="288" id="7565" /> +<P1 x="473" y="247" id="7544" /> +<P2 x="473" y="287" id="7548" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_dma" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1001" id="7578" > +<COMPONENT type="1001" id="7561" > <cdparam x="397" y="328" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7577" /> +<TGConnectingPoint num="0" id="7560" /> </COMPONENT> -<COMPONENT type="1006" id="7581" > +<COMPONENT type="1006" id="7564" > <cdparam x="358" y="266" /> <sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="dma_out(size)" /> -<TGConnectingPoint num="0" id="7579" /> -<TGConnectingPoint num="1" id="7580" /> +<TGConnectingPoint num="0" id="7562" /> +<TGConnectingPoint num="1" id="7563" /> <extraparam> <Data channelName="dma_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1013" id="7585" > +<COMPONENT type="1013" id="7568" > <cdparam x="401" y="200" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7583" /> -<TGConnectingPoint num="1" id="7584" /> +<TGConnectingPoint num="0" id="7566" /> +<TGConnectingPoint num="1" id="7567" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="7582" > -<father id="7585" num="0" /> +<SUBCOMPONENT type="-1" id="7565" > +<father id="7568" num="0" /> <cdparam x="416" y="220" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -18306,193 +18340,194 @@ sequence diagram. <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1009" id="7588" > +<COMPONENT type="1009" id="7571" > <cdparam x="377" y="146" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="in(size) " /> -<TGConnectingPoint num="0" id="7586" /> -<TGConnectingPoint num="1" id="7587" /> +<TGConnectingPoint num="0" id="7569" /> +<TGConnectingPoint num="1" id="7570" /> <extraparam> <Data channelName="in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7591" > +<COMPONENT type="1034" id="7574" > <cdparam x="351" y="93" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7589" /> -<TGConnectingPoint num="1" id="7590" /> +<TGConnectingPoint num="0" id="7572" /> +<TGConnectingPoint num="1" id="7573" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7593" > +<COMPONENT type="1000" id="7576" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7592" /> +<TGConnectingPoint num="0" id="7575" /> </COMPONENT> -<CONNECTOR type="115" id="7594" > +<CONNECTOR type="115" id="7577" > <cdparam x="407" y="70" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to read args" value="null" /> -<P1 x="407" y="70" id="7592" /> -<P2 x="407" y="88" id="7589" /> +<P1 x="407" y="70" id="7575" /> +<P2 x="407" y="88" id="7572" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7595" > +<CONNECTOR type="115" id="7578" > <cdparam x="407" y="118" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read args to read channel" value="null" /> -<P1 x="407" y="118" id="7590" /> -<P2 x="406" y="141" id="7586" /> +<P1 x="407" y="118" id="7573" /> +<P2 x="406" y="141" id="7569" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7596" > +<CONNECTOR type="115" id="7579" > <cdparam x="406" y="171" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read channel to execI" value="null" /> -<P1 x="406" y="171" id="7587" /> -<P2 x="406" y="195" id="7583" /> +<P1 x="406" y="171" id="7570" /> +<P2 x="406" y="195" id="7566" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7597" > +<CONNECTOR type="115" id="7580" > <cdparam x="406" y="235" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from execI to write channel" value="null" /> -<P1 x="406" y="235" id="7584" /> -<P2 x="406" y="261" id="7579" /> +<P1 x="406" y="235" id="7567" /> +<P2 x="406" y="261" id="7562" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7598" > +<CONNECTOR type="115" id="7581" > <cdparam x="406" y="291" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="406" y="291" id="7580" /> -<P2 x="407" y="323" id="7577" /> +<P1 x="406" y="291" id="7563" /> +<P2 x="407" y="323" id="7560" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_cwm" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1007" id="7601" > -<cdparam x="454" y="238" /> -<sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_dma" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1007" id="7584" > +<cdparam x="380" y="223" /> +<sizeparam width="81" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="r_cwm(size)" /> -<TGConnectingPoint num="0" id="7599" /> -<TGConnectingPoint num="1" id="7600" /> +<infoparam name="send request" value="r_dma(size)" /> +<TGConnectingPoint num="0" id="7582" /> +<TGConnectingPoint num="1" id="7583" /> +<breakpoint /> <extraparam> -<Data requestName="r_cwm" nbOfParams="5" /> +<Data requestName="r_dma" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="7603" > -<cdparam x="483" y="367" /> +<COMPONENT type="1001" id="7586" > +<cdparam x="410" y="352" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7602" /> +<TGConnectingPoint num="0" id="7585" /> </COMPONENT> -<COMPONENT type="1008" id="7606" > -<cdparam x="448" y="308" /> -<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="7589" > +<cdparam x="372" y="293" /> +<sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="cwm_out(size)" /> -<TGConnectingPoint num="0" id="7604" /> -<TGConnectingPoint num="1" id="7605" /> +<infoparam name="send event" value="dma_out(size)" /> +<TGConnectingPoint num="0" id="7587" /> +<TGConnectingPoint num="1" id="7588" /> <extraparam> -<Data eventName="cwm_out" nbOfParams="5" /> +<Data eventName="dma_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="7609" > -<cdparam x="466" y="179" /> -<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1010" id="7592" > +<cdparam x="391" y="164" /> +<sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="wait event" value="in(size) " /> -<TGConnectingPoint num="0" id="7607" /> -<TGConnectingPoint num="1" id="7608" /> +<TGConnectingPoint num="0" id="7590" /> +<TGConnectingPoint num="1" id="7591" /> <extraparam> <Data eventName="in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7611" > -<cdparam x="486" y="119" /> +<COMPONENT type="1000" id="7594" > +<cdparam x="413" y="104" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7610" /> +<TGConnectingPoint num="0" id="7593" /> </COMPONENT> -<CONNECTOR type="115" id="7612" > -<cdparam x="493" y="139" /> +<CONNECTOR type="115" id="7595" > +<cdparam x="420" y="124" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to wait event" value="null" /> -<P1 x="493" y="139" id="7610" /> -<P2 x="493" y="174" id="7607" /> +<P1 x="420" y="124" id="7593" /> +<P2 x="420" y="159" id="7590" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7613" > -<cdparam x="493" y="333" /> +<CONNECTOR type="115" id="7596" > +<cdparam x="420" y="318" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send event to stop state" value="null" /> -<P1 x="493" y="333" id="7605" /> -<P2 x="493" y="362" id="7602" /> +<P1 x="420" y="318" id="7588" /> +<P2 x="420" y="347" id="7585" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7614" > -<cdparam x="493" y="204" /> +<CONNECTOR type="115" id="7597" > +<cdparam x="420" y="189" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from wait event to send request" value="null" /> -<P1 x="493" y="204" id="7608" /> -<P2 x="493" y="233" id="7599" /> +<P1 x="420" y="189" id="7591" /> +<P2 x="420" y="218" id="7582" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7615" > -<cdparam x="501" y="260" /> +<CONNECTOR type="115" id="7598" > +<cdparam x="428" y="245" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send request to send event" value="null" /> -<P1 x="493" y="263" id="7600" /> -<P2 x="493" y="303" id="7604" /> +<P1 x="420" y="248" id="7583" /> +<P2 x="420" y="288" id="7587" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_cwm" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="7619" > +<COMPONENT type="1013" id="7602" > <cdparam x="591" y="239" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7617" /> -<TGConnectingPoint num="1" id="7618" /> +<TGConnectingPoint num="0" id="7600" /> +<TGConnectingPoint num="1" id="7601" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="7616" > -<father id="7619" num="0" /> +<SUBCOMPONENT type="-1" id="7599" > +<father id="7602" num="0" /> <cdparam x="606" y="259" /> <sizeparam width="87" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -18500,265 +18535,220 @@ sequence diagram. <infoparam name="value of the delay" value="10 * size + 10" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="7621" > +<COMPONENT type="1001" id="7604" > <cdparam x="587" y="367" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7620" /> +<TGConnectingPoint num="0" id="7603" /> </COMPONENT> -<COMPONENT type="1006" id="7624" > +<COMPONENT type="1006" id="7607" > <cdparam x="548" y="305" /> <sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="cwm_out(size)" /> -<TGConnectingPoint num="0" id="7622" /> -<TGConnectingPoint num="1" id="7623" /> +<TGConnectingPoint num="0" id="7605" /> +<TGConnectingPoint num="1" id="7606" /> <extraparam> <Data channelName="cwm_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1009" id="7627" > +<COMPONENT type="1009" id="7610" > <cdparam x="567" y="185" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="in(size) " /> -<TGConnectingPoint num="0" id="7625" /> -<TGConnectingPoint num="1" id="7626" /> +<TGConnectingPoint num="0" id="7608" /> +<TGConnectingPoint num="1" id="7609" /> <accessibility /> <extraparam> <Data channelName="in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7630" > +<COMPONENT type="1034" id="7613" > <cdparam x="541" y="132" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7628" /> -<TGConnectingPoint num="1" id="7629" /> +<TGConnectingPoint num="0" id="7611" /> +<TGConnectingPoint num="1" id="7612" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7632" > +<COMPONENT type="1000" id="7615" > <cdparam x="590" y="89" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7631" /> +<TGConnectingPoint num="0" id="7614" /> </COMPONENT> -<CONNECTOR type="115" id="7633" > +<CONNECTOR type="115" id="7616" > <cdparam x="597" y="109" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to read args" value="null" /> -<P1 x="597" y="109" id="7631" /> -<P2 x="597" y="127" id="7628" /> +<P1 x="597" y="109" id="7614" /> +<P2 x="597" y="127" id="7611" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7634" > +<CONNECTOR type="115" id="7617" > <cdparam x="597" y="157" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read args to read channel" value="null" /> -<P1 x="597" y="157" id="7629" /> -<P2 x="596" y="180" id="7625" /> +<P1 x="597" y="157" id="7612" /> +<P2 x="596" y="180" id="7608" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7635" > +<CONNECTOR type="115" id="7618" > <cdparam x="596" y="210" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read channel to execI" value="null" /> -<P1 x="596" y="210" id="7626" /> -<P2 x="596" y="234" id="7617" /> +<P1 x="596" y="210" id="7609" /> +<P2 x="596" y="234" id="7600" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7636" > +<CONNECTOR type="115" id="7619" > <cdparam x="596" y="274" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from execI to write channel" value="null" /> -<P1 x="596" y="274" id="7618" /> -<P2 x="596" y="300" id="7622" /> +<P1 x="596" y="274" id="7601" /> +<P2 x="596" y="300" id="7605" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7637" > +<CONNECTOR type="115" id="7620" > <cdparam x="596" y="330" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="596" y="330" id="7623" /> -<P2 x="597" y="362" id="7620" /> +<P1 x="596" y="330" id="7606" /> +<P2 x="597" y="362" id="7603" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="X_cwa" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1009" id="7640" > -<cdparam x="547" y="267" /> -<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_cwm" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1007" id="7623" > +<cdparam x="454" y="238" /> +<sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="read channel" value="in2(size) " /> -<TGConnectingPoint num="0" id="7638" /> -<TGConnectingPoint num="1" id="7639" /> +<infoparam name="send request" value="r_cwm(size)" /> +<TGConnectingPoint num="0" id="7621" /> +<TGConnectingPoint num="1" id="7622" /> <extraparam> -<Data channelName="in2" nbOfSamples="size" secPattern="" /> +<Data requestName="r_cwm" nbOfParams="5" /> +<Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1013" id="7644" > -<cdparam x="574" y="317" /> -<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7642" /> -<TGConnectingPoint num="1" id="7643" /> -</COMPONENT> -<SUBCOMPONENT type="-1" id="7641" > -<father id="7644" num="0" /> -<cdparam x="589" y="337" /> -<sizeparam width="57" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> -<infoparam name="value of the delay" value="size + 10" /> -</SUBCOMPONENT> - -<COMPONENT type="1001" id="7646" > -<cdparam x="568" y="436" /> +<COMPONENT type="1001" id="7625" > +<cdparam x="483" y="367" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7645" /> -</COMPONENT> - -<COMPONENT type="1006" id="7649" > -<cdparam x="531" y="375" /> -<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="write channel" value="cwa_out(size)" /> -<TGConnectingPoint num="0" id="7647" /> -<TGConnectingPoint num="1" id="7648" /> -<extraparam> -<Data channelName="cwa_out" nbOfSamples="size" secPattern="" /> -</extraparam> +<TGConnectingPoint num="0" id="7624" /> </COMPONENT> -<COMPONENT type="1009" id="7652" > -<cdparam x="547" y="232" /> -<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="7628" > +<cdparam x="448" y="308" /> +<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="read channel" value="in1(size) " /> -<TGConnectingPoint num="0" id="7650" /> -<TGConnectingPoint num="1" id="7651" /> +<infoparam name="send event" value="cwm_out(size)" /> +<TGConnectingPoint num="0" id="7626" /> +<TGConnectingPoint num="1" id="7627" /> <extraparam> -<Data channelName="in1" nbOfSamples="size" secPattern="" /> +<Data eventName="cwm_out" nbOfParams="5" /> +<Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7655" > -<cdparam x="525" y="179" /> -<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1010" id="7631" > +<cdparam x="466" y="179" /> +<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7653" /> -<TGConnectingPoint num="1" id="7654" /> +<infoparam name="wait event" value="in(size) " /> +<TGConnectingPoint num="0" id="7629" /> +<TGConnectingPoint num="1" id="7630" /> <extraparam> -<Data nbOfParams="5" /> +<Data eventName="in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7657" > -<cdparam x="574" y="136" /> +<COMPONENT type="1000" id="7633" > +<cdparam x="486" y="119" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7656" /> +<TGConnectingPoint num="0" id="7632" /> </COMPONENT> -<CONNECTOR type="115" id="7658" > -<cdparam x="582" y="294" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from read channel to execI" value="null" /> -<P1 x="580" y="292" id="7639" /> -<P2 x="579" y="312" id="7642" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="7659" > -<cdparam x="581" y="156" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to read args" value="null" /> -<P1 x="581" y="156" id="7656" /> -<P2 x="581" y="174" id="7653" /> -<AutomaticDrawing data="true" /> -</CONNECTOR> -<CONNECTOR type="115" id="7660" > -<cdparam x="581" y="204" /> +<CONNECTOR type="115" id="7634" > +<cdparam x="493" y="139" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from read args to read channel" value="null" /> -<P1 x="581" y="204" id="7654" /> -<P2 x="580" y="227" id="7650" /> +<infoparam name="connector from start state to wait event" value="null" /> +<P1 x="493" y="139" id="7632" /> +<P2 x="493" y="174" id="7629" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7661" > -<cdparam x="577" y="343" /> +<CONNECTOR type="115" id="7635" > +<cdparam x="493" y="333" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from execI to write channel" value="null" /> -<P1 x="579" y="352" id="7643" /> -<P2 x="578" y="370" id="7647" /> +<infoparam name="connector from send event to stop state" value="null" /> +<P1 x="493" y="333" id="7627" /> +<P2 x="493" y="362" id="7624" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7662" > -<cdparam x="577" y="399" /> +<CONNECTOR type="115" id="7636" > +<cdparam x="493" y="204" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="578" y="400" id="7648" /> -<P2 x="578" y="431" id="7645" /> +<infoparam name="connector from wait event to send request" value="null" /> +<P1 x="493" y="204" id="7630" /> +<P2 x="493" y="233" id="7621" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7663" > -<cdparam x="580" y="257" /> +<CONNECTOR type="115" id="7637" > +<cdparam x="501" y="260" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from read channel to read channel" value="null" /> -<P1 x="580" y="257" id="7651" /> -<P2 x="580" y="262" id="7638" /> +<infoparam name="connector from send request to send event" value="null" /> +<P1 x="493" y="263" id="7622" /> +<P2 x="493" y="303" id="7626" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="F_cwa" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1016" id="7671" > +<COMPONENT type="1016" id="7645" > <cdparam x="487" y="138" /> <sizeparam width="150" height="5" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="sequence" value="null" /> -<TGConnectingPoint num="0" id="7665" /> -<TGConnectingPoint num="1" id="7666" /> -<TGConnectingPoint num="2" id="7667" /> -<TGConnectingPoint num="3" id="7668" /> -<TGConnectingPoint num="4" id="7669" /> -<TGConnectingPoint num="5" id="7670" /> -</COMPONENT> -<SUBCOMPONENT type="-1" id="7664" > -<father id="7671" num="0" /> +<TGConnectingPoint num="0" id="7639" /> +<TGConnectingPoint num="1" id="7640" /> +<TGConnectingPoint num="2" id="7641" /> +<TGConnectingPoint num="3" id="7642" /> +<TGConnectingPoint num="4" id="7643" /> +<TGConnectingPoint num="5" id="7644" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="7638" > +<father id="7645" num="0" /> <cdparam x="641" y="145" /> <sizeparam width="20" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -18766,39 +18756,39 @@ sequence diagram. <infoparam name="Sequence" value=">>" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="7673" > +<COMPONENT type="1001" id="7647" > <cdparam x="437" y="323" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7672" /> +<TGConnectingPoint num="0" id="7646" /> </COMPONENT> -<COMPONENT type="1001" id="7675" > +<COMPONENT type="1001" id="7649" > <cdparam x="356" y="319" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7674" /> +<TGConnectingPoint num="0" id="7648" /> </COMPONENT> -<COMPONENT type="1032" id="7683" > +<COMPONENT type="1032" id="7657" > <cdparam x="342" y="208" /> <sizeparam width="150" height="5" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="random sequence" value="null" /> -<TGConnectingPoint num="0" id="7677" /> -<TGConnectingPoint num="1" id="7678" /> -<TGConnectingPoint num="2" id="7679" /> -<TGConnectingPoint num="3" id="7680" /> -<TGConnectingPoint num="4" id="7681" /> -<TGConnectingPoint num="5" id="7682" /> -</COMPONENT> -<SUBCOMPONENT type="-1" id="7676" > -<father id="7683" num="0" /> +<TGConnectingPoint num="0" id="7651" /> +<TGConnectingPoint num="1" id="7652" /> +<TGConnectingPoint num="2" id="7653" /> +<TGConnectingPoint num="3" id="7654" /> +<TGConnectingPoint num="4" id="7655" /> +<TGConnectingPoint num="5" id="7656" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="7650" > +<father id="7657" num="0" /> <cdparam x="496" y="215" /> <sizeparam width="20" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -18806,263 +18796,308 @@ sequence diagram. <infoparam name="Random sequence" value="<>" /> </SUBCOMPONENT> -<COMPONENT type="1007" id="7686" > +<COMPONENT type="1007" id="7660" > <cdparam x="625" y="206" /> <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="send request" value="r_cwa(size)" /> -<TGConnectingPoint num="0" id="7684" /> -<TGConnectingPoint num="1" id="7685" /> +<TGConnectingPoint num="0" id="7658" /> +<TGConnectingPoint num="1" id="7659" /> <extraparam> <Data requestName="r_cwa" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="7688" > +<COMPONENT type="1001" id="7662" > <cdparam x="654" y="335" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7687" /> +<TGConnectingPoint num="0" id="7661" /> </COMPONENT> -<COMPONENT type="1008" id="7691" > +<COMPONENT type="1008" id="7665" > <cdparam x="617" y="276" /> <sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="send event" value="cwa_out(size)" /> -<TGConnectingPoint num="0" id="7689" /> -<TGConnectingPoint num="1" id="7690" /> +<TGConnectingPoint num="0" id="7663" /> +<TGConnectingPoint num="1" id="7664" /> <extraparam> <Data eventName="cwa_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7693" > +<COMPONENT type="1000" id="7667" > <cdparam x="555" y="80" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7692" /> +<TGConnectingPoint num="0" id="7666" /> </COMPONENT> -<COMPONENT type="1010" id="7696" > +<COMPONENT type="1010" id="7670" > <cdparam x="333" y="259" /> <sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="wait event" value="in1(size) " /> -<TGConnectingPoint num="0" id="7694" /> -<TGConnectingPoint num="1" id="7695" /> +<TGConnectingPoint num="0" id="7668" /> +<TGConnectingPoint num="1" id="7669" /> <extraparam> <Data eventName="in1" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="7699" > +<COMPONENT type="1010" id="7673" > <cdparam x="414" y="259" /> <sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="wait event" value="in2(size) " /> -<TGConnectingPoint num="0" id="7697" /> -<TGConnectingPoint num="1" id="7698" /> +<TGConnectingPoint num="0" id="7671" /> +<TGConnectingPoint num="1" id="7672" /> <extraparam> <Data eventName="in2" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<CONNECTOR type="115" id="7700" > +<CONNECTOR type="115" id="7674" > <cdparam x="597" y="144" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from sequence to send request" value="null" /> -<P1 x="587" y="143" id="7669" /> -<P2 x="664" y="201" id="7684" /> +<P1 x="587" y="143" id="7643" /> +<P2 x="664" y="201" id="7658" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7701" > +<CONNECTOR type="115" id="7675" > <cdparam x="522" y="144" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from sequence to random sequence" value="null" /> -<P1 x="512" y="143" id="7666" /> -<P2 x="417" y="208" id="7677" /> +<P1 x="512" y="143" id="7640" /> +<P2 x="417" y="208" id="7651" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7702" > +<CONNECTOR type="115" id="7676" > <cdparam x="391" y="213" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from random sequence to wait event" value="null" /> -<P1 x="391" y="213" id="7679" /> -<P2 x="366" y="254" id="7694" /> +<P1 x="391" y="213" id="7653" /> +<P2 x="366" y="254" id="7668" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7703" > +<CONNECTOR type="115" id="7677" > <cdparam x="391" y="213" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from random sequence to wait event" value="null" /> -<P1 x="442" y="213" id="7681" /> -<P2 x="447" y="254" id="7697" /> +<P1 x="442" y="213" id="7655" /> +<P2 x="447" y="254" id="7671" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7704" > +<CONNECTOR type="115" id="7678" > <cdparam x="664" y="301" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send event to stop state" value="null" /> -<P1 x="664" y="301" id="7690" /> -<P2 x="664" y="330" id="7687" /> +<P1 x="664" y="301" id="7664" /> +<P2 x="664" y="330" id="7661" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7705" > +<CONNECTOR type="115" id="7679" > <cdparam x="672" y="228" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send request to send event" value="null" /> -<P1 x="664" y="231" id="7685" /> -<P2 x="664" y="271" id="7689" /> +<P1 x="664" y="231" id="7659" /> +<P2 x="664" y="271" id="7663" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7706" > +<CONNECTOR type="115" id="7680" > <cdparam x="366" y="284" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from wait event to stop state" value="null" /> -<P1 x="366" y="284" id="7695" /> -<P2 x="366" y="314" id="7674" /> +<P1 x="366" y="284" id="7669" /> +<P2 x="366" y="314" id="7648" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7707" > +<CONNECTOR type="115" id="7681" > <cdparam x="447" y="284" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from wait event to stop state" value="null" /> -<P1 x="447" y="284" id="7698" /> -<P2 x="447" y="318" id="7672" /> +<P1 x="447" y="284" id="7672" /> +<P2 x="447" y="318" id="7646" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7708" > +<CONNECTOR type="115" id="7682" > <cdparam x="572" y="101" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to sequence" value="null" /> -<P1 x="562" y="100" id="7692" /> -<P2 x="562" y="138" id="7665" /> +<P1 x="562" y="100" id="7666" /> +<P2 x="562" y="138" id="7639" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_sum" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1007" id="7711" > -<cdparam x="473" y="176" /> -<sizeparam width="76" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="X_cwa" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1009" id="7685" > +<cdparam x="547" y="267" /> +<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="r_sum(size)" /> -<TGConnectingPoint num="0" id="7709" /> -<TGConnectingPoint num="1" id="7710" /> +<infoparam name="read channel" value="in2(size) " /> +<TGConnectingPoint num="0" id="7683" /> +<TGConnectingPoint num="1" id="7684" /> <extraparam> -<Data requestName="r_sum" nbOfParams="5" /> -<Param index="0" value="size" /> +<Data channelName="in2" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="7713" > -<cdparam x="501" y="305" /> +<COMPONENT type="1013" id="7689" > +<cdparam x="574" y="317" /> +<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="execI" value="null" /> +<TGConnectingPoint num="0" id="7687" /> +<TGConnectingPoint num="1" id="7688" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="7686" > +<father id="7689" num="0" /> +<cdparam x="589" y="337" /> +<sizeparam width="57" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> +<infoparam name="value of the delay" value="size + 10" /> +</SUBCOMPONENT> + +<COMPONENT type="1001" id="7691" > +<cdparam x="568" y="436" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7712" /> +<TGConnectingPoint num="0" id="7690" /> </COMPONENT> -<COMPONENT type="1008" id="7716" > -<cdparam x="467" y="246" /> -<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1006" id="7694" > +<cdparam x="531" y="375" /> +<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="sum_out(size)" /> -<TGConnectingPoint num="0" id="7714" /> -<TGConnectingPoint num="1" id="7715" /> +<infoparam name="write channel" value="cwa_out(size)" /> +<TGConnectingPoint num="0" id="7692" /> +<TGConnectingPoint num="1" id="7693" /> <extraparam> -<Data eventName="sum_out" nbOfParams="5" /> -<Param index="0" value="size" /> +<Data channelName="cwa_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="7719" > -<cdparam x="484" y="117" /> -<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1009" id="7697" > +<cdparam x="547" y="232" /> +<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="wait event" value="in(size) " /> -<TGConnectingPoint num="0" id="7717" /> -<TGConnectingPoint num="1" id="7718" /> +<infoparam name="read channel" value="in1(size) " /> +<TGConnectingPoint num="0" id="7695" /> +<TGConnectingPoint num="1" id="7696" /> <extraparam> -<Data eventName="in" nbOfParams="5" /> +<Data channelName="in1" nbOfSamples="size" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1034" id="7700" > +<cdparam x="525" y="179" /> +<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="read args" value="getReqArg (size)" /> +<TGConnectingPoint num="0" id="7698" /> +<TGConnectingPoint num="1" id="7699" /> +<extraparam> +<Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7721" > -<cdparam x="504" y="57" /> +<COMPONENT type="1000" id="7702" > +<cdparam x="574" y="136" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7720" /> +<TGConnectingPoint num="0" id="7701" /> </COMPONENT> -<CONNECTOR type="115" id="7722" > -<cdparam x="511" y="77" /> +<CONNECTOR type="115" id="7703" > +<cdparam x="582" y="294" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to wait event" value="null" /> -<P1 x="511" y="77" id="7720" /> -<P2 x="511" y="112" id="7717" /> +<infoparam name="connector from read channel to execI" value="null" /> +<P1 x="580" y="292" id="7684" /> +<P2 x="579" y="312" id="7687" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7723" > -<cdparam x="511" y="271" /> +<CONNECTOR type="115" id="7704" > +<cdparam x="581" y="156" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from send event to stop state" value="null" /> -<P1 x="511" y="271" id="7715" /> -<P2 x="511" y="300" id="7712" /> +<infoparam name="connector from start state to read args" value="null" /> +<P1 x="581" y="156" id="7701" /> +<P2 x="581" y="174" id="7698" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7724" > -<cdparam x="511" y="142" /> +<CONNECTOR type="115" id="7705" > +<cdparam x="581" y="204" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from wait event to send request" value="null" /> -<P1 x="511" y="142" id="7718" /> -<P2 x="511" y="171" id="7709" /> +<infoparam name="connector from read args to read channel" value="null" /> +<P1 x="581" y="204" id="7699" /> +<P2 x="580" y="227" id="7695" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7725" > -<cdparam x="519" y="198" /> +<CONNECTOR type="115" id="7706" > +<cdparam x="577" y="343" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from send request to send event" value="null" /> -<P1 x="511" y="201" id="7710" /> -<P2 x="511" y="241" id="7714" /> +<infoparam name="connector from execI to write channel" value="null" /> +<P1 x="579" y="352" id="7688" /> +<P2 x="578" y="370" id="7692" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="7707" > +<cdparam x="577" y="399" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from write channel to stop state" value="null" /> +<P1 x="578" y="400" id="7693" /> +<P2 x="578" y="431" id="7690" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="7708" > +<cdparam x="580" y="257" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from read channel to read channel" value="null" /> +<P1 x="580" y="257" id="7696" /> +<P2 x="580" y="262" id="7683" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_sum" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="7729" > +<COMPONENT type="1013" id="7712" > <cdparam x="563" y="213" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7727" /> -<TGConnectingPoint num="1" id="7728" /> +<TGConnectingPoint num="0" id="7710" /> +<TGConnectingPoint num="1" id="7711" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="7726" > -<father id="7729" num="0" /> +<SUBCOMPONENT type="-1" id="7709" > +<father id="7712" num="0" /> <cdparam x="578" y="233" /> <sizeparam width="57" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -19070,215 +19105,215 @@ sequence diagram. <infoparam name="value of the delay" value="size + 10" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="7731" > +<COMPONENT type="1001" id="7714" > <cdparam x="559" y="341" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7730" /> +<TGConnectingPoint num="0" id="7713" /> </COMPONENT> -<COMPONENT type="1006" id="7734" > +<COMPONENT type="1006" id="7717" > <cdparam x="520" y="279" /> <sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="sum_out(size)" /> -<TGConnectingPoint num="0" id="7732" /> -<TGConnectingPoint num="1" id="7733" /> +<TGConnectingPoint num="0" id="7715" /> +<TGConnectingPoint num="1" id="7716" /> <extraparam> <Data channelName="sum_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1009" id="7737" > +<COMPONENT type="1009" id="7720" > <cdparam x="539" y="159" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="in(size) " /> -<TGConnectingPoint num="0" id="7735" /> -<TGConnectingPoint num="1" id="7736" /> +<TGConnectingPoint num="0" id="7718" /> +<TGConnectingPoint num="1" id="7719" /> <extraparam> <Data channelName="in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7740" > +<COMPONENT type="1034" id="7723" > <cdparam x="513" y="106" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7738" /> -<TGConnectingPoint num="1" id="7739" /> +<TGConnectingPoint num="0" id="7721" /> +<TGConnectingPoint num="1" id="7722" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7742" > +<COMPONENT type="1000" id="7725" > <cdparam x="562" y="63" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7741" /> +<TGConnectingPoint num="0" id="7724" /> </COMPONENT> -<CONNECTOR type="115" id="7743" > +<CONNECTOR type="115" id="7726" > <cdparam x="569" y="83" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to read args" value="null" /> -<P1 x="569" y="83" id="7741" /> -<P2 x="569" y="101" id="7738" /> +<P1 x="569" y="83" id="7724" /> +<P2 x="569" y="101" id="7721" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7744" > +<CONNECTOR type="115" id="7727" > <cdparam x="569" y="131" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read args to read channel" value="null" /> -<P1 x="569" y="131" id="7739" /> -<P2 x="568" y="154" id="7735" /> +<P1 x="569" y="131" id="7722" /> +<P2 x="568" y="154" id="7718" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7745" > +<CONNECTOR type="115" id="7728" > <cdparam x="568" y="184" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read channel to execI" value="null" /> -<P1 x="568" y="184" id="7736" /> -<P2 x="568" y="208" id="7727" /> +<P1 x="568" y="184" id="7719" /> +<P2 x="568" y="208" id="7710" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7746" > +<CONNECTOR type="115" id="7729" > <cdparam x="568" y="248" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from execI to write channel" value="null" /> -<P1 x="568" y="248" id="7728" /> -<P2 x="568" y="274" id="7732" /> +<P1 x="568" y="248" id="7711" /> +<P2 x="568" y="274" id="7715" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7747" > +<CONNECTOR type="115" id="7730" > <cdparam x="568" y="304" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="568" y="304" id="7733" /> -<P2 x="569" y="336" id="7730" /> +<P1 x="568" y="304" id="7716" /> +<P2 x="569" y="336" id="7713" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="F_dma1" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1007" id="7750" > -<cdparam x="387" y="227" /> -<sizeparam width="86" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<TMLActivityDiagramPanel name="F_sum" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1007" id="7733" > +<cdparam x="473" y="176" /> +<sizeparam width="76" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send request" value="r_dma1(size)" /> -<TGConnectingPoint num="0" id="7748" /> -<TGConnectingPoint num="1" id="7749" /> +<infoparam name="send request" value="r_sum(size)" /> +<TGConnectingPoint num="0" id="7731" /> +<TGConnectingPoint num="1" id="7732" /> <extraparam> -<Data requestName="r_dma1" nbOfParams="5" /> +<Data requestName="r_sum" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1001" id="7752" > -<cdparam x="420" y="356" /> +<COMPONENT type="1001" id="7735" > +<cdparam x="501" y="305" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7751" /> +<TGConnectingPoint num="0" id="7734" /> </COMPONENT> -<COMPONENT type="1008" id="7755" > -<cdparam x="381" y="297" /> -<sizeparam width="99" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1008" id="7738" > +<cdparam x="467" y="246" /> +<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="send event" value="dma1_out(size)" /> -<TGConnectingPoint num="0" id="7753" /> -<TGConnectingPoint num="1" id="7754" /> +<infoparam name="send event" value="sum_out(size)" /> +<TGConnectingPoint num="0" id="7736" /> +<TGConnectingPoint num="1" id="7737" /> <extraparam> -<Data eventName="dma1_out" nbOfParams="5" /> +<Data eventName="sum_out" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1010" id="7758" > -<cdparam x="403" y="168" /> +<COMPONENT type="1010" id="7741" > +<cdparam x="484" y="117" /> <sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="wait event" value="in(size) " /> -<TGConnectingPoint num="0" id="7756" /> -<TGConnectingPoint num="1" id="7757" /> +<TGConnectingPoint num="0" id="7739" /> +<TGConnectingPoint num="1" id="7740" /> <extraparam> <Data eventName="in" nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7760" > -<cdparam x="423" y="108" /> +<COMPONENT type="1000" id="7743" > +<cdparam x="504" y="57" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7759" /> +<TGConnectingPoint num="0" id="7742" /> </COMPONENT> -<CONNECTOR type="115" id="7761" > -<cdparam x="430" y="128" /> +<CONNECTOR type="115" id="7744" > +<cdparam x="511" y="77" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to wait event" value="null" /> -<P1 x="430" y="128" id="7759" /> -<P2 x="430" y="163" id="7756" /> +<P1 x="511" y="77" id="7742" /> +<P2 x="511" y="112" id="7739" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7762" > -<cdparam x="430" y="322" /> +<CONNECTOR type="115" id="7745" > +<cdparam x="511" y="271" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send event to stop state" value="null" /> -<P1 x="430" y="322" id="7754" /> -<P2 x="430" y="351" id="7751" /> +<P1 x="511" y="271" id="7737" /> +<P2 x="511" y="300" id="7734" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7763" > -<cdparam x="430" y="193" /> +<CONNECTOR type="115" id="7746" > +<cdparam x="511" y="142" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from wait event to send request" value="null" /> -<P1 x="430" y="193" id="7757" /> -<P2 x="430" y="222" id="7748" /> +<P1 x="511" y="142" id="7740" /> +<P2 x="511" y="171" id="7731" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7764" > -<cdparam x="438" y="249" /> +<CONNECTOR type="115" id="7747" > +<cdparam x="519" y="198" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from send request to send event" value="null" /> -<P1 x="430" y="252" id="7749" /> -<P2 x="430" y="292" id="7753" /> +<P1 x="511" y="201" id="7732" /> +<P2 x="511" y="241" id="7736" /> <AutomaticDrawing data="true" /> </CONNECTOR> </TMLActivityDiagramPanel> <TMLActivityDiagramPanel name="X_dma1" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="1013" id="7768" > +<COMPONENT type="1013" id="7751" > <cdparam x="544" y="266" /> <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="7766" /> -<TGConnectingPoint num="1" id="7767" /> +<TGConnectingPoint num="0" id="7749" /> +<TGConnectingPoint num="1" id="7750" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="7765" > -<father id="7768" num="0" /> +<SUBCOMPONENT type="-1" id="7748" > +<father id="7751" num="0" /> <cdparam x="559" y="286" /> <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -19286,102 +19321,198 @@ sequence diagram. <infoparam name="value of the delay" value="size" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="7770" > +<COMPONENT type="1001" id="7753" > <cdparam x="540" y="394" /> <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="7769" /> +<TGConnectingPoint num="0" id="7752" /> </COMPONENT> -<COMPONENT type="1006" id="7773" > +<COMPONENT type="1006" id="7756" > <cdparam x="497" y="332" /> <sizeparam width="105" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="write channel" value="dma1_out(size)" /> -<TGConnectingPoint num="0" id="7771" /> -<TGConnectingPoint num="1" id="7772" /> +<TGConnectingPoint num="0" id="7754" /> +<TGConnectingPoint num="1" id="7755" /> <extraparam> <Data channelName="dma1_out" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1009" id="7776" > +<COMPONENT type="1009" id="7759" > <cdparam x="520" y="212" /> <sizeparam width="58" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read channel" value="in(size) " /> -<TGConnectingPoint num="0" id="7774" /> -<TGConnectingPoint num="1" id="7775" /> +<TGConnectingPoint num="0" id="7757" /> +<TGConnectingPoint num="1" id="7758" /> <extraparam> <Data channelName="in" nbOfSamples="size" secPattern="" /> </extraparam> </COMPONENT> -<COMPONENT type="1034" id="7779" > +<COMPONENT type="1034" id="7762" > <cdparam x="494" y="159" /> <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="read args" value="getReqArg (size)" /> -<TGConnectingPoint num="0" id="7777" /> -<TGConnectingPoint num="1" id="7778" /> +<TGConnectingPoint num="0" id="7760" /> +<TGConnectingPoint num="1" id="7761" /> <extraparam> <Data nbOfParams="5" /> <Param index="0" value="size" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="7781" > +<COMPONENT type="1000" id="7764" > <cdparam x="543" y="116" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="7780" /> +<TGConnectingPoint num="0" id="7763" /> </COMPONENT> -<CONNECTOR type="115" id="7782" > +<CONNECTOR type="115" id="7765" > <cdparam x="550" y="136" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to read args" value="null" /> -<P1 x="550" y="136" id="7780" /> -<P2 x="550" y="154" id="7777" /> +<P1 x="550" y="136" id="7763" /> +<P2 x="550" y="154" id="7760" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7783" > +<CONNECTOR type="115" id="7766" > <cdparam x="550" y="184" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read args to read channel" value="null" /> -<P1 x="550" y="184" id="7778" /> -<P2 x="549" y="207" id="7774" /> +<P1 x="550" y="184" id="7761" /> +<P2 x="549" y="207" id="7757" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7784" > +<CONNECTOR type="115" id="7767" > <cdparam x="549" y="237" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from read channel to execI" value="null" /> -<P1 x="549" y="237" id="7775" /> -<P2 x="549" y="261" id="7766" /> +<P1 x="549" y="237" id="7758" /> +<P2 x="549" y="261" id="7749" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7785" > +<CONNECTOR type="115" id="7768" > <cdparam x="549" y="301" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from execI to write channel" value="null" /> -<P1 x="549" y="301" id="7767" /> -<P2 x="549" y="327" id="7771" /> +<P1 x="549" y="301" id="7750" /> +<P2 x="549" y="327" id="7754" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="115" id="7786" > +<CONNECTOR type="115" id="7769" > <cdparam x="549" y="357" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from write channel to stop state" value="null" /> -<P1 x="549" y="357" id="7772" /> -<P2 x="550" y="389" id="7769" /> +<P1 x="549" y="357" id="7755" /> +<P2 x="550" y="389" id="7752" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="F_dma1" minX="10" maxX="1400" minY="10" maxY="900" > +<COMPONENT type="1007" id="7772" > +<cdparam x="387" y="227" /> +<sizeparam width="86" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="send request" value="r_dma1(size)" /> +<TGConnectingPoint num="0" id="7770" /> +<TGConnectingPoint num="1" id="7771" /> +<extraparam> +<Data requestName="r_dma1" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1001" id="7774" > +<cdparam x="420" y="356" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="7773" /> +</COMPONENT> + +<COMPONENT type="1008" id="7777" > +<cdparam x="381" y="297" /> +<sizeparam width="99" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="send event" value="dma1_out(size)" /> +<TGConnectingPoint num="0" id="7775" /> +<TGConnectingPoint num="1" id="7776" /> +<extraparam> +<Data eventName="dma1_out" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1010" id="7780" > +<cdparam x="403" y="168" /> +<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="wait event" value="in(size) " /> +<TGConnectingPoint num="0" id="7778" /> +<TGConnectingPoint num="1" id="7779" /> +<extraparam> +<Data eventName="in" nbOfParams="5" /> +<Param index="0" value="size" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="7782" > +<cdparam x="423" y="108" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="7781" /> +</COMPONENT> + +<CONNECTOR type="115" id="7783" > +<cdparam x="430" y="128" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from start state to wait event" value="null" /> +<P1 x="430" y="128" id="7781" /> +<P2 x="430" y="163" id="7778" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="7784" > +<cdparam x="430" y="322" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from send event to stop state" value="null" /> +<P1 x="430" y="322" id="7776" /> +<P2 x="430" y="351" id="7773" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="7785" > +<cdparam x="430" y="193" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from wait event to send request" value="null" /> +<P1 x="430" y="193" id="7779" /> +<P2 x="430" y="222" id="7770" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="7786" > +<cdparam x="438" y="249" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from send request to send event" value="null" /> +<P1 x="430" y="252" id="7771" /> +<P2 x="430" y="292" id="7775" /> <AutomaticDrawing data="true" /> </CONNECTOR> diff --git a/src/ui/ActionPerformer.java b/src/ui/ActionPerformer.java index 9c738ef40ea99e3fb0075a3ae2a1f12abd59b7ef..878aedb46322d205f0ff92eb012e775f38d98a8f 100755 --- a/src/ui/ActionPerformer.java +++ b/src/ui/ActionPerformer.java @@ -62,7 +62,9 @@ public class ActionPerformer { mgui.newDesign(); } else if (command.equals(mgui.actions[TGUIAction.ACT_NEW_ANALYSIS].getActionCommand())) { mgui.newAnalysis(); - } else if (command.equals(mgui.actions[TGUIAction.ACT_OPEN].getActionCommand())) { + } else if (command.equals(mgui.actions[TGUIAction.ACT_OPEN_FROM_NETWORK].getActionCommand())) { + mgui.openNetworkProject(); + } else if (command.equals(mgui.actions[TGUIAction.ACT_OPEN].getActionCommand())) { mgui.openProject(); } else if (command.equals(mgui.actions[TGUIAction.ACT_MERGE].getActionCommand())) { mgui.mergeProject(); diff --git a/src/ui/ConfigurationTTool.java b/src/ui/ConfigurationTTool.java index f6ca68e6ba383a620fff5a3eb0a8c24ff9c9113b..6928d0b0a895bdae74812fc8d38039ddecb05341 100755 --- a/src/ui/ConfigurationTTool.java +++ b/src/ui/ConfigurationTTool.java @@ -144,6 +144,10 @@ public class ConfigurationTTool { // PLUGINS public static String PLUGIN_JAVA_CODE_GENERATOR = ""; + // URL for models + public static String URL_MODEL = "http://ttool.telecom-paristech.fr/networkmodels/models.txt"; + + // Others public static String LastOpenFile = ""; public static boolean LastOpenFileDefined = false; @@ -447,6 +451,9 @@ public class ConfigurationTTool { sb.append("Plugins:\n"); sb.append("Plugin for java code generation: " + PLUGIN_JAVA_CODE_GENERATOR + "\n"); + // URL + sb.append("URLs:\n"); + sb.append("URL for loading models from network: " + URL_MODEL + "\n"); sb.append("\nCustom external commands:\n"); sb.append("ExternalCommand1Host: " + ExternalCommand1Host + "\n"); @@ -723,6 +730,10 @@ public class ConfigurationTTool { if (nl.getLength() > 0) PluginJavaCodeGenerator(nl); + nl = doc.getElementsByTagName("URL_MODEL"); + if (nl.getLength() > 0) + URLModel(nl); + nl = doc.getElementsByTagName("LastOpenFile"); if (nl.getLength() > 0) LastOpenFile(nl); @@ -1395,6 +1406,16 @@ public class ConfigurationTTool { } } + private static void URLModel(NodeList nl) throws MalformedConfigurationException { + try { + Element elt = (Element)(nl.item(0)); + URL_MODEL = elt.getAttribute("data"); + } catch (Exception e) { + throw new MalformedConfigurationException(e.getMessage()); + } + } + + private static void LastOpenFile(NodeList nl) throws MalformedConfigurationException { try { Element elt = (Element)(nl.item(0)); diff --git a/src/ui/DefaultText.java b/src/ui/DefaultText.java index 23d4d801171d27e4ec9b9d79796e0cca1f29285b..cbbd56293685ba4f12e83dbcd5611cc95e990169 100755 --- a/src/ui/DefaultText.java +++ b/src/ui/DefaultText.java @@ -49,8 +49,8 @@ package ui; public class DefaultText { - public static String BUILD = "12239"; - public static String DATE = "2017/05/29 02:01:03 CET"; + public static String BUILD = "12240"; + public static String DATE = "2017/05/30 02:01:03 CET"; public static StringBuffer sbAbout = makeAbout(); diff --git a/src/ui/JMenuBarTurtle.java b/src/ui/JMenuBarTurtle.java index b5f56eae6306688700341f01353cbcbdf6bcfc59..42860940f3e198bb0c5757c086db2e11cf08193e 100755 --- a/src/ui/JMenuBarTurtle.java +++ b/src/ui/JMenuBarTurtle.java @@ -94,6 +94,8 @@ public class JMenuBarTurtle extends JMenuBar { menuItem.addMouseListener(mgui.mouseHandler); menuItem = file.add(mgui.actions[TGUIAction.ACT_OPEN]); menuItem.addMouseListener(mgui.mouseHandler); + menuItem = file.add(mgui.actions[TGUIAction.ACT_OPEN_FROM_NETWORK]); + menuItem.addMouseListener(mgui.mouseHandler); menuItem = file.add(mgui.actions[TGUIAction.ACT_SAVE]); menuItem.addMouseListener(mgui.mouseHandler); menuItem = file.add(mgui.actions[TGUIAction.ACT_SAVE_AS]); diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java index d739b44f42bbd5e3fb64c9590f9442f2be149184..69b058ad7534cf0eaf48968d8bbd214acc68b4b1 100644 --- a/src/ui/MainGUI.java +++ b/src/ui/MainGUI.java @@ -100,6 +100,8 @@ import javax.swing.UIManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; + +import ui.networkmodelloader.*; import avatartranslator.AvatarSpecification; import ddtranslatorSoclib.AvatarddSpecification; import ddtranslatorSoclib.toSoclib.TasksAndMainGenerator; @@ -160,1114 +162,1114 @@ import ui.window.*; public class MainGUI implements ActionListener, WindowListener, KeyListener, PeriodicBehavior { - public static boolean systemcOn; - public static boolean lotosOn; - public static boolean proactiveOn; - public static boolean tpnOn; - public static boolean osOn; - public static boolean uppaalOn; - public static boolean ncOn; - public static boolean avatarOn; - public static boolean proverifOn; - public static boolean experimentalOn; - public static boolean avatarOnly; - public static boolean turtleOn; - - public final static int LOTOS = 0; - public final static int RT_LOTOS = 1; - public final static int UPPAAL = 2; - public final static int JAVA = 3; - public final static int DESIGN = 4; - - public JFrame frame; //Main Frame - public Container framePanel; //Main pane - public Container panelForTab, panelForTree; //panelForAnalysisTab; //panelForDesignTab; - public JSplitPane split; - - // Multi analysis / design / deployment - public Vector<TURTLEPanel> tabs; - /* This dummySelectedTab is used when loading a model from XML. - * It enables to use standard getCurrentTURTLEPanel even though - * the mainTabbedPane has not yet been created. - */ - private TURTLEPanel dummySelectedTab; - - // JTree - public JDiagramTree dtree; - public DiagramTreeModel dtm; - - // Actions - public TGUIAction [] actions; - public MouseHandler mouseHandler; - public KeyListener keyHandler; - - // Validation - public LinkedList<TClassInterface> tclassesToValidate = new LinkedList<TClassInterface> (); - - // Status bar - private JLabel status; - - //Menubar - private JMenuBarTurtle jmenubarturtle; - - // Communication key - private String sk; - - - // Annex windows - JFrameCode javaframe; - JFrameBird birdframe; - private boolean hasChanged = false; - - //@author: Huy TRUONG - public JDialogSearchBox searchBox; - - - public final static byte NOT_OPENED = 0; - public final static byte OPENED = 1; - public final static byte MODEL_OK = 2; - public final static byte MODEL_CHANGED = 3; - public final static byte MODEL_SAVED = 4; - public final static byte RTLOTOS_OK = 5; - public final static byte BACKWARD = 6; - public final static byte NO_BACKWARD = 7; - public final static byte FORWARD = 8; - public final static byte NO_FORWARD = 9; - public final static byte FORWARD_DIAG = 10; - public final static byte BACKWARD_DIAG = 11; - public final static byte NO_FORWARD_DIAG = 12; - public final static byte NO_BACKWARD_DIAG = 13; - public final static byte DTADOT_OK = 14; - public final static byte DTADOT_KO = 15; - public final static byte RGDOT_OK = 16; - public final static byte RGDOT_KO = 17; - public final static byte TLSADOT_OK = 31; - public final static byte TLSADOT_KO = 32; - public final static byte SIM_OK = 18; - public final static byte SIM_KO = 19; - public final static byte CUTCOPY_OK = 20; - public final static byte CUTCOPY_KO = 21; - public final static byte PASTE_OK = 22; - public final static byte RGAUTDOT_OK = 23; - public final static byte RGAUTDOT_KO = 24; - public final static byte RGAUT_OK = 25; - public final static byte RGAUT_KO = 26; - public final static byte RGAUTPROJDOT_OK = 27; - public final static byte RGAUTPROJDOT_KO = 28; - public final static byte EXPORT_LIB_OK = 29; - public final static byte EXPORT_LIB_KO = 30; - public final static byte METHO_CHANGED = 33; - public final static byte VIEW_SUGG_DESIGN_OK = 34; - public final static byte VIEW_SUGG_DESIGN_KO = 35; - public final static byte GEN_DESIGN_OK = 36; - public final static byte GEN_DESIGN_KO = 37; - public final static byte GEN_SYSTEMC_OK = 38; - public final static byte GEN_SYSTEMC_KO = 39; - public final static byte VIEW_WAVE_OK = 40; - public final static byte REQ_OK = 41; - public final static byte UPPAAL_OK = 42; - public final static byte NC_OK = 43; - public final static byte MODEL_UPPAAL_OK = 44; - public final static byte MODEL_PROVERIF_OK = 45; - public final static byte EDIT_PROVERIF_OK = 46; - public final static byte AVATAR_SYNTAXCHECKING_OK = 47; - public final static byte PANEL_CHANGED = 48; - public final static byte ATTACKTREE_SYNTAXCHECKING_OK = 49; - - public final static int INCREMENT = 10; - - public static Object BACK_COLOR; - //public static Object BACK_COLOR; - - public final static String REMOTE_RTL_LOTOS_FILE = "spec.lot"; - public final static String REMOTE_UPPAAL_FILE = "spec.xml"; - public final static String REMOTE_ALDEBARAN_AUT_FILE = "spec.aut"; - public final static String REMOTE_ALDEBARAN_BISIMU_FILE1 = "file1.aut"; - public final static String REMOTE_ALDEBARAN_BISIMU_FILE2 = "file2.aut"; - public final static String REMOTE_BISIMULATOR_FILE1 = "lts1bis"; - public final static String REMOTE_BISIMULATOR_FILE2 = "lts2bis"; - - public final static byte METHO_ANALYSIS = 0; - public final static byte METHO_DESIGN = 1; - public final static byte METHO_DEPLOY = 2; - - public byte mode; - public byte methoMode; - - // TURTLE Modeling - public GTURTLEModeling gtm; - - - //TURTLE modeling graphic components - private JTabbedPane mainTabbedPane; - private JToolBarMainTurtle mainBar; - //private JPopupMenu menuTabbedPane; - - private TDiagramPanel activetdp; - - // Modified graphs - private String modifiedaut; - private String modifiedautdot; - - private RG lastDiploRG; - - - // JBirdPanel - private JBirdPanel jbp; - - private int typeButtonSelected; - private int idButtonSelected; - - private File file; - private File lotosfile; - private File simfile; - private File dtafile; - private File dtadotfile; - private File rgfile; - private File rgdotfile; - private File tlsafile; - private File tlsadotfile; - private File rgautfile; - private File fc2file; - private File bcgfile; - private File rgautdotfile; - private File rgautprojfile; - private File rgautprojdotfile; - private JFileChooser jfc; - private JFileChooser jfclib; - private JFileChooser jfcimg; - private JFileChooser jfcimgsvg; - private JFileChooser jfcggraph; - private JFileChooser jfctgraph; - private JFileChooser jfclot; - private JFileChooser jfctif; - private JFileChooser jfcmsc; - - //private int selectedAction = -1; - - // Interaction with simulators - private ArrayList<RunningInfo> runningIDs; - private ArrayList<LoadInfo> loadIDs; - private ConcurrentHashMap<Integer, ArrayList<SimulationTransaction>> transactionMap = new ConcurrentHashMap<Integer, ArrayList<SimulationTransaction>>(); - private ConcurrentHashMap<String, String> statusMap = new ConcurrentHashMap<String, String>(); - private JFrameInteractiveSimulation jfis; - private JFrameAvatarInteractiveSimulation jfais; - - // Invariants - Invariant currentInvariant; - - // Thread for autosave - PeriodicBehaviorThread pbt; - - private TMLArchiPanel tmlap; // USed to retrieve the currently opened architecture panel - - // Plugin management - //public static PluginManager pluginManager; - - - public MainGUI(boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn, boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn, boolean - _avatarOnly, boolean _experimental) { - turtleOn = _turtleOn; - systemcOn = _systemcOn; - lotosOn = _lotosOn; - proactiveOn = _proactiveOn; - tpnOn = _tpnOn; - osOn = _osOn; - uppaalOn = _uppaalOn; - ncOn = _ncOn; - avatarOn = _avatarOn; - proverifOn = _proverifOn; - avatarOnly = _avatarOnly; - experimentalOn = _experimental; - - currentInvariant = null; - - pbt = new PeriodicBehaviorThread(this, 120000); // save every two minutes - - PluginManager.pluginManager = new PluginManager(); - - } - - public void setKey(String _sk) { - sk = _sk; - RshClient.sk = sk; - } - - public String getKey() { - return sk; - } - - - public boolean isAvatarOn() { - return avatarOn; - } - - - public void build() { - // Swing look and feel - - try { - UIManager.setLookAndFeel( - UIManager.getCrossPlatformLookAndFeelClassName()); - } catch (Exception e) { ErrorGUI.exit(ErrorGUI.GUI);} - - // Creating main container - frame = new JFrame("TTool"); - - frame.addWindowListener(this); - frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE ); - frame.setIconImage(IconManager.img8); - - framePanel = frame.getContentPane(); - framePanel.setLayout(new BorderLayout()); - - // file chooser - if (ConfigurationTTool.FILEPath.length() > 0) { - jfc = new JFileChooser(ConfigurationTTool.FILEPath); - } else { - jfc = new JFileChooser(); - } - - if (ConfigurationTTool.FILEPath.length() > 0) { - jfctif = new JFileChooser(ConfigurationTTool.FILEPath); - } else { - jfctif = new JFileChooser(); - } - - if (ConfigurationTTool.FILEPath.length() > 0) { - jfcmsc = new JFileChooser(ConfigurationTTool.FILEPath); - } else { - jfcmsc = new JFileChooser(); - } - - if (ConfigurationTTool.LIBPath.length() > 0) { - jfclib = new JFileChooser(ConfigurationTTool.LIBPath); - } else { - jfclib = new JFileChooser(); - } - - if (ConfigurationTTool.IMGPath.length() > 0) { - jfcimg = new JFileChooser(ConfigurationTTool.IMGPath); - } else { - jfcimg = new JFileChooser(); - } + public static boolean systemcOn; + public static boolean lotosOn; + public static boolean proactiveOn; + public static boolean tpnOn; + public static boolean osOn; + public static boolean uppaalOn; + public static boolean ncOn; + public static boolean avatarOn; + public static boolean proverifOn; + public static boolean experimentalOn; + public static boolean avatarOnly; + public static boolean turtleOn; + + public final static int LOTOS = 0; + public final static int RT_LOTOS = 1; + public final static int UPPAAL = 2; + public final static int JAVA = 3; + public final static int DESIGN = 4; + + public JFrame frame; //Main Frame + public Container framePanel; //Main pane + public Container panelForTab, panelForTree; //panelForAnalysisTab; //panelForDesignTab; + public JSplitPane split; + + // Multi analysis / design / deployment + public Vector<TURTLEPanel> tabs; + /* This dummySelectedTab is used when loading a model from XML. + * It enables to use standard getCurrentTURTLEPanel even though + * the mainTabbedPane has not yet been created. + */ + private TURTLEPanel dummySelectedTab; + + // JTree + public JDiagramTree dtree; + public DiagramTreeModel dtm; + + // Actions + public TGUIAction [] actions; + public MouseHandler mouseHandler; + public KeyListener keyHandler; + + // Validation + public LinkedList<TClassInterface> tclassesToValidate = new LinkedList<TClassInterface> (); + + // Status bar + private JLabel status; + + //Menubar + private JMenuBarTurtle jmenubarturtle; + + // Communication key + private String sk; + + + // Annex windows + JFrameCode javaframe; + JFrameBird birdframe; + private boolean hasChanged = false; + + //@author: Huy TRUONG + public JDialogSearchBox searchBox; + + + public final static byte NOT_OPENED = 0; + public final static byte OPENED = 1; + public final static byte MODEL_OK = 2; + public final static byte MODEL_CHANGED = 3; + public final static byte MODEL_SAVED = 4; + public final static byte RTLOTOS_OK = 5; + public final static byte BACKWARD = 6; + public final static byte NO_BACKWARD = 7; + public final static byte FORWARD = 8; + public final static byte NO_FORWARD = 9; + public final static byte FORWARD_DIAG = 10; + public final static byte BACKWARD_DIAG = 11; + public final static byte NO_FORWARD_DIAG = 12; + public final static byte NO_BACKWARD_DIAG = 13; + public final static byte DTADOT_OK = 14; + public final static byte DTADOT_KO = 15; + public final static byte RGDOT_OK = 16; + public final static byte RGDOT_KO = 17; + public final static byte TLSADOT_OK = 31; + public final static byte TLSADOT_KO = 32; + public final static byte SIM_OK = 18; + public final static byte SIM_KO = 19; + public final static byte CUTCOPY_OK = 20; + public final static byte CUTCOPY_KO = 21; + public final static byte PASTE_OK = 22; + public final static byte RGAUTDOT_OK = 23; + public final static byte RGAUTDOT_KO = 24; + public final static byte RGAUT_OK = 25; + public final static byte RGAUT_KO = 26; + public final static byte RGAUTPROJDOT_OK = 27; + public final static byte RGAUTPROJDOT_KO = 28; + public final static byte EXPORT_LIB_OK = 29; + public final static byte EXPORT_LIB_KO = 30; + public final static byte METHO_CHANGED = 33; + public final static byte VIEW_SUGG_DESIGN_OK = 34; + public final static byte VIEW_SUGG_DESIGN_KO = 35; + public final static byte GEN_DESIGN_OK = 36; + public final static byte GEN_DESIGN_KO = 37; + public final static byte GEN_SYSTEMC_OK = 38; + public final static byte GEN_SYSTEMC_KO = 39; + public final static byte VIEW_WAVE_OK = 40; + public final static byte REQ_OK = 41; + public final static byte UPPAAL_OK = 42; + public final static byte NC_OK = 43; + public final static byte MODEL_UPPAAL_OK = 44; + public final static byte MODEL_PROVERIF_OK = 45; + public final static byte EDIT_PROVERIF_OK = 46; + public final static byte AVATAR_SYNTAXCHECKING_OK = 47; + public final static byte PANEL_CHANGED = 48; + public final static byte ATTACKTREE_SYNTAXCHECKING_OK = 49; + + public final static int INCREMENT = 10; + + public static Object BACK_COLOR; + //public static Object BACK_COLOR; + + public final static String REMOTE_RTL_LOTOS_FILE = "spec.lot"; + public final static String REMOTE_UPPAAL_FILE = "spec.xml"; + public final static String REMOTE_ALDEBARAN_AUT_FILE = "spec.aut"; + public final static String REMOTE_ALDEBARAN_BISIMU_FILE1 = "file1.aut"; + public final static String REMOTE_ALDEBARAN_BISIMU_FILE2 = "file2.aut"; + public final static String REMOTE_BISIMULATOR_FILE1 = "lts1bis"; + public final static String REMOTE_BISIMULATOR_FILE2 = "lts2bis"; + + public final static byte METHO_ANALYSIS = 0; + public final static byte METHO_DESIGN = 1; + public final static byte METHO_DEPLOY = 2; + + public byte mode; + public byte methoMode; + + // TURTLE Modeling + public GTURTLEModeling gtm; + + + //TURTLE modeling graphic components + private JTabbedPane mainTabbedPane; + private JToolBarMainTurtle mainBar; + //private JPopupMenu menuTabbedPane; + + private TDiagramPanel activetdp; + + // Modified graphs + private String modifiedaut; + private String modifiedautdot; + + private RG lastDiploRG; + + + // JBirdPanel + private JBirdPanel jbp; + + private int typeButtonSelected; + private int idButtonSelected; + + private File file; + private File lotosfile; + private File simfile; + private File dtafile; + private File dtadotfile; + private File rgfile; + private File rgdotfile; + private File tlsafile; + private File tlsadotfile; + private File rgautfile; + private File fc2file; + private File bcgfile; + private File rgautdotfile; + private File rgautprojfile; + private File rgautprojdotfile; + private JFileChooser jfc; + private JFileChooser jfclib; + private JFileChooser jfcimg; + private JFileChooser jfcimgsvg; + private JFileChooser jfcggraph; + private JFileChooser jfctgraph; + private JFileChooser jfclot; + private JFileChooser jfctif; + private JFileChooser jfcmsc; + + //private int selectedAction = -1; + + // Interaction with simulators + private ArrayList<RunningInfo> runningIDs; + private ArrayList<LoadInfo> loadIDs; + private ConcurrentHashMap<Integer, ArrayList<SimulationTransaction>> transactionMap = new ConcurrentHashMap<Integer, ArrayList<SimulationTransaction>>(); + private ConcurrentHashMap<String, String> statusMap = new ConcurrentHashMap<String, String>(); + private JFrameInteractiveSimulation jfis; + private JFrameAvatarInteractiveSimulation jfais; + + // Invariants + Invariant currentInvariant; + + // Thread for autosave + PeriodicBehaviorThread pbt; + + private TMLArchiPanel tmlap; // USed to retrieve the currently opened architecture panel + + // Plugin management + //public static PluginManager pluginManager; + + + public MainGUI(boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn, boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn, boolean + _avatarOnly, boolean _experimental) { + turtleOn = _turtleOn; + systemcOn = _systemcOn; + lotosOn = _lotosOn; + proactiveOn = _proactiveOn; + tpnOn = _tpnOn; + osOn = _osOn; + uppaalOn = _uppaalOn; + ncOn = _ncOn; + avatarOn = _avatarOn; + proverifOn = _proverifOn; + avatarOnly = _avatarOnly; + experimentalOn = _experimental; + + currentInvariant = null; + + pbt = new PeriodicBehaviorThread(this, 120000); // save every two minutes + + PluginManager.pluginManager = new PluginManager(); + + } + + public void setKey(String _sk) { + sk = _sk; + RshClient.sk = sk; + } + + public String getKey() { + return sk; + } + + + public boolean isAvatarOn() { + return avatarOn; + } + + + public void build() { + // Swing look and feel + + try { + UIManager.setLookAndFeel( + UIManager.getCrossPlatformLookAndFeelClassName()); + } catch (Exception e) { ErrorGUI.exit(ErrorGUI.GUI);} + + // Creating main container + frame = new JFrame("TTool"); + + frame.addWindowListener(this); + frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE ); + frame.setIconImage(IconManager.img8); + + framePanel = frame.getContentPane(); + framePanel.setLayout(new BorderLayout()); + + // file chooser + if (ConfigurationTTool.FILEPath.length() > 0) { + jfc = new JFileChooser(ConfigurationTTool.FILEPath); + } else { + jfc = new JFileChooser(); + } + + if (ConfigurationTTool.FILEPath.length() > 0) { + jfctif = new JFileChooser(ConfigurationTTool.FILEPath); + } else { + jfctif = new JFileChooser(); + } + + if (ConfigurationTTool.FILEPath.length() > 0) { + jfcmsc = new JFileChooser(ConfigurationTTool.FILEPath); + } else { + jfcmsc = new JFileChooser(); + } + + if (ConfigurationTTool.LIBPath.length() > 0) { + jfclib = new JFileChooser(ConfigurationTTool.LIBPath); + } else { + jfclib = new JFileChooser(); + } + + if (ConfigurationTTool.IMGPath.length() > 0) { + jfcimg = new JFileChooser(ConfigurationTTool.IMGPath); + } else { + jfcimg = new JFileChooser(); + } + + if (ConfigurationTTool.IMGPath.length() > 0) { + jfcimgsvg = new JFileChooser(ConfigurationTTool.IMGPath); + } else { + jfcimgsvg = new JFileChooser(); + } - if (ConfigurationTTool.IMGPath.length() > 0) { - jfcimgsvg = new JFileChooser(ConfigurationTTool.IMGPath); - } else { - jfcimgsvg = new JFileChooser(); - } + if (ConfigurationTTool.LOTOSPath.length() > 0) { + jfclot = new JFileChooser(ConfigurationTTool.LOTOSPath); + } else { + jfclot = new JFileChooser(); + } + + if (ConfigurationTTool.GGraphPath.length() > 0) { + jfcggraph = new JFileChooser(ConfigurationTTool.GGraphPath); + } else { + jfcggraph = new JFileChooser(); + } + + if (ConfigurationTTool.TGraphPath.length() > 0) { + jfctgraph = new JFileChooser(ConfigurationTTool.TGraphPath); + } else { + jfctgraph = new JFileChooser(); + } + + TFileFilter filter = new TFileFilter(); + jfc.setFileFilter(filter); + + TTIFFilter filtertif = new TTIFFilter(); + jfctif.setFileFilter(filtertif); + + MSCFilter filtermsc = new MSCFilter(); + jfcmsc.setFileFilter(filtermsc); + + TLibFilter filterLib = new TLibFilter(); + jfclib.setFileFilter(filterLib); + + TImgFilter filterImg = new TImgFilter(); + jfcimg.setFileFilter(filterImg); + + TSVGFilter filterSVG = new TSVGFilter(); + jfcimgsvg.setFileFilter(filterSVG); + + RTLFileFilter filterRTL = new RTLFileFilter(); + jfclot.setFileFilter(filterRTL); + + TDotFilter filterDot = new TDotFilter(); + jfcggraph.setFileFilter(filterDot); + + // Actions + initActions(); + + // mode + setMode(NOT_OPENED); + + // statusBar + status = createStatusBar(); + + // Mouse handler + mouseHandler = new MouseHandler(status); + + framePanel.add(status, BorderLayout.SOUTH); + + // toolbar + mainBar = new JToolBarMainTurtle(this); + framePanel.add(mainBar, BorderLayout.NORTH); + + // Panels + panelForTab = new JPanel(); panelForTab.setLayout(new BorderLayout()); + //panelForTree = new JPanel(); panelForTree.setLayout(new BorderLayout()); + // Tree + dtree = new JDiagramTree(this); + dtree.setCellRenderer(new DiagramTreeRenderer()); + ToolTipManager.sharedInstance().registerComponent(dtree); + JScrollPane scrollPane = new JScrollPane(dtree); + scrollPane.setPreferredSize(new Dimension(200, 600)); + scrollPane.setMinimumSize(new Dimension(25, 200)); + jbp = new JBirdPanel(this); + jbp.setPreferredSize(new Dimension(200, 200)); + JSplitPane split1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, scrollPane, jbp); + + //split1.setLastDividerLocation(500); + //panelForTree.add(scrollPane, BorderLayout.CENTER); + + split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, split1, panelForTab); + framePanel.add(split, BorderLayout.CENTER); + //split1.resetToPreferredSizes(); + + // Creating menus + jmenubarturtle = new JMenuBarTurtle(this); + frame.setJMenuBar(jmenubarturtle); + + //split1.setLastDividerLocation(split1.getHeight() * 4 / 5); + //split1.setLastDividerLocation(900); + + // ToolBar + //toolbarDesign = new Vector(); + //toolbarAnalysis = new Vector(); + + // Panels + //analysisPanels = new Vector(); + //designPanels = new Vector(); + + } + + private void initActions() { + actions = new TGUIAction[TGUIAction.NB_ACTION]; + for(int i=0; i<TGUIAction.NB_ACTION; i++) { + actions[i] = new TGUIAction(i); + actions[i].addActionListener(this); + //actions[i].addKeyListener(this); + } + } + + public String getTitle() { + return frame.getTitle(); + } + + public boolean hasChanged() { + return hasChanged; + } + + public void resetChange() { + hasChanged = false; + } + + public void changeMade(TDiagramPanel tdp, int type) { + hasChanged = true; + if (tdp != null) { + switch (type) { + case -1: + // Structural change + break; + case TDiagramPanel.NEW_COMPONENT: + //TraceManager.addDev("New Component"); + tdp.structureChanged(); + break; + case TDiagramPanel.NEW_CONNECTOR: + //TraceManager.addDev("New Connector"); + tdp.structureChanged(); + break; + case TDiagramPanel.REMOVE_COMPONENT: + //TraceManager.addDev("Remove Component"); + tdp.structureChanged(); + break; + case TDiagramPanel.MOVE_CONNECTOR: + //TraceManager.addDev("Move Connector"); + tdp.structureChanged(); + break; + case TDiagramPanel.CHANGE_VALUE_COMPONENT: + //TraceManager.addDev("Value of component changed"); + tdp.valueChanged(); + break; + case TDiagramPanel.MOVE_COMPONENT: + //TraceManager.addDev("Component moved"); + break; + default: + + } + } + setMode(MODEL_CHANGED); + Point p; + if (tdp == null) { + p = getCurrentSelectedPoint(); + } else { + p = getPoint(tdp); + } + //TraceManager.addDev("Change made!"); + gtm.saveOperation(p); + dtree.toBeUpdated(); + } + + public void setMethodologicalMode(byte m) { + methoMode = m; + switch(methoMode) { + case METHO_ANALYSIS: + break; + case METHO_DESIGN: + break; + default: + } + } + + public void setMode(byte m) { + mode = m; + ModeManager.setMode(mode, actions, mainBar, this); + } + + + //@author: Huy TRUONG + public JToolBarMainTurtle getMainBar(){ + return this.mainBar; + } + //-- + + public void activeActions(boolean b) { + for(int i=0; i<TGUIAction.NB_ACTION; i++) { + actions[i].setEnabled(b); + } + } + + public String getModelFileFullPath() { + if (file == null) { + return "./"; + } + return file.getAbsolutePath(); + } + + public void periodicAction() { + //TraceManager.addDev("Autosaving "); + if (file == null) { + return; + } + + File fileSave = new File(file.getAbsolutePath() + "~"); + TraceManager.addDev("Autosaving in " + fileSave.getAbsolutePath()); + status.setText("Autosaving in " + fileSave.getAbsolutePath()); + + if(checkFileForSave(fileSave)) { + try { + String s = gtm.makeXMLFromTurtleModeling(-1); + FileOutputStream fos = new FileOutputStream(fileSave); + fos.write(s.getBytes()); + fos.close(); + } catch (Exception e) { + TraceManager.addDev("Error during autosave: " + e.getMessage()); + status.setText("Error during autosave: " + e.getMessage()); + return; + } + } + status.setText("Autosave done in " + fileSave.getAbsolutePath()); - if (ConfigurationTTool.LOTOSPath.length() > 0) { - jfclot = new JFileChooser(ConfigurationTTool.LOTOSPath); - } else { - jfclot = new JFileChooser(); - } - - if (ConfigurationTTool.GGraphPath.length() > 0) { - jfcggraph = new JFileChooser(ConfigurationTTool.GGraphPath); - } else { - jfcggraph = new JFileChooser(); - } - - if (ConfigurationTTool.TGraphPath.length() > 0) { - jfctgraph = new JFileChooser(ConfigurationTTool.TGraphPath); - } else { - jfctgraph = new JFileChooser(); - } - - TFileFilter filter = new TFileFilter(); - jfc.setFileFilter(filter); - TTIFFilter filtertif = new TTIFFilter(); - jfctif.setFileFilter(filtertif); - - MSCFilter filtermsc = new MSCFilter(); - jfcmsc.setFileFilter(filtermsc); - - TLibFilter filterLib = new TLibFilter(); - jfclib.setFileFilter(filterLib); - - TImgFilter filterImg = new TImgFilter(); - jfcimg.setFileFilter(filterImg); - - TSVGFilter filterSVG = new TSVGFilter(); - jfcimgsvg.setFileFilter(filterSVG); - - RTLFileFilter filterRTL = new RTLFileFilter(); - jfclot.setFileFilter(filterRTL); - - TDotFilter filterDot = new TDotFilter(); - jfcggraph.setFileFilter(filterDot); - - // Actions - initActions(); - - // mode - setMode(NOT_OPENED); - - // statusBar - status = createStatusBar(); - - // Mouse handler - mouseHandler = new MouseHandler(status); - - framePanel.add(status, BorderLayout.SOUTH); - - // toolbar - mainBar = new JToolBarMainTurtle(this); - framePanel.add(mainBar, BorderLayout.NORTH); - - // Panels - panelForTab = new JPanel(); panelForTab.setLayout(new BorderLayout()); - //panelForTree = new JPanel(); panelForTree.setLayout(new BorderLayout()); - // Tree - dtree = new JDiagramTree(this); - dtree.setCellRenderer(new DiagramTreeRenderer()); - ToolTipManager.sharedInstance().registerComponent(dtree); - JScrollPane scrollPane = new JScrollPane(dtree); - scrollPane.setPreferredSize(new Dimension(200, 600)); - scrollPane.setMinimumSize(new Dimension(25, 200)); - jbp = new JBirdPanel(this); - jbp.setPreferredSize(new Dimension(200, 200)); - JSplitPane split1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, scrollPane, jbp); - - //split1.setLastDividerLocation(500); - //panelForTree.add(scrollPane, BorderLayout.CENTER); - - split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, split1, panelForTab); - framePanel.add(split, BorderLayout.CENTER); - //split1.resetToPreferredSizes(); - - // Creating menus - jmenubarturtle = new JMenuBarTurtle(this); - frame.setJMenuBar(jmenubarturtle); - - //split1.setLastDividerLocation(split1.getHeight() * 4 / 5); - //split1.setLastDividerLocation(900); - - // ToolBar - //toolbarDesign = new Vector(); - //toolbarAnalysis = new Vector(); - - // Panels - //analysisPanels = new Vector(); - //designPanels = new Vector(); - - } - - private void initActions() { - actions = new TGUIAction[TGUIAction.NB_ACTION]; - for(int i=0; i<TGUIAction.NB_ACTION; i++) { - actions[i] = new TGUIAction(i); - actions[i].addActionListener(this); - //actions[i].addKeyListener(this); - } - } - - public String getTitle() { - return frame.getTitle(); - } - - public boolean hasChanged() { - return hasChanged; - } - - public void resetChange() { - hasChanged = false; - } - - public void changeMade(TDiagramPanel tdp, int type) { - hasChanged = true; - if (tdp != null) { - switch (type) { - case -1: - // Structural change - break; - case TDiagramPanel.NEW_COMPONENT: - //TraceManager.addDev("New Component"); - tdp.structureChanged(); - break; - case TDiagramPanel.NEW_CONNECTOR: - //TraceManager.addDev("New Connector"); - tdp.structureChanged(); - break; - case TDiagramPanel.REMOVE_COMPONENT: - //TraceManager.addDev("Remove Component"); - tdp.structureChanged(); - break; - case TDiagramPanel.MOVE_CONNECTOR: - //TraceManager.addDev("Move Connector"); - tdp.structureChanged(); - break; - case TDiagramPanel.CHANGE_VALUE_COMPONENT: - //TraceManager.addDev("Value of component changed"); - tdp.valueChanged(); - break; - case TDiagramPanel.MOVE_COMPONENT: - //TraceManager.addDev("Component moved"); - break; - default: - - } - } - setMode(MODEL_CHANGED); - Point p; - if (tdp == null) { - p = getCurrentSelectedPoint(); - } else { - p = getPoint(tdp); - } - //TraceManager.addDev("Change made!"); - gtm.saveOperation(p); - dtree.toBeUpdated(); - } - - public void setMethodologicalMode(byte m) { - methoMode = m; - switch(methoMode) { - case METHO_ANALYSIS: - break; - case METHO_DESIGN: - break; - default: - } - } - - public void setMode(byte m) { - mode = m; - ModeManager.setMode(mode, actions, mainBar, this); - } - - - //@author: Huy TRUONG - public JToolBarMainTurtle getMainBar(){ - return this.mainBar; - } - //-- - - public void activeActions(boolean b) { - for(int i=0; i<TGUIAction.NB_ACTION; i++) { - actions[i].setEnabled(b); - } - } - - public String getModelFileFullPath() { - if (file == null) { - return "./"; - } - return file.getAbsolutePath(); - } - - public void periodicAction() { - //TraceManager.addDev("Autosaving "); - if (file == null) { - return; - } - - File fileSave = new File(file.getAbsolutePath() + "~"); - TraceManager.addDev("Autosaving in " + fileSave.getAbsolutePath()); - status.setText("Autosaving in " + fileSave.getAbsolutePath()); - - if(checkFileForSave(fileSave)) { - try { - String s = gtm.makeXMLFromTurtleModeling(-1); - FileOutputStream fos = new FileOutputStream(fileSave); - fos.write(s.getBytes()); - fos.close(); - } catch (Exception e) { - TraceManager.addDev("Error during autosave: " + e.getMessage()); - status.setText("Error during autosave: " + e.getMessage()); - return; - } - } - status.setText("Autosave done in " + fileSave.getAbsolutePath()); - - - } - - public void search(String text) { - - Vector<Object> elements = new Vector<Object>(); - - TURTLEPanel panel; - for(int i=0; i<tabs.size(); i++) { - panel = tabs.get(i); - panel.searchForText(text.toLowerCase(), elements); - } - - gtm.setElementsOfSearchTree(elements); - //TraceManager.addDev("Found " + elements.size() + " elements"); - dtree.forceUpdate(); - } - - - public List<Invariant> getInvariants() { - return gtm.getInvariants(); - } - - public List<RG> getRGs() { - return gtm.getRGs(); - } - - public void addRG(RG _newGraph) { - gtm.addRG(_newGraph); - dtree.toBeUpdated(); - } - - public void removeRG(RG _toBeRemoved) { - gtm.removeRG(_toBeRemoved); - dtree.toBeUpdated(); - } - - public void minimizeRG(RG toBeMinimized) { - JFrameMinimize jfm = new JFrameMinimize(frame, this, "Graph minimization", toBeMinimized); - //jfm.setSize(900, 700); - GraphicLib.centerOnParent(jfm, 900, 700); - jfm.setVisible(true); - } - - - public void setCurrentInvariant(Invariant inv) { - currentInvariant = inv; - } - - public Invariant getCurrentInvariant() { - return currentInvariant; - } - - public TGComponent hasCheckableMasterMutex() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - - if (tp instanceof AvatarDesignPanel) { - return ((AvatarDesignPanel)tp).hasCheckableMasterMutex(); - } - - return null; - } - - public void removeAllMutualExclusionWithMasterMutex() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - - if (tp instanceof AvatarDesignPanel) { - ((AvatarDesignPanel)tp).removeAllMutualExclusionWithMasterMutex(); - } - - } - - - - - private int addAnalysisPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AnalysisPanel ap = new AnalysisPanel(this); - tabs.add(index, ap); // should look for the first - //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); - mainTabbedPane.add(ap.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open analysis diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic17); - ap.init(); - //TraceManager.addDev("Main analysis added"); - return index; - } - - private int addTMLCPPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - TMLCommunicationPatternPanel tmlcpp = new TMLCommunicationPatternPanel(this); - tabs.add( index, tmlcpp ); // should look for the first - //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); - mainTabbedPane.add(tmlcpp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open CP diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic17); - tmlcpp.init(); - //TraceManager.addDev("Main analysis added"); - return index; - } - - private int addAvatarAnalysisPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AvatarAnalysisPanel aap = new AvatarAnalysisPanel(this); - tabs.add(index, aap); // should look for the first - //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); - mainTabbedPane.add(aap.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open analysis diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic17); - aap.init(); - //TraceManager.addDev("Main analysis added"); - return index; - } - - private int addAttackTreePanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AttackTreePanel atp = new AttackTreePanel(this); - tabs.add(index, atp); // should look for the first - mainTabbedPane.add(atp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open attack tree diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic1074); - atp.init(); - return index; - } - - private int addRequirementPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - RequirementPanel rp = new RequirementPanel(this); - tabs.add(index, rp); // should look for the first - mainTabbedPane.add(rp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open requirement diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic1000); - rp.init(); - return index; - } - - private int addAvatarDesignPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AvatarDesignPanel adp = new AvatarDesignPanel(this); - tabs.add(index, adp); - mainTabbedPane.add(adp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open AVATAR design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic80); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - adp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addAvatarRequirementPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AvatarRequirementPanel arp = new AvatarRequirementPanel(this); - tabs.add(index, arp); - mainTabbedPane.add(arp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open AVATAR requirement diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic82); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - arp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addAvatarMADPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - AvatarMADsPanel amadsp = new AvatarMADsPanel(this); - tabs.add(index, amadsp); - mainTabbedPane.add(amadsp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open AVATAR Modeling Assumptions diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic82); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - amadsp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addDesignPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - DesignPanel dp = new DesignPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic14); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addTMLDesignPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - TMLDesignPanel dp = new TMLDesignPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic62); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addDiplodocusMethodologyPanel(String name, int index, boolean addDefaultElements) { - if (index == -1) { - index = tabs.size(); - } - DiplodocusMethodologyPanel dp = new DiplodocusMethodologyPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS methodology"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic98); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(name); - if (addDefaultElements) { - dp.initElements(); - } - //ystem.out.println("Design added"); - return index; - } - - private int addAvatarMethodologyPanel(String name, int index, boolean addDefaultElements) { - if (index == -1) { - index = tabs.size(); - } - - TraceManager.addDev("New avatar methodo panel"); - AvatarMethodologyPanel dp = new AvatarMethodologyPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open AVATAR methodology"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic99); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(name); - if (addDefaultElements) { - dp.initElements(); - } - //ystem.out.println("Design added"); - return index; - } - - private int addSysmlsecMethodologyPanel(String name, int index, boolean addDefaultElements) { - if (index == -1) { - index = tabs.size(); - } - TraceManager.addDev("New SysMLSec Methodopanel"); - SysmlsecMethodologyPanel dp = new SysmlsecMethodologyPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open SysML-Sec methodology"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic99); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(name); - if (addDefaultElements) { - dp.initElements(); - } - //ystem.out.println("Design added"); - return index; - } - - - private int addTMLComponentDesignPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - TMLComponentDesignPanel dp = new TMLComponentDesignPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS component design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic1208); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addADDPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - ADDPanel dp = new ADDPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open deployment diagram"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic60); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addTMLArchiPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - TMLArchiPanel dp = new TMLArchiPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS architecture diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic60); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - //Return the list of all the TMLArchiDiagramPanels - public Vector<TMLArchiPanel> getTMLArchiDiagramPanels() { - - Vector<TMLArchiPanel> panelsList = new Vector<TMLArchiPanel>(); - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if ( tp instanceof TMLArchiPanel) { - panelsList.add( (TMLArchiPanel) (tp) ); - } - } - return panelsList; - } - - public Vector<String> getAllTMLTaskNames() { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLDesignPanel) { - list.addAll(((TMLDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); - } - } - return list; - } - public Vector<String> getTMLTasks(){ - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLDesignPanel) { - list.addAll(((TMLDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); - } - if (tp instanceof TMLComponentDesignPanel) { - list.addAll(((TMLComponentDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); - } - } - - return list; - } - - public Vector<String> getAllApplicationTMLTasksAttributes() { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for( int i = 0; i < tabs.size(); i++ ) { - tp = tabs.elementAt(i); - if( tp instanceof TMLComponentDesignPanel ) { - list.addAll( ((TMLComponentDesignPanel)tp).getAllTMLTasksAttributes() ); - } - } - - return list; - } - - public ArrayList<TMLCommunicationPatternPanel> getAllTMLCP() { - TURTLEPanel tp; - ArrayList<TMLCommunicationPatternPanel> list = new ArrayList<TMLCommunicationPatternPanel>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if( tp instanceof TMLCommunicationPatternPanel ) { - list.add( (TMLCommunicationPatternPanel) tp ); - } - } - return list; - } - - public void updateAllReferences() { - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - ((TMLComponentDesignPanel)tp).tmlctdp.delayedLoad(); - //((TMLComponentDesignPanel)tp).tmlctdp.updatePorts(); - } - } - } - - public void updateAllPorts() { - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - //((TMLComponentDesignPanel)tp).tmlctdp.delayedLoad(); - ((TMLComponentDesignPanel)tp).tmlctdp.updatePorts(); - } - } - } - - public Vector<String> getAllTMLCommunicationNames() { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLDesignPanel) { - list.addAll(((TMLDesignPanel)tp).getAllTMLCommunicationNames(mainTabbedPane.getTitleAt(i))); - } else if (tp instanceof TMLComponentDesignPanel) { - list.addAll(((TMLComponentDesignPanel)tp).getAllTMLCommunicationNames(mainTabbedPane.getTitleAt(i))); - } - } - return list; - } - - public Vector<String> getAllTMLInputPorts() { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - /*if (tp instanceof TMLDesignPanel) { + } + + public void search(String text) { + + Vector<Object> elements = new Vector<Object>(); + + TURTLEPanel panel; + for(int i=0; i<tabs.size(); i++) { + panel = tabs.get(i); + panel.searchForText(text.toLowerCase(), elements); + } + + gtm.setElementsOfSearchTree(elements); + //TraceManager.addDev("Found " + elements.size() + " elements"); + dtree.forceUpdate(); + } + + + public List<Invariant> getInvariants() { + return gtm.getInvariants(); + } + + public List<RG> getRGs() { + return gtm.getRGs(); + } + + public void addRG(RG _newGraph) { + gtm.addRG(_newGraph); + dtree.toBeUpdated(); + } + + public void removeRG(RG _toBeRemoved) { + gtm.removeRG(_toBeRemoved); + dtree.toBeUpdated(); + } + + public void minimizeRG(RG toBeMinimized) { + JFrameMinimize jfm = new JFrameMinimize(frame, this, "Graph minimization", toBeMinimized); + //jfm.setSize(900, 700); + GraphicLib.centerOnParent(jfm, 900, 700); + jfm.setVisible(true); + } + + + public void setCurrentInvariant(Invariant inv) { + currentInvariant = inv; + } + + public Invariant getCurrentInvariant() { + return currentInvariant; + } + + public TGComponent hasCheckableMasterMutex() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + + if (tp instanceof AvatarDesignPanel) { + return ((AvatarDesignPanel)tp).hasCheckableMasterMutex(); + } + + return null; + } + + public void removeAllMutualExclusionWithMasterMutex() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + + if (tp instanceof AvatarDesignPanel) { + ((AvatarDesignPanel)tp).removeAllMutualExclusionWithMasterMutex(); + } + + } + + + + + private int addAnalysisPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AnalysisPanel ap = new AnalysisPanel(this); + tabs.add(index, ap); // should look for the first + //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); + mainTabbedPane.add(ap.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open analysis diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic17); + ap.init(); + //TraceManager.addDev("Main analysis added"); + return index; + } + + private int addTMLCPPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + TMLCommunicationPatternPanel tmlcpp = new TMLCommunicationPatternPanel(this); + tabs.add( index, tmlcpp ); // should look for the first + //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); + mainTabbedPane.add(tmlcpp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open CP diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic17); + tmlcpp.init(); + //TraceManager.addDev("Main analysis added"); + return index; + } + + private int addAvatarAnalysisPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AvatarAnalysisPanel aap = new AvatarAnalysisPanel(this); + tabs.add(index, aap); // should look for the first + //mainTabbedPane.addTab(name, IconManager.imgic17, ap.tabbedPane, "Opens analysis diagrams"); + mainTabbedPane.add(aap.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open analysis diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic17); + aap.init(); + //TraceManager.addDev("Main analysis added"); + return index; + } + + private int addAttackTreePanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AttackTreePanel atp = new AttackTreePanel(this); + tabs.add(index, atp); // should look for the first + mainTabbedPane.add(atp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open attack tree diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic1074); + atp.init(); + return index; + } + + private int addRequirementPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + RequirementPanel rp = new RequirementPanel(this); + tabs.add(index, rp); // should look for the first + mainTabbedPane.add(rp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open requirement diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic1000); + rp.init(); + return index; + } + + private int addAvatarDesignPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AvatarDesignPanel adp = new AvatarDesignPanel(this); + tabs.add(index, adp); + mainTabbedPane.add(adp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open AVATAR design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic80); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + adp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addAvatarRequirementPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AvatarRequirementPanel arp = new AvatarRequirementPanel(this); + tabs.add(index, arp); + mainTabbedPane.add(arp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open AVATAR requirement diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic82); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + arp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addAvatarMADPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + AvatarMADsPanel amadsp = new AvatarMADsPanel(this); + tabs.add(index, amadsp); + mainTabbedPane.add(amadsp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open AVATAR Modeling Assumptions diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic82); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + amadsp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addDesignPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + DesignPanel dp = new DesignPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic14); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addTMLDesignPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + TMLDesignPanel dp = new TMLDesignPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic62); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addDiplodocusMethodologyPanel(String name, int index, boolean addDefaultElements) { + if (index == -1) { + index = tabs.size(); + } + DiplodocusMethodologyPanel dp = new DiplodocusMethodologyPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS methodology"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic98); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(name); + if (addDefaultElements) { + dp.initElements(); + } + //ystem.out.println("Design added"); + return index; + } + + private int addAvatarMethodologyPanel(String name, int index, boolean addDefaultElements) { + if (index == -1) { + index = tabs.size(); + } + + TraceManager.addDev("New avatar methodo panel"); + AvatarMethodologyPanel dp = new AvatarMethodologyPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open AVATAR methodology"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic99); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(name); + if (addDefaultElements) { + dp.initElements(); + } + //ystem.out.println("Design added"); + return index; + } + + private int addSysmlsecMethodologyPanel(String name, int index, boolean addDefaultElements) { + if (index == -1) { + index = tabs.size(); + } + TraceManager.addDev("New SysMLSec Methodopanel"); + SysmlsecMethodologyPanel dp = new SysmlsecMethodologyPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open SysML-Sec methodology"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic99); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(name); + if (addDefaultElements) { + dp.initElements(); + } + //ystem.out.println("Design added"); + return index; + } + + + private int addTMLComponentDesignPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + TMLComponentDesignPanel dp = new TMLComponentDesignPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS component design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic1208); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addADDPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + ADDPanel dp = new ADDPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open deployment diagram"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic60); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addTMLArchiPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + TMLArchiPanel dp = new TMLArchiPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open DIPLODOCUS architecture diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic60); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + //Return the list of all the TMLArchiDiagramPanels + public Vector<TMLArchiPanel> getTMLArchiDiagramPanels() { + + Vector<TMLArchiPanel> panelsList = new Vector<TMLArchiPanel>(); + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if ( tp instanceof TMLArchiPanel) { + panelsList.add( (TMLArchiPanel) (tp) ); + } + } + return panelsList; + } + + public Vector<String> getAllTMLTaskNames() { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLDesignPanel) { + list.addAll(((TMLDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); + } + } + return list; + } + public Vector<String> getTMLTasks(){ + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLDesignPanel) { + list.addAll(((TMLDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); + } + if (tp instanceof TMLComponentDesignPanel) { + list.addAll(((TMLComponentDesignPanel)tp).getAllTMLTaskNames(mainTabbedPane.getTitleAt(i))); + } + } + + return list; + } + + public Vector<String> getAllApplicationTMLTasksAttributes() { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for( int i = 0; i < tabs.size(); i++ ) { + tp = tabs.elementAt(i); + if( tp instanceof TMLComponentDesignPanel ) { + list.addAll( ((TMLComponentDesignPanel)tp).getAllTMLTasksAttributes() ); + } + } + + return list; + } + + public ArrayList<TMLCommunicationPatternPanel> getAllTMLCP() { + TURTLEPanel tp; + ArrayList<TMLCommunicationPatternPanel> list = new ArrayList<TMLCommunicationPatternPanel>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if( tp instanceof TMLCommunicationPatternPanel ) { + list.add( (TMLCommunicationPatternPanel) tp ); + } + } + return list; + } + + public void updateAllReferences() { + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + ((TMLComponentDesignPanel)tp).tmlctdp.delayedLoad(); + //((TMLComponentDesignPanel)tp).tmlctdp.updatePorts(); + } + } + } + + public void updateAllPorts() { + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + //((TMLComponentDesignPanel)tp).tmlctdp.delayedLoad(); + ((TMLComponentDesignPanel)tp).tmlctdp.updatePorts(); + } + } + } + + public Vector<String> getAllTMLCommunicationNames() { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLDesignPanel) { + list.addAll(((TMLDesignPanel)tp).getAllTMLCommunicationNames(mainTabbedPane.getTitleAt(i))); + } else if (tp instanceof TMLComponentDesignPanel) { + list.addAll(((TMLComponentDesignPanel)tp).getAllTMLCommunicationNames(mainTabbedPane.getTitleAt(i))); + } + } + return list; + } + + public Vector<String> getAllTMLInputPorts() { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + /*if (tp instanceof TMLDesignPanel) { list.addAll(((TMLDesignPanel)tp).getAllTMLChannelNames( mainTabbedPane.getTitleAt(i)) ); } else*/ - if( tp instanceof TMLComponentDesignPanel ) { - list.addAll(((TMLComponentDesignPanel)tp).getAllTMLInputPorts( mainTabbedPane.getTitleAt(i)) ); - } - } - return list; - } - - public Vector<String> getAllTMLEventNames() { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for( int i = 0; i < tabs.size(); i++ ) { - tp = ( TURTLEPanel )( tabs.elementAt(i) ); - if ( tp instanceof TMLDesignPanel ) { - list.addAll( ( (TMLDesignPanel)tp ).getAllTMLEventNames( mainTabbedPane.getTitleAt(i) ) ); - } else if ( tp instanceof TMLComponentDesignPanel ) { - list.addAll( ( (TMLComponentDesignPanel)tp ).getAllTMLEventNames( mainTabbedPane.getTitleAt(i) ) ); - } - } - return list; - } - - public Vector<String> getAllNonMappedTMLTaskNames(TMLArchiDiagramPanel tadp, String ref, String name) { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - boolean b; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLDesignPanel) { - b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); - list.addAll(((TMLDesignPanel)tp).getAllNonMappedTMLTaskNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); - } - if (tp instanceof TMLComponentDesignPanel) { - b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); - list.addAll(((TMLComponentDesignPanel)tp).getAllNonMappedTMLPrimitiveComponentNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); - } - } - - return list; - } - - public Vector<String> getAllNonMappedAvatarBlockNames(ADDDiagramPanel tadp, String ref, String name) { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - boolean b; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof AvatarDesignPanel) { - b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); - list.addAll(((AvatarDesignPanel)tp).getAllNonMappedAvatarBlockNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); - } - } - - return list; - } - - public Vector<String> getAllNonMappedAvatarChannelNames(ADDDiagramPanel tadp, String ref, String name) { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - boolean b; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof AvatarDesignPanel) { - b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); - list.addAll(((AvatarDesignPanel)tp).getAllNonMappedAvatarChannelNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); - } - } - - return list; - } - - public Vector<String> getAllCompositeComponent(TMLComponentTaskDiagramPanel tcdp) { - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - // boolean b; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - if (((TMLComponentDesignPanel)tp).tmlctdp != tcdp) { - list.addAll(((TMLComponentDesignPanel)tp).getAllCompositeComponent(mainTabbedPane.getTitleAt(i))); - } - } - } - - return list; - } - - private int addTURTLEOSDesignPanel(String name, int index) { - - if (index == -1) { - index = tabs.size(); - } - TURTLEOSDesignPanel dp = new TURTLEOSDesignPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open TURTLE-OS design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic14); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - TraceManager.addDev("TURTLE OS Design added index=" + index); - return index; - } - - private int addNCDesignPanel(String name, int index) { - - if (index == -1) { - index = tabs.size(); - } - NCPanel ncp = new NCPanel(this); - tabs.add(index, ncp); - mainTabbedPane.add(ncp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open network calculus diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic60); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - ncp.init(); - //TraceManager.addDev("TURTLE OS Design added index=" + index); - return index; - } - - /*private int addAvatarDesignPanel(String name, int index) { + if( tp instanceof TMLComponentDesignPanel ) { + list.addAll(((TMLComponentDesignPanel)tp).getAllTMLInputPorts( mainTabbedPane.getTitleAt(i)) ); + } + } + return list; + } + + public Vector<String> getAllTMLEventNames() { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for( int i = 0; i < tabs.size(); i++ ) { + tp = ( TURTLEPanel )( tabs.elementAt(i) ); + if ( tp instanceof TMLDesignPanel ) { + list.addAll( ( (TMLDesignPanel)tp ).getAllTMLEventNames( mainTabbedPane.getTitleAt(i) ) ); + } else if ( tp instanceof TMLComponentDesignPanel ) { + list.addAll( ( (TMLComponentDesignPanel)tp ).getAllTMLEventNames( mainTabbedPane.getTitleAt(i) ) ); + } + } + return list; + } + + public Vector<String> getAllNonMappedTMLTaskNames(TMLArchiDiagramPanel tadp, String ref, String name) { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + boolean b; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLDesignPanel) { + b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); + list.addAll(((TMLDesignPanel)tp).getAllNonMappedTMLTaskNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); + } + if (tp instanceof TMLComponentDesignPanel) { + b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); + list.addAll(((TMLComponentDesignPanel)tp).getAllNonMappedTMLPrimitiveComponentNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); + } + } + + return list; + } + + public Vector<String> getAllNonMappedAvatarBlockNames(ADDDiagramPanel tadp, String ref, String name) { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + boolean b; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof AvatarDesignPanel) { + b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); + list.addAll(((AvatarDesignPanel)tp).getAllNonMappedAvatarBlockNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); + } + } + + return list; + } + + public Vector<String> getAllNonMappedAvatarChannelNames(ADDDiagramPanel tadp, String ref, String name) { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + boolean b; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof AvatarDesignPanel) { + b = (mainTabbedPane.getTitleAt(i).compareTo(ref) == 0); + list.addAll(((AvatarDesignPanel)tp).getAllNonMappedAvatarChannelNames(mainTabbedPane.getTitleAt(i), tadp, b, name)); + } + } + + return list; + } + + public Vector<String> getAllCompositeComponent(TMLComponentTaskDiagramPanel tcdp) { + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + // boolean b; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + if (((TMLComponentDesignPanel)tp).tmlctdp != tcdp) { + list.addAll(((TMLComponentDesignPanel)tp).getAllCompositeComponent(mainTabbedPane.getTitleAt(i))); + } + } + } + + return list; + } + + private int addTURTLEOSDesignPanel(String name, int index) { + + if (index == -1) { + index = tabs.size(); + } + TURTLEOSDesignPanel dp = new TURTLEOSDesignPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open TURTLE-OS design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic14); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + TraceManager.addDev("TURTLE OS Design added index=" + index); + return index; + } + + private int addNCDesignPanel(String name, int index) { + + if (index == -1) { + index = tabs.size(); + } + NCPanel ncp = new NCPanel(this); + tabs.add(index, ncp); + mainTabbedPane.add(ncp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open network calculus diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic60); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + ncp.init(); + //TraceManager.addDev("TURTLE OS Design added index=" + index); + return index; + } + + /*private int addAvatarDesignPanel(String name, int index) { if (index == -1) { index = tabs.size(); @@ -1284,7 +1286,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe return index; }*/ - /*private int addAvatarRequirementPanel(String name, int index) { + /*private int addAvatarRequirementPanel(String name, int index) { if (index == -1) { index = tabs.size(); @@ -1301,2603 +1303,2619 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe return index; }*/ - private int addProActiveDesignPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - ProactiveDesignPanel dp = new ProactiveDesignPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open ProActive design diagrams"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic14); - //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - private int addDeploymentPanel(String name, int index) { - if (index == -1) { - index = tabs.size(); - } - DeploymentPanel dp = new DeploymentPanel(this); - tabs.add(index, dp); - mainTabbedPane.add(dp.tabbedPane, index); - mainTabbedPane.setToolTipTextAt(index, "Open deployment diagram"); - mainTabbedPane.setTitleAt(index, name); - mainTabbedPane.setIconAt(index, IconManager.imgic60); - dp.init(); - //ystem.out.println("Design added"); - return index; - } - - public int createAvatarDesign(String name) { - int index = addAvatarDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAvatarRequirement(String name) { - int index = addAvatarRequirementPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAvatarMADs(String name) { - int index = addAvatarMADPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createDesign(String name) { - int index = addDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createDiplodocusMethodology(String name) { - int index = addDiplodocusMethodologyPanel(name, -1, false); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAvatarMethodology(String name) { - int index = addAvatarMethodologyPanel(name, -1, false); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createSysmlsecMethodology(String name) { - int index = addSysmlsecMethodologyPanel(name, -1, false); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createTMLDesign(String name) { - int index = addTMLDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createTMLComponentDesign(String name) { - int index = addTMLComponentDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createTMLCP(String name) { - int index = addTMLCPPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createTMLArchitecture(String name) { - int index = addTMLArchiPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createADD(String name) { - int index = addADDPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createTURTLEOSDesign(String name) { - int index = addTURTLEOSDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createProActiveDesign(String name) { - int index = addProActiveDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAnalysis(String name) { - int index = addAnalysisPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAvatarAnalysis(String name) { - int index = addAvatarAnalysisPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createDeployment(String name) { - int index = addDeploymentPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createNC(String name) { - int index = addNCDesignPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createRequirement(String name) { - int index = addRequirementPanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public int createAttackTree(String name) { - int index = addAttackTreePanel(name, -1); - mainTabbedPane.setSelectedIndex(index); - return index; - } - - public void setIODName(int analysisIndex, String name) { - AnalysisPanel ap = (AnalysisPanel)(tabs.elementAt(analysisIndex)); - ap.tabbedPane.setTitleAt(0, name); - } - - public void setDeploymentName(int deploymentIndex, String name) { - DeploymentPanel dp = (DeploymentPanel)(tabs.elementAt(deploymentIndex)); - dp.tabbedPane.setTitleAt(0, name); - } - - public void setNCName(int ncIndex, String name) { - NCPanel ncp = (NCPanel)(tabs.elementAt(ncIndex)); - ncp.tabbedPane.setTitleAt(0, name); - } - - - - // add main panel for editing TURTLE diagrams - private void addTURTLEPanel() { - - //TraceManager.addDev("New TURTLE Panels"); - - // Issue #41 Ordering of tabbed panes - mainTabbedPane = GraphicLib.createTabbedPane();//new JTabbedPane(); - mainTabbedPane.setBackground(ColorManager.MainTabbedPane); - mainTabbedPane.setForeground(Color.black); - - BACK_COLOR = UIManager.get("TabbedPane.selected"); - //UIManager.put("TabbedPane.tabAreaBackground", ColorManager.MainTabbedPaneBack); - UIManager.put("TabbedPane.selected", ColorManager.MainTabbedPaneSelect); - //UIManager.put("TabbedPane.darkShadow", Color.black); - UIManager.put("TabbedPane.focus", Color.blue); - /*UIManager.put("TabbedPane.highlight", Color.blue); + private int addProActiveDesignPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + ProactiveDesignPanel dp = new ProactiveDesignPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open ProActive design diagrams"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic14); + //mainTabbedPane.addTab(name, IconManager.imgic14, dp.tabbedPane, "Opens design diagrams"); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + private int addDeploymentPanel(String name, int index) { + if (index == -1) { + index = tabs.size(); + } + DeploymentPanel dp = new DeploymentPanel(this); + tabs.add(index, dp); + mainTabbedPane.add(dp.tabbedPane, index); + mainTabbedPane.setToolTipTextAt(index, "Open deployment diagram"); + mainTabbedPane.setTitleAt(index, name); + mainTabbedPane.setIconAt(index, IconManager.imgic60); + dp.init(); + //ystem.out.println("Design added"); + return index; + } + + public int createAvatarDesign(String name) { + int index = addAvatarDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAvatarRequirement(String name) { + int index = addAvatarRequirementPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAvatarMADs(String name) { + int index = addAvatarMADPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createDesign(String name) { + int index = addDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createDiplodocusMethodology(String name) { + int index = addDiplodocusMethodologyPanel(name, -1, false); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAvatarMethodology(String name) { + int index = addAvatarMethodologyPanel(name, -1, false); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createSysmlsecMethodology(String name) { + int index = addSysmlsecMethodologyPanel(name, -1, false); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createTMLDesign(String name) { + int index = addTMLDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createTMLComponentDesign(String name) { + int index = addTMLComponentDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createTMLCP(String name) { + int index = addTMLCPPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createTMLArchitecture(String name) { + int index = addTMLArchiPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createADD(String name) { + int index = addADDPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createTURTLEOSDesign(String name) { + int index = addTURTLEOSDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createProActiveDesign(String name) { + int index = addProActiveDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAnalysis(String name) { + int index = addAnalysisPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAvatarAnalysis(String name) { + int index = addAvatarAnalysisPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createDeployment(String name) { + int index = addDeploymentPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createNC(String name) { + int index = addNCDesignPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createRequirement(String name) { + int index = addRequirementPanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public int createAttackTree(String name) { + int index = addAttackTreePanel(name, -1); + mainTabbedPane.setSelectedIndex(index); + return index; + } + + public void setIODName(int analysisIndex, String name) { + AnalysisPanel ap = (AnalysisPanel)(tabs.elementAt(analysisIndex)); + ap.tabbedPane.setTitleAt(0, name); + } + + public void setDeploymentName(int deploymentIndex, String name) { + DeploymentPanel dp = (DeploymentPanel)(tabs.elementAt(deploymentIndex)); + dp.tabbedPane.setTitleAt(0, name); + } + + public void setNCName(int ncIndex, String name) { + NCPanel ncp = (NCPanel)(tabs.elementAt(ncIndex)); + ncp.tabbedPane.setTitleAt(0, name); + } + + + + // add main panel for editing TURTLE diagrams + private void addTURTLEPanel() { + + //TraceManager.addDev("New TURTLE Panels"); + // Issue #41 Ordering of tabbed panes + mainTabbedPane = GraphicLib.createTabbedPane();//new JTabbedPane(); + mainTabbedPane.setBackground(ColorManager.MainTabbedPane); + mainTabbedPane.setForeground(Color.black); + + BACK_COLOR = UIManager.get("TabbedPane.selected"); + //UIManager.put("TabbedPane.tabAreaBackground", ColorManager.MainTabbedPaneBack); + UIManager.put("TabbedPane.selected", ColorManager.MainTabbedPaneSelect); + //UIManager.put("TabbedPane.darkShadow", Color.black); + UIManager.put("TabbedPane.focus", Color.blue); + /*UIManager.put("TabbedPane.highlight", Color.blue); UIManager.put("TabbedPane.lightHighlight", Color.red); UIManager.put("TabbedPane.shadow", Color.black); UIManager.put("TabbedPane.darkShadow", Color.magenta); UIManager.put("TabbedPane.focus", Color.green);*/ - SwingUtilities.updateComponentTreeUI(mainTabbedPane); - mainTabbedPane.setOpaque(true); - - - ChangeListener cl = new ChangeListener() { - public void stateChanged(ChangeEvent e){ - paneAction(e); - } - }; - mainTabbedPane.addChangeListener(cl); - panelForTab.add(mainTabbedPane, BorderLayout.CENTER); - mainTabbedPane.addMouseListener(new PopupListener(this)); - - tabs = new Vector<TURTLEPanel>(); - - frame.setVisible(true); - } - - public Vector<TURTLEPanel> getTabs() { - return tabs; - } - - public String getTitleOf(TDiagramPanel _tdp) { - TURTLEPanel panel; - for(int i=0; i<tabs.size(); i++) { - panel = (TURTLEPanel)(tabs.get(i)); - if (panel.hasTDiagramPanel(_tdp)) { - return getTitleAt(panel); - } - } - - return "Unknown"; - - - } - - public String getTitleAt(TURTLEPanel tp) { - int index = tabs.indexOf(tp); - if (index == -1) { - return "Unknown"; - } - return mainTabbedPane.getTitleAt(index); - - } - - public TURTLEPanel getTURTLEPanel(String s) { - for(int i=0; i<mainTabbedPane.getTabCount(); i++) { - if (mainTabbedPane.getTitleAt(i).compareTo(s) == 0) { - return (TURTLEPanel)(tabs.elementAt(i)); - } - } - return null; - } - - public void drawAvatarSpecification(AvatarSpecification av) { - int index = createAvatarDesign("GeneratedDesign"); - AvatarDesignPanel adp = (AvatarDesignPanel)(tabs.elementAt(index)); - gtm.drawPanel(av, adp); - } - - - // Creates the status bar. - private JLabel createStatusBar() { - status = new JLabel("Ready..."); - status.setBorder(BorderFactory.createEtchedBorder()); - return status; - } - - public void activate(JMenu jm, boolean b) { - JMenuItem im; - for(int i=0; i<jm.getItemCount(); i++) { - im = jm.getItem(i); - if (im != null) - im.setEnabled(b); - } - } - - public void start() { - // Main window is ready to be drawn on screen - if (frame == null) { - ErrorGUI.exit(ErrorGUI.GUI); - } - - boolean positioned = false; - - if (ConfigurationTTool.configSizeAvailable()) { - try { - int x = Integer.decode(ConfigurationTTool.LastWindowAttributesX).intValue(); - int y = Integer.decode(ConfigurationTTool.LastWindowAttributesY).intValue(); - int width = Integer.decode(ConfigurationTTool.LastWindowAttributesWidth).intValue(); - int height = Integer.decode(ConfigurationTTool.LastWindowAttributesHeight).intValue(); - String max = ConfigurationTTool.LastWindowAttributesMax; - if (max.compareTo("true") != 0) { - frame.setBounds(x, y, width, height); - positioned = true; - } - //TraceManager.addDev("Setting window attributes"); - } catch (Exception e) { - //TraceManager.addDev("Window positioning has failed: " + e.getMessage()); - } - } - - if (!positioned) { - frame.setBounds(100, 100, 800, 600); - // jdk 1.4 or more - frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH); - //TraceManager.addDev("No default window attributes"); - } - - frame.setVisible(true); - } - - public void newTurtleModeling() { - setMode(OPENED); - addTURTLEPanel(); - gtm = new GTURTLEModeling(this, tabs); - dtm = new DiagramTreeModel(this); - dtree.setModel(dtm); - } - - public void closeTurtleModeling() { - if (mode != NOT_OPENED) { - setMode(NOT_OPENED); - - // tabbed pane - for(int i=0; i<tabs.size(); i++) { - tabs.elementAt(i).tabbedPane.removeAll(); - } - - tabs = null; - mainTabbedPane = null; - panelForTab.removeAll(); - activetdp = null; - - gtm = null; - tclassesToValidate = new LinkedList<TClassInterface> (); - MasterGateManager.reinitNameRestriction(); - - typeButtonSelected = - 1; - idButtonSelected = -1; - - //activeDiagramToolBar = null; - - dtree.reinit(); - dtree.forceUpdate(); - frame.setTitle("TTool"); - frame.repaint(); - } - } - - public void setStatusBarText(String s) { - // captitalizeFirstLetter - if (s == null) { - return; - } - - if (s.length() == 0) { - return; - } - - if (s.length() > 1) { - status.setText(s.substring(0, 1).toUpperCase() + s.substring(1, s.length())); - } else { - status.setText(s); - } - } - - public void reinitMainTabbedPane() { - mainTabbedPane.removeAll(); - tabs.removeAllElements(); - } - - public void newDesign() { - //TraceManager.addDev("NEW DESIGN"); - addDesignPanel("Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newDeployment() { - //TraceManager.addDev("NEW DESIGN"); - addDeploymentPanel("Deployment", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newAnalysis() { - //TraceManager.addDev("NEW ANALYSIS"); - addAnalysisPanel("Analysis", 0); - ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - public void newAvatarAnalysis() { - //TraceManager.addDev("NEW ANALYSIS"); - addAvatarAnalysisPanel("Analysis", 0); - //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - - public void newCommunicationPattern() { - //TraceManager.addDev("NEW ANALYSIS"); - //addCommunicationPatternPanel("CP", 0); - ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - public void newTMLDesign() { - //TraceManager.addDev("NEW DESIGN"); - addTMLDesignPanel("DIPLODOCUS_Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newDiplodocusMethodology() { - //TraceManager.addDev("NEW DESIGN"); - addDiplodocusMethodologyPanel("DIPLODOCUS_Methodology", -1, true); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newAvatarMethodology() { - //TraceManager.addDev("NEW DESIGN"); - addAvatarMethodologyPanel("AVATAR_Methodology", -1, true); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newSysmlsecMethodology() { - //TraceManager.addDev("NEW DESIGN"); - addSysmlsecMethodologyPanel("SysMLSec_Methodology", -1, true); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newTMLComponentDesign() { - //TraceManager.addDev("NEW DESIGN"); - addTMLComponentDesignPanel("DIPLODOCUS_C_Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newTMLCP() { - //TraceManager.addDev("NEW ANALYSIS"); - addTMLCPPanel("CP", 0); - ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - public void newTMLArchi() { - //TraceManager.addDev("NEW DIPLO Architecture"); - addTMLArchiPanel("Architecture", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newADD() { - //TraceManager.addDev("NEW Avatar deployment"); - addADDPanel("Deployment", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint(); - } - - public void newTURTLEOSDesign() { - //TraceManager.addDev("NEW DESIGN"); - addTURTLEOSDesignPanel("TURTLE-OS Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - } - - public void newNCDesign() { - //TraceManager.addDev("NEW NC DESIGN"); - addNCDesignPanel("NC Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - } - - public void newAvatarBD() { - //TraceManager.addDev("NEW AVATAR BD"); - addAvatarDesignPanel("Design", -1); - ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - } - - public void newAvatarRequirement() { - //TraceManager.addDev("NEW AVATAR Requirement"); - addAvatarRequirementPanel("Requirements", 0); - //((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - } - - public void newAvatarMADs() { - //TraceManager.addDev("NEW AVATAR MAD"); - addAvatarMADPanel("Assumptions", 0); - //((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - } - - public void newProactiveDesign() { - //TraceManager.addDev("NEW DESIGN"); - /*int index = */addProActiveDesignPanel("ProActive Design", -1); - tabs.elementAt(tabs.size()-1).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(tabs.size()-1); - //paneAction(null); - //frame.repaint();*/ - } - - public void newAttackTree() { - //TraceManager.addDev("NEW ANALYSIS"); - addAttackTreePanel("Attack Trees", 0); - //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - public void newRequirement() { - //TraceManager.addDev("NEW ANALYSIS"); - addRequirementPanel("Requirements", 0); - //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); - mainTabbedPane.setSelectedIndex(0); - //paneAction(null); - //frame.repaint(); - } - - // Action listeners - public void newProject() { - if (mode == NOT_OPENED) { - //mode = ProjectManager.TM_OPENED; - newTurtleModeling(); - //gtm.saveOperation(tcdp); - file = null; - frame.setTitle("TTool: unsaved project"); - } else { - // check if previous modeling is saved - boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); - if (b) { - if (!saveBeforeAction("Save and Start New Modeling", "Start New modeling")) { - return; - } - /*int back = JOptionPane.showConfirmDialog(frame, "Modeling has not been saved\nDo you really want to open a new one ?", "Attention: current modeling not saved ?", JOptionPane.OK_CANCEL_OPTION); + SwingUtilities.updateComponentTreeUI(mainTabbedPane); + mainTabbedPane.setOpaque(true); + + + ChangeListener cl = new ChangeListener() { + public void stateChanged(ChangeEvent e){ + paneAction(e); + } + }; + mainTabbedPane.addChangeListener(cl); + panelForTab.add(mainTabbedPane, BorderLayout.CENTER); + mainTabbedPane.addMouseListener(new PopupListener(this)); + + tabs = new Vector<TURTLEPanel>(); + + frame.setVisible(true); + } + + public Vector<TURTLEPanel> getTabs() { + return tabs; + } + + public String getTitleOf(TDiagramPanel _tdp) { + TURTLEPanel panel; + for(int i=0; i<tabs.size(); i++) { + panel = (TURTLEPanel)(tabs.get(i)); + if (panel.hasTDiagramPanel(_tdp)) { + return getTitleAt(panel); + } + } + + return "Unknown"; + + + } + + public String getTitleAt(TURTLEPanel tp) { + int index = tabs.indexOf(tp); + if (index == -1) { + return "Unknown"; + } + return mainTabbedPane.getTitleAt(index); + + } + + public TURTLEPanel getTURTLEPanel(String s) { + for(int i=0; i<mainTabbedPane.getTabCount(); i++) { + if (mainTabbedPane.getTitleAt(i).compareTo(s) == 0) { + return (TURTLEPanel)(tabs.elementAt(i)); + } + } + return null; + } + + public void drawAvatarSpecification(AvatarSpecification av) { + int index = createAvatarDesign("GeneratedDesign"); + AvatarDesignPanel adp = (AvatarDesignPanel)(tabs.elementAt(index)); + gtm.drawPanel(av, adp); + } + + + // Creates the status bar. + private JLabel createStatusBar() { + status = new JLabel("Ready..."); + status.setBorder(BorderFactory.createEtchedBorder()); + return status; + } + + public void activate(JMenu jm, boolean b) { + JMenuItem im; + for(int i=0; i<jm.getItemCount(); i++) { + im = jm.getItem(i); + if (im != null) + im.setEnabled(b); + } + } + + public void start() { + // Main window is ready to be drawn on screen + if (frame == null) { + ErrorGUI.exit(ErrorGUI.GUI); + } + + boolean positioned = false; + + if (ConfigurationTTool.configSizeAvailable()) { + try { + int x = Integer.decode(ConfigurationTTool.LastWindowAttributesX).intValue(); + int y = Integer.decode(ConfigurationTTool.LastWindowAttributesY).intValue(); + int width = Integer.decode(ConfigurationTTool.LastWindowAttributesWidth).intValue(); + int height = Integer.decode(ConfigurationTTool.LastWindowAttributesHeight).intValue(); + String max = ConfigurationTTool.LastWindowAttributesMax; + if (max.compareTo("true") != 0) { + frame.setBounds(x, y, width, height); + positioned = true; + } + //TraceManager.addDev("Setting window attributes"); + } catch (Exception e) { + //TraceManager.addDev("Window positioning has failed: " + e.getMessage()); + } + } + + if (!positioned) { + frame.setBounds(100, 100, 800, 600); + // jdk 1.4 or more + frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH); + //TraceManager.addDev("No default window attributes"); + } + + frame.setVisible(true); + } + + public void newTurtleModeling() { + setMode(OPENED); + addTURTLEPanel(); + gtm = new GTURTLEModeling(this, tabs); + dtm = new DiagramTreeModel(this); + dtree.setModel(dtm); + } + + public void closeTurtleModeling() { + if (mode != NOT_OPENED) { + setMode(NOT_OPENED); + + // tabbed pane + for(int i=0; i<tabs.size(); i++) { + tabs.elementAt(i).tabbedPane.removeAll(); + } + + tabs = null; + mainTabbedPane = null; + panelForTab.removeAll(); + activetdp = null; + + gtm = null; + tclassesToValidate = new LinkedList<TClassInterface> (); + MasterGateManager.reinitNameRestriction(); + + typeButtonSelected = - 1; + idButtonSelected = -1; + + //activeDiagramToolBar = null; + + dtree.reinit(); + dtree.forceUpdate(); + frame.setTitle("TTool"); + frame.repaint(); + } + } + + public void setStatusBarText(String s) { + // captitalizeFirstLetter + if (s == null) { + return; + } + + if (s.length() == 0) { + return; + } + + if (s.length() > 1) { + status.setText(s.substring(0, 1).toUpperCase() + s.substring(1, s.length())); + } else { + status.setText(s); + } + } + + public void reinitMainTabbedPane() { + mainTabbedPane.removeAll(); + tabs.removeAllElements(); + } + + public void newDesign() { + //TraceManager.addDev("NEW DESIGN"); + addDesignPanel("Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newDeployment() { + //TraceManager.addDev("NEW DESIGN"); + addDeploymentPanel("Deployment", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newAnalysis() { + //TraceManager.addDev("NEW ANALYSIS"); + addAnalysisPanel("Analysis", 0); + ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + public void newAvatarAnalysis() { + //TraceManager.addDev("NEW ANALYSIS"); + addAvatarAnalysisPanel("Analysis", 0); + //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + + public void newCommunicationPattern() { + //TraceManager.addDev("NEW ANALYSIS"); + //addCommunicationPatternPanel("CP", 0); + ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + public void newTMLDesign() { + //TraceManager.addDev("NEW DESIGN"); + addTMLDesignPanel("DIPLODOCUS_Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newDiplodocusMethodology() { + //TraceManager.addDev("NEW DESIGN"); + addDiplodocusMethodologyPanel("DIPLODOCUS_Methodology", -1, true); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newAvatarMethodology() { + //TraceManager.addDev("NEW DESIGN"); + addAvatarMethodologyPanel("AVATAR_Methodology", -1, true); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newSysmlsecMethodology() { + //TraceManager.addDev("NEW DESIGN"); + addSysmlsecMethodologyPanel("SysMLSec_Methodology", -1, true); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newTMLComponentDesign() { + //TraceManager.addDev("NEW DESIGN"); + addTMLComponentDesignPanel("DIPLODOCUS_C_Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newTMLCP() { + //TraceManager.addDev("NEW ANALYSIS"); + addTMLCPPanel("CP", 0); + ((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + public void newTMLArchi() { + //TraceManager.addDev("NEW DIPLO Architecture"); + addTMLArchiPanel("Architecture", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newADD() { + //TraceManager.addDev("NEW Avatar deployment"); + addADDPanel("Deployment", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint(); + } + + public void newTURTLEOSDesign() { + //TraceManager.addDev("NEW DESIGN"); + addTURTLEOSDesignPanel("TURTLE-OS Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + } + + public void newNCDesign() { + //TraceManager.addDev("NEW NC DESIGN"); + addNCDesignPanel("NC Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + } + + public void newAvatarBD() { + //TraceManager.addDev("NEW AVATAR BD"); + addAvatarDesignPanel("Design", -1); + ((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + } + + public void newAvatarRequirement() { + //TraceManager.addDev("NEW AVATAR Requirement"); + addAvatarRequirementPanel("Requirements", 0); + //((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + } + + public void newAvatarMADs() { + //TraceManager.addDev("NEW AVATAR MAD"); + addAvatarMADPanel("Assumptions", 0); + //((TURTLEPanel)tabs.elementAt(tabs.size()-1)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + } + + public void newProactiveDesign() { + //TraceManager.addDev("NEW DESIGN"); + /*int index = */addProActiveDesignPanel("ProActive Design", -1); + tabs.elementAt(tabs.size()-1).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(tabs.size()-1); + //paneAction(null); + //frame.repaint();*/ + } + + public void newAttackTree() { + //TraceManager.addDev("NEW ANALYSIS"); + addAttackTreePanel("Attack Trees", 0); + //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + public void newRequirement() { + //TraceManager.addDev("NEW ANALYSIS"); + addRequirementPanel("Requirements", 0); + //((TURTLEPanel)tabs.elementAt(0)).tabbedPane.setSelectedIndex(0); + mainTabbedPane.setSelectedIndex(0); + //paneAction(null); + //frame.repaint(); + } + + // Action listeners + public void newProject() { + if (mode == NOT_OPENED) { + //mode = ProjectManager.TM_OPENED; + newTurtleModeling(); + //gtm.saveOperation(tcdp); + file = null; + frame.setTitle("TTool: unsaved project"); + } else { + // check if previous modeling is saved + boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); + if (b) { + if (!saveBeforeAction("Save and Start New Modeling", "Start New modeling")) { + return; + } + /*int back = JOptionPane.showConfirmDialog(frame, "Modeling has not been saved\nDo you really want to open a new one ?", "Attention: current modeling not saved ?", JOptionPane.OK_CANCEL_OPTION); if (back == JOptionPane.CANCEL_OPTION) { return; */ - /*}*/ - } - // close current modeling - closeTurtleModeling(); - - // opens a new one - newTurtleModeling(); - - //gtm.saveOperation(tcdp); - - file = null; - lotosfile = null; - simfile = null; - dtafile = null; - dtadotfile = null; - rgfile = null; - tlsafile = null; - rgdotfile = null; - tlsadotfile = null; - rgautfile = null; - fc2file = null; - bcgfile = null; - rgautdotfile = null; - rgautprojfile = null; - rgautprojdotfile = null; - - frame.setTitle("TTool: unsaved project"); - } - } - - public String loadFile(File f) { - String s = null; - - if(checkFileForOpen(f)) { - try { - FileInputStream fis = new FileInputStream(f); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - } catch (OutOfMemoryError er) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + er.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - } - } - return s; - } - - public void saveFile(File f, String data, String msg) { - if(checkFileForSave(f)) { - try { - if (data == null) { - return; - } - FileOutputStream fos = new FileOutputStream(f); - fos.write(data.getBytes()); - fos.close(); - JOptionPane.showMessageDialog(frame, msg + " " + f.getAbsolutePath(), "Saving", JOptionPane.INFORMATION_MESSAGE); - return; - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return; - } - } - } - - public String loadLibrary() { - File libfile; - - int returnVal = jfclib.showDialog(frame, "Import library"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return null; - } - - libfile = jfclib.getSelectedFile(); - libfile = FileUtils.addFileExtensionIfMissing(libfile, TLibFilter.getExtension()); - - return loadFile(libfile); - } - - public String[] loadLotosSpec() { - File lotfile; - - int returnVal = jfclot.showDialog(frame, "Load RT-LOTOS specification"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return null; - } - - lotfile = jfclot.getSelectedFile(); - lotfile = FileUtils.addFileExtensionIfMissing(lotfile, RTLFileFilter.getExtension()); - - String spec = loadFile(lotfile); - if (spec == null) { - return null; - } - - String [] ret = new String[2]; - ret[0] = lotfile.getName(); - ret[1] = spec; - return ret; - } - - public void saveLotosSpec(String data) { - File lotfile; - - int returnVal = jfclot.showDialog(frame, "Save RT-LOTOS specification"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - lotfile = jfclot.getSelectedFile(); - lotfile = FileUtils.addFileExtensionIfMissing(lotfile, RTLFileFilter.getExtension()); - - saveFile(lotfile, data, "LOTOS specification saved under"); - } - - public void saveDTA(String tdata, String gdata) { - File dtafile; - - /* textual form */ - DTAFileFilter filter = new DTAFileFilter(); - jfctgraph.setFileFilter(filter); - - int returnVal = jfctgraph.showDialog(frame, "Save last DTA (textual form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - dtafile = jfctgraph.getSelectedFile(); - dtafile = FileUtils.addFileExtensionIfMissing(dtafile, DTAFileFilter.getExtension()); - - saveFile(dtafile, tdata, "Textual DTA saved under"); - - /* graphical form */ - returnVal = jfcggraph.showDialog(frame, "Save last DTA (graphical form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - dtafile = jfcggraph.getSelectedFile(); - dtafile = FileUtils.addFileExtensionIfMissing(dtafile, TDotFilter.getExtension()); - - saveFile(dtafile, gdata, "Graphical DTA saved under"); - } - - public String saveTPNNDRFormat(String tpn) { - String s = file.getAbsolutePath(); - int l = s.length(); - String myFile = s.substring(0, l-4) + ".ndr"; - try { - FileUtils.saveFile(myFile, tpn); - } catch (Exception e) { - return "TPN could not be saved in myFile: " +e.getMessage(); - } - return "TPN saved in " +myFile; - } + /*}*/ + } + // close current modeling + closeTurtleModeling(); + + // opens a new one + newTurtleModeling(); + + //gtm.saveOperation(tcdp); + + file = null; + lotosfile = null; + simfile = null; + dtafile = null; + dtadotfile = null; + rgfile = null; + tlsafile = null; + rgdotfile = null; + tlsadotfile = null; + rgautfile = null; + fc2file = null; + bcgfile = null; + rgautdotfile = null; + rgautprojfile = null; + rgautprojdotfile = null; + + frame.setTitle("TTool: unsaved project"); + } + } + + public String loadFile(File f) { + String s = null; + + if(checkFileForOpen(f)) { + try { + FileInputStream fis = new FileInputStream(f); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + } catch (OutOfMemoryError er) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + er.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + } + } + return s; + } + + public void saveFile(File f, String data, String msg) { + if(checkFileForSave(f)) { + try { + if (data == null) { + return; + } + FileOutputStream fos = new FileOutputStream(f); + fos.write(data.getBytes()); + fos.close(); + JOptionPane.showMessageDialog(frame, msg + " " + f.getAbsolutePath(), "Saving", JOptionPane.INFORMATION_MESSAGE); + return; + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return; + } + } + } + + public String loadLibrary() { + File libfile; + + int returnVal = jfclib.showDialog(frame, "Import library"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return null; + } + + libfile = jfclib.getSelectedFile(); + libfile = FileUtils.addFileExtensionIfMissing(libfile, TLibFilter.getExtension()); + + return loadFile(libfile); + } + + public String[] loadLotosSpec() { + File lotfile; + + int returnVal = jfclot.showDialog(frame, "Load RT-LOTOS specification"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return null; + } + + lotfile = jfclot.getSelectedFile(); + lotfile = FileUtils.addFileExtensionIfMissing(lotfile, RTLFileFilter.getExtension()); + + String spec = loadFile(lotfile); + if (spec == null) { + return null; + } + + String [] ret = new String[2]; + ret[0] = lotfile.getName(); + ret[1] = spec; + return ret; + } + + public void saveLotosSpec(String data) { + File lotfile; + + int returnVal = jfclot.showDialog(frame, "Save RT-LOTOS specification"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } - public void saveRG(String tdata, String gdata) { - File rgfile; + lotfile = jfclot.getSelectedFile(); + lotfile = FileUtils.addFileExtensionIfMissing(lotfile, RTLFileFilter.getExtension()); - /* textual form */ - RGFileFilter filter = new RGFileFilter(); - jfctgraph.setFileFilter(filter); + saveFile(lotfile, data, "LOTOS specification saved under"); + } - int returnVal = jfctgraph.showDialog(frame, "Save last RG (textual form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } + public void saveDTA(String tdata, String gdata) { + File dtafile; - rgfile = jfctgraph.getSelectedFile(); - rgfile = FileUtils.addFileExtensionIfMissing(rgfile, RGFileFilter.getExtension()); + /* textual form */ + DTAFileFilter filter = new DTAFileFilter(); + jfctgraph.setFileFilter(filter); - saveFile(rgfile, tdata, "Textual RG saved under"); + int returnVal = jfctgraph.showDialog(frame, "Save last DTA (textual form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } - /* graphical form */ - returnVal = jfcggraph.showDialog(frame, "Save last RG (graphical form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } + dtafile = jfctgraph.getSelectedFile(); + dtafile = FileUtils.addFileExtensionIfMissing(dtafile, DTAFileFilter.getExtension()); - rgfile = jfcggraph.getSelectedFile(); - rgfile = FileUtils.addFileExtensionIfMissing(rgfile, TDotFilter.getExtension()); + saveFile(dtafile, tdata, "Textual DTA saved under"); - saveFile(rgfile, gdata, "Graphical RG saved under"); - } + /* graphical form */ + returnVal = jfcggraph.showDialog(frame, "Save last DTA (graphical form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } - public void saveTLSA(String tdata, String gdata) { - File tlsafile; + dtafile = jfcggraph.getSelectedFile(); + dtafile = FileUtils.addFileExtensionIfMissing(dtafile, TDotFilter.getExtension()); - /* textual form */ - TLSAFileFilter filter = new TLSAFileFilter(); - jfctgraph.setFileFilter(filter); + saveFile(dtafile, gdata, "Graphical DTA saved under"); + } - int returnVal = jfctgraph.showDialog(frame, "Save last TLSA (textual form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } + public String saveTPNNDRFormat(String tpn) { + String s = file.getAbsolutePath(); + int l = s.length(); + String myFile = s.substring(0, l-4) + ".ndr"; + try { + FileUtils.saveFile(myFile, tpn); + } catch (Exception e) { + return "TPN could not be saved in myFile: " +e.getMessage(); + } + return "TPN saved in " +myFile; + } - tlsafile = jfctgraph.getSelectedFile(); - tlsafile = FileUtils.addFileExtensionIfMissing(tlsafile, TLSAFileFilter.getExtension()); + public void saveRG(String tdata, String gdata) { + File rgfile; - saveFile(tlsafile, tdata, "Textual TLSA saved under"); + /* textual form */ + RGFileFilter filter = new RGFileFilter(); + jfctgraph.setFileFilter(filter); - /* graphical form */ - returnVal = jfcggraph.showDialog(frame, "Save last TLSA (graphical form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } + int returnVal = jfctgraph.showDialog(frame, "Save last RG (textual form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } - tlsafile = jfcggraph.getSelectedFile(); - tlsafile = FileUtils.addFileExtensionIfMissing(tlsafile, TDotFilter.getExtension()); + rgfile = jfctgraph.getSelectedFile(); + rgfile = FileUtils.addFileExtensionIfMissing(rgfile, RGFileFilter.getExtension()); - saveFile(tlsafile, gdata, "Graphical TLSA saved under"); - } - - public void saveRGAUT(String tdata, String gdata) { - File rgfile; - - /* textual form */ - AUTFileFilter filter = new AUTFileFilter(); - jfctgraph.setFileFilter(filter); - - int returnVal = jfctgraph.showDialog(frame, "Save last RG/AUT (textual form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - rgfile = jfctgraph.getSelectedFile(); - rgfile = FileUtils.addFileExtensionIfMissing(rgfile, AUTFileFilter.getExtension()); - - saveFile(rgfile, tdata, "Textual RG/AUTsaved under"); - - /* graphical form */ - returnVal = jfcggraph.showDialog(frame, "Save last RG/AUT (graphical form)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - rgfile = jfcggraph.getSelectedFile(); - rgfile = FileUtils.addFileExtensionIfMissing(rgfile, TDotFilter.getExtension()); - - saveFile(rgfile, gdata, "Graphical RG/AUT saved under"); - } - - - - public String[] loadGGraph() { - File gfile; - - int returnVal = jfcggraph.showDialog(frame, "Load Graph (DOT format)"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return null; - } - - gfile = jfcggraph.getSelectedFile(); - gfile = FileUtils.addFileExtensionIfMissing(gfile, TDotFilter.getExtension()); - - String spec = loadFile(gfile); - if (spec == null) { - return null; - } - - String [] ret = new String[2]; - ret[0] = gfile.getName(); - ret[1] = spec; - return ret; - } - - public String[] loadGGraph(String name) { - try { - String spec = FileUtils.loadFile(name); - if (spec == null) { - return null; - } - - String [] ret = new String[2]; - ret[0] = name; - ret[1] = spec; - return ret; - } catch (Exception e) { - return null; - } - } - - public String[] loadAUTGraph() { - File autfile; - - /* textual form */ - AUTFileFilter filter = new AUTFileFilter(); - jfctgraph.setFileFilter(filter); - - int returnVal = jfctgraph.showDialog(frame, "Load AUT graph"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return null; - } - - autfile = jfctgraph.getSelectedFile(); - autfile = FileUtils.addFileExtensionIfMissing(autfile, AUTFileFilter.getExtension()); - - String spec = loadFile(autfile); - if (spec == null) { - return null; - } - - String [] ret = new String[2]; - ret[0] = autfile.getName(); - ret[1] = spec; - return ret; - } - - public void updateLastOpenFile(File file) { - if (ConfigurationTTool.LastOpenFileDefined) { - ConfigurationTTool.LastOpenFile = file.getPath(); - // Change name of action - actions[TGUIAction.ACT_OPEN_LAST].setName(TGUIAction.ACT_OPEN_LAST, ConfigurationTTool.LastOpenFile); - } - } - - // Only if a project is already opened - public void mergeProject() { - //TraceManager.addDev("Merge"); - File filetmp = file; - int returnVal = jfc.showOpenDialog(frame); - - if (returnVal == JFileChooser.APPROVE_OPTION) { - filetmp = jfc.getSelectedFile(); - } - - String s = null; - String oldmodeling = gtm.makeXMLFromTurtleModeling(-1); - if(checkFileForOpen(filetmp)) { - try { - FileInputStream fis = new FileInputStream(filetmp); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return; - } - // close current modeling - closeTurtleModeling(); - - // open the new TURTLE modeling - newTurtleModeling(); - - //TraceManager.addDev("Loading"); - // load the new TURTLE modeling - try { - //TraceManager.addDev("Merging"); - gtm.enableUndo(false); - gtm.loadModelingFromXML(gtm.mergeTURTLEGModeling(oldmodeling, s)); - gtm.enableUndo(true); - gtm.saveOperation(getCurrentSelectedPoint()); - //gtm.saveOperation(tcdp); - frame.setTitle("TTool: " + file.getAbsolutePath()); - makeLotosFile(); - - if (gtm.getCheckingErrors().size() > 0) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly merged", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - } - - } catch (MalformedModelingException mme) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly merged", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - } - dtree.forceUpdate(); - } - - } - - - public void openProject() { - // check if a current modeling is opened - boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); - if (b) { - if (!saveBeforeAction("Save and Open", "Open")) { - return; - } - /* int back = JOptionPane.showConfirmDialog(frame, "Current modeling has not been saved\nDo you really want to open a new one ?", "To quit, or not to quit ?", JOptionPane.OK_CANCEL_OPTION); + saveFile(rgfile, tdata, "Textual RG saved under"); + + /* graphical form */ + returnVal = jfcggraph.showDialog(frame, "Save last RG (graphical form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + rgfile = jfcggraph.getSelectedFile(); + rgfile = FileUtils.addFileExtensionIfMissing(rgfile, TDotFilter.getExtension()); + + saveFile(rgfile, gdata, "Graphical RG saved under"); + } + + public void saveTLSA(String tdata, String gdata) { + File tlsafile; + + /* textual form */ + TLSAFileFilter filter = new TLSAFileFilter(); + jfctgraph.setFileFilter(filter); + + int returnVal = jfctgraph.showDialog(frame, "Save last TLSA (textual form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + tlsafile = jfctgraph.getSelectedFile(); + tlsafile = FileUtils.addFileExtensionIfMissing(tlsafile, TLSAFileFilter.getExtension()); + + saveFile(tlsafile, tdata, "Textual TLSA saved under"); + + /* graphical form */ + returnVal = jfcggraph.showDialog(frame, "Save last TLSA (graphical form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + tlsafile = jfcggraph.getSelectedFile(); + tlsafile = FileUtils.addFileExtensionIfMissing(tlsafile, TDotFilter.getExtension()); + + saveFile(tlsafile, gdata, "Graphical TLSA saved under"); + } + + public void saveRGAUT(String tdata, String gdata) { + File rgfile; + + /* textual form */ + AUTFileFilter filter = new AUTFileFilter(); + jfctgraph.setFileFilter(filter); + + int returnVal = jfctgraph.showDialog(frame, "Save last RG/AUT (textual form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + rgfile = jfctgraph.getSelectedFile(); + rgfile = FileUtils.addFileExtensionIfMissing(rgfile, AUTFileFilter.getExtension()); + + saveFile(rgfile, tdata, "Textual RG/AUTsaved under"); + + /* graphical form */ + returnVal = jfcggraph.showDialog(frame, "Save last RG/AUT (graphical form)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + rgfile = jfcggraph.getSelectedFile(); + rgfile = FileUtils.addFileExtensionIfMissing(rgfile, TDotFilter.getExtension()); + + saveFile(rgfile, gdata, "Graphical RG/AUT saved under"); + } + + + + public String[] loadGGraph() { + File gfile; + + int returnVal = jfcggraph.showDialog(frame, "Load Graph (DOT format)"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return null; + } + + gfile = jfcggraph.getSelectedFile(); + gfile = FileUtils.addFileExtensionIfMissing(gfile, TDotFilter.getExtension()); + + String spec = loadFile(gfile); + if (spec == null) { + return null; + } + + String [] ret = new String[2]; + ret[0] = gfile.getName(); + ret[1] = spec; + return ret; + } + + public String[] loadGGraph(String name) { + try { + String spec = FileUtils.loadFile(name); + if (spec == null) { + return null; + } + + String [] ret = new String[2]; + ret[0] = name; + ret[1] = spec; + return ret; + } catch (Exception e) { + return null; + } + } + + public String[] loadAUTGraph() { + File autfile; + + /* textual form */ + AUTFileFilter filter = new AUTFileFilter(); + jfctgraph.setFileFilter(filter); + + int returnVal = jfctgraph.showDialog(frame, "Load AUT graph"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return null; + } + + autfile = jfctgraph.getSelectedFile(); + autfile = FileUtils.addFileExtensionIfMissing(autfile, AUTFileFilter.getExtension()); + + String spec = loadFile(autfile); + if (spec == null) { + return null; + } + + String [] ret = new String[2]; + ret[0] = autfile.getName(); + ret[1] = spec; + return ret; + } + + public void updateLastOpenFile(File file) { + if (ConfigurationTTool.LastOpenFileDefined) { + ConfigurationTTool.LastOpenFile = file.getPath(); + // Change name of action + actions[TGUIAction.ACT_OPEN_LAST].setName(TGUIAction.ACT_OPEN_LAST, ConfigurationTTool.LastOpenFile); + } + } + + // Only if a project is already opened + public void mergeProject() { + //TraceManager.addDev("Merge"); + File filetmp = file; + int returnVal = jfc.showOpenDialog(frame); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + filetmp = jfc.getSelectedFile(); + } + + String s = null; + String oldmodeling = gtm.makeXMLFromTurtleModeling(-1); + if(checkFileForOpen(filetmp)) { + try { + FileInputStream fis = new FileInputStream(filetmp); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return; + } + // close current modeling + closeTurtleModeling(); + + // open the new TURTLE modeling + newTurtleModeling(); + + //TraceManager.addDev("Loading"); + // load the new TURTLE modeling + try { + //TraceManager.addDev("Merging"); + gtm.enableUndo(false); + gtm.loadModelingFromXML(gtm.mergeTURTLEGModeling(oldmodeling, s)); + gtm.enableUndo(true); + gtm.saveOperation(getCurrentSelectedPoint()); + //gtm.saveOperation(tcdp); + frame.setTitle("TTool: " + file.getAbsolutePath()); + makeLotosFile(); + + if (gtm.getCheckingErrors().size() > 0) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly merged", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + } + + } catch (MalformedModelingException mme) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly merged", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + } + dtree.forceUpdate(); + } + + } + + public void openNetworkProject() { + boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); + if (b) { + if (!saveBeforeAction("Save and Open", "Open")) { + return; + } + /* int back = JOptionPane.showConfirmDialog(frame, "Current modeling has not been saved\nDo you really want to open a new one ?", "To quit, or not to quit ?", JOptionPane.OK_CANCEL_OPTION); + if (back == JOptionPane.CANCEL_OPTION) { + return; + }*/ + } + + JDialogLoadingNetworkModel jdlnm = new JDialogLoadingNetworkModel(frame, this, "Opening a network model", ConfigurationTTool.URL_MODEL); + GraphicLib.centerOnParent(jdlnm, 600, 800); + jdlnm.setVisible(true); // blocked until dialog has been closed + } + + + public void openProject() { + // check if a current modeling is opened + boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); + if (b) { + if (!saveBeforeAction("Save and Open", "Open")) { + return; + } + /* int back = JOptionPane.showConfirmDialog(frame, "Current modeling has not been saved\nDo you really want to open a new one ?", "To quit, or not to quit ?", JOptionPane.OK_CANCEL_OPTION); if (back == JOptionPane.CANCEL_OPTION) { return; }*/ - } - - //jfc.setApproveButtonText("Open"); - int returnVal = jfc.showOpenDialog(frame); - - if (returnVal == JFileChooser.CANCEL_OPTION) { - return; - } - - if (returnVal == JFileChooser.APPROVE_OPTION) { - file = jfc.getSelectedFile(); - } - - String s = null; - if(checkFileForOpen(file)) { - try { - FileInputStream fis = new FileInputStream(file); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return; - } - - // close current modeling - closeTurtleModeling(); - - - - // open the new TURTLE modeling - newTurtleModeling(); - - gtm.enableUndo(false); - - // Update configuration - updateLastOpenFile(file); - - //TraceManager.addDev("Loading"); - // load the new TURTLE modeling - try { - gtm.loadModelingFromXML(s); - //gtm.saveOperation(tcdp); - frame.setTitle("TTool: " + file.getAbsolutePath()); - makeLotosFile(); - - if (gtm.getCheckingErrors().size() > 0) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - - } - } catch (MalformedModelingException mme) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - frame.setTitle("TToolt: unamed project"); - } - gtm.enableUndo(true); - gtm.saveOperation(getCurrentSelectedPoint()); - dtree.forceUpdate(); - } - } - - public void openLastProject() { - // Check if a current modeling is opened - boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); - if (b) { - if (!saveBeforeAction("Save and Open", "Open")) { - return; - } - } - - file = new File(ConfigurationTTool.LastOpenFile); - - String s = null; - if(checkFileForOpen(file)) { - try { - FileInputStream fis = new FileInputStream(file); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return; - } - - // close current modeling - closeTurtleModeling(); - - // open the new TURTLE modeling - newTurtleModeling(); - - gtm.enableUndo(false); - - //TraceManager.addDev("Loading"); - // load the new TURTLE modeling - try { - gtm.loadModelingFromXML(s); - //gtm.saveOperation(tcdp); - frame.setTitle("TTool: " + file.getAbsolutePath()); - makeLotosFile(); - - if (gtm.getCheckingErrors().size() > 0) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - } - } - catch (MalformedModelingException mme) { - JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded ", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - frame.setTitle("TTool: unamed project"); - } - - dtree.forceUpdate(); - gtm.enableUndo(true); - gtm.saveOperation(getCurrentSelectedPoint()); - } - - //Added by Solange - //TURTLEPanel tp = getCurrentTURTLEPanel(); - //gtm.generateLists((ProactiveDesignPanel)tp); - // - } - - public void saveAsLibrary(String data) { - File libfile; - - int returnVal = jfclib.showDialog(frame, "Export library"); - if(returnVal != JFileChooser.APPROVE_OPTION) { - return; - } - - libfile = jfclib.getSelectedFile(); - libfile = FileUtils.addFileExtensionIfMissing(libfile, TLibFilter.getExtension()); - - if(checkFileForSave(libfile)) { - try { - if (data == null) { - throw new Exception("Selected data corrupted"); - } - FileOutputStream fos = new FileOutputStream(libfile); - fos.write(data.getBytes()); - fos.close(); - JOptionPane.showMessageDialog(frame, "Modeling was correctly saved under a TURTLE library named " + libfile.getName(), "Saving", JOptionPane.INFORMATION_MESSAGE); - return; - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return; - } - } - } - - public void saveAsProject() { - File old = file; - if (file == null) { - // project never saved - saveProject(); - } else { - file = null; - if (!saveProject()) { - file = old; - } - } - if (file != old) { - //frame.setTitle("TURTLE Toolkit: " + file.getAbsolutePath()); - makeLotosFile(); - } - } - - public boolean saveTIF() { - int returnVal = jfctif.showSaveDialog(frame); - if(returnVal == JFileChooser.APPROVE_OPTION) { - file = jfctif.getSelectedFile(); - file = FileUtils.addFileExtensionIfMissing(file, TTIFFilter.getExtension()); - } - - if(checkFileForSave(file)) { - String s = gtm.saveTIF(); - try { - - if (s == null) { - throw new Exception("TIF specification is void"); - - } - FileOutputStream fos = new FileOutputStream(file); - fos.write(s.getBytes()); - fos.close(); - - return true; - } catch (Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - } - return false; - } - - public boolean openTIF() { - //jfc.setApproveButtonText("Open"); - int returnVal = jfctif.showOpenDialog(frame); - - if (returnVal == JFileChooser.APPROVE_OPTION) { - file = jfctif.getSelectedFile(); - } - - String s = null; - if(checkFileForOpen(file)) { - try { - FileInputStream fis = new FileInputStream(file); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - } - if (s == null) { - return false; - } - TraceManager.addDev("Open TIF =" + s); - if (gtm == null) { - newTurtleModeling(); - } - return gtm.openTIF(s); - - } - - public boolean openSD() { - //jfc.setApproveButtonText("Open"); - int returnVal = jfcmsc.showOpenDialog(frame); - - if (returnVal == JFileChooser.APPROVE_OPTION) { - file = jfcmsc.getSelectedFile(); - } - - String s = null; - if(checkFileForOpen(file)) { - try { - FileInputStream fis = new FileInputStream(file); - int nb = fis.available(); - - byte [] ba = new byte[nb]; - fis.read(ba); - fis.close(); - s = new String(ba); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - } - if (s == null) { - return false; - } - TraceManager.addDev("Open SD =" + s); - if (gtm == null) { - newTurtleModeling(); - } - return gtm.openSD(s); - - } - - protected boolean saveProject() { - if (file == null) { - //jfc.setApproveButtonText("Save"); - int returnVal = jfc.showSaveDialog(frame); - if(returnVal == JFileChooser.APPROVE_OPTION) { - file = jfc.getSelectedFile(); - file = FileUtils.addFileExtensionIfMissing(file, TFileFilter.getExtension()); - } - } - - if( checkFileForSave(file)) { - String s = gtm.makeXMLFromTurtleModeling(-1); - - try { - if (gtm == null) { - throw new Exception("Internal model Error 1"); - } - if (s == null) { - throw new Exception("Internal model Error 2"); - } - FileOutputStream fos = new FileOutputStream(file); - fos.write(s.getBytes()); - fos.close(); - updateLastOpenFile(file); - setMode(MODEL_SAVED); - String title = "TTool: " + file.getAbsolutePath(); - if (!frame.getTitle().equals(title)) { - frame.setTitle(title); - } - if (lotosfile == null) { - makeLotosFile(); - } - return true; - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - } - return false; - } - - public boolean checkFileForOpen(File file) { - boolean ok = true; - String pb = ""; - - //TraceManager.addDev("File path=" + file.getPath() + " name=" + file.getName()); - - if (file == null) { - return false; - } - - try { - if (file != null) { - if (!file.exists()) { - pb = "File " + file + " doesn't exist"; - ok = false; - } - if ((ok == true) && (!file.canRead())) { - pb = "File is read protected"; - ok = false; - } - } - } catch (Exception e) { - ok = false; - pb = e.getMessage(); - } - if (ok == false) { - file = null; - JOptionPane.showMessageDialog(frame, pb, "File Error", JOptionPane.INFORMATION_MESSAGE); - } - return ok; - } - - public boolean checkFileForSave(File file) { - boolean ok = true; - String pb = ""; - - if (file == null) { - return false; - } - - try { - if (file != null) { - if (!file.exists()) { - if (!file.createNewFile()) { - pb = "File could not be created"; - ok = false; - } - if (!file.canWrite()) { - pb = "File is write protected"; - ok = false; - } - } - } - } catch (Exception e) { - ok = false; - pb = e.getMessage(); - } - if (ok == false) { - file = null; - JOptionPane.showMessageDialog(frame, pb, "File Error", JOptionPane.INFORMATION_MESSAGE); - } - return ok; - } - - public void saveLastLotos() { - saveLotosSpec(gtm.getLastRTLOTOSSpecification()); - } - - public void saveLastDTA() { - saveDTA(gtm.getLastTextualDTA(), gtm.getLastGraphicalDTA()); - } - - public void saveLastRG() { - saveRG(gtm.getLastTextualRG(), gtm.getLastGraphicalRG()); - } - - public void saveLastTLSA() { - saveTLSA(gtm.getLastTextualTLSA(), gtm.getLastGraphicalTLSA()); - } - - public void saveLastRGAUT() { - saveRGAUT(gtm.getLastTextualRGAUT(), gtm.getLastGraphicalRGAUT()); - } - - public void saveLastRGAUTProj() { - saveRGAUT(gtm.getLastTextualRGAUTProj(), gtm.getLastGraphicalRGAUTProj()); - } - - public void saveLastModifiedRG() { - saveRGAUT(modifiedaut, modifiedautdot); - } - - public void importLibrary() { - //TDiagramPanel tdp1 = ((TDiagramPanel)(designPanels.elementAt(mainDesignTabbedPane.getSelectedIndex())); - //tdp1.insertLibrary(tdp1.getMinX(), tdp1.getMinY()); - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - if (tdp1 != null) { - tdp1.insertLibrary(tdp1.getMinX(), tdp1.getMinY()); - } - } - - public void exportLibrary() { - //TDiagramPanel tdp1 = (TDiagramPanel)(designPanels.elementAt(mainDesignTabbedPane.getSelectedIndex())); - //tdp1.saveAsLibrary(); - getCurrentTDiagramPanel().saveAsLibrary(); - } - - public void makeLotosFile() { - String s = file.getAbsolutePath(); - int l = s.length(); - String myFile = s.substring(0, l-4); - lotosfile = new File(myFile + ".lot"); - simfile = new File(myFile + ".sim"); - dtafile = new File(myFile + ".dta"); - dtadotfile = new File(myFile + ".dta.dot"); - rgfile = new File(myFile + ".rg"); - rgdotfile = new File(myFile + ".rg.dot"); - tlsafile = new File(myFile + ".tlsa"); - tlsadotfile = new File(myFile + ".dot.tlsa"); - rgautfile = new File(myFile + ".aut"); - fc2file = new File(myFile + ".fc2"); - bcgfile = new File(myFile + ".bcg"); - rgautdotfile = new File(myFile + ".aut.dot"); - rgautprojfile = new File(myFile + "_proj.aut"); - rgautprojdotfile = new File(myFile + "_proj.aut.dot"); - } - - public boolean saveBeforeAction(String str1, String str2) { - Object[] options = { str1, str2, "CANCEL" }; - int back = JOptionPane.showOptionDialog(frame, "Modeling has not been saved", "Warning", - JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, - null, options, options[0]); - //TraceManager.addDev("back= " + back); - if (back == JOptionPane.CANCEL_OPTION) { - return false; - } - if (back == JOptionPane.YES_OPTION) { - saveProject(); - } - return true; - } - - public void quitApplication() { - boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); - if (b) { - if (saveBeforeAction("SAVE and QUIT", "QUIT now") == false) { - return; - } - - } - - ConfigurationTTool.LastWindowAttributesX = "" + frame.getLocation().x; - ConfigurationTTool.LastWindowAttributesY = "" + frame.getLocation().y; - ConfigurationTTool.LastWindowAttributesWidth = "" + frame.getSize().width; - ConfigurationTTool.LastWindowAttributesHeight = "" + frame.getSize().height; - - if (frame.getExtendedState() == Frame.MAXIMIZED_BOTH) { - ConfigurationTTool.LastWindowAttributesMax = "true"; - } else { - ConfigurationTTool.LastWindowAttributesMax = "false"; - } - - try { - if (ConfigurationTTool.LastOpenFileDefined) { - ConfigurationTTool.saveConfiguration(); - //TraceManager.addDev("Configuration written to file"); - } - } catch (Exception e) {} - - - System.exit(0); - } - - - public void cut() { - getCurrentTDiagramPanel().makeCut(); - } - - public void copy() { - getCurrentTDiagramPanel().makeCopy(); - } - - public void paste() { - int x = Math.min(Math.max(getCurrentTDiagramPanel().getMinX(), getCurrentTDiagramPanel().currentX), getCurrentTDiagramPanel().getMaxX()); - int y = Math.min(Math.max(getCurrentTDiagramPanel().getMinY(), getCurrentTDiagramPanel().currentY), getCurrentTDiagramPanel().getMaxY()); - getCurrentTDiagramPanel().makePaste(x, y); - } - - public void delete() { - getCurrentTDiagramPanel().makeDelete(); - } - - public void backward() { - //TraceManager.addDev("backward"); - gtm.backward(); - setMode(MODEL_CHANGED); - dtree.toBeUpdated(); - } - - public void forward() { - //TraceManager.addDev("forward"); - gtm.forward(); - setMode(MODEL_CHANGED); - dtree.toBeUpdated(); - } - - public void zoomMore() { - zoom(1.25); - } - - public void zoomLess() { - zoom(0.8); - } - - public void zoom(double multFactor) { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - tdp.setZoom(tdp.getZoom() * multFactor); - tdp.updateComponentsAfterZoom(); - updateZoomInfo(); - } - - public void updateZoomInfo() { - String s = ""; - int zoom = (int)(getCurrentTDiagramPanel().getZoom()*100); - if (zoom < 100) { - s = "0" + zoom + "%"; - } else { - s += zoom + "%"; - } - //TraceManager.addDev("Seeting zoom in " + getCurrentTDiagramPanel()); - actions[TGUIAction.ACT_SHOW_ZOOM].setName(TGUIAction.ACT_SHOW_ZOOM, s); - } - - public void firstDiag() { - getCurrentJTabbedPane().setSelectedIndex(0); - } - - public void backDiag() { - getCurrentJTabbedPane().setSelectedIndex(Math.max(0, getCurrentJTabbedPane().getSelectedIndex() - 1)); - } - - public void nextDiag() { - getCurrentJTabbedPane().setSelectedIndex(Math.min(getCurrentJTabbedPane().getTabCount(), getCurrentJTabbedPane().getSelectedIndex() + 1)); - } - - public void lastDiag() { - getCurrentJTabbedPane().setSelectedIndex(getCurrentJTabbedPane().getTabCount() - 1); - } - - //@author: Huy TRUONG - //open a new External Search Dialog - public void showExternalSearch(){ - String textSearchField = mainBar.search.getText(); - List<String> listSearch = new ArrayList<String>(); - - if (null == this.searchBox) { - if (getCurrentTDiagramPanel()!=null) { - if (getCurrentTDiagramPanel().tdmm.getSelectComponents().size() == 0) { - listSearch.add(textSearchField); - } else { - listSearch = getCurrentTDiagramPanel().tdmm.getSelectComponents(); - listSearch.add(0, textSearchField); - - } - this.searchBox = new JDialogSearchBox(frame, "External Search", listSearch, getCurrentTDiagramPanel().tdmm); - }else - this.searchBox = new JDialogSearchBox(frame, "External Search", new ArrayList<String>()); - - } - else { - if (this.searchBox.isShowing()) { - this.searchBox.setVisible( true ); - } - else { - this.searchBox = null; - showExternalSearch(); - } - } - } - - public void doInternalSearch(){ - search(mainBar.search.getText()); - } - - public void aboutVersion() { - JFrameBasicText jft = new JFrameBasicText("About TTool ...", DefaultText.getAboutText(), IconManager.imgic324); - jft.setIconImage(IconManager.img8); - GraphicLib.centerOnParent(jft, 700, 800 ); - jft.setVisible(true); - - } - - public void showTToolConfiguration() { - JFrameBasicText jft = new JFrameBasicText("Your configuration of TTool ...", ConfigurationTTool.getConfiguration(systemcOn), IconManager.imgic76); - jft.setIconImage(IconManager.img8); - //jft.setSize(700, 800); - GraphicLib.centerOnParent(jft, 700, 800 ); - jft.setVisible(true); - - } - - public void aboutTURTLE() { - BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/"); - } - - public void helpTURTLE() { - BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/avatar.html"); - } - - public void helpSysMLSec() { - BrowserControl.startBrowerToURL("http://sysml-sec.telecom-paristech.fr/"); - } - - public void helpDIPLODOCUS() { - BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/diplodocus.html"); - } - - public void oneClickLOTOSRG() { - // boolean ret; - if (!checkModelingSyntax(true)) { - TraceManager.addDev("Syntax error"); - return; - } - - if (!generateLOTOS(true)) { - TraceManager.addDev("Generate LOTOS: error"); - return; - } - - formalValidation(true); - } - - public void oneClickRTLOTOSRG() { - // boolean ret; - if (!checkModelingSyntax(true)) { - TraceManager.addDev("Syntax error"); - return; - } - - if (!generateRTLOTOS(true)) { - TraceManager.addDev("Generate RT-LOTOS: error"); - return; - } - - formalValidation(true); - } - - public void modelChecking() { - checkModelingSyntax(false); - } - - public boolean checkModelingSyntax(String panelName, boolean automatic) { - TURTLEPanel tp = getTURTLEPanel(panelName); - if (tp != null) { - return checkModelingSyntax(tp, automatic); - } - - return false; - } - - public boolean checkModelingSyntax(boolean automatic) { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp != null) { - return checkModelingSyntax(tp, automatic); - } - - return false; - } - - public boolean checkModelingSyntax(TURTLEPanel tp, boolean automatic) { - //String msg = ""; - boolean b = false; - boolean ret = false; - - if (file == null) { - JOptionPane.showMessageDialog(frame, - "The project must be saved before any simulation or formal verification can be performed", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - return false; - } - - - if (tp instanceof AnalysisPanel) { - try { - b = gtm.buildTURTLEModelingFromAnalysis((AnalysisPanel)tp); - } catch (AnalysisSyntaxException ae) { - //TraceManager.addDev("Exception AnalysisSyntaxException"); - //msg = ae.getMessage(); - b = false; - } - if (b) { - setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_DESIGN_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", - "Syntax analysis successful on analysis diagrams", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TURTLE Analysis contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - setMode(MainGUI.GEN_DESIGN_OK); - //setMode(MainGUI.MODEL_OK); - } - - - - } else if (tp instanceof DesignPanel) { - //Design - DesignPanel dp = (DesignPanel)tp; - JDialogModelChecking.validated = dp.validated; - JDialogModelChecking.ignored = dp.ignored; - LinkedList<TClassInterface> tclassesToValidate = new LinkedList<TClassInterface> (); - JDialogModelChecking jdmc = new JDialogModelChecking(frame, tclassesToValidate,dp.tcdp.getComponentList(), "Choosing Tclasses to validate"); - if (!automatic) { - GraphicLib.centerOnParent(jdmc); - jdmc.setVisible(true); // blocked until dialog has been closed - } else { - jdmc.closeDialog(); - } - boolean overideTifChecking = jdmc.getOverideSyntaxChecking(); - if (tclassesToValidate.size() > 0) { - dp.validated = JDialogModelChecking.validated; - dp.ignored = JDialogModelChecking.ignored; - b = gtm.checkTURTLEModeling(tclassesToValidate, dp, overideTifChecking); - if (b) { - ret = true; - setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_DESIGN_OK); - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", - "Syntax analysis successful on design diagrams", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TURTLE Modeling contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - - } else if (tp instanceof DeploymentPanel) { - DeploymentPanel dp = (DeploymentPanel) tp; - b = gtm.translateDeployment(dp); - if (b) { - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", - "Syntax analysis successful on deployment diagrams", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TURTLE deployment contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - - // AttackTree - } else if (tp instanceof AttackTreePanel) { - AttackTreePanel atp = (AttackTreePanel) tp; - b = gtm.translateAttackTreePanel(atp); - if (b) { - setMode(MainGUI.ATTACKTREE_SYNTAXCHECKING_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s)", - "Syntax analysis successful on attack tree", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The Attack tree contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - - - // AVATAR - } else if (tp instanceof AvatarDesignPanel) { - //Design - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - //JDialogModelChecking.validated = adp.validated; - //JDialogModelChecking.ignored = adp.ignored; - LinkedList<AvatarBDStateMachineOwner> blocksToValidate = new LinkedList<AvatarBDStateMachineOwner> (); - JDialogSelectAvatarBlock jdmc = new JDialogSelectAvatarBlock(frame, blocksToValidate, adp.getAvatarBDPanel().getFullStateMachineOwnerList(), "Choosing blocks to validate", adp.getValidated(), adp.getIgnored(), adp.getOptimized()); - if (!automatic) { - GraphicLib.centerOnParent(jdmc); - jdmc.setVisible(true); // blocked until dialog has been closed - } else { - jdmc.closeDialog(); - } - - if (jdmc.hasBeenCancelled()) { - return false; - } - - adp.resetModelBacktracingProVerif(); - - adp.setValidated(jdmc.getValidated()); - adp.setIgnored(jdmc.getIgnored()); - adp.setOptimized(jdmc.getOptimized()); - - - boolean optimize = jdmc.getOptimized(); - if (blocksToValidate.size() > 0) { - /*adp.validated = JDialogModelChecking.validated; + } + + //jfc.setApproveButtonText("Open"); + int returnVal = jfc.showOpenDialog(frame); + + if (returnVal == JFileChooser.CANCEL_OPTION) { + return; + } + + if (returnVal == JFileChooser.APPROVE_OPTION) { + file = jfc.getSelectedFile(); + } + + String s = null; + if(checkFileForOpen(file)) { + try { + FileInputStream fis = new FileInputStream(file); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return; + } + + // close current modeling + closeTurtleModeling(); + + + + // open the new TURTLE modeling + newTurtleModeling(); + + gtm.enableUndo(false); + + // Update configuration + updateLastOpenFile(file); + + //TraceManager.addDev("Loading"); + // load the new TURTLE modeling + try { + gtm.loadModelingFromXML(s); + //gtm.saveOperation(tcdp); + frame.setTitle("TTool: " + file.getAbsolutePath()); + makeLotosFile(); + + if (gtm.getCheckingErrors().size() > 0) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + + } + } catch (MalformedModelingException mme) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + frame.setTitle("TToolt: unamed project"); + } + gtm.enableUndo(true); + gtm.saveOperation(getCurrentSelectedPoint()); + dtree.forceUpdate(); + } + } + + public void openLastProject() { + // Check if a current modeling is opened + boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); + if (b) { + if (!saveBeforeAction("Save and Open", "Open")) { + return; + } + } + + file = new File(ConfigurationTTool.LastOpenFile); + + String s = null; + if(checkFileForOpen(file)) { + try { + FileInputStream fis = new FileInputStream(file); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return; + } + + // close current modeling + closeTurtleModeling(); + + // open the new TURTLE modeling + newTurtleModeling(); + + gtm.enableUndo(false); + + //TraceManager.addDev("Loading"); + // load the new TURTLE modeling + try { + gtm.loadModelingFromXML(s); + //gtm.saveOperation(tcdp); + frame.setTitle("TTool: " + file.getAbsolutePath()); + makeLotosFile(); + + if (gtm.getCheckingErrors().size() > 0) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + } + } + catch (MalformedModelingException mme) { + JOptionPane.showMessageDialog(frame, "Modeling could not be correctly loaded ", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + frame.setTitle("TTool: unamed project"); + } + + dtree.forceUpdate(); + gtm.enableUndo(true); + gtm.saveOperation(getCurrentSelectedPoint()); + } + + //Added by Solange + //TURTLEPanel tp = getCurrentTURTLEPanel(); + //gtm.generateLists((ProactiveDesignPanel)tp); + // + } + + public void saveAsLibrary(String data) { + File libfile; + + int returnVal = jfclib.showDialog(frame, "Export library"); + if(returnVal != JFileChooser.APPROVE_OPTION) { + return; + } + + libfile = jfclib.getSelectedFile(); + libfile = FileUtils.addFileExtensionIfMissing(libfile, TLibFilter.getExtension()); + + if(checkFileForSave(libfile)) { + try { + if (data == null) { + throw new Exception("Selected data corrupted"); + } + FileOutputStream fos = new FileOutputStream(libfile); + fos.write(data.getBytes()); + fos.close(); + JOptionPane.showMessageDialog(frame, "Modeling was correctly saved under a TURTLE library named " + libfile.getName(), "Saving", JOptionPane.INFORMATION_MESSAGE); + return; + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return; + } + } + } + + public void saveAsProject() { + File old = file; + if (file == null) { + // project never saved + saveProject(); + } else { + file = null; + if (!saveProject()) { + file = old; + } + } + if (file != old) { + //frame.setTitle("TURTLE Toolkit: " + file.getAbsolutePath()); + makeLotosFile(); + } + } + + public boolean saveTIF() { + int returnVal = jfctif.showSaveDialog(frame); + if(returnVal == JFileChooser.APPROVE_OPTION) { + file = jfctif.getSelectedFile(); + file = FileUtils.addFileExtensionIfMissing(file, TTIFFilter.getExtension()); + } + + if(checkFileForSave(file)) { + String s = gtm.saveTIF(); + try { + + if (s == null) { + throw new Exception("TIF specification is void"); + + } + FileOutputStream fos = new FileOutputStream(file); + fos.write(s.getBytes()); + fos.close(); + + return true; + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + } + return false; + } + + public boolean openTIF() { + //jfc.setApproveButtonText("Open"); + int returnVal = jfctif.showOpenDialog(frame); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + file = jfctif.getSelectedFile(); + } + + String s = null; + if(checkFileForOpen(file)) { + try { + FileInputStream fis = new FileInputStream(file); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + } + if (s == null) { + return false; + } + TraceManager.addDev("Open TIF =" + s); + if (gtm == null) { + newTurtleModeling(); + } + return gtm.openTIF(s); + + } + + public boolean openSD() { + //jfc.setApproveButtonText("Open"); + int returnVal = jfcmsc.showOpenDialog(frame); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + file = jfcmsc.getSelectedFile(); + } + + String s = null; + if(checkFileForOpen(file)) { + try { + FileInputStream fis = new FileInputStream(file); + int nb = fis.available(); + + byte [] ba = new byte[nb]; + fis.read(ba); + fis.close(); + s = new String(ba); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be opened because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + } + if (s == null) { + return false; + } + TraceManager.addDev("Open SD =" + s); + if (gtm == null) { + newTurtleModeling(); + } + return gtm.openSD(s); + + } + + protected boolean saveProject() { + if (file == null) { + //jfc.setApproveButtonText("Save"); + int returnVal = jfc.showSaveDialog(frame); + if(returnVal == JFileChooser.APPROVE_OPTION) { + file = jfc.getSelectedFile(); + file = FileUtils.addFileExtensionIfMissing(file, TFileFilter.getExtension()); + } + } + + if( checkFileForSave(file)) { + String s = gtm.makeXMLFromTurtleModeling(-1); + + try { + if (gtm == null) { + throw new Exception("Internal model Error 1"); + } + if (s == null) { + throw new Exception("Internal model Error 2"); + } + FileOutputStream fos = new FileOutputStream(file); + fos.write(s.getBytes()); + fos.close(); + updateLastOpenFile(file); + setMode(MODEL_SAVED); + String title = "TTool: " + file.getAbsolutePath(); + if (!frame.getTitle().equals(title)) { + frame.setTitle(title); + } + if (lotosfile == null) { + makeLotosFile(); + } + return true; + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, "File could not be saved because " + e.getMessage(), "File Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + } + return false; + } + + public boolean checkFileForOpen(File file) { + boolean ok = true; + String pb = ""; + + //TraceManager.addDev("File path=" + file.getPath() + " name=" + file.getName()); + + if (file == null) { + return false; + } + + try { + if (file != null) { + if (!file.exists()) { + pb = "File " + file + " doesn't exist"; + ok = false; + } + if ((ok == true) && (!file.canRead())) { + pb = "File is read protected"; + ok = false; + } + } + } catch (Exception e) { + ok = false; + pb = e.getMessage(); + } + if (ok == false) { + file = null; + JOptionPane.showMessageDialog(frame, pb, "File Error", JOptionPane.INFORMATION_MESSAGE); + } + return ok; + } + + public boolean checkFileForSave(File file) { + boolean ok = true; + String pb = ""; + + if (file == null) { + return false; + } + + try { + if (file != null) { + if (!file.exists()) { + if (!file.createNewFile()) { + pb = "File could not be created"; + ok = false; + } + if (!file.canWrite()) { + pb = "File is write protected"; + ok = false; + } + } + } + } catch (Exception e) { + ok = false; + pb = e.getMessage(); + } + if (ok == false) { + file = null; + JOptionPane.showMessageDialog(frame, pb, "File Error", JOptionPane.INFORMATION_MESSAGE); + } + return ok; + } + + public void saveLastLotos() { + saveLotosSpec(gtm.getLastRTLOTOSSpecification()); + } + + public void saveLastDTA() { + saveDTA(gtm.getLastTextualDTA(), gtm.getLastGraphicalDTA()); + } + + public void saveLastRG() { + saveRG(gtm.getLastTextualRG(), gtm.getLastGraphicalRG()); + } + + public void saveLastTLSA() { + saveTLSA(gtm.getLastTextualTLSA(), gtm.getLastGraphicalTLSA()); + } + + public void saveLastRGAUT() { + saveRGAUT(gtm.getLastTextualRGAUT(), gtm.getLastGraphicalRGAUT()); + } + + public void saveLastRGAUTProj() { + saveRGAUT(gtm.getLastTextualRGAUTProj(), gtm.getLastGraphicalRGAUTProj()); + } + + public void saveLastModifiedRG() { + saveRGAUT(modifiedaut, modifiedautdot); + } + + public void importLibrary() { + //TDiagramPanel tdp1 = ((TDiagramPanel)(designPanels.elementAt(mainDesignTabbedPane.getSelectedIndex())); + //tdp1.insertLibrary(tdp1.getMinX(), tdp1.getMinY()); + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + if (tdp1 != null) { + tdp1.insertLibrary(tdp1.getMinX(), tdp1.getMinY()); + } + } + + public void exportLibrary() { + //TDiagramPanel tdp1 = (TDiagramPanel)(designPanels.elementAt(mainDesignTabbedPane.getSelectedIndex())); + //tdp1.saveAsLibrary(); + getCurrentTDiagramPanel().saveAsLibrary(); + } + + public void makeLotosFile() { + String s = file.getAbsolutePath(); + int l = s.length(); + String myFile = s.substring(0, l-4); + lotosfile = new File(myFile + ".lot"); + simfile = new File(myFile + ".sim"); + dtafile = new File(myFile + ".dta"); + dtadotfile = new File(myFile + ".dta.dot"); + rgfile = new File(myFile + ".rg"); + rgdotfile = new File(myFile + ".rg.dot"); + tlsafile = new File(myFile + ".tlsa"); + tlsadotfile = new File(myFile + ".dot.tlsa"); + rgautfile = new File(myFile + ".aut"); + fc2file = new File(myFile + ".fc2"); + bcgfile = new File(myFile + ".bcg"); + rgautdotfile = new File(myFile + ".aut.dot"); + rgautprojfile = new File(myFile + "_proj.aut"); + rgautprojdotfile = new File(myFile + "_proj.aut.dot"); + } + + public boolean saveBeforeAction(String str1, String str2) { + Object[] options = { str1, str2, "CANCEL" }; + int back = JOptionPane.showOptionDialog(frame, "Modeling has not been saved", "Warning", + JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, + null, options, options[0]); + //TraceManager.addDev("back= " + back); + if (back == JOptionPane.CANCEL_OPTION) { + return false; + } + if (back == JOptionPane.YES_OPTION) { + saveProject(); + } + return true; + } + + public void quitApplication() { + boolean b = actions[TGUIAction.ACT_SAVE].isEnabled(); + if (b) { + if (saveBeforeAction("SAVE and QUIT", "QUIT now") == false) { + return; + } + + } + + ConfigurationTTool.LastWindowAttributesX = "" + frame.getLocation().x; + ConfigurationTTool.LastWindowAttributesY = "" + frame.getLocation().y; + ConfigurationTTool.LastWindowAttributesWidth = "" + frame.getSize().width; + ConfigurationTTool.LastWindowAttributesHeight = "" + frame.getSize().height; + + if (frame.getExtendedState() == Frame.MAXIMIZED_BOTH) { + ConfigurationTTool.LastWindowAttributesMax = "true"; + } else { + ConfigurationTTool.LastWindowAttributesMax = "false"; + } + + try { + if (ConfigurationTTool.LastOpenFileDefined) { + ConfigurationTTool.saveConfiguration(); + //TraceManager.addDev("Configuration written to file"); + } + } catch (Exception e) {} + + + System.exit(0); + } + + + public void cut() { + getCurrentTDiagramPanel().makeCut(); + } + + public void copy() { + getCurrentTDiagramPanel().makeCopy(); + } + + public void paste() { + int x = Math.min(Math.max(getCurrentTDiagramPanel().getMinX(), getCurrentTDiagramPanel().currentX), getCurrentTDiagramPanel().getMaxX()); + int y = Math.min(Math.max(getCurrentTDiagramPanel().getMinY(), getCurrentTDiagramPanel().currentY), getCurrentTDiagramPanel().getMaxY()); + getCurrentTDiagramPanel().makePaste(x, y); + } + + public void delete() { + getCurrentTDiagramPanel().makeDelete(); + } + + public void backward() { + //TraceManager.addDev("backward"); + gtm.backward(); + setMode(MODEL_CHANGED); + dtree.toBeUpdated(); + } + + public void forward() { + //TraceManager.addDev("forward"); + gtm.forward(); + setMode(MODEL_CHANGED); + dtree.toBeUpdated(); + } + + public void zoomMore() { + zoom(1.25); + } + + public void zoomLess() { + zoom(0.8); + } + + public void zoom(double multFactor) { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + tdp.setZoom(tdp.getZoom() * multFactor); + tdp.updateComponentsAfterZoom(); + updateZoomInfo(); + } + + public void updateZoomInfo() { + String s = ""; + int zoom = (int)(getCurrentTDiagramPanel().getZoom()*100); + if (zoom < 100) { + s = "0" + zoom + "%"; + } else { + s += zoom + "%"; + } + //TraceManager.addDev("Seeting zoom in " + getCurrentTDiagramPanel()); + actions[TGUIAction.ACT_SHOW_ZOOM].setName(TGUIAction.ACT_SHOW_ZOOM, s); + } + + public void firstDiag() { + getCurrentJTabbedPane().setSelectedIndex(0); + } + + public void backDiag() { + getCurrentJTabbedPane().setSelectedIndex(Math.max(0, getCurrentJTabbedPane().getSelectedIndex() - 1)); + } + + public void nextDiag() { + getCurrentJTabbedPane().setSelectedIndex(Math.min(getCurrentJTabbedPane().getTabCount(), getCurrentJTabbedPane().getSelectedIndex() + 1)); + } + + public void lastDiag() { + getCurrentJTabbedPane().setSelectedIndex(getCurrentJTabbedPane().getTabCount() - 1); + } + + //@author: Huy TRUONG + //open a new External Search Dialog + public void showExternalSearch(){ + String textSearchField = mainBar.search.getText(); + List<String> listSearch = new ArrayList<String>(); + + if (null == this.searchBox) { + if (getCurrentTDiagramPanel()!=null) { + if (getCurrentTDiagramPanel().tdmm.getSelectComponents().size() == 0) { + listSearch.add(textSearchField); + } else { + listSearch = getCurrentTDiagramPanel().tdmm.getSelectComponents(); + listSearch.add(0, textSearchField); + + } + this.searchBox = new JDialogSearchBox(frame, "External Search", listSearch, getCurrentTDiagramPanel().tdmm); + }else + this.searchBox = new JDialogSearchBox(frame, "External Search", new ArrayList<String>()); + + } + else { + if (this.searchBox.isShowing()) { + this.searchBox.setVisible( true ); + } + else { + this.searchBox = null; + showExternalSearch(); + } + } + } + + public void doInternalSearch(){ + search(mainBar.search.getText()); + } + + public void aboutVersion() { + JFrameBasicText jft = new JFrameBasicText("About TTool ...", DefaultText.getAboutText(), IconManager.imgic324); + jft.setIconImage(IconManager.img8); + GraphicLib.centerOnParent(jft, 700, 800 ); + jft.setVisible(true); + + } + + public void showTToolConfiguration() { + JFrameBasicText jft = new JFrameBasicText("Your configuration of TTool ...", ConfigurationTTool.getConfiguration(systemcOn), IconManager.imgic76); + jft.setIconImage(IconManager.img8); + //jft.setSize(700, 800); + GraphicLib.centerOnParent(jft, 700, 800 ); + jft.setVisible(true); + + } + + public void aboutTURTLE() { + BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/"); + } + + public void helpTURTLE() { + BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/avatar.html"); + } + + public void helpSysMLSec() { + BrowserControl.startBrowerToURL("http://sysml-sec.telecom-paristech.fr/"); + } + + public void helpDIPLODOCUS() { + BrowserControl.startBrowerToURL("http://ttool.telecom-paristech.fr/diplodocus.html"); + } + + public void oneClickLOTOSRG() { + // boolean ret; + if (!checkModelingSyntax(true)) { + TraceManager.addDev("Syntax error"); + return; + } + + if (!generateLOTOS(true)) { + TraceManager.addDev("Generate LOTOS: error"); + return; + } + + formalValidation(true); + } + + public void oneClickRTLOTOSRG() { + // boolean ret; + if (!checkModelingSyntax(true)) { + TraceManager.addDev("Syntax error"); + return; + } + + if (!generateRTLOTOS(true)) { + TraceManager.addDev("Generate RT-LOTOS: error"); + return; + } + + formalValidation(true); + } + + public void modelChecking() { + checkModelingSyntax(false); + } + + public boolean checkModelingSyntax(String panelName, boolean automatic) { + TURTLEPanel tp = getTURTLEPanel(panelName); + if (tp != null) { + return checkModelingSyntax(tp, automatic); + } + + return false; + } + + public boolean checkModelingSyntax(boolean automatic) { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp != null) { + return checkModelingSyntax(tp, automatic); + } + + return false; + } + + public boolean checkModelingSyntax(TURTLEPanel tp, boolean automatic) { + //String msg = ""; + boolean b = false; + boolean ret = false; + + if (file == null) { + JOptionPane.showMessageDialog(frame, + "The project must be saved before any simulation or formal verification can be performed", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + return false; + } + + + if (tp instanceof AnalysisPanel) { + try { + b = gtm.buildTURTLEModelingFromAnalysis((AnalysisPanel)tp); + } catch (AnalysisSyntaxException ae) { + //TraceManager.addDev("Exception AnalysisSyntaxException"); + //msg = ae.getMessage(); + b = false; + } + if (b) { + setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_DESIGN_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", + "Syntax analysis successful on analysis diagrams", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TURTLE Analysis contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + setMode(MainGUI.GEN_DESIGN_OK); + //setMode(MainGUI.MODEL_OK); + } + + + + } else if (tp instanceof DesignPanel) { + //Design + DesignPanel dp = (DesignPanel)tp; + JDialogModelChecking.validated = dp.validated; + JDialogModelChecking.ignored = dp.ignored; + LinkedList<TClassInterface> tclassesToValidate = new LinkedList<TClassInterface> (); + JDialogModelChecking jdmc = new JDialogModelChecking(frame, tclassesToValidate,dp.tcdp.getComponentList(), "Choosing Tclasses to validate"); + if (!automatic) { + GraphicLib.centerOnParent(jdmc); + jdmc.setVisible(true); // blocked until dialog has been closed + } else { + jdmc.closeDialog(); + } + boolean overideTifChecking = jdmc.getOverideSyntaxChecking(); + if (tclassesToValidate.size() > 0) { + dp.validated = JDialogModelChecking.validated; + dp.ignored = JDialogModelChecking.ignored; + b = gtm.checkTURTLEModeling(tclassesToValidate, dp, overideTifChecking); + if (b) { + ret = true; + setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_DESIGN_OK); + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", + "Syntax analysis successful on design diagrams", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TURTLE Modeling contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + + } else if (tp instanceof DeploymentPanel) { + DeploymentPanel dp = (DeploymentPanel) tp; + b = gtm.translateDeployment(dp); + if (b) { + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal (RT-LOTOS) specification or executable code (Java)", + "Syntax analysis successful on deployment diagrams", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TURTLE deployment contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + + // AttackTree + } else if (tp instanceof AttackTreePanel) { + AttackTreePanel atp = (AttackTreePanel) tp; + b = gtm.translateAttackTreePanel(atp); + if (b) { + setMode(MainGUI.ATTACKTREE_SYNTAXCHECKING_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s)", + "Syntax analysis successful on attack tree", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The Attack tree contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + + + // AVATAR + } else if (tp instanceof AvatarDesignPanel) { + //Design + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + //JDialogModelChecking.validated = adp.validated; + //JDialogModelChecking.ignored = adp.ignored; + LinkedList<AvatarBDStateMachineOwner> blocksToValidate = new LinkedList<AvatarBDStateMachineOwner> (); + JDialogSelectAvatarBlock jdmc = new JDialogSelectAvatarBlock(frame, blocksToValidate, adp.getAvatarBDPanel().getFullStateMachineOwnerList(), "Choosing blocks to validate", adp.getValidated(), adp.getIgnored(), adp.getOptimized()); + if (!automatic) { + GraphicLib.centerOnParent(jdmc); + jdmc.setVisible(true); // blocked until dialog has been closed + } else { + jdmc.closeDialog(); + } + + if (jdmc.hasBeenCancelled()) { + return false; + } + + adp.resetModelBacktracingProVerif(); + + adp.setValidated(jdmc.getValidated()); + adp.setIgnored(jdmc.getIgnored()); + adp.setOptimized(jdmc.getOptimized()); + + + boolean optimize = jdmc.getOptimized(); + if (blocksToValidate.size() > 0) { + /*adp.validated = JDialogModelChecking.validated; adp.ignored = JDialogModelChecking.ignored;*/ - b = gtm.checkAvatarDesign(blocksToValidate, adp, optimize); - if (b) { - ret = true; - setMode(MainGUI.AVATAR_SYNTAXCHECKING_OK); - //setMode(MainGUI.MODEL_PROVERIF_OK); - //setMode(MainGUI.GEN_DESIGN_OK); - /* + b = gtm.checkAvatarDesign(blocksToValidate, adp, optimize); + if (b) { + ret = true; + setMode(MainGUI.AVATAR_SYNTAXCHECKING_OK); + //setMode(MainGUI.MODEL_PROVERIF_OK); + //setMode(MainGUI.GEN_DESIGN_OK); + /* if (!automatic) { JOptionPane.showMessageDialog(frame, "0 error, " + getCheckingWarnings().size() + " warning(s). You can now perform simulations or formal proofs (UPPAAL)", "Syntax analysis successful on avatar design diagrams", JOptionPane.INFORMATION_MESSAGE); } - */ - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The Avatar modeling contains several errors", - "Syntax analysis failed", - JOptionPane.ERROR_MESSAGE); - } - } - } - - - // NC - } - //DG 6.2. 2017 - - else if (tp instanceof ADDPanel) { - //Design - AvatarDesignPanel adp = getFirstAvatarDesignPanelFound(); - - //JDialogModelChecking.validated = adp.validated; - //JDialogModelChecking.ignored = adp.ignored; - LinkedList<AvatarBDStateMachineOwner> blocksToValidate = new LinkedList<AvatarBDStateMachineOwner> (); - JDialogSelectAvatarBlock jdmc = new JDialogSelectAvatarBlock(frame, blocksToValidate, adp.getAvatarBDPanel().getFullStateMachineOwnerList(), "Choosing blocks to validate", adp.getValidated(), adp.getIgnored(), adp.getOptimized()); - if (!automatic) { - GraphicLib.centerOnParent(jdmc); - jdmc.setVisible(true); // blocked until dialog has been closed - } else { - jdmc.closeDialog(); - } - - if (jdmc.hasBeenCancelled()) { - return false; - } - - adp.resetModelBacktracingProVerif(); - - adp.setValidated(jdmc.getValidated()); - adp.setIgnored(jdmc.getIgnored()); - adp.setOptimized(jdmc.getOptimized()); - - - boolean optimize = jdmc.getOptimized(); - if (blocksToValidate.size() > 0) { - /*adp.validated = JDialogModelChecking.validated; + */ + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The Avatar modeling contains several errors", + "Syntax analysis failed", + JOptionPane.ERROR_MESSAGE); + } + } + } + + + // NC + } + //DG 6.2. 2017 + + else if (tp instanceof ADDPanel) { + //Design + AvatarDesignPanel adp = getFirstAvatarDesignPanelFound(); + + //JDialogModelChecking.validated = adp.validated; + //JDialogModelChecking.ignored = adp.ignored; + LinkedList<AvatarBDStateMachineOwner> blocksToValidate = new LinkedList<AvatarBDStateMachineOwner> (); + JDialogSelectAvatarBlock jdmc = new JDialogSelectAvatarBlock(frame, blocksToValidate, adp.getAvatarBDPanel().getFullStateMachineOwnerList(), "Choosing blocks to validate", adp.getValidated(), adp.getIgnored(), adp.getOptimized()); + if (!automatic) { + GraphicLib.centerOnParent(jdmc); + jdmc.setVisible(true); // blocked until dialog has been closed + } else { + jdmc.closeDialog(); + } + + if (jdmc.hasBeenCancelled()) { + return false; + } + + adp.resetModelBacktracingProVerif(); + + adp.setValidated(jdmc.getValidated()); + adp.setIgnored(jdmc.getIgnored()); + adp.setOptimized(jdmc.getOptimized()); + + + boolean optimize = jdmc.getOptimized(); + if (blocksToValidate.size() > 0) { + /*adp.validated = JDialogModelChecking.validated; adp.ignored = JDialogModelChecking.ignored;*/ - b = gtm.checkAvatarDesign(blocksToValidate, adp, optimize); - if (b) { - ret = true; - setMode(MainGUI.AVATAR_SYNTAXCHECKING_OK); - //setMode(MainGUI.MODEL_PROVERIF_OK); - //setMode(MainGUI.GEN_DESIGN_OK); - /* + b = gtm.checkAvatarDesign(blocksToValidate, adp, optimize); + if (b) { + ret = true; + setMode(MainGUI.AVATAR_SYNTAXCHECKING_OK); + //setMode(MainGUI.MODEL_PROVERIF_OK); + //setMode(MainGUI.GEN_DESIGN_OK); + /* if (!automatic) { JOptionPane.showMessageDialog(frame, "0 error, " + getCheckingWarnings().size() + " warning(s). You can now perform simulations or formal proofs (UPPAAL)", "Syntax analysis successful on avatar design diagrams", JOptionPane.INFORMATION_MESSAGE); } - */ - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The Avatar modeling contains several errors", - "Syntax analysis failed", - JOptionPane.ERROR_MESSAGE); - } - } - } - - - // NC - } - - - //fin DG - else if (tp instanceof NCPanel) { - NCPanel ncp = (NCPanel) tp; - b = gtm.translateNC(ncp); - if (b) { - //setMode(MainGUI.MODEL_OK_NC); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s)", - "Syntax analysis successful on NC diagram", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The NC diagram contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - - - } else if (tp instanceof TMLDesignPanel) { - TMLDesignPanel tmldp = (TMLDesignPanel)tp; - JDialogSelectTMLTask.validated = tmldp.validated; - JDialogSelectTMLTask.ignored = tmldp.ignored; - Vector<TGComponent> tmlTasksToValidate = new Vector<TGComponent>(); - JDialogSelectTMLTask jdstmlt = new JDialogSelectTMLTask(frame, tmlTasksToValidate, tmldp.tmltdp.getComponentList(), "Choosing TML tasks to validate"); - if (!automatic) { - GraphicLib.centerOnParent(jdstmlt); - jdstmlt.setVisible(true); // Blocked until dialog has been closed - } else { - jdstmlt.closeDialog(); - } - if (tmlTasksToValidate.size() > 0) { - tmldp.validated = JDialogSelectTMLTask.validated; - tmldp.ignored = JDialogSelectTMLTask.ignored; - b = gtm.translateTMLDesign(tmlTasksToValidate, tmldp, jdstmlt.getOptimize()); - if (b) { - //setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate make proofs (safety, security and performance) or generate executable code", - "Syntax analysis successful on TML designs", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TML design contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - } else if (tp instanceof TMLComponentDesignPanel) { - TMLComponentDesignPanel tmlcdp = (TMLComponentDesignPanel)tp; - JDialogSelectTMLComponent.validated = tmlcdp.validated; - JDialogSelectTMLComponent.ignored = tmlcdp.ignored; - Vector<TGComponent> tmlComponentsToValidate = new Vector<TGComponent>(); - JDialogSelectTMLComponent jdstmlc = new JDialogSelectTMLComponent(frame, tmlComponentsToValidate, tmlcdp.tmlctdp.getComponentList(), "Choosing TML components to validate"); - if (!automatic) { - GraphicLib.centerOnParent(jdstmlc); - jdstmlc.setVisible(true); // Blocked until dialog has been closed - } else { - jdstmlc.closeDialog(); - } - if (tmlComponentsToValidate.size() > 0) { - tmlcdp.validated = JDialogSelectTMLComponent.validated; - tmlcdp.ignored = JDialogSelectTMLComponent.ignored; - b = gtm.translateTMLComponentDesign(tmlComponentsToValidate, tmlcdp, jdstmlc.getOptimize()); - if (b) { - //setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate make proofs (safety, security and performance) or generate executable code", - "Syntax analysis successful on TML designs", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TML design contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - } else if (tp instanceof TMLArchiPanel) { - tmlap = (TMLArchiPanel)tp; - JDialogSelectTMLNodes.validated = tmlap.validated; - JDialogSelectTMLNodes.ignored = tmlap.ignored; - Vector<TGComponent> tmlNodesToValidate = new Vector<TGComponent>(); - JDialogSelectTMLNodes jdstmln = new JDialogSelectTMLNodes(frame, tmlNodesToValidate, tmlap.tmlap.getComponentList(), "Choosing Nodes to validate", tmlap.tmlap.getMasterClockFrequency()); - if (!automatic) { - GraphicLib.centerOnParent(jdstmln); - jdstmln.setVisible(true); // Blocked until dialog has been closed - } else { - jdstmln.closeDialog(); - } - tmlap.tmlap.setMasterClockFrequency(jdstmln.getClock()); - - if (tmlNodesToValidate.size() > 0) { - tmlap.validated = JDialogSelectTMLNodes.validated; - tmlap.ignored = JDialogSelectTMLNodes.ignored; - //TraceManager.addDev("Ready to generate TML mapping!"); - b = gtm.checkSyntaxTMLMapping(tmlNodesToValidate, tmlap, jdstmln.getOptimize()); - if (b) { - //setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now perform verifications (safety, security, performance) or generate executable code", - "Syntax analysis successful on TML mapping", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TML mapping contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - } - else if( tp instanceof TMLCommunicationPatternPanel ) { - TMLCommunicationPatternPanel tmlcpp = (TMLCommunicationPatternPanel) tp; - JDialogSelectCPDiagrams.validated = tmlcpp.validated; - JDialogSelectCPDiagrams.ignored = tmlcpp.ignored; - Vector<TGComponent> tmlDiagramsToValidate = new Vector<TGComponent>(); - JDialogSelectCPDiagrams jdscpd = new JDialogSelectCPDiagrams( frame, tmlDiagramsToValidate, tmlcpp.tmlcpp.getComponentList(), - "Choosing Diagrams to validate" ); - if( !automatic ) { - GraphicLib.centerOnParent( jdscpd ); - jdscpd.setVisible( true ); // Blocked until dialog has been closed - } - else { - jdscpd.closeDialog(); - } - if( tmlDiagramsToValidate.size() > 0 ) { - tmlcpp.validated = JDialogSelectCPDiagrams.validated; - tmlcpp.ignored = JDialogSelectCPDiagrams.ignored; - TraceManager.addDev("Ready to generate TML code for Communication Patterns!"); - b = gtm.checkSyntaxTMLCP( tmlDiagramsToValidate, tmlcpp, jdscpd.getOptimize() ); //Fills a data structure - //translateTMLComponentDesign - //and should say if it is correct or contains error in the return variable b - if( b ) { - //setMode(MainGUI.MODEL_OK); - setMode( MainGUI.GEN_SYSTEMC_OK ); - setMode( MainGUI.MODEL_OK ); - ret = true; - if( !automatic ) { - JOptionPane.showMessageDialog( frame, "0 error, " + getCheckingWarnings().size() + - " warning(s). You can now perform verifications (safety, security, performance) or generate executable code", - "Syntax analysis successful on TML mapping", - JOptionPane.INFORMATION_MESSAGE ); - } - } - else { - if( !automatic ) { - JOptionPane.showMessageDialog( frame, "The Communication Patterns design contains several errors", "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE ); - } - } - } - } - else if( tp instanceof RequirementPanel ) { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (!(tdp instanceof RequirementDiagramPanel)) { - if (tdp instanceof EBRDDPanel) { - - b = gtm.makeEBRDD((EBRDDPanel)tdp); - if (b) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s).", - "Syntax analysis successful on EBRDD", - JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(frame, - "The EBRDD contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - return ret; - } - //TraceManager.addDev("No syntax checking for EBRDD: not yet implemented"); - } else { - RequirementDiagramPanel rdp= (RequirementDiagramPanel)tdp; - JDialogSelectRequirements.validated = rdp.validated; - JDialogSelectRequirements.ignored = rdp.ignored; - Vector<Requirement> reqsToValidate = new Vector<Requirement>(); - JDialogSelectRequirements jdsreq = new JDialogSelectRequirements(frame, reqsToValidate, rdp.getComponentList(), "Choosing requirements to verify"); - - if (!automatic) { - GraphicLib.centerOnParent(jdsreq); - jdsreq.setVisible(true); // Blocked until dialog has been closed - } - - if (reqsToValidate.size() > 0) { - rdp.validated = JDialogSelectRequirements.validated; - rdp.ignored = JDialogSelectRequirements.ignored; - b = gtm.generateTMsForRequirementAnalysis(reqsToValidate, rdp); - if (b) { - //setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.REQ_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now verify requirements' satisfiability", - "Syntax analysis successful on requirements", - JOptionPane.INFORMATION_MESSAGE); - } - - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The requirement diagram contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - } - } else if (tp instanceof ProactiveDesignPanel) { - // TraceManager.addDev("!!!!!!!!!!!!1"); - //newTurtleModeling(); - b = gtm.translateProactiveDesign((ProactiveDesignPanel)tp); - if (b) { - //setMode(MainGUI.MODEL_OK); - //setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a LOTOS,specification", - "Syntax analysis successful on Proactive design", - JOptionPane.INFORMATION_MESSAGE); - } - - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The Proactive design contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - - } - } else if (tp instanceof TURTLEOSDesignPanel) { - TraceManager.addDev("TURTLEOS Design Panel"); - //TURTLEOSDesignPanel tosdp = (TURTLEOSDesignPanel) tp; - b = gtm.translateTURTLEOSDesign((TURTLEOSDesignPanel)tp); - if (b) { - setMode(MainGUI.MODEL_OK); - ret = true; - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal specification or executable code (Java)", - "Syntax analysis successful on deployment diagrams", - JOptionPane.INFORMATION_MESSAGE); - } - } else { - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "The TURTLE deployment contains several errors", - "Syntax analysis failed", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - //dtree.toBeUpdated(); - dtree.forceUpdate(); - return ret; - } - - public LinkedList<TAttribute> getAllAttributes() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - String name = getCurrentTDiagramPanel().getName(); - - return this.getAllAttributes (tp, name); - } - - public LinkedList<TAttribute> getAllAttributes(TURTLEPanel tp, String name) { - if (tp == null) { - return null; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return null; - } - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - - return adp.getAllAttributes(name); - } - - - public LinkedList<AvatarMethod> getAllMethods() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { - return null; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return null; - } - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - - String name = getCurrentTDiagramPanel().getName(); - - return adp.getAllMethods(name); - } - - public LinkedList<AvatarSignal> getAllSignals() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - String name = getCurrentTDiagramPanel().getName(); - return this.getAllSignals (tp, name); - } - - public LinkedList<AvatarSignal> getAllSignals(TURTLEPanel tp, String name) { - if (tp == null) { - return null; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return null; - } - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - - return adp.getAllSignals(name); - } - - - public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions () { - TURTLEPanel tp = getCurrentTURTLEPanel(); - return this.getAllLibraryFunctions (tp); - } - - public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions (TURTLEPanel tp) { - String name = getCurrentTDiagramPanel().getName(); - return this.getAllLibraryFunctions (tp, name); - } - - /* Note that this is here for historical purpose : Now, any block can access library functions of any - * other block. - */ - public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions (TURTLEPanel tp, String name) { - if (tp == null) { - return null; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return null; - } - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - - return adp.getAllLibraryFunctions(name); - } - - public String[] getAllOutEvents() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { - return null; - } - - if (!(tp instanceof TMLComponentDesignPanel)) { - return null; - } - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - - String name = getCurrentTDiagramPanel().getName(); - - return tmlcomp.getAllOutEvents(name); - } - - public String[] getAllInEvents() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) {return null;} - if (!(tp instanceof TMLComponentDesignPanel)) {return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - String name = getCurrentTDiagramPanel().getName(); - return tmlcomp.getAllInEvents(name); - } - - public String[] getAllOutChannels() { //this routine can be called only from a TMLComponentDesignPanel - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { return null;} - if (!(tp instanceof TMLComponentDesignPanel)) { return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - String name = getCurrentTDiagramPanel().getName(); - return tmlcomp.getAllOutChannels(name); - } - - public String[] getAllInChannels() { //this routine can be called only from a TMLComponentDesignPanel - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) {return null;} - if (!(tp instanceof TMLComponentDesignPanel)) {return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - String name = getCurrentTDiagramPanel().getName(); - return tmlcomp.getAllInChannels(name); - } - - public Vector<String> getAllCryptoConfig(){ - TURTLEPanel tp; - Vector<String> list = new Vector<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - for (String s: ((TMLComponentDesignPanel)tp).getAllCryptoConfig()){ - list.add(mainTabbedPane.getTitleAt(i)+"::"+s); - } - } - } - return list; - } - public String[] getCurrentCryptoConfig() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) {return null;} - if (!(tp instanceof TMLComponentDesignPanel)) {return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - List<String> strlist = tmlcomp.getAllCryptoConfig(); - String[] strarray = new String[strlist.size()]; - strlist.toArray(strarray); - return strarray; - } - public String[] getAllNonce(){ - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) {return null;} - if (!(tp instanceof TMLComponentDesignPanel)) {return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - List<String> strlist = tmlcomp.getAllNonce(); - String[] strarray = new String[strlist.size()]; - strlist.toArray(strarray); - return strarray; - } - - public ArrayList<String> getAllKeys(){ - TURTLEPanel tp; - ArrayList<String> list = new ArrayList<String>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - for (String s:((TMLComponentDesignPanel)tp).getAllKeys()){ - list.add(s); - } - } - } - return list; - } - - public String[] getAllOutRequests() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) {return null;} - if (!(tp instanceof TMLComponentDesignPanel)) {return null;} - TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; - String name = getCurrentTDiagramPanel().getName(); - return tmlcomp.getAllOutRequests(name); - } - - public LinkedList<String> getAllTimers() { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { - return null; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return null; - } - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - - String name = getCurrentTDiagramPanel().getName(); - - return adp.getAllTimers(name); - } - - public List<CheckingError> getCheckingErrors() { - return gtm.getCheckingErrors(); - } - - public List<CheckingError> getCheckingWarnings() { - return gtm.getCheckingWarnings(); - } - - public void modelBacktracingProVerif(ProVerifOutputAnalyzer pvoa) { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { - return; - } - - if (tp instanceof AvatarDesignPanel) { - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - adp.modelBacktracingProVerif(pvoa); - getCurrentTDiagramPanel().repaint(); - } - else if (tp instanceof TMLArchiPanel) { - /* for (int i=0; i<tabs.size(); i++){ + */ + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The Avatar modeling contains several errors", + "Syntax analysis failed", + JOptionPane.ERROR_MESSAGE); + } + } + } + + + // NC + } + + + //fin DG + else if (tp instanceof NCPanel) { + NCPanel ncp = (NCPanel) tp; + b = gtm.translateNC(ncp); + if (b) { + //setMode(MainGUI.MODEL_OK_NC); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s)", + "Syntax analysis successful on NC diagram", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The NC diagram contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + + + } else if (tp instanceof TMLDesignPanel) { + TMLDesignPanel tmldp = (TMLDesignPanel)tp; + JDialogSelectTMLTask.validated = tmldp.validated; + JDialogSelectTMLTask.ignored = tmldp.ignored; + Vector<TGComponent> tmlTasksToValidate = new Vector<TGComponent>(); + JDialogSelectTMLTask jdstmlt = new JDialogSelectTMLTask(frame, tmlTasksToValidate, tmldp.tmltdp.getComponentList(), "Choosing TML tasks to validate"); + if (!automatic) { + GraphicLib.centerOnParent(jdstmlt); + jdstmlt.setVisible(true); // Blocked until dialog has been closed + } else { + jdstmlt.closeDialog(); + } + if (tmlTasksToValidate.size() > 0) { + tmldp.validated = JDialogSelectTMLTask.validated; + tmldp.ignored = JDialogSelectTMLTask.ignored; + b = gtm.translateTMLDesign(tmlTasksToValidate, tmldp, jdstmlt.getOptimize()); + if (b) { + //setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate make proofs (safety, security and performance) or generate executable code", + "Syntax analysis successful on TML designs", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TML design contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + } else if (tp instanceof TMLComponentDesignPanel) { + TMLComponentDesignPanel tmlcdp = (TMLComponentDesignPanel)tp; + JDialogSelectTMLComponent.validated = tmlcdp.validated; + JDialogSelectTMLComponent.ignored = tmlcdp.ignored; + Vector<TGComponent> tmlComponentsToValidate = new Vector<TGComponent>(); + JDialogSelectTMLComponent jdstmlc = new JDialogSelectTMLComponent(frame, tmlComponentsToValidate, tmlcdp.tmlctdp.getComponentList(), "Choosing TML components to validate"); + if (!automatic) { + GraphicLib.centerOnParent(jdstmlc); + jdstmlc.setVisible(true); // Blocked until dialog has been closed + } else { + jdstmlc.closeDialog(); + } + if (tmlComponentsToValidate.size() > 0) { + tmlcdp.validated = JDialogSelectTMLComponent.validated; + tmlcdp.ignored = JDialogSelectTMLComponent.ignored; + b = gtm.translateTMLComponentDesign(tmlComponentsToValidate, tmlcdp, jdstmlc.getOptimize()); + if (b) { + //setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate make proofs (safety, security and performance) or generate executable code", + "Syntax analysis successful on TML designs", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TML design contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + } else if (tp instanceof TMLArchiPanel) { + tmlap = (TMLArchiPanel)tp; + JDialogSelectTMLNodes.validated = tmlap.validated; + JDialogSelectTMLNodes.ignored = tmlap.ignored; + Vector<TGComponent> tmlNodesToValidate = new Vector<TGComponent>(); + JDialogSelectTMLNodes jdstmln = new JDialogSelectTMLNodes(frame, tmlNodesToValidate, tmlap.tmlap.getComponentList(), "Choosing Nodes to validate", tmlap.tmlap.getMasterClockFrequency()); + if (!automatic) { + GraphicLib.centerOnParent(jdstmln); + jdstmln.setVisible(true); // Blocked until dialog has been closed + } else { + jdstmln.closeDialog(); + } + tmlap.tmlap.setMasterClockFrequency(jdstmln.getClock()); + + if (tmlNodesToValidate.size() > 0) { + tmlap.validated = JDialogSelectTMLNodes.validated; + tmlap.ignored = JDialogSelectTMLNodes.ignored; + //TraceManager.addDev("Ready to generate TML mapping!"); + b = gtm.checkSyntaxTMLMapping(tmlNodesToValidate, tmlap, jdstmln.getOptimize()); + if (b) { + //setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now perform verifications (safety, security, performance) or generate executable code", + "Syntax analysis successful on TML mapping", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TML mapping contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + } + else if( tp instanceof TMLCommunicationPatternPanel ) { + TMLCommunicationPatternPanel tmlcpp = (TMLCommunicationPatternPanel) tp; + JDialogSelectCPDiagrams.validated = tmlcpp.validated; + JDialogSelectCPDiagrams.ignored = tmlcpp.ignored; + Vector<TGComponent> tmlDiagramsToValidate = new Vector<TGComponent>(); + JDialogSelectCPDiagrams jdscpd = new JDialogSelectCPDiagrams( frame, tmlDiagramsToValidate, tmlcpp.tmlcpp.getComponentList(), + "Choosing Diagrams to validate" ); + if( !automatic ) { + GraphicLib.centerOnParent( jdscpd ); + jdscpd.setVisible( true ); // Blocked until dialog has been closed + } + else { + jdscpd.closeDialog(); + } + if( tmlDiagramsToValidate.size() > 0 ) { + tmlcpp.validated = JDialogSelectCPDiagrams.validated; + tmlcpp.ignored = JDialogSelectCPDiagrams.ignored; + TraceManager.addDev("Ready to generate TML code for Communication Patterns!"); + b = gtm.checkSyntaxTMLCP( tmlDiagramsToValidate, tmlcpp, jdscpd.getOptimize() ); //Fills a data structure + //translateTMLComponentDesign + //and should say if it is correct or contains error in the return variable b + if( b ) { + //setMode(MainGUI.MODEL_OK); + setMode( MainGUI.GEN_SYSTEMC_OK ); + setMode( MainGUI.MODEL_OK ); + ret = true; + if( !automatic ) { + JOptionPane.showMessageDialog( frame, "0 error, " + getCheckingWarnings().size() + + " warning(s). You can now perform verifications (safety, security, performance) or generate executable code", + "Syntax analysis successful on TML mapping", + JOptionPane.INFORMATION_MESSAGE ); + } + } + else { + if( !automatic ) { + JOptionPane.showMessageDialog( frame, "The Communication Patterns design contains several errors", "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE ); + } + } + } + } + else if( tp instanceof RequirementPanel ) { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (!(tdp instanceof RequirementDiagramPanel)) { + if (tdp instanceof EBRDDPanel) { + + b = gtm.makeEBRDD((EBRDDPanel)tdp); + if (b) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s).", + "Syntax analysis successful on EBRDD", + JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(frame, + "The EBRDD contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + return ret; + } + //TraceManager.addDev("No syntax checking for EBRDD: not yet implemented"); + } else { + RequirementDiagramPanel rdp= (RequirementDiagramPanel)tdp; + JDialogSelectRequirements.validated = rdp.validated; + JDialogSelectRequirements.ignored = rdp.ignored; + Vector<Requirement> reqsToValidate = new Vector<Requirement>(); + JDialogSelectRequirements jdsreq = new JDialogSelectRequirements(frame, reqsToValidate, rdp.getComponentList(), "Choosing requirements to verify"); + + if (!automatic) { + GraphicLib.centerOnParent(jdsreq); + jdsreq.setVisible(true); // Blocked until dialog has been closed + } + + if (reqsToValidate.size() > 0) { + rdp.validated = JDialogSelectRequirements.validated; + rdp.ignored = JDialogSelectRequirements.ignored; + b = gtm.generateTMsForRequirementAnalysis(reqsToValidate, rdp); + if (b) { + //setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.REQ_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now verify requirements' satisfiability", + "Syntax analysis successful on requirements", + JOptionPane.INFORMATION_MESSAGE); + } + + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The requirement diagram contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + } + } else if (tp instanceof ProactiveDesignPanel) { + // TraceManager.addDev("!!!!!!!!!!!!1"); + //newTurtleModeling(); + b = gtm.translateProactiveDesign((ProactiveDesignPanel)tp); + if (b) { + //setMode(MainGUI.MODEL_OK); + //setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a LOTOS,specification", + "Syntax analysis successful on Proactive design", + JOptionPane.INFORMATION_MESSAGE); + } + + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The Proactive design contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + + } + } else if (tp instanceof TURTLEOSDesignPanel) { + TraceManager.addDev("TURTLEOS Design Panel"); + //TURTLEOSDesignPanel tosdp = (TURTLEOSDesignPanel) tp; + b = gtm.translateTURTLEOSDesign((TURTLEOSDesignPanel)tp); + if (b) { + setMode(MainGUI.MODEL_OK); + ret = true; + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). You can now generate a corresponding formal specification or executable code (Java)", + "Syntax analysis successful on deployment diagrams", + JOptionPane.INFORMATION_MESSAGE); + } + } else { + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "The TURTLE deployment contains several errors", + "Syntax analysis failed", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + //dtree.toBeUpdated(); + dtree.forceUpdate(); + return ret; + } + + public LinkedList<TAttribute> getAllAttributes() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + String name = getCurrentTDiagramPanel().getName(); + + return this.getAllAttributes (tp, name); + } + + public LinkedList<TAttribute> getAllAttributes(TURTLEPanel tp, String name) { + if (tp == null) { + return null; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return null; + } + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + + return adp.getAllAttributes(name); + } + + + public LinkedList<AvatarMethod> getAllMethods() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { + return null; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return null; + } + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + + String name = getCurrentTDiagramPanel().getName(); + + return adp.getAllMethods(name); + } + + public LinkedList<AvatarSignal> getAllSignals() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + String name = getCurrentTDiagramPanel().getName(); + return this.getAllSignals (tp, name); + } + + public LinkedList<AvatarSignal> getAllSignals(TURTLEPanel tp, String name) { + if (tp == null) { + return null; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return null; + } + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + + return adp.getAllSignals(name); + } + + + public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions () { + TURTLEPanel tp = getCurrentTURTLEPanel(); + return this.getAllLibraryFunctions (tp); + } + + public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions (TURTLEPanel tp) { + String name = getCurrentTDiagramPanel().getName(); + return this.getAllLibraryFunctions (tp, name); + } + + /* Note that this is here for historical purpose : Now, any block can access library functions of any + * other block. + */ + public LinkedList<AvatarBDLibraryFunction> getAllLibraryFunctions (TURTLEPanel tp, String name) { + if (tp == null) { + return null; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return null; + } + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + + return adp.getAllLibraryFunctions(name); + } + + public String[] getAllOutEvents() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { + return null; + } + + if (!(tp instanceof TMLComponentDesignPanel)) { + return null; + } + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + + String name = getCurrentTDiagramPanel().getName(); + + return tmlcomp.getAllOutEvents(name); + } + + public String[] getAllInEvents() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) {return null;} + if (!(tp instanceof TMLComponentDesignPanel)) {return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + String name = getCurrentTDiagramPanel().getName(); + return tmlcomp.getAllInEvents(name); + } + + public String[] getAllOutChannels() { //this routine can be called only from a TMLComponentDesignPanel + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { return null;} + if (!(tp instanceof TMLComponentDesignPanel)) { return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + String name = getCurrentTDiagramPanel().getName(); + return tmlcomp.getAllOutChannels(name); + } + + public String[] getAllInChannels() { //this routine can be called only from a TMLComponentDesignPanel + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) {return null;} + if (!(tp instanceof TMLComponentDesignPanel)) {return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + String name = getCurrentTDiagramPanel().getName(); + return tmlcomp.getAllInChannels(name); + } + + public Vector<String> getAllCryptoConfig(){ + TURTLEPanel tp; + Vector<String> list = new Vector<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + for (String s: ((TMLComponentDesignPanel)tp).getAllCryptoConfig()){ + list.add(mainTabbedPane.getTitleAt(i)+"::"+s); + } + } + } + return list; + } + public String[] getCurrentCryptoConfig() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) {return null;} + if (!(tp instanceof TMLComponentDesignPanel)) {return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + List<String> strlist = tmlcomp.getAllCryptoConfig(); + String[] strarray = new String[strlist.size()]; + strlist.toArray(strarray); + return strarray; + } + public String[] getAllNonce(){ + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) {return null;} + if (!(tp instanceof TMLComponentDesignPanel)) {return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + List<String> strlist = tmlcomp.getAllNonce(); + String[] strarray = new String[strlist.size()]; + strlist.toArray(strarray); + return strarray; + } + + public ArrayList<String> getAllKeys(){ + TURTLEPanel tp; + ArrayList<String> list = new ArrayList<String>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + for (String s:((TMLComponentDesignPanel)tp).getAllKeys()){ + list.add(s); + } + } + } + return list; + } + + public String[] getAllOutRequests() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) {return null;} + if (!(tp instanceof TMLComponentDesignPanel)) {return null;} + TMLComponentDesignPanel tmlcomp = (TMLComponentDesignPanel)tp; + String name = getCurrentTDiagramPanel().getName(); + return tmlcomp.getAllOutRequests(name); + } + + public LinkedList<String> getAllTimers() { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { + return null; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return null; + } + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + + String name = getCurrentTDiagramPanel().getName(); + + return adp.getAllTimers(name); + } + + public List<CheckingError> getCheckingErrors() { + return gtm.getCheckingErrors(); + } + + public List<CheckingError> getCheckingWarnings() { + return gtm.getCheckingWarnings(); + } + + public void modelBacktracingProVerif(ProVerifOutputAnalyzer pvoa) { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { + return; + } + + if (tp instanceof AvatarDesignPanel) { + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + adp.modelBacktracingProVerif(pvoa); + getCurrentTDiagramPanel().repaint(); + } + else if (tp instanceof TMLArchiPanel) { + /* for (int i=0; i<tabs.size(); i++){ tp = (TURTLEPanel)(tabs.elementAt(i)); if (tp instanceof TMLComponentDesignPanel) { ((TMLComponentDesignPanel)tp).modelBacktracingProVerif(pvoa); } }*/ - gtm.getTMLMapping().getTMLModeling().clearBacktracing(); - gtm.getTMLMapping().getTMLModeling().backtrace(pvoa, getTabName(tp)); - gtm.getTML2Avatar().backtraceReachability(pvoa.getReachableEvents(), pvoa.getNonReachableEvents()); - gtm.getTMLMapping().getTMLModeling().backtraceAuthenticity(pvoa.getSatisfiedAuthenticity(), pvoa.getSatisfiedWeakAuthenticity(), pvoa.getNonSatisfiedAuthenticity(), getTabName(tp)); - } - else if (tp instanceof TMLComponentDesignPanel){ - gtm.getTMLMapping().getTMLModeling().clearBacktracing(); - gtm.getTMLMapping().getTMLModeling().backtrace(pvoa, "Default Mapping"); - gtm.getTML2Avatar().backtraceReachability(pvoa.getReachableEvents(), pvoa.getNonReachableEvents()); - gtm.getTMLMapping().getTMLModeling().backtraceAuthenticity(pvoa.getSatisfiedAuthenticity(), pvoa.getSatisfiedWeakAuthenticity(), pvoa.getNonSatisfiedAuthenticity(), "Default Mapping"); - } - return; - } - - public void modelBacktracingUPPAAL( Map<String, Integer> verifMap) { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp == null) { - return; - } - - if (!(tp instanceof AvatarDesignPanel)) { - return; - } - - AvatarDesignPanel adp = (AvatarDesignPanel)tp; - adp.modelBacktracingUppaal(verifMap); - getCurrentTDiagramPanel().repaint(); - } - - public void generateRTLOTOS() { - generateRTLOTOS(false); - } - - - public boolean generateRTLOTOS(boolean automatic) { - int ret = 0; - if (gtm.getTURTLEModelingState() > 0) { - if ((ret = generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), automatic, RT_LOTOS)) == -1) { - return false; - } - } - - gtm.reinitSIM(); - gtm.reinitDTA(); - gtm.reinitRG(); - gtm.reinitRGAUT(); - gtm.reinitRGAUTPROJDOT(); - if (ret == 0) { - gtm.generateRTLOTOS(lotosfile); - } - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "RT-LOTOS specification generated", - "RT-LOTOS specification", - JOptionPane.INFORMATION_MESSAGE); - } - dtree.toBeUpdated(); - return true; - } - - public void generateLOTOS() { - generateLOTOS(false); - } - - - public boolean generateLOTOS(boolean automatic) { - int ret = 0; - if (gtm.getTURTLEModelingState() > 0) { - ret = generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), automatic, LOTOS); - if (ret == -1) { - dtree.toBeUpdated(); - TraceManager.addDev("Generate from state failed"); - return false; - } - /*if (!automatic && (gtm.getTURTLEModelingState() == 1)) { + gtm.getTMLMapping().getTMLModeling().clearBacktracing(); + gtm.getTMLMapping().getTMLModeling().backtrace(pvoa, getTabName(tp)); + gtm.getTML2Avatar().backtraceReachability(pvoa.getReachableEvents(), pvoa.getNonReachableEvents()); + gtm.getTMLMapping().getTMLModeling().backtraceAuthenticity(pvoa.getSatisfiedAuthenticity(), pvoa.getSatisfiedWeakAuthenticity(), pvoa.getNonSatisfiedAuthenticity(), getTabName(tp)); + } + else if (tp instanceof TMLComponentDesignPanel){ + gtm.getTMLMapping().getTMLModeling().clearBacktracing(); + gtm.getTMLMapping().getTMLModeling().backtrace(pvoa, "Default Mapping"); + gtm.getTML2Avatar().backtraceReachability(pvoa.getReachableEvents(), pvoa.getNonReachableEvents()); + gtm.getTMLMapping().getTMLModeling().backtraceAuthenticity(pvoa.getSatisfiedAuthenticity(), pvoa.getSatisfiedWeakAuthenticity(), pvoa.getNonSatisfiedAuthenticity(), "Default Mapping"); + } + return; + } + + public void modelBacktracingUPPAAL( Map<String, Integer> verifMap) { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp == null) { + return; + } + + if (!(tp instanceof AvatarDesignPanel)) { + return; + } + + AvatarDesignPanel adp = (AvatarDesignPanel)tp; + adp.modelBacktracingUppaal(verifMap); + getCurrentTDiagramPanel().repaint(); + } + + public void generateRTLOTOS() { + generateRTLOTOS(false); + } + + + public boolean generateRTLOTOS(boolean automatic) { + int ret = 0; + if (gtm.getTURTLEModelingState() > 0) { + if ((ret = generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), automatic, RT_LOTOS)) == -1) { + return false; + } + } + + gtm.reinitSIM(); + gtm.reinitDTA(); + gtm.reinitRG(); + gtm.reinitRGAUT(); + gtm.reinitRGAUTPROJDOT(); + if (ret == 0) { + gtm.generateRTLOTOS(lotosfile); + } + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "RT-LOTOS specification generated", + "RT-LOTOS specification", + JOptionPane.INFORMATION_MESSAGE); + } + dtree.toBeUpdated(); + return true; + } + + public void generateLOTOS() { + generateLOTOS(false); + } + + + public boolean generateLOTOS(boolean automatic) { + int ret = 0; + if (gtm.getTURTLEModelingState() > 0) { + ret = generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), automatic, LOTOS); + if (ret == -1) { + dtree.toBeUpdated(); + TraceManager.addDev("Generate from state failed"); + return false; + } + /*if (!automatic && (gtm.getTURTLEModelingState() == 1)) { return true; }*/ - } - - //TraceManager.addDev("generate LOTOS"); - if (ret == 0) { - gtm.generateFullLOTOS(lotosfile); - //TraceManager.addDev("LOTOS generated"); - if (!automatic) { - JOptionPane.showMessageDialog(frame, - "LOTOS specification generated (" + getCheckingWarnings().size() + " warning(s))", - "LOTOS specification", - JOptionPane.INFORMATION_MESSAGE); - } - } - setMode(MainGUI.RTLOTOS_OK); - dtree.toBeUpdated(); - return true; - } - - public void generateFullLOTOS() { - gtm.generateFullLOTOS(lotosfile); - dtree.toBeUpdated(); - } - - // -1 : error - // 0: ok - // 1: ok, code already generated - public int generateTURTLEModelingFromState(int state, boolean automatic, int generator) { - if (state == 1) { - TraceManager.addDev("Generating from state 1"); - if (generateTIFFromMapping(automatic, generator)) { - return 1; - } - return -1; - } - if (state == 2) { - TraceManager.addDev("Generating from state 2"); - if (generateTIFFromTMLModeling(automatic, generator)) { - return 0; - } - return -1; - } - if (state == 3) { - TraceManager.addDev("Generating from state 3 (Avatar)"); - if (generateTIFFromAvatarSpecification(automatic, generator)) { - return 0; - } - return -1; - } - return -1; - } - - public boolean generateTIFFromAvatarSpecification(boolean automatic, int generator) { - boolean b = gtm.translateAvatarSpecificationToTIF(); - if (b) { - setMode(MainGUI.MODEL_OK); - return true; - } - return false; - } - - public boolean generateTIFFromMapping(boolean automatic, int generator) { - boolean b; - - // Scheduling options - JDialogScheduling jds = new JDialogScheduling(frame, this, "Mapping options", generator); - if (!automatic) { - GraphicLib.centerOnParent(jds); - jds.setVisible(true); // Blocked until dialog has been closed - } else { - jds.closeDialog(); - b = gtm.translateTMLMapping(jds.getSample(), jds.getChannel(), jds.getEvent(), jds.getRequest(), jds.getExec(), jds.getBusTransfer(), jds.getScheduling(), jds.getTaskState(), jds.getChannelState(), jds.getBranching(), jds.getTerminateCPU(), jds.getTerminateCPUs(), jds.getClocked(), jds.getTickIntervalValue(), jds.getEndClocked(), jds.getCountTick(), jds.getMaxCountTick(), jds.getMaxCountTickValue(), jds.getRandomTask()); - if (b) { - setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - return true; - } - return false; - } - - if (!jds.isCancelled()) { - b = jds.hasError(); - //gtm.translateTMLMapping(jds.getChannel(), jds.getEvent(), jds.getRequest(), jds.getExec(), jds.getBusTransfer(), jds.getScheduling(), jds.getTaskState(), jds.getChannelState(), jds.getBranching(), jds.getTerminateCPU(), jds.getTerminateCPUs(), jds.getClocked(), jds.getTickIntervalValue(), jds.getEndClocked(), jds.getCountTick(), jds.getMaxCountTick(), jds.getMaxCountTickValue(), jds.getRandomTask()); - if (!b) { - //setMode(MainGUI.MODEL_OK); - setMode(MainGUI.GEN_SYSTEMC_OK); - setMode(MainGUI.MODEL_OK); - return true; - /*if (!automatic) { + } + + //TraceManager.addDev("generate LOTOS"); + if (ret == 0) { + gtm.generateFullLOTOS(lotosfile); + //TraceManager.addDev("LOTOS generated"); + if (!automatic) { + JOptionPane.showMessageDialog(frame, + "LOTOS specification generated (" + getCheckingWarnings().size() + " warning(s))", + "LOTOS specification", + JOptionPane.INFORMATION_MESSAGE); + } + } + setMode(MainGUI.RTLOTOS_OK); + dtree.toBeUpdated(); + return true; + } + + public void generateFullLOTOS() { + gtm.generateFullLOTOS(lotosfile); + dtree.toBeUpdated(); + } + + // -1 : error + // 0: ok + // 1: ok, code already generated + public int generateTURTLEModelingFromState(int state, boolean automatic, int generator) { + if (state == 1) { + TraceManager.addDev("Generating from state 1"); + if (generateTIFFromMapping(automatic, generator)) { + return 1; + } + return -1; + } + if (state == 2) { + TraceManager.addDev("Generating from state 2"); + if (generateTIFFromTMLModeling(automatic, generator)) { + return 0; + } + return -1; + } + if (state == 3) { + TraceManager.addDev("Generating from state 3 (Avatar)"); + if (generateTIFFromAvatarSpecification(automatic, generator)) { + return 0; + } + return -1; + } + return -1; + } + + public boolean generateTIFFromAvatarSpecification(boolean automatic, int generator) { + boolean b = gtm.translateAvatarSpecificationToTIF(); + if (b) { + setMode(MainGUI.MODEL_OK); + return true; + } + return false; + } + + public boolean generateTIFFromMapping(boolean automatic, int generator) { + boolean b; + + // Scheduling options + JDialogScheduling jds = new JDialogScheduling(frame, this, "Mapping options", generator); + if (!automatic) { + GraphicLib.centerOnParent(jds); + jds.setVisible(true); // Blocked until dialog has been closed + } else { + jds.closeDialog(); + b = gtm.translateTMLMapping(jds.getSample(), jds.getChannel(), jds.getEvent(), jds.getRequest(), jds.getExec(), jds.getBusTransfer(), jds.getScheduling(), jds.getTaskState(), jds.getChannelState(), jds.getBranching(), jds.getTerminateCPU(), jds.getTerminateCPUs(), jds.getClocked(), jds.getTickIntervalValue(), jds.getEndClocked(), jds.getCountTick(), jds.getMaxCountTick(), jds.getMaxCountTickValue(), jds.getRandomTask()); + if (b) { + setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + return true; + } + return false; + } + + if (!jds.isCancelled()) { + b = jds.hasError(); + //gtm.translateTMLMapping(jds.getChannel(), jds.getEvent(), jds.getRequest(), jds.getExec(), jds.getBusTransfer(), jds.getScheduling(), jds.getTaskState(), jds.getChannelState(), jds.getBranching(), jds.getTerminateCPU(), jds.getTerminateCPUs(), jds.getClocked(), jds.getTickIntervalValue(), jds.getEndClocked(), jds.getCountTick(), jds.getMaxCountTick(), jds.getMaxCountTickValue(), jds.getRandomTask()); + if (!b) { + //setMode(MainGUI.MODEL_OK); + setMode(MainGUI.GEN_SYSTEMC_OK); + setMode(MainGUI.MODEL_OK); + return true; + /*if (!automatic) { JOptionPane.showMessageDialog(frame, "0 error, " + getCheckingWarnings().size() + " warning(s). Formal specification can be generated", "Successful translation from the TML mapping to a formal specification", JOptionPane.INFORMATION_MESSAGE); }*/ - } else { - /*if (!automatic) { + } else { + /*if (!automatic) { JOptionPane.showMessageDialog(frame, "Formal specification generation failed: the TML mapping contains several errors", "Syntax analysis failed", JOptionPane.INFORMATION_MESSAGE); }*/ - return false; - } - } - - return false; - } - - public boolean generateTIFFromTMLModeling(boolean automatic, int generator) { - return gtm.translateTMLModeling(); - } - - public void generateAUT() { - JDialogGenAUT jdgaut = new JDialogGenAUT(frame, this, "Generation of automata", ConfigurationTTool.BcgioPath, ConfigurationTTool.AldebaranHost, ConfigurationTTool.TGraphPath); - // jdgaut.setSize(450, 600); - GraphicLib.centerOnParent(jdgaut, 450, 600); - jdgaut.setVisible(true); - - //Update menu - Vector<String> v = jdgaut.getFiles(); - JMenu menu = jmenubarturtle.getJMenuGraph(); - menu.removeAll(); - String s; - for(int i=0; i<v.size(); i++) { - s = (String)(v.elementAt(i)); - jmenubarturtle.addMenuItem(menu, s, this); - } - - } - - public void generateAUTS() { - JDialogGenAUTS jdgauts = new JDialogGenAUTS(frame, this, "Generation of automata via LOTOS", gtm.getPathCaesar(), - GTURTLEModeling.getPathBcgio(), - REMOTE_RTL_LOTOS_FILE, - GTURTLEModeling.getCaesarHost(), ConfigurationTTool.TGraphPath); - // jdgauts.setSize(450, 600); - GraphicLib.centerOnParent(jdgauts, 450, 600); - jdgauts.setVisible(true); - - //Update menu - /*Vector v = jdgauts.getFiles(); + return false; + } + } + + return false; + } + + public boolean generateTIFFromTMLModeling(boolean automatic, int generator) { + return gtm.translateTMLModeling(); + } + + public void generateAUT() { + JDialogGenAUT jdgaut = new JDialogGenAUT(frame, this, "Generation of automata", ConfigurationTTool.BcgioPath, ConfigurationTTool.AldebaranHost, ConfigurationTTool.TGraphPath); + // jdgaut.setSize(450, 600); + GraphicLib.centerOnParent(jdgaut, 450, 600); + jdgaut.setVisible(true); + + //Update menu + Vector<String> v = jdgaut.getFiles(); + JMenu menu = jmenubarturtle.getJMenuGraph(); + menu.removeAll(); + String s; + for(int i=0; i<v.size(); i++) { + s = (String)(v.elementAt(i)); + jmenubarturtle.addMenuItem(menu, s, this); + } + + } + + public void generateAUTS() { + JDialogGenAUTS jdgauts = new JDialogGenAUTS(frame, this, "Generation of automata via LOTOS", gtm.getPathCaesar(), + GTURTLEModeling.getPathBcgio(), + REMOTE_RTL_LOTOS_FILE, + GTURTLEModeling.getCaesarHost(), ConfigurationTTool.TGraphPath); + // jdgauts.setSize(450, 600); + GraphicLib.centerOnParent(jdgauts, 450, 600); + jdgauts.setVisible(true); + + //Update menu + /*Vector v = jdgauts.getFiles(); JMenu menu = jmenubarturtle.getJMenuGraph(); menu.removeAll(); String s; @@ -3906,181 +3924,181 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe jmenubarturtle.addMenuItem(menu, s, this); }*/ - } - - public void avatarSimulation() { - TraceManager.addDev("Avatar simulation"); - jfais = new JFrameAvatarInteractiveSimulation(/*frame, */this, "Interactive simulation", gtm.getAvatarSpecification()); - jfais.setIconImage(IconManager.img9); - // jfais.setSize(900, 600); - GraphicLib.centerOnParent(jfais, 900, 600); - jfais.setVisible(true); - } - - public void avatarUPPAALVerification() { - TraceManager.addDev("Avatar uppaal fv"); - boolean result = gtm.generateUPPAALFromAVATAR(ConfigurationTTool.UPPAALCodeDirectory); - if (result) { - formalValidation(true); - } else { - JOptionPane.showMessageDialog(frame, - "" + getCheckingErrors().size() + " errors, " +getCheckingWarnings().size() + " warning(s). UPPAAL specification could NOT be generated", - "Translation to UPPAAL failed", - JOptionPane.INFORMATION_MESSAGE); - return; - } - } - - public void avatarProVerifVerification() { - TraceManager.addDev("Avatar proverif fv"); - //JDialogProVerifGeneration jgen = new JDialogProVerifGeneration(frame, this, "ProVerif: code generation and verification", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); - JDialogProverifVerification jgen = new JDialogProverifVerification(frame, this, "Security verification with ProVerif", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); - // jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 450); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - public void dse(){ - TraceManager.addDev("Design space exploration"); - JDialogDSE jdse= new JDialogDSE(frame, this, "Design Space Exploration", ConfigurationTTool.SystemCCodeDirectory, ConfigurationTTool.TMLCodeDirectory, gtm.getCPUTaskMap()); - // jdse.setSize(600,800); - GraphicLib.centerOnParent(jdse, 600,800); - jdse.setVisible(true); - dtree.toBeUpdated(); - } - - public void avatarStaticAnalysis() { - TraceManager.addDev("Avatar static analysis invariants"); - JDialogInvariantAnalysis jgen = new JDialogInvariantAnalysis(frame, this, "Static analysis: invariants computation"); - // jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 450); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - public void avatarExecutableCodeGeneration() { - TraceManager.addDev("Avatar code generation"); - JDialogAvatarExecutableCodeGeneration jgen = new JDialogAvatarExecutableCodeGeneration(frame, this, "Executable Code generation, compilation and execution", ConfigurationTTool.AVATARExecutableCodeHost, ConfigurationTTool.AVATARExecutableCodeDirectory, ConfigurationTTool.AVATARExecutableCodeCompileCommand, ConfigurationTTool.AVATARExecutableCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand, ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibTraceFile); - // jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 450); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - // DG - public void avatarddExecutableCodeGeneration(){ - TraceManager.addDev("Avatar code generation"); - JDialogAvatarddExecutableCodeGeneration jgen = new JDialogAvatarddExecutableCodeGeneration(frame, this, "Executable Code generation, compilation and execution", - ConfigurationTTool.AVATARExecutableCodeHost, - ConfigurationTTool.AVATARMPSoCCodeDirectory, - ConfigurationTTool.AVATARMPSoCCompileCommand, - ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand); - // jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 450 ); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - // --------------------------------------------------------------------- - - public void generateUPPAAL() { - generateUPPAAL(true); - } - - public void generateUPPAAL(boolean showWindow) { - TraceManager.addDev("Generate UPPAAL! showwindow=" + showWindow); - //gtm.mergeChoices(true); - if (gtm.getTURTLEModelingState() > 0) { - //TraceManager.addDev("4173"); - if (gtm.getTURTLEModelingState() == 3) { - //AVATAR - boolean result = gtm.generateUPPAALFromAVATAR(ConfigurationTTool.UPPAALCodeDirectory); - TraceManager.addDev("4177"); - if (showWindow) { - TraceManager.addDev("4178"); - if (result) { - JOptionPane.showMessageDialog(frame, - "0 error, " + getCheckingWarnings().size() + " warning(s). UPPAAL specification generated", - "Successful translation to UPPAAL", - JOptionPane.INFORMATION_MESSAGE); - } - else { - JOptionPane.showMessageDialog(frame, - "" + getCheckingErrors().size() + " errors, " +getCheckingWarnings().size() + " warning(s). UPPAAL specification could NOT be generated", - "Translation to UPPAAL failed", - JOptionPane.INFORMATION_MESSAGE); - - - } - } - TraceManager.addDev("4196"); - if (!result) { - return; - } - } - else { - /*if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, UPPAAL) == -1) { + } + + public void avatarSimulation() { + TraceManager.addDev("Avatar simulation"); + jfais = new JFrameAvatarInteractiveSimulation( /*frame,*/ this, "Interactive simulation", gtm.getAvatarSpecification()); + jfais.setIconImage(IconManager.img9); + // jfais.setSize(900, 600); + GraphicLib.centerOnParent(jfais, 900, 600); + jfais.setVisible(true); + } + + public void avatarUPPAALVerification() { + TraceManager.addDev("Avatar uppaal fv"); + boolean result = gtm.generateUPPAALFromAVATAR(ConfigurationTTool.UPPAALCodeDirectory); + if (result) { + formalValidation(true); + } else { + JOptionPane.showMessageDialog(frame, + "" + getCheckingErrors().size() + " errors, " +getCheckingWarnings().size() + " warning(s). UPPAAL specification could NOT be generated", + "Translation to UPPAAL failed", + JOptionPane.INFORMATION_MESSAGE); + return; + } + } + + public void avatarProVerifVerification() { + TraceManager.addDev("Avatar proverif fv"); + //JDialogProVerifGeneration jgen = new JDialogProVerifGeneration(frame, this, "ProVerif: code generation and verification", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); + JDialogProverifVerification jgen = new JDialogProverifVerification(frame, this, "Security verification with ProVerif", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); + // jgen.setSize(500, 450); + GraphicLib.centerOnParent(jgen, 500, 450); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + public void dse(){ + TraceManager.addDev("Design space exploration"); + JDialogDSE jdse= new JDialogDSE(frame, this, "Design Space Exploration", ConfigurationTTool.SystemCCodeDirectory, ConfigurationTTool.TMLCodeDirectory, gtm.getCPUTaskMap()); + // jdse.setSize(600,800); + GraphicLib.centerOnParent(jdse, 600,800); + jdse.setVisible(true); + dtree.toBeUpdated(); + } + + public void avatarStaticAnalysis() { + TraceManager.addDev("Avatar static analysis invariants"); + JDialogInvariantAnalysis jgen = new JDialogInvariantAnalysis(frame, this, "Static analysis: invariants computation"); + // jgen.setSize(500, 450); + GraphicLib.centerOnParent(jgen, 500, 450); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + public void avatarExecutableCodeGeneration() { + TraceManager.addDev("Avatar code generation"); + JDialogAvatarExecutableCodeGeneration jgen = new JDialogAvatarExecutableCodeGeneration(frame, this, "Executable Code generation, compilation and execution", ConfigurationTTool.AVATARExecutableCodeHost, ConfigurationTTool.AVATARExecutableCodeDirectory, ConfigurationTTool.AVATARExecutableCodeCompileCommand, ConfigurationTTool.AVATARExecutableCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand, ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibTraceFile); + // jgen.setSize(500, 450); + GraphicLib.centerOnParent(jgen, 500, 450); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + // DG + public void avatarddExecutableCodeGeneration(){ + TraceManager.addDev("Avatar code generation"); + JDialogAvatarddExecutableCodeGeneration jgen = new JDialogAvatarddExecutableCodeGeneration(frame, this, "Executable Code generation, compilation and execution", + ConfigurationTTool.AVATARExecutableCodeHost, + ConfigurationTTool.AVATARMPSoCCodeDirectory, + ConfigurationTTool.AVATARMPSoCCompileCommand, + ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand); + // jgen.setSize(500, 450); + GraphicLib.centerOnParent(jgen, 500, 450 ); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + // --------------------------------------------------------------------- + + public void generateUPPAAL() { + generateUPPAAL(true); + } + + public void generateUPPAAL(boolean showWindow) { + TraceManager.addDev("Generate UPPAAL! showwindow=" + showWindow); + //gtm.mergeChoices(true); + if (gtm.getTURTLEModelingState() > 0) { + //TraceManager.addDev("4173"); + if (gtm.getTURTLEModelingState() == 3) { + //AVATAR + boolean result = gtm.generateUPPAALFromAVATAR(ConfigurationTTool.UPPAALCodeDirectory); + TraceManager.addDev("4177"); + if (showWindow) { + TraceManager.addDev("4178"); + if (result) { + JOptionPane.showMessageDialog(frame, + "0 error, " + getCheckingWarnings().size() + " warning(s). UPPAAL specification generated", + "Successful translation to UPPAAL", + JOptionPane.INFORMATION_MESSAGE); + } + else { + JOptionPane.showMessageDialog(frame, + "" + getCheckingErrors().size() + " errors, " +getCheckingWarnings().size() + " warning(s). UPPAAL specification could NOT be generated", + "Translation to UPPAAL failed", + JOptionPane.INFORMATION_MESSAGE); + + + } + } + TraceManager.addDev("4196"); + if (!result) { + return; + } + } + else { + /*if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, UPPAAL) == -1) { TraceManager.addDev("4202 - UPPAAL generation failed"); return; }*/ - TraceManager.addDev( "About to open the window at line 4198" ); - if (showWindow) { - TURTLEPanel tp = getCurrentTURTLEPanel(); - boolean result = false; - - if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel)) { - result = gtm.generateUPPAALFromTML(ConfigurationTTool.UPPAALCodeDirectory, false, 1024, true); - } - if (result != false) { - formalValidation(); - } - /*JDialogUPPAALGeneration jgen = new JDialogUPPAALGeneration(frame, this, "UPPAAL code generation", ConfigurationTTool.UPPAALCodeDirectory, JDialogUPPAALGeneration.DIPLODOCUS_MODE); + TraceManager.addDev( "About to open the window at line 4198" ); + if (showWindow) { + TURTLEPanel tp = getCurrentTURTLEPanel(); + boolean result = false; + + if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel)) { + result = gtm.generateUPPAALFromTML(ConfigurationTTool.UPPAALCodeDirectory, false, 1024, true); + } + if (result != false) { + formalValidation(); + } + /*JDialogUPPAALGeneration jgen = new JDialogUPPAALGeneration(frame, this, "UPPAAL code generation", ConfigurationTTool.UPPAALCodeDirectory, JDialogUPPAALGeneration.DIPLODOCUS_MODE); // jgen.setSize(450, 500); GraphicLib.centerOnParent(jgen, 450, 500); jgen.setVisible(true);*/ - } - return; - } - } - - TraceManager.addDev( "gtm.getTURTLEModelingState() <= 0)" ); - //TraceManager.addDev("After UPPAAL"); - if (showWindow) { - JDialogUPPAALGeneration jgen = new JDialogUPPAALGeneration(frame, this, "UPPAAL code generation", ConfigurationTTool.UPPAALCodeDirectory, JDialogUPPAALGeneration.TURTLE_MODE); - //jgen.setSize(450, 600); - GraphicLib.centerOnParent(jgen, 450, 600); - jgen.setVisible(true); - //dtree.toBeUpdated(); - } - } - - public void avatarModelChecker() { - TraceManager.addDev("Execute avatar model checker"); - gtm.generateAvatarFromTML(true,false); - if (gtm.getAvatarSpecification()==null){ - TraceManager.addDev("Null avatar spec"); - return; - } - JDialogAvatarModelChecker jmc = new JDialogAvatarModelChecker(frame, this, "Avatar: Model Checking", gtm.getAvatarSpecification(), ConfigurationTTool.TGraphPath, experimentalOn); - // jmc.setSize(550, 600); - GraphicLib.centerOnParent(jmc, 550, 600); - jmc.setVisible(true); - } - - - public void generateProVerif() { - TraceManager.addDev("Generate ProVerif!"); - - JDialogProVerifGeneration jgen = new JDialogProVerifGeneration(frame, this, "ProVerif: code generation and verification", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); - //jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 450); - jgen.setVisible(true); - dtree.toBeUpdated(); - - // Generate from AVATAR - /*if (gtm.getTURTLEModelingState() == 3) { + } + return; + } + } + + TraceManager.addDev( "gtm.getTURTLEModelingState() <= 0)" ); + //TraceManager.addDev("After UPPAAL"); + if (showWindow) { + JDialogUPPAALGeneration jgen = new JDialogUPPAALGeneration(frame, this, "UPPAAL code generation", ConfigurationTTool.UPPAALCodeDirectory, JDialogUPPAALGeneration.TURTLE_MODE); + //jgen.setSize(450, 600); + GraphicLib.centerOnParent(jgen, 450, 600); + jgen.setVisible(true); + //dtree.toBeUpdated(); + } + } + + public void avatarModelChecker() { + TraceManager.addDev("Execute avatar model checker"); + gtm.generateAvatarFromTML(true,false); + if (gtm.getAvatarSpecification()==null){ + TraceManager.addDev("Null avatar spec"); + return; + } + JDialogAvatarModelChecker jmc = new JDialogAvatarModelChecker(frame, this, "Avatar: Model Checking", gtm.getAvatarSpecification(), ConfigurationTTool.TGraphPath, experimentalOn); + // jmc.setSize(550, 600); + GraphicLib.centerOnParent(jmc, 550, 600); + jmc.setVisible(true); + } + + + public void generateProVerif() { + TraceManager.addDev("Generate ProVerif!"); + + JDialogProVerifGeneration jgen = new JDialogProVerifGeneration(frame, this, "ProVerif: code generation and verification", ConfigurationTTool.ProVerifVerifierHost, ConfigurationTTool.ProVerifCodeDirectory, ConfigurationTTool.ProVerifVerifierPath); + //jgen.setSize(500, 450); + GraphicLib.centerOnParent(jgen, 500, 450); + jgen.setVisible(true); + dtree.toBeUpdated(); + + // Generate from AVATAR + /*if (gtm.getTURTLEModelingState() == 3) { boolean result = gtm.generateProVerifFromAVATAR(ConfigurationTTool.ProVerifCodeDirectory); if (result) { JOptionPane.showMessageDialog(frame, @@ -4094,34 +4112,34 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe JOptionPane.INFORMATION_MESSAGE); } }*/ - } - + } - public List<String> generateAllAUT(String path) { - return gtm.generateAUT(path); - } - public List<String> generateAllLOTOS(String path) { - return gtm.generateLOTOSAUT(path); - } + public List<String> generateAllAUT(String path) { + return gtm.generateAUT(path); + } - public void generateJava() { + public List<String> generateAllLOTOS(String path) { + return gtm.generateLOTOSAUT(path); + } - if (gtm.getTURTLEModelingState() == 1) { - if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, JAVA) == -1) { - return; - } - } + public void generateJava() { - JDialogJavaGeneration jgen = new JDialogJavaGeneration(frame, this, "Java code generation and compilation", ConfigurationTTool.JavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolClassPath, ConfigurationTTool.JavaExecutePath, ConfigurationTTool.JavaHeader); - // jgen.setSize(450, 600); - GraphicLib.centerOnParent(jgen, 450, 600); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - public void simuJava() { - /*TraceManager.addDev("Generate Java"); + if (gtm.getTURTLEModelingState() == 1) { + if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, JAVA) == -1) { + return; + } + } + + JDialogJavaGeneration jgen = new JDialogJavaGeneration(frame, this, "Java code generation and compilation", ConfigurationTTool.JavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolClassPath, ConfigurationTTool.JavaExecutePath, ConfigurationTTool.JavaHeader); + // jgen.setSize(450, 600); + GraphicLib.centerOnParent(jgen, 450, 600); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + public void simuJava() { + /*TraceManager.addDev("Generate Java"); gtm.generateJava(""); JOptionPane.showMessageDialog(frame, "Java code generated", @@ -4129,1082 +4147,1082 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe JOptionPane.INFORMATION_MESSAGE); dtree.toBeUpdated();*/ - JDialogJavaSimulation jgen = new JDialogJavaSimulation(frame, this, "Java simulation", ConfigurationTTool.SimuJavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolSimuClassPath, ConfigurationTTool.JavaExecutePath); - // jgen.setSize(450, 600); - GraphicLib.centerOnParent(jgen, 450, 600); - jgen.setVisible(true); - dtree.toBeUpdated(); - } - - public void generateSystemC() { - generateSystemC(0); - } - - // Modes are defined in JDialogSystemCGeneration "automatic modes" - public void generateSystemC(int _mode) { - TURTLEPanel tp = getCurrentTURTLEPanel(); - if (tp instanceof AvatarDesignPanel) { - avatarSimulation(); - } else if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel) || (tp instanceof TMLArchiPanel)) { - JDialogSystemCGeneration jgen = new JDialogSystemCGeneration(frame, this, "Simulation Code Generation and Compilation", - ConfigurationTTool.SystemCHost, ConfigurationTTool.SystemCCodeDirectory, ConfigurationTTool.SystemCCodeCompileCommand, - ConfigurationTTool.SystemCCodeExecuteCommand, ConfigurationTTool.SystemCCodeInteractiveExecuteCommand, ConfigurationTTool.GGraphPath, _mode); - //jgen.setSize(500, 750); - GraphicLib.centerOnParent( jgen, 700, 750 ); - jgen.setVisible(true); - dtree.toBeUpdated(); - - /*if (jgen.isInteractiveSimulationSelected() && (mode == 0)) { + JDialogJavaSimulation jgen = new JDialogJavaSimulation(frame, this, "Java simulation", ConfigurationTTool.SimuJavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolSimuClassPath, ConfigurationTTool.JavaExecutePath); + // jgen.setSize(450, 600); + GraphicLib.centerOnParent(jgen, 450, 600); + jgen.setVisible(true); + dtree.toBeUpdated(); + } + + public void generateSystemC() { + generateSystemC(0); + } + + // Modes are defined in JDialogSystemCGeneration "automatic modes" + public void generateSystemC(int _mode) { + TURTLEPanel tp = getCurrentTURTLEPanel(); + if (tp instanceof AvatarDesignPanel) { + avatarSimulation(); + } else if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel) || (tp instanceof TMLArchiPanel)) { + JDialogSystemCGeneration jgen = new JDialogSystemCGeneration(frame, this, "Simulation Code Generation and Compilation", + ConfigurationTTool.SystemCHost, ConfigurationTTool.SystemCCodeDirectory, ConfigurationTTool.SystemCCodeCompileCommand, + ConfigurationTTool.SystemCCodeExecuteCommand, ConfigurationTTool.SystemCCodeInteractiveExecuteCommand, ConfigurationTTool.GGraphPath, _mode); + //jgen.setSize(500, 750); + GraphicLib.centerOnParent( jgen, 700, 750 ); + jgen.setVisible(true); + dtree.toBeUpdated(); + + /*if (jgen.isInteractiveSimulationSelected() && (mode == 0)) { interactiveSimulationSystemC(jgen.getPathInteractiveExecute()); }*/ - } - } - - public void interactiveSimulationSystemC() { - interactiveSimulationSystemC(ConfigurationTTool.SystemCCodeInteractiveExecuteCommand + " -gpath " + ConfigurationTTool.GGraphPath); - } - - public void interactiveSimulationSystemC(String executePath) { - TraceManager.addDev("MainGUI / Execute path=" + executePath); - ArrayList<Point> points = getListOfBreakPoints(); - if (gtm == null) { - jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points); - } else { - //TraceManager.addDev("toto1"); - if (gtm.getTMLMapping() != null) { - jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getTMLMapping(), points); - } else { - //TraceManager.addDev("toto2"); - if (gtm.getArtificialTMLMapping() != null) { - jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getArtificialTMLMapping(), points); - } else { - //TraceManager.addDev("toto3"); - jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points); - } - } - } - jfis.setIconImage(IconManager.img9); - //jfis.setSize(1024, 900); - GraphicLib.centerOnParent( jfis, 1024, 900 ); - jfis.setVisible(true); - - } - - public void addBreakPoint(int commandId) { - if (jfis != null) { - jfis.addBreakPoint(commandId); - } - } - - public void removeBreakPoint(int commandId) { - if (jfis != null) { - jfis.removeBreakPoint(commandId); - } - } - - // Sent by simulation interface - public void removeBreakpoint(Point p) { - if (gtm != null) { - gtm.removeBreakpoint(p); - getCurrentTDiagramPanel().repaint(); - } - } - - // Sent by simulation interface - public void addBreakpoint(Point p) { - if (gtm != null) { - gtm.addBreakpoint(p); - getCurrentTDiagramPanel().repaint(); - } - } - - public ArrayList<Point> getListOfBreakPoints() { - ArrayList<Point> points = new ArrayList<Point>(); - TURTLEPanel tp; - - if (tabs != null) { - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLDesignPanel) { - ((TMLDesignPanel)tp).getListOfBreakPoints(points); - } - if (tp instanceof TMLComponentDesignPanel) { - ((TMLComponentDesignPanel)tp).getListOfBreakPoints(points); - } - } - } - return points; - } - - // Returns null if failed - // Otherwise the path of the generated file - public String generateTMLTxt() { - String path = ConfigurationTTool.FILEPath; - if (file != null) { - path = file.getAbsolutePath(); - } - //TraceManager.addDev("Generating TML code: "+file.getAbsolutePath()); - if (gtm.generateTMLTxt(path)) { - return ConfigurationTTool.TMLCodeDirectory; - } - - return null; - //TraceManager.addDev("Done"); - } - - public String generateCCode() { - - // String path = ConfigurationTTool.FILEPath; - // if( file != null ) { - // path = file.getAbsolutePath(); - // } - JDialogCCodeGeneration jgen = new JDialogCCodeGeneration( frame, this, "Application code generation and compilation", - ConfigurationTTool.SystemCHost, ConfigurationTTool.CCodeDirectory, - "make -C " + ConfigurationTTool.CCodeDirectory, - ConfigurationTTool.SystemCCodeExecuteCommand, - ConfigurationTTool.SystemCCodeInteractiveExecuteCommand, - ConfigurationTTool.GGraphPath, gtm ); - // jgen.setSize(500, 750); - GraphicLib.centerOnParent(jgen, 500, 750); - jgen.setVisible(true); - //dtree.toBeUpdated(); - //gtm.generateCCode( path ); - return null; - } - - public void generateDesign() { - if (gtm.getTURTLEModelingState() == 1) { - if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, DESIGN) == -1) { - return; - } - } - - //TraceManager.addDev("Generate design"); - gtm.generateDesign(); - } - - public void saveSIM() { - gtm.saveSIM(simfile); - } - - public void saveDTA() { - gtm.saveDTA(dtafile); - } - - public void saveDTADOT() { - gtm.saveDTADOT(dtadotfile); - } - - public void saveRG() { - gtm.saveRG(rgfile); - } - - public void saveTLSA() { - gtm.saveTLSA(tlsafile); - } - - public String saveRGAut() { - gtm.saveRGAut(rgautfile); - return rgautfile.getAbsolutePath(); - } - - public String saveFC2(String data) { - gtm.saveInFile(fc2file, data); - return fc2file.getAbsolutePath(); - } - - public String saveBCG(String data) { - gtm.saveInFile(bcgfile, data); - return bcgfile.getAbsolutePath(); - } - - public void saveRGDOT() { - gtm.saveRGDOT(rgdotfile); - } - - public void saveTLSADOT() { - gtm.saveTLSADOT(tlsadotfile); - } - - public String saveRGAutDOT() { - gtm.saveRGAutDOT(rgautdotfile); - return rgautdotfile.getAbsolutePath(); - } - - public void saveRGAutProj() { - gtm.saveRGAutProj(rgautprojfile); - } - - public void saveRGAutProjDOT() { - gtm.saveRGAutProjDOT(rgautprojdotfile); - } - - public void checkCode() { - if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { - JDialogTextProcess jdtp = new JDialogTextProcess(frame, - "Checking RT-LOTOS specification with RTL", - gtm.getPathRTL() + " __FILENAME -max-spec-t-1", - REMOTE_RTL_LOTOS_FILE, - gtm.getLastRTLOTOSSpecification(), - gtm.getHost()); - //jdtp.setSize(450, 600); - GraphicLib.centerOnParent(jdtp, 450, 600); - jdtp.setVisible(true); - dtree.toBeUpdated(); - } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { - JDialogLOTOSAnalysis jdla = new JDialogLOTOSAnalysis(frame, - this, "Checking LOTOS specification with CAESAR", - gtm.getPathCaesar(), - REMOTE_RTL_LOTOS_FILE, - gtm.getLastRTLOTOSSpecification(), - GTURTLEModeling.getCaesarHost()); - // jdla.setSize(450, 600); - GraphicLib.centerOnParent(jdla, 450, 600); - jdla.setVisible(true); - dtree.toBeUpdated(); - } - } - - - public void simulation() { - if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { - JDialogSimulation jds = new JDialogSimulation(frame, - this, - "Intensive simulation with RTL", - gtm.getPathRTL(), - REMOTE_RTL_LOTOS_FILE, - gtm.getLastRTLOTOSSpecification(), - gtm.getHost()); - //jds.setSize(450, 600); - GraphicLib.centerOnParent(jds, 450, 600); - jds.setVisible(true); - dtree.toBeUpdated(); - } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { - - } - } - - public void formalValidation() { - formalValidation(false); - } - - public void formalValidation(boolean automatic) { - formalValidation(automatic, getCurrentTURTLEPanel()); - } - - public boolean formalValidation(boolean automatic, String diagramName) { - TURTLEPanel tp = getTURTLEPanel(diagramName); - if (tp != null) { - formalValidation(automatic, tp); - return true; - } - return false; - } - - - public void formalValidation(boolean automatic, TURTLEPanel _tp) { - if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { - JDialogFormalValidation jdfv = new JDialogFormalValidation(frame, - this, - "Formal Validation with RTL", - gtm.getPathRTL(), - gtm.getPathDTA2DOT(), - gtm.getPathRGSTRAP(), - gtm.getPathRG2TLSA(), - REMOTE_RTL_LOTOS_FILE, - gtm.getLastRTLOTOSSpecification(), - gtm.getHost(), - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathBcgio()); - jdfv.setAutomatic(automatic); - // jdfv.setSize(450, 600); - GraphicLib.centerOnParent(jdfv, 450, 600); - jdfv.setVisible(true); - dtree.toBeUpdated(); - } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { - JDialogLOTOSValidation jdla = new JDialogLOTOSValidation(frame, - this, "Generating RG with CAESAR", - gtm.getPathCaesar(), - gtm.getPathCaesarOpen(), - GTURTLEModeling.getPathBcgio(), - gtm.getPathBcgmerge(), - REMOTE_RTL_LOTOS_FILE, - gtm.getLastRTLOTOSSpecification(), - GTURTLEModeling.getCaesarHost()); - jdla.setAutomatic(automatic); - // jdla.setSize(450, 600); - GraphicLib.centerOnParent(jdla, 450, 600); - jdla.setVisible(true); - dtree.toBeUpdated(); - } else if (gtm.getLanguageID() == GTURTLEModeling.UPPAAL) { - JDialogUPPAALValidation jduv = new JDialogUPPAALValidation(frame, - this, "Formal verification with UPPAAL", - gtm.getPathUPPAALVerifier(), - gtm.getPathUPPAALFile(), - REMOTE_UPPAAL_FILE, - gtm.getLastUPPAALSpecification().getStringSpec(), - gtm.getUPPAALVerifierHost(), - _tp); - // jduv.setSize(450, 600); - GraphicLib.centerOnParent(jduv, 450, 600); - jduv.setVisible(true); - dtree.toBeUpdated(); - } else if (gtm.getLanguageID() == GTURTLEModeling.MATRIX) { - JDialogTMatrixManagement jdfv = new JDialogTMatrixManagement(frame, - this, - "Observers's Based Formal Verification", - gtm.getRequirementModeling(), - gtm.getPathRTL(), - gtm.getPathDTA2DOT(), - gtm.getPathRGSTRAP(), - gtm.getPathRG2TLSA(), - REMOTE_RTL_LOTOS_FILE, - gtm.getHost(), - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathBcgio()); - // jdfv.setSize(550, 600); - jdfv.setIconImage(IconManager.img8); - GraphicLib.centerOnParent(jdfv, 550, 600); - jdfv.setVisible(true); - dtree.toBeUpdated(); - } - } - - public void projection() { - TClassDiagramPanel tcdp = null; - if (getCurrentTURTLEPanel() instanceof DesignPanel) { - tcdp = ((DesignPanel)(getCurrentTURTLEPanel())).tcdp; - } - JDialogProjection jdfv = new JDialogProjection(frame, - this, - tcdp, - gtm.getTURTLEModeling(), - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathAldebaran(), - gtm.getPathBcgmin(), - GTURTLEModeling.getPathBcgio(), - gtm.getLastRGAUT(), - REMOTE_ALDEBARAN_AUT_FILE, - "Minimization using Aldebaran"); - // jdfv.setSize(900, 700); - GraphicLib.centerOnParent(jdfv, 900, 700); - jdfv.setVisible(true); - } - - public void modifyGraph() { - JDialogGraphModification jdgm; - if (gtm == null ){ - jdgm = new JDialogGraphModification(frame, - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathBcgio(), - "graph", - "Minimization using Aldebaran", - null, null); - } else { - jdgm = new JDialogGraphModification(frame, - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathBcgio(), - "graph", - "Minimization using Aldebaran", - gtm.getLastRGAUT(), - gtm.getLastTextualRGAUTProj()); - } - //jdgm.setSize(600, 500); - GraphicLib.centerOnParent(jdgm, 600, 500); - jdgm.setVisible(true); - modifiedaut = jdgm.getGraphAUT(); - modifiedautdot = jdgm.getGraphDOT(); - if (modifiedautdot != null) { - actions[TGUIAction.ACT_VIEW_MODIFIEDAUTDOT].setEnabled(true); - actions[TGUIAction.ACT_SAVE_AUTMODIFIED].setEnabled(true); - } - //gtm.modifyMinimizedGraph(); - } - - public void bisimulation() { - JDialogBisimulation jdb = new JDialogBisimulation(frame, - GTURTLEModeling.getHostAldebaran(), - GTURTLEModeling.getPathAldebaran(), - REMOTE_ALDEBARAN_BISIMU_FILE1, - REMOTE_ALDEBARAN_BISIMU_FILE2, - "Bisimulation using Aldebaran"); - // jdb.setSize(650, 800); - GraphicLib.centerOnParent(jdb, 650, 800); - jdb.setVisible(true); - //TraceManager.addDev("Bisimulation"); - } - - public void bisimulationCADP() { - JDialogBisimulationBisimulator jdb = new JDialogBisimulationBisimulator(frame, - GTURTLEModeling.getCaesarHost(), - GTURTLEModeling.getPathBisimulator(), - GTURTLEModeling.getPathBcgio(), - REMOTE_BISIMULATOR_FILE1, - REMOTE_BISIMULATOR_FILE2, - "Bisimulation using BISIMULATOR"); - // jdb.setSize(650, 800); - GraphicLib.centerOnParent(jdb, 650, 800); - jdb.setVisible(true); - //TraceManager.addDev("Bisimulation"); - } - - public void seekDeadlockAUT() { - String dataAUT = gtm.getLastTextualRGAUT(); - - JFrameDeadlock jfd = new JFrameDeadlock("Potential deadlocks", dataAUT); - jfd.setIconImage(IconManager.img8); - //jfd.setSize(600, 600); - GraphicLib.centerOnParent(jfd, 600, 600); - jfd.setVisible(true); - } - - public void seekDeadlockSavedAUT() { - String graph[] = loadAUTGraph(); - if (graph != null) { - JFrameDeadlock jfd = new JFrameDeadlock("Potential deadlocks on " + graph[0], graph[1]); - jfd.setIconImage(IconManager.img8); - // jfd.setSize(600, 600); - GraphicLib.centerOnParent(jfd, 600, 600); - jfd.setVisible(true); - } - } - - public void showAUTFromString(String title, String data) { - /*JFrameStatistics jfs = new JFrameStatistics(title, data); + } + } + + public void interactiveSimulationSystemC() { + interactiveSimulationSystemC(ConfigurationTTool.SystemCCodeInteractiveExecuteCommand + " -gpath " + ConfigurationTTool.GGraphPath); + } + + public void interactiveSimulationSystemC(String executePath) { + TraceManager.addDev("MainGUI / Execute path=" + executePath); + ArrayList<Point> points = getListOfBreakPoints(); + if (gtm == null) { + jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points); + } else { + //TraceManager.addDev("toto1"); + if (gtm.getTMLMapping() != null) { + jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getTMLMapping(), points); + } else { + //TraceManager.addDev("toto2"); + if (gtm.getArtificialTMLMapping() != null) { + jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getArtificialTMLMapping(), points); + } else { + //TraceManager.addDev("toto3"); + jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points); + } + } + } + jfis.setIconImage(IconManager.img9); + //jfis.setSize(1024, 900); + GraphicLib.centerOnParent( jfis, 1024, 900 ); + jfis.setVisible(true); + + } + + public void addBreakPoint(int commandId) { + if (jfis != null) { + jfis.addBreakPoint(commandId); + } + } + + public void removeBreakPoint(int commandId) { + if (jfis != null) { + jfis.removeBreakPoint(commandId); + } + } + + // Sent by simulation interface + public void removeBreakpoint(Point p) { + if (gtm != null) { + gtm.removeBreakpoint(p); + getCurrentTDiagramPanel().repaint(); + } + } + + // Sent by simulation interface + public void addBreakpoint(Point p) { + if (gtm != null) { + gtm.addBreakpoint(p); + getCurrentTDiagramPanel().repaint(); + } + } + + public ArrayList<Point> getListOfBreakPoints() { + ArrayList<Point> points = new ArrayList<Point>(); + TURTLEPanel tp; + + if (tabs != null) { + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLDesignPanel) { + ((TMLDesignPanel)tp).getListOfBreakPoints(points); + } + if (tp instanceof TMLComponentDesignPanel) { + ((TMLComponentDesignPanel)tp).getListOfBreakPoints(points); + } + } + } + return points; + } + + // Returns null if failed + // Otherwise the path of the generated file + public String generateTMLTxt() { + String path = ConfigurationTTool.FILEPath; + if (file != null) { + path = file.getAbsolutePath(); + } + //TraceManager.addDev("Generating TML code: "+file.getAbsolutePath()); + if (gtm.generateTMLTxt(path)) { + return ConfigurationTTool.TMLCodeDirectory; + } + + return null; + //TraceManager.addDev("Done"); + } + + public String generateCCode() { + + // String path = ConfigurationTTool.FILEPath; + // if( file != null ) { + // path = file.getAbsolutePath(); + // } + JDialogCCodeGeneration jgen = new JDialogCCodeGeneration( frame, this, "Application code generation and compilation", + ConfigurationTTool.SystemCHost, ConfigurationTTool.CCodeDirectory, + "make -C " + ConfigurationTTool.CCodeDirectory, + ConfigurationTTool.SystemCCodeExecuteCommand, + ConfigurationTTool.SystemCCodeInteractiveExecuteCommand, + ConfigurationTTool.GGraphPath, gtm ); + // jgen.setSize(500, 750); + GraphicLib.centerOnParent(jgen, 500, 750); + jgen.setVisible(true); + //dtree.toBeUpdated(); + //gtm.generateCCode( path ); + return null; + } + + public void generateDesign() { + if (gtm.getTURTLEModelingState() == 1) { + if (generateTURTLEModelingFromState(gtm.getTURTLEModelingState(), false, DESIGN) == -1) { + return; + } + } + + //TraceManager.addDev("Generate design"); + gtm.generateDesign(); + } + + public void saveSIM() { + gtm.saveSIM(simfile); + } + + public void saveDTA() { + gtm.saveDTA(dtafile); + } + + public void saveDTADOT() { + gtm.saveDTADOT(dtadotfile); + } + + public void saveRG() { + gtm.saveRG(rgfile); + } + + public void saveTLSA() { + gtm.saveTLSA(tlsafile); + } + + public String saveRGAut() { + gtm.saveRGAut(rgautfile); + return rgautfile.getAbsolutePath(); + } + + public String saveFC2(String data) { + gtm.saveInFile(fc2file, data); + return fc2file.getAbsolutePath(); + } + + public String saveBCG(String data) { + gtm.saveInFile(bcgfile, data); + return bcgfile.getAbsolutePath(); + } + + public void saveRGDOT() { + gtm.saveRGDOT(rgdotfile); + } + + public void saveTLSADOT() { + gtm.saveTLSADOT(tlsadotfile); + } + + public String saveRGAutDOT() { + gtm.saveRGAutDOT(rgautdotfile); + return rgautdotfile.getAbsolutePath(); + } + + public void saveRGAutProj() { + gtm.saveRGAutProj(rgautprojfile); + } + + public void saveRGAutProjDOT() { + gtm.saveRGAutProjDOT(rgautprojdotfile); + } + + public void checkCode() { + if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { + JDialogTextProcess jdtp = new JDialogTextProcess(frame, + "Checking RT-LOTOS specification with RTL", + gtm.getPathRTL() + " __FILENAME -max-spec-t-1", + REMOTE_RTL_LOTOS_FILE, + gtm.getLastRTLOTOSSpecification(), + gtm.getHost()); + //jdtp.setSize(450, 600); + GraphicLib.centerOnParent(jdtp, 450, 600); + jdtp.setVisible(true); + dtree.toBeUpdated(); + } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { + JDialogLOTOSAnalysis jdla = new JDialogLOTOSAnalysis(frame, + this, "Checking LOTOS specification with CAESAR", + gtm.getPathCaesar(), + REMOTE_RTL_LOTOS_FILE, + gtm.getLastRTLOTOSSpecification(), + GTURTLEModeling.getCaesarHost()); + // jdla.setSize(450, 600); + GraphicLib.centerOnParent(jdla, 450, 600); + jdla.setVisible(true); + dtree.toBeUpdated(); + } + } + + + public void simulation() { + if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { + JDialogSimulation jds = new JDialogSimulation(frame, + this, + "Intensive simulation with RTL", + gtm.getPathRTL(), + REMOTE_RTL_LOTOS_FILE, + gtm.getLastRTLOTOSSpecification(), + gtm.getHost()); + //jds.setSize(450, 600); + GraphicLib.centerOnParent(jds, 450, 600); + jds.setVisible(true); + dtree.toBeUpdated(); + } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { + + } + } + + public void formalValidation() { + formalValidation(false); + } + + public void formalValidation(boolean automatic) { + formalValidation(automatic, getCurrentTURTLEPanel()); + } + + public boolean formalValidation(boolean automatic, String diagramName) { + TURTLEPanel tp = getTURTLEPanel(diagramName); + if (tp != null) { + formalValidation(automatic, tp); + return true; + } + return false; + } + + + public void formalValidation(boolean automatic, TURTLEPanel _tp) { + if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { + JDialogFormalValidation jdfv = new JDialogFormalValidation(frame, + this, + "Formal Validation with RTL", + gtm.getPathRTL(), + gtm.getPathDTA2DOT(), + gtm.getPathRGSTRAP(), + gtm.getPathRG2TLSA(), + REMOTE_RTL_LOTOS_FILE, + gtm.getLastRTLOTOSSpecification(), + gtm.getHost(), + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathBcgio()); + jdfv.setAutomatic(automatic); + // jdfv.setSize(450, 600); + GraphicLib.centerOnParent(jdfv, 450, 600); + jdfv.setVisible(true); + dtree.toBeUpdated(); + } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { + JDialogLOTOSValidation jdla = new JDialogLOTOSValidation(frame, + this, "Generating RG with CAESAR", + gtm.getPathCaesar(), + gtm.getPathCaesarOpen(), + GTURTLEModeling.getPathBcgio(), + gtm.getPathBcgmerge(), + REMOTE_RTL_LOTOS_FILE, + gtm.getLastRTLOTOSSpecification(), + GTURTLEModeling.getCaesarHost()); + jdla.setAutomatic(automatic); + // jdla.setSize(450, 600); + GraphicLib.centerOnParent(jdla, 450, 600); + jdla.setVisible(true); + dtree.toBeUpdated(); + } else if (gtm.getLanguageID() == GTURTLEModeling.UPPAAL) { + JDialogUPPAALValidation jduv = new JDialogUPPAALValidation(frame, + this, "Formal verification with UPPAAL", + gtm.getPathUPPAALVerifier(), + gtm.getPathUPPAALFile(), + REMOTE_UPPAAL_FILE, + gtm.getLastUPPAALSpecification().getStringSpec(), + gtm.getUPPAALVerifierHost(), + _tp); + // jduv.setSize(450, 600); + GraphicLib.centerOnParent(jduv, 450, 600); + jduv.setVisible(true); + dtree.toBeUpdated(); + } else if (gtm.getLanguageID() == GTURTLEModeling.MATRIX) { + JDialogTMatrixManagement jdfv = new JDialogTMatrixManagement(frame, + this, + "Observers's Based Formal Verification", + gtm.getRequirementModeling(), + gtm.getPathRTL(), + gtm.getPathDTA2DOT(), + gtm.getPathRGSTRAP(), + gtm.getPathRG2TLSA(), + REMOTE_RTL_LOTOS_FILE, + gtm.getHost(), + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathBcgio()); + // jdfv.setSize(550, 600); + jdfv.setIconImage(IconManager.img8); + GraphicLib.centerOnParent(jdfv, 550, 600); + jdfv.setVisible(true); + dtree.toBeUpdated(); + } + } + + public void projection() { + TClassDiagramPanel tcdp = null; + if (getCurrentTURTLEPanel() instanceof DesignPanel) { + tcdp = ((DesignPanel)(getCurrentTURTLEPanel())).tcdp; + } + JDialogProjection jdfv = new JDialogProjection(frame, + this, + tcdp, + gtm.getTURTLEModeling(), + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathAldebaran(), + gtm.getPathBcgmin(), + GTURTLEModeling.getPathBcgio(), + gtm.getLastRGAUT(), + REMOTE_ALDEBARAN_AUT_FILE, + "Minimization using Aldebaran"); + // jdfv.setSize(900, 700); + GraphicLib.centerOnParent(jdfv, 900, 700); + jdfv.setVisible(true); + } + + public void modifyGraph() { + JDialogGraphModification jdgm; + if (gtm == null ){ + jdgm = new JDialogGraphModification(frame, + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathBcgio(), + "graph", + "Minimization using Aldebaran", + null, null); + } else { + jdgm = new JDialogGraphModification(frame, + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathBcgio(), + "graph", + "Minimization using Aldebaran", + gtm.getLastRGAUT(), + gtm.getLastTextualRGAUTProj()); + } + //jdgm.setSize(600, 500); + GraphicLib.centerOnParent(jdgm, 600, 500); + jdgm.setVisible(true); + modifiedaut = jdgm.getGraphAUT(); + modifiedautdot = jdgm.getGraphDOT(); + if (modifiedautdot != null) { + actions[TGUIAction.ACT_VIEW_MODIFIEDAUTDOT].setEnabled(true); + actions[TGUIAction.ACT_SAVE_AUTMODIFIED].setEnabled(true); + } + //gtm.modifyMinimizedGraph(); + } + + public void bisimulation() { + JDialogBisimulation jdb = new JDialogBisimulation(frame, + GTURTLEModeling.getHostAldebaran(), + GTURTLEModeling.getPathAldebaran(), + REMOTE_ALDEBARAN_BISIMU_FILE1, + REMOTE_ALDEBARAN_BISIMU_FILE2, + "Bisimulation using Aldebaran"); + // jdb.setSize(650, 800); + GraphicLib.centerOnParent(jdb, 650, 800); + jdb.setVisible(true); + //TraceManager.addDev("Bisimulation"); + } + + public void bisimulationCADP() { + JDialogBisimulationBisimulator jdb = new JDialogBisimulationBisimulator(frame, + GTURTLEModeling.getCaesarHost(), + GTURTLEModeling.getPathBisimulator(), + GTURTLEModeling.getPathBcgio(), + REMOTE_BISIMULATOR_FILE1, + REMOTE_BISIMULATOR_FILE2, + "Bisimulation using BISIMULATOR"); + // jdb.setSize(650, 800); + GraphicLib.centerOnParent(jdb, 650, 800); + jdb.setVisible(true); + //TraceManager.addDev("Bisimulation"); + } + + public void seekDeadlockAUT() { + String dataAUT = gtm.getLastTextualRGAUT(); + + JFrameDeadlock jfd = new JFrameDeadlock("Potential deadlocks", dataAUT); + jfd.setIconImage(IconManager.img8); + //jfd.setSize(600, 600); + GraphicLib.centerOnParent(jfd, 600, 600); + jfd.setVisible(true); + } + + public void seekDeadlockSavedAUT() { + String graph[] = loadAUTGraph(); + if (graph != null) { + JFrameDeadlock jfd = new JFrameDeadlock("Potential deadlocks on " + graph[0], graph[1]); + jfd.setIconImage(IconManager.img8); + // jfd.setSize(600, 600); + GraphicLib.centerOnParent(jfd, 600, 600); + jfd.setVisible(true); + } + } + + public void showAUTFromString(String title, String data) { + /*JFrameStatistics jfs = new JFrameStatistics(title, data); jfs.setIconImage(IconManager.img8); jfs.setSize(600, 600); GraphicLib.centerOnParent(jfs); jfs.setVisible(true);*/ - ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, data, "Analyzing graph... Please wait", null, null, true); - t.go(); - } + ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, data, "Analyzing graph... Please wait", null, null, true); + t.go(); + } - public void showAUTFromGraph(String title, AUTGraph graph) { - /*JFrameStatistics jfs = new JFrameStatistics(title, data); + public void showAUTFromGraph(String title, AUTGraph graph) { + /*JFrameStatistics jfs = new JFrameStatistics(title, data); jfs.setIconImage(IconManager.img8); jfs.setSize(600, 600); GraphicLib.centerOnParent(jfs); jfs.setVisible(true);*/ - ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, null, "Analyzing graph... Please wait", graph, null, true); - t.go(); - } - - public void showAUT(String title, String data, AUTGraph graph) { - ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, data, "Analyzing graph... Please wait", graph, null, true); - t.go(); - } - - public void showAUTFromRG(String title, RG rg) { - ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, rg.data, "Analyzing graph... Please wait", rg.graph, rg, true); - t.go(); - } - - public void displayAUTFromRG(String title, RG rg) { - ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, rg.data, "Analyzing graph... Please wait", rg.graph, rg, false); - t.go(); - } - - public void showPMAUT(String title, String data) { - TraceManager.addDev("Power management analysis"); - JFramePowerManagementAnalysis jfpma = new JFramePowerManagementAnalysis(title, data); - jfpma.setIconImage(IconManager.img8); - // jfpma.setSize(600, 600); - GraphicLib.centerOnParent(jfpma, 600, 600); - jfpma.setVisible(true); - } - - public void NC() { - TraceManager.addDev("NC"); - JFrameNC jfnc = new JFrameNC("Network calculus", gtm.getNCS()); - jfnc.setIconImage(IconManager.img8); - // jfnc.setSize(600, 600); - GraphicLib.centerOnParent(jfnc, 600, 600); - jfnc.setVisible(true); - TraceManager.addDev("Done"); - - /*JFrameStatistics jfs = new JFrameStatistics(title, data); + ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, null, "Analyzing graph... Please wait", graph, null, true); + t.go(); + } + + public void showAUT(String title, String data, AUTGraph graph) { + ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, data, "Analyzing graph... Please wait", graph, null, true); + t.go(); + } + + public void showAUTFromRG(String title, RG rg) { + ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, rg.data, "Analyzing graph... Please wait", rg.graph, rg, true); + t.go(); + } + + public void displayAUTFromRG(String title, RG rg) { + ThreadGUIElement t = new ThreadGUIElement(frame, 0, title, rg.data, "Analyzing graph... Please wait", rg.graph, rg, false); + t.go(); + } + + public void showPMAUT(String title, String data) { + TraceManager.addDev("Power management analysis"); + JFramePowerManagementAnalysis jfpma = new JFramePowerManagementAnalysis(title, data); + jfpma.setIconImage(IconManager.img8); + // jfpma.setSize(600, 600); + GraphicLib.centerOnParent(jfpma, 600, 600); + jfpma.setVisible(true); + } + + public void NC() { + TraceManager.addDev("NC"); + JFrameNC jfnc = new JFrameNC("Network calculus", gtm.getNCS()); + jfnc.setIconImage(IconManager.img8); + // jfnc.setSize(600, 600); + GraphicLib.centerOnParent(jfnc, 600, 600); + jfnc.setVisible(true); + TraceManager.addDev("Done"); + + /*JFrameStatistics jfs = new JFrameStatistics(title, data); jfs.setIconImage(IconManager.img8); jfs.setSize(600, 600); GraphicLib.centerOnParent(jfs); jfs.setVisible(true);*/ - } - - public void statAUT() { - showAUTFromString("Analysis on the last RG (AUT format)", gtm.getLastTextualRGAUT()); - } - - public RG setLastRGDiplodocus(String graphName) { - TraceManager.addDev("setting last RG diplodocus"); - //lastDiploRG = graphName; - // Loadng the graph - // Adding RG to the tree on the left - try { - String fileName = ConfigurationTTool.TGraphPath + "/" + graphName + ".aut"; - File f = new File(fileName); - String spec = loadFile(f); - RG rg = new RG(graphName); - rg.data = spec; - //rg.nbOfStates = amc.getNbOfStates(); - //rg.nbOfTransitions = amc.getNbOfLinks(); - addRG(rg); - lastDiploRG = rg; - return rg; - } catch (Exception e) { - TraceManager.addDev("RG creation in the left tree failed"); - return null; - } - } - - public void statAUTDiplodocus() { - if (lastDiploRG == null) { - JOptionPane.showMessageDialog(frame, - "The fill could not be loaded:", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - showAUTFromRG(lastDiploRG.name, lastDiploRG); - //String spec = loadFile(new File(ConfigurationTTool.TGraphPath + "/" + lastDiploRG + ".aut")); - - //showAUTFromString("Analysis on the last DIPLODOCUS RG", spec); - } - - public void statAUTProj() { - showAUTFromString("Analysis on the last minimized RG (A>UT format)", gtm.getLastTextualRGAUTProj()); - } - - public void statSavedAUT() { - //TraceManager.addDev("toto"); - String graph[] = loadAUTGraph(); - if (graph != null) { - showAUTFromString("Analysis on " + graph[0], graph[1]); - } - } - - public void pmAUT() { - showPMAUT("Power Management Analysis on the last RG (AUT format)", gtm.getLastTextualRGAUT()); - } - - public void pmAUTProj() { - showPMAUT("Power Management Analysis on the last minimized RG (AUT format)", gtm.getLastTextualRGAUTProj()); - } - - public void pmSavedAUT() { - //TraceManager.addDev("toto"); - String graph[] = loadAUTGraph(); - if (graph != null) { - showPMAUT("Power Management Analysis on " + graph[0], graph[1]); - } - } - - public void showFormalSpecification() { - if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { - showFormalSpecification("RT-LOTOS Specification #" + gtm.getNbRTLOTOS(), gtm.getLastRTLOTOSSpecification()); - } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { - showFormalSpecification("LOTOS Specification #" + gtm.getNbRTLOTOS(), gtm.getLastRTLOTOSSpecification()); - } else if (gtm.getLanguageID() == GTURTLEModeling.PROVERIF) { - showFormalSpecification("Last ProVerif Specification", gtm.getLastProVerifSpecification()); - } - } - - public void showFormalSpecification(String title, String data) { - JFrameText jft = new JFrameText(title, data); - jft.setIconImage(IconManager.img8); - // jft.setSize(600, 600); - GraphicLib.centerOnParent(jft, 600, 600); - jft.setVisible(true); - } - - public void showJavaCode() { - if (javaframe == null) { - javaframe = new JFrameCode("JavaCode", "", ""); - javaframe.setIconImage(IconManager.img8); - // javaframe.setSize(350, 350); - GraphicLib.centerOnParent(javaframe, 350, 350); - javaframe.setVisible(true); - } else { - javaframe.setVisible(true); - } - } - - public void showBirdEyesView() { - if (birdframe == null) { - birdframe = new JFrameBird(this); - birdframe.setIconImage(IconManager.img8); - // birdframe.setSize(150, 100); - GraphicLib.centerOnParent(birdframe, 150, 100); - birdframe.setVisible(true); - } else { - birdframe.setVisible(true); - } - } - - public void showEmbeddedBirdEyesView() { - //TraceManager.addDev("Embedded!"); - if (jbp.getGo()) { - jbp.setGo(false); - } else { - jbp.startProcess(); - } - } - - public void drawBird() { - if (jbp.getGo()) { - jbp.repaint(); - } - - if (birdframe != null) { - birdframe.updatePanel(); - } - } - - public void unsetBirdFrame() { - birdframe = null; - } - - public void setJavaPreCode(TGComponent tgc) { - if (javaframe != null) { - if (tgc == null) { - javaframe.setPreCode(""); - return; - } - if (tgc.hasPreJavaCode()) { - javaframe.setPreCode(tgc.getPreJavaCode()); - } else { - javaframe.setPreCode(""); - } - } - } - - public void setJavaPostCode(TGComponent tgc) { - if (javaframe != null) { - if (tgc == null) { - javaframe.setPostCode(""); - return; - } - if (tgc.hasPostJavaCode()) { - javaframe.setPostCode(tgc.getPostJavaCode()); - } else { - javaframe.setPostCode(""); - } - } - } - - public void showSuggestedDesign() { - JFrameText jft = new JFrameText("Suggested Design #" + gtm.getNbSuggestedDesign(), gtm.getLastTextualDesign()); - jft.setIconImage(IconManager.img8); - // jft.setSize(600, 600); - GraphicLib.centerOnParent(jft, 600, 600); - jft.setVisible(true); - } - - public void showSavedRTLOTOS() { - String spec[] = loadLotosSpec(); - if ((spec != null) && (spec[0] != null) && (spec[1] != null)) { - JFrameText jft = new JFrameText("RT-LOTOS Specification: " + spec[0], spec[1]); - jft.setIconImage(IconManager.img8); - // jft.setSize(600, 600); - GraphicLib.centerOnParent(jft, 600, 600); - jft.setVisible(true); - } - } - - public void showSimulationTrace() { - gtm.showSIM(1); - } - - public void showSimulationTraceChrono() { - gtm.showSIM(2); - } - - public void showDTA() { - String s = gtm.showDTA(); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The DTA could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showWave() { - RemoteExecutionThread ret = new RemoteExecutionThread(ConfigurationTTool.SystemCHost, null, null, ConfigurationTTool.GTKWavePath + " vcddump.vcd"); - ret.start(); - } - - public void showRG() { - String s = gtm.showRG(); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The RG could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showTLSA() { - String s = gtm.showTLSA(); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The TLSA could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showRGAut() { - String s = gtm.showRGAut(); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The RG could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showRGAutProj() { - String s = gtm.showRGAutProj(); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The RG could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showRGDiplodocus() { - if (lastDiploRG == null) { - JOptionPane.showMessageDialog(frame, - "The RG was not yet generated", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return ; - } - TraceManager.addDev("Showing diplo RG"); - displayAUTFromRG(lastDiploRG.name, lastDiploRG); - - } - - public void showModifiedAUTDOT() { - String s = GTURTLEModeling.runDOTTY(modifiedautdot); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The RG could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void showGGraph() { - String graph[] = loadGGraph(); - if (graph != null) { - String s = GTURTLEModeling.showGGraph(graph[1]); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The graph could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - - public void viewAutomata(String file) { - //TraceManager.addDev("viewing: " + file); - String graph[] = loadGGraph(file); - if (graph != null) { - String s = GTURTLEModeling.showGGraph(graph[1]); - if (s != null) { - JOptionPane.showMessageDialog(frame, - "The graph could not be displayed: " + s, - "Error", - JOptionPane.INFORMATION_MESSAGE); - } - } - } - - public void executeUserCommand(String host, String command) { - RemoteExecutionThread ret = new RemoteExecutionThread(host, null, null, command); - ret.start(); - TraceManager.addDev("User command ->" + command + "<- started on host " + host); - } - - - public void screenCapture() { - //Select file - File file = selectFileForCapture(); - Toolkit toolkit = Toolkit.getDefaultToolkit(); - Dimension screenSize = toolkit.getScreenSize(); - Rectangle screenRect = new Rectangle(screenSize); - performScreenCapture(screenRect, file); - } - - public void windowCapture() { - //Select file - File file = selectFileForCapture(); - if (file == null) - return; - - Rectangle screenRect = new Rectangle(frame.getLocation().x, frame.getLocation().y, frame.getWidth(), frame.getHeight()); - performScreenCapture(screenRect, file); - } - - public void diagramCapture() { - if (tabs.size() < 1) { - JOptionPane.showMessageDialog(frame, - "No diagram is under edition", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - File file = selectFileForCapture(); - if (file == null) - return; - - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - if (tdp1 != null) { - BufferedImage image = tdp1.performMinimalCapture(); - writeImageCapture(image, file, true); - } - } - - public void svgDiagramCapture() { - - TraceManager.addDev("SVG capture "); - - if (tabs.size() < 1) { - JOptionPane.showMessageDialog(frame, - "No diagram is under edition", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - File file = selectSVGFileForCapture(); - - if (file == null) - return; - - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - if (tdp1 != null) { - String s = tdp1.svgCapture(); - try { - FileUtils.saveFile(file.getAbsolutePath(), s); - } catch (Exception e) { - JOptionPane.showMessageDialog(frame, - "File could not be saved: " + e.getMessage(), - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - JOptionPane.showMessageDialog(frame, - "The capture was correctly performed and saved in " + file.getAbsolutePath(), - "Save in svg format ok", - JOptionPane.INFORMATION_MESSAGE); - } - } - - public void allDiagramCapture() { - if (tabs.size() < 1) { - JOptionPane.showMessageDialog(frame, - "No diagram is under edition", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - File file = selectFileForCapture(); - if (file == null) - return; - - TURTLEPanel tp = getCurrentTURTLEPanel(); - TDiagramPanel tdp1; - BufferedImage image; - File file1; - String name = file.getAbsolutePath(); - name = name.substring(0, name.length() - 4); - - //boolean actions; - for(int i=0; i<tp.panels.size(); i++) { - tdp1 = (TDiagramPanel)(tp.panels.elementAt(i)); - tdp1.repaint(); - image = tdp1.performMinimalCapture(); - if (i < 10) { - file1 = new File(name + "0" + i); - } else { - file1 = new File(name + i); - } - file1 = FileUtils.addFileExtensionIfMissing(file1, TImgFilter.getExtension()); - if (!writeImageCapture(image, file1, false)) { - JOptionPane.showMessageDialog(frame, - "Diagrams could NOT be captured in png format", - "Capture failed", - JOptionPane.INFORMATION_MESSAGE); - return; - } - if (i ==0) { - if (!writeImageCapture(image, file, false)) { - JOptionPane.showMessageDialog(frame, - "Diagrams could NOT be captured in png format", - "Capture failed", - JOptionPane.INFORMATION_MESSAGE); - return; - } - } - } - - JOptionPane.showMessageDialog(frame, - "All diagrams were sucessfully captured in png format", - "Capture ok", - JOptionPane.INFORMATION_MESSAGE); - } - - public void allDiagramCaptureSvg() { - if (tabs.size() < 1) { - JOptionPane.showMessageDialog(frame, - "No diagram is under edition", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - File file = selectSVGFileForCapture(); - if (file == null) - return; - - TURTLEPanel tp;// = getCurrentTURTLEPanel(); - TDiagramPanel tdp1; - // BufferedImage image; - File file1; - String name = file.getAbsolutePath(); - name = name.substring(0, name.length() - 4); - - //boolean actions; - for(int j=0; j<tabs.size(); j++) { - tp = (TURTLEPanel)(tabs.get(j)); - for(int i=0; i<tp.panels.size(); i++) { - tdp1 = (TDiagramPanel)(tp.panels.elementAt(i)); - tdp1.repaint(); - - tdp1.performMinimalCapture(); - String svgImg = tdp1.svgCapture(); - - if (i < 10) { - file1 = new File(name + j + "_" + "0" + i); - } else { - file1 = new File(name + j + "_" + i); - } - file1 = FileUtils.addFileExtensionIfMissing(file1, TSVGFilter.getExtension()); - try { - FileUtils.saveFile(file1, svgImg); - } catch(Exception e) { - JOptionPane.showMessageDialog(frame, - "Diagrams could NOT be captured in svg format", - "Capture failed", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - } - } - - JOptionPane.showMessageDialog(frame, - "All diagrams were sucessfully captured in svg format", - "Capture ok", - JOptionPane.INFORMATION_MESSAGE); - } - - public void selectedCapture() { - File file = selectFileForCapture(); - if (file == null) - return; - BufferedImage image = getCurrentTDiagramPanel().performSelectedCapture(); - writeImageCapture(image, file, true); - } - - public File selectFileForCapture() { - File file = null; - int returnVal = jfcimg.showSaveDialog(frame); - if(returnVal == JFileChooser.APPROVE_OPTION) { - file = jfcimg.getSelectedFile(); - file = FileUtils.addFileExtensionIfMissing(file, TImgFilter.getExtension()); - - } - if(!checkFileForSave(file)) { - JOptionPane.showMessageDialog(frame, - "The capture could not be performed: invalid file", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return null; - } - return file; - } - - public File selectSVGFileForCapture() { - File file = null; - int returnVal = jfcimgsvg.showSaveDialog(frame); - if(returnVal == JFileChooser.APPROVE_OPTION) { - file = jfcimgsvg.getSelectedFile(); - file = FileUtils.addFileExtensionIfMissing(file, TSVGFilter.getExtension()); - - } - if(!checkFileForSave(file)) { - JOptionPane.showMessageDialog(frame, - "The capture could not be performed: invalid file", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return null; - } - return file; - } - - public void performScreenCapture(Rectangle rect, File file) { - frame.paint(frame.getGraphics()); - try { - Robot robot = new Robot(); - BufferedImage image = robot.createScreenCapture(rect); - // save captured image to PNG file - ImageIO.write(image, "png", file); - } catch (Exception e) { - JOptionPane.showMessageDialog(frame, - "The capture could not be performed:" + e.getMessage(), - "Error", - JOptionPane.INFORMATION_MESSAGE); - return; - } - JOptionPane.showMessageDialog(frame, - "The capture was correctly performed", - "Screen capture ok", - JOptionPane.INFORMATION_MESSAGE); - return; - } - - public boolean writeImageCapture(BufferedImage image, File file, boolean info) { - frame.paint(frame.getGraphics()); - try { - // save captured image to PNG file - ImageIO.write(image, "png", file); - } catch (Exception e) { - JOptionPane.showMessageDialog(frame, - "The capture could not be performed:" + e.getMessage(), - "Error", - JOptionPane.INFORMATION_MESSAGE); - return false; - } - if (info) { - JOptionPane.showMessageDialog(frame, - "The capture was correctly performed and saved in " + file.getAbsolutePath(), - "Screen capture ok", - JOptionPane.INFORMATION_MESSAGE); - } - return true; - } - - public void generateDocumentation() { - //TraceManager.addDev("Documentation"); - ThreadGUIElement t = new ThreadGUIElement(frame, 1, tabs, mainTabbedPane, ConfigurationTTool.IMGPath, file.getName(),"Documentation", "Generating documentation ... Please wait"); - t.go(); - /*DocumentationGenerator docgen = new DocumentationGenerator(tabs, mainTabbedPane, ConfigurationTTool.IMGPath, file.getName()); + } + + public void statAUT() { + showAUTFromString("Analysis on the last RG (AUT format)", gtm.getLastTextualRGAUT()); + } + + public RG setLastRGDiplodocus(String graphName) { + TraceManager.addDev("setting last RG diplodocus"); + //lastDiploRG = graphName; + // Loadng the graph + // Adding RG to the tree on the left + try { + String fileName = ConfigurationTTool.TGraphPath + "/" + graphName + ".aut"; + File f = new File(fileName); + String spec = loadFile(f); + RG rg = new RG(graphName); + rg.data = spec; + //rg.nbOfStates = amc.getNbOfStates(); + //rg.nbOfTransitions = amc.getNbOfLinks(); + addRG(rg); + lastDiploRG = rg; + return rg; + } catch (Exception e) { + TraceManager.addDev("RG creation in the left tree failed"); + return null; + } + } + + public void statAUTDiplodocus() { + if (lastDiploRG == null) { + JOptionPane.showMessageDialog(frame, + "The fill could not be loaded:", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + showAUTFromRG(lastDiploRG.name, lastDiploRG); + //String spec = loadFile(new File(ConfigurationTTool.TGraphPath + "/" + lastDiploRG + ".aut")); + + //showAUTFromString("Analysis on the last DIPLODOCUS RG", spec); + } + + public void statAUTProj() { + showAUTFromString("Analysis on the last minimized RG (A>UT format)", gtm.getLastTextualRGAUTProj()); + } + + public void statSavedAUT() { + //TraceManager.addDev("toto"); + String graph[] = loadAUTGraph(); + if (graph != null) { + showAUTFromString("Analysis on " + graph[0], graph[1]); + } + } + + public void pmAUT() { + showPMAUT("Power Management Analysis on the last RG (AUT format)", gtm.getLastTextualRGAUT()); + } + + public void pmAUTProj() { + showPMAUT("Power Management Analysis on the last minimized RG (AUT format)", gtm.getLastTextualRGAUTProj()); + } + + public void pmSavedAUT() { + //TraceManager.addDev("toto"); + String graph[] = loadAUTGraph(); + if (graph != null) { + showPMAUT("Power Management Analysis on " + graph[0], graph[1]); + } + } + + public void showFormalSpecification() { + if (gtm.getLanguageID() == GTURTLEModeling.RT_LOTOS) { + showFormalSpecification("RT-LOTOS Specification #" + gtm.getNbRTLOTOS(), gtm.getLastRTLOTOSSpecification()); + } else if (gtm.getLanguageID() == GTURTLEModeling.LOTOS) { + showFormalSpecification("LOTOS Specification #" + gtm.getNbRTLOTOS(), gtm.getLastRTLOTOSSpecification()); + } else if (gtm.getLanguageID() == GTURTLEModeling.PROVERIF) { + showFormalSpecification("Last ProVerif Specification", gtm.getLastProVerifSpecification()); + } + } + + public void showFormalSpecification(String title, String data) { + JFrameText jft = new JFrameText(title, data); + jft.setIconImage(IconManager.img8); + // jft.setSize(600, 600); + GraphicLib.centerOnParent(jft, 600, 600); + jft.setVisible(true); + } + + public void showJavaCode() { + if (javaframe == null) { + javaframe = new JFrameCode("JavaCode", "", ""); + javaframe.setIconImage(IconManager.img8); + // javaframe.setSize(350, 350); + GraphicLib.centerOnParent(javaframe, 350, 350); + javaframe.setVisible(true); + } else { + javaframe.setVisible(true); + } + } + + public void showBirdEyesView() { + if (birdframe == null) { + birdframe = new JFrameBird(this); + birdframe.setIconImage(IconManager.img8); + // birdframe.setSize(150, 100); + GraphicLib.centerOnParent(birdframe, 150, 100); + birdframe.setVisible(true); + } else { + birdframe.setVisible(true); + } + } + + public void showEmbeddedBirdEyesView() { + //TraceManager.addDev("Embedded!"); + if (jbp.getGo()) { + jbp.setGo(false); + } else { + jbp.startProcess(); + } + } + + public void drawBird() { + if (jbp.getGo()) { + jbp.repaint(); + } + + if (birdframe != null) { + birdframe.updatePanel(); + } + } + + public void unsetBirdFrame() { + birdframe = null; + } + + public void setJavaPreCode(TGComponent tgc) { + if (javaframe != null) { + if (tgc == null) { + javaframe.setPreCode(""); + return; + } + if (tgc.hasPreJavaCode()) { + javaframe.setPreCode(tgc.getPreJavaCode()); + } else { + javaframe.setPreCode(""); + } + } + } + + public void setJavaPostCode(TGComponent tgc) { + if (javaframe != null) { + if (tgc == null) { + javaframe.setPostCode(""); + return; + } + if (tgc.hasPostJavaCode()) { + javaframe.setPostCode(tgc.getPostJavaCode()); + } else { + javaframe.setPostCode(""); + } + } + } + + public void showSuggestedDesign() { + JFrameText jft = new JFrameText("Suggested Design #" + gtm.getNbSuggestedDesign(), gtm.getLastTextualDesign()); + jft.setIconImage(IconManager.img8); + // jft.setSize(600, 600); + GraphicLib.centerOnParent(jft, 600, 600); + jft.setVisible(true); + } + + public void showSavedRTLOTOS() { + String spec[] = loadLotosSpec(); + if ((spec != null) && (spec[0] != null) && (spec[1] != null)) { + JFrameText jft = new JFrameText("RT-LOTOS Specification: " + spec[0], spec[1]); + jft.setIconImage(IconManager.img8); + // jft.setSize(600, 600); + GraphicLib.centerOnParent(jft, 600, 600); + jft.setVisible(true); + } + } + + public void showSimulationTrace() { + gtm.showSIM(1); + } + + public void showSimulationTraceChrono() { + gtm.showSIM(2); + } + + public void showDTA() { + String s = gtm.showDTA(); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The DTA could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showWave() { + RemoteExecutionThread ret = new RemoteExecutionThread(ConfigurationTTool.SystemCHost, null, null, ConfigurationTTool.GTKWavePath + " vcddump.vcd"); + ret.start(); + } + + public void showRG() { + String s = gtm.showRG(); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The RG could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showTLSA() { + String s = gtm.showTLSA(); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The TLSA could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showRGAut() { + String s = gtm.showRGAut(); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The RG could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showRGAutProj() { + String s = gtm.showRGAutProj(); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The RG could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showRGDiplodocus() { + if (lastDiploRG == null) { + JOptionPane.showMessageDialog(frame, + "The RG was not yet generated", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return ; + } + TraceManager.addDev("Showing diplo RG"); + displayAUTFromRG(lastDiploRG.name, lastDiploRG); + + } + + public void showModifiedAUTDOT() { + String s = GTURTLEModeling.runDOTTY(modifiedautdot); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The RG could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void showGGraph() { + String graph[] = loadGGraph(); + if (graph != null) { + String s = GTURTLEModeling.showGGraph(graph[1]); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The graph could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + + public void viewAutomata(String file) { + //TraceManager.addDev("viewing: " + file); + String graph[] = loadGGraph(file); + if (graph != null) { + String s = GTURTLEModeling.showGGraph(graph[1]); + if (s != null) { + JOptionPane.showMessageDialog(frame, + "The graph could not be displayed: " + s, + "Error", + JOptionPane.INFORMATION_MESSAGE); + } + } + } + + public void executeUserCommand(String host, String command) { + RemoteExecutionThread ret = new RemoteExecutionThread(host, null, null, command); + ret.start(); + TraceManager.addDev("User command ->" + command + "<- started on host " + host); + } + + + public void screenCapture() { + //Select file + File file = selectFileForCapture(); + Toolkit toolkit = Toolkit.getDefaultToolkit(); + Dimension screenSize = toolkit.getScreenSize(); + Rectangle screenRect = new Rectangle(screenSize); + performScreenCapture(screenRect, file); + } + + public void windowCapture() { + //Select file + File file = selectFileForCapture(); + if (file == null) + return; + + Rectangle screenRect = new Rectangle(frame.getLocation().x, frame.getLocation().y, frame.getWidth(), frame.getHeight()); + performScreenCapture(screenRect, file); + } + + public void diagramCapture() { + if (tabs.size() < 1) { + JOptionPane.showMessageDialog(frame, + "No diagram is under edition", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + File file = selectFileForCapture(); + if (file == null) + return; + + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + if (tdp1 != null) { + BufferedImage image = tdp1.performMinimalCapture(); + writeImageCapture(image, file, true); + } + } + + public void svgDiagramCapture() { + + TraceManager.addDev("SVG capture "); + + if (tabs.size() < 1) { + JOptionPane.showMessageDialog(frame, + "No diagram is under edition", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + File file = selectSVGFileForCapture(); + + if (file == null) + return; + + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + if (tdp1 != null) { + String s = tdp1.svgCapture(); + try { + FileUtils.saveFile(file.getAbsolutePath(), s); + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, + "File could not be saved: " + e.getMessage(), + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + JOptionPane.showMessageDialog(frame, + "The capture was correctly performed and saved in " + file.getAbsolutePath(), + "Save in svg format ok", + JOptionPane.INFORMATION_MESSAGE); + } + } + + public void allDiagramCapture() { + if (tabs.size() < 1) { + JOptionPane.showMessageDialog(frame, + "No diagram is under edition", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + File file = selectFileForCapture(); + if (file == null) + return; + + TURTLEPanel tp = getCurrentTURTLEPanel(); + TDiagramPanel tdp1; + BufferedImage image; + File file1; + String name = file.getAbsolutePath(); + name = name.substring(0, name.length() - 4); + + //boolean actions; + for(int i=0; i<tp.panels.size(); i++) { + tdp1 = (TDiagramPanel)(tp.panels.elementAt(i)); + tdp1.repaint(); + image = tdp1.performMinimalCapture(); + if (i < 10) { + file1 = new File(name + "0" + i); + } else { + file1 = new File(name + i); + } + file1 = FileUtils.addFileExtensionIfMissing(file1, TImgFilter.getExtension()); + if (!writeImageCapture(image, file1, false)) { + JOptionPane.showMessageDialog(frame, + "Diagrams could NOT be captured in png format", + "Capture failed", + JOptionPane.INFORMATION_MESSAGE); + return; + } + if (i ==0) { + if (!writeImageCapture(image, file, false)) { + JOptionPane.showMessageDialog(frame, + "Diagrams could NOT be captured in png format", + "Capture failed", + JOptionPane.INFORMATION_MESSAGE); + return; + } + } + } + + JOptionPane.showMessageDialog(frame, + "All diagrams were sucessfully captured in png format", + "Capture ok", + JOptionPane.INFORMATION_MESSAGE); + } + + public void allDiagramCaptureSvg() { + if (tabs.size() < 1) { + JOptionPane.showMessageDialog(frame, + "No diagram is under edition", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + File file = selectSVGFileForCapture(); + if (file == null) + return; + + TURTLEPanel tp;// = getCurrentTURTLEPanel(); + TDiagramPanel tdp1; + // BufferedImage image; + File file1; + String name = file.getAbsolutePath(); + name = name.substring(0, name.length() - 4); + + //boolean actions; + for(int j=0; j<tabs.size(); j++) { + tp = (TURTLEPanel)(tabs.get(j)); + for(int i=0; i<tp.panels.size(); i++) { + tdp1 = (TDiagramPanel)(tp.panels.elementAt(i)); + tdp1.repaint(); + + tdp1.performMinimalCapture(); + String svgImg = tdp1.svgCapture(); + + if (i < 10) { + file1 = new File(name + j + "_" + "0" + i); + } else { + file1 = new File(name + j + "_" + i); + } + file1 = FileUtils.addFileExtensionIfMissing(file1, TSVGFilter.getExtension()); + try { + FileUtils.saveFile(file1, svgImg); + } catch(Exception e) { + JOptionPane.showMessageDialog(frame, + "Diagrams could NOT be captured in svg format", + "Capture failed", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + } + } + + JOptionPane.showMessageDialog(frame, + "All diagrams were sucessfully captured in svg format", + "Capture ok", + JOptionPane.INFORMATION_MESSAGE); + } + + public void selectedCapture() { + File file = selectFileForCapture(); + if (file == null) + return; + BufferedImage image = getCurrentTDiagramPanel().performSelectedCapture(); + writeImageCapture(image, file, true); + } + + public File selectFileForCapture() { + File file = null; + int returnVal = jfcimg.showSaveDialog(frame); + if(returnVal == JFileChooser.APPROVE_OPTION) { + file = jfcimg.getSelectedFile(); + file = FileUtils.addFileExtensionIfMissing(file, TImgFilter.getExtension()); + + } + if(!checkFileForSave(file)) { + JOptionPane.showMessageDialog(frame, + "The capture could not be performed: invalid file", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return null; + } + return file; + } + + public File selectSVGFileForCapture() { + File file = null; + int returnVal = jfcimgsvg.showSaveDialog(frame); + if(returnVal == JFileChooser.APPROVE_OPTION) { + file = jfcimgsvg.getSelectedFile(); + file = FileUtils.addFileExtensionIfMissing(file, TSVGFilter.getExtension()); + + } + if(!checkFileForSave(file)) { + JOptionPane.showMessageDialog(frame, + "The capture could not be performed: invalid file", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return null; + } + return file; + } + + public void performScreenCapture(Rectangle rect, File file) { + frame.paint(frame.getGraphics()); + try { + Robot robot = new Robot(); + BufferedImage image = robot.createScreenCapture(rect); + // save captured image to PNG file + ImageIO.write(image, "png", file); + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, + "The capture could not be performed:" + e.getMessage(), + "Error", + JOptionPane.INFORMATION_MESSAGE); + return; + } + JOptionPane.showMessageDialog(frame, + "The capture was correctly performed", + "Screen capture ok", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + public boolean writeImageCapture(BufferedImage image, File file, boolean info) { + frame.paint(frame.getGraphics()); + try { + // save captured image to PNG file + ImageIO.write(image, "png", file); + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, + "The capture could not be performed:" + e.getMessage(), + "Error", + JOptionPane.INFORMATION_MESSAGE); + return false; + } + if (info) { + JOptionPane.showMessageDialog(frame, + "The capture was correctly performed and saved in " + file.getAbsolutePath(), + "Screen capture ok", + JOptionPane.INFORMATION_MESSAGE); + } + return true; + } + + public void generateDocumentation() { + //TraceManager.addDev("Documentation"); + ThreadGUIElement t = new ThreadGUIElement(frame, 1, tabs, mainTabbedPane, ConfigurationTTool.IMGPath, file.getName(),"Documentation", "Generating documentation ... Please wait"); + t.go(); + /*DocumentationGenerator docgen = new DocumentationGenerator(tabs, mainTabbedPane, ConfigurationTTool.IMGPath, file.getName()); docgen.setFirstHeadingNumber(2); if (docgen.generateDocumentation()) { JOptionPane.showMessageDialog(frame, @@ -5217,1029 +5235,1029 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe "Error", JOptionPane.INFORMATION_MESSAGE); }*/ - //TraceManager.addDev("Documentation=" + docgen.getDocumentation()); - } - - public void generateDocumentationReq() { - TraceManager.addDev("Frame Req"); - JDialogRequirementTable jdrt = new JDialogRequirementTable(frame, "Selecting table columns"); - GraphicLib.centerOnParent(jdrt); - jdrt.setVisible(true); - if (!jdrt.hasBeenCancelled()) { - Point [] pts = jdrt.getColumnsInfo(); - if (pts != null) { - for(int i=0; i<pts.length; i++) { - TraceManager.addDev("" + i + ": (" + pts[i].x + ", " + pts[i].y + ")"); - } - - JFrameRequirementTable jfrt = new JFrameRequirementTable("Requirement table", tabs, mainTabbedPane, pts); - jfrt.setIconImage(IconManager.img8); - //jfrt.setSize(1024, 768); - GraphicLib.centerOnParent(jfrt, 1024, 768); - jfrt.setVisible(true); - } else { - TraceManager.addDev("No column to print"); - } - } - TraceManager.addDev("Done"); - } - - public int getTypeButtonSelected() { - return typeButtonSelected; - } - - public void actionOnButton(int type, int id) { - typeButtonSelected = type; - idButtonSelected = id; - //TDiagramPanel tdp1 = ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tdp; - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - //TraceManager.addDev("Selected TDiagramPanel=" + tdp1.getName()); - tdp1.repaint(); - } - - public int getIdButtonSelected() { - return idButtonSelected; - } - - public void addTClass(TURTLEPanel tp, String s) { - if (!(tp instanceof DesignPanel)) { - return; - } - - ((DesignPanel)tp).addTActivityDiagram(s); - setPanelMode(); - } - - public void addTOSClass(TURTLEPanel tp, String s) { - if (!(tp instanceof TURTLEOSDesignPanel)) { - return; - } - - ((TURTLEOSDesignPanel)tp).addTURTLEOSActivityDiagram(s); - setPanelMode(); - } - - public void addTMLTask(TURTLEPanel tp, String s) { - //TraceManager.addDev("ADD TML Task=" + s); - if (!(tp instanceof TMLDesignPanel)) { - return; - } - - ((TMLDesignPanel)tp).addTMLActivityDiagram(s); - setPanelMode(); - } - - public void addTMLCPrimitiveComponent(TURTLEPanel tp, String s) { - //TraceManager.addDev("ADD C Primitive Component=" + s); - if (!(tp instanceof TMLComponentDesignPanel)) { - return; - } - - ((TMLComponentDesignPanel)tp).addTMLActivityDiagram(s); - setPanelMode(); - } - - public TMLActivityDiagramPanel getReferencedTMLActivityDiagramPanel(TDiagramPanel _tdp, String name) { - TURTLEPanel tp; - TMLActivityDiagramPanel tmladp; - //TraceManager.addDev("global search for: " + name); - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - if (tp.hasTDiagramPanel(_tdp)) { - tmladp = ((TMLComponentDesignPanel)tp).getTMLActivityDiagramPanel(name); - if (tmladp != null) { - //TraceManager.addDev("Found"); - return tmladp; - } - } - } - } - - TraceManager.addDev("Not found"); - return null; - } - - public TURTLEPanel getTURTLEPanelOfTDiagramPanel(TDiagramPanel _tdp) { - TURTLEPanel tp; - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - if (tp.hasTDiagramPanel(_tdp)) { - return tp; - - } - } - } - return null; - } - - public ArrayList<EBRDDPanel> getAllEBRDDPanels() { - TURTLEPanel tp; - ArrayList<EBRDDPanel> al = new ArrayList<EBRDDPanel>(); - //TraceManager.addDev("global search for: " + name); - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof RequirementPanel) { - ((RequirementPanel)tp).addAllEBRDDPanels(al); - } - } - - return al; - } - - public ArrayList<AvatarPDPanel> getAllAvatarPDPanels() { - TURTLEPanel tp; - ArrayList<AvatarPDPanel> al = new ArrayList<AvatarPDPanel>(); - //TraceManager.addDev("global search for: " + name); - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof AvatarRequirementPanel) { - ((AvatarRequirementPanel)tp).addAllAvatarPDPanels(al); - } - } - - return al; - } - - public List<TGComponent> getAllTMLComponents() { - TURTLEPanel tp; - List<TGComponent> ll = new LinkedList<TGComponent>(); - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - - if (tp instanceof TMLComponentDesignPanel) { - ll.addAll(((TMLComponentDesignPanel)tp).tmlctdp.getComponentList()); - } - } - - return ll; - } - - public void removeTClass(TURTLEPanel tp, String s) { - if (!(tp instanceof DesignPanel)) { - return; - } - - for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - tp.tabbedPane.removeTabAt(i); - tp.panels.removeElementAt(i); - setPanelMode(); - return; - } - } - } - - public void removeTOSClass(TURTLEPanel tp, String s) { - if (!(tp instanceof TURTLEOSDesignPanel)) { - return; - } - - TraceManager.addDev("Removing tab ..."); - for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - tp.tabbedPane.removeTabAt(i); - tp.panels.removeElementAt(i); - setPanelMode(); - return; - } - } - } - - public void removeTMLTask(TURTLEPanel tp, String s) { - if (!(tp instanceof TMLDesignPanel)) { - return; - } - - for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - tp.tabbedPane.removeTabAt(i); - tp.panels.removeElementAt(i); - setPanelMode(); - return; - } - } - } - - public void removeAvatarBlock (TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarDesignPanel)) - return; - - for (int i=0; i<tp.tabbedPane.getTabCount(); i++) - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - tp.tabbedPane.removeTabAt(i); - tp.panels.removeElementAt(i); - this.setPanelMode(); - return; - } - } - - public void removeTMLCPrimitiveComponent(TURTLEPanel tp, String s) { - //TraceManager.addDev("Removing panel 0:" + s); - if (!(tp instanceof TMLComponentDesignPanel)) { - return; - } - - //TraceManager.addDev("Removing panel 1:" + s); - for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - tp.tabbedPane.removeTabAt(i); - tp.panels.removeElementAt(i); - setPanelMode(); - return; - } - } - } - - // for diagrams - public void setEditMode() { - typeButtonSelected = TGComponentManager.EDIT; - idButtonSelected = -1; - } - - public String getTabName(TURTLEPanel p) { - int index = tabs.indexOf(p); - if (index<0) { - return ""; - } - return mainTabbedPane.getTitleAt(index); - } - - public int getMajorIndexOf(TDiagramPanel tdp) { - TURTLEPanel tp; - - for(int i=0; i<tabs.size();i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp.panels.contains(tdp)) { - return i; - } - } - - return -1; - } - - public String getMajorTitle(TDiagramPanel tdp) { - int index = getMajorIndexOf(tdp); - - if (index == -1) { - return "unknown"; - } - - return mainTabbedPane.getTitleAt(index); - } - - public ArrayList<TMLComponentTaskDiagramPanel> getAllPanelsReferencingTMLCCompositeComponent(TMLCCompositeComponent tmlcc) { - TURTLEPanel tp; - ArrayList<TMLComponentTaskDiagramPanel> foundPanels = new ArrayList<TMLComponentTaskDiagramPanel>(); - - for(int i=0; i<tabs.size();i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - ((TMLComponentDesignPanel)tp).tmlctdp.getPanelsUsingAComponent(tmlcc, foundPanels); - } - } - - return foundPanels; - } - - public void updateReferenceToTMLCCompositeComponent(TMLCCompositeComponent tmlcc) { - TURTLEPanel tp; - - for(int i=0; i<tabs.size();i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLComponentDesignPanel) { - ((TMLComponentDesignPanel)tp).tmlctdp.updateReferenceToTMLCCompositeComponent(tmlcc); - } - } - } - - public TMLCCompositeComponent getCompositeComponent(String name) { - int index = name.indexOf("::"); - if (index == -1) { - return null; - } - - String panelName = name.substring(0, index); - String componentName = name.substring(index+2, name.length()); - - TURTLEPanel tp = getTURTLEPanel(panelName); - - if ((tp == null) || (!(tp instanceof TMLComponentDesignPanel))) { - return null; - } - - - return ((TMLComponentDesignPanel)(tp)).tmlctdp.getCompositeComponentByName(componentName); - } - - public AvatarSMDPanel getAvatarSMDPanel(int indexDesign, String name) { - - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - if (tp == null) { - TraceManager.addDev("null TP"); - return null; - } - if (tp instanceof AvatarDesignPanel) { - return ((AvatarDesignPanel)tp).getAvatarSMDPanel(name); - } - TraceManager.addDev("null ADP :" + name); - return null; - } - - public TActivityDiagramPanel getActivityDiagramPanel(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - if (tp == null) { - return null; - } - if (tp instanceof DesignPanel) { - return ((DesignPanel)tp).getActivityDiagramPanel(name); - } - return null; - } - - public TURTLEOSActivityDiagramPanel getTURTLEOSActivityDiagramPanel(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - if (tp == null) { - return null; - } - if (tp instanceof TURTLEOSDesignPanel) { - return ((TURTLEOSDesignPanel)tp).getTURTLEOSActivityDiagramPanel(name); - } - return null; - } - - public TMLActivityDiagramPanel getTMLActivityDiagramPanel(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - if (tp == null) { - return null; - } - if (tp instanceof TMLDesignPanel) { - return ((TMLDesignPanel)tp).getTMLActivityDiagramPanel(name); - } - if (tp instanceof TMLComponentDesignPanel) { - return ((TMLComponentDesignPanel)tp).getTMLActivityDiagramPanel(name); - } - return null; - } - - public ProactiveSMDPanel getSMDPanel(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - if (tp == null) { - return null; - } - if (tp instanceof ProactiveDesignPanel) { - return ((ProactiveDesignPanel)tp).getSMDPanel(name); - } - return null; - } - - public int getNbActivityDiagram() { - TDiagramPanel tdp; - int cpt = 0; - - for(int i = 0; i<getCurrentJTabbedPane().getTabCount(); i++) { - tdp = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(i)); - if (tdp instanceof TActivityDiagramPanel) { - cpt ++; - } - } - return cpt; - } - - public void setAvatarBDName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setClassDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setDiplodocusMethodologyDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setAvatarMethodologyDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setSysmlsecMethodologyDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setTMLTaskDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setTMLComponentTaskDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setTMLArchitectureDiagramName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setAADName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public void setProacticeCSDName(int indexDesign, String name) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); - tp.tabbedPane.setTitleAt(0, name); - } - - public TDiagramPanel getMainTDiagramPanel(int indexPanel) { - if (tabs.size() > indexPanel) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexPanel)); - return tp.tdp; - } else { - return null; - } - - } - - // TMLCP - public boolean isTMLCPSDCreated(int index, String s) { - return isTMLCPSDCreated(((TURTLEPanel)(tabs.elementAt(index))), s); - } - - public boolean isTMLCPSDCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof TMLSDPanel); - } - - public boolean isTMLCPCreated(int index, String s) { - return isTMLCPCreated(((TURTLEPanel) (tabs.elementAt(index))), s); - } - - public boolean isTMLCPCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof TMLCPPanel); - } - - - - - // IOD, SD - - public boolean isSDCreated(int index, String s) { - return isSDCreated(((TURTLEPanel) (tabs.elementAt(index))), s); - } - - public boolean isIODCreated(int index, String s) { - return isIODCreated(((TURTLEPanel) (tabs.elementAt(index))), s); - } - - public boolean isProActiveSMDCreated(int index, String s) { - return isProActiveSMDCreated(((TURTLEPanel) (tabs.elementAt(index))), s); - } - - public boolean isSDCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof ui.sd.SequenceDiagramPanel); - } - - public boolean isSDZVCreated(int index, String s) { - return isSDZVCreated(((TURTLEPanel) (tabs.elementAt(index))), s); - } - - public boolean isSDZVCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof ui.sd2.SequenceDiagramPanel); - } - - public boolean isUseCaseDiagramCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof UseCaseDiagramPanel); - } - - public boolean isAvatarCDCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof AvatarCDPanel); - } - - public boolean isAvatarADCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof AvatarADPanel); - } - - public boolean isIODCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof InteractionOverviewDiagramPanel); - } - - public boolean isProActiveSMDCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof ProactiveSMDPanel); - } - - public boolean openSequenceDiagram(String s) { - int index = getCurrentJTabbedPane().indexOfTab(s); - if (index > -1) { - getCurrentJTabbedPane().setSelectedIndex(index); - return true; - } - return false; - } - - public boolean openSequenceDiagramZV(String s) { - int index = getCurrentJTabbedPane().indexOfTab(s); - if (index > -1) { - getCurrentJTabbedPane().setSelectedIndex(index); - return true; - } - return false; - } - - public boolean openIODiagram(String s) { - int index = getCurrentJTabbedPane().indexOfTab(s); - if (index > -1) { - getCurrentJTabbedPane().setSelectedIndex(index); - return true; - } - return false; - } - - // TMLCP - public boolean openTMLCPSequenceDiagram(String s) { - int index = getCurrentJTabbedPane().indexOfTab(s); - if (index > -1) { - getCurrentJTabbedPane().setSelectedIndex(index); - return true; - } - return false; - } - - public boolean openTMLCPDiagram(String s) { - int index = getCurrentJTabbedPane().indexOfTab(s); - if (index > -1) { - getCurrentJTabbedPane().setSelectedIndex(index); - return true; - } - return false; - } - - - public boolean createTMLCPSequenceDiagram(int index, String s) { - return createTMLCPSequenceDiagram((TURTLEPanel) (tabs.elementAt(index)), s); - } - - public boolean createTMLCPSequenceDiagram(TURTLEPanel tp, String s) { - if(isSDCreated(tp, s)) { - return false; - } - - if (!(tp instanceof TMLCommunicationPatternPanel) ) { - return false; - } - - - ((TMLCommunicationPatternPanel)tp).addCPSequenceDiagram(s); - - setPanelMode(); - return true; - } - - public boolean createUniqueTMLCPSequenceDiagram(TURTLEPanel tp, String s) { - int i; - for(i=0; i<1000; i++) { - if(!isTMLCPSDCreated(tp, s+i)) { - break; - } - } - - ((TMLCommunicationPatternPanel)tp).addCPSequenceDiagram(s+i); - - setPanelMode(); - return true; - } - - public boolean createTMLCPDiagram(int index, String s) { - return createTMLCPDiagram((TURTLEPanel) (tabs.elementAt(index)), s); - } - - public boolean createTMLCPDiagram(TURTLEPanel tp, String s) { - if(isTMLCPCreated(tp, s)) { - return false; - } - - if (!(tp instanceof TMLCommunicationPatternPanel)) { - return false; - } - - ((TMLCommunicationPatternPanel)tp).addCPDiagram(s); - setPanelMode(); - return true; - } - - // End of TMLCP - - - public ui.sd.SequenceDiagramPanel getSequenceDiagramPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getSequenceDiagramPanel(tp, s); - } - - - public ui.sd2.SequenceDiagramPanel getSequenceDiagramPanelZV(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getSequenceDiagramPanelZV(tp, s); - } - - - public AttackTreeDiagramPanel getAttackTreeDiagramPanel(int index, int indexTab, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAttackTreeDiagramPanel(tp, indexTab, s); - } - - public AttackTreeDiagramPanel getAttackTreeDiagramPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AttackTreeDiagramPanel)(tp.panelAt(indexTab)); - } - return null; - /*for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + //TraceManager.addDev("Documentation=" + docgen.getDocumentation()); + } + + public void generateDocumentationReq() { + TraceManager.addDev("Frame Req"); + JDialogRequirementTable jdrt = new JDialogRequirementTable(frame, "Selecting table columns"); + GraphicLib.centerOnParent(jdrt); + jdrt.setVisible(true); + if (!jdrt.hasBeenCancelled()) { + Point [] pts = jdrt.getColumnsInfo(); + if (pts != null) { + for(int i=0; i<pts.length; i++) { + TraceManager.addDev("" + i + ": (" + pts[i].x + ", " + pts[i].y + ")"); + } + + JFrameRequirementTable jfrt = new JFrameRequirementTable("Requirement table", tabs, mainTabbedPane, pts); + jfrt.setIconImage(IconManager.img8); + //jfrt.setSize(1024, 768); + GraphicLib.centerOnParent(jfrt, 1024, 768); + jfrt.setVisible(true); + } else { + TraceManager.addDev("No column to print"); + } + } + TraceManager.addDev("Done"); + } + + public int getTypeButtonSelected() { + return typeButtonSelected; + } + + public void actionOnButton(int type, int id) { + typeButtonSelected = type; + idButtonSelected = id; + //TDiagramPanel tdp1 = ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tdp; + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + //TraceManager.addDev("Selected TDiagramPanel=" + tdp1.getName()); + tdp1.repaint(); + } + + public int getIdButtonSelected() { + return idButtonSelected; + } + + public void addTClass(TURTLEPanel tp, String s) { + if (!(tp instanceof DesignPanel)) { + return; + } + + ((DesignPanel)tp).addTActivityDiagram(s); + setPanelMode(); + } + + public void addTOSClass(TURTLEPanel tp, String s) { + if (!(tp instanceof TURTLEOSDesignPanel)) { + return; + } + + ((TURTLEOSDesignPanel)tp).addTURTLEOSActivityDiagram(s); + setPanelMode(); + } + + public void addTMLTask(TURTLEPanel tp, String s) { + //TraceManager.addDev("ADD TML Task=" + s); + if (!(tp instanceof TMLDesignPanel)) { + return; + } + + ((TMLDesignPanel)tp).addTMLActivityDiagram(s); + setPanelMode(); + } + + public void addTMLCPrimitiveComponent(TURTLEPanel tp, String s) { + //TraceManager.addDev("ADD C Primitive Component=" + s); + if (!(tp instanceof TMLComponentDesignPanel)) { + return; + } + + ((TMLComponentDesignPanel)tp).addTMLActivityDiagram(s); + setPanelMode(); + } + + public TMLActivityDiagramPanel getReferencedTMLActivityDiagramPanel(TDiagramPanel _tdp, String name) { + TURTLEPanel tp; + TMLActivityDiagramPanel tmladp; + //TraceManager.addDev("global search for: " + name); + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + if (tp.hasTDiagramPanel(_tdp)) { + tmladp = ((TMLComponentDesignPanel)tp).getTMLActivityDiagramPanel(name); + if (tmladp != null) { + //TraceManager.addDev("Found"); + return tmladp; + } + } + } + } + + TraceManager.addDev("Not found"); + return null; + } + + public TURTLEPanel getTURTLEPanelOfTDiagramPanel(TDiagramPanel _tdp) { + TURTLEPanel tp; + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + if (tp.hasTDiagramPanel(_tdp)) { + return tp; + + } + } + } + return null; + } + + public ArrayList<EBRDDPanel> getAllEBRDDPanels() { + TURTLEPanel tp; + ArrayList<EBRDDPanel> al = new ArrayList<EBRDDPanel>(); + //TraceManager.addDev("global search for: " + name); + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof RequirementPanel) { + ((RequirementPanel)tp).addAllEBRDDPanels(al); + } + } + + return al; + } + + public ArrayList<AvatarPDPanel> getAllAvatarPDPanels() { + TURTLEPanel tp; + ArrayList<AvatarPDPanel> al = new ArrayList<AvatarPDPanel>(); + //TraceManager.addDev("global search for: " + name); + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof AvatarRequirementPanel) { + ((AvatarRequirementPanel)tp).addAllAvatarPDPanels(al); + } + } + + return al; + } + + public List<TGComponent> getAllTMLComponents() { + TURTLEPanel tp; + List<TGComponent> ll = new LinkedList<TGComponent>(); + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + + if (tp instanceof TMLComponentDesignPanel) { + ll.addAll(((TMLComponentDesignPanel)tp).tmlctdp.getComponentList()); + } + } + + return ll; + } + + public void removeTClass(TURTLEPanel tp, String s) { + if (!(tp instanceof DesignPanel)) { + return; + } + + for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + tp.tabbedPane.removeTabAt(i); + tp.panels.removeElementAt(i); + setPanelMode(); + return; + } + } + } + + public void removeTOSClass(TURTLEPanel tp, String s) { + if (!(tp instanceof TURTLEOSDesignPanel)) { + return; + } + + TraceManager.addDev("Removing tab ..."); + for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + tp.tabbedPane.removeTabAt(i); + tp.panels.removeElementAt(i); + setPanelMode(); + return; + } + } + } + + public void removeTMLTask(TURTLEPanel tp, String s) { + if (!(tp instanceof TMLDesignPanel)) { + return; + } + + for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + tp.tabbedPane.removeTabAt(i); + tp.panels.removeElementAt(i); + setPanelMode(); + return; + } + } + } + + public void removeAvatarBlock (TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarDesignPanel)) + return; + + for (int i=0; i<tp.tabbedPane.getTabCount(); i++) + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + tp.tabbedPane.removeTabAt(i); + tp.panels.removeElementAt(i); + this.setPanelMode(); + return; + } + } + + public void removeTMLCPrimitiveComponent(TURTLEPanel tp, String s) { + //TraceManager.addDev("Removing panel 0:" + s); + if (!(tp instanceof TMLComponentDesignPanel)) { + return; + } + + //TraceManager.addDev("Removing panel 1:" + s); + for(int i = 0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + tp.tabbedPane.removeTabAt(i); + tp.panels.removeElementAt(i); + setPanelMode(); + return; + } + } + } + + // for diagrams + public void setEditMode() { + typeButtonSelected = TGComponentManager.EDIT; + idButtonSelected = -1; + } + + public String getTabName(TURTLEPanel p) { + int index = tabs.indexOf(p); + if (index<0) { + return ""; + } + return mainTabbedPane.getTitleAt(index); + } + + public int getMajorIndexOf(TDiagramPanel tdp) { + TURTLEPanel tp; + + for(int i=0; i<tabs.size();i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp.panels.contains(tdp)) { + return i; + } + } + + return -1; + } + + public String getMajorTitle(TDiagramPanel tdp) { + int index = getMajorIndexOf(tdp); + + if (index == -1) { + return "unknown"; + } + + return mainTabbedPane.getTitleAt(index); + } + + public ArrayList<TMLComponentTaskDiagramPanel> getAllPanelsReferencingTMLCCompositeComponent(TMLCCompositeComponent tmlcc) { + TURTLEPanel tp; + ArrayList<TMLComponentTaskDiagramPanel> foundPanels = new ArrayList<TMLComponentTaskDiagramPanel>(); + + for(int i=0; i<tabs.size();i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + ((TMLComponentDesignPanel)tp).tmlctdp.getPanelsUsingAComponent(tmlcc, foundPanels); + } + } + + return foundPanels; + } + + public void updateReferenceToTMLCCompositeComponent(TMLCCompositeComponent tmlcc) { + TURTLEPanel tp; + + for(int i=0; i<tabs.size();i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLComponentDesignPanel) { + ((TMLComponentDesignPanel)tp).tmlctdp.updateReferenceToTMLCCompositeComponent(tmlcc); + } + } + } + + public TMLCCompositeComponent getCompositeComponent(String name) { + int index = name.indexOf("::"); + if (index == -1) { + return null; + } + + String panelName = name.substring(0, index); + String componentName = name.substring(index+2, name.length()); + + TURTLEPanel tp = getTURTLEPanel(panelName); + + if ((tp == null) || (!(tp instanceof TMLComponentDesignPanel))) { + return null; + } + + + return ((TMLComponentDesignPanel)(tp)).tmlctdp.getCompositeComponentByName(componentName); + } + + public AvatarSMDPanel getAvatarSMDPanel(int indexDesign, String name) { + + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + if (tp == null) { + TraceManager.addDev("null TP"); + return null; + } + if (tp instanceof AvatarDesignPanel) { + return ((AvatarDesignPanel)tp).getAvatarSMDPanel(name); + } + TraceManager.addDev("null ADP :" + name); + return null; + } + + public TActivityDiagramPanel getActivityDiagramPanel(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + if (tp == null) { + return null; + } + if (tp instanceof DesignPanel) { + return ((DesignPanel)tp).getActivityDiagramPanel(name); + } + return null; + } + + public TURTLEOSActivityDiagramPanel getTURTLEOSActivityDiagramPanel(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + if (tp == null) { + return null; + } + if (tp instanceof TURTLEOSDesignPanel) { + return ((TURTLEOSDesignPanel)tp).getTURTLEOSActivityDiagramPanel(name); + } + return null; + } + + public TMLActivityDiagramPanel getTMLActivityDiagramPanel(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + if (tp == null) { + return null; + } + if (tp instanceof TMLDesignPanel) { + return ((TMLDesignPanel)tp).getTMLActivityDiagramPanel(name); + } + if (tp instanceof TMLComponentDesignPanel) { + return ((TMLComponentDesignPanel)tp).getTMLActivityDiagramPanel(name); + } + return null; + } + + public ProactiveSMDPanel getSMDPanel(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + if (tp == null) { + return null; + } + if (tp instanceof ProactiveDesignPanel) { + return ((ProactiveDesignPanel)tp).getSMDPanel(name); + } + return null; + } + + public int getNbActivityDiagram() { + TDiagramPanel tdp; + int cpt = 0; + + for(int i = 0; i<getCurrentJTabbedPane().getTabCount(); i++) { + tdp = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(i)); + if (tdp instanceof TActivityDiagramPanel) { + cpt ++; + } + } + return cpt; + } + + public void setAvatarBDName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setClassDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setDiplodocusMethodologyDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setAvatarMethodologyDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setSysmlsecMethodologyDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setTMLTaskDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setTMLComponentTaskDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setTMLArchitectureDiagramName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setAADName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public void setProacticeCSDName(int indexDesign, String name) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexDesign)); + tp.tabbedPane.setTitleAt(0, name); + } + + public TDiagramPanel getMainTDiagramPanel(int indexPanel) { + if (tabs.size() > indexPanel) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(indexPanel)); + return tp.tdp; + } else { + return null; + } + + } + + // TMLCP + public boolean isTMLCPSDCreated(int index, String s) { + return isTMLCPSDCreated(((TURTLEPanel)(tabs.elementAt(index))), s); + } + + public boolean isTMLCPSDCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof TMLSDPanel); + } + + public boolean isTMLCPCreated(int index, String s) { + return isTMLCPCreated(((TURTLEPanel) (tabs.elementAt(index))), s); + } + + public boolean isTMLCPCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof TMLCPPanel); + } + + + + + // IOD, SD + + public boolean isSDCreated(int index, String s) { + return isSDCreated(((TURTLEPanel) (tabs.elementAt(index))), s); + } + + public boolean isIODCreated(int index, String s) { + return isIODCreated(((TURTLEPanel) (tabs.elementAt(index))), s); + } + + public boolean isProActiveSMDCreated(int index, String s) { + return isProActiveSMDCreated(((TURTLEPanel) (tabs.elementAt(index))), s); + } + + public boolean isSDCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof ui.sd.SequenceDiagramPanel); + } + + public boolean isSDZVCreated(int index, String s) { + return isSDZVCreated(((TURTLEPanel) (tabs.elementAt(index))), s); + } + + public boolean isSDZVCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof ui.sd2.SequenceDiagramPanel); + } + + public boolean isUseCaseDiagramCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof UseCaseDiagramPanel); + } + + public boolean isAvatarCDCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof AvatarCDPanel); + } + + public boolean isAvatarADCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof AvatarADPanel); + } + + public boolean isIODCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof InteractionOverviewDiagramPanel); + } + + public boolean isProActiveSMDCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof ProactiveSMDPanel); + } + + public boolean openSequenceDiagram(String s) { + int index = getCurrentJTabbedPane().indexOfTab(s); + if (index > -1) { + getCurrentJTabbedPane().setSelectedIndex(index); + return true; + } + return false; + } + + public boolean openSequenceDiagramZV(String s) { + int index = getCurrentJTabbedPane().indexOfTab(s); + if (index > -1) { + getCurrentJTabbedPane().setSelectedIndex(index); + return true; + } + return false; + } + + public boolean openIODiagram(String s) { + int index = getCurrentJTabbedPane().indexOfTab(s); + if (index > -1) { + getCurrentJTabbedPane().setSelectedIndex(index); + return true; + } + return false; + } + + // TMLCP + public boolean openTMLCPSequenceDiagram(String s) { + int index = getCurrentJTabbedPane().indexOfTab(s); + if (index > -1) { + getCurrentJTabbedPane().setSelectedIndex(index); + return true; + } + return false; + } + + public boolean openTMLCPDiagram(String s) { + int index = getCurrentJTabbedPane().indexOfTab(s); + if (index > -1) { + getCurrentJTabbedPane().setSelectedIndex(index); + return true; + } + return false; + } + + + public boolean createTMLCPSequenceDiagram(int index, String s) { + return createTMLCPSequenceDiagram((TURTLEPanel) (tabs.elementAt(index)), s); + } + + public boolean createTMLCPSequenceDiagram(TURTLEPanel tp, String s) { + if(isSDCreated(tp, s)) { + return false; + } + + if (!(tp instanceof TMLCommunicationPatternPanel) ) { + return false; + } + + + ((TMLCommunicationPatternPanel)tp).addCPSequenceDiagram(s); + + setPanelMode(); + return true; + } + + public boolean createUniqueTMLCPSequenceDiagram(TURTLEPanel tp, String s) { + int i; + for(i=0; i<1000; i++) { + if(!isTMLCPSDCreated(tp, s+i)) { + break; + } + } + + ((TMLCommunicationPatternPanel)tp).addCPSequenceDiagram(s+i); + + setPanelMode(); + return true; + } + + public boolean createTMLCPDiagram(int index, String s) { + return createTMLCPDiagram((TURTLEPanel) (tabs.elementAt(index)), s); + } + + public boolean createTMLCPDiagram(TURTLEPanel tp, String s) { + if(isTMLCPCreated(tp, s)) { + return false; + } + + if (!(tp instanceof TMLCommunicationPatternPanel)) { + return false; + } + + ((TMLCommunicationPatternPanel)tp).addCPDiagram(s); + setPanelMode(); + return true; + } + + // End of TMLCP + + + public ui.sd.SequenceDiagramPanel getSequenceDiagramPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getSequenceDiagramPanel(tp, s); + } + + + public ui.sd2.SequenceDiagramPanel getSequenceDiagramPanelZV(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getSequenceDiagramPanelZV(tp, s); + } + + + public AttackTreeDiagramPanel getAttackTreeDiagramPanel(int index, int indexTab, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAttackTreeDiagramPanel(tp, indexTab, s); + } + + public AttackTreeDiagramPanel getAttackTreeDiagramPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AttackTreeDiagramPanel)(tp.panelAt(indexTab)); + } + return null; + /*for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { if (tp.tabbedPane.getTitleAt(indexTab).equals(s)) { if (tp.panelAt(i) instanceof AttackTreeDiagramPanel) return (AttackTreeDiagramPanel)(tp.panelAt(i)); } } return null;*/ - } - - - public TMLCPPanel getTMLCPDiagramPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getTMLCPDiagramPanel(tp, s); - } - - public TMLCPPanel getTMLCPDiagramPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof TMLCPPanel) - return (TMLCPPanel)(tp.panelAt(i)); - } - } - return null; - } - - public TMLSDPanel getTMLCPSDDiagramPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getTMLCPSDDiagramPanel(tp, s); - } - - public TMLSDPanel getTMLCPSDDiagramPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof TMLSDPanel) - return (TMLSDPanel)(tp.panelAt(i)); - } - } - return null; - } - - public InteractionOverviewDiagramPanel getIODiagramPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getIODiagramPanel(tp, s); - } - - public ui.sd.SequenceDiagramPanel getSequenceDiagramPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof ui.sd.SequenceDiagramPanel) - return (ui.sd.SequenceDiagramPanel)(tp.panelAt(i)); - } - } - return null; - } - - public ui.sd2.SequenceDiagramPanel getSequenceDiagramPanelZV(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof ui.sd2.SequenceDiagramPanel) - return (ui.sd2.SequenceDiagramPanel)(tp.panelAt(i)); - } - } - return null; - } - - public InteractionOverviewDiagramPanel getIODiagramPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof InteractionOverviewDiagramPanel) - return (InteractionOverviewDiagramPanel)(tp.panelAt(i)); - } - } - return null; - } - - public UseCaseDiagramPanel getUseCaseDiagramPanel(int index, int indexTab, String s) { - //TraceManager.addDev("Searching for " + s + " at index =" + index); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getUseCaseDiagramPanel(tp, indexTab, s); - } - - public UseCaseDiagramPanel getUseCaseDiagramPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (UseCaseDiagramPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public boolean createSequenceDiagram(int index, String s) { - return createSequenceDiagram((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createSequenceDiagram(TURTLEPanel tp, String s) { - if(isSDCreated(tp, s)) { - return false; - } - - if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { - return false; - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addSequenceDiagram(s); - } else if (tp instanceof AvatarAnalysisPanel) { - ((AvatarAnalysisPanel)tp).addSequenceDiagram(s); - } - setPanelMode(); - return true; - } - public boolean createSequenceDiagramZV(int index, String s) { - return createSequenceDiagramZV((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createSequenceDiagramZV(TURTLEPanel tp, String s) { - if(isSDCreated(tp, s)) { - return false; - } - - if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { - return false; - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addSequenceDiagramZV(s); - } else if (tp instanceof AvatarAnalysisPanel) { - ((AvatarAnalysisPanel)tp).addSequenceDiagramZV(s); - } - setPanelMode(); - return true; - } - - public boolean createUniqueSequenceDiagram(TURTLEPanel tp, String s) { - int i; - for(i=0; i<1000; i++) { - if(!isSDCreated(tp, s+i)) { - break; - } - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addSequenceDiagram(s+i); - } else if (tp instanceof AvatarAnalysisPanel) { - ((AvatarAnalysisPanel)tp).addSequenceDiagram(s+i); - } - - setPanelMode(); - return true; - } - - - public boolean createUniqueSequenceDiagramZV(TURTLEPanel tp, String s) { - int i; - for(i=0; i<1000; i++) { - if(!isSDCreated(tp, s+i)) { - break; - } - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addSequenceDiagramZV(s+i); - } else if (tp instanceof AvatarAnalysisPanel) { - ((AvatarAnalysisPanel)tp).addSequenceDiagramZV(s+i); - } - - setPanelMode(); - return true; - } - - public boolean createSequenceDiagramFromUCD(TURTLEPanel tp, String s, UseCaseDiagramPanel _ucdp) { - if (!createUniqueSequenceDiagramZV(tp, s)) { - return false; - } - - if (! ((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { - return false; - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addInstancesToLastSD(_ucdp); - } else if (tp instanceof AvatarAnalysisPanel) { - ((AvatarAnalysisPanel)tp).addInstancesToLastSD(_ucdp); - } - - return true; - } - - - - public boolean createIODiagram(int index, String s) { - return createIODiagram((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createIODiagram(TURTLEPanel tp, String s) { - if(isIODCreated(tp, s)) { - return false; - } - - if (!(tp instanceof AnalysisPanel)) { - return false; - } - - ((AnalysisPanel)tp).addIODiagram(s); - setPanelMode(); - return true; - } - - public boolean createUseCaseDiagram(int index, String s) { - return createUseCaseDiagram((TURTLEPanel) (tabs.elementAt(index)), s); - } - - public boolean createUniqueUseCaseDiagram(TURTLEPanel tp, String s) { - if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { - return false; - } - - int i; - for(i=0; i<1000; i++) { - if(!isUseCaseDiagramCreated(tp, s + " " + i)) { - break; - } - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addUseCaseDiagram(s + " " + i); - } else { - ((AvatarAnalysisPanel)tp).addUseCaseDiagram(s + " " + i); - } - setPanelMode(); - return true; - } - - public boolean createUseCaseDiagram(TURTLEPanel tp, String s) { - if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { - return false; - } - - if (tp instanceof AnalysisPanel) { - ((AnalysisPanel)tp).addUseCaseDiagram(s); - } else { - ((AvatarAnalysisPanel)tp).addUseCaseDiagram(s); - } - setPanelMode(); - return true; - } - - public boolean createAvatarCD(int index, String s) { - return createAvatarCD((TURTLEPanel) (tabs.elementAt(index)), s); - } - - public boolean createUniqueAvatarCD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarAnalysisPanel)) { - return false; - } - - int i; - for(i=0; i<1000; i++) { - if(!isAvatarCDCreated(tp, s + " " + i)) { - break; - } - } - - ((AvatarAnalysisPanel)tp).addAvatarContextDiagram(s + " " + i); - - - setPanelMode(); - return true; - } - - public boolean createAvatarCD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarAnalysisPanel)) { - return false; - } - - - ((AvatarAnalysisPanel)tp).addAvatarContextDiagram(s); - - - setPanelMode(); - return true; - } - - public boolean createAvatarAD(int index, String s) { - return createAvatarAD((TURTLEPanel) (tabs.elementAt(index)), s); - } - - public boolean createUniqueAvatarAD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarAnalysisPanel)) { - return false; - } - - int i; - for(i=0; i<1000; i++) { - if(!isAvatarADCreated(tp, s + " " + i)) { - break; - } - } - - ((AvatarAnalysisPanel)tp).addAvatarActivityDiagram(s + " " + i); - setPanelMode(); - return true; - } - - public boolean createAvatarAD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarAnalysisPanel)) { - return false; - } - - - ((AvatarAnalysisPanel)tp).addAvatarActivityDiagram(s); - - setPanelMode(); - return true; - } - - //Changed by Solange from public boolean... - public String createProActiveSMD(int index, String s) { - //Adde by Solange String name at the beginning - String name=createProActiveSMD((TURTLEPanel)(tabs.elementAt(index)), s); - return(name); //changed from return true - } - - //Return changed by Solange from boolean to String - public String createProActiveSMD(TURTLEPanel tp, String s) { - - //Added by Solange. It fills the lists of components, interfaces, etc - TURTLEPanel tp2 = getCurrentTURTLEPanel(); - gtm.generateLists((ProactiveDesignPanel)tp2); - // - - if (!(tp instanceof ProactiveDesignPanel)) { - return null; //Changed by Solange from return false - } - - s=((ProactiveDesignPanel)tp).addSMD(s); - //Added by Solange - // ProactiveSMDPanel temp=((ProactiveDesignPanel)tp).getSMDPanel(s); - //Added by Solange - //And removed by Emil + } + + + public TMLCPPanel getTMLCPDiagramPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getTMLCPDiagramPanel(tp, s); + } + + public TMLCPPanel getTMLCPDiagramPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof TMLCPPanel) + return (TMLCPPanel)(tp.panelAt(i)); + } + } + return null; + } + + public TMLSDPanel getTMLCPSDDiagramPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getTMLCPSDDiagramPanel(tp, s); + } + + public TMLSDPanel getTMLCPSDDiagramPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof TMLSDPanel) + return (TMLSDPanel)(tp.panelAt(i)); + } + } + return null; + } + + public InteractionOverviewDiagramPanel getIODiagramPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getIODiagramPanel(tp, s); + } + + public ui.sd.SequenceDiagramPanel getSequenceDiagramPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof ui.sd.SequenceDiagramPanel) + return (ui.sd.SequenceDiagramPanel)(tp.panelAt(i)); + } + } + return null; + } + + public ui.sd2.SequenceDiagramPanel getSequenceDiagramPanelZV(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof ui.sd2.SequenceDiagramPanel) + return (ui.sd2.SequenceDiagramPanel)(tp.panelAt(i)); + } + } + return null; + } + + public InteractionOverviewDiagramPanel getIODiagramPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof InteractionOverviewDiagramPanel) + return (InteractionOverviewDiagramPanel)(tp.panelAt(i)); + } + } + return null; + } + + public UseCaseDiagramPanel getUseCaseDiagramPanel(int index, int indexTab, String s) { + //TraceManager.addDev("Searching for " + s + " at index =" + index); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getUseCaseDiagramPanel(tp, indexTab, s); + } + + public UseCaseDiagramPanel getUseCaseDiagramPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (UseCaseDiagramPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public boolean createSequenceDiagram(int index, String s) { + return createSequenceDiagram((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createSequenceDiagram(TURTLEPanel tp, String s) { + if(isSDCreated(tp, s)) { + return false; + } + + if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { + return false; + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addSequenceDiagram(s); + } else if (tp instanceof AvatarAnalysisPanel) { + ((AvatarAnalysisPanel)tp).addSequenceDiagram(s); + } + setPanelMode(); + return true; + } + public boolean createSequenceDiagramZV(int index, String s) { + return createSequenceDiagramZV((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createSequenceDiagramZV(TURTLEPanel tp, String s) { + if(isSDCreated(tp, s)) { + return false; + } + + if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { + return false; + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addSequenceDiagramZV(s); + } else if (tp instanceof AvatarAnalysisPanel) { + ((AvatarAnalysisPanel)tp).addSequenceDiagramZV(s); + } + setPanelMode(); + return true; + } + + public boolean createUniqueSequenceDiagram(TURTLEPanel tp, String s) { + int i; + for(i=0; i<1000; i++) { + if(!isSDCreated(tp, s+i)) { + break; + } + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addSequenceDiagram(s+i); + } else if (tp instanceof AvatarAnalysisPanel) { + ((AvatarAnalysisPanel)tp).addSequenceDiagram(s+i); + } + + setPanelMode(); + return true; + } + + + public boolean createUniqueSequenceDiagramZV(TURTLEPanel tp, String s) { + int i; + for(i=0; i<1000; i++) { + if(!isSDCreated(tp, s+i)) { + break; + } + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addSequenceDiagramZV(s+i); + } else if (tp instanceof AvatarAnalysisPanel) { + ((AvatarAnalysisPanel)tp).addSequenceDiagramZV(s+i); + } + + setPanelMode(); + return true; + } + + public boolean createSequenceDiagramFromUCD(TURTLEPanel tp, String s, UseCaseDiagramPanel _ucdp) { + if (!createUniqueSequenceDiagramZV(tp, s)) { + return false; + } + + if (! ((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { + return false; + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addInstancesToLastSD(_ucdp); + } else if (tp instanceof AvatarAnalysisPanel) { + ((AvatarAnalysisPanel)tp).addInstancesToLastSD(_ucdp); + } + + return true; + } + + + + public boolean createIODiagram(int index, String s) { + return createIODiagram((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createIODiagram(TURTLEPanel tp, String s) { + if(isIODCreated(tp, s)) { + return false; + } + + if (!(tp instanceof AnalysisPanel)) { + return false; + } + + ((AnalysisPanel)tp).addIODiagram(s); + setPanelMode(); + return true; + } + + public boolean createUseCaseDiagram(int index, String s) { + return createUseCaseDiagram((TURTLEPanel) (tabs.elementAt(index)), s); + } + + public boolean createUniqueUseCaseDiagram(TURTLEPanel tp, String s) { + if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { + return false; + } + + int i; + for(i=0; i<1000; i++) { + if(!isUseCaseDiagramCreated(tp, s + " " + i)) { + break; + } + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addUseCaseDiagram(s + " " + i); + } else { + ((AvatarAnalysisPanel)tp).addUseCaseDiagram(s + " " + i); + } + setPanelMode(); + return true; + } + + public boolean createUseCaseDiagram(TURTLEPanel tp, String s) { + if (!((tp instanceof AnalysisPanel) || (tp instanceof AvatarAnalysisPanel))) { + return false; + } + + if (tp instanceof AnalysisPanel) { + ((AnalysisPanel)tp).addUseCaseDiagram(s); + } else { + ((AvatarAnalysisPanel)tp).addUseCaseDiagram(s); + } + setPanelMode(); + return true; + } + + public boolean createAvatarCD(int index, String s) { + return createAvatarCD((TURTLEPanel) (tabs.elementAt(index)), s); + } + + public boolean createUniqueAvatarCD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarAnalysisPanel)) { + return false; + } + + int i; + for(i=0; i<1000; i++) { + if(!isAvatarCDCreated(tp, s + " " + i)) { + break; + } + } + + ((AvatarAnalysisPanel)tp).addAvatarContextDiagram(s + " " + i); + + + setPanelMode(); + return true; + } + + public boolean createAvatarCD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarAnalysisPanel)) { + return false; + } + + + ((AvatarAnalysisPanel)tp).addAvatarContextDiagram(s); + + + setPanelMode(); + return true; + } + + public boolean createAvatarAD(int index, String s) { + return createAvatarAD((TURTLEPanel) (tabs.elementAt(index)), s); + } + + public boolean createUniqueAvatarAD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarAnalysisPanel)) { + return false; + } + + int i; + for(i=0; i<1000; i++) { + if(!isAvatarADCreated(tp, s + " " + i)) { + break; + } + } + + ((AvatarAnalysisPanel)tp).addAvatarActivityDiagram(s + " " + i); + setPanelMode(); + return true; + } + + public boolean createAvatarAD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarAnalysisPanel)) { + return false; + } + + + ((AvatarAnalysisPanel)tp).addAvatarActivityDiagram(s); + + setPanelMode(); + return true; + } + + //Changed by Solange from public boolean... + public String createProActiveSMD(int index, String s) { + //Adde by Solange String name at the beginning + String name=createProActiveSMD((TURTLEPanel)(tabs.elementAt(index)), s); + return(name); //changed from return true + } + + //Return changed by Solange from boolean to String + public String createProActiveSMD(TURTLEPanel tp, String s) { + + //Added by Solange. It fills the lists of components, interfaces, etc + TURTLEPanel tp2 = getCurrentTURTLEPanel(); + gtm.generateLists((ProactiveDesignPanel)tp2); + // + + if (!(tp instanceof ProactiveDesignPanel)) { + return null; //Changed by Solange from return false + } + + s=((ProactiveDesignPanel)tp).addSMD(s); + //Added by Solange + // ProactiveSMDPanel temp=((ProactiveDesignPanel)tp).getSMDPanel(s); + //Added by Solange + //And removed by Emil - /* + /* LinkedList cmps=gtm.gpdtemp.getProCSDComponentsList(); for (int i=0;i<cmps.size();i++) { @@ -6254,2011 +6272,2013 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe } } } - */ - // - setPanelMode(); - return(s); //Changes by Solange from return true - } - - public boolean createAvatarRD(int index, String s) { - return createAvatarRD((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createAvatarRD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarRequirementPanel)) { - return false; - } - - ((AvatarRequirementPanel)tp).addAvatarRD(s); - setPanelMode(); - return true; - } - - public boolean createAvatarMAD(int index, String s) { - return createAvatarMAD((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createAvatarMAD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarMADsPanel)) { - return false; - } - - ((AvatarMADsPanel)tp).addAvatarMADPanel(s); - setPanelMode(); - return true; - } - - public boolean createAvatarPD(int index, String s) { - return createAvatarPD((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createAvatarPD(TURTLEPanel tp, String s) { - if (!(tp instanceof AvatarRequirementPanel)) { - return false; - } - - ((AvatarRequirementPanel)tp).addAvatarPD(s); - setPanelMode(); - return true; - } - - public boolean createADDDiagram(int index, String s) { - return createADDDiagram((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createADDDiagram(TURTLEPanel tp, String s) { - if (!(tp instanceof ADDPanel)) { - return false; - } - - ((ADDPanel)tp).addDeploymentPanelDiagram(s); - setPanelMode(); - return true; - } - - - public boolean isRequirementCreated(int index, String s) { - return isRequirementCreated(((TURTLEPanel)(tabs.elementAt(index))), s); - } - - public boolean isRequirementCreated(TURTLEPanel tp, String s) { - int index = tp.tabbedPane.indexOfTab(s); - if (index == -1) { - return false; - } - return (tp.panelAt(index) instanceof RequirementDiagramPanel); - } - - public boolean createRequirementDiagram(int index, String s) { - return createRequirementDiagram((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createRequirementDiagram(TURTLEPanel tp, String s) { - if (!(tp instanceof RequirementPanel)) { - return false; - } - - ((RequirementPanel)tp).addRequirementDiagram(s); - setPanelMode(); - return true; - } - - public boolean createAttackTreeDiagram(int index, String s) { - return createAttackTreeDiagram((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createAttackTreeDiagram(TURTLEPanel tp, String s) { - if (!(tp instanceof AttackTreePanel)) { - return false; - } - - ((AttackTreePanel)tp).addAttackTreeDiagram(s); - setPanelMode(); - return true; - } - - public boolean createEBRDD(int index, String s) { - return createEBRDD((TURTLEPanel)(tabs.elementAt(index)), s); - } - - public boolean createEBRDD(TURTLEPanel tp, String s) { - if (!(tp instanceof RequirementPanel)) { - return false; - } - - ((RequirementPanel)tp).addEBRDD(s); - setPanelMode(); - return true; - } - - public void generateOntologyForCurrentDiagram() { - TraceManager.addDev("Ontology for current diagram"); - try { - TURTLEPanel tp = getCurrentTURTLEPanel(); - String modeling = gtm.makeOneDiagramXMLFromGraphicalModel(tp, tp.tabbedPane.getSelectedIndex()); - TraceManager.addDev("Model made: " + modeling); - } catch (Exception e) { - } - - } - - public void generateOntologyForCurrentSetOfDiagrams() { - TraceManager.addDev("Ontology for current set of diagrams"); - try { - String modeling = gtm.makeXMLFromTurtleModeling(mainTabbedPane.getSelectedIndex()); - TraceManager.addDev("Model made: " + modeling); - } catch (Exception e) { - } - - } - - public void generateOntologyForAllDiagrams() { - TraceManager.addDev("Ontology for all diagrams"); - try { - /*String modeling =*/ gtm.makeXMLFromTurtleModeling(-1); - TraceManager.addDev("Model made"); - } catch (Exception e) { - } - - } - - - - public AvatarRDPanel getAvatarRDPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarRDPanel(tp, indexTab, s); - } - - public AvatarRDPanel getAvatarRDPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AvatarRDPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public AvatarMADPanel getAvatarMADPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarMADPanel(tp, indexTab, s); - } - - public AvatarMADPanel getAvatarMADPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AvatarMADPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public AvatarPDPanel getAvatarPDPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarPDPanel(tp, indexTab, s); - } - - public ADDDiagramPanel getAvatarADDPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarADDPanel(tp, indexTab, s); - } - - public ADDDiagramPanel getAvatarADDPanelByIndex(int index, int indexTab) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarADDPanelByIndex(tp, indexTab); - } - - - public AvatarPDPanel getAvatarPDPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AvatarPDPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public ADDDiagramPanel getAvatarADDPanel(TURTLEPanel tp, int indexTab, String s) { - TraceManager.addDev("index=" + indexTab + " s=" + s + "title=" +tp.tabbedPane.getTitleAt(indexTab)); - - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (ADDDiagramPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public ADDDiagramPanel getAvatarADDPanelByIndex(TURTLEPanel tp, int indexTab) { - //TraceManager.addDev("index=" + indexTab + " s=" + s + "title=" +tp.tabbedPane.getTitleAt(indexTab)); - - //if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (ADDDiagramPanel)(tp.panelAt(indexTab)); - //} - - } - - public AvatarCDPanel getAvatarCDPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarCDPanel(tp, indexTab, s); - } - - - public AvatarCDPanel getAvatarCDPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AvatarCDPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public AvatarADPanel getAvatarADPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getAvatarADPanel(tp, indexTab, s); - } - - - public AvatarADPanel getAvatarADPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (AvatarADPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public RequirementDiagramPanel getRequirementDiagramPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getRequirementDiagramPanel(tp, s); - } - - public RequirementDiagramPanel getRequirementDiagramPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof RequirementDiagramPanel) - return (RequirementDiagramPanel)(tp.panelAt(i)); - } - } - return null; - } - - public RequirementDiagramPanel getRequirementDiagramPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getRequirementDiagramPanel(tp, indexTab, s); - } - - - public RequirementDiagramPanel getRequirementDiagramPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (RequirementDiagramPanel)(tp.panelAt(indexTab)); - } - return null; - } - - public EBRDDPanel getEBRDDPanel(int index, String s) { - //TraceManager.addDev("Searching for " + s); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getEBRDDPanel(tp, s); - } - - public EBRDDPanel getEBRDDPanel(TURTLEPanel tp, String s) { - for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { - if (tp.tabbedPane.getTitleAt(i).equals(s)) { - if (tp.panelAt(i) instanceof EBRDDPanel) - return (EBRDDPanel)(tp.panelAt(i)); - } - } - return null; - } - - public EBRDDPanel getEBRDDPanel(int index, int indexTab, String s) { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - return getEBRDDPanel(tp, indexTab, s); - } - - - public EBRDDPanel getEBRDDPanel(TURTLEPanel tp, int indexTab, String s) { - if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { - return (EBRDDPanel)(tp.panelAt(indexTab)); - } - return null; - } - - - public void alignInstances() { - //TraceManager.addDev("Align instances"); - if (getCurrentTDiagramPanel() instanceof ui.sd.SequenceDiagramPanel) { - ((ui.sd.SequenceDiagramPanel)(getCurrentTDiagramPanel())).alignInstances(); - changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); - getCurrentTDiagramPanel().repaint(); - } - - if (getCurrentTDiagramPanel() instanceof ui.sd2.SequenceDiagramPanel) { - ((ui.sd2.SequenceDiagramPanel)(getCurrentTDiagramPanel())).alignInstances(); - changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); - getCurrentTDiagramPanel().repaint(); - } - - if (getCurrentTDiagramPanel() instanceof TMLSDPanel) { - ((TMLSDPanel)(getCurrentTDiagramPanel())).alignInstances(); - changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); - getCurrentTDiagramPanel().repaint(); - } - } - - - public void alignPartitions() { - //TraceManager.addDev("Align instances"); - if (getCurrentTDiagramPanel() instanceof AvatarADPanel) { - ((AvatarADPanel)(getCurrentTDiagramPanel())).alignPartitions(); - changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); - getCurrentTDiagramPanel().repaint(); - } - } - - public void enhanceDiagram() { - getCurrentTDiagramPanel().enhance(); - } - - public JTabbedPane getCurrentJTabbedPane() { - return ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tabbedPane; - } - - public int getCurrentSelectedIndex() { - return mainTabbedPane.getSelectedIndex(); - } - - - public TDiagramPanel getCurrentTDiagramPanel() { - try { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex())); - return (TDiagramPanel)(tp.panels.elementAt(tp.tabbedPane.getSelectedIndex())); - } catch (Exception e) { - return null; - } - } - - public TDiagramPanel getCurrentMainTDiagramPanel() { - return ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tdp; - } - - public void selectDummyTab (int index) { - if (this.tabs.size () < index+1) - return; - this.dummySelectedTab = (TURTLEPanel) this.tabs.elementAt (index); - } - - public void forgetDummyTab () { - this.dummySelectedTab = null; - } - - public TURTLEPanel getCurrentTURTLEPanel() { - if (this.dummySelectedTab != null) - return this.dummySelectedTab; - - if (tabs.size() == 0) { - return null; - } else { - return (TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex())); - } - } - - - public void reinitCountOfPanels() { - int i, j; - TURTLEPanel tp; - for(i = 0; i<mainTabbedPane.getTabCount(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - for(j=0; j<tp.tabbedPane.getTabCount(); j++) { - ((TDiagramPanel)(tp.panels.elementAt(j))).count = 0; - } - } - } - - public void setPanelMode() { - int index; - TURTLEPanel tp = getCurrentTURTLEPanel(); - index = tp.tabbedPane.getSelectedIndex(); - - if (index < tp.panels.size() -1) { - setMode(FORWARD_DIAG); - } else { - setMode(NO_FORWARD_DIAG); - } - - if (index > 0) { - setMode(BACKWARD_DIAG); - } else { - setMode(NO_BACKWARD_DIAG); - } - - setMode(METHO_CHANGED); - - } - - public void paneMADAction(ChangeEvent e) { - //TraceManager.addDev("Pane design action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane design action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - public void paneDesignAction(ChangeEvent e) { - //TraceManager.addDev("Pane design action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane design action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - public void paneDiplodocusMethodologyAction(ChangeEvent e) { - //TraceManager.addDev("Pane design action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane design action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - public void paneAvatarMethodologyAction(ChangeEvent e) { - //TraceManager.addDev("Pane design action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane design action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - public void paneAnalysisAction(ChangeEvent e) { - //TraceManager.addDev("Pane analysis action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane analysis action 1 on " + tdp1.getName()); - if (activetdp != null) { - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane analysis action 2"); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane analysis action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane analysis action"); - } - } - - public void paneDeployAction(ChangeEvent e) { - //TraceManager.addDev("Pane design action size=" + tabs.size()); - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - //TraceManager.addDev("Pane design action 3"); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - public void paneRequirementAction(ChangeEvent e) { - try { - - TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); - //TraceManager.addDev("Pane design action 1"); - if (activetdp != null) { - activetdp.activateActions(false); - unactivateDrawing(); - activetdp.stopAddingConnector(); - } - //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); - tdp1.activateActions(true); - activetdp = tdp1; - - setEditMode(); - setPanelMode(); - - // activate the drawing of the right pane - basicActivateDrawing(); - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane design action"); - } - } - - // nameTab : array of strings not to be removed - public void removeAnalysisDiagrams(String [] nameTab) { - int i, j; - String value; - boolean found; - - for(i=1; i<getCurrentJTabbedPane().getTabCount(); i++) { - value = getCurrentJTabbedPane().getTitleAt(i); - found = false; - for(j=0; j<nameTab.length; j++) { - if (nameTab[j] != null) { - if (nameTab[j].compareTo(value) ==0) { - found = true; - break; - } - - } - } - if (!found) { - TraceManager.addDev("Removing" + getCurrentJTabbedPane().getTitleAt(i)); - getCurrentJTabbedPane().remove(i); - getCurrentTURTLEPanel().removeElementAt(i); - i--; - } - } - } - - public void renameTab(TDiagramPanel tdp) { - String value; - int index, index1; - - index = getCurrentJTabbedPane().getSelectedIndex(); - value = getCurrentJTabbedPane().getTitleAt(index); - - //String s = (String)JOptionPane.showInputDialog(this, "Name of the diagram:", JOptionPane.QUESTION_MESSAGE); - String s = (String)JOptionPane.showInputDialog(frame, "Name of the diagram:", "setting value", JOptionPane.PLAIN_MESSAGE, IconManager.imgic101, null, value); - - if ((s != null) && (s.length() > 0)){ - // name already in use? - index1 = getCurrentJTabbedPane().indexOfTab(s); - /*if (methoMode == METHO_ANALYSIS) { + */ + // + setPanelMode(); + return(s); //Changes by Solange from return true + } + + public boolean createAvatarRD(int index, String s) { + return createAvatarRD((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createAvatarRD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarRequirementPanel)) { + return false; + } + + ((AvatarRequirementPanel)tp).addAvatarRD(s); + setPanelMode(); + return true; + } + + public boolean createAvatarMAD(int index, String s) { + return createAvatarMAD((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createAvatarMAD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarMADsPanel)) { + return false; + } + + ((AvatarMADsPanel)tp).addAvatarMADPanel(s); + setPanelMode(); + return true; + } + + public boolean createAvatarPD(int index, String s) { + return createAvatarPD((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createAvatarPD(TURTLEPanel tp, String s) { + if (!(tp instanceof AvatarRequirementPanel)) { + return false; + } + + ((AvatarRequirementPanel)tp).addAvatarPD(s); + setPanelMode(); + return true; + } + + public boolean createADDDiagram(int index, String s) { + return createADDDiagram((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createADDDiagram(TURTLEPanel tp, String s) { + if (!(tp instanceof ADDPanel)) { + return false; + } + + ((ADDPanel)tp).addDeploymentPanelDiagram(s); + setPanelMode(); + return true; + } + + + public boolean isRequirementCreated(int index, String s) { + return isRequirementCreated(((TURTLEPanel)(tabs.elementAt(index))), s); + } + + public boolean isRequirementCreated(TURTLEPanel tp, String s) { + int index = tp.tabbedPane.indexOfTab(s); + if (index == -1) { + return false; + } + return (tp.panelAt(index) instanceof RequirementDiagramPanel); + } + + public boolean createRequirementDiagram(int index, String s) { + return createRequirementDiagram((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createRequirementDiagram(TURTLEPanel tp, String s) { + if (!(tp instanceof RequirementPanel)) { + return false; + } + + ((RequirementPanel)tp).addRequirementDiagram(s); + setPanelMode(); + return true; + } + + public boolean createAttackTreeDiagram(int index, String s) { + return createAttackTreeDiagram((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createAttackTreeDiagram(TURTLEPanel tp, String s) { + if (!(tp instanceof AttackTreePanel)) { + return false; + } + + ((AttackTreePanel)tp).addAttackTreeDiagram(s); + setPanelMode(); + return true; + } + + public boolean createEBRDD(int index, String s) { + return createEBRDD((TURTLEPanel)(tabs.elementAt(index)), s); + } + + public boolean createEBRDD(TURTLEPanel tp, String s) { + if (!(tp instanceof RequirementPanel)) { + return false; + } + + ((RequirementPanel)tp).addEBRDD(s); + setPanelMode(); + return true; + } + + public void generateOntologyForCurrentDiagram() { + TraceManager.addDev("Ontology for current diagram"); + try { + TURTLEPanel tp = getCurrentTURTLEPanel(); + String modeling = gtm.makeOneDiagramXMLFromGraphicalModel(tp, tp.tabbedPane.getSelectedIndex()); + TraceManager.addDev("Model made: " + modeling); + } catch (Exception e) { + } + + } + + public void generateOntologyForCurrentSetOfDiagrams() { + TraceManager.addDev("Ontology for current set of diagrams"); + try { + String modeling = gtm.makeXMLFromTurtleModeling(mainTabbedPane.getSelectedIndex()); + TraceManager.addDev("Model made: " + modeling); + } catch (Exception e) { + } + + } + + public void generateOntologyForAllDiagrams() { + TraceManager.addDev("Ontology for all diagrams"); + try { + /*String modeling =*/ gtm.makeXMLFromTurtleModeling(-1); + TraceManager.addDev("Model made"); + } catch (Exception e) { + } + + } + + + + public AvatarRDPanel getAvatarRDPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarRDPanel(tp, indexTab, s); + } + + public AvatarRDPanel getAvatarRDPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AvatarRDPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public AvatarMADPanel getAvatarMADPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarMADPanel(tp, indexTab, s); + } + + public AvatarMADPanel getAvatarMADPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AvatarMADPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public AvatarPDPanel getAvatarPDPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarPDPanel(tp, indexTab, s); + } + + public ADDDiagramPanel getAvatarADDPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarADDPanel(tp, indexTab, s); + } + + public ADDDiagramPanel getAvatarADDPanelByIndex(int index, int indexTab) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarADDPanelByIndex(tp, indexTab); + } + + + public AvatarPDPanel getAvatarPDPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AvatarPDPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public ADDDiagramPanel getAvatarADDPanel(TURTLEPanel tp, int indexTab, String s) { + TraceManager.addDev("index=" + indexTab + " s=" + s + "title=" +tp.tabbedPane.getTitleAt(indexTab)); + + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (ADDDiagramPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public ADDDiagramPanel getAvatarADDPanelByIndex(TURTLEPanel tp, int indexTab) { + //TraceManager.addDev("index=" + indexTab + " s=" + s + "title=" +tp.tabbedPane.getTitleAt(indexTab)); + + //if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (ADDDiagramPanel)(tp.panelAt(indexTab)); + //} + + } + + public AvatarCDPanel getAvatarCDPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarCDPanel(tp, indexTab, s); + } + + + public AvatarCDPanel getAvatarCDPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AvatarCDPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public AvatarADPanel getAvatarADPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getAvatarADPanel(tp, indexTab, s); + } + + + public AvatarADPanel getAvatarADPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (AvatarADPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public RequirementDiagramPanel getRequirementDiagramPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getRequirementDiagramPanel(tp, s); + } + + public RequirementDiagramPanel getRequirementDiagramPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof RequirementDiagramPanel) + return (RequirementDiagramPanel)(tp.panelAt(i)); + } + } + return null; + } + + public RequirementDiagramPanel getRequirementDiagramPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getRequirementDiagramPanel(tp, indexTab, s); + } + + + public RequirementDiagramPanel getRequirementDiagramPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (RequirementDiagramPanel)(tp.panelAt(indexTab)); + } + return null; + } + + public EBRDDPanel getEBRDDPanel(int index, String s) { + //TraceManager.addDev("Searching for " + s); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getEBRDDPanel(tp, s); + } + + public EBRDDPanel getEBRDDPanel(TURTLEPanel tp, String s) { + for(int i=0; i<tp.tabbedPane.getTabCount(); i++) { + if (tp.tabbedPane.getTitleAt(i).equals(s)) { + if (tp.panelAt(i) instanceof EBRDDPanel) + return (EBRDDPanel)(tp.panelAt(i)); + } + } + return null; + } + + public EBRDDPanel getEBRDDPanel(int index, int indexTab, String s) { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + return getEBRDDPanel(tp, indexTab, s); + } + + + public EBRDDPanel getEBRDDPanel(TURTLEPanel tp, int indexTab, String s) { + if(tp.tabbedPane.getTitleAt(indexTab).equals(s)) { + return (EBRDDPanel)(tp.panelAt(indexTab)); + } + return null; + } + + + public void alignInstances() { + //TraceManager.addDev("Align instances"); + if (getCurrentTDiagramPanel() instanceof ui.sd.SequenceDiagramPanel) { + ((ui.sd.SequenceDiagramPanel)(getCurrentTDiagramPanel())).alignInstances(); + changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); + getCurrentTDiagramPanel().repaint(); + } + + if (getCurrentTDiagramPanel() instanceof ui.sd2.SequenceDiagramPanel) { + ((ui.sd2.SequenceDiagramPanel)(getCurrentTDiagramPanel())).alignInstances(); + changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); + getCurrentTDiagramPanel().repaint(); + } + + if (getCurrentTDiagramPanel() instanceof TMLSDPanel) { + ((TMLSDPanel)(getCurrentTDiagramPanel())).alignInstances(); + changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); + getCurrentTDiagramPanel().repaint(); + } + } + + + public void alignPartitions() { + //TraceManager.addDev("Align instances"); + if (getCurrentTDiagramPanel() instanceof AvatarADPanel) { + ((AvatarADPanel)(getCurrentTDiagramPanel())).alignPartitions(); + changeMade(getCurrentTDiagramPanel(), TDiagramPanel.MOVE_COMPONENT); + getCurrentTDiagramPanel().repaint(); + } + } + + public void enhanceDiagram() { + getCurrentTDiagramPanel().enhance(); + } + + public JTabbedPane getCurrentJTabbedPane() { + return ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tabbedPane; + } + + public int getCurrentSelectedIndex() { + return mainTabbedPane.getSelectedIndex(); + } + + + public TDiagramPanel getCurrentTDiagramPanel() { + try { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex())); + return (TDiagramPanel)(tp.panels.elementAt(tp.tabbedPane.getSelectedIndex())); + } catch (Exception e) { + return null; + } + } + + public TDiagramPanel getCurrentMainTDiagramPanel() { + return ((TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex()))).tdp; + } + + public void selectDummyTab (int index) { + if (this.tabs.size () < index+1) + return; + this.dummySelectedTab = (TURTLEPanel) this.tabs.elementAt (index); + } + + public void forgetDummyTab () { + this.dummySelectedTab = null; + } + + public TURTLEPanel getCurrentTURTLEPanel() { + if (this.dummySelectedTab != null) + return this.dummySelectedTab; + + if (tabs.size() == 0) { + return null; + } else { + return (TURTLEPanel)(tabs.elementAt(mainTabbedPane.getSelectedIndex())); + } + } + + + public void reinitCountOfPanels() { + int i, j; + TURTLEPanel tp; + for(i = 0; i<mainTabbedPane.getTabCount(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + for(j=0; j<tp.tabbedPane.getTabCount(); j++) { + ((TDiagramPanel)(tp.panels.elementAt(j))).count = 0; + } + } + } + + public void setPanelMode() { + int index; + TURTLEPanel tp = getCurrentTURTLEPanel(); + index = tp.tabbedPane.getSelectedIndex(); + + if (index < tp.panels.size() -1) { + setMode(FORWARD_DIAG); + } else { + setMode(NO_FORWARD_DIAG); + } + + if (index > 0) { + setMode(BACKWARD_DIAG); + } else { + setMode(NO_BACKWARD_DIAG); + } + + setMode(METHO_CHANGED); + + } + + public void paneMADAction(ChangeEvent e) { + //TraceManager.addDev("Pane design action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane design action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + public void paneDesignAction(ChangeEvent e) { + //TraceManager.addDev("Pane design action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane design action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + public void paneDiplodocusMethodologyAction(ChangeEvent e) { + //TraceManager.addDev("Pane design action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane design action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + public void paneAvatarMethodologyAction(ChangeEvent e) { + //TraceManager.addDev("Pane design action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane design action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + public void paneAnalysisAction(ChangeEvent e) { + //TraceManager.addDev("Pane analysis action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane analysis action 1 on " + tdp1.getName()); + if (activetdp != null) { + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane analysis action 2"); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane analysis action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane analysis action"); + } + } + + public void paneDeployAction(ChangeEvent e) { + //TraceManager.addDev("Pane design action size=" + tabs.size()); + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + //TraceManager.addDev("Pane design action 3"); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + public void paneRequirementAction(ChangeEvent e) { + try { + + TDiagramPanel tdp1 = (TDiagramPanel)(getCurrentTURTLEPanel().panels.elementAt(getCurrentJTabbedPane().getSelectedIndex())); + //TraceManager.addDev("Pane design action 1"); + if (activetdp != null) { + activetdp.activateActions(false); + unactivateDrawing(); + activetdp.stopAddingConnector(); + } + //TraceManager.addDev("Pane design action 1 on "+ tdp1.getName()); + tdp1.activateActions(true); + activetdp = tdp1; + + setEditMode(); + setPanelMode(); + + // activate the drawing of the right pane + basicActivateDrawing(); + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane design action"); + } + } + + // nameTab : array of strings not to be removed + public void removeAnalysisDiagrams(String [] nameTab) { + int i, j; + String value; + boolean found; + + for(i=1; i<getCurrentJTabbedPane().getTabCount(); i++) { + value = getCurrentJTabbedPane().getTitleAt(i); + found = false; + for(j=0; j<nameTab.length; j++) { + if (nameTab[j] != null) { + if (nameTab[j].compareTo(value) ==0) { + found = true; + break; + } + + } + } + if (!found) { + TraceManager.addDev("Removing" + getCurrentJTabbedPane().getTitleAt(i)); + getCurrentJTabbedPane().remove(i); + getCurrentTURTLEPanel().removeElementAt(i); + i--; + } + } + } + + public void renameTab(TDiagramPanel tdp) { + String value; + int index, index1; + + index = getCurrentJTabbedPane().getSelectedIndex(); + value = getCurrentJTabbedPane().getTitleAt(index); + + //String s = (String)JOptionPane.showInputDialog(this, "Name of the diagram:", JOptionPane.QUESTION_MESSAGE); + String s = (String)JOptionPane.showInputDialog(frame, "Name of the diagram:", "setting value", JOptionPane.PLAIN_MESSAGE, IconManager.imgic101, null, value); + + if ((s != null) && (s.length() > 0)){ + // name already in use? + index1 = getCurrentJTabbedPane().indexOfTab(s); + /*if (methoMode == METHO_ANALYSIS) { index1 = mainAnalysisTabbedPane.indexOfTab(s); } else { index1 = getCurrentJTabbedPane.indexOfTab(s); }*/ - if (index1 > -1) { - JOptionPane.showMessageDialog(frame, "Name is already in use", "Error", JOptionPane.INFORMATION_MESSAGE); - } else { - /*if (methoMode == METHO_ANALYSIS) { + if (index1 > -1) { + JOptionPane.showMessageDialog(frame, "Name is already in use", "Error", JOptionPane.INFORMATION_MESSAGE); + } else { + /*if (methoMode == METHO_ANALYSIS) { mainAnalysisTabbedPane.setTitleAt(index, s); } else { mainDesignTabbedPane.setTitleAt(index, s); }*/ - if (isAValidTabName(s)) { - JOptionPane.showMessageDialog(frame, "Invalid name", "Error", JOptionPane.INFORMATION_MESSAGE); - } else { - getCurrentJTabbedPane().setTitleAt(index, s); - tdp.setName(s); - changeMade(tdp, TDiagramPanel.NEW_COMPONENT); - } - } - } - } - - public void deleteTab(TDiagramPanel tdp) { - //TraceManager.addDev("Delete"); - - // We know the selected tab -> remove this tab - - int index; - JTabbedPane jtp = getCurrentJTabbedPane(); - index = jtp.getSelectedIndex(); - getCurrentTURTLEPanel().panels.removeElementAt(index); - jtp.remove(index); - - // Signal the change - changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - - } - - private void basicActivateDrawing() { - activetdp.setDraw(true); - if (activetdp.mode == TDiagramPanel.SELECTED_COMPONENTS) { - setMode(MainGUI.CUTCOPY_OK); - setMode(MainGUI.EXPORT_LIB_OK); - } else { - setMode(MainGUI.CUTCOPY_KO); - setMode(MainGUI.EXPORT_LIB_KO); - } - } - - private void unactivateDrawing() { - activetdp.setDraw(false); - } - - public void paneAction(ChangeEvent e) { - //TraceManager.addDev("Pane action"); - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - if (tdp1 != null) { - //TraceManager.addDev("Stop Adding connector in maingui"); - tdp1.stopAddingConnector(); - } - - try { - if (getCurrentTURTLEPanel() instanceof DesignPanel) { - setMethodologicalMode(METHO_DESIGN); - paneDesignAction(e); - } else if (getCurrentTURTLEPanel() instanceof AnalysisPanel) { - setMethodologicalMode(METHO_ANALYSIS); - paneAnalysisAction(e); - } else { - setMethodologicalMode(METHO_DEPLOY); - paneDeployAction(e); - } - - if ((getCurrentTURTLEPanel() instanceof AvatarDesignPanel) || (getCurrentTURTLEPanel() instanceof AvatarRequirementPanel) || (getCurrentTURTLEPanel() instanceof AttackTreePanel) || (getCurrentTURTLEPanel() instanceof ADDPanel)) { - mainBar.showAvatarActions(true); - } else if ((getCurrentTURTLEPanel() instanceof TMLDesignPanel) || (getCurrentTURTLEPanel() instanceof TMLComponentDesignPanel) || (getCurrentTURTLEPanel() instanceof TMLArchiPanel)){ - mainBar.showDiplodocusActions(true); - } else { - mainBar.showAvatarActions(false); - } - - setMode(PANEL_CHANGED); - - setEditMode(); - setPanelMode(); - - - } catch (Exception ex) { - //TraceManager.addDev("Exception pane action: " + ex.getMessage()); - } - } - - public JFrame getFrame() { - return frame; - } - - public boolean newTClassName(TURTLEPanel tp, String old, String niou) { - JTabbedPane jtp = tp.tabbedPane; - for(int i = 0; i<jtp.getTabCount(); i++) { - if (jtp.getTitleAt(i).equals(niou)) { - return false; - } - } - //TraceManager.addDev("old " + old + " niou " + niou); - for(int i = 0; i<jtp.getTabCount(); i++) { - //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); - if (jtp.getTitleAt(i).equals(old)) { - jtp.setTitleAt(i, niou); - jtp.setToolTipTextAt(i, "Opens the activity diagram of " + niou); - TDiagramPanel tdp; - //change panel name - for(int j=0; j<tp.panels.size(); j++) { - tdp = (TDiagramPanel)(tp.panels.elementAt(j)); - if (tdp.getName().equals(old)) { - tdp.setName(niou); - } - } - - return true; - } - } - // internal error - ErrorGUI.exit(ErrorGUI.ERROR_TAB); - return false; - } - - public boolean newTOSClassName(TURTLEPanel tp, String old, String niou) { - JTabbedPane jtp = tp.tabbedPane; - for(int i = 0; i<jtp.getTabCount(); i++) { - if (jtp.getTitleAt(i).equals(niou)) { - return false; - } - } - //TraceManager.addDev("old " + old + " niou " + niou); - for(int i = 0; i<jtp.getTabCount(); i++) { - //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); - if (jtp.getTitleAt(i).equals(old)) { - jtp.setTitleAt(i, niou); - jtp.setToolTipTextAt(i, "Opens the TURTLE-OS activity diagram of " + niou); - TDiagramPanel tdp; - //change panel name - for(int j=0; j<tp.panels.size(); j++) { - tdp = (TDiagramPanel)(tp.panels.elementAt(j)); - if (tdp.getName().equals(old)) { - tdp.setName(niou); - } - } - - return true; - } - } - // internal error - ErrorGUI.exit(ErrorGUI.ERROR_TAB); - return false; - } - - public boolean newTMLTaskName(TURTLEPanel tp, String old, String niou) { - //TraceManager.addDev("Panel=" + tp + " Old task name = " + old + " New task name=" + niou); - JTabbedPane jtp = tp.tabbedPane; - for(int i = 0; i<jtp.getTabCount(); i++) { - //TraceManager.addDev("jtp = " + jtp.getTitleAt(i)); - if (jtp.getTitleAt(i).equals(niou)) { - return false; - } - } - //TraceManager.addDev("old " + old + " niou " + niou); - for(int i = 0; i<jtp.getTabCount(); i++) { - //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); - //TraceManager.addDev("jtp = " + jtp.getTitleAt(i)); - if (jtp.getTitleAt(i).equals(old)) { - jtp.setTitleAt(i, niou); - jtp.setToolTipTextAt(i, "Opens the TML activity diagram of " + niou); - TDiagramPanel tdp; - //change panel name - for(int j=0; j<tp.panels.size(); j++) { - tdp = (TDiagramPanel)(tp.panels.elementAt(j)); - if (tdp.getName().equals(old)) { - tdp.setName(niou); - //TraceManager.addDev("Renamed to " + niou); - } - } - - return true; - } - } - // internal error - ErrorGUI.exit(ErrorGUI.ERROR_TAB); - return false; - } - - public boolean nameComponentInUse(TURTLEPanel tp, String old, String niou) { - JTabbedPane jtp = tp.tabbedPane; - for(int i = 0; i<jtp.getTabCount(); i++) { - if (jtp.getTitleAt(i).equals(niou)) { - return true; - } - } - return false; - } - - public boolean newTMLComponentTaskName(TURTLEPanel tp, String old, String niou) { - JTabbedPane jtp = tp.tabbedPane; - for(int i = 0; i<jtp.getTabCount(); i++) { - if (jtp.getTitleAt(i).equals(niou)) { - return false; - } - } - TraceManager.addDev("old " + old + " niou " + niou); - for(int i = 0; i<jtp.getTabCount(); i++) { - TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); - if (jtp.getTitleAt(i).equals(old)) { - jtp.setTitleAt(i, niou); - jtp.setToolTipTextAt(i, "Opens the TML activity diagram of " + niou); - TDiagramPanel tdp; - //change panel name - for(int j=0; j<tp.panels.size(); j++) { - tdp = (TDiagramPanel)(tp.panels.elementAt(j)); - if (tdp.getName().equals(old)) { - tdp.setName(niou); - } - } - - return true; - } - } - // internal error - ErrorGUI.exit(ErrorGUI.ERROR_TAB); - return false; - } - - public void cloneTab(int index) { - String s = gtm.makeXMLFromTurtleModeling(index, "_cloned"); - try { - gtm.loadModelingFromXML(s); - changeMade(null, -1); - } catch (MalformedModelingException mme) { - JOptionPane.showMessageDialog(frame, "Modeling could not be loaded (unsupported file) ", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); - frame.setTitle("TTool: unamed project"); - } - - } - public void cloneRenameTab(int index, String s){ - cloneTab(index); - mainTabbedPane.setTitleAt(tabs.size()-1, mainTabbedPane.getTitleAt(index)+"_"+s); - } - public void requestRemoveTab(int index) { - if (index >= tabs.size()) { - return; - } - - tabs.removeElementAt(index); - mainTabbedPane.remove(index); - changeMade(null, -1); - } - - public void requestMoveRightTab(int index) { - //TraceManager.addDev("Move right"); - if (index > tabs.size()-2) { - return; - } - requestMoveTabFromTo(index, index + 1); - changeMade(null, -1); - } - - public void requestMoveLeftTab(int index) { - //TraceManager.addDev("Move left"); - if (index < 1) { - return; - } - requestMoveTabFromTo(index, index-1); - changeMade(null, -1); - } - - public void requestMoveTabFromTo(int src, int dst) { - - // Get all the properties - Component comp = mainTabbedPane.getComponentAt(src); - String label = mainTabbedPane.getTitleAt(src); - Icon icon = mainTabbedPane.getIconAt(src); - Icon iconDis = mainTabbedPane.getDisabledIconAt(src); - String tooltip = mainTabbedPane.getToolTipTextAt(src); - boolean enabled = mainTabbedPane.isEnabledAt(src); - int keycode = mainTabbedPane.getMnemonicAt(src); - int mnemonicLoc = mainTabbedPane.getDisplayedMnemonicIndexAt(src); - Color fg = mainTabbedPane.getForegroundAt(src); - Color bg = mainTabbedPane.getBackgroundAt(src); - - // Remove the tab - mainTabbedPane.remove(src); - - // Add a new tab - mainTabbedPane.insertTab(label, icon, comp, tooltip, dst); - - // Restore all properties - mainTabbedPane.setDisabledIconAt(dst, iconDis); - mainTabbedPane.setEnabledAt(dst, enabled); - mainTabbedPane.setMnemonicAt(dst, keycode); - mainTabbedPane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc); - mainTabbedPane.setForegroundAt(dst, fg); - mainTabbedPane.setBackgroundAt(dst, bg); - - TURTLEPanel o = tabs.elementAt(src); - tabs.removeElementAt(src); - tabs.insertElementAt(o, dst); - - mainTabbedPane.setSelectedIndex(dst); - } - - public void requestRenameTab(int index) { - String oldName = mainTabbedPane.getTitleAt(index); - String s = (String)JOptionPane.showInputDialog(frame, "Name: ", "Renaming a tab", JOptionPane.PLAIN_MESSAGE, IconManager.imgic101, null, mainTabbedPane.getTitleAt(index)); - if ((s != null) && (s.length() > 0)){ - // name already in use? - if (s.compareTo(oldName) != 0) { - if (isAValidTabName(s)) { - mainTabbedPane.setTitleAt(index, s); - changeMade(getCurrentTDiagramPanel(), /*((TURTLEPanel)(tabs.elementAt(index))).tdp*/TDiagramPanel.MOVE_COMPONENT); - - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel)) { - renameMapping(oldName, s); - } - } else { - JOptionPane.showMessageDialog(frame, "Invalid name", "Error", JOptionPane.INFORMATION_MESSAGE); - } - - } - } - changeMade(null, -1); - } - - public void renameMapping(String oldName, String newName) { - TURTLEPanel tp; - - for(int i = 0; i<mainTabbedPane.getTabCount(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof TMLArchiPanel) { - ((TMLArchiPanel)tp).renameMapping(oldName, newName); - } - } - - } - - public void renameDeployment(String oldName, String newName) { - TURTLEPanel tp; - - for(int i = 0; i<mainTabbedPane.getTabCount(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (tp instanceof ADDPanel) { - ((ADDPanel)tp).renameDeployment(oldName, newName); - } - } - - } - - public boolean selectTDiagramPanel(TDiagramPanel tdp) { - return (selectTab(getPoint(tdp)) == tdp); - } - - public boolean selectTab(TURTLEPanel tp, String s) { - int j; - int index1 = tabs.indexOf(tp); - - if (mainTabbedPane.getSelectedIndex() != index1) { - mainTabbedPane.setSelectedIndex(index1); - } - - for(j=0; j<tp.tabbedPane.getTabCount(); j++) { - if (tp.tabbedPane.getTitleAt(j).equals(s)) { - tp.tabbedPane.setSelectedIndex(j); - return true; - } - } - - return false; - } - - public boolean selectTab(String s) { - return selectTab(getCurrentTURTLEPanel(), s); - } - - public void openTMLTaskActivityDiagram(String panel, String tab) { - int index = mainTabbedPane.indexOfTab(panel); - if (index != -1) { - mainTabbedPane.setSelectedIndex(index); - } - openTMLTaskActivityDiagram(tab); - } - - public void openTMLTaskActivityDiagram(String tab) { - selectTab(getCurrentTURTLEPanel(), tab); - } - - public void refreshCurrentPanel() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void openAVATARSMD(String tab) { - TDiagramPanel cur = getCurrentTDiagramPanel(); - selectTab(getCurrentTURTLEPanel(), tab); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp == cur) { - tdp.repaint(); - } - } - - public boolean selectHighLevelTab(String s) { - TURTLEPanel tp = getTURTLEPanel(s); - if (s != null) { - selectTab(tp); - return true; - } - return false; - } - - public TDiagramPanel selectTab(Point p) { - mainTabbedPane.setSelectedIndex(p.x); - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(p.x)); - tp.tabbedPane.setSelectedIndex(p.y); - return (TDiagramPanel)(tp.panels.elementAt(p.y)); - - } - - public Point getCurrentSelectedPoint() { - Point p = new Point(); - - p.x = mainTabbedPane.getSelectedIndex(); - if (getCurrentTURTLEPanel() == null) { - p.y = -1; - } else { - p.y = getCurrentTURTLEPanel().tabbedPane.getSelectedIndex(); - } - - return p; - } - - public Point getPoint(TDiagramPanel tdp) { - Point p = new Point(); - - int index; - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - index = tp.panels.indexOf(tdp); - if (index > -1) { - p.x = i; - p.y = index; - return p; - } - } - p.x = 0; - p.y = 0; - - return p; - } - - public DesignPanel getDesignPanel(String name) { - int index = mainTabbedPane.indexOfTab(name); - try { - TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); - - if (tp instanceof DesignPanel) { - return (DesignPanel)tp; - } else { - return null; - } - } catch (Exception e) { - return null; - } - } - //---------------------------------- DDD ------------------------------------ - // return current deployment panel - - public ADDDiagramPanel getDeploymentPanel() { - ADDDiagramPanel deploymentDiagram = null ; //(ADDDiagramPanel)activetdp; - TURTLEPanel tp = getCurrentTURTLEPanel(); - Vector<TDiagramPanel> ps = tp.panels; - for(TDiagramPanel panel : ps ){ - if (panel instanceof ADDDiagramPanel){ - deploymentDiagram = (ADDDiagramPanel)panel; - } - } - if(deploymentDiagram == null) - System.err.println("No ADDDiagramPanel found : MainGUI.getDeploymentPanel()"); - return deploymentDiagram; - } - - - public ADDDiagramPanel getFirstAvatarDeploymentPanelFound(){ - ADDDiagramPanel adp = null; - for(int i =0 ; i<tabs.size();i++) - if(tabs.get(i) instanceof ADDPanel){ - adp = ((ADDPanel)tabs.get(i)).tmladd; - } - if (adp == null) - System.err.println("No AvatarDeployment Panel Found : MainGUI.getFirstAvatarDeploymentPanelFound()"); - return adp; - } - - - // find the first Design Panel in MainGUI.tabs - - public AvatarDesignPanel getFirstAvatarDesignPanelFound(){ - AvatarDesignPanel adp = null; - for(int i =0 ; i<tabs.size();i++) - if(tabs.get(i) instanceof AvatarDesignPanel){ - adp = (AvatarDesignPanel)tabs.get(i); - } - if (adp == null) - System.err.println("No AvatarDesign Panel Found : MainGUI.getFirstAvatarDesignPanel()"); - return adp; - } - - - public void extracDeploymentDiagramToFile(){ - - ADDDiagramPanel deploymentDiagramPanel = getDeploymentPanel(); - AvatarDesignPanel designDiagramPanel = getFirstAvatarDesignPanelFound(); - - AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); - /*AvatarddSpecification avddspec =*/ avdeploymenttranslator.getAvatarddSpecification(); - - - AvatarDesignPanelTranslator avdesigntranslator = new AvatarDesignPanelTranslator( designDiagramPanel); - List<AvatarBDStateMachineOwner> adp = designDiagramPanel.getAvatarBDPanel().getFullStateMachineOwnerList(); - /*AvatarSpecification avaspec =*/ avdesigntranslator.generateAvatarSpecification(adp); - - //DG - //LinkedList<AvatarComponent> components = AvatarddSpecification.getComponents(); - //AvatarToFile tofile; - //tofile = new AvatarToFile(components,avaspec); - //tofile.extracParamToFile(); - } - - public void avatarToSoclib(){ - //DG 6.2. appelee nulle part? - - ADDDiagramPanel deploymentDiagramPanel = getDeploymentPanel(); - AvatarDesignPanel designDiagramPanel = getFirstAvatarDesignPanelFound(); - - AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); - AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); - - - AvatarDesignPanelTranslator avdesigntranslator = new AvatarDesignPanelTranslator( designDiagramPanel); - - LinkedList<AvatarBDStateMachineOwner> adp = designDiagramPanel.getAvatarBDPanel().getFullStateMachineOwnerList(); - AvatarSpecification avaspec = avdesigntranslator.generateAvatarSpecification(adp); - - // Generator for block tasks and application main file - - TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avaspec); - gene.generateSoclib(false,false); - try{ - //System.err.println("ok"); - gene.saveInFiles(TasksAndMainGenerator.getGeneratedPath()); - }catch(FileException e){ - System.err.println("FileException : MainGUI.avatarToSoclib()"); - } - - } - //--------------------end DDD------------------------------------------------ - - public boolean selectMainTab(String id) { - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - if (getTabName(tp).compareTo(id) == 0) { - selectTab(tp); - return true; - } - } - - return false; - } - - public void selectTab(TURTLEPanel tp) { - int index1 = tabs.indexOf(tp); - mainTabbedPane.setSelectedIndex(index1); - } - - public void selectTab(TDiagramPanel tdp) { - int index; - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - index = tp.panels.indexOf(tdp); - if (index > -1) { - selectTab(tp); - tp.tabbedPane.setSelectedIndex(index); - } - } - } - - public void toggleAttributes() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ - //TraceManager.addDev("Toggle attributes"); - TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; - tdcp.setAttributesVisible(!tdcp.areAttributesVisible()); - tdcp.checkAllMySize(); - tdcp.repaint(); - changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - // AVATAR Simulation - public void setAVATARIDs(boolean b) { - TDiagramPanel.AVATAR_ID_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void toggleAVATARIDs() { - setAVATARIDs(!TDiagramPanel.AVATAR_ID_ON); - TraceManager.addDev("AVATAR id: " + TDiagramPanel.AVATAR_ID_ON); - } - - // For simulation purpose - public void resetAllDIPLOIDs() { - TURTLEPanel tp; - - for(int i=0; i<tabs.size(); i++) { - tp = (TURTLEPanel)(tabs.elementAt(i)); - tp.resetAllDIPLOIDs(); - } - } - - public void toggleDiploIDs() { - setDiploIDs(!TDiagramPanel.DIPLO_ID_ON); - } - - public void toggleTEPEIDs() { - setTEPEIDs(!TDiagramPanel.TEPE_ID_ON); - } - - public void toggleDiploAnimate() { - setDiploAnimate(!TDiagramPanel.DIPLO_ANIMATE_ON); - } - - public int isRunningAvatarComponent(TGComponent _tgc) { - if(jfais.isVisible()) { - if (jfais.isRunningComponent(_tgc)) { - return 1; - } - if (jfais.isSelectedComponentFromTransaction(_tgc)) { - return 2; - } - } - return 0; - } - - public String[] hasMessageInformationForAvatarConnector(AvatarBDPortConnector _conn) { - if(jfais.isVisible()) { - return jfais.getFirstMessagesOnEachConnectorSide(_conn); - } - return null; - } - - public void setDiploAnimate(boolean b) { - TDiagramPanel.DIPLO_ANIMATE_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void setAvatarAnimate(boolean b) { - TDiagramPanel.AVATAR_ANIMATE_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void setDiploIDs(boolean b) { - TDiagramPanel.DIPLO_ID_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void setTEPEIDs(boolean b) { - TDiagramPanel.TEPE_ID_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public void setTransationProgression(boolean b) { - TDiagramPanel.DIPLO_TRANSACTION_PROGRESSION_ON = b; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized RunningInfo isRunningID(int id) { - if (runningIDs == null) { - return null; - } - - for(RunningInfo ri: runningIDs) { - if (ri.id == id) { - return ri; - } - } - - return null; - } - public synchronized ArrayList<SimulationTransaction> getTransactions(int id){ - if (transactionMap == null) { - return null; - } - - return transactionMap.get(id); - } - public synchronized ConcurrentHashMap<String,String> getStatus(int id){ - if (statusMap == null) { - return null; - } - - return statusMap; - } - - public String getStatus(String s){ - if (statusMap==null){ - return null; - } - return statusMap.get(s); - } - public synchronized LoadInfo isLoadID(int id) { - if (loadIDs == null) { - return null; - } - - for(LoadInfo li: loadIDs) { - if (li.id == id) { - return li; - } - } - - return null; - } - - public synchronized void resetRunningID() { - if (runningIDs != null) { - runningIDs.clear(); - } - runningIDs = null; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized void resetLoadID() { - if (loadIDs != null) { - loadIDs.clear(); - } - loadIDs = null; - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - public synchronized void resetTransactions() { - transactionMap.clear(); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - public synchronized void resetStatus() { - statusMap.clear(); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized void addRunningIDTaskState(int _id, String _state) { - if (runningIDs == null) { - return; - } - - if (_state == null) { - _state = "unknown"; - } - - for(RunningInfo ri: runningIDs) { - if (ri.id == _id) { - ri.state = _state.toLowerCase(); - //TraceManager.addDev("Updated state on UML diagram"); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - return; - } - } - - } - - public synchronized void addRunningID(int _id, int _nextCommand, String _progression, String _startTime, String _finishTime, String _transStartTime, String _transFinishTime, String _state) { - if (runningIDs == null) { - runningIDs = new ArrayList<RunningInfo>(); - } - RunningInfo ri = new RunningInfo(); - if (_state == null) { - _state = "unknown"; - } - ri.id = _id; - ri.nextCommand = _nextCommand; - ri.progression = _progression; - ri.startTime = _startTime; - ri.finishTime = _finishTime; - ri.transStartTime = _transStartTime; - ri.transFinishTime = _transFinishTime; - ri.state = _state.toLowerCase(); - runningIDs.add(ri); - //TraceManager.addDev("Running id " + id + " added"); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - public synchronized void addTransaction(int _id, SimulationTransaction st){ - if (transactionMap.containsKey(_id)){ - if (!transactionMap.get(_id).contains(st)){ - transactionMap.get(_id).add(st); - } - } - else { - ArrayList<SimulationTransaction> ts = new ArrayList<SimulationTransaction>(); - ts.add(st); - transactionMap.put(_id, ts); - } - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized void addStatus(String task, String stat){ - statusMap.put(task, stat); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized void addLoadInfo(int _id, double _load, long _energy) { - if (loadIDs == null) { - loadIDs = new ArrayList<LoadInfo>(); - } - - removeLoadId(_id); - LoadInfo li = new LoadInfo(); - li.id = _id; - li.load = _load; - li.energy = _energy; - loadIDs.add(li); - //TraceManager.addDev("Running id " + _id + " added load=" + _load); - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.repaint(); - } - } - - public synchronized void removeRunningId(Integer id) { - if (runningIDs == null) { - return ; - } - - for(RunningInfo ri: runningIDs) { - if (ri.id == id.intValue()) { - runningIDs.remove(ri); - //TraceManager.addDev("Running id " + i + " removed"); - return; - } - } - getCurrentTDiagramPanel().repaint(); - } - - public synchronized void removeLoadId(int _id) { - if (loadIDs == null) { - return ; - } - - for(LoadInfo li: loadIDs) { - if (li.id == _id) { - loadIDs.remove(li); - //TraceManager.addDev("Running id " + i + " removed"); - return; - } - } - getCurrentTDiagramPanel().repaint(); - } - - public void toggleGates() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ - //TraceManager.addDev("Toggle gates"); - TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; - tdcp.setGatesVisible(!tdcp.areGatesVisible()); - tdcp.checkAllMySize(); - tdcp.repaint(); - changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleSynchro() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ - //TraceManager.addDev("Toggle synchro"); - TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; - tdcp.setSynchroVisible(!tdcp.areSynchroVisible()); - tdcp.checkAllMySize(); - tdcp.repaint(); - changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleJava() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TActivityDiagramPanel)){ - //TraceManager.addDev("Toggle synchro"); - TActivityDiagramPanel tadp = (TActivityDiagramPanel)tdp; - tadp.setJavaVisible(!tadp.isJavaVisible()); - tadp.checkAllMySize(); - tadp.repaint(); - changeMade(tadp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleInternalComment() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null) { - tdp.setInternalCommentVisible((tdp.getInternalCommentVisible() + 1) % 3); - tdp.checkAllMySize(); - tdp.repaint(); - changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleAttr() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if (tdp != null){ - //TraceManager.addDev("Toggle attributes"); - tdp.setAttributes((tdp.getAttributeState() + 1) % 3); - tdp.checkAllMySize(); - tdp.repaint(); - changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleChannels() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ - //TraceManager.addDev("Toggle attributes"); - TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; - tmltdp.setChannelsVisible(!tmltdp.areChannelsVisible()); - tmltdp.checkAllMySize(); - tmltdp.repaint(); - changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleEvents() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ - //TraceManager.addDev("Toggle attributes"); - TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; - tmltdp.setEventsVisible(!tmltdp.areEventsVisible()); - tmltdp.checkAllMySize(); - tmltdp.repaint(); - changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public void toggleRequests() { - TDiagramPanel tdp = getCurrentTDiagramPanel(); - if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ - //TraceManager.addDev("Toggle attributes"); - TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; - tmltdp.setRequestsVisible(!tmltdp.areRequestsVisible()); - tmltdp.checkAllMySize(); - tmltdp.repaint(); - changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); - } - } - - public boolean isAValidTabName(String name) { - return name.matches("((\\w)*(\\s)*)*"); - } - - - - public void windowClosing(WindowEvent e) { - //frame.setVisible(false); - quitApplication(); - } - - public void windowClosed(WindowEvent e) { - } - - public void windowOpened(WindowEvent e) { - } - - public void windowIconified(WindowEvent e) { - } - - public void windowDeiconified(WindowEvent e) { - } - - public void windowActivated(WindowEvent e) { - } - - public void windowDeactivated(WindowEvent e) { - } - - - // TGUIACtions Event listener - - public void keyTyped(KeyEvent e) { - TraceManager.addDev("KEY TYPED"); - } - - public void keyPressed(KeyEvent e) { - TraceManager.addDev("KEY PRESSED: "); - } - - public void keyReleased(KeyEvent e) { - TraceManager.addDev("KEY RELEASED: "); - } - - public void actionPerformed(ActionEvent evt) { - String command = evt.getActionCommand(); - //TraceManager.addDev("Command:" + command); - TDiagramPanel tdp1 = getCurrentTDiagramPanel(); - if (tdp1 != null) { - //TraceManager.addDev("Stop Adding connector in maingui"); - tdp1.stopAddingConnector(); - } - - ActionPerformer.actionPerformed(this, evt, command, tdp1); - - - } - - private class PopupListener extends MouseAdapter /* popup menus onto tabs */ { - private MainGUI mgui; - private JPopupMenu menu; - - private JMenuItem rename, remove, moveRight, moveLeft, newDesign, newAnalysis, newDeployment, newRequirement/*, newTMLDesign*/, newTMLComponentDesign, newTMLArchi, newProactiveDesign, newTURTLEOSDesign, - newNCDesign, sort, clone, newAttackTree, newAVATARBD, newAVATARRequirement, newMAD, newTMLCP, newTMLMethodo, newAvatarMethodo, newAVATARDD, newSysmlsecMethodo; - private JMenuItem newAVATARAnalysis; - - public PopupListener(MainGUI _mgui) { - mgui = _mgui; - createMenu(); - } - - public void mousePressed(MouseEvent e) { - checkForPopup(e); - } - public void mouseReleased(MouseEvent e) { - checkForPopup(e); - } - public void mouseClicked(MouseEvent e) { - checkForPopup(e); - } - - private void checkForPopup(MouseEvent e) { - if(e.isPopupTrigger()) { - Component c = e.getComponent(); - //TraceManager.addDev("e =" + e + " Component=" + c); - updateMenu(mgui.getCurrentSelectedIndex()); - menu.show(c, e.getX(), e.getY()); - } - } - - private void createMenu() { - rename = createMenuItem("Rename"); - remove = createMenuItem("Remove"); - moveLeft = createMenuItem("Move to the left"); - moveRight = createMenuItem("Move to the right"); - sort = createMenuItem("Sort"); - clone = createMenuItem("Clone"); - newAnalysis = createMenuItem("New TURTLE Analysis"); - newDesign = createMenuItem("New TURTLE Design"); - newDeployment = createMenuItem("New TURTLE Deployment"); - - newAttackTree = createMenuItem("New Attack Tree"); - newRequirement = createMenuItem("New TURTLE Requirement Diagram"); + if (isAValidTabName(s)) { + JOptionPane.showMessageDialog(frame, "Invalid name", "Error", JOptionPane.INFORMATION_MESSAGE); + } else { + getCurrentJTabbedPane().setTitleAt(index, s); + tdp.setName(s); + changeMade(tdp, TDiagramPanel.NEW_COMPONENT); + } + } + } + } + + public void deleteTab(TDiagramPanel tdp) { + //TraceManager.addDev("Delete"); + + // We know the selected tab -> remove this tab + + int index; + JTabbedPane jtp = getCurrentJTabbedPane(); + index = jtp.getSelectedIndex(); + getCurrentTURTLEPanel().panels.removeElementAt(index); + jtp.remove(index); + + // Signal the change + changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + + } + + private void basicActivateDrawing() { + activetdp.setDraw(true); + if (activetdp.mode == TDiagramPanel.SELECTED_COMPONENTS) { + setMode(MainGUI.CUTCOPY_OK); + setMode(MainGUI.EXPORT_LIB_OK); + } else { + setMode(MainGUI.CUTCOPY_KO); + setMode(MainGUI.EXPORT_LIB_KO); + } + } + + private void unactivateDrawing() { + activetdp.setDraw(false); + } + + public void paneAction(ChangeEvent e) { + //TraceManager.addDev("Pane action"); + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + if (tdp1 != null) { + //TraceManager.addDev("Stop Adding connector in maingui"); + tdp1.stopAddingConnector(); + } + + try { + if (getCurrentTURTLEPanel() instanceof DesignPanel) { + setMethodologicalMode(METHO_DESIGN); + paneDesignAction(e); + } else if (getCurrentTURTLEPanel() instanceof AnalysisPanel) { + setMethodologicalMode(METHO_ANALYSIS); + paneAnalysisAction(e); + } else { + setMethodologicalMode(METHO_DEPLOY); + paneDeployAction(e); + } + + if ((getCurrentTURTLEPanel() instanceof AvatarDesignPanel) || (getCurrentTURTLEPanel() instanceof AvatarRequirementPanel) || (getCurrentTURTLEPanel() instanceof AttackTreePanel) || (getCurrentTURTLEPanel() instanceof ADDPanel)) { + mainBar.showAvatarActions(true); + } else if ((getCurrentTURTLEPanel() instanceof TMLDesignPanel) || (getCurrentTURTLEPanel() instanceof TMLComponentDesignPanel) || (getCurrentTURTLEPanel() instanceof TMLArchiPanel)){ + mainBar.showDiplodocusActions(true); + } else { + mainBar.showAvatarActions(false); + } + + setMode(PANEL_CHANGED); + + setEditMode(); + setPanelMode(); + + + } catch (Exception ex) { + //TraceManager.addDev("Exception pane action: " + ex.getMessage()); + } + } + + public JFrame getFrame() { + return frame; + } + + public boolean newTClassName(TURTLEPanel tp, String old, String niou) { + JTabbedPane jtp = tp.tabbedPane; + for(int i = 0; i<jtp.getTabCount(); i++) { + if (jtp.getTitleAt(i).equals(niou)) { + return false; + } + } + //TraceManager.addDev("old " + old + " niou " + niou); + for(int i = 0; i<jtp.getTabCount(); i++) { + //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); + if (jtp.getTitleAt(i).equals(old)) { + jtp.setTitleAt(i, niou); + jtp.setToolTipTextAt(i, "Opens the activity diagram of " + niou); + TDiagramPanel tdp; + //change panel name + for(int j=0; j<tp.panels.size(); j++) { + tdp = (TDiagramPanel)(tp.panels.elementAt(j)); + if (tdp.getName().equals(old)) { + tdp.setName(niou); + } + } + + return true; + } + } + // internal error + ErrorGUI.exit(ErrorGUI.ERROR_TAB); + return false; + } + + public boolean newTOSClassName(TURTLEPanel tp, String old, String niou) { + JTabbedPane jtp = tp.tabbedPane; + for(int i = 0; i<jtp.getTabCount(); i++) { + if (jtp.getTitleAt(i).equals(niou)) { + return false; + } + } + //TraceManager.addDev("old " + old + " niou " + niou); + for(int i = 0; i<jtp.getTabCount(); i++) { + //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); + if (jtp.getTitleAt(i).equals(old)) { + jtp.setTitleAt(i, niou); + jtp.setToolTipTextAt(i, "Opens the TURTLE-OS activity diagram of " + niou); + TDiagramPanel tdp; + //change panel name + for(int j=0; j<tp.panels.size(); j++) { + tdp = (TDiagramPanel)(tp.panels.elementAt(j)); + if (tdp.getName().equals(old)) { + tdp.setName(niou); + } + } + + return true; + } + } + // internal error + ErrorGUI.exit(ErrorGUI.ERROR_TAB); + return false; + } + + public boolean newTMLTaskName(TURTLEPanel tp, String old, String niou) { + //TraceManager.addDev("Panel=" + tp + " Old task name = " + old + " New task name=" + niou); + JTabbedPane jtp = tp.tabbedPane; + for(int i = 0; i<jtp.getTabCount(); i++) { + //TraceManager.addDev("jtp = " + jtp.getTitleAt(i)); + if (jtp.getTitleAt(i).equals(niou)) { + return false; + } + } + //TraceManager.addDev("old " + old + " niou " + niou); + for(int i = 0; i<jtp.getTabCount(); i++) { + //TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); + //TraceManager.addDev("jtp = " + jtp.getTitleAt(i)); + if (jtp.getTitleAt(i).equals(old)) { + jtp.setTitleAt(i, niou); + jtp.setToolTipTextAt(i, "Opens the TML activity diagram of " + niou); + TDiagramPanel tdp; + //change panel name + for(int j=0; j<tp.panels.size(); j++) { + tdp = (TDiagramPanel)(tp.panels.elementAt(j)); + if (tdp.getName().equals(old)) { + tdp.setName(niou); + //TraceManager.addDev("Renamed to " + niou); + } + } + + return true; + } + } + // internal error + ErrorGUI.exit(ErrorGUI.ERROR_TAB); + return false; + } + + public boolean nameComponentInUse(TURTLEPanel tp, String old, String niou) { + JTabbedPane jtp = tp.tabbedPane; + for(int i = 0; i<jtp.getTabCount(); i++) { + if (jtp.getTitleAt(i).equals(niou)) { + return true; + } + } + return false; + } + + public boolean newTMLComponentTaskName(TURTLEPanel tp, String old, String niou) { + JTabbedPane jtp = tp.tabbedPane; + for(int i = 0; i<jtp.getTabCount(); i++) { + if (jtp.getTitleAt(i).equals(niou)) { + return false; + } + } + TraceManager.addDev("old " + old + " niou " + niou); + for(int i = 0; i<jtp.getTabCount(); i++) { + TraceManager.addDev("Tab " + i + " = " + mainTabbedPane.getTitleAt(i)); + if (jtp.getTitleAt(i).equals(old)) { + jtp.setTitleAt(i, niou); + jtp.setToolTipTextAt(i, "Opens the TML activity diagram of " + niou); + TDiagramPanel tdp; + //change panel name + for(int j=0; j<tp.panels.size(); j++) { + tdp = (TDiagramPanel)(tp.panels.elementAt(j)); + if (tdp.getName().equals(old)) { + tdp.setName(niou); + } + } + + return true; + } + } + // internal error + ErrorGUI.exit(ErrorGUI.ERROR_TAB); + return false; + } + + public void cloneTab(int index) { + String s = gtm.makeXMLFromTurtleModeling(index, "_cloned"); + try { + gtm.loadModelingFromXML(s); + changeMade(null, -1); + } catch (MalformedModelingException mme) { + JOptionPane.showMessageDialog(frame, "Modeling could not be loaded (unsupported file) ", "Error when loading modeling", JOptionPane.INFORMATION_MESSAGE); + frame.setTitle("TTool: unamed project"); + } + + } + public void cloneRenameTab(int index, String s){ + cloneTab(index); + mainTabbedPane.setTitleAt(tabs.size()-1, mainTabbedPane.getTitleAt(index)+"_"+s); + } + public void requestRemoveTab(int index) { + if (index >= tabs.size()) { + return; + } + + tabs.removeElementAt(index); + mainTabbedPane.remove(index); + changeMade(null, -1); + } + + public void requestMoveRightTab(int index) { + //TraceManager.addDev("Move right"); + if (index > tabs.size()-2) { + return; + } + requestMoveTabFromTo(index, index + 1); + changeMade(null, -1); + } + + public void requestMoveLeftTab(int index) { + //TraceManager.addDev("Move left"); + if (index < 1) { + return; + } + requestMoveTabFromTo(index, index-1); + changeMade(null, -1); + } + + public void requestMoveTabFromTo(int src, int dst) { + + // Get all the properties + Component comp = mainTabbedPane.getComponentAt(src); + String label = mainTabbedPane.getTitleAt(src); + Icon icon = mainTabbedPane.getIconAt(src); + Icon iconDis = mainTabbedPane.getDisabledIconAt(src); + String tooltip = mainTabbedPane.getToolTipTextAt(src); + boolean enabled = mainTabbedPane.isEnabledAt(src); + int keycode = mainTabbedPane.getMnemonicAt(src); + int mnemonicLoc = mainTabbedPane.getDisplayedMnemonicIndexAt(src); + Color fg = mainTabbedPane.getForegroundAt(src); + Color bg = mainTabbedPane.getBackgroundAt(src); + + // Remove the tab + mainTabbedPane.remove(src); + + // Add a new tab + mainTabbedPane.insertTab(label, icon, comp, tooltip, dst); + + // Restore all properties + mainTabbedPane.setDisabledIconAt(dst, iconDis); + mainTabbedPane.setEnabledAt(dst, enabled); + mainTabbedPane.setMnemonicAt(dst, keycode); + mainTabbedPane.setDisplayedMnemonicIndexAt(dst, mnemonicLoc); + mainTabbedPane.setForegroundAt(dst, fg); + mainTabbedPane.setBackgroundAt(dst, bg); + + TURTLEPanel o = tabs.elementAt(src); + tabs.removeElementAt(src); + tabs.insertElementAt(o, dst); + + mainTabbedPane.setSelectedIndex(dst); + } + + public void requestRenameTab(int index) { + String oldName = mainTabbedPane.getTitleAt(index); + String s = (String)JOptionPane.showInputDialog(frame, "Name: ", "Renaming a tab", JOptionPane.PLAIN_MESSAGE, IconManager.imgic101, null, mainTabbedPane.getTitleAt(index)); + if ((s != null) && (s.length() > 0)){ + // name already in use? + if (s.compareTo(oldName) != 0) { + if (isAValidTabName(s)) { + mainTabbedPane.setTitleAt(index, s); + changeMade(getCurrentTDiagramPanel(), /*((TURTLEPanel)(tabs.elementAt(index))).tdp*/TDiagramPanel.MOVE_COMPONENT); + + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel)) { + renameMapping(oldName, s); + } + } else { + JOptionPane.showMessageDialog(frame, "Invalid name", "Error", JOptionPane.INFORMATION_MESSAGE); + } + + } + } + changeMade(null, -1); + } + + public void renameMapping(String oldName, String newName) { + TURTLEPanel tp; + + for(int i = 0; i<mainTabbedPane.getTabCount(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof TMLArchiPanel) { + ((TMLArchiPanel)tp).renameMapping(oldName, newName); + } + } + + } + + public void renameDeployment(String oldName, String newName) { + TURTLEPanel tp; + + for(int i = 0; i<mainTabbedPane.getTabCount(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (tp instanceof ADDPanel) { + ((ADDPanel)tp).renameDeployment(oldName, newName); + } + } + + } + + public boolean selectTDiagramPanel(TDiagramPanel tdp) { + return (selectTab(getPoint(tdp)) == tdp); + } + + public boolean selectTab(TURTLEPanel tp, String s) { + int j; + int index1 = tabs.indexOf(tp); + + if (mainTabbedPane.getSelectedIndex() != index1) { + mainTabbedPane.setSelectedIndex(index1); + } + + for(j=0; j<tp.tabbedPane.getTabCount(); j++) { + if (tp.tabbedPane.getTitleAt(j).equals(s)) { + tp.tabbedPane.setSelectedIndex(j); + return true; + } + } + + return false; + } + + public boolean selectTab(String s) { + return selectTab(getCurrentTURTLEPanel(), s); + } + + public void openTMLTaskActivityDiagram(String panel, String tab) { + int index = mainTabbedPane.indexOfTab(panel); + if (index != -1) { + mainTabbedPane.setSelectedIndex(index); + } + openTMLTaskActivityDiagram(tab); + } + + public void openTMLTaskActivityDiagram(String tab) { + selectTab(getCurrentTURTLEPanel(), tab); + } + + public void refreshCurrentPanel() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void openAVATARSMD(String tab) { + TDiagramPanel cur = getCurrentTDiagramPanel(); + selectTab(getCurrentTURTLEPanel(), tab); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp == cur) { + tdp.repaint(); + } + } + + public boolean selectHighLevelTab(String s) { + TURTLEPanel tp = getTURTLEPanel(s); + if (s != null) { + selectTab(tp); + return true; + } + return false; + } + + public TDiagramPanel selectTab(Point p) { + mainTabbedPane.setSelectedIndex(p.x); + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(p.x)); + tp.tabbedPane.setSelectedIndex(p.y); + return (TDiagramPanel)(tp.panels.elementAt(p.y)); + + } + + public Point getCurrentSelectedPoint() { + Point p = new Point(); + + p.x = mainTabbedPane.getSelectedIndex(); + if (getCurrentTURTLEPanel() == null) { + p.y = -1; + } else { + p.y = getCurrentTURTLEPanel().tabbedPane.getSelectedIndex(); + } + + return p; + } + + public Point getPoint(TDiagramPanel tdp) { + Point p = new Point(); + + int index; + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + index = tp.panels.indexOf(tdp); + if (index > -1) { + p.x = i; + p.y = index; + return p; + } + } + p.x = 0; + p.y = 0; + + return p; + } + + public DesignPanel getDesignPanel(String name) { + int index = mainTabbedPane.indexOfTab(name); + try { + TURTLEPanel tp = (TURTLEPanel)(tabs.elementAt(index)); + + if (tp instanceof DesignPanel) { + return (DesignPanel)tp; + } else { + return null; + } + } catch (Exception e) { + return null; + } + } + //---------------------------------- DDD ------------------------------------ + // return current deployment panel + + public ADDDiagramPanel getDeploymentPanel() { + ADDDiagramPanel deploymentDiagram = null ; //(ADDDiagramPanel)activetdp; + TURTLEPanel tp = getCurrentTURTLEPanel(); + Vector<TDiagramPanel> ps = tp.panels; + for(TDiagramPanel panel : ps ){ + if (panel instanceof ADDDiagramPanel){ + deploymentDiagram = (ADDDiagramPanel)panel; + } + } + if(deploymentDiagram == null) + System.err.println("No ADDDiagramPanel found : MainGUI.getDeploymentPanel()"); + return deploymentDiagram; + } + + + public ADDDiagramPanel getFirstAvatarDeploymentPanelFound(){ + ADDDiagramPanel adp = null; + for(int i =0 ; i<tabs.size();i++) + if(tabs.get(i) instanceof ADDPanel){ + adp = ((ADDPanel)tabs.get(i)).tmladd; + } + if (adp == null) + System.err.println("No AvatarDeployment Panel Found : MainGUI.getFirstAvatarDeploymentPanelFound()"); + return adp; + } + + + // find the first Design Panel in MainGUI.tabs + + public AvatarDesignPanel getFirstAvatarDesignPanelFound(){ + AvatarDesignPanel adp = null; + for(int i =0 ; i<tabs.size();i++) + if(tabs.get(i) instanceof AvatarDesignPanel){ + adp = (AvatarDesignPanel)tabs.get(i); + } + if (adp == null) + System.err.println("No AvatarDesign Panel Found : MainGUI.getFirstAvatarDesignPanel()"); + return adp; + } + + + public void extracDeploymentDiagramToFile(){ + + ADDDiagramPanel deploymentDiagramPanel = getDeploymentPanel(); + AvatarDesignPanel designDiagramPanel = getFirstAvatarDesignPanelFound(); + + AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); + /*AvatarddSpecification avddspec =*/ avdeploymenttranslator.getAvatarddSpecification(); + + + AvatarDesignPanelTranslator avdesigntranslator = new AvatarDesignPanelTranslator( designDiagramPanel); + List<AvatarBDStateMachineOwner> adp = designDiagramPanel.getAvatarBDPanel().getFullStateMachineOwnerList(); + /*AvatarSpecification avaspec =*/ avdesigntranslator.generateAvatarSpecification(adp); + + //DG + //LinkedList<AvatarComponent> components = AvatarddSpecification.getComponents(); + //AvatarToFile tofile; + //tofile = new AvatarToFile(components,avaspec); + //tofile.extracParamToFile(); + } + + public void avatarToSoclib(){ + //DG 6.2. appelee nulle part? + + ADDDiagramPanel deploymentDiagramPanel = getDeploymentPanel(); + AvatarDesignPanel designDiagramPanel = getFirstAvatarDesignPanelFound(); + + AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); + AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); + + + AvatarDesignPanelTranslator avdesigntranslator = new AvatarDesignPanelTranslator( designDiagramPanel); + + LinkedList<AvatarBDStateMachineOwner> adp = designDiagramPanel.getAvatarBDPanel().getFullStateMachineOwnerList(); + AvatarSpecification avaspec = avdesigntranslator.generateAvatarSpecification(adp); + + // Generator for block tasks and application main file + + TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avaspec); + gene.generateSoclib(false,false); + try{ + //System.err.println("ok"); + gene.saveInFiles(TasksAndMainGenerator.getGeneratedPath()); + }catch(FileException e){ + System.err.println("FileException : MainGUI.avatarToSoclib()"); + } + + } + //--------------------end DDD------------------------------------------------ + + public boolean selectMainTab(String id) { + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + if (getTabName(tp).compareTo(id) == 0) { + selectTab(tp); + return true; + } + } + + return false; + } + + public void selectTab(TURTLEPanel tp) { + int index1 = tabs.indexOf(tp); + mainTabbedPane.setSelectedIndex(index1); + } + + public void selectTab(TDiagramPanel tdp) { + int index; + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + index = tp.panels.indexOf(tdp); + if (index > -1) { + selectTab(tp); + tp.tabbedPane.setSelectedIndex(index); + } + } + } + + public void toggleAttributes() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ + //TraceManager.addDev("Toggle attributes"); + TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; + tdcp.setAttributesVisible(!tdcp.areAttributesVisible()); + tdcp.checkAllMySize(); + tdcp.repaint(); + changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + // AVATAR Simulation + public void setAVATARIDs(boolean b) { + TDiagramPanel.AVATAR_ID_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void toggleAVATARIDs() { + setAVATARIDs(!TDiagramPanel.AVATAR_ID_ON); + TraceManager.addDev("AVATAR id: " + TDiagramPanel.AVATAR_ID_ON); + } + + // For simulation purpose + public void resetAllDIPLOIDs() { + TURTLEPanel tp; + + for(int i=0; i<tabs.size(); i++) { + tp = (TURTLEPanel)(tabs.elementAt(i)); + tp.resetAllDIPLOIDs(); + } + } + + public void toggleDiploIDs() { + setDiploIDs(!TDiagramPanel.DIPLO_ID_ON); + } + + public void toggleTEPEIDs() { + setTEPEIDs(!TDiagramPanel.TEPE_ID_ON); + } + + public void toggleDiploAnimate() { + setDiploAnimate(!TDiagramPanel.DIPLO_ANIMATE_ON); + } + + public int isRunningAvatarComponent(TGComponent _tgc) { + if(jfais.isVisible()) { + if (jfais.isRunningComponent(_tgc)) { + return 1; + } + if (jfais.isSelectedComponentFromTransaction(_tgc)) { + return 2; + } + } + return 0; + } + + public String[] hasMessageInformationForAvatarConnector(AvatarBDPortConnector _conn) { + if(jfais.isVisible()) { + return jfais.getFirstMessagesOnEachConnectorSide(_conn); + } + return null; + } + + public void setDiploAnimate(boolean b) { + TDiagramPanel.DIPLO_ANIMATE_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void setAvatarAnimate(boolean b) { + TDiagramPanel.AVATAR_ANIMATE_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void setDiploIDs(boolean b) { + TDiagramPanel.DIPLO_ID_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void setTEPEIDs(boolean b) { + TDiagramPanel.TEPE_ID_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public void setTransationProgression(boolean b) { + TDiagramPanel.DIPLO_TRANSACTION_PROGRESSION_ON = b; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized RunningInfo isRunningID(int id) { + if (runningIDs == null) { + return null; + } + + for(RunningInfo ri: runningIDs) { + if (ri.id == id) { + return ri; + } + } + + return null; + } + public synchronized ArrayList<SimulationTransaction> getTransactions(int id){ + if (transactionMap == null) { + return null; + } + + return transactionMap.get(id); + } + public synchronized ConcurrentHashMap<String,String> getStatus(int id){ + if (statusMap == null) { + return null; + } + + return statusMap; + } + + public String getStatus(String s){ + if (statusMap==null){ + return null; + } + return statusMap.get(s); + } + public synchronized LoadInfo isLoadID(int id) { + if (loadIDs == null) { + return null; + } + + for(LoadInfo li: loadIDs) { + if (li.id == id) { + return li; + } + } + + return null; + } + + public synchronized void resetRunningID() { + if (runningIDs != null) { + runningIDs.clear(); + } + runningIDs = null; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized void resetLoadID() { + if (loadIDs != null) { + loadIDs.clear(); + } + loadIDs = null; + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + public synchronized void resetTransactions() { + transactionMap.clear(); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + public synchronized void resetStatus() { + statusMap.clear(); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized void addRunningIDTaskState(int _id, String _state) { + if (runningIDs == null) { + return; + } + + if (_state == null) { + _state = "unknown"; + } + + for(RunningInfo ri: runningIDs) { + if (ri.id == _id) { + ri.state = _state.toLowerCase(); + //TraceManager.addDev("Updated state on UML diagram"); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + return; + } + } + + } + + public synchronized void addRunningID(int _id, int _nextCommand, String _progression, String _startTime, String _finishTime, String _transStartTime, String _transFinishTime, String _state) { + if (runningIDs == null) { + runningIDs = new ArrayList<RunningInfo>(); + } + RunningInfo ri = new RunningInfo(); + if (_state == null) { + _state = "unknown"; + } + ri.id = _id; + ri.nextCommand = _nextCommand; + ri.progression = _progression; + ri.startTime = _startTime; + ri.finishTime = _finishTime; + ri.transStartTime = _transStartTime; + ri.transFinishTime = _transFinishTime; + ri.state = _state.toLowerCase(); + runningIDs.add(ri); + //TraceManager.addDev("Running id " + id + " added"); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + public synchronized void addTransaction(int _id, SimulationTransaction st){ + if (transactionMap.containsKey(_id)){ + if (!transactionMap.get(_id).contains(st)){ + transactionMap.get(_id).add(st); + } + } + else { + ArrayList<SimulationTransaction> ts = new ArrayList<SimulationTransaction>(); + ts.add(st); + transactionMap.put(_id, ts); + } + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized void addStatus(String task, String stat){ + statusMap.put(task, stat); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized void addLoadInfo(int _id, double _load, long _energy) { + if (loadIDs == null) { + loadIDs = new ArrayList<LoadInfo>(); + } + + removeLoadId(_id); + LoadInfo li = new LoadInfo(); + li.id = _id; + li.load = _load; + li.energy = _energy; + loadIDs.add(li); + //TraceManager.addDev("Running id " + _id + " added load=" + _load); + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.repaint(); + } + } + + public synchronized void removeRunningId(Integer id) { + if (runningIDs == null) { + return ; + } + + for(RunningInfo ri: runningIDs) { + if (ri.id == id.intValue()) { + runningIDs.remove(ri); + //TraceManager.addDev("Running id " + i + " removed"); + return; + } + } + getCurrentTDiagramPanel().repaint(); + } + + public synchronized void removeLoadId(int _id) { + if (loadIDs == null) { + return ; + } + + for(LoadInfo li: loadIDs) { + if (li.id == _id) { + loadIDs.remove(li); + //TraceManager.addDev("Running id " + i + " removed"); + return; + } + } + getCurrentTDiagramPanel().repaint(); + } + + public void toggleGates() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ + //TraceManager.addDev("Toggle gates"); + TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; + tdcp.setGatesVisible(!tdcp.areGatesVisible()); + tdcp.checkAllMySize(); + tdcp.repaint(); + changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleSynchro() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TClassDiagramPanel)){ + //TraceManager.addDev("Toggle synchro"); + TClassDiagramPanel tdcp = (TClassDiagramPanel)tdp; + tdcp.setSynchroVisible(!tdcp.areSynchroVisible()); + tdcp.checkAllMySize(); + tdcp.repaint(); + changeMade(tdcp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleJava() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TActivityDiagramPanel)){ + //TraceManager.addDev("Toggle synchro"); + TActivityDiagramPanel tadp = (TActivityDiagramPanel)tdp; + tadp.setJavaVisible(!tadp.isJavaVisible()); + tadp.checkAllMySize(); + tadp.repaint(); + changeMade(tadp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleInternalComment() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null) { + tdp.setInternalCommentVisible((tdp.getInternalCommentVisible() + 1) % 3); + tdp.checkAllMySize(); + tdp.repaint(); + changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleAttr() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if (tdp != null){ + //TraceManager.addDev("Toggle attributes"); + tdp.setAttributes((tdp.getAttributeState() + 1) % 3); + tdp.checkAllMySize(); + tdp.repaint(); + changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleChannels() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ + //TraceManager.addDev("Toggle attributes"); + TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; + tmltdp.setChannelsVisible(!tmltdp.areChannelsVisible()); + tmltdp.checkAllMySize(); + tmltdp.repaint(); + changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleEvents() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ + //TraceManager.addDev("Toggle attributes"); + TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; + tmltdp.setEventsVisible(!tmltdp.areEventsVisible()); + tmltdp.checkAllMySize(); + tmltdp.repaint(); + changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public void toggleRequests() { + TDiagramPanel tdp = getCurrentTDiagramPanel(); + if ((tdp != null) && (tdp instanceof TMLTaskDiagramPanel)){ + //TraceManager.addDev("Toggle attributes"); + TMLTaskDiagramPanel tmltdp = (TMLTaskDiagramPanel)tdp; + tmltdp.setRequestsVisible(!tmltdp.areRequestsVisible()); + tmltdp.checkAllMySize(); + tmltdp.repaint(); + changeMade(tmltdp, TDiagramPanel.CHANGE_VALUE_COMPONENT); + } + } + + public boolean isAValidTabName(String name) { + return name.matches("((\\w)*(\\s)*)*"); + } + + + + public void windowClosing(WindowEvent e) { + //frame.setVisible(false); + quitApplication(); + } + + public void windowClosed(WindowEvent e) { + } + + public void windowOpened(WindowEvent e) { + } + + public void windowIconified(WindowEvent e) { + } + + public void windowDeiconified(WindowEvent e) { + } + + public void windowActivated(WindowEvent e) { + } + + public void windowDeactivated(WindowEvent e) { + } + + + // TGUIACtions Event listener + + public void keyTyped(KeyEvent e) { + TraceManager.addDev("KEY TYPED"); + } + + public void keyPressed(KeyEvent e) { + TraceManager.addDev("KEY PRESSED: "); + } + + public void keyReleased(KeyEvent e) { + TraceManager.addDev("KEY RELEASED: "); + } + + public void actionPerformed(ActionEvent evt) { + String command = evt.getActionCommand(); + //TraceManager.addDev("Command:" + command); + TDiagramPanel tdp1 = getCurrentTDiagramPanel(); + if (tdp1 != null) { + //TraceManager.addDev("Stop Adding connector in maingui"); + tdp1.stopAddingConnector(); + } + + ActionPerformer.actionPerformed(this, evt, command, tdp1); + + + } + + private class PopupListener extends MouseAdapter /* popup menus onto tabs */ { + private MainGUI mgui; + private JPopupMenu menu; + + private JMenuItem rename, remove, moveRight, moveLeft, newDesign, newAnalysis, newDeployment, newRequirement/*, newTMLDesign*/, newTMLComponentDesign, newTMLArchi, newProactiveDesign, newTURTLEOSDesign, + newNCDesign, sort, clone, newAttackTree, newAVATARBD, newAVATARRequirement, newMAD, newTMLCP, newTMLMethodo, newAvatarMethodo, newAVATARDD, newSysmlsecMethodo; + private JMenuItem newAVATARAnalysis; + + public PopupListener(MainGUI _mgui) { + mgui = _mgui; + createMenu(); + } + + public void mousePressed(MouseEvent e) { + checkForPopup(e); + } + public void mouseReleased(MouseEvent e) { + checkForPopup(e); + } + public void mouseClicked(MouseEvent e) { + checkForPopup(e); + } + + private void checkForPopup(MouseEvent e) { + if(e.isPopupTrigger()) { + Component c = e.getComponent(); + //TraceManager.addDev("e =" + e + " Component=" + c); + updateMenu(mgui.getCurrentSelectedIndex()); + menu.show(c, e.getX(), e.getY()); + } + } + + private void createMenu() { + rename = createMenuItem("Rename"); + remove = createMenuItem("Remove"); + moveLeft = createMenuItem("Move to the left"); + moveRight = createMenuItem("Move to the right"); + sort = createMenuItem("Sort"); + clone = createMenuItem("Clone"); + newAnalysis = createMenuItem("New TURTLE Analysis"); + newDesign = createMenuItem("New TURTLE Design"); + newDeployment = createMenuItem("New TURTLE Deployment"); + + newAttackTree = createMenuItem("New Attack Tree"); + newRequirement = createMenuItem("New TURTLE Requirement Diagram"); + + newTMLMethodo = createMenuItem("New DIPLODOCUS Methodology"); + + /*newTMLDesign =*/ createMenuItem("New Partitioning - Design"); + newTMLComponentDesign = createMenuItem("New Partitioning - Functional view"); + newTMLArchi = createMenuItem("New Partitioning - Architecture and Mapping"); + newTMLCP = createMenuItem("New Partitioning - Communication Pattern"); + newProactiveDesign = createMenuItem("New Proactive Design"); + newTURTLEOSDesign = createMenuItem("New TURTLE-OS Design"); + newNCDesign = createMenuItem("New Network Calculus Design"); + newMAD = createMenuItem("New Modeling Assumptions Diagram"); + newAVATARRequirement = createMenuItem("New Requirement Diagrams"); + newAVATARAnalysis = createMenuItem("New Analysis"); + newAVATARBD = createMenuItem("New Design"); + newAVATARDD = createMenuItem("New Deployment Diagram"); + newAvatarMethodo = createMenuItem("New AVATAR Methodology"); + newSysmlsecMethodo = createMenuItem("New SysML-Sec Methodology"); + + menu = new JPopupMenu("Views"); + menu.add(moveLeft); + menu.add(moveRight); + + menu.addSeparator(); + + menu.add(rename); + menu.add(remove); + + menu.addSeparator(); + + menu.add(sort); + + menu.addSeparator(); + + menu.add(clone); + + menu.addSeparator(); + + // TURTLE first and other old profiles. Old way + if (!avatarOnly) { + if (turtleOn) { + menu.add(newRequirement); + menu.add(newAnalysis); + menu.add(newDesign); + menu.add(newDeployment); + menu.addSeparator(); + } + + if (osOn) { + menu.add(newTURTLEOSDesign); + menu.addSeparator(); + //TraceManager.addDev("OS is on"); + } else { + //TraceManager.addDev("OS is off"); + } + + if (proactiveOn) { + menu.add(newProactiveDesign); + menu.addSeparator(); + } + + if (ncOn) { + menu.add(newNCDesign); + menu.addSeparator(); + } + + } - newTMLMethodo = createMenuItem("New DIPLODOCUS Methodology"); - - /*newTMLDesign =*/ createMenuItem("New Partitioning - Design"); - newTMLComponentDesign = createMenuItem("New Partitioning - Functional view"); - newTMLArchi = createMenuItem("New Partitioning - Architecture and Mapping"); - newTMLCP = createMenuItem("New Partitioning - Communication Pattern"); - newProactiveDesign = createMenuItem("New Proactive Design"); - newTURTLEOSDesign = createMenuItem("New TURTLE-OS Design"); - newNCDesign = createMenuItem("New Network Calculus Design"); - newMAD = createMenuItem("New Modeling Assumptions Diagram"); - newAVATARRequirement = createMenuItem("New Requirement Diagrams"); - newAVATARAnalysis = createMenuItem("New Analysis"); - newAVATARBD = createMenuItem("New Design"); - newAVATARDD = createMenuItem("New Deployment Diagram"); - newAvatarMethodo = createMenuItem("New AVATAR Methodology"); - newSysmlsecMethodo = createMenuItem("New SysML-Sec Methodology"); - - menu = new JPopupMenu("Views"); - menu.add(moveLeft); - menu.add(moveRight); - - menu.addSeparator(); - - menu.add(rename); - menu.add(remove); - - menu.addSeparator(); - - menu.add(sort); - - menu.addSeparator(); - - menu.add(clone); - - menu.addSeparator(); - - // TURTLE first and other old profiles. Old way - if (!avatarOnly) { - if (turtleOn) { - menu.add(newRequirement); - menu.add(newAnalysis); - menu.add(newDesign); - menu.add(newDeployment); - menu.addSeparator(); - } - - if (osOn) { - menu.add(newTURTLEOSDesign); - menu.addSeparator(); - //TraceManager.addDev("OS is on"); - } else { - //TraceManager.addDev("OS is off"); - } - - if (proactiveOn) { - menu.add(newProactiveDesign); - menu.addSeparator(); - } - - if (ncOn) { - menu.add(newNCDesign); - menu.addSeparator(); - } - - } - - - - // Methodologies - if (!avatarOnly) { - if (systemcOn) { - menu.add(newTMLMethodo); - } - - } - - if (avatarOn) { - menu.add(newAvatarMethodo); - menu.add(newSysmlsecMethodo); - } - menu.addSeparator(); - - - //diagrams - if (!avatarOnly) { - if (systemcOn) { - - //menu.add(newTMLMethodo); - //menu.add(newTMLDesign); - menu.add(newTMLComponentDesign); - menu.add(newTMLCP); - menu.add(newTMLArchi); - menu.addSeparator(); - } - } - - if (avatarOn) { - // menu.addSeparator(); - //menu.add(newAvatarMethodo); - - menu.add(newMAD); - menu.add(newAVATARRequirement); - menu.add(newAttackTree); - menu.add(newAVATARAnalysis); - menu.add(newAVATARBD); - if (experimentalOn) { - menu.add(newAVATARDD); - } - } - - } - - private JMenuItem createMenuItem(String s) { - JMenuItem item = new JMenuItem(s); - item.setActionCommand(s); - item.addActionListener(listener); - return item; - } - - private void updateMenu(int index) { - //TraceManager.addDev("UpdateMenu index=" + index); - if (index < 1) { - moveLeft.setEnabled(false); - } else { - moveLeft.setEnabled(true); - } - - if (index + 1 < mgui.tabs.size()) { - moveRight.setEnabled(true); - } else { - moveRight.setEnabled(false); - } - - if (index < 0) { - rename.setEnabled(false); - remove.setEnabled(false); - clone.setEnabled(false); - } else { - rename.setEnabled(true); - remove.setEnabled(true); - clone.setEnabled(true); - } - - if (mgui.mainTabbedPane.getTabCount() < 2) { - sort.setEnabled(false); - } else { - sort.setEnabled(true); - } - } - - private Action listener = new AbstractAction() { - - /** - * - */ - private static final long serialVersionUID = -3632935027104753332L; - - @Override - public void actionPerformed(ActionEvent e) { - JMenuItem item = (JMenuItem)e.getSource(); - String ac = item.getActionCommand(); - if(ac.equals("Rename")) { - mgui.requestRenameTab(mainTabbedPane.getSelectedIndex()); - } else if (ac.equals("Remove")) { - mgui.requestRemoveTab(mainTabbedPane.getSelectedIndex()); - } else if (ac.equals("Move to the left")) { - mgui.requestMoveLeftTab(mainTabbedPane.getSelectedIndex()); - } else if (ac.equals("Move to the right")) { - mgui.requestMoveRightTab(mainTabbedPane.getSelectedIndex()); - } else if (ac.equals("Sort")) { - GraphicLib.sortJTabbedPane(mgui.mainTabbedPane, mgui.tabs, 0, mgui.mainTabbedPane.getTabCount()); - mgui.changeMade(null, -1); - } else if (ac.equals("Clone")) { - mgui.cloneTab(mainTabbedPane.getSelectedIndex()); - } else if (ac.equals("New TURTLE Analysis")) { - mgui.newAnalysis(); - } else if (ac.equals("New TURTLE Design")) { - mgui.newDesign(); - } else if (ac.equals("New TURTLE Deployment")) { - mgui.newDeployment(); - } else if (e.getSource() == newAttackTree) { - mgui.newAttackTree(); - } else if (ac.equals("New TURTLE Requirement Diagram")) { - mgui.newRequirement(); - } else if (e.getSource() == newTMLMethodo) { - mgui.newDiplodocusMethodology(); - } else if (e.getSource() == newAvatarMethodo) { - mgui.newAvatarMethodology(); - } else if (e.getSource() == newSysmlsecMethodo) { - mgui.newSysmlsecMethodology(); - } else if (ac.equals("New DIPLODOCUS Design")) { - mgui.newTMLDesign(); - } else if (e.getSource() == newTMLComponentDesign) { - mgui.newTMLComponentDesign(); - } else if (e.getSource() == newTMLCP) { - mgui.newTMLCP(); - } else if (e.getSource() == newTMLArchi) { - mgui.newTMLArchi(); - } else if (ac.equals("New Proactive Design")) { - mgui.newProactiveDesign(); - } else if (ac.equals("New TURTLE-OS Design")) { - mgui.newTURTLEOSDesign(); - } else if (e.getSource() == newNCDesign) { - mgui.newNCDesign(); - } else if (e.getSource() == newAVATARBD) { - mgui.newAvatarBD(); - } else if (e.getSource() == newAVATARDD) { - mgui.newADD(); - } else if (e.getSource() == newAVATARRequirement) { - mgui.newAvatarRequirement(); - } else if (e.getSource() == newMAD) { - mgui.newAvatarMADs(); - } else if (e.getSource() == newAVATARAnalysis) { - mgui.newAvatarAnalysis(); - } - } - }; - } - - - /** - * This adapter is constructed to handle mouse over component events. - */ - private class MouseHandler extends MouseAdapter { - - private JLabel label; - - /** - * ctor for the adapter. - * @param label the JLabel which will recieve value of the - * Action.LONG_DESCRIPTION key. - */ - public MouseHandler(JLabel label) { - setLabel(label); - } - - public void setLabel(JLabel label) { - this.label = label; - } - - public void mouseEntered(MouseEvent evt) { - if (evt.getSource() instanceof AbstractButton) { - AbstractButton button = (AbstractButton)evt.getSource(); - Action action = button.getAction(); - if (action != null) { - String message = (String)action.getValue(Action.LONG_DESCRIPTION); - label.setText(message); - } - } - } - } - - // Get the currently opened architecture panel - public TMLArchiPanel getCurrentArchiPanel() { - return tmlap; - } + + + // Methodologies + if (!avatarOnly) { + if (systemcOn) { + menu.add(newTMLMethodo); + } + + } + + if (avatarOn) { + menu.add(newAvatarMethodo); + menu.add(newSysmlsecMethodo); + } + menu.addSeparator(); + + + //diagrams + if (!avatarOnly) { + if (systemcOn) { + + //menu.add(newTMLMethodo); + //menu.add(newTMLDesign); + menu.add(newTMLComponentDesign); + menu.add(newTMLCP); + menu.add(newTMLArchi); + menu.addSeparator(); + } + } + + if (avatarOn) { + // menu.addSeparator(); + //menu.add(newAvatarMethodo); + + menu.add(newMAD); + menu.add(newAVATARRequirement); + menu.add(newAttackTree); + menu.add(newAVATARAnalysis); + menu.add(newAVATARBD); + if (experimentalOn) { + menu.add(newAVATARDD); + } + } + + } + + + + private JMenuItem createMenuItem(String s) { + JMenuItem item = new JMenuItem(s); + item.setActionCommand(s); + item.addActionListener(listener); + return item; + } + + private void updateMenu(int index) { + //TraceManager.addDev("UpdateMenu index=" + index); + if (index < 1) { + moveLeft.setEnabled(false); + } else { + moveLeft.setEnabled(true); + } + + if (index + 1 < mgui.tabs.size()) { + moveRight.setEnabled(true); + } else { + moveRight.setEnabled(false); + } + + if (index < 0) { + rename.setEnabled(false); + remove.setEnabled(false); + clone.setEnabled(false); + } else { + rename.setEnabled(true); + remove.setEnabled(true); + clone.setEnabled(true); + } + + if (mgui.mainTabbedPane.getTabCount() < 2) { + sort.setEnabled(false); + } else { + sort.setEnabled(true); + } + } + + private Action listener = new AbstractAction() { + + /** + * + */ + private static final long serialVersionUID = -3632935027104753332L; + + @Override + public void actionPerformed(ActionEvent e) { + JMenuItem item = (JMenuItem)e.getSource(); + String ac = item.getActionCommand(); + if(ac.equals("Rename")) { + mgui.requestRenameTab(mainTabbedPane.getSelectedIndex()); + } else if (ac.equals("Remove")) { + mgui.requestRemoveTab(mainTabbedPane.getSelectedIndex()); + } else if (ac.equals("Move to the left")) { + mgui.requestMoveLeftTab(mainTabbedPane.getSelectedIndex()); + } else if (ac.equals("Move to the right")) { + mgui.requestMoveRightTab(mainTabbedPane.getSelectedIndex()); + } else if (ac.equals("Sort")) { + GraphicLib.sortJTabbedPane(mgui.mainTabbedPane, mgui.tabs, 0, mgui.mainTabbedPane.getTabCount()); + mgui.changeMade(null, -1); + } else if (ac.equals("Clone")) { + mgui.cloneTab(mainTabbedPane.getSelectedIndex()); + } else if (ac.equals("New TURTLE Analysis")) { + mgui.newAnalysis(); + } else if (ac.equals("New TURTLE Design")) { + mgui.newDesign(); + } else if (ac.equals("New TURTLE Deployment")) { + mgui.newDeployment(); + } else if (e.getSource() == newAttackTree) { + mgui.newAttackTree(); + } else if (ac.equals("New TURTLE Requirement Diagram")) { + mgui.newRequirement(); + } else if (e.getSource() == newTMLMethodo) { + mgui.newDiplodocusMethodology(); + } else if (e.getSource() == newAvatarMethodo) { + mgui.newAvatarMethodology(); + } else if (e.getSource() == newSysmlsecMethodo) { + mgui.newSysmlsecMethodology(); + } else if (ac.equals("New DIPLODOCUS Design")) { + mgui.newTMLDesign(); + } else if (e.getSource() == newTMLComponentDesign) { + mgui.newTMLComponentDesign(); + } else if (e.getSource() == newTMLCP) { + mgui.newTMLCP(); + } else if (e.getSource() == newTMLArchi) { + mgui.newTMLArchi(); + } else if (ac.equals("New Proactive Design")) { + mgui.newProactiveDesign(); + } else if (ac.equals("New TURTLE-OS Design")) { + mgui.newTURTLEOSDesign(); + } else if (e.getSource() == newNCDesign) { + mgui.newNCDesign(); + } else if (e.getSource() == newAVATARBD) { + mgui.newAvatarBD(); + } else if (e.getSource() == newAVATARDD) { + mgui.newADD(); + } else if (e.getSource() == newAVATARRequirement) { + mgui.newAvatarRequirement(); + } else if (e.getSource() == newMAD) { + mgui.newAvatarMADs(); + } else if (e.getSource() == newAVATARAnalysis) { + mgui.newAvatarAnalysis(); + } + } + }; + } + + + /** + * This adapter is constructed to handle mouse over component events. + */ + private class MouseHandler extends MouseAdapter { + + private JLabel label; + + /** + * ctor for the adapter. + * @param label the JLabel which will recieve value of the + * Action.LONG_DESCRIPTION key. + */ + public MouseHandler(JLabel label) { + setLabel(label); + } + + public void setLabel(JLabel label) { + this.label = label; + } + + public void mouseEntered(MouseEvent evt) { + if (evt.getSource() instanceof AbstractButton) { + AbstractButton button = (AbstractButton)evt.getSource(); + Action action = button.getAction(); + if (action != null) { + String message = (String)action.getValue(Action.LONG_DESCRIPTION); + label.setText(message); + } + } + } + } + + // Get the currently opened architecture panel + public TMLArchiPanel getCurrentArchiPanel() { + return tmlap; + } } // Class MainGUI diff --git a/src/ui/ModeManager.java b/src/ui/ModeManager.java index 415934e1e88f1eff0d47c26a028d679f7d8c49df..58c72430aba0e5ef8e8bba6484adcdc0416135c8 100755 --- a/src/ui/ModeManager.java +++ b/src/ui/ModeManager.java @@ -60,6 +60,7 @@ public class ModeManager { mgui.activeActions(false); actions[TGUIAction.ACT_NEW].setEnabled(true); actions[TGUIAction.ACT_OPEN].setEnabled(true); + actions[TGUIAction.ACT_OPEN_FROM_NETWORK].setEnabled(true); actions[TGUIAction.ACT_OPEN_TIF].setEnabled(true); actions[TGUIAction.ACT_OPEN_SD].setEnabled(true); actions[TGUIAction.ACT_OPEN_LAST].setEnabled(true); diff --git a/src/ui/TDiagramPanel.java b/src/ui/TDiagramPanel.java index e688e840f109ca1b06e4d7015544c673b7c3eb8d..3e053525a391664a7d8ab3e4919d5edb79083f5d 100755 --- a/src/ui/TDiagramPanel.java +++ b/src/ui/TDiagramPanel.java @@ -165,7 +165,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { protected final int increment = 500; private double zoom = 1.0; - // private boolean zoomed = false; + // private boolean zoomed = false; private boolean draw; @@ -403,9 +403,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { //TraceManager.addDev("Painting " + tgc.getName() + " x=" + tgc.getX() + " y=" + tgc.getY()); tgc.draw(g); } - else { - //TraceManager.addDev("Ignoring " + tgc.getName() + " x=" + tgc.getX() + " y=" + tgc.getY()); - } + else { + //TraceManager.addDev("Ignoring " + tgc.getName() + " x=" + tgc.getX() + " y=" + tgc.getY()); + } } } @@ -450,12 +450,12 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { continue; tgc.draw (g); - - // CONNECTING POINTS + + // CONNECTING POINTS if (this.mgui.getTypeButtonSelected () != TGComponentManager.EDIT) tgc.drawTGConnectingPoint (g, this.mgui.getIdButtonSelected()); - if (this.mode == MOVE_CONNECTOR_HEAD) + if (this.mode == MOVE_CONNECTOR_HEAD) tgc.drawTGConnectingPoint (g, this.type); if (this.javaVisible && (tgc.hasPostJavaCode () || tgc.hasPreJavaCode ())) @@ -480,10 +480,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { if (this.mode == SELECTING_COMPONENTS) { g.setColor(Color.black); GraphicLib.dashedRect (g, - Math.min(this.initSelectX, this.currentSelectX), - Math.min(this.initSelectY, this.currentSelectY), - Math.abs(this.currentSelectX - this.initSelectX), - Math.abs(this.currentSelectY - this.initSelectY)); + Math.min(this.initSelectX, this.currentSelectX), + Math.min(this.initSelectY, this.currentSelectY), + Math.abs(this.currentSelectX - this.initSelectX), + Math.abs(this.currentSelectY - this.initSelectY)); } if ((this.mode == SELECTED_COMPONENTS || this.mode == MOVING_SELECTED_COMPONENTS) && this.selectedTemp) { @@ -616,7 +616,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { StringBuffer s; //Added by Solange to see the components in the list - // LinkedList<TGComponent> ruteoList = this.componentList; + // LinkedList<TGComponent> ruteoList = this.componentList; // for (TGComponent tgc: this.componentList) { if ((selected == false) || (tgc.isSelected())) { @@ -628,7 +628,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { sb.append("\n"); } } - + return sb; } @@ -717,7 +717,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { TGComponent tmp = componentPointed; componentPointed = null; - this.setToolTipText(null); + this.setToolTipText(null); for (TGComponent tgc: this.componentList) { //state = tgc.getState(); tgcTmp = tgc.isOnMeHL(x, y); @@ -725,12 +725,12 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { if (!pointedElementFound) { componentPointed = tgcTmp; tgc.setState(TGState.POINTED); - String tooltip = componentPointed.getToolTipText(); - if (tooltip!=null && tooltip.length()>0){ - this.setToolTipText(tooltip); - } - String tmpinfo = componentPointed.getStatusInformation(); - if (tmpinfo != null) { mgui.setStatusBarText(tmpinfo);} + String tooltip = componentPointed.getToolTipText(); + if (tooltip!=null && tooltip.length()>0){ + this.setToolTipText(tooltip); + } + String tmpinfo = componentPointed.getStatusInformation(); + if (tmpinfo != null) { mgui.setStatusBarText(tmpinfo);} pointedElementFound = true; info = 2; } else { @@ -847,7 +847,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { if (pointedElementFound) b = tgc.setStateTGConnectingPoint(TGConnectingPoint.NORMAL) || b; else { - b = tgc.setStateTGConnectingPoint(TGConnectingPoint.NORMAL) || b; + b = tgc.setStateTGConnectingPoint(TGConnectingPoint.NORMAL) || b; TGConnectingPoint cp = tgc.getFreeTGConnectingPointAtAndCompatible(x, y, type); if ((cp != null) && (cp.isOut()) && (cp.isFree()) && (cp.isCompatibleWith(type))) { selectedConnectingPoint = cp; @@ -860,9 +860,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { return b; } - public boolean highlightInAndFreeConnectingPoint(int x, int y, int type) { + public boolean highlightInAndFreeConnectingPoint(int x, int y, int type) { TGConnectingPoint cp; - // int state; + // int state; boolean b = false; boolean pointedElementFound = false; selectedConnectingPoint = null; @@ -898,7 +898,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public TGComponent addComponent(int x, int y, int id, boolean swallow) { TGComponent tgc = TGComponentManager.addComponent(x, y, id, this); addComponent(tgc, x, y, swallow, true); - + return tgc; } @@ -1309,7 +1309,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { componentMenu.add(removeInternalComment); componentMenu.add(checkAccessibility); componentMenu.add(checkInvariant); - componentMenu.add(checkLatency); + componentMenu.add(checkLatency); componentMenu.add(checkMasterMutex); componentMenu.add(breakpoint); @@ -1414,8 +1414,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { checkInvariant = new JMenuItem("Check for mutual exclusion"); checkInvariant.addActionListener(menuAL); - checkLatency = new JMenuItem("Set latency measurement checkpoint"); - checkLatency.addActionListener(menuAL); + checkLatency = new JMenuItem("Set latency measurement checkpoint"); + checkLatency.addActionListener(menuAL); checkMasterMutex = new JMenuItem("Search for other states in mutual exclusion with"); checkMasterMutex.addActionListener(menuAL); @@ -1594,7 +1594,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { componentPopup.setInternalComment(jdn.getText()); mgui.changeMade(this, CHANGE_VALUE_COMPONENT); repaint(); - + return; } @@ -1616,11 +1616,11 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { componentPopup.setCheckableInvariant(!componentPopup.getCheckableInvariant()); } } - if (e.getSource() == checkLatency) { - if (componentPopup instanceof CheckableLatency){ - componentPopup.setCheckLatency(!componentPopup.getCheckLatency()); - } - } + if (e.getSource() == checkLatency) { + if (componentPopup instanceof CheckableLatency){ + componentPopup.setCheckLatency(!componentPopup.getCheckLatency()); + } + } if (e.getSource() == checkMasterMutex) { if (componentPopup instanceof CheckableInvariant) { @@ -2109,21 +2109,21 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public int getRawMinX() { - return minLimit; + return minLimit; } public int getRawMaxX() { - return maxX; + return maxX; } public int getRawMinY() { - return minLimit; + return minLimit; } public int getRawMaxY() { - return maxY; + return maxY; } - + public int getMaxX() { //return maxX; return (int)(Math.ceil(maxX * zoom)); @@ -2139,7 +2139,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { } public int getMaxY() { - //return maxY; + //return maxY; return (int)(Math.ceil(maxY * zoom)); } @@ -2301,13 +2301,13 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { return null; } - public void getAllLatencyChecks(ArrayList<TGComponent> _list){ - for (TGComponent tgc: this.componentList) { - if (tgc.getCheckLatency()){ - _list.add(tgc); - } - } - } + public void getAllLatencyChecks(ArrayList<TGComponent> _list){ + for (TGComponent tgc: this.componentList) { + if (tgc.getCheckLatency()){ + _list.add(tgc); + } + } + } public void getAllCheckableTGComponent(ArrayList<TGComponent> _list) { for (TGComponent tgc: this.componentList) if (tgc.hasCheckableAccessibility()) @@ -2404,46 +2404,46 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public String findTClassName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkTClassInterface (TClassInterface o, String name) { - return o.getClassName ().equals (name); - } - public boolean checkTCDTData (TCDTData o, String name) { - return o.getValue ().equals (name); - } - }); + public boolean checkTClassInterface (TClassInterface o, String name) { + return o.getClassName ().equals (name); + } + public boolean checkTCDTData (TCDTData o, String name) { + return o.getValue ().equals (name); + } + }); } public String findTOSClassName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkTOSClass (TOSClass o, String name) { - return o.getClassName ().equals (name); - } - }); + public boolean checkTOSClass (TOSClass o, String name) { + return o.getClassName ().equals (name); + } + }); } public String findRequirementName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkRequirement (Requirement o, String name) { - return o.getRequirementName ().equals (name); - } - }); + public boolean checkRequirement (Requirement o, String name) { + return o.getRequirementName ().equals (name); + } + }); } public String findTMLPrimitiveComponentName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkTMLCPrimitiveComponent (TMLCPrimitiveComponent o, String name) { - return o.getValue ().equals (name); - } - public boolean checkTMLCRecordComponent (TMLCRecordComponent o, String name) { - return o.getValue ().equals (name); - } - public boolean checkTMLCCompositeComponent (TMLCCompositeComponent o, String name) { - for (int i=0; i<o.getNbInternalTGComponent (); i++) - if (this.isNameAlreadyTaken (o.getInternalTGComponent (i), name)) - return true; - return false; - } - }); + public boolean checkTMLCPrimitiveComponent (TMLCPrimitiveComponent o, String name) { + return o.getValue ().equals (name); + } + public boolean checkTMLCRecordComponent (TMLCRecordComponent o, String name) { + return o.getValue ().equals (name); + } + public boolean checkTMLCCompositeComponent (TMLCCompositeComponent o, String name) { + for (int i=0; i<o.getNbInternalTGComponent (); i++) + if (this.isNameAlreadyTaken (o.getInternalTGComponent (i), name)) + return true; + return false; + } + }); } public String findTMLRecordComponentName(String name) { @@ -2452,80 +2452,80 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public String findTMLTaskName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkTMLTaskInterface (TMLTaskInterface o, String name) { - return o.getTaskName ().equals (name); - } - }); + public boolean checkTMLTaskInterface (TMLTaskInterface o, String name) { + return o.getTaskName ().equals (name); + } + }); } public String findBlockName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkATDBlock (ATDBlock o, String name) { - return o.getName ().equals (name); - } - }); + public boolean checkATDBlock (ATDBlock o, String name) { + return o.getName ().equals (name); + } + }); } public String findAvatarBDBlockName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarBDBlock (AvatarBDBlock o, String name) { - if (o.getValue ().equals (name)) - return true; - return o.hasInternalBlockWithName (name); - } - public boolean checkAvatarBDLibraryFunction (AvatarBDLibraryFunction o, String name) { - return o.getFunctionName ().equals (name); - } - public boolean checkAvatarBDDataType (AvatarBDDataType o, String name) { - return o.getDataTypeName ().equals (name); - } - }); + public boolean checkAvatarBDBlock (AvatarBDBlock o, String name) { + if (o.getValue ().equals (name)) + return true; + return o.hasInternalBlockWithName (name); + } + public boolean checkAvatarBDLibraryFunction (AvatarBDLibraryFunction o, String name) { + return o.getFunctionName ().equals (name); + } + public boolean checkAvatarBDDataType (AvatarBDDataType o, String name) { + return o.getDataTypeName ().equals (name); + } + }); } public String findAvatarCDBlockName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarCDBlock (AvatarCDBlock o, String name) { - if (o.getValue ().equals (name)) - return true; - return o.hasInternalBlockWithName (name); - } - }); + public boolean checkAvatarCDBlock (AvatarCDBlock o, String name) { + if (o.getValue ().equals (name)) + return true; + return o.hasInternalBlockWithName (name); + } + }); } public String findAvatarSMDStateName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarSMDState (AvatarSMDState o, String name) { - if (o.getValue ().equals (name)) - return true; - return o.hasInternalStateWithName (name); - } - }); + public boolean checkAvatarSMDState (AvatarSMDState o, String name) { + if (o.getValue ().equals (name)) + return true; + return o.hasInternalStateWithName (name); + } + }); } public String findAvatarADActivityName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarADActivity (AvatarADActivity o, String name) { - if (o.getValue ().equals (name)) - return true; - return o.hasInternalActivityWithName (name); - } - }); + public boolean checkAvatarADActivity (AvatarADActivity o, String name) { + if (o.getValue ().equals (name)) + return true; + return o.hasInternalActivityWithName (name); + } + }); } public String findAvatarAssumptionName(String name, int start) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarMADAssumption (AvatarMADAssumption o, String name) { - return o.getValue ().equals (name); - } - }); + public boolean checkAvatarMADAssumption (AvatarMADAssumption o, String name) { + return o.getValue ().equals (name); + } + }); } public String findAvatarRequirementName(String name, int start) { return this.findGoodName (name, new NameChecker () { - public boolean checkAvatarRDRequirement (AvatarRDRequirement o, String name) { - return o.getValue ().equals (name); - } - }); + public boolean checkAvatarRDRequirement (AvatarRDRequirement o, String name) { + return o.getValue ().equals (name); + } + }); } public String findAvatarRequirementID(String id) { @@ -2555,13 +2555,13 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public String findTObjectName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkTCDTObject (TCDTObject o, String name) { - return o.getObjectName ().equals (name); - } -// public boolean checkTCDTClass (TCDTClass o, String name) { -// return o.getClassName ().startsWith (name); -// } - }); + public boolean checkTCDTObject (TCDTObject o, String name) { + return o.getObjectName ().equals (name); + } + // public boolean checkTCDTClass (TCDTClass o, String name) { + // return o.getClassName ().startsWith (name); + // } + }); } public String findTObjectName(String name1, String name2) { @@ -2584,26 +2584,26 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public String findNodeName(String name) { return this.findGoodName (name, new NameChecker () { - public boolean checkNCEqNode (NCEqNode o, String name) { - if (o.getName ().equals (name)) - return true; - for (NCTrafficArtifact arti: o.getArtifactList ()) - if (arti.getValue ().equals (name)) + public boolean checkNCEqNode (NCEqNode o, String name) { + if (o.getName ().equals (name)) return true; - return false; - } - public boolean checkNCSwitchNode (NCSwitchNode o, String name) { - if (o.getName ().equals (name)) - return true; - for (NCRouteArtifact arti: o.getArtifactList ()) - if (arti.getValue ().equals (name)) + for (NCTrafficArtifact arti: o.getArtifactList ()) + if (arti.getValue ().equals (name)) + return true; + return false; + } + public boolean checkNCSwitchNode (NCSwitchNode o, String name) { + if (o.getName ().equals (name)) return true; - return false; - } -// public boolean checkNCConnectorNode (NCConnectorNode o, String name) { -// return o.getInterfaceName ().equals (name); -// } - }); + for (NCRouteArtifact arti: o.getArtifactList ()) + if (arti.getValue ().equals (name)) + return true; + return false; + } + // public boolean checkNCConnectorNode (NCConnectorNode o, String name) { + // return o.getInterfaceName ().equals (name); + // } + }); } public String findInterfaceName(String name) { @@ -2624,19 +2624,19 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public boolean isAlreadyATMLPrimitiveComponentName(String name) { return !this.isNameUnique (name, new NameChecker () { - public boolean checkTMLCPrimitiveComponent (TMLCPrimitiveComponent o, String name) { - return o.getValue ().equals (name); - } - public boolean checkTMLCRecordComponent (TMLCRecordComponent o, String name) { - return o.getValue ().equals (name); - } - public boolean checkTMLCCompositeComponent (TMLCCompositeComponent o, String name) { - for (int i=0; i<o.getNbInternalTGComponent (); i++) - if (this.isNameAlreadyTaken (o.getInternalTGComponent (i), name)) - return true; - return false; - } - }); + public boolean checkTMLCPrimitiveComponent (TMLCPrimitiveComponent o, String name) { + return o.getValue ().equals (name); + } + public boolean checkTMLCRecordComponent (TMLCRecordComponent o, String name) { + return o.getValue ().equals (name); + } + public boolean checkTMLCCompositeComponent (TMLCCompositeComponent o, String name) { + for (int i=0; i<o.getNbInternalTGComponent (); i++) + if (this.isNameAlreadyTaken (o.getInternalTGComponent (i), name)) + return true; + return false; + } + }); } public boolean isAlreadyATOSClassName(String name) { @@ -2645,37 +2645,37 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public boolean isTClassNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkTClassInterface (TClassInterface o, String name) { - return o.getClassName ().equals (name); - } - public boolean checkTCDTData (TCDTData o, String name) { - return o.getValue ().equals (name); - } - }); + public boolean checkTClassInterface (TClassInterface o, String name) { + return o.getClassName ().equals (name); + } + public boolean checkTCDTData (TCDTData o, String name) { + return o.getValue ().equals (name); + } + }); } public boolean isTOSClassNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkTOSClass (TOSClass o, String name) { - return o.getClassName ().equals (name); - } - }); + public boolean checkTOSClass (TOSClass o, String name) { + return o.getClassName ().equals (name); + } + }); } public boolean isTMLTaskNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkTMLTaskInterface (TMLTaskInterface o, String name) { - return o.getTaskName ().equals (name); - } - }); + public boolean checkTMLTaskInterface (TMLTaskInterface o, String name) { + return o.getTaskName ().equals (name); + } + }); } public boolean isBlockNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkATDBlock (ATDBlock o, String name) { - return o.getName ().equals (name); - } - }); + public boolean checkATDBlock (ATDBlock o, String name) { + return o.getName ().equals (name); + } + }); } /** @@ -2689,65 +2689,65 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { */ public boolean isAvatarBlockNameUnique (String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkAvatarBDBlock (AvatarBDBlock o, String name) { - if (o.getValue ().equals (name)) - return true; - return o.hasInternalBlockWithName (name); - } - public boolean checkAvatarBDLibraryFunction (AvatarBDLibraryFunction o, String name) { - return o.getFunctionName ().equals (name); - } - public boolean checkAvatarBDDataType (AvatarBDDataType o, String name) { - return o.getDataTypeName ().equals (name); - } - }); + public boolean checkAvatarBDBlock (AvatarBDBlock o, String name) { + if (o.getValue ().equals (name)) + return true; + return o.hasInternalBlockWithName (name); + } + public boolean checkAvatarBDLibraryFunction (AvatarBDLibraryFunction o, String name) { + return o.getFunctionName ().equals (name); + } + public boolean checkAvatarBDDataType (AvatarBDDataType o, String name) { + return o.getDataTypeName ().equals (name); + } + }); } public boolean isNCNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkNCEqNode (NCEqNode o, String name) { - if (o.getName ().equals (name)) - return true; - for (NCTrafficArtifact arti: o.getArtifactList ()) - if (arti.getValue ().equals (name)) + public boolean checkNCEqNode (NCEqNode o, String name) { + if (o.getName ().equals (name)) return true; - return false; - } - public boolean checkNCSwitchNode (NCSwitchNode o, String name) { - if (o.getName ().equals (name)) - return true; - for (NCRouteArtifact arti: o.getArtifactList ()) - if (arti.getValue ().equals (name)) + for (NCTrafficArtifact arti: o.getArtifactList ()) + if (arti.getValue ().equals (name)) + return true; + return false; + } + public boolean checkNCSwitchNode (NCSwitchNode o, String name) { + if (o.getName ().equals (name)) return true; - return false; - } -// public boolean checkNCConnectorNode (NCConnectorNode o, String name) { -// return o.getInterfaceName ().equals (name); -// } - }); + for (NCRouteArtifact arti: o.getArtifactList ()) + if (arti.getValue ().equals (name)) + return true; + return false; + } + // public boolean checkNCConnectorNode (NCConnectorNode o, String name) { + // return o.getInterfaceName ().equals (name); + // } + }); } public boolean isRequirementNameUnique(String name) { return this.isNameUnique (name, new NameChecker () { - public boolean checkRequirement (Requirement o, String name) { - return o.getRequirementName ().equals (name); - } - }); + public boolean checkRequirement (Requirement o, String name) { + return o.getRequirementName ().equals (name); + } + }); } public boolean isTObjectNameUnique(String name) { // FIXME: this is not coherent with findTObjectName !!! return this.isNameUnique (name, new NameChecker () { - public boolean checkTClassInterface (TClassInterface o, String name) { - return o.getClassName ().equals (name); - } - }); + public boolean checkTClassInterface (TClassInterface o, String name) { + return o.getClassName ().equals (name); + } + }); + } + public void setMaxPanelSize(int x, int y){ + maxX=x; + maxY=y; + updateSize(); } - public void setMaxPanelSize(int x, int y){ - maxX=x; - maxY=y; - updateSize(); - } // For compatibility with ttool v0.41 // Assumes no internal duplicate id public void checkForDuplicateId() { @@ -3054,7 +3054,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { Vector<Point> listPoint = new Vector<Point>(); - // Vector v = new Vector(); + // Vector v = new Vector(); int distance = 100; TGConnectingPoint found = null; @@ -3135,9 +3135,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { } public String svgCapture() { - int w = this.getWidth(); - int h = this.getHeight(); - int x = getRealMinX(); + int w = this.getWidth(); + int h = this.getHeight(); + int x = getRealMinX(); int y = getRealMinY(); w = getRealMaxX() - x; h = getRealMaxY() - y; @@ -3153,10 +3153,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { w = Math.min(w, getWidth() - x); h = Math.min(h, getHeight() - y); - + StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" standalone=\"no\"?>\n"); - sb.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); - //sb.append(" width=\"" + (w+x) + "\" height=\"" + (h+y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); + sb.append("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); + //sb.append(" width=\"" + (w+x) + "\" height=\"" + (h+y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); sb.append("<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\""); sb.append(" width=\"" + (w+x) + "\" height=\"" + (h+y) + "\" viewbox=\"" + x + " " + y + " " + w + " " + h + "\">\n"); @@ -3169,7 +3169,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { TraceManager.addDev("Painting for svg done"); sb.append(svgg.getSVGString()); RepaintManager.currentManager(this).setDoubleBufferingEnabled(true); - + sb.append("</svg>"); return sb.toString(); diff --git a/src/ui/TGUIAction.java b/src/ui/TGUIAction.java index 5c6b06e31d7c61df18a1d70092d4025ec33f215e..7a8cac6e18506af4468dfe7e01c08852925a2ef4 100755 --- a/src/ui/TGUIAction.java +++ b/src/ui/TGUIAction.java @@ -67,6 +67,7 @@ public class TGUIAction extends AbstractAction { public static final int ACT_NEW_DESIGN = 100; public static final int ACT_NEW_ANALYSIS = 101; public static final int ACT_OPEN = 1; + public static final int ACT_OPEN_FROM_NETWORK = 455; public static final int ACT_OPEN_LAST = 154; public static final int ACT_MERGE = 228; public static final int ACT_SAVE = 2; @@ -605,7 +606,7 @@ public class TGUIAction extends AbstractAction { public static final int ACT_INTERNAL_SEARCH = 415; //-- - public static final int NB_ACTION = 455; + public static final int NB_ACTION = 456; private static final TAction [] actions = new TAction[NB_ACTION]; @@ -651,7 +652,8 @@ public class TGUIAction extends AbstractAction { actions[ACT_NEW] = new TAction("new-command", "New", IconManager.imgic20, IconManager.imgic21, "New", "New modeling", 'N'); actions[ACT_NEW_DESIGN] = new TAction("new-command-design", "New design", IconManager.imgic14, IconManager.imgic14, "New design", "New TURTLE design", 0); actions[ACT_NEW_ANALYSIS] = new TAction("new-command-analysis", "New analysis", IconManager.imgic17, IconManager.imgic17, "New analysis", "New TURTLE analysis", 0); - actions[ACT_OPEN] = new TAction("open-command","Open", IconManager.imgic22, IconManager.imgic23, "Open", "Open an existing TURTLE modeling",'O', true); + actions[ACT_OPEN] = new TAction("open-command","Open", IconManager.imgic22, IconManager.imgic23, "Open", "Open an existing TTooll model",'O', true); + actions[ACT_OPEN_FROM_NETWORK] = new TAction("open-command-from-network","Open from network", IconManager.imgic22, IconManager.imgic23, "Open from network", "Open an existing TTool model from the TTool website",'O', true); actions[ACT_OPEN_LAST] = new TAction("openlast-command","Open file: " + ConfigurationTTool.LastOpenFile, IconManager.imgic22, IconManager.imgic23, "Open: " + ConfigurationTTool.LastOpenFile, "Open the lastly saved TTool model", 0); actions[ACT_MERGE] = new TAction("merge-command","Merge", IconManager.imgic22, IconManager.imgic23, "Merge", "Merge the current TTool modeling with another one saved in a file ", 0); actions[ACT_SAVE] = new TAction("save-command", "Save",IconManager.imgic24, IconManager.imgic25, "Save", "Save an opened or a new TTool modeling", 'S', true); diff --git a/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java b/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java new file mode 100644 index 0000000000000000000000000000000000000000..4048f226d384a928cfd754600a15f33b90a513f7 --- /dev/null +++ b/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java @@ -0,0 +1,214 @@ +/**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. + * + * /** + * Class JDialogNetworkModelPanel + * Dialog for managing the loading of network models + * Creation: 28/05/2017 + * @version 1.1 28/05/2017 + * @author Ludovic APVRILLE + * @author Ludovic Apvrille + * @see + */ + +package ui.networkmodelloader; + +import java.awt.*; +import java.awt.event.*; +import java.io.File; +import java.util.*; +import javax.swing.*; + +import ui.*; +import myutil.*; + +public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements ActionListener, Runnable { + + private static ArrayList<NetworkModel> listOfModels; + + protected Frame f; + protected MainGUI mgui; + + protected final static int NOT_LISTED = 1; + protected final static int LISTED = 2; + protected final static int SELECTED = 3; + + private int mode; + + //components + protected JTextArea jta; + private JTextAreaWriter textAreaWriter; + protected JButton start; + protected JButton stop; + + protected JScrollPane jsp; + + private Thread t; + private boolean go = false; + private boolean hasError = false; + protected boolean startProcess = false; + + private String url; + private NetworkModelPanel panel; + + + /** Creates new form */ + public JDialogLoadingNetworkModel(Frame _f, MainGUI _mgui, String title, String _url) { + super(title); + + f = _f; + mgui = _mgui; + + url = _url; + + + initComponents(); + myInitComponents(); + pack(); + + //getGlassPane().addMouseListener( new MouseAdapter() {}); + getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + } + + + protected void myInitComponents() { + mode = NOT_LISTED; + setButtons(); + } + + protected void initComponents() { + + Container c = getContentPane(); + setFont(new Font("Helvetica", Font.PLAIN, 14)); + c.setLayout(new BorderLayout()); + //setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + + panel = new NetworkModelPanel(); + jsp = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + + c.add(jsp, BorderLayout.NORTH); + + + jta = new ScrolledJTextArea(); + jta.setEditable(false); + jta.setMargin(new Insets(10, 10, 10, 10)); + jta.setTabSize(3); + jta.append("Select options and then, click on 'start' to launch code generation / compilation / execution\n"); + Font f = new Font("Courrier", Font.BOLD, 12); + jta.setFont(f); + textAreaWriter = new JTextAreaWriter( jta ); + + jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + + c.add(jsp, BorderLayout.CENTER); + + start = new JButton("Load", IconManager.imgic53); + stop = new JButton("Cancel", IconManager.imgic55); + + start.setPreferredSize(new Dimension(100, 30)); + stop.setPreferredSize(new Dimension(100, 30)); + + start.addActionListener(this); + stop.addActionListener(this); + + JPanel jp2 = new JPanel(); + jp2.add(start); + jp2.add(stop); + + c.add(jp2, BorderLayout.SOUTH); + + } + + public void actionPerformed(ActionEvent evt) { + //String command = evt.getActionCommand(); + + // Compare the action command to the known actions. + if (evt.getSource() == start) { + loadFile(); + } else if (evt.getSource() == stop) { + cancel(); + } + } + + + public void loadFile() { + // Run the retreiver + analyzer + } + + public void cancel() { + dispose(); + } + + + public void run() { + + } + + protected void checkMode() { + mode = NOT_LISTED; + } + + protected void setButtons() { + switch(mode) { + case NOT_LISTED: + start.setEnabled(true); + stop.setEnabled(false); + //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + getGlassPane().setVisible(false); + break; + case LISTED: + start.setEnabled(false); + stop.setEnabled(true); + getGlassPane().setVisible(true); + //setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + break; + case SELECTED: + default: + start.setEnabled(false); + stop.setEnabled(false); + getGlassPane().setVisible(false); + break; + } + } + + + public void appendOut(String s) { + jta.append(s); + } + + +} diff --git a/src/ui/networkmodelloader/NetworkModel.java b/src/ui/networkmodelloader/NetworkModel.java new file mode 100644 index 0000000000000000000000000000000000000000..bdd4019d61b00943c41c2c4ed0b6be2b3bf4c0e7 --- /dev/null +++ b/src/ui/networkmodelloader/NetworkModel.java @@ -0,0 +1,64 @@ +/**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. + * + * /** + * Class NetworkModel + * Dialog for managing the loading of network models + * Creation: 29/05/2017 + * @version 1.1 29/05/2017 + * @author Ludovic APVRILLE + * @author Ludovic APVRILLE + * @see + */ + +package ui.networkmodelloader; + +import java.io.File; + + +public class NetworkModel { + + public String fileName; + public NetworkModelType type; + public String decription; + public String image; + + public NetworkModel(String _fileName) { + fileName = _fileName; + } + +} diff --git a/src/ui/networkmodelloader/NetworkModelPanel.java b/src/ui/networkmodelloader/NetworkModelPanel.java new file mode 100644 index 0000000000000000000000000000000000000000..b70af6b256acbd34088cdc639eb7eed2c728c136 --- /dev/null +++ b/src/ui/networkmodelloader/NetworkModelPanel.java @@ -0,0 +1,61 @@ +/**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. + * + * /** + * Class NetworkModel + * Dialog for managing the loading of network models + * Creation: 30/05/2017 + * @version 1.1 30/05/2017 + * @author Ludovic APVRILLE + * @author Ludovic APVRILLE + * @see + */ + +package ui.networkmodelloader; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + + +public class NetworkModelPanel extends JPanel { + + + public NetworkModelPanel() { + } + +} diff --git a/src/ui/networkmodelloader/NetworkModelType.java b/src/ui/networkmodelloader/NetworkModelType.java new file mode 100644 index 0000000000000000000000000000000000000000..6bb01735af4f3165210c677f69d70d2822b1608f --- /dev/null +++ b/src/ui/networkmodelloader/NetworkModelType.java @@ -0,0 +1,53 @@ +/**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. + * + * /** + * Class NetworkModel + * Dialog for managing the loading of network models + * Creation: 29/05/2017 + * @version 1.1 29/05/2017 + * @author Ludovic APVRILLE + * @author Ludovic APVRILLE + * @see + */ + +package ui.networkmodelloader; + + +public enum NetworkModelType { + SOFTWARE_DESIGN, PARTITIONING, ATTACK_TREE, SECURiTY_PROTOCOL +}