diff --git a/modeling/testavatar.xml b/modeling/testavatar.xml index 6746ec52861b096a108fa1b29c1e2c2bac61793a..8a820a41bb01a111e3990c96474e9129fb2628df 100644 --- a/modeling/testavatar.xml +++ b/modeling/testavatar.xml @@ -1770,11 +1770,11 @@ </COMPONENT> <SUBCOMPONENT type="5362" id="802" > <father id="845" num="0" /> -<cdparam x="552" y="177" /> -<sizeparam width="89" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="513" y="128" /> +<sizeparam width="136" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="111" minY="0" maxY="160" /> -<infoparam name="TGComponent" value="B0/in m2" /> +<cdrectangleparam minX="0" maxX="64" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="Block0/out send" /> <TGConnectingPoint num="0" id="794" /> <TGConnectingPoint num="1" id="795" /> <TGConnectingPoint num="2" id="796" /> @@ -1784,7 +1784,7 @@ <TGConnectingPoint num="6" id="800" /> <TGConnectingPoint num="7" id="801" /> <extraparam> -<info value="B0/in m2" channelName="B0/in m2() #--# B1/out m2()" fullChannelName="TestAsynchronous1::B0/in m2() #--# B1/out m2()" referenceDiagram="TestAsynchronous1" /> +<info value="Block0/out send" channelName="Block0/out send() #--# Block1/in receive()" fullChannelName="Design::Block0/out send() #--# Block1/in receive()" referenceDiagram="Design" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="5362" id="811" > @@ -1808,11 +1808,11 @@ </SUBCOMPONENT> <SUBCOMPONENT type="5362" id="820" > <father id="845" num="2" /> -<cdparam x="513" y="128" /> -<sizeparam width="136" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="552" y="177" /> +<sizeparam width="89" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="64" minY="0" maxY="160" /> -<infoparam name="TGComponent" value="Block0/out send" /> +<cdrectangleparam minX="0" maxX="111" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="B0/in m2" /> <TGConnectingPoint num="0" id="812" /> <TGConnectingPoint num="1" id="813" /> <TGConnectingPoint num="2" id="814" /> @@ -1822,7 +1822,7 @@ <TGConnectingPoint num="6" id="818" /> <TGConnectingPoint num="7" id="819" /> <extraparam> -<info value="Block0/out send" channelName="Block0/out send() #--# Block1/in receive()" fullChannelName="Design::Block0/out send() #--# Block1/in receive()" referenceDiagram="Design" /> +<info value="B0/in m2" channelName="B0/in m2() #--# B1/out m2()" fullChannelName="TestAsynchronous1::B0/in m2() #--# B1/out m2()" referenceDiagram="TestAsynchronous1" /> </extraparam> </SUBCOMPONENT> @@ -1964,4 +1964,569 @@ +<Modeling type="AVATAR Design" nameTab="Design" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" > +<MainCode value="void __user_init() {"/> +<MainCode value=" x = 1;"/> +<MainCode value="}"/> +<Optimized value="true" /> +<Validated value="Block1;LibraryFunction0;Block0;" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="1027" > +<cdparam x="446" y="392" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="" /> +<TGConnectingPoint num="0" id="1028" /> +<P1 x="409" y="306" id="940" /> +<P2 x="510" y="511" id="1009" /> +<AutomaticDrawing data="true" /> +<extraparam> +<iso value="in reading()" /> +<osd value="out writing()" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" lossy="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5000" id="1000" > +<cdparam x="448" y="511" /> +<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block1" value="Block1" /> +<TGConnectingPoint num="0" id="1001" /> +<TGConnectingPoint num="1" id="1002" /> +<TGConnectingPoint num="2" id="1003" /> +<TGConnectingPoint num="3" id="1004" /> +<TGConnectingPoint num="4" id="1005" /> +<TGConnectingPoint num="5" id="1006" /> +<TGConnectingPoint num="6" id="1007" /> +<TGConnectingPoint num="7" id="1008" /> +<TGConnectingPoint num="8" id="1009" /> +<TGConnectingPoint num="9" id="1010" /> +<TGConnectingPoint num="10" id="1011" /> +<TGConnectingPoint num="11" id="1012" /> +<TGConnectingPoint num="12" id="1013" /> +<TGConnectingPoint num="13" id="1014" /> +<TGConnectingPoint num="14" id="1015" /> +<TGConnectingPoint num="15" id="1016" /> +<TGConnectingPoint num="16" id="1017" /> +<TGConnectingPoint num="17" id="1018" /> +<TGConnectingPoint num="18" id="1019" /> +<TGConnectingPoint num="19" id="1020" /> +<TGConnectingPoint num="20" id="1021" /> +<TGConnectingPoint num="21" id="1022" /> +<TGConnectingPoint num="22" id="1023" /> +<TGConnectingPoint num="23" id="1024" /> +<extraparam> +<CryptoBlock value="false" /> +<Signal value="out writing()" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5005" id="962" > +<cdparam x="576" y="153" /> +<sizeparam width="281" height="156" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="LibraryFunction0" value="LibraryFunction0" /> +<TGConnectingPoint num="0" id="963" /> +<TGConnectingPoint num="1" id="964" /> +<TGConnectingPoint num="2" id="965" /> +<TGConnectingPoint num="3" id="966" /> +<TGConnectingPoint num="4" id="967" /> +<TGConnectingPoint num="5" id="968" /> +<TGConnectingPoint num="6" id="969" /> +<TGConnectingPoint num="7" id="970" /> +<extraparam> +<CryptoLibraryFunction value="false" /> +<Parameter access="0" id="x" value="" type="8" typeOther="" /> +<Signal value="in toto()" /> +<Signal value="in titi(int x)" /> +<ReturnAttribute access="0" id="salut" value="0" type="8" typeOther="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="924" > +<cdparam x="133" y="180" /> +<sizeparam width="369" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block0" value="Block0" /> +<TGConnectingPoint num="0" id="925" /> +<TGConnectingPoint num="1" id="926" /> +<TGConnectingPoint num="2" id="927" /> +<TGConnectingPoint num="3" id="928" /> +<TGConnectingPoint num="4" id="929" /> +<TGConnectingPoint num="5" id="930" /> +<TGConnectingPoint num="6" id="931" /> +<TGConnectingPoint num="7" id="932" /> +<TGConnectingPoint num="8" id="933" /> +<TGConnectingPoint num="9" id="934" /> +<TGConnectingPoint num="10" id="935" /> +<TGConnectingPoint num="11" id="936" /> +<TGConnectingPoint num="12" id="937" /> +<TGConnectingPoint num="13" id="938" /> +<TGConnectingPoint num="14" id="939" /> +<TGConnectingPoint num="15" id="940" /> +<TGConnectingPoint num="16" id="941" /> +<TGConnectingPoint num="17" id="942" /> +<TGConnectingPoint num="18" id="943" /> +<TGConnectingPoint num="19" id="944" /> +<TGConnectingPoint num="20" id="945" /> +<TGConnectingPoint num="21" id="946" /> +<TGConnectingPoint num="22" id="947" /> +<TGConnectingPoint num="23" id="948" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="x" value="" type="8" typeOther="" /> +<Attribute access="0" id="y" value="" type="8" typeOther="" /> +<Method value="pickingupflowers(int x)" /> +<Signal value="in reading()" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Block0" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="5112" id="1225" > +<cdparam x="368" y="142" /> +<sizeparam width="100" height="25" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Library function call" value="" /> +<TGConnectingPoint num="0" id="1226" /> +<TGConnectingPoint num="1" id="1227" /> +<TGConnectingPoint num="2" id="1228" /> +<TGConnectingPoint num="3" id="1229" /> +<TGConnectingPoint num="4" id="1230" /> +<TGConnectingPoint num="5" id="1231" /> +<TGConnectingPoint num="6" id="1232" /> +<TGConnectingPoint num="7" id="1233" /> +<TGConnectingPoint num="8" id="1234" /> +<TGConnectingPoint num="9" id="1235" /> +<extraparam> +</extraparam> +</COMPONENT> + +<CONNECTOR type="5102" id="1218" > +<cdparam x="702" y="335" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1219" /> +<P1 x="702" y="335" id="1204" /> +<P2 x="696" y="383" id="1206" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1220" > +<father id="1218" num="0" /> +<cdparam x="702" y="375" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1221" /> +<TGConnectingPoint num="1" id="1222" /> +<TGConnectingPoint num="2" id="1223" /> +<TGConnectingPoint num="3" id="1224" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1196" > +<cdparam x="628" y="354" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1197" /> +<P1 x="633" y="326" id="1175" /> +<P2 x="232" y="456" id="1195" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1198" > +<father id="1196" num="0" /> +<cdparam x="628" y="394" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1199" /> +<TGConnectingPoint num="1" id="1200" /> +<TGConnectingPoint num="2" id="1201" /> +<TGConnectingPoint num="3" id="1202" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5101" id="1194" > +<cdparam x="222" y="461" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="1195" /> +</COMPONENT> + +<CONNECTOR type="5102" id="1146" > +<cdparam x="871" y="356" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1147" /> +<P1 x="942" y="362" id="1209" /> +<P2 x="795" y="364" id="1180" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1148" > +<father id="1146" num="0" /> +<cdparam x="871" y="396" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1149" /> +<TGConnectingPoint num="1" id="1150" /> +<TGConnectingPoint num="2" id="1151" /> +<TGConnectingPoint num="3" id="1152" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1137" > +<cdparam x="868" y="279" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1138" /> +<P1 x="868" y="279" id="1125" /> +<P2 x="942" y="332" id="1208" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1139" > +<father id="1137" num="0" /> +<cdparam x="884" y="338" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1140" /> +<TGConnectingPoint num="1" id="1141" /> +<TGConnectingPoint num="2" id="1142" /> +<TGConnectingPoint num="3" id="1143" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5100" id="1074" > +<cdparam x="696" y="90" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1075" /> +</COMPONENT> + +<CONNECTOR type="5102" id="1117" > +<cdparam x="703" y="110" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1118" /> +<P1 x="703" y="110" id="1075" /> +<P2 x="760" y="191" id="1085" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1119" > +<father id="1117" num="0" /> +<cdparam x="703" y="150" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1120" /> +<TGConnectingPoint num="1" id="1121" /> +<TGConnectingPoint num="2" id="1122" /> +<TGConnectingPoint num="3" id="1123" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5106" id="1076" > +<cdparam x="605" y="191" /> +<sizeparam width="620" height="395" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="State" value="state0" /> +<TGConnectingPoint num="0" id="1077" /> +<TGConnectingPoint num="1" id="1078" /> +<TGConnectingPoint num="2" id="1079" /> +<TGConnectingPoint num="3" id="1080" /> +<TGConnectingPoint num="4" id="1081" /> +<TGConnectingPoint num="5" id="1082" /> +<TGConnectingPoint num="6" id="1083" /> +<TGConnectingPoint num="7" id="1084" /> +<TGConnectingPoint num="8" id="1085" /> +<TGConnectingPoint num="9" id="1086" /> +<TGConnectingPoint num="10" id="1087" /> +<TGConnectingPoint num="11" id="1088" /> +<TGConnectingPoint num="12" id="1089" /> +<TGConnectingPoint num="13" id="1090" /> +<TGConnectingPoint num="14" id="1091" /> +<TGConnectingPoint num="15" id="1092" /> +<TGConnectingPoint num="16" id="1093" /> +<TGConnectingPoint num="17" id="1094" /> +<TGConnectingPoint num="18" id="1095" /> +<TGConnectingPoint num="19" id="1096" /> +<TGConnectingPoint num="20" id="1097" /> +<TGConnectingPoint num="21" id="1098" /> +<TGConnectingPoint num="22" id="1099" /> +<TGConnectingPoint num="23" id="1100" /> +<TGConnectingPoint num="24" id="1101" /> +<TGConnectingPoint num="25" id="1102" /> +<TGConnectingPoint num="26" id="1103" /> +<TGConnectingPoint num="27" id="1104" /> +<TGConnectingPoint num="28" id="1105" /> +<TGConnectingPoint num="29" id="1106" /> +<TGConnectingPoint num="30" id="1107" /> +<TGConnectingPoint num="31" id="1108" /> +<TGConnectingPoint num="32" id="1109" /> +<TGConnectingPoint num="33" id="1110" /> +<TGConnectingPoint num="34" id="1111" /> +<TGConnectingPoint num="35" id="1112" /> +<TGConnectingPoint num="36" id="1113" /> +<TGConnectingPoint num="37" id="1114" /> +<TGConnectingPoint num="38" id="1115" /> +<TGConnectingPoint num="39" id="1116" /> +<extraparam> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="5104" id="1207" > +<father id="1076" num="0" /> +<cdparam x="904" y="337" /> +<sizeparam width="76" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="590" minY="0" maxY="375" /> +<infoparam name="Receive signal" value="reading()" /> +<TGConnectingPoint num="0" id="1208" /> +<TGConnectingPoint num="1" id="1209" /> +<TGConnectingPoint num="2" id="1210" /> +<TGConnectingPoint num="3" id="1211" /> +<TGConnectingPoint num="4" id="1212" /> +<TGConnectingPoint num="5" id="1213" /> +<TGConnectingPoint num="6" id="1214" /> +<TGConnectingPoint num="7" id="1215" /> +<TGConnectingPoint num="8" id="1216" /> +<TGConnectingPoint num="9" id="1217" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5106" id="1153" > +<father id="1076" num="1" /> +<cdparam x="633" y="270" /> +<sizeparam width="162" height="152" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="458" minY="0" maxY="243" /> +<infoparam name="State" value="state1" /> +<TGConnectingPoint num="0" id="1154" /> +<TGConnectingPoint num="1" id="1155" /> +<TGConnectingPoint num="2" id="1156" /> +<TGConnectingPoint num="3" id="1157" /> +<TGConnectingPoint num="4" id="1158" /> +<TGConnectingPoint num="5" id="1159" /> +<TGConnectingPoint num="6" id="1160" /> +<TGConnectingPoint num="7" id="1161" /> +<TGConnectingPoint num="8" id="1162" /> +<TGConnectingPoint num="9" id="1163" /> +<TGConnectingPoint num="10" id="1164" /> +<TGConnectingPoint num="11" id="1165" /> +<TGConnectingPoint num="12" id="1166" /> +<TGConnectingPoint num="13" id="1167" /> +<TGConnectingPoint num="14" id="1168" /> +<TGConnectingPoint num="15" id="1169" /> +<TGConnectingPoint num="16" id="1170" /> +<TGConnectingPoint num="17" id="1171" /> +<TGConnectingPoint num="18" id="1172" /> +<TGConnectingPoint num="19" id="1173" /> +<TGConnectingPoint num="20" id="1174" /> +<TGConnectingPoint num="21" id="1175" /> +<TGConnectingPoint num="22" id="1176" /> +<TGConnectingPoint num="23" id="1177" /> +<TGConnectingPoint num="24" id="1178" /> +<TGConnectingPoint num="25" id="1179" /> +<TGConnectingPoint num="26" id="1180" /> +<TGConnectingPoint num="27" id="1181" /> +<TGConnectingPoint num="28" id="1182" /> +<TGConnectingPoint num="29" id="1183" /> +<TGConnectingPoint num="30" id="1184" /> +<TGConnectingPoint num="31" id="1185" /> +<TGConnectingPoint num="32" id="1186" /> +<TGConnectingPoint num="33" id="1187" /> +<TGConnectingPoint num="34" id="1188" /> +<TGConnectingPoint num="35" id="1189" /> +<TGConnectingPoint num="36" id="1190" /> +<TGConnectingPoint num="37" id="1191" /> +<TGConnectingPoint num="38" id="1192" /> +<TGConnectingPoint num="39" id="1193" /> +<extraparam> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5101" id="1205" > +<father id="1153" num="0" /> +<cdparam x="686" y="388" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="142" minY="0" maxY="132" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="1206" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5100" id="1203" > +<father id="1153" num="1" /> +<cdparam x="695" y="315" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="147" minY="0" maxY="137" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1204" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5100" id="1124" > +<father id="1076" num="2" /> +<cdparam x="861" y="259" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="605" minY="0" maxY="380" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1125" /> +</SUBCOMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="LibraryFunction0" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="5101" id="1065" > +<cdparam x="417" y="235" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="1066" /> +</COMPONENT> + +<COMPONENT type="5104" id="1047" > +<cdparam x="388" y="144" /> +<sizeparam width="54" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Receive signal" value="toto()" /> +<TGConnectingPoint num="0" id="1048" /> +<TGConnectingPoint num="1" id="1049" /> +<TGConnectingPoint num="2" id="1050" /> +<TGConnectingPoint num="3" id="1051" /> +<TGConnectingPoint num="4" id="1052" /> +<TGConnectingPoint num="5" id="1053" /> +<TGConnectingPoint num="6" id="1054" /> +<TGConnectingPoint num="7" id="1055" /> +<TGConnectingPoint num="8" id="1056" /> +<TGConnectingPoint num="9" id="1057" /> +</COMPONENT> + +<COMPONENT type="5100" id="971" > +<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="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="972" /> +</COMPONENT> + +<CONNECTOR type="5102" id="1058" > +<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" /> +<TGConnectingPoint num="0" id="1059" /> +<P1 x="407" y="70" id="972" /> +<P2 x="415" y="139" id="1048" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1060" > +<father id="1058" num="0" /> +<cdparam x="407" y="110" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1061" /> +<TGConnectingPoint num="1" id="1062" /> +<TGConnectingPoint num="2" id="1063" /> +<TGConnectingPoint num="3" id="1064" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1067" > +<cdparam x="415" y="169" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="1068" /> +<P1 x="415" y="169" id="1049" /> +<P2 x="427" y="230" id="1066" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1069" > +<father id="1067" num="0" /> +<cdparam x="415" y="209" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1070" /> +<TGConnectingPoint num="1" id="1071" /> +<TGConnectingPoint num="2" id="1072" /> +<TGConnectingPoint num="3" id="1073" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Block1" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="5100" id="1025" > +<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="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1026" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + </TURTLEGMODELING> \ No newline at end of file diff --git a/simulators/c++2/src_simulator/TMLTransaction.cpp b/simulators/c++2/src_simulator/TMLTransaction.cpp index 4050a0cec058dd2ff6472144de00ac87faa10be3..40c25c5bc51e3ffd36ab6afccde9c95aea45da61 100755 --- a/simulators/c++2/src_simulator/TMLTransaction.cpp +++ b/simulators/c++2/src_simulator/TMLTransaction.cpp @@ -1,42 +1,42 @@ /*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck, -Ludovic Apvrille, Renaud Pacalet - * - * ludovic.apvrille AT telecom-paristech.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. - * - */ + Ludovic Apvrille, Renaud Pacalet + * + * ludovic.apvrille AT telecom-paristech.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. + * + */ #include <TMLTransaction.h> #include <TMLTask.h> @@ -48,33 +48,34 @@ MemPoolNoDel<TMLTransaction> TMLTransaction::memPool(BLOCK_SIZE_TRANS); TMLTransaction::TMLTransaction():_runnableTime(0), _startTime(0), _length(0), _virtualLength(0), _command(0), #ifdef PENALTIES_ENABLED - _idlePenalty(0), _taskSwitchingPenalty(0), //, _branchingPenalty(0), + _idlePenalty(0), _taskSwitchingPenalty(0), //, _branchingPenalty(0), #endif -_channel(0),_stateID(0) { + _channel(0),_stateID(0) { } TMLTransaction::TMLTransaction(TMLCommand* iCommand, TMLLength iVirtualLength, TMLTime iRunnableTime, TMLChannel* iChannel):_runnableTime(iRunnableTime), _startTime(0), _length(0), _virtualLength(iVirtualLength), _command(iCommand), #ifdef PENALTIES_ENABLED - _idlePenalty(0), _taskSwitchingPenalty(0), //, _branchingPenalty(0), + _idlePenalty(0), _taskSwitchingPenalty(0), //, _branchingPenalty(0), #endif -_channel(iChannel),_stateID(0) { + _channel(iChannel),_stateID(0) { } std::string TMLTransaction::toString() const{ - std::ostringstream outp; - outp << _command->toString() << std::endl << "Transaction runnable:" << _runnableTime << " len:" << _length << " start:" << _startTime << " vLength:" << _virtualLength; - if (_channel!=0) outp << " Ch: " << _channel->toShortString(); - return outp.str(); + std::ostringstream outp; + outp << _command->toString() << std::endl << "Transaction runnable:" << _runnableTime << " len:" << _length << " start:" << _startTime << " vLength:" << _virtualLength; + if (_channel!=0) outp << " Ch: " << _channel->toShortString(); + return outp.str(); } std::string TMLTransaction::toShortString() const{ - std::ostringstream outp; - if (_command==0) - outp << "Sytem State ID: " << _virtualLength; - else{ - outp << _command->toShortString() << " t:" << _startTime << " l:" << _length << " (vl:"<< _virtualLength << ")"; - if (_channel!=0) outp << " Ch: " << _channel->toShortString(); - } - return outp.str(); + std::ostringstream outp; + if (_command==0) + outp << "Sytem State ID: " << _virtualLength; + else{ + outp << _command->toShortString() << " t:" << _startTime << " l:" << _length << " (vl:"<< _virtualLength << ")"; + if (_channel!=0) outp << " Ch: " << _channel->toShortString(); + } + return outp.str(); } + diff --git a/simulators/c++2/src_simulator/TMLTransaction.h b/simulators/c++2/src_simulator/TMLTransaction.h index d8613cc716f13a8b0275d0ecc93d246022ddcfce..1c2e52b647ee105a9d9542f5200d651254a41de4 100644 --- a/simulators/c++2/src_simulator/TMLTransaction.h +++ b/simulators/c++2/src_simulator/TMLTransaction.h @@ -168,7 +168,7 @@ public: _idlePenalty=iIdlePenalty; #endif } - ///Returns the task switching panalty of the transaction + ///Returns the task switching penalty of the transaction /** \return Task switching penalty */ @@ -179,7 +179,7 @@ public: return 0; #endif } - ///Sets the task switching panalty of the transaction + ///Sets the task switching penalty of the transaction /** \param iTaskSwitchingPenalty Task switching penalty */ diff --git a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp index 9274461cd843c187718a17b4ce87d8a6e84a8cf8..8963e0947c6cd6a4b1c03beac399c1b8bfbf63c7 100644 --- a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp +++ b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp @@ -321,6 +321,7 @@ void SingleCoreCPU::schedule2HTML(std::ofstream& myfile) const{ unsigned int aBlanks,aLength,aColor; std::string aCommentString; //if (_transactList.empty()) return; + //std::cout << "0. size: " << _transactList.size() << '\n'; myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>"; for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){ aCurrTrans=*i; diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h index 173608a1fc2b18aca1d55b5430eae1f50a9b255e..dcecb3dcc47f839727e3b89aa48264b326465097 100644 --- a/simulators/c++2/src_simulator/definitions.h +++ b/simulators/c++2/src_simulator/definitions.h @@ -190,6 +190,8 @@ using std::max; #define TAG_EXTIMEc "</extime>" #define TAG_CONTDELo "<contdel" #define TAG_CONTDELc "</contdel>" +#define TAG_TRANSo "<trans>" +#define TAG_TRANSc "</trans>" #define TAG_BUSo "<bus" #define TAG_BUSc "</bus>" diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp index 4eb37e7f26b6dc5b3f063c5a6a77ed54a42eab52..44112a8858f5b6d6a2bfd14be7824468b339a373 100644 --- a/simulators/c++2/src_simulator/sim/Simulator.cpp +++ b/simulators/c++2/src_simulator/sim/Simulator.cpp @@ -215,6 +215,13 @@ void Simulator::schedule2TXT(std::string& iTraceFileName) const{ std::cout << "The text output took " << getTimeDiff(aBegin,aEnd) << "usec. File: " << iTraceFileName << std::endl; } +void Simulator::allTrans2XML(std::ostringstream& glob) const{ + glob << TAG_TRANSo << "Transaction" << TAG_TRANSc << std::endl; + +} + + + void Simulator::schedule2HTML(std::string& iTraceFileName) const{ struct timeval aBegin,aEnd; gettimeofday(&aBegin,NULL); @@ -1207,6 +1214,12 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){ TMLCommand::streamStateXML(aGlobMsg); std::cout << "End Get execution statistics of commands." << std::endl; break; + case 22://Get list of transactions + std::cout << "Get list of transactions." << std::endl; + //aGlobMsg << TAG_MSGo << "Breakpoints are disabled." << TAG_MSGc << std::endl; + allTrans2XML(aGlobMsg); + std::cout << "End list of transactions." << std::endl; + break; default: aGlobMsg << TAG_MSGo << MSG_CMDNFOUND<< TAG_MSGc << std::endl; anErrorCode=3; diff --git a/simulators/c++2/src_simulator/sim/Simulator.h b/simulators/c++2/src_simulator/sim/Simulator.h index 67d106e8a33826f836c45c1e37cc5cc552bcde67..7f7e1d92c6e28a32b5d453e905e74528deb0bbd3 100644 --- a/simulators/c++2/src_simulator/sim/Simulator.h +++ b/simulators/c++2/src_simulator/sim/Simulator.h @@ -240,6 +240,13 @@ public: \param iTraceFileName Name of the output trace file */ void schedule2TXT(std::string& iTraceFileName) const; + + /** + \param glob Stream on which the XML answer shall be send to + */ + void allTrans2XML(std::ostringstream& glob) const; + + ///Is true if the simulator is busy /** \return Busy flag