diff --git a/MPSoC/src/asyncchannel.c b/MPSoC/src/asyncchannel.c index 3d2602d9745ad30c5afc4a17b3c1cf1238c674d4..e2bbc298a00cd22b2b82a05e214519a7af223312 100755 --- a/MPSoC/src/asyncchannel.c +++ b/MPSoC/src/asyncchannel.c @@ -12,6 +12,7 @@ int async_read_nonblocking( struct mwmr_s *fifo, void *_ptr, int lensw ){ int i; i = mwmr_try_read(fifo,_ptr,lensw); + debugInt("debug bytes read \n", i); return i; } @@ -22,7 +23,8 @@ int async_write_nonblocking( struct mwmr_s *fifo, void *_ptr, int lensw ){ i = mwmr_try_write(fifo,_ptr,lensw); if (i<lensw){ /* the data item is thrown away */ - debugInt("data discarded"); + debugInt("debug bytes written \n", i); + debugInt("data discarded",lensw-i); return i; } else{ @@ -33,7 +35,7 @@ int async_write_nonblocking( struct mwmr_s *fifo, void *_ptr, int lensw ){ void async_read( struct mwmr_s *fifo, void *_ptr, int lensw ){ - debugInt("debug fifo \n",fifo); + debugInt("debug fifo read \n",fifo); debugInt("debug ptr \n",_ptr); debugInt("debug lensw \n", lensw); debugInt("debug fifo status address \n", &(fifo->status)); @@ -44,7 +46,7 @@ void async_read( struct mwmr_s *fifo, void *_ptr, int lensw ){ } void async_write( struct mwmr_s *fifo, void *_ptr, int lensw ){ - debugInt("debug fifo \n",fifo); + debugInt("debug fifo write\n",fifo); debugInt("debug ptr \n",_ptr); debugInt("debug lensw \n", lensw); debugInt("debug fifo status address \n", &(fifo->status)); @@ -113,8 +115,8 @@ void destroyAsyncchannel(asyncchannel *asyncch) { debugInt("asyncchannel address \n",channel->mwmr_fifo); debugInt("asyncchannel fifo->depth \n",channel->mwmr_fifo->depth); debugInt("asyncchannel fifo->width \n",channel->mwmr_fifo->width); - debugInt("asyncchannel msg size \n",sizeof(msg)); - async_read(channel->mwmr_fifo, &msg, sizeof(msg)); + debugInt("asyncchannel msg size \n",sizeof(*msg)); + async_read(channel->mwmr_fifo, &msg, sizeof(*msg)); return msg; } @@ -134,6 +136,6 @@ void addMessageToAsyncChannel(asyncchannel *channel, message *msg) { debugInt("asyncchannel->fifo rptr \n", channel->mwmr_fifo->status->rptr); debugInt("asyncchannel->fifo wptr \n", channel->mwmr_fifo->status->wptr); //async_write(channel->mwmr_fifo, &msg, 1 ); - debugInt("asyncchannel msg size \n",sizeof(msg)); - async_write(channel->mwmr_fifo, &msg, sizeof(msg));//DG 13.6. *msg au lieu de msg + debugInt("asyncchannel msg size \n",sizeof(*msg)); + async_write(channel->mwmr_fifo, &msg, sizeof(*msg));//DG 13.6. *msg au lieu de msg } diff --git a/doc/dev_infrastructure/ttool_development_infrastructure.tex b/doc/dev_infrastructure/ttool_development_infrastructure.tex index bc47146c72f381fc4a3d4d6f59ef1fbf1e7b1ce3..3f58a547b27bf9e565ccff14c7136b1bdac3a2d5 100644 --- a/doc/dev_infrastructure/ttool_development_infrastructure.tex +++ b/doc/dev_infrastructure/ttool_development_infrastructure.tex @@ -845,6 +845,47 @@ gradle :ttool:build \end{verbatim} if you only want to build TTool. +\subsection{Executing TTool} +When TTool is executed, it fetches configuration settings from a +\texttt{config.xml} file and modifies it when closed. When you build TTool, a +default \texttt{config.xml} file is copied from +\texttt{ttool/runtime/config.xml} to \texttt{bin/config.xml}. As the +\texttt{bin} folder is not tracked by git, you can modify this configuration +file without committing your personal changes to the distant repository---which +you should not do. However, building TTool once again would replace your +personal \texttt{bin/config.xml} with the generic +\texttt{ttool/runtime/config.xml}, losing the changes you made on your +configuration file. + +A better way to use your personal configuration file through different TTool +builds is to keep your own copy of \texttt{config.xml} outside of the +\texttt{bin} folder (which is removed when calling \texttt{make ultraclean}). +You can either create your own configuration file anywhere on the repository and +be careful not to add it to be tracked by git, or put it in a location where it +would not appear when doing a \texttt{git status}: either outside of the TTool +folder, or in a \texttt{.ttool} subdirectory which is explicitly ignored by git: +\begin{verbatim} +$ mkdir .ttool +$ cp ttool/runtime/config.xml .ttool/ +\end{verbatim} +You could thus either call ttool directly: +\begin{verbatim} +$ java -jar bin/ttool.jar -config .ttool/config.xml +\end{verbatim} +or copy \texttt{ttool.exe} to \texttt{.ttool} subdirectory and modify it: +\begin{verbatim} +$ cat .ttool/ttool.exe +#!/bin/sh + +java -version +cd .ttool; +java -Xmx1024m -Djavax.net.ssl.trustStore=ServerKeyStore \ + -Djavax.net.ssl.trustStorePassword=123456 -jar ../bin/ttool.jar \ + -config config.xml -experimental -debug -avatar -uppaal -launcher + +$ +\end{verbatim} + \subsection{Automated Tests} TODO diff --git a/modeling/SoCLib/rover.xml b/modeling/SoCLib/rover.xml new file mode 100644 index 0000000000000000000000000000000000000000..ce609a364e0f3c8114308cc9a4371ca34f4273e9 --- /dev/null +++ b/modeling/SoCLib/rover.xml @@ -0,0 +1,6074 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<TURTLEGMODELING version="0.99-beta4"> + +<Modeling type="TML Component Design" nameTab="Rover" > +<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" > +<CONNECTOR type="126" id="1" > +<cdparam x="480" 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="480" y="236" id="66" /> +<P2 x="479" y="296" id="26" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="2" > +<cdparam x="601" y="181" /> +<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="672" y="166" id="52" /> +<P2 x="817" y="166" id="9" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="3" > +<cdparam x="601" y="205" /> +<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="672" y="217" id="62" /> +<P2 x="817" y="217" id="11" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="4" > +<cdparam x="375" y="154" /> +<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="388" y="151" id="54" /> +<P2 x="257" y="151" id="37" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="5" > +<cdparam x="445" y="153" /> +<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="388" y="180" id="56" /> +<P2 x="257" y="182" id="41" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="6" > +<cdparam x="370" y="238" /> +<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="257" y="212" id="39" /> +<P2 x="388" y="212" id="64" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="7" > +<cdparam x="397" y="419" /> +<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="418" y="296" id="24" /> +<P2 x="418" y="236" id="58" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="126" id="8" > +<cdparam x="547" y="288" /> +<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="549" y="236" id="60" /> +<P2 x="548" y="296" id="22" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<COMPONENT type="1202" id="21" > +<cdparam x="817" y="126" /> +<sizeparam width="242" height="130" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component" value="MotorControl" /> +<TGConnectingPoint num="0" id="13" /> +<TGConnectingPoint num="1" id="14" /> +<TGConnectingPoint num="2" id="15" /> +<TGConnectingPoint num="3" id="16" /> +<TGConnectingPoint num="4" id="17" /> +<TGConnectingPoint num="5" id="18" /> +<TGConnectingPoint num="6" id="19" /> +<TGConnectingPoint num="7" id="20" /> +<extraparam> +<Attribute access="2" id="calculateCommand" value="" type="0" typeOther="" /> +<Attribute access="2" id="interval" value="" type="0" typeOther="" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1203" id="10" > +<father id="21" num="0" /> +<cdparam x="804" y="166" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="229" minY="-13" maxY="117" /> +<infoparam name="Primitive port" value="Event newCommand" /> +<TGConnectingPoint num="0" id="9" /> +<extraparam> +<Prop commName="newCommand" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="12" > +<father id="21" num="1" /> +<cdparam x="804" y="217" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="229" minY="-13" maxY="117" /> +<infoparam name="Primitive port" value="Channel motorCommand" /> +<TGConnectingPoint num="0" id="11" /> +<extraparam> +<Prop commName="motorCommand" commType="0" origin="false" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1202" id="36" > +<cdparam x="381" y="309" /> +<sizeparam width="291" height="98" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component" value="TemperatureSensor" /> +<TGConnectingPoint num="0" id="28" /> +<TGConnectingPoint num="1" id="29" /> +<TGConnectingPoint num="2" id="30" /> +<TGConnectingPoint num="3" id="31" /> +<TGConnectingPoint num="4" id="32" /> +<TGConnectingPoint num="5" id="33" /> +<TGConnectingPoint num="6" id="34" /> +<TGConnectingPoint num="7" id="35" /> +<extraparam> +<Attribute access="2" id="samplingRate" value="" type="0" typeOther="" /> +<Attribute access="2" id="sensorOn" value="" type="4" typeOther="" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1203" id="23" > +<father id="36" num="0" /> +<cdparam x="535" y="296" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="85" /> +<infoparam name="Primitive port" value="Event startTemp" /> +<TGConnectingPoint num="0" id="22" /> +<extraparam> +<Prop commName="startTemp" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="25" > +<father id="36" num="1" /> +<cdparam x="405" y="296" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="85" /> +<infoparam name="Primitive port" value="Channel tempData" /> +<TGConnectingPoint num="0" id="24" /> +<extraparam> +<Prop commName="tempData" 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="27" > +<father id="36" num="2" /> +<cdparam x="466" y="296" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="85" /> +<infoparam name="Primitive port" value="Event stopTemp" /> +<TGConnectingPoint num="0" id="26" /> +<extraparam> +<Prop commName="stopTemp" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1202" id="51" > +<cdparam x="57" y="128" /> +<sizeparam width="200" height="122" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component" value="DistanceSensor" /> +<TGConnectingPoint num="0" id="43" /> +<TGConnectingPoint num="1" id="44" /> +<TGConnectingPoint num="2" id="45" /> +<TGConnectingPoint num="3" id="46" /> +<TGConnectingPoint num="4" id="47" /> +<TGConnectingPoint num="5" id="48" /> +<TGConnectingPoint num="6" id="49" /> +<TGConnectingPoint num="7" id="50" /> +<extraparam> +<Attribute access="2" id="samplingRate" value="" type="0" typeOther="" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1203" id="38" > +<father id="51" num="0" /> +<cdparam x="244" y="151" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="109" /> +<infoparam name="Primitive port" value="Event changeRate" /> +<TGConnectingPoint num="0" id="37" /> +<extraparam> +<Prop commName="changeRate" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="40" > +<father id="51" num="1" /> +<cdparam x="244" y="212" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="109" /> +<infoparam name="Primitive port" value="Channel ultrasonicData" /> +<TGConnectingPoint num="0" id="39" /> +<extraparam> +<Prop commName="ultrasonicData" 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="42" > +<father id="51" num="2" /> +<cdparam x="244" y="182" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="109" /> +<infoparam name="Primitive port" value="Channel samplingRate" /> +<TGConnectingPoint num="0" id="41" /> +<extraparam> +<Prop commName="samplingRate" commType="0" origin="false" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1202" id="76" > +<cdparam x="388" y="125" /> +<sizeparam width="284" height="124" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component" value="MainControl" /> +<TGConnectingPoint num="0" id="68" /> +<TGConnectingPoint num="1" id="69" /> +<TGConnectingPoint num="2" id="70" /> +<TGConnectingPoint num="3" id="71" /> +<TGConnectingPoint num="4" id="72" /> +<TGConnectingPoint num="5" id="73" /> +<TGConnectingPoint num="6" id="74" /> +<TGConnectingPoint num="7" id="75" /> +<extraparam> +<Attribute access="2" id="state" value="" type="0" typeOther="" /> +<Attribute access="2" id="calculateTraj" value="" type="0" typeOther="" /> +<Attribute access="2" id="calculateDistance" value="" type="0" typeOther="" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1203" id="53" > +<father id="76" num="0" /> +<cdparam x="659" y="166" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Event newCommand" /> +<TGConnectingPoint num="0" id="52" /> +<extraparam> +<Prop commName="newCommand" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="55" > +<father id="76" num="1" /> +<cdparam x="375" y="151" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Event changeRate" /> +<TGConnectingPoint num="0" id="54" /> +<extraparam> +<Prop commName="changeRate" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="57" > +<father id="76" num="2" /> +<cdparam x="375" y="180" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Channel samplingRate" /> +<TGConnectingPoint num="0" id="56" /> +<extraparam> +<Prop commName="samplingRate" commType="0" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="59" > +<father id="76" num="3" /> +<cdparam x="405" y="236" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Channel tempData" /> +<TGConnectingPoint num="0" id="58" /> +<extraparam> +<Prop commName="tempData" 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="61" > +<father id="76" num="4" /> +<cdparam x="536" y="236" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Event startTemp" /> +<TGConnectingPoint num="0" id="60" /> +<extraparam> +<Prop commName="startTemp" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="63" > +<father id="76" num="5" /> +<cdparam x="659" y="217" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Channel motorCommand" /> +<TGConnectingPoint num="0" id="62" /> +<extraparam> +<Prop commName="motorCommand" commType="0" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="65" > +<father id="76" num="6" /> +<cdparam x="375" y="212" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Channel ultrasonicData" /> +<TGConnectingPoint num="0" id="64" /> +<extraparam> +<Prop commName="ultrasonicData" 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="67" > +<father id="76" num="7" /> +<cdparam x="467" y="236" /> +<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-13" maxX="271" minY="-13" maxY="111" /> +<infoparam name="Primitive port" value="Event stopTemp" /> +<TGConnectingPoint num="0" id="66" /> +<extraparam> +<Prop commName="stopTemp" 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="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +<Type type="0" typeOther="" /> +</extraparam> +</SUBCOMPONENT> + + +</TMLComponentTaskDiagramPanel> + +<TMLActivityDiagramPanel name="MotorControl" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1013" id="80" > +<cdparam x="458" y="198" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="78" /> +<TGConnectingPoint num="1" id="79" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="77" > +<father id="80" num="0" /> +<cdparam x="473" y="218" /> +<sizeparam width="46" 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="interval" /> +</SUBCOMPONENT> + +<COMPONENT type="1001" id="82" > +<cdparam x="453" y="404" /> +<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="81" /> +</COMPONENT> + +<COMPONENT type="1009" id="85" > +<cdparam x="398" y="347" /> +<sizeparam width="131" 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="read channel" value="motorCommand(1) " /> +<TGConnectingPoint num="0" id="83" /> +<TGConnectingPoint num="1" id="84" /> +<extraparam> +<Data channelName="motorCommand" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1001" id="87" > +<cdparam x="336" y="149" /> +<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="86" /> +</COMPONENT> + +<COMPONENT type="1020" id="91" > +<cdparam x="297" y="83" /> +<sizeparam width="98" 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="for loop" value="10" /> +<TGConnectingPoint num="0" id="88" /> +<TGConnectingPoint num="1" id="89" /> +<TGConnectingPoint num="2" id="90" /> +</COMPONENT> + +<COMPONENT type="1010" id="94" > +<cdparam x="408" y="278" /> +<sizeparam width="111" 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="wait event" value="newCommand() " /> +<TGConnectingPoint num="0" id="92" /> +<TGConnectingPoint num="1" id="93" /> +<extraparam> +<Data eventName="newCommand" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="96" > +<cdparam x="339" y="31" /> +<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="95" /> +</COMPONENT> + +<CONNECTOR type="115" id="97" > +<cdparam x="545" y="248" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="463" y="233" id="79" /> +<P2 x="463" y="273" id="92" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="98" > +<cdparam x="395" y="97" /> +<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="97" id="89" /> +<P2 x="463" y="193" id="78" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="99" > +<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="346" y="51" id="95" /> +<P2 x="346" y="78" id="88" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="100" > +<cdparam x="346" y="108" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="346" y="108" id="90" /> +<P2 x="346" y="144" id="86" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="101" > +<cdparam x="463" 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="463" y="303" id="93" /> +<P2 x="463" y="342" id="83" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="102" > +<cdparam x="463" y="372" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="463" y="372" id="84" /> +<P2 x="463" y="399" id="81" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="TemperatureSensor" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1030" id="105" > +<cdparam x="279" y="73" /> +<sizeparam width="92" 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="for ever loop" value="Loop for ever" /> +<TGConnectingPoint num="0" id="103" /> +<TGConnectingPoint num="1" id="104" /> +</COMPONENT> + +<COMPONENT type="1001" id="107" > +<cdparam x="321" y="400" /> +<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="106" /> +</COMPONENT> + +<COMPONENT type="1001" id="109" > +<cdparam x="489" y="517" /> +<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="108" /> +</COMPONENT> + +<COMPONENT type="1011" id="112" > +<cdparam x="444" y="457" /> +<sizeparam width="110" 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="action state" value="sensorOn=false" /> +<TGConnectingPoint num="0" id="110" /> +<TGConnectingPoint num="1" id="111" /> +</COMPONENT> + +<COMPONENT type="1010" id="115" > +<cdparam x="456" y="402" /> +<sizeparam width="86" 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="wait event" value="stopTemp() " /> +<TGConnectingPoint num="0" id="113" /> +<TGConnectingPoint num="1" id="114" /> +<extraparam> +<Data eventName="stopTemp" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1012" id="123" > +<cdparam x="392" y="333" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="119" /> +<TGConnectingPoint num="1" id="120" /> +<TGConnectingPoint num="2" id="121" /> +<TGConnectingPoint num="3" id="122" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="116" > +<father id="123" num="0" /> +<cdparam x="367" y="343" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="117" > +<father id="123" num="1" /> +<cdparam x="427" y="343" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="118" > +<father id="123" num="2" /> +<cdparam x="412" y="378" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1006" id="126" > +<cdparam x="362" y="257" /> +<sizeparam width="90" 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="write channel" value="tempData(1)" /> +<TGConnectingPoint num="0" id="124" /> +<TGConnectingPoint num="1" id="125" /> +<extraparam> +<Data channelName="tempData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1013" id="130" > +<cdparam x="404" y="194" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="128" /> +<TGConnectingPoint num="1" id="129" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="127" > +<father id="130" num="0" /> +<cdparam x="419" y="214" /> +<sizeparam width="85" 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="samplingRate" /> +</SUBCOMPONENT> + +<COMPONENT type="1010" id="133" > +<cdparam x="365" y="132" /> +<sizeparam width="88" 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="wait event" value="startTemp() " /> +<TGConnectingPoint num="0" id="131" /> +<TGConnectingPoint num="1" id="132" /> +<extraparam> +<Data eventName="startTemp" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="135" > +<cdparam x="318" y="25" /> +<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="134" /> +</COMPONENT> + +<CONNECTOR type="115" id="136" > +<cdparam x="407" y="138" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="409" y="157" id="132" /> +<P2 x="409" y="189" id="128" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="137" > +<cdparam x="407" y="216" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="409" y="229" id="129" /> +<P2 x="407" y="252" id="124" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="138" > +<cdparam x="407" y="282" /> +<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="282" id="125" /> +<P2 x="407" y="323" id="119" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="139" > +<cdparam x="447" y="348" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="447" y="348" id="121" /> +<P2 x="499" y="397" id="113" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="140" > +<cdparam x="367" y="348" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="499" y="427" id="114" /> +<P2 x="499" y="452" id="110" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="141" > +<cdparam x="499" y="482" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="499" y="482" id="111" /> +<P2 x="499" y="512" id="108" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="142" > +<cdparam x="367" y="348" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="367" y="348" id="120" /> +<P2 x="331" y="395" id="106" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="143" > +<cdparam x="325" y="45" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="325" y="45" id="134" /> +<P2 x="325" y="68" id="103" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="144" > +<cdparam x="369" 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="371" y="87" id="104" /> +<P2 x="409" y="127" id="131" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="DistanceSensor" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="1030" id="147" > +<cdparam x="282" y="69" /> +<sizeparam width="92" 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="for ever loop" value="Loop for ever" /> +<TGConnectingPoint num="0" id="145" /> +<TGConnectingPoint num="1" id="146" /> +</COMPONENT> + +<COMPONENT type="1001" id="149" > +<cdparam x="408" y="413" /> +<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="148" /> +</COMPONENT> + +<COMPONENT type="1013" id="153" > +<cdparam x="413" y="184" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="151" /> +<TGConnectingPoint num="1" id="152" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="150" > +<father id="153" num="0" /> +<cdparam x="428" y="204" /> +<sizeparam width="85" 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="samplingRate" /> +</SUBCOMPONENT> + +<COMPONENT type="1006" id="156" > +<cdparam x="358" y="147" /> +<sizeparam width="120" 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="write channel" value="ultrasonicData(1)" /> +<TGConnectingPoint num="0" id="154" /> +<TGConnectingPoint num="1" id="155" /> +<extraparam> +<Data channelName="ultrasonicData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1009" id="159" > +<cdparam x="360" y="352" /> +<sizeparam width="117" 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="read channel" value="samplingRate(1) " /> +<TGConnectingPoint num="0" id="157" /> +<TGConnectingPoint num="1" id="158" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1010" id="162" > +<cdparam x="368" y="288" /> +<sizeparam width="100" 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="wait event" value="changeRate() " /> +<TGConnectingPoint num="0" id="160" /> +<TGConnectingPoint num="1" id="161" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="164" > +<cdparam x="321" y="29" /> +<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="163" /> +</COMPONENT> + +<CONNECTOR type="115" id="165" > +<cdparam x="418" y="263" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="418" y="219" id="152" /> +<P2 x="418" y="283" id="160" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="166" > +<cdparam x="374" y="83" /> +<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="83" id="146" /> +<P2 x="418" y="142" id="154" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="167" > +<cdparam x="418" y="172" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="418" y="172" id="155" /> +<P2 x="418" y="179" id="151" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="168" > +<cdparam x="418" y="313" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="418" y="313" id="161" /> +<P2 x="418" y="347" id="157" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="169" > +<cdparam x="418" y="377" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="418" y="377" id="158" /> +<P2 x="418" y="408" id="148" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="170" > +<cdparam x="340" y="42" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="328" y="49" id="163" /> +<P2 x="328" y="64" id="145" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +<TMLActivityDiagramPanel name="MainControl" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="301" id="187" > +<cdparam x="10" y="434" /> +<sizeparam width="256" height="27" minWidth="20" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="UML Note" value="Depending on the distance, calculate +a motor command and new state +" /> +<TGConnectingPoint num="0" id="171" /> +<TGConnectingPoint num="1" id="172" /> +<TGConnectingPoint num="2" id="173" /> +<TGConnectingPoint num="3" id="174" /> +<TGConnectingPoint num="4" id="175" /> +<TGConnectingPoint num="5" id="176" /> +<TGConnectingPoint num="6" id="177" /> +<TGConnectingPoint num="7" id="178" /> +<TGConnectingPoint num="8" id="179" /> +<TGConnectingPoint num="9" id="180" /> +<TGConnectingPoint num="10" id="181" /> +<TGConnectingPoint num="11" id="182" /> +<TGConnectingPoint num="12" id="183" /> +<TGConnectingPoint num="13" id="184" /> +<TGConnectingPoint num="14" id="185" /> +<TGConnectingPoint num="15" id="186" /> +<extraparam> +<Line value="Depending on the distance, calculate" /> +<Line value="a motor command and new state" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1001" id="189" > +<cdparam x="1164" y="675" /> +<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="188" /> +</COMPONENT> + +<COMPONENT type="1001" id="191" > +<cdparam x="759" y="604" /> +<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="190" /> +</COMPONENT> + +<COMPONENT type="1001" id="193" > +<cdparam x="648" y="633" /> +<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="192" /> +</COMPONENT> + +<COMPONENT type="1001" id="195" > +<cdparam x="532" y="705" /> +<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="194" /> +</COMPONENT> + +<COMPONENT type="1001" id="197" > +<cdparam x="405" y="813" /> +<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="196" /> +</COMPONENT> + +<COMPONENT type="1001" id="199" > +<cdparam x="259" y="763" /> +<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="198" /> +</COMPONENT> + +<COMPONENT type="1001" id="201" > +<cdparam x="136" y="606" /> +<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="200" /> +</COMPONENT> + +<COMPONENT type="1001" id="203" > +<cdparam x="510" y="109" /> +<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="202" /> +</COMPONENT> + +<COMPONENT type="1009" id="206" > +<cdparam x="1015" y="192" /> +<sizeparam width="94" 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="read channel" value="tempData(1) " /> +<TGConnectingPoint num="0" id="204" /> +<TGConnectingPoint num="1" id="205" /> +<extraparam> +<Data channelName="tempData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1013" id="210" > +<cdparam x="1057" y="303" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="208" /> +<TGConnectingPoint num="1" id="209" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="207" > +<father id="210" num="0" /> +<cdparam x="1072" y="323" /> +<sizeparam width="112" 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="calculateDistance" /> +</SUBCOMPONENT> + +<COMPONENT type="1013" id="214" > +<cdparam x="653" y="292" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="212" /> +<TGConnectingPoint num="1" id="213" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="211" > +<father id="214" num="0" /> +<cdparam x="668" y="312" /> +<sizeparam width="112" 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="calculateDistance" /> +</SUBCOMPONENT> + +<COMPONENT type="1008" id="217" > +<cdparam x="1022" y="707" /> +<sizeparam width="82" 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="send event" value="stopTemp()" /> +<TGConnectingPoint num="0" id="215" /> +<TGConnectingPoint num="1" id="216" /> +<extraparam> +<Data eventName="stopTemp" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="220" > +<cdparam x="869" y="697" /> +<sizeparam width="82" 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="send event" value="stopTemp()" /> +<TGConnectingPoint num="0" id="218" /> +<TGConnectingPoint num="1" id="219" /> +<extraparam> +<Data eventName="stopTemp" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1020" id="224" > +<cdparam x="471" y="67" /> +<sizeparam width="98" 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="for loop" value="10" /> +<TGConnectingPoint num="0" id="221" /> +<TGConnectingPoint num="1" id="222" /> +<TGConnectingPoint num="2" id="223" /> +</COMPONENT> + +<COMPONENT type="1013" id="228" > +<cdparam x="264" y="258" /> +<sizeparam width="10" height="30" 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="execI" value="null" /> +<TGConnectingPoint num="0" id="226" /> +<TGConnectingPoint num="1" id="227" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="225" > +<father id="228" num="0" /> +<cdparam x="279" y="278" /> +<sizeparam width="112" 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="calculateDistance" /> +</SUBCOMPONENT> + +<COMPONENT type="301" id="245" > +<cdparam x="144" y="29" /> +<sizeparam width="311" height="39" minWidth="20" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="UML Note" value="state 0: obstacles far away +state 1: obstacles intermediate distance away +state 2: obstacles in close proximity +" /> +<TGConnectingPoint num="0" id="229" /> +<TGConnectingPoint num="1" id="230" /> +<TGConnectingPoint num="2" id="231" /> +<TGConnectingPoint num="3" id="232" /> +<TGConnectingPoint num="4" id="233" /> +<TGConnectingPoint num="5" id="234" /> +<TGConnectingPoint num="6" id="235" /> +<TGConnectingPoint num="7" id="236" /> +<TGConnectingPoint num="8" id="237" /> +<TGConnectingPoint num="9" id="238" /> +<TGConnectingPoint num="10" id="239" /> +<TGConnectingPoint num="11" id="240" /> +<TGConnectingPoint num="12" id="241" /> +<TGConnectingPoint num="13" id="242" /> +<TGConnectingPoint num="14" id="243" /> +<TGConnectingPoint num="15" id="244" /> +<extraparam> +<Line value="state 0: obstacles far away" /> +<Line value="state 1: obstacles intermediate distance away" /> +<Line value="state 2: obstacles in close proximity" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1012" id="253" > +<cdparam x="1048" y="554" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="249" /> +<TGConnectingPoint num="1" id="250" /> +<TGConnectingPoint num="2" id="251" /> +<TGConnectingPoint num="3" id="252" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="246" > +<father id="253" num="0" /> +<cdparam x="1023" y="564" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="247" > +<father id="253" num="1" /> +<cdparam x="1083" y="564" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="248" > +<father id="253" num="2" /> +<cdparam x="1068" y="599" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1012" id="261" > +<cdparam x="643" y="484" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="257" /> +<TGConnectingPoint num="1" id="258" /> +<TGConnectingPoint num="2" id="259" /> +<TGConnectingPoint num="3" id="260" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="254" > +<father id="261" num="0" /> +<cdparam x="618" y="494" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="255" > +<father id="261" num="1" /> +<cdparam x="678" y="494" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="256" > +<father id="261" num="2" /> +<cdparam x="663" y="529" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1011" id="264" > +<cdparam x="385" y="553" /> +<sizeparam width="61" 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="action state" value="state=2" /> +<TGConnectingPoint num="0" id="262" /> +<TGConnectingPoint num="1" id="263" /> +</COMPONENT> + +<COMPONENT type="1011" id="267" > +<cdparam x="239" y="588" /> +<sizeparam width="61" 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="action state" value="state=1" /> +<TGConnectingPoint num="0" id="265" /> +<TGConnectingPoint num="1" id="266" /> +</COMPONENT> + +<COMPONENT type="1011" id="270" > +<cdparam x="116" y="548" /> +<sizeparam width="61" 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="action state" value="state=0" /> +<TGConnectingPoint num="0" id="268" /> +<TGConnectingPoint num="1" id="269" /> +</COMPONENT> + +<COMPONENT type="1006" id="273" > +<cdparam x="206" y="379" /> +<sizeparam width="127" 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="write channel" value="motorCommand(1)" /> +<TGConnectingPoint num="0" id="271" /> +<TGConnectingPoint num="1" id="272" /> +<extraparam> +<Data channelName="motorCommand" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="276" > +<cdparam x="213" y="710" /> +<sizeparam width="113" 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="write channel" value="samplingRate(1)" /> +<TGConnectingPoint num="0" id="274" /> +<TGConnectingPoint num="1" id="275" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="279" > +<cdparam x="216" y="327" /> +<sizeparam width="107" 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="send event" value="newCommand()" /> +<TGConnectingPoint num="0" id="277" /> +<TGConnectingPoint num="1" id="278" /> +<extraparam> +<Data eventName="newCommand" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="282" > +<cdparam x="221" y="655" /> +<sizeparam width="96" 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="send event" value="changeRate()" /> +<TGConnectingPoint num="0" id="280" /> +<TGConnectingPoint num="1" id="281" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="285" > +<cdparam x="373" y="761" /> +<sizeparam width="84" 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="send event" value="startTemp()" /> +<TGConnectingPoint num="0" id="283" /> +<TGConnectingPoint num="1" id="284" /> +<extraparam> +<Data eventName="startTemp" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1012" id="293" > +<cdparam x="254" y="494" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="289" /> +<TGConnectingPoint num="1" id="290" /> +<TGConnectingPoint num="2" id="291" /> +<TGConnectingPoint num="3" id="292" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="286" > +<father id="293" num="0" /> +<cdparam x="229" y="504" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="287" > +<father id="293" num="1" /> +<cdparam x="289" y="504" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[ ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="288" > +<father id="293" num="2" /> +<cdparam x="274" y="539" /> +<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[ ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1012" id="301" > +<cdparam x="643" y="114" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="297" /> +<TGConnectingPoint num="1" id="298" /> +<TGConnectingPoint num="2" id="299" /> +<TGConnectingPoint num="3" id="300" /> +</COMPONENT> +<SUBCOMPONENT type="-1" id="294" > +<father id="301" num="0" /> +<cdparam x="568" y="124" /> +<sizeparam width="75" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> +<infoparam name="guard 1" value="[ state==0]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="295" > +<father id="301" num="1" /> +<cdparam x="678" y="124" /> +<sizeparam width="75" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> +<infoparam name="guard 2" value="[state==2 ]" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="296" > +<father id="301" num="2" /> +<cdparam x="663" y="159" /> +<sizeparam width="75" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> +<infoparam name="guard 3" value="[state==1 ]" /> +</SUBCOMPONENT> + +<COMPONENT type="1009" id="304" > +<cdparam x="207" y="195" /> +<sizeparam width="124" 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="read channel" value="ultrasonicData(1) " /> +<TGConnectingPoint num="0" id="302" /> +<TGConnectingPoint num="1" id="303" /> +<extraparam> +<Data channelName="ultrasonicData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1000" id="306" > +<cdparam x="513" y="10" /> +<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="305" /> +</COMPONENT> + +<COMPONENT type="1011" id="309" > +<cdparam x="739" y="546" /> +<sizeparam width="61" 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="action state" value="state=2" /> +<TGConnectingPoint num="0" id="307" /> +<TGConnectingPoint num="1" id="308" /> +</COMPONENT> + +<COMPONENT type="1011" id="312" > +<cdparam x="628" y="573" /> +<sizeparam width="61" 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="action state" value="state=1" /> +<TGConnectingPoint num="0" id="310" /> +<TGConnectingPoint num="1" id="311" /> +</COMPONENT> + +<COMPONENT type="1011" id="315" > +<cdparam x="512" y="539" /> +<sizeparam width="61" 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="action state" value="state=0" /> +<TGConnectingPoint num="0" id="313" /> +<TGConnectingPoint num="1" id="314" /> +</COMPONENT> + +<COMPONENT type="1009" id="318" > +<cdparam x="596" y="221" /> +<sizeparam width="124" 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="read channel" value="ultrasonicData(1) " /> +<TGConnectingPoint num="0" id="316" /> +<TGConnectingPoint num="1" id="317" /> +<extraparam> +<Data channelName="ultrasonicData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1011" id="321" > +<cdparam x="1144" y="616" /> +<sizeparam width="61" 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="action state" value="state=2" /> +<TGConnectingPoint num="0" id="319" /> +<TGConnectingPoint num="1" id="320" /> +</COMPONENT> + +<COMPONENT type="1011" id="324" > +<cdparam x="1033" y="647" /> +<sizeparam width="61" 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="action state" value="state=1" /> +<TGConnectingPoint num="0" id="322" /> +<TGConnectingPoint num="1" id="323" /> +</COMPONENT> + +<COMPONENT type="1011" id="327" > +<cdparam x="880" y="624" /> +<sizeparam width="61" 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="action state" value="state=0" /> +<TGConnectingPoint num="0" id="325" /> +<TGConnectingPoint num="1" id="326" /> +</COMPONENT> + +<COMPONENT type="1009" id="330" > +<cdparam x="1000" y="500" /> +<sizeparam width="124" 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="read channel" value="ultrasonicData(1) " /> +<TGConnectingPoint num="0" id="328" /> +<TGConnectingPoint num="1" id="329" /> +<extraparam> +<Data channelName="ultrasonicData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="333" > +<cdparam x="359" y="697" /> +<sizeparam width="113" 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="write channel" value="samplingRate(1)" /> +<TGConnectingPoint num="0" id="331" /> +<TGConnectingPoint num="1" id="332" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="336" > +<cdparam x="367" y="642" /> +<sizeparam width="96" 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="send event" value="changeRate()" /> +<TGConnectingPoint num="0" id="334" /> +<TGConnectingPoint num="1" id="335" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="339" > +<cdparam x="486" y="649" /> +<sizeparam width="113" 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="write channel" value="samplingRate(1)" /> +<TGConnectingPoint num="0" id="337" /> +<TGConnectingPoint num="1" id="338" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="342" > +<cdparam x="494" y="594" /> +<sizeparam width="96" 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="send event" value="changeRate()" /> +<TGConnectingPoint num="0" id="340" /> +<TGConnectingPoint num="1" id="341" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="345" > +<cdparam x="595" y="422" /> +<sizeparam width="127" 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="write channel" value="motorCommand(1)" /> +<TGConnectingPoint num="0" id="343" /> +<TGConnectingPoint num="1" id="344" /> +<extraparam> +<Data channelName="motorCommand" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="348" > +<cdparam x="605" y="370" /> +<sizeparam width="107" 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="send event" value="newCommand()" /> +<TGConnectingPoint num="0" id="346" /> +<TGConnectingPoint num="1" id="347" /> +<extraparam> +<Data eventName="newCommand" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1006" id="351" > +<cdparam x="999" y="422" /> +<sizeparam width="127" 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="write channel" value="motorCommand(1)" /> +<TGConnectingPoint num="0" id="349" /> +<TGConnectingPoint num="1" id="350" /> +<extraparam> +<Data channelName="motorCommand" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="354" > +<cdparam x="1009" y="370" /> +<sizeparam width="107" 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="send event" value="newCommand()" /> +<TGConnectingPoint num="0" id="352" /> +<TGConnectingPoint num="1" id="353" /> +<extraparam> +<Data eventName="newCommand" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1009" id="357" > +<cdparam x="1000" y="238" /> +<sizeparam width="124" 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="read channel" value="ultrasonicData(1) " /> +<TGConnectingPoint num="0" id="355" /> +<TGConnectingPoint num="1" id="356" /> +<extraparam> +<Data channelName="ultrasonicData" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1001" id="359" > +<cdparam x="900" y="862" /> +<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="358" /> +</COMPONENT> + +<COMPONENT type="1006" id="362" > +<cdparam x="854" y="809" /> +<sizeparam width="113" 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="write channel" value="samplingRate(1)" /> +<TGConnectingPoint num="0" id="360" /> +<TGConnectingPoint num="1" id="361" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="365" > +<cdparam x="862" y="754" /> +<sizeparam width="96" 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="send event" value="changeRate()" /> +<TGConnectingPoint num="0" id="363" /> +<TGConnectingPoint num="1" id="364" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1001" id="367" > +<cdparam x="1053" y="864" /> +<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="366" /> +</COMPONENT> + +<COMPONENT type="1006" id="370" > +<cdparam x="1007" y="811" /> +<sizeparam width="113" 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="write channel" value="samplingRate(1)" /> +<TGConnectingPoint num="0" id="368" /> +<TGConnectingPoint num="1" id="369" /> +<extraparam> +<Data channelName="samplingRate" nbOfSamples="1" secPattern="" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1008" id="373" > +<cdparam x="1015" y="756" /> +<sizeparam width="96" 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="send event" value="changeRate()" /> +<TGConnectingPoint num="0" id="371" /> +<TGConnectingPoint num="1" id="372" /> +<extraparam> +<Data eventName="changeRate" nbOfParams="5" /> +</extraparam> +</COMPONENT> + +<CONNECTOR type="115" id="374" > +<cdparam x="1063" y="732" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1063" y="732" id="216" /> +<P2 x="1063" y="751" id="371" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="375" > +<cdparam x="910" y="722" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="910" y="722" id="219" /> +<P2 x="910" y="749" id="363" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="376" > +<cdparam x="1062" y="447" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="447" id="350" /> +<P2 x="1062" y="495" id="328" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="377" > +<cdparam x="1063" y="219" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="217" id="205" /> +<P2 x="1062" y="233" id="355" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="378" > +<cdparam x="658" y="447" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="447" id="344" /> +<P2 x="658" y="474" id="257" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="379" > +<cdparam x="269" y="404" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="404" id="272" /> +<P2 x="269" y="484" id="289" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="380" > +<cdparam x="606" y="81" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="569" y="81" id="222" /> +<P2 x="658" y="104" id="297" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="381" > +<cdparam x="542" y="564" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="542" y="564" id="314" /> +<P2 x="542" y="589" id="340" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="382" > +<cdparam x="269" y="293" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="293" id="227" /> +<P2 x="269" y="322" id="277" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="383" > +<cdparam x="415" y="722" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="415" y="722" id="332" /> +<P2 x="415" y="756" id="283" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="384" > +<cdparam x="394" y="577" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="415" y="578" id="263" /> +<P2 x="415" y="637" id="334" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="385" > +<cdparam x="269" y="613" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="613" id="266" /> +<P2 x="269" y="650" id="280" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="386" > +<cdparam x="658" 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="658" y="169" id="300" /> +<P2 x="658" y="216" id="316" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="387" > +<cdparam x="698" y="129" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="698" y="129" id="299" /> +<P2 x="1062" y="187" id="204" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="388" > +<cdparam x="621" 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="520" y="30" id="305" /> +<P2 x="520" y="62" id="221" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="389" > +<cdparam x="375" y="118" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="618" y="129" id="298" /> +<P2 x="269" y="190" id="302" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="390" > +<cdparam x="270" y="211" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="220" id="303" /> +<P2 x="269" y="253" id="226" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="391" > +<cdparam x="269" y="680" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="680" id="281" /> +<P2 x="269" y="705" id="274" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="392" > +<cdparam x="278" y="345" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="352" id="278" /> +<P2 x="269" y="374" id="271" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="393" > +<cdparam x="229" y="509" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="229" y="509" id="290" /> +<P2 x="146" y="543" id="268" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="394" > +<cdparam x="269" y="549" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="549" id="292" /> +<P2 x="269" y="583" id="265" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="395" > +<cdparam x="406" y="505" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="309" y="509" id="291" /> +<P2 x="415" y="548" id="262" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="396" > +<cdparam x="659" y="237" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="246" id="317" /> +<P2 x="658" y="287" id="212" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="397" > +<cdparam x="618" y="499" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="618" y="499" id="258" /> +<P2 x="542" y="534" id="313" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="398" > +<cdparam x="658" y="539" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="539" id="260" /> +<P2 x="658" y="568" id="310" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="399" > +<cdparam x="795" y="495" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="698" y="499" id="259" /> +<P2 x="769" y="541" id="307" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="400" > +<cdparam x="1063" y="516" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="525" id="329" /> +<P2 x="1063" y="544" id="249" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="401" > +<cdparam x="1023" y="569" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1023" y="569" id="250" /> +<P2 x="910" y="619" id="325" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="402" > +<cdparam x="1063" y="609" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1063" y="609" id="252" /> +<P2 x="1063" y="642" id="322" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="403" > +<cdparam x="1200" y="565" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1103" y="569" id="251" /> +<P2 x="1174" y="611" id="319" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="404" > +<cdparam x="415" y="667" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="415" y="667" id="335" /> +<P2 x="415" y="692" id="331" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="405" > +<cdparam x="542" y="619" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="542" y="619" id="341" /> +<P2 x="542" y="644" id="337" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="406" > +<cdparam x="910" y="649" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="910" y="649" id="326" /> +<P2 x="910" y="692" id="218" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="407" > +<cdparam x="1063" y="672" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1063" y="672" id="323" /> +<P2 x="1063" y="702" id="215" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="408" > +<cdparam x="658" y="336" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="327" id="213" /> +<P2 x="658" y="365" id="346" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="409" > +<cdparam x="667" y="388" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="395" id="347" /> +<P2 x="658" y="417" id="343" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="410" > +<cdparam x="1062" y="336" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="338" id="209" /> +<P2 x="1062" y="365" id="352" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="411" > +<cdparam x="1063" y="254" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="263" id="356" /> +<P2 x="1062" y="298" id="208" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="412" > +<cdparam x="1071" y="388" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1062" y="395" id="353" /> +<P2 x="1062" y="417" id="349" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="413" > +<cdparam x="520" y="92" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="520" y="92" id="223" /> +<P2 x="520" y="104" id="202" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="414" > +<cdparam x="146" y="573" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="146" y="573" id="269" /> +<P2 x="146" y="601" id="200" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="415" > +<cdparam x="269" y="735" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="269" y="735" id="275" /> +<P2 x="269" y="758" id="198" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="416" > +<cdparam x="415" y="786" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="415" y="786" id="284" /> +<P2 x="415" y="808" id="196" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="417" > +<cdparam x="542" y="674" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="542" y="674" id="338" /> +<P2 x="542" y="700" id="194" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="418" > +<cdparam x="658" y="598" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="658" y="598" id="311" /> +<P2 x="658" y="628" id="192" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="419" > +<cdparam x="769" y="571" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="769" y="571" id="308" /> +<P2 x="769" y="599" id="190" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="420" > +<cdparam x="1174" y="641" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1174" y="641" id="320" /> +<P2 x="1174" y="670" id="188" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="421" > +<cdparam x="910" y="779" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="910" y="779" id="364" /> +<P2 x="910" y="804" id="360" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="422" > +<cdparam x="910" y="834" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="910" y="834" id="361" /> +<P2 x="910" y="857" id="358" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="423" > +<cdparam x="1063" y="781" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1063" y="781" id="372" /> +<P2 x="1063" y="806" id="368" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="115" id="424" > +<cdparam x="1063" y="836" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<P1 x="1063" y="836" id="369" /> +<P2 x="1063" y="859" id="366" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> + +</TMLActivityDiagramPanel> + +</Modeling> + + + + +<Modeling type="TML Architecture" nameTab="Architecture" > +<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > +<COMPONENT type="1102" id="449" > +<cdparam x="531" y="29" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bus0" value="name" /> +<TGConnectingPoint num="0" id="425" /> +<TGConnectingPoint num="1" id="426" /> +<TGConnectingPoint num="2" id="427" /> +<TGConnectingPoint num="3" id="428" /> +<TGConnectingPoint num="4" id="429" /> +<TGConnectingPoint num="5" id="430" /> +<TGConnectingPoint num="6" id="431" /> +<TGConnectingPoint num="7" id="432" /> +<TGConnectingPoint num="8" id="433" /> +<TGConnectingPoint num="9" id="434" /> +<TGConnectingPoint num="10" id="435" /> +<TGConnectingPoint num="11" id="436" /> +<TGConnectingPoint num="12" id="437" /> +<TGConnectingPoint num="13" id="438" /> +<TGConnectingPoint num="14" id="439" /> +<TGConnectingPoint num="15" id="440" /> +<TGConnectingPoint num="16" id="441" /> +<TGConnectingPoint num="17" id="442" /> +<TGConnectingPoint num="18" id="443" /> +<TGConnectingPoint num="19" id="444" /> +<TGConnectingPoint num="20" id="445" /> +<TGConnectingPoint num="21" id="446" /> +<TGConnectingPoint num="22" id="447" /> +<TGConnectingPoint num="23" id="448" /> +<extraparam> +<info stereotype="BUS" nodeName="Bus0" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1105" id="474" > +<cdparam x="668" y="98" /> +<sizeparam width="200" height="214" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Memory0" value="name" /> +<TGConnectingPoint num="0" id="450" /> +<TGConnectingPoint num="1" id="451" /> +<TGConnectingPoint num="2" id="452" /> +<TGConnectingPoint num="3" id="453" /> +<TGConnectingPoint num="4" id="454" /> +<TGConnectingPoint num="5" id="455" /> +<TGConnectingPoint num="6" id="456" /> +<TGConnectingPoint num="7" id="457" /> +<TGConnectingPoint num="8" id="458" /> +<TGConnectingPoint num="9" id="459" /> +<TGConnectingPoint num="10" id="460" /> +<TGConnectingPoint num="11" id="461" /> +<TGConnectingPoint num="12" id="462" /> +<TGConnectingPoint num="13" id="463" /> +<TGConnectingPoint num="14" id="464" /> +<TGConnectingPoint num="15" id="465" /> +<TGConnectingPoint num="16" id="466" /> +<TGConnectingPoint num="17" id="467" /> +<TGConnectingPoint num="18" id="468" /> +<TGConnectingPoint num="19" id="469" /> +<TGConnectingPoint num="20" id="470" /> +<TGConnectingPoint num="21" id="471" /> +<TGConnectingPoint num="22" id="472" /> +<TGConnectingPoint num="23" id="473" /> +<extraparam> +<info stereotype="MEMORY" nodeName="Memory0" /> +<attributes byteDataSize="4" clockRatio="1" bufferType="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="1100" id="535" > +<cdparam x="428" y="98" /> +<sizeparam width="220" height="215" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU0" value="name" /> +<TGConnectingPoint num="0" id="511" /> +<TGConnectingPoint num="1" id="512" /> +<TGConnectingPoint num="2" id="513" /> +<TGConnectingPoint num="3" id="514" /> +<TGConnectingPoint num="4" id="515" /> +<TGConnectingPoint num="5" id="516" /> +<TGConnectingPoint num="6" id="517" /> +<TGConnectingPoint num="7" id="518" /> +<TGConnectingPoint num="8" id="519" /> +<TGConnectingPoint num="9" id="520" /> +<TGConnectingPoint num="10" id="521" /> +<TGConnectingPoint num="11" id="522" /> +<TGConnectingPoint num="12" id="523" /> +<TGConnectingPoint num="13" id="524" /> +<TGConnectingPoint num="14" id="525" /> +<TGConnectingPoint num="15" id="526" /> +<TGConnectingPoint num="16" id="527" /> +<TGConnectingPoint num="17" id="528" /> +<TGConnectingPoint num="18" id="529" /> +<TGConnectingPoint num="19" id="530" /> +<TGConnectingPoint num="20" id="531" /> +<TGConnectingPoint num="21" id="532" /> +<TGConnectingPoint num="22" id="533" /> +<TGConnectingPoint num="23" id="534" /> +<extraparam> +<info stereotype="CPU" nodeName="CPU0" /> +<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="1101" id="483" > +<father id="535" num="0" /> +<cdparam x="435" y="179" /> +<sizeparam width="159" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="61" minY="0" maxY="175" /> +<infoparam name="TGComponent" value="Rover::MotorControl" /> +<TGConnectingPoint num="0" id="475" /> +<TGConnectingPoint num="1" id="476" /> +<TGConnectingPoint num="2" id="477" /> +<TGConnectingPoint num="3" id="478" /> +<TGConnectingPoint num="4" id="479" /> +<TGConnectingPoint num="5" id="480" /> +<TGConnectingPoint num="6" id="481" /> +<TGConnectingPoint num="7" id="482" /> +<extraparam> +<info value="Rover::MotorControl" taskName="MotorControl" referenceTaskName="Rover" priority="0" operation="MotorControl" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="492" > +<father id="535" num="1" /> +<cdparam x="435" y="267" /> +<sizeparam width="201" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="19" minY="0" maxY="175" /> +<infoparam name="TGComponent" value="Rover::TemperatureSensor" /> +<TGConnectingPoint num="0" id="484" /> +<TGConnectingPoint num="1" id="485" /> +<TGConnectingPoint num="2" id="486" /> +<TGConnectingPoint num="3" id="487" /> +<TGConnectingPoint num="4" id="488" /> +<TGConnectingPoint num="5" id="489" /> +<TGConnectingPoint num="6" id="490" /> +<TGConnectingPoint num="7" id="491" /> +<extraparam> +<info value="Rover::TemperatureSensor" taskName="TemperatureSensor" referenceTaskName="Rover" priority="0" operation="TemperatureSensor" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="501" > +<father id="535" num="2" /> +<cdparam x="435" y="223" /> +<sizeparam width="175" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="45" minY="0" maxY="175" /> +<infoparam name="TGComponent" value="Rover::DistanceSensor" /> +<TGConnectingPoint num="0" id="493" /> +<TGConnectingPoint num="1" id="494" /> +<TGConnectingPoint num="2" id="495" /> +<TGConnectingPoint num="3" id="496" /> +<TGConnectingPoint num="4" id="497" /> +<TGConnectingPoint num="5" id="498" /> +<TGConnectingPoint num="6" id="499" /> +<TGConnectingPoint num="7" id="500" /> +<extraparam> +<info value="Rover::DistanceSensor" taskName="DistanceSensor" referenceTaskName="Rover" priority="0" operation="DistanceSensor" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1101" id="510" > +<father id="535" num="3" /> +<cdparam x="436" y="135" /> +<sizeparam width="151" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="69" minY="0" maxY="175" /> +<infoparam name="TGComponent" value="Rover::MainControl" /> +<TGConnectingPoint num="0" id="502" /> +<TGConnectingPoint num="1" id="503" /> +<TGConnectingPoint num="2" id="504" /> +<TGConnectingPoint num="3" id="505" /> +<TGConnectingPoint num="4" id="506" /> +<TGConnectingPoint num="5" id="507" /> +<TGConnectingPoint num="6" id="508" /> +<TGConnectingPoint num="7" id="509" /> +<extraparam> +<info value="Rover::MainControl" taskName="MainControl" referenceTaskName="Rover" priority="0" operation="MainControl" fatherComponentMECType="0" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="125" id="536" > +<cdparam x="729" y="103" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="718" y="98" id="458" /> +<P2 x="718" y="79" id="440" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="537" > +<cdparam x="524" y="102" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="593" y="98" id="520" /> +<P2 x="593" y="79" id="439" /> +<AutomaticDrawing data="true" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> + +</TMLArchiDiagramPanel> + +</Modeling> + + + + +<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="}"/> +<Optimized value="false" /> +<Validated value="MotorControl;TemperatureSensor;DistanceSensor;MainControl;" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="539" > +<cdparam x="0" y="0" /> +<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="538" /> +<P1 x="514" y="618" id="648" /> +<P2 x="461" y="582" id="622" /> +<AutomaticDrawing data="true" /> +<extraparam> +<iso value="in sensorData(int distanceLeft, int distanceFront, int distanceRight)" /> +<osd value="out sensorData(int distanceLeft, int distanceFront, int distanceRight)" /> +<isd value="in changeRate(int samplingRate)" /> +<oso value="out changeRate(int samplingRate)" /> +<FIFOType asynchronous="true" size="1" blocking="false" private="false" broadcast="false" lossy="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="541" > +<cdparam x="0" y="0" /> +<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="540" /> +<P1 x="950" y="422" id="647" /> +<P2 x="1013" y="421" id="564" /> +<AutomaticDrawing data="true" /> +<extraparam> +<isd value="in motorCommand(int leftCommand, int rightCommand)" /> +<oso value="out motorCommand(int leftVelocity, int rightVelocity)" /> +<FIFOType asynchronous="true" size="1" blocking="false" private="false" broadcast="false" lossy="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="543" > +<cdparam x="0" y="0" /> +<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="542" /> +<P1 x="514" y="520" id="639" /> +<P2 x="456" y="426" id="590" /> +<AutomaticDrawing data="true" /> +<extraparam> +<iso value="in tempData(int temp)" /> +<osd value="out tempData(int temp)" /> +<isd value="in control(bool sensorOn)" /> +<oso value="out control(bool sensorOn)" /> +<FIFOType asynchronous="true" size="1" blocking="false" private="false" broadcast="false" lossy="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="302" id="560" > +<cdparam x="810" y="140" /> +<sizeparam width="257" height="58" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Proverif Pragma" value=" +" /> +<TGConnectingPoint num="0" id="544" /> +<TGConnectingPoint num="1" id="545" /> +<TGConnectingPoint num="2" id="546" /> +<TGConnectingPoint num="3" id="547" /> +<TGConnectingPoint num="4" id="548" /> +<TGConnectingPoint num="5" id="549" /> +<TGConnectingPoint num="6" id="550" /> +<TGConnectingPoint num="7" id="551" /> +<TGConnectingPoint num="8" id="552" /> +<TGConnectingPoint num="9" id="553" /> +<TGConnectingPoint num="10" id="554" /> +<TGConnectingPoint num="11" id="555" /> +<TGConnectingPoint num="12" id="556" /> +<TGConnectingPoint num="13" id="557" /> +<TGConnectingPoint num="14" id="558" /> +<TGConnectingPoint num="15" id="559" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="585" > +<cdparam x="1013" y="318" /> +<sizeparam width="370" height="206" 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="MotorControl" /> +<TGConnectingPoint num="0" id="561" /> +<TGConnectingPoint num="1" id="562" /> +<TGConnectingPoint num="2" id="563" /> +<TGConnectingPoint num="3" id="564" /> +<TGConnectingPoint num="4" id="565" /> +<TGConnectingPoint num="5" id="566" /> +<TGConnectingPoint num="6" id="567" /> +<TGConnectingPoint num="7" id="568" /> +<TGConnectingPoint num="8" id="569" /> +<TGConnectingPoint num="9" id="570" /> +<TGConnectingPoint num="10" id="571" /> +<TGConnectingPoint num="11" id="572" /> +<TGConnectingPoint num="12" id="573" /> +<TGConnectingPoint num="13" id="574" /> +<TGConnectingPoint num="14" id="575" /> +<TGConnectingPoint num="15" id="576" /> +<TGConnectingPoint num="16" id="577" /> +<TGConnectingPoint num="17" id="578" /> +<TGConnectingPoint num="18" id="579" /> +<TGConnectingPoint num="19" id="580" /> +<TGConnectingPoint num="20" id="581" /> +<TGConnectingPoint num="21" id="582" /> +<TGConnectingPoint num="22" id="583" /> +<TGConnectingPoint num="23" id="584" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="rightVelocity" value="0" type="8" typeOther="" /> +<Attribute access="0" id="leftVelocity" value="0" type="8" typeOther="" /> +<Signal value="in motorCommand(int leftCommand, int rightCommand)" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="610" > +<cdparam x="169" y="325" /> +<sizeparam width="287" height="202" 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="TemperatureSensor" /> +<TGConnectingPoint num="0" id="586" /> +<TGConnectingPoint num="1" id="587" /> +<TGConnectingPoint num="2" id="588" /> +<TGConnectingPoint num="3" id="589" /> +<TGConnectingPoint num="4" id="590" /> +<TGConnectingPoint num="5" id="591" /> +<TGConnectingPoint num="6" id="592" /> +<TGConnectingPoint num="7" id="593" /> +<TGConnectingPoint num="8" id="594" /> +<TGConnectingPoint num="9" id="595" /> +<TGConnectingPoint num="10" id="596" /> +<TGConnectingPoint num="11" id="597" /> +<TGConnectingPoint num="12" id="598" /> +<TGConnectingPoint num="13" id="599" /> +<TGConnectingPoint num="14" id="600" /> +<TGConnectingPoint num="15" id="601" /> +<TGConnectingPoint num="16" id="602" /> +<TGConnectingPoint num="17" id="603" /> +<TGConnectingPoint num="18" id="604" /> +<TGConnectingPoint num="19" id="605" /> +<TGConnectingPoint num="20" id="606" /> +<TGConnectingPoint num="21" id="607" /> +<TGConnectingPoint num="22" id="608" /> +<TGConnectingPoint num="23" id="609" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="sensorOn" value="false" type="4" typeOther="" /> +<Attribute access="0" id="temp" value="0" type="8" typeOther="" /> +<Attribute access="0" id="timer1" value="" type="9" typeOther="" /> +<Attribute access="0" id="samplingRate" value="5" type="8" typeOther="" /> +<Signal value="in control(bool sensorOn)" attached="true" /> +<Signal value="out tempData(int temp)" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="635" > +<cdparam x="169" y="538" /> +<sizeparam width="292" height="178" 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="DistanceSensor" /> +<TGConnectingPoint num="0" id="611" /> +<TGConnectingPoint num="1" id="612" /> +<TGConnectingPoint num="2" id="613" /> +<TGConnectingPoint num="3" id="614" /> +<TGConnectingPoint num="4" id="615" /> +<TGConnectingPoint num="5" id="616" /> +<TGConnectingPoint num="6" id="617" /> +<TGConnectingPoint num="7" id="618" /> +<TGConnectingPoint num="8" id="619" /> +<TGConnectingPoint num="9" id="620" /> +<TGConnectingPoint num="10" id="621" /> +<TGConnectingPoint num="11" id="622" /> +<TGConnectingPoint num="12" id="623" /> +<TGConnectingPoint num="13" id="624" /> +<TGConnectingPoint num="14" id="625" /> +<TGConnectingPoint num="15" id="626" /> +<TGConnectingPoint num="16" id="627" /> +<TGConnectingPoint num="17" id="628" /> +<TGConnectingPoint num="18" id="629" /> +<TGConnectingPoint num="19" id="630" /> +<TGConnectingPoint num="20" id="631" /> +<TGConnectingPoint num="21" id="632" /> +<TGConnectingPoint num="22" id="633" /> +<TGConnectingPoint num="23" id="634" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="samplingRate" value="10" type="8" typeOther="" /> +<Attribute access="0" id="distance" value="" type="8" typeOther="" /> +<Attribute access="0" id="timer1" value="" type="9" typeOther="" /> +<Attribute access="0" id="distanceFront" value="" type="8" typeOther="" /> +<Attribute access="0" id="distanceLeft" value="" type="8" typeOther="" /> +<Attribute access="0" id="distanceRight" value="" type="8" typeOther="" /> +<Signal value="out sensorData(int distanceLeft, int distanceFront, int distanceRight)" attached="true" /> +<Signal value="in changeRate(int samplingRate)" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="660" > +<cdparam x="514" y="324" /> +<sizeparam width="436" height="393" 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="MainControl" /> +<TGConnectingPoint num="0" id="636" /> +<TGConnectingPoint num="1" id="637" /> +<TGConnectingPoint num="2" id="638" /> +<TGConnectingPoint num="3" id="639" /> +<TGConnectingPoint num="4" id="640" /> +<TGConnectingPoint num="5" id="641" /> +<TGConnectingPoint num="6" id="642" /> +<TGConnectingPoint num="7" id="643" /> +<TGConnectingPoint num="8" id="644" /> +<TGConnectingPoint num="9" id="645" /> +<TGConnectingPoint num="10" id="646" /> +<TGConnectingPoint num="11" id="647" /> +<TGConnectingPoint num="12" id="648" /> +<TGConnectingPoint num="13" id="649" /> +<TGConnectingPoint num="14" id="650" /> +<TGConnectingPoint num="15" id="651" /> +<TGConnectingPoint num="16" id="652" /> +<TGConnectingPoint num="17" id="653" /> +<TGConnectingPoint num="18" id="654" /> +<TGConnectingPoint num="19" id="655" /> +<TGConnectingPoint num="20" id="656" /> +<TGConnectingPoint num="21" id="657" /> +<TGConnectingPoint num="22" id="658" /> +<TGConnectingPoint num="23" id="659" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="state" value="0" type="8" typeOther="" /> +<Attribute access="0" id="sensorOn" value="" type="4" typeOther="" /> +<Attribute access="0" id="newRate" value="" type="8" typeOther="" /> +<Attribute access="0" id="samplingRate" value="1" type="8" typeOther="" /> +<Attribute access="0" id="rateLow" value="10" type="8" typeOther="" /> +<Attribute access="0" id="rateMed" value="4" type="8" typeOther="" /> +<Attribute access="0" id="rateHigh" value="1" type="8" typeOther="" /> +<Attribute access="0" id="temp" value="" type="8" typeOther="" /> +<Attribute access="0" id="leftVelocity" value="0" type="8" typeOther="" /> +<Attribute access="0" id="rightVelocity" value="0" type="8" typeOther="" /> +<Attribute access="0" id="distanceLeft" value="" type="8" typeOther="" /> +<Attribute access="0" id="distanceRight" value="" type="8" typeOther="" /> +<Attribute access="0" id="distanceFront" value="" type="8" typeOther="" /> +<Attribute access="0" id="speedLow" value="2" type="8" typeOther="" /> +<Attribute access="0" id="speedNormal" value="5" type="8" typeOther="" /> +<Signal value="out motorCommand(int leftVelocity, int rightVelocity)" attached="true" /> +<Signal value="out control(bool sensorOn)" attached="true" /> +<Signal value="in tempData(int temp)" attached="true" /> +<Signal value="in sensorData(int distanceLeft, int distanceFront, int distanceRight)" attached="true" /> +<Signal value="out changeRate(int samplingRate)" attached="true" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="MotorControl" minX="10" maxX="2500" minY="10" maxY="1500" > +<CONNECTOR type="5102" id="673" > +<cdparam x="407" y="201" /> +<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="669" /> +<TGConnectingPoint num="1" id="670" /> +<TGConnectingPoint num="2" id="671" /> +<TGConnectingPoint num="3" id="672" /> +<P1 x="407" y="201" id="689" /> +<P2 x="495" y="113" id="703" /> +<Point x="407" y="234" /> +<Point x="601" y="231" /> +<Point x="599" y="112" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="661" > +<father id="673" num="0" /> +<cdparam x="407" y="234" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="662" > +<father id="673" num="1" /> +<cdparam x="601" y="231" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="663" > +<father id="673" num="2" /> +<cdparam x="599" y="112" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="668" > +<father id="673" num="3" /> +<cdparam x="451" y="157" /> +<sizeparam width="80" 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="664" /> +<TGConnectingPoint num="1" id="665" /> +<TGConnectingPoint num="2" id="666" /> +<TGConnectingPoint num="3" id="667" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="10" /> +<afterMax value="20" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="680" > +<cdparam x="407" y="60" /> +<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="679" /> +<P1 x="407" y="60" id="740" /> +<P2 x="407" y="88" id="700" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="678" > +<father id="680" num="0" /> +<cdparam x="447" y="100" /> +<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="674" /> +<TGConnectingPoint num="1" id="675" /> +<TGConnectingPoint num="2" id="676" /> +<TGConnectingPoint num="3" id="677" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="687" > +<cdparam x="536" y="590" /> +<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="686" /> +<P1 x="407" y="138" id="705" /> +<P2 x="407" y="171" id="688" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="685" > +<father id="687" num="0" /> +<cdparam x="425" y="612" /> +<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="681" /> +<TGConnectingPoint num="1" id="682" /> +<TGConnectingPoint num="2" id="683" /> +<TGConnectingPoint num="3" id="684" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5104" id="698" > +<cdparam x="267" y="176" /> +<sizeparam width="280" 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="motorCommand(leftVelocity, rightVelocity)" /> +<TGConnectingPoint num="0" id="688" /> +<TGConnectingPoint num="1" id="689" /> +<TGConnectingPoint num="2" id="690" /> +<TGConnectingPoint num="3" id="691" /> +<TGConnectingPoint num="4" id="692" /> +<TGConnectingPoint num="5" id="693" /> +<TGConnectingPoint num="6" id="694" /> +<TGConnectingPoint num="7" id="695" /> +<TGConnectingPoint num="8" id="696" /> +<TGConnectingPoint num="9" id="697" /> +</COMPONENT> + +<COMPONENT type="5106" id="739" > +<cdparam x="319" y="88" /> +<sizeparam width="176" height="50" 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="startMotor" /> +<TGConnectingPoint num="0" id="699" /> +<TGConnectingPoint num="1" id="700" /> +<TGConnectingPoint num="2" id="701" /> +<TGConnectingPoint num="3" id="702" /> +<TGConnectingPoint num="4" id="703" /> +<TGConnectingPoint num="5" id="704" /> +<TGConnectingPoint num="6" id="705" /> +<TGConnectingPoint num="7" id="706" /> +<TGConnectingPoint num="8" id="707" /> +<TGConnectingPoint num="9" id="708" /> +<TGConnectingPoint num="10" id="709" /> +<TGConnectingPoint num="11" id="710" /> +<TGConnectingPoint num="12" id="711" /> +<TGConnectingPoint num="13" id="712" /> +<TGConnectingPoint num="14" id="713" /> +<TGConnectingPoint num="15" id="714" /> +<TGConnectingPoint num="16" id="715" /> +<TGConnectingPoint num="17" id="716" /> +<TGConnectingPoint num="18" id="717" /> +<TGConnectingPoint num="19" id="718" /> +<TGConnectingPoint num="20" id="719" /> +<TGConnectingPoint num="21" id="720" /> +<TGConnectingPoint num="22" id="721" /> +<TGConnectingPoint num="23" id="722" /> +<TGConnectingPoint num="24" id="723" /> +<TGConnectingPoint num="25" id="724" /> +<TGConnectingPoint num="26" id="725" /> +<TGConnectingPoint num="27" id="726" /> +<TGConnectingPoint num="28" id="727" /> +<TGConnectingPoint num="29" id="728" /> +<TGConnectingPoint num="30" id="729" /> +<TGConnectingPoint num="31" id="730" /> +<TGConnectingPoint num="32" id="731" /> +<TGConnectingPoint num="33" id="732" /> +<TGConnectingPoint num="34" id="733" /> +<TGConnectingPoint num="35" id="734" /> +<TGConnectingPoint num="36" id="735" /> +<TGConnectingPoint num="37" id="736" /> +<TGConnectingPoint num="38" id="737" /> +<TGConnectingPoint num="39" id="738" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="741" > +<cdparam x="400" y="40" /> +<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="740" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="TemperatureSensor" minX="10" maxX="2500" minY="10" maxY="1500" > +<CONNECTOR type="5102" id="748" > +<cdparam x="293" y="238" /> +<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="747" /> +<P1 x="363" y="220" id="873" /> +<P2 x="362" y="240" id="842" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="746" > +<father id="748" num="0" /> +<cdparam x="252" y="244" /> +<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="742" /> +<TGConnectingPoint num="1" id="743" /> +<TGConnectingPoint num="2" id="744" /> +<TGConnectingPoint num="3" id="745" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="759" > +<cdparam x="314" y="408" /> +<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="756" /> +<TGConnectingPoint num="1" id="757" /> +<TGConnectingPoint num="2" id="758" /> +<P1 x="332" y="571" id="900" /> +<P2 x="319" y="121" id="930" /> +<Point x="91" y="572" /> +<Point x="91" y="121" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="749" > +<father id="759" num="0" /> +<cdparam x="91" y="572" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="750" > +<father id="759" num="1" /> +<cdparam x="91" y="121" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="755" > +<father id="759" num="2" /> +<cdparam x="316" y="264" /> +<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="751" /> +<TGConnectingPoint num="1" id="752" /> +<TGConnectingPoint num="2" id="753" /> +<TGConnectingPoint num="3" id="754" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="766" > +<cdparam x="465" y="512" /> +<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="765" /> +<P1 x="334" y="520" id="870" /> +<P2 x="332" y="541" id="899" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="764" > +<father id="766" num="0" /> +<cdparam x="398" y="526" /> +<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="760" /> +<TGConnectingPoint num="1" id="761" /> +<TGConnectingPoint num="2" id="762" /> +<TGConnectingPoint num="3" id="763" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="777" > +<cdparam x="432" y="222" /> +<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="774" /> +<TGConnectingPoint num="1" id="775" /> +<TGConnectingPoint num="2" id="776" /> +<P1 x="426" y="433" id="885" /> +<P2 x="495" y="140" id="914" /> +<Point x="630" y="433" /> +<Point x="630" y="140" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="767" > +<father id="777" num="0" /> +<cdparam x="630" y="433" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="768" > +<father id="777" num="1" /> +<cdparam x="630" y="140" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="773" > +<father id="777" num="2" /> +<cdparam x="472" y="268" /> +<sizeparam width="40" 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="769" /> +<TGConnectingPoint num="1" id="770" /> +<TGConnectingPoint num="2" id="771" /> +<TGConnectingPoint num="3" id="772" /> +<extraparam> +<guard value="[ else]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="784" > +<cdparam x="361" y="398" /> +<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="783" /> +<P1 x="376" y="433" id="884" /> +<P2 x="334" y="490" id="869" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="782" > +<father id="784" num="0" /> +<cdparam x="348" y="485" /> +<sizeparam width="74" 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="778" /> +<TGConnectingPoint num="1" id="779" /> +<TGConnectingPoint num="2" id="780" /> +<TGConnectingPoint num="3" id="781" /> +<extraparam> +<guard value="[ sensorOn]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="795" > +<cdparam x="293" y="238" /> +<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="792" /> +<TGConnectingPoint num="1" id="793" /> +<TGConnectingPoint num="2" id="794" /> +<P1 x="337" y="265" id="843" /> +<P2 x="319" y="140" id="913" /> +<Point x="138" y="265" /> +<Point x="138" y="140" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="785" > +<father id="795" num="0" /> +<cdparam x="138" y="265" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="786" > +<father id="795" num="1" /> +<cdparam x="138" y="140" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="791" > +<father id="795" num="2" /> +<cdparam x="108" y="262" /> +<sizeparam width="105" 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="787" /> +<TGConnectingPoint num="1" id="788" /> +<TGConnectingPoint num="2" id="789" /> +<TGConnectingPoint num="3" id="790" /> +<extraparam> +<guard value="[not(sensorOn) ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="802" > +<cdparam x="363" y="165" /> +<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="801" /> +<P1 x="363" y="165" id="924" /> +<P2 x="363" y="190" id="872" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="800" > +<father id="802" num="0" /> +<cdparam x="476" y="301" /> +<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="796" /> +<TGConnectingPoint num="1" id="797" /> +<TGConnectingPoint num="2" id="798" /> +<TGConnectingPoint num="3" id="799" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="809" > +<cdparam x="407" y="60" /> +<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="808" /> +<P1 x="407" y="60" id="951" /> +<P2 x="407" y="115" id="911" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="807" > +<father id="809" num="0" /> +<cdparam x="447" y="100" /> +<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="803" /> +<TGConnectingPoint num="1" id="804" /> +<TGConnectingPoint num="2" id="805" /> +<TGConnectingPoint num="3" id="806" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="816" > +<cdparam x="319" y="133" /> +<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="815" /> +<P1 x="401" y="390" id="832" /> +<P2 x="401" y="408" id="883" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="814" > +<father id="816" num="0" /> +<cdparam x="276" y="137" /> +<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="810" /> +<TGConnectingPoint num="1" id="811" /> +<TGConnectingPoint num="2" id="812" /> +<TGConnectingPoint num="3" id="813" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="823" > +<cdparam x="495" y="165" /> +<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="822" /> +<P1 x="387" y="265" id="844" /> +<P2 x="402" y="308" id="858" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="821" > +<father id="823" num="0" /> +<cdparam x="269" y="297" /> +<sizeparam width="40" 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="817" /> +<TGConnectingPoint num="1" id="818" /> +<TGConnectingPoint num="2" id="819" /> +<TGConnectingPoint num="3" id="820" /> +<extraparam> +<guard value="[else ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="830" > +<cdparam x="472" y="165" /> +<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="829" /> +<P1 x="402" y="338" id="859" /> +<P2 x="401" y="360" id="831" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="828" > +<father id="830" num="0" /> +<cdparam x="470" y="171" /> +<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="824" /> +<TGConnectingPoint num="1" id="825" /> +<TGConnectingPoint num="2" id="826" /> +<TGConnectingPoint num="3" id="827" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5111" id="841" > +<cdparam x="347" y="365" /> +<sizeparam width="108" 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="Reset timer" value="expire(timer1)" /> +<TGConnectingPoint num="0" id="831" /> +<TGConnectingPoint num="1" id="832" /> +<TGConnectingPoint num="2" id="833" /> +<TGConnectingPoint num="3" id="834" /> +<TGConnectingPoint num="4" id="835" /> +<TGConnectingPoint num="5" id="836" /> +<TGConnectingPoint num="6" id="837" /> +<TGConnectingPoint num="7" id="838" /> +<TGConnectingPoint num="8" id="839" /> +<TGConnectingPoint num="9" id="840" /> +</COMPONENT> + +<COMPONENT type="5107" id="857" > +<cdparam x="347" y="250" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="842" /> +<TGConnectingPoint num="1" id="843" /> +<TGConnectingPoint num="2" id="844" /> +<TGConnectingPoint num="3" id="845" /> +<TGConnectingPoint num="4" id="846" /> +<TGConnectingPoint num="5" id="847" /> +<TGConnectingPoint num="6" id="848" /> +<TGConnectingPoint num="7" id="849" /> +<TGConnectingPoint num="8" id="850" /> +<TGConnectingPoint num="9" id="851" /> +<TGConnectingPoint num="10" id="852" /> +<TGConnectingPoint num="11" id="853" /> +<TGConnectingPoint num="12" id="854" /> +<TGConnectingPoint num="13" id="855" /> +<TGConnectingPoint num="14" id="856" /> +</COMPONENT> + +<COMPONENT type="5109" id="868" > +<cdparam x="301" y="313" /> +<sizeparam width="203" 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="Set timer" value="setTimer(timer1,samplingRate)" /> +<TGConnectingPoint num="0" id="858" /> +<TGConnectingPoint num="1" id="859" /> +<TGConnectingPoint num="2" id="860" /> +<TGConnectingPoint num="3" id="861" /> +<TGConnectingPoint num="4" id="862" /> +<TGConnectingPoint num="5" id="863" /> +<TGConnectingPoint num="6" id="864" /> +<TGConnectingPoint num="7" id="865" /> +<TGConnectingPoint num="8" id="866" /> +<TGConnectingPoint num="9" id="867" /> +</COMPONENT> + +<COMPONENT type="5108" id="871" > +<cdparam x="253" y="495" /> +<sizeparam width="163" 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="TGComponent" value="null" /> +<TGConnectingPoint num="0" id="869" /> +<TGConnectingPoint num="1" id="870" /> +<extraparam> +<Data variable="temp" minValue="0" maxValue="10" functionId="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5104" id="882" > +<cdparam x="297" y="195" /> +<sizeparam width="132" 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="control(sensorOn)" /> +<TGConnectingPoint num="0" id="872" /> +<TGConnectingPoint num="1" id="873" /> +<TGConnectingPoint num="2" id="874" /> +<TGConnectingPoint num="3" id="875" /> +<TGConnectingPoint num="4" id="876" /> +<TGConnectingPoint num="5" id="877" /> +<TGConnectingPoint num="6" id="878" /> +<TGConnectingPoint num="7" id="879" /> +<TGConnectingPoint num="8" id="880" /> +<TGConnectingPoint num="9" id="881" /> +</COMPONENT> + +<COMPONENT type="5107" id="898" > +<cdparam x="386" y="418" /> +<sizeparam width="30" height="30" 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="choice" value="null" /> +<TGConnectingPoint num="0" id="883" /> +<TGConnectingPoint num="1" id="884" /> +<TGConnectingPoint num="2" id="885" /> +<TGConnectingPoint num="3" id="886" /> +<TGConnectingPoint num="4" id="887" /> +<TGConnectingPoint num="5" id="888" /> +<TGConnectingPoint num="6" id="889" /> +<TGConnectingPoint num="7" id="890" /> +<TGConnectingPoint num="8" id="891" /> +<TGConnectingPoint num="9" id="892" /> +<TGConnectingPoint num="10" id="893" /> +<TGConnectingPoint num="11" id="894" /> +<TGConnectingPoint num="12" id="895" /> +<TGConnectingPoint num="13" id="896" /> +<TGConnectingPoint num="14" id="897" /> +</COMPONENT> + +<COMPONENT type="5103" id="909" > +<cdparam x="275" y="546" /> +<sizeparam width="114" 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="Send signal" value="tempData(temp)" /> +<TGConnectingPoint num="0" id="899" /> +<TGConnectingPoint num="1" id="900" /> +<TGConnectingPoint num="2" id="901" /> +<TGConnectingPoint num="3" id="902" /> +<TGConnectingPoint num="4" id="903" /> +<TGConnectingPoint num="5" id="904" /> +<TGConnectingPoint num="6" id="905" /> +<TGConnectingPoint num="7" id="906" /> +<TGConnectingPoint num="8" id="907" /> +<TGConnectingPoint num="9" id="908" /> +</COMPONENT> + +<COMPONENT type="5106" id="950" > +<cdparam x="319" y="115" /> +<sizeparam width="176" height="50" 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="start" /> +<TGConnectingPoint num="0" id="910" /> +<TGConnectingPoint num="1" id="911" /> +<TGConnectingPoint num="2" id="912" /> +<TGConnectingPoint num="3" id="913" /> +<TGConnectingPoint num="4" id="914" /> +<TGConnectingPoint num="5" id="915" /> +<TGConnectingPoint num="6" id="916" /> +<TGConnectingPoint num="7" id="917" /> +<TGConnectingPoint num="8" id="918" /> +<TGConnectingPoint num="9" id="919" /> +<TGConnectingPoint num="10" id="920" /> +<TGConnectingPoint num="11" id="921" /> +<TGConnectingPoint num="12" id="922" /> +<TGConnectingPoint num="13" id="923" /> +<TGConnectingPoint num="14" id="924" /> +<TGConnectingPoint num="15" id="925" /> +<TGConnectingPoint num="16" id="926" /> +<TGConnectingPoint num="17" id="927" /> +<TGConnectingPoint num="18" id="928" /> +<TGConnectingPoint num="19" id="929" /> +<TGConnectingPoint num="20" id="930" /> +<TGConnectingPoint num="21" id="931" /> +<TGConnectingPoint num="22" id="932" /> +<TGConnectingPoint num="23" id="933" /> +<TGConnectingPoint num="24" id="934" /> +<TGConnectingPoint num="25" id="935" /> +<TGConnectingPoint num="26" id="936" /> +<TGConnectingPoint num="27" id="937" /> +<TGConnectingPoint num="28" id="938" /> +<TGConnectingPoint num="29" id="939" /> +<TGConnectingPoint num="30" id="940" /> +<TGConnectingPoint num="31" id="941" /> +<TGConnectingPoint num="32" id="942" /> +<TGConnectingPoint num="33" id="943" /> +<TGConnectingPoint num="34" id="944" /> +<TGConnectingPoint num="35" id="945" /> +<TGConnectingPoint num="36" id="946" /> +<TGConnectingPoint num="37" id="947" /> +<TGConnectingPoint num="38" id="948" /> +<TGConnectingPoint num="39" id="949" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="952" > +<cdparam x="400" y="40" /> +<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="951" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="DistanceSensor" minX="10" maxX="2500" minY="10" maxY="1500" > +<CONNECTOR type="5102" id="959" > +<cdparam x="287" y="454" /> +<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="958" /> +<P1 x="287" y="454" id="1123" /> +<P2 x="287" y="522" id="1035" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="957" > +<father id="959" num="0" /> +<cdparam x="302" y="488" /> +<sizeparam width="64" 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="953" /> +<TGConnectingPoint num="1" id="954" /> +<TGConnectingPoint num="2" id="955" /> +<TGConnectingPoint num="3" id="956" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="1" /> +<afterMax value="2" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="966" > +<cdparam x="287" y="380" /> +<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="965" /> +<P1 x="287" y="380" id="1126" /> +<P2 x="287" y="424" id="1122" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="964" > +<father id="966" num="0" /> +<cdparam x="298" y="399" /> +<sizeparam width="64" 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="960" /> +<TGConnectingPoint num="1" id="961" /> +<TGConnectingPoint num="2" id="962" /> +<TGConnectingPoint num="3" id="963" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="1" /> +<afterMax value="2" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="973" > +<cdparam x="287" y="317" /> +<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="972" /> +<P1 x="287" y="317" id="1129" /> +<P2 x="287" y="350" id="1125" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="971" > +<father id="973" num="0" /> +<cdparam x="293" y="330" /> +<sizeparam width="64" 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="967" /> +<TGConnectingPoint num="1" id="968" /> +<TGConnectingPoint num="2" id="969" /> +<TGConnectingPoint num="3" id="970" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="1" /> +<afterMax value="2" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="986" > +<cdparam x="523" y="226" /> +<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="982" /> +<TGConnectingPoint num="1" id="983" /> +<TGConnectingPoint num="2" id="984" /> +<TGConnectingPoint num="3" id="985" /> +<P1 x="523" y="226" id="1047" /> +<P2 x="506" y="128" id="1083" /> +<Point x="523" y="255" /> +<Point x="674" y="255" /> +<Point x="676" y="130" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="974" > +<father id="986" num="0" /> +<cdparam x="523" y="255" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="975" > +<father id="986" num="1" /> +<cdparam x="674" y="255" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="976" > +<father id="986" num="2" /> +<cdparam x="676" y="130" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="981" > +<father id="986" num="3" /> +<cdparam x="514" y="177" /> +<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="977" /> +<TGConnectingPoint num="1" id="978" /> +<TGConnectingPoint num="2" id="979" /> +<TGConnectingPoint num="3" id="980" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="999" > +<cdparam x="262" y="358" /> +<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="995" /> +<TGConnectingPoint num="1" id="996" /> +<TGConnectingPoint num="2" id="997" /> +<TGConnectingPoint num="3" id="998" /> +<P1 x="287" y="552" id="1036" /> +<P2 x="308" y="134" id="1103" /> +<Point x="287" y="568" /> +<Point x="71" y="568" /> +<Point x="71" y="133" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="987" > +<father id="999" num="0" /> +<cdparam x="287" y="568" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="988" > +<father id="999" num="1" /> +<cdparam x="71" y="568" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="989" > +<father id="999" num="2" /> +<cdparam x="71" y="133" /> +<sizeparam width="0" height="0" 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="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="994" > +<father id="999" num="3" /> +<cdparam x="285" y="246" /> +<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="990" /> +<TGConnectingPoint num="1" id="991" /> +<TGConnectingPoint num="2" id="992" /> +<TGConnectingPoint num="3" id="993" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1006" > +<cdparam x="288" y="285" /> +<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="1005" /> +<P1 x="288" y="268" id="1058" /> +<P2 x="287" y="287" id="1128" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1004" > +<father id="1006" num="0" /> +<cdparam x="276" y="305" /> +<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="1000" /> +<TGConnectingPoint num="1" id="1001" /> +<TGConnectingPoint num="2" id="1002" /> +<TGConnectingPoint num="3" id="1003" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1013" > +<cdparam x="407" y="60" /> +<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="1012" /> +<P1 x="407" y="60" id="1120" /> +<P2 x="407" y="103" id="1080" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1011" > +<father id="1013" num="0" /> +<cdparam x="453" y="100" /> +<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="1007" /> +<TGConnectingPoint num="1" id="1008" /> +<TGConnectingPoint num="2" id="1009" /> +<TGConnectingPoint num="3" id="1010" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1020" > +<cdparam x="357" y="153" /> +<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="1019" /> +<P1 x="357" y="153" id="1093" /> +<P2 x="286" y="183" id="1068" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1018" > +<father id="1020" num="0" /> +<cdparam x="360" y="172" /> +<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="1014" /> +<TGConnectingPoint num="1" id="1015" /> +<TGConnectingPoint num="2" id="1016" /> +<TGConnectingPoint num="3" id="1017" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1027" > +<cdparam x="364" y="221" /> +<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="1026" /> +<P1 x="286" y="213" id="1069" /> +<P2 x="288" y="238" id="1057" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1025" > +<father id="1027" num="0" /> +<cdparam x="382" y="230" /> +<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="1021" /> +<TGConnectingPoint num="1" id="1022" /> +<TGConnectingPoint num="2" id="1023" /> +<TGConnectingPoint num="3" id="1024" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1034" > +<cdparam x="480" y="153" /> +<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="1033" /> +<P1 x="480" y="153" id="1110" /> +<P2 x="523" y="196" id="1046" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1032" > +<father id="1034" num="0" /> +<cdparam x="480" y="172" /> +<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="1028" /> +<TGConnectingPoint num="1" id="1029" /> +<TGConnectingPoint num="2" id="1030" /> +<TGConnectingPoint num="3" id="1031" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5103" id="1045" > +<cdparam x="108" y="527" /> +<sizeparam width="359" 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="Send signal" value="sensorData(distanceLeft, distanceFront, distanceRight)" /> +<TGConnectingPoint num="0" id="1035" /> +<TGConnectingPoint num="1" id="1036" /> +<TGConnectingPoint num="2" id="1037" /> +<TGConnectingPoint num="3" id="1038" /> +<TGConnectingPoint num="4" id="1039" /> +<TGConnectingPoint num="5" id="1040" /> +<TGConnectingPoint num="6" id="1041" /> +<TGConnectingPoint num="7" id="1042" /> +<TGConnectingPoint num="8" id="1043" /> +<TGConnectingPoint num="9" id="1044" /> +</COMPONENT> + +<COMPONENT type="5104" id="1056" > +<cdparam x="429" y="201" /> +<sizeparam width="189" 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="changeRate(samplingRate)" /> +<TGConnectingPoint num="0" id="1046" /> +<TGConnectingPoint num="1" id="1047" /> +<TGConnectingPoint num="2" id="1048" /> +<TGConnectingPoint num="3" id="1049" /> +<TGConnectingPoint num="4" id="1050" /> +<TGConnectingPoint num="5" id="1051" /> +<TGConnectingPoint num="6" id="1052" /> +<TGConnectingPoint num="7" id="1053" /> +<TGConnectingPoint num="8" id="1054" /> +<TGConnectingPoint num="9" id="1055" /> +</COMPONENT> + +<COMPONENT type="5111" id="1067" > +<cdparam x="234" y="243" /> +<sizeparam width="108" 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="Reset timer" value="expire(timer1)" /> +<TGConnectingPoint num="0" id="1057" /> +<TGConnectingPoint num="1" id="1058" /> +<TGConnectingPoint num="2" id="1059" /> +<TGConnectingPoint num="3" id="1060" /> +<TGConnectingPoint num="4" id="1061" /> +<TGConnectingPoint num="5" id="1062" /> +<TGConnectingPoint num="6" id="1063" /> +<TGConnectingPoint num="7" id="1064" /> +<TGConnectingPoint num="8" id="1065" /> +<TGConnectingPoint num="9" id="1066" /> +</COMPONENT> + +<COMPONENT type="5109" id="1078" > +<cdparam x="185" y="188" /> +<sizeparam width="203" 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="Set timer" value="setTimer(timer1,samplingRate)" /> +<TGConnectingPoint num="0" id="1068" /> +<TGConnectingPoint num="1" id="1069" /> +<TGConnectingPoint num="2" id="1070" /> +<TGConnectingPoint num="3" id="1071" /> +<TGConnectingPoint num="4" id="1072" /> +<TGConnectingPoint num="5" id="1073" /> +<TGConnectingPoint num="6" id="1074" /> +<TGConnectingPoint num="7" id="1075" /> +<TGConnectingPoint num="8" id="1076" /> +<TGConnectingPoint num="9" id="1077" /> +</COMPONENT> + +<COMPONENT type="5106" id="1119" > +<cdparam x="308" y="103" /> +<sizeparam width="198" height="50" 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="startSensor" /> +<TGConnectingPoint num="0" id="1079" /> +<TGConnectingPoint num="1" id="1080" /> +<TGConnectingPoint num="2" id="1081" /> +<TGConnectingPoint num="3" id="1082" /> +<TGConnectingPoint num="4" id="1083" /> +<TGConnectingPoint num="5" id="1084" /> +<TGConnectingPoint num="6" id="1085" /> +<TGConnectingPoint num="7" id="1086" /> +<TGConnectingPoint num="8" id="1087" /> +<TGConnectingPoint num="9" id="1088" /> +<TGConnectingPoint num="10" id="1089" /> +<TGConnectingPoint num="11" id="1090" /> +<TGConnectingPoint num="12" id="1091" /> +<TGConnectingPoint num="13" id="1092" /> +<TGConnectingPoint num="14" id="1093" /> +<TGConnectingPoint num="15" id="1094" /> +<TGConnectingPoint num="16" id="1095" /> +<TGConnectingPoint num="17" id="1096" /> +<TGConnectingPoint num="18" id="1097" /> +<TGConnectingPoint num="19" id="1098" /> +<TGConnectingPoint num="20" id="1099" /> +<TGConnectingPoint num="21" id="1100" /> +<TGConnectingPoint num="22" id="1101" /> +<TGConnectingPoint num="23" id="1102" /> +<TGConnectingPoint num="24" id="1103" /> +<TGConnectingPoint num="25" id="1104" /> +<TGConnectingPoint num="26" id="1105" /> +<TGConnectingPoint num="27" id="1106" /> +<TGConnectingPoint num="28" id="1107" /> +<TGConnectingPoint num="29" id="1108" /> +<TGConnectingPoint num="30" id="1109" /> +<TGConnectingPoint num="31" id="1110" /> +<TGConnectingPoint num="32" id="1111" /> +<TGConnectingPoint num="33" id="1112" /> +<TGConnectingPoint num="34" id="1113" /> +<TGConnectingPoint num="35" id="1114" /> +<TGConnectingPoint num="36" id="1115" /> +<TGConnectingPoint num="37" id="1116" /> +<TGConnectingPoint num="38" id="1117" /> +<TGConnectingPoint num="39" id="1118" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="1121" > +<cdparam x="400" y="40" /> +<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="1120" /> +</COMPONENT> + +<COMPONENT type="5108" id="1124" > +<cdparam x="179" y="429" /> +<sizeparam width="217" 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="TGComponent" value="null" /> +<TGConnectingPoint num="0" id="1122" /> +<TGConnectingPoint num="1" id="1123" /> +<extraparam> +<Data variable="distanceRight" minValue="0" maxValue="10" functionId="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5108" id="1127" > +<cdparam x="178" y="355" /> +<sizeparam width="218" 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="TGComponent" value="null" /> +<TGConnectingPoint num="0" id="1125" /> +<TGConnectingPoint num="1" id="1126" /> +<extraparam> +<Data variable="distanceFront" minValue="0" maxValue="10" functionId="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5108" id="1130" > +<cdparam x="183" y="292" /> +<sizeparam width="208" 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="TGComponent" value="null" /> +<TGConnectingPoint num="0" id="1128" /> +<TGConnectingPoint num="1" id="1129" /> +<extraparam> +<Data variable="distanceLeft" minValue="0" maxValue="10" functionId="0" /> +</extraparam> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="MainControl" minX="10" maxX="2500" minY="10" maxY="2500" > +<CONNECTOR type="5102" id="1137" > +<cdparam x="436" y="1655" /> +<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="1136" /> +<P1 x="436" y="1655" id="1477" /> +<P2 x="436" y="1679" id="1569" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1135" > +<father id="1137" num="0" /> +<cdparam x="429" y="1710" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1131" /> +<TGConnectingPoint num="1" id="1132" /> +<TGConnectingPoint num="2" id="1133" /> +<TGConnectingPoint num="3" id="1134" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1144" > +<cdparam x="463" y="1168" /> +<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="1143" /> +<P1 x="463" y="1168" id="2049" /> +<P2 x="411" y="1209" id="1589" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1142" > +<father id="1144" num="0" /> +<cdparam x="433" y="1200" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1138" /> +<TGConnectingPoint num="1" id="1139" /> +<TGConnectingPoint num="2" id="1140" /> +<TGConnectingPoint num="3" id="1141" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1151" > +<cdparam x="367" y="1100" /> +<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="1150" /> +<P1 x="367" y="1100" id="1624" /> +<P2 x="367" y="1209" id="1581" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1149" > +<father id="1151" num="0" /> +<cdparam x="363" y="1166" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1145" /> +<TGConnectingPoint num="1" id="1146" /> +<TGConnectingPoint num="2" id="1147" /> +<TGConnectingPoint num="3" id="1148" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1162" > +<cdparam x="360" y="1354" /> +<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="1159" /> +<TGConnectingPoint num="1" id="1160" /> +<TGConnectingPoint num="2" id="1161" /> +<P1 x="436" y="1709" id="1570" /> +<P2 x="478" y="137" id="2009" /> +<Point x="863" y="1719" /> +<Point x="875" y="140" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1152" > +<father id="1162" num="0" /> +<cdparam x="863" y="1719" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="1153" > +<father id="1162" num="1" /> +<cdparam x="875" y="140" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="point " value="null" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="-1" id="1158" > +<father id="1162" num="2" /> +<cdparam x="419" y="745" /> +<sizeparam width="72" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1154" /> +<TGConnectingPoint num="1" id="1155" /> +<TGConnectingPoint num="2" id="1156" /> +<TGConnectingPoint num="3" id="1157" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="0" /> +<afterMax value="10" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1169" > +<cdparam x="392" y="1075" /> +<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="1168" /> +<P1 x="392" y="1075" id="1623" /> +<P2 x="463" y="1138" id="2048" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1167" > +<father id="1169" num="0" /> +<cdparam x="436" y="1084" /> +<sizeparam width="168" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1163" /> +<TGConnectingPoint num="1" id="1164" /> +<TGConnectingPoint num="2" id="1165" /> +<TGConnectingPoint num="3" id="1166" /> +<extraparam> +<guard value="[ (state!=2) && sensorOn]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="sensorOn=false" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1176" > +<cdparam x="464" y="950" /> +<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="1175" /> +<P1 x="464" y="950" id="1679" /> +<P2 x="414" y="968" id="1646" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1174" > +<father id="1176" num="0" /> +<cdparam x="439" y="959" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1170" /> +<TGConnectingPoint num="1" id="1171" /> +<TGConnectingPoint num="2" id="1172" /> +<TGConnectingPoint num="3" id="1173" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1183" > +<cdparam x="346" y="856" /> +<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="1182" /> +<P1 x="346" y="856" id="1690" /> +<P2 x="320" y="968" id="1645" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1181" > +<father id="1183" num="0" /> +<cdparam x="345" y="948" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1177" /> +<TGConnectingPoint num="1" id="1178" /> +<TGConnectingPoint num="2" id="1179" /> +<TGConnectingPoint num="3" id="1180" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1190" > +<cdparam x="530" y="603" /> +<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="1189" /> +<P1 x="530" y="603" id="1861" /> +<P2 x="411" y="747" id="1724" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1188" > +<father id="1190" num="0" /> +<cdparam x="518" y="652" /> +<sizeparam width="149" height="60" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1184" /> +<TGConnectingPoint num="1" id="1185" /> +<TGConnectingPoint num="2" id="1186" /> +<TGConnectingPoint num="3" id="1187" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="state=1" /> +<actions value="newRate=rateMed" /> +<actions value="leftVelocity=speedLow" /> +<actions value="rightVelocity=speedLow" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1197" > +<cdparam x="233" y="608" /> +<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="1196" /> +<P1 x="233" y="608" id="1943" /> +<P2 x="343" y="747" id="1713" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1195" > +<father id="1197" num="0" /> +<cdparam x="123" y="652" /> +<sizeparam width="170" height="60" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1191" /> +<TGConnectingPoint num="1" id="1192" /> +<TGConnectingPoint num="2" id="1193" /> +<TGConnectingPoint num="3" id="1194" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="state=0" /> +<actions value="newRate=rateLow" /> +<actions value="leftVelocity=speedNormal" /> +<actions value="rightVelocity=speedNormal" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1204" > +<cdparam x="407" y="147" /> +<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="1203" /> +<P1 x="395" y="162" id="2011" /> +<P2 x="395" y="187" id="1994" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1202" > +<father id="1204" num="0" /> +<cdparam x="401" y="167" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1198" /> +<TGConnectingPoint num="1" id="1199" /> +<TGConnectingPoint num="2" id="1200" /> +<TGConnectingPoint num="3" id="1201" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1211" > +<cdparam x="484" y="399" /> +<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="1210" /> +<P1 x="484" y="399" id="1845" /> +<P2 x="412" y="423" id="1755" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1209" > +<father id="1211" num="0" /> +<cdparam x="413" y="365" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1205" /> +<TGConnectingPoint num="1" id="1206" /> +<TGConnectingPoint num="2" id="1207" /> +<TGConnectingPoint num="3" id="1208" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1218" > +<cdparam x="371" y="275" /> +<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="1217" /> +<P1 x="371" y="275" id="1788" /> +<P2 x="371" y="423" id="1747" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1216" > +<father id="1218" num="0" /> +<cdparam x="354" y="356" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1212" /> +<TGConnectingPoint num="1" id="1213" /> +<TGConnectingPoint num="2" id="1214" /> +<TGConnectingPoint num="3" id="1215" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1225" > +<cdparam x="421" y="275" /> +<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="1224" /> +<P1 x="421" y="275" id="1789" /> +<P2 x="484" y="291" id="1804" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1223" > +<father id="1225" num="0" /> +<cdparam x="446" y="275" /> +<sizeparam width="75" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1219" /> +<TGConnectingPoint num="1" id="1220" /> +<TGConnectingPoint num="2" id="1221" /> +<TGConnectingPoint num="3" id="1222" /> +<extraparam> +<guard value="[ state==2]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1232" > +<cdparam x="395" y="75" /> +<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="1231" /> +<P1 x="395" y="75" id="2046" /> +<P2 x="395" y="112" id="2006" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1230" > +<father id="1232" num="0" /> +<cdparam x="396" y="94" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1226" /> +<TGConnectingPoint num="1" id="1227" /> +<TGConnectingPoint num="2" id="1228" /> +<TGConnectingPoint num="3" id="1229" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1239" > +<cdparam x="349" y="312" /> +<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="1238" /> +<P1 x="395" y="217" id="1995" /> +<P2 x="396" y="250" id="1787" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1237" > +<father id="1239" num="0" /> +<cdparam x="251" y="233" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1233" /> +<TGConnectingPoint num="1" id="1234" /> +<TGConnectingPoint num="2" id="1235" /> +<TGConnectingPoint num="3" id="1236" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1246" > +<cdparam x="372" y="530" /> +<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="1245" /> +<P1 x="346" y="524" id="1979" /> +<P2 x="233" y="558" id="1938" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1244" > +<father id="1246" num="0" /> +<cdparam x="208" y="524" /> +<sizeparam width="119" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1240" /> +<TGConnectingPoint num="1" id="1241" /> +<TGConnectingPoint num="2" id="1242" /> +<TGConnectingPoint num="3" id="1243" /> +<extraparam> +<guard value="[ distanceFront>8]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1253" > +<cdparam x="372" y="530" /> +<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="1252" /> +<P1 x="371" y="549" id="1984" /> +<P2 x="371" y="587" id="1897" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1251" > +<father id="1253" num="0" /> +<cdparam x="327" y="565" /> +<sizeparam width="119" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1247" /> +<TGConnectingPoint num="1" id="1248" /> +<TGConnectingPoint num="2" id="1249" /> +<TGConnectingPoint num="3" id="1250" /> +<extraparam> +<guard value="[distanceFront<3 ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1260" > +<cdparam x="422" y="594" /> +<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="1259" /> +<P1 x="396" y="524" id="1980" /> +<P2 x="530" y="553" id="1856" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1258" > +<father id="1260" num="0" /> +<cdparam x="485" y="526" /> +<sizeparam width="40" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1254" /> +<TGConnectingPoint num="1" id="1255" /> +<TGConnectingPoint num="2" id="1256" /> +<TGConnectingPoint num="3" id="1257" /> +<extraparam> +<guard value="[ else]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1267" > +<cdparam x="451" y="428" /> +<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="1266" /> +<P1 x="484" y="341" id="1809" /> +<P2 x="484" y="369" id="1844" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1265" > +<father id="1267" num="0" /> +<cdparam x="448" y="469" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1261" /> +<TGConnectingPoint num="1" id="1262" /> +<TGConnectingPoint num="2" id="1263" /> +<TGConnectingPoint num="3" id="1264" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1274" > +<cdparam x="436" y="522" /> +<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="1273" /> +<P1 x="371" y="473" id="1752" /> +<P2 x="371" y="499" id="1978" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1272" > +<father id="1274" num="0" /> +<cdparam x="437" y="543" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1268" /> +<TGConnectingPoint num="1" id="1269" /> +<TGConnectingPoint num="2" id="1270" /> +<TGConnectingPoint num="3" id="1271" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1281" > +<cdparam x="383" y="637" /> +<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="1280" /> +<P1 x="371" y="637" id="1902" /> +<P2 x="371" y="747" id="1706" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1279" > +<father id="1281" num="0" /> +<cdparam x="378" y="681" /> +<sizeparam width="118" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1275" /> +<TGConnectingPoint num="1" id="1276" /> +<TGConnectingPoint num="2" id="1277" /> +<TGConnectingPoint num="3" id="1278" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="state=2" /> +<actions value="newRate=rateHigh" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1288" > +<cdparam x="371" y="797" /> +<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="1287" /> +<P1 x="371" y="797" id="1711" /> +<P2 x="371" y="831" id="1689" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1286" > +<father id="1288" num="0" /> +<cdparam x="368" y="815" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1282" /> +<TGConnectingPoint num="1" id="1283" /> +<TGConnectingPoint num="2" id="1284" /> +<TGConnectingPoint num="3" id="1285" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1295" > +<cdparam x="397" y="857" /> +<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="1294" /> +<P1 x="396" y="856" id="1694" /> +<P2 x="464" y="920" id="1678" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1293" > +<father id="1295" num="0" /> +<cdparam x="417" y="888" /> +<sizeparam width="168" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1289" /> +<TGConnectingPoint num="1" id="1290" /> +<TGConnectingPoint num="2" id="1291" /> +<TGConnectingPoint num="3" id="1292" /> +<extraparam> +<guard value="[ samplingRate!=newRate]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1302" > +<cdparam x="464" y="950" /> +<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="1301" /> +<P1 x="367" y="1018" id="1643" /> +<P2 x="367" y="1050" id="1621" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1300" > +<father id="1302" num="0" /> +<cdparam x="437" y="988" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1296" /> +<TGConnectingPoint num="1" id="1297" /> +<TGConnectingPoint num="2" id="1298" /> +<TGConnectingPoint num="3" id="1299" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1309" > +<cdparam x="342" y="1075" /> +<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="1308" /> +<P1 x="342" y="1075" id="1625" /> +<P2 x="250" y="1142" id="2059" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1307" > +<father id="1309" num="0" /> +<cdparam x="116" y="1091" /> +<sizeparam width="188" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1303" /> +<TGConnectingPoint num="1" id="1304" /> +<TGConnectingPoint num="2" id="1305" /> +<TGConnectingPoint num="3" id="1306" /> +<extraparam> +<guard value="[ (state==2) && (!sensorOn)]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="sensorOn=true" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1316" > +<cdparam x="250" y="1172" /> +<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="1315" /> +<P1 x="250" y="1172" id="2060" /> +<P2 x="323" y="1209" id="1588" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1314" > +<father id="1316" num="0" /> +<cdparam x="275" y="1202" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1310" /> +<TGConnectingPoint num="1" id="1311" /> +<TGConnectingPoint num="2" id="1312" /> +<TGConnectingPoint num="3" id="1313" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1323" > +<cdparam x="311" y="1280" /> +<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="1322" /> +<P1 x="342" y="1327" id="1554" /> +<P2 x="320" y="1605" id="1487" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1321" > +<father id="1323" num="0" /> +<cdparam x="266" y="1316" /> +<sizeparam width="70" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1317" /> +<TGConnectingPoint num="1" id="1318" /> +<TGConnectingPoint num="2" id="1319" /> +<TGConnectingPoint num="3" id="1320" /> +<extraparam> +<guard value="[ state!=2]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1330" > +<cdparam x="432" y="1259" /> +<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="1329" /> +<P1 x="367" y="1259" id="1586" /> +<P2 x="367" y="1302" id="1553" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1328" > +<father id="1330" num="0" /> +<cdparam x="375" y="1270" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1324" /> +<TGConnectingPoint num="1" id="1325" /> +<TGConnectingPoint num="2" id="1326" /> +<TGConnectingPoint num="3" id="1327" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1337" > +<cdparam x="399" y="1295" /> +<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="1336" /> +<P1 x="392" y="1327" id="1558" /> +<P2 x="436" y="1349" id="1512" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1335" > +<father id="1337" num="0" /> +<cdparam x="422" y="1300" /> +<sizeparam width="40" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1331" /> +<TGConnectingPoint num="1" id="1332" /> +<TGConnectingPoint num="2" id="1333" /> +<TGConnectingPoint num="3" id="1334" /> +<extraparam> +<guard value="[else ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1344" > +<cdparam x="488" y="1399" /> +<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="1343" /> +<P1 x="507" y="1399" id="1518" /> +<P2 x="507" y="1429" id="1455" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1342" > +<father id="1344" num="0" /> +<cdparam x="491" y="1447" /> +<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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1338" /> +<TGConnectingPoint num="1" id="1339" /> +<TGConnectingPoint num="2" id="1340" /> +<TGConnectingPoint num="3" id="1341" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1351" > +<cdparam x="495" y="1546" /> +<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="1350" /> +<P1 x="482" y="1454" id="1456" /> +<P2 x="412" y="1489" id="1415" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1349" > +<father id="1351" num="0" /> +<cdparam x="312" y="1453" /> +<sizeparam width="187" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1345" /> +<TGConnectingPoint num="1" id="1346" /> +<TGConnectingPoint num="2" id="1347" /> +<TGConnectingPoint num="3" id="1348" /> +<extraparam> +<guard value="[ distanceLeft>distanceRight]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1358" > +<cdparam x="487" y="1493" /> +<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="1357" /> +<P1 x="532" y="1454" id="1457" /> +<P2 x="604" y="1496" id="1391" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1356" > +<father id="1358" num="0" /> +<cdparam x="571" y="1461" /> +<sizeparam width="40" 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="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1352" /> +<TGConnectingPoint num="1" id="1353" /> +<TGConnectingPoint num="2" id="1354" /> +<TGConnectingPoint num="3" id="1355" /> +<extraparam> +<guard value="[ else]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1365" > +<cdparam x="430" y="1540" /> +<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="1364" /> +<P1 x="412" y="1539" id="1420" /> +<P2 x="472" y="1605" id="1489" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1363" > +<father id="1365" num="0" /> +<cdparam x="376" y="1565" /> +<sizeparam width="149" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1359" /> +<TGConnectingPoint num="1" id="1360" /> +<TGConnectingPoint num="2" id="1361" /> +<TGConnectingPoint num="3" id="1362" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="leftVelocity=1" /> +<actions value="rightVelocity=speedLow" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1372" > +<cdparam x="531" y="1591" /> +<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="1371" /> +<P1 x="592" y="1546" id="1379" /> +<P2 x="512" y="1605" id="1480" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1370" > +<father id="1372" num="0" /> +<cdparam x="583" y="1574" /> +<sizeparam width="140" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1366" /> +<TGConnectingPoint num="1" id="1367" /> +<TGConnectingPoint num="2" id="1368" /> +<TGConnectingPoint num="3" id="1369" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +<actions value="rightVelocity=1" /> +<actions value="leftVelocity=speedLow" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5106" id="1413" > +<cdparam x="542" y="1496" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="turnRight" /> +<TGConnectingPoint num="0" id="1373" /> +<TGConnectingPoint num="1" id="1374" /> +<TGConnectingPoint num="2" id="1375" /> +<TGConnectingPoint num="3" id="1376" /> +<TGConnectingPoint num="4" id="1377" /> +<TGConnectingPoint num="5" id="1378" /> +<TGConnectingPoint num="6" id="1379" /> +<TGConnectingPoint num="7" id="1380" /> +<TGConnectingPoint num="8" id="1381" /> +<TGConnectingPoint num="9" id="1382" /> +<TGConnectingPoint num="10" id="1383" /> +<TGConnectingPoint num="11" id="1384" /> +<TGConnectingPoint num="12" id="1385" /> +<TGConnectingPoint num="13" id="1386" /> +<TGConnectingPoint num="14" id="1387" /> +<TGConnectingPoint num="15" id="1388" /> +<TGConnectingPoint num="16" id="1389" /> +<TGConnectingPoint num="17" id="1390" /> +<TGConnectingPoint num="18" id="1391" /> +<TGConnectingPoint num="19" id="1392" /> +<TGConnectingPoint num="20" id="1393" /> +<TGConnectingPoint num="21" id="1394" /> +<TGConnectingPoint num="22" id="1395" /> +<TGConnectingPoint num="23" id="1396" /> +<TGConnectingPoint num="24" id="1397" /> +<TGConnectingPoint num="25" id="1398" /> +<TGConnectingPoint num="26" id="1399" /> +<TGConnectingPoint num="27" id="1400" /> +<TGConnectingPoint num="28" id="1401" /> +<TGConnectingPoint num="29" id="1402" /> +<TGConnectingPoint num="30" id="1403" /> +<TGConnectingPoint num="31" id="1404" /> +<TGConnectingPoint num="32" id="1405" /> +<TGConnectingPoint num="33" id="1406" /> +<TGConnectingPoint num="34" id="1407" /> +<TGConnectingPoint num="35" id="1408" /> +<TGConnectingPoint num="36" id="1409" /> +<TGConnectingPoint num="37" id="1410" /> +<TGConnectingPoint num="38" id="1411" /> +<TGConnectingPoint num="39" id="1412" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="1454" > +<cdparam x="362" y="1489" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="turnLeft" /> +<TGConnectingPoint num="0" id="1414" /> +<TGConnectingPoint num="1" id="1415" /> +<TGConnectingPoint num="2" id="1416" /> +<TGConnectingPoint num="3" id="1417" /> +<TGConnectingPoint num="4" id="1418" /> +<TGConnectingPoint num="5" id="1419" /> +<TGConnectingPoint num="6" id="1420" /> +<TGConnectingPoint num="7" id="1421" /> +<TGConnectingPoint num="8" id="1422" /> +<TGConnectingPoint num="9" id="1423" /> +<TGConnectingPoint num="10" id="1424" /> +<TGConnectingPoint num="11" id="1425" /> +<TGConnectingPoint num="12" id="1426" /> +<TGConnectingPoint num="13" id="1427" /> +<TGConnectingPoint num="14" id="1428" /> +<TGConnectingPoint num="15" id="1429" /> +<TGConnectingPoint num="16" id="1430" /> +<TGConnectingPoint num="17" id="1431" /> +<TGConnectingPoint num="18" id="1432" /> +<TGConnectingPoint num="19" id="1433" /> +<TGConnectingPoint num="20" id="1434" /> +<TGConnectingPoint num="21" id="1435" /> +<TGConnectingPoint num="22" id="1436" /> +<TGConnectingPoint num="23" id="1437" /> +<TGConnectingPoint num="24" id="1438" /> +<TGConnectingPoint num="25" id="1439" /> +<TGConnectingPoint num="26" id="1440" /> +<TGConnectingPoint num="27" id="1441" /> +<TGConnectingPoint num="28" id="1442" /> +<TGConnectingPoint num="29" id="1443" /> +<TGConnectingPoint num="30" id="1444" /> +<TGConnectingPoint num="31" id="1445" /> +<TGConnectingPoint num="32" id="1446" /> +<TGConnectingPoint num="33" id="1447" /> +<TGConnectingPoint num="34" id="1448" /> +<TGConnectingPoint num="35" id="1449" /> +<TGConnectingPoint num="36" id="1450" /> +<TGConnectingPoint num="37" id="1451" /> +<TGConnectingPoint num="38" id="1452" /> +<TGConnectingPoint num="39" id="1453" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5107" id="1470" > +<cdparam x="492" y="1439" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1455" /> +<TGConnectingPoint num="1" id="1456" /> +<TGConnectingPoint num="2" id="1457" /> +<TGConnectingPoint num="3" id="1458" /> +<TGConnectingPoint num="4" id="1459" /> +<TGConnectingPoint num="5" id="1460" /> +<TGConnectingPoint num="6" id="1461" /> +<TGConnectingPoint num="7" id="1462" /> +<TGConnectingPoint num="8" id="1463" /> +<TGConnectingPoint num="9" id="1464" /> +<TGConnectingPoint num="10" id="1465" /> +<TGConnectingPoint num="11" id="1466" /> +<TGConnectingPoint num="12" id="1467" /> +<TGConnectingPoint num="13" id="1468" /> +<TGConnectingPoint num="14" id="1469" /> +</COMPONENT> + +<COMPONENT type="5106" id="1511" > +<cdparam x="284" y="1605" /> +<sizeparam width="304" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="sendMotorCommand" /> +<TGConnectingPoint num="0" id="1471" /> +<TGConnectingPoint num="1" id="1472" /> +<TGConnectingPoint num="2" id="1473" /> +<TGConnectingPoint num="3" id="1474" /> +<TGConnectingPoint num="4" id="1475" /> +<TGConnectingPoint num="5" id="1476" /> +<TGConnectingPoint num="6" id="1477" /> +<TGConnectingPoint num="7" id="1478" /> +<TGConnectingPoint num="8" id="1479" /> +<TGConnectingPoint num="9" id="1480" /> +<TGConnectingPoint num="10" id="1481" /> +<TGConnectingPoint num="11" id="1482" /> +<TGConnectingPoint num="12" id="1483" /> +<TGConnectingPoint num="13" id="1484" /> +<TGConnectingPoint num="14" id="1485" /> +<TGConnectingPoint num="15" id="1486" /> +<TGConnectingPoint num="16" id="1487" /> +<TGConnectingPoint num="17" id="1488" /> +<TGConnectingPoint num="18" id="1489" /> +<TGConnectingPoint num="19" id="1490" /> +<TGConnectingPoint num="20" id="1491" /> +<TGConnectingPoint num="21" id="1492" /> +<TGConnectingPoint num="22" id="1493" /> +<TGConnectingPoint num="23" id="1494" /> +<TGConnectingPoint num="24" id="1495" /> +<TGConnectingPoint num="25" id="1496" /> +<TGConnectingPoint num="26" id="1497" /> +<TGConnectingPoint num="27" id="1498" /> +<TGConnectingPoint num="28" id="1499" /> +<TGConnectingPoint num="29" id="1500" /> +<TGConnectingPoint num="30" id="1501" /> +<TGConnectingPoint num="31" id="1502" /> +<TGConnectingPoint num="32" id="1503" /> +<TGConnectingPoint num="33" id="1504" /> +<TGConnectingPoint num="34" id="1505" /> +<TGConnectingPoint num="35" id="1506" /> +<TGConnectingPoint num="36" id="1507" /> +<TGConnectingPoint num="37" id="1508" /> +<TGConnectingPoint num="38" id="1509" /> +<TGConnectingPoint num="39" id="1510" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="1552" > +<cdparam x="436" y="1349" /> +<sizeparam width="143" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="dodgeObstacle" /> +<TGConnectingPoint num="0" id="1512" /> +<TGConnectingPoint num="1" id="1513" /> +<TGConnectingPoint num="2" id="1514" /> +<TGConnectingPoint num="3" id="1515" /> +<TGConnectingPoint num="4" id="1516" /> +<TGConnectingPoint num="5" id="1517" /> +<TGConnectingPoint num="6" id="1518" /> +<TGConnectingPoint num="7" id="1519" /> +<TGConnectingPoint num="8" id="1520" /> +<TGConnectingPoint num="9" id="1521" /> +<TGConnectingPoint num="10" id="1522" /> +<TGConnectingPoint num="11" id="1523" /> +<TGConnectingPoint num="12" id="1524" /> +<TGConnectingPoint num="13" id="1525" /> +<TGConnectingPoint num="14" id="1526" /> +<TGConnectingPoint num="15" id="1527" /> +<TGConnectingPoint num="16" id="1528" /> +<TGConnectingPoint num="17" id="1529" /> +<TGConnectingPoint num="18" id="1530" /> +<TGConnectingPoint num="19" id="1531" /> +<TGConnectingPoint num="20" id="1532" /> +<TGConnectingPoint num="21" id="1533" /> +<TGConnectingPoint num="22" id="1534" /> +<TGConnectingPoint num="23" id="1535" /> +<TGConnectingPoint num="24" id="1536" /> +<TGConnectingPoint num="25" id="1537" /> +<TGConnectingPoint num="26" id="1538" /> +<TGConnectingPoint num="27" id="1539" /> +<TGConnectingPoint num="28" id="1540" /> +<TGConnectingPoint num="29" id="1541" /> +<TGConnectingPoint num="30" id="1542" /> +<TGConnectingPoint num="31" id="1543" /> +<TGConnectingPoint num="32" id="1544" /> +<TGConnectingPoint num="33" id="1545" /> +<TGConnectingPoint num="34" id="1546" /> +<TGConnectingPoint num="35" id="1547" /> +<TGConnectingPoint num="36" id="1548" /> +<TGConnectingPoint num="37" id="1549" /> +<TGConnectingPoint num="38" id="1550" /> +<TGConnectingPoint num="39" id="1551" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5107" id="1568" > +<cdparam x="352" y="1312" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1553" /> +<TGConnectingPoint num="1" id="1554" /> +<TGConnectingPoint num="2" id="1555" /> +<TGConnectingPoint num="3" id="1556" /> +<TGConnectingPoint num="4" id="1557" /> +<TGConnectingPoint num="5" id="1558" /> +<TGConnectingPoint num="6" id="1559" /> +<TGConnectingPoint num="7" id="1560" /> +<TGConnectingPoint num="8" id="1561" /> +<TGConnectingPoint num="9" id="1562" /> +<TGConnectingPoint num="10" id="1563" /> +<TGConnectingPoint num="11" id="1564" /> +<TGConnectingPoint num="12" id="1565" /> +<TGConnectingPoint num="13" id="1566" /> +<TGConnectingPoint num="14" id="1567" /> +</COMPONENT> + +<COMPONENT type="5103" id="1579" > +<cdparam x="300" y="1684" /> +<sizeparam width="272" 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="2500" /> +<infoparam name="Send signal" value="motorCommand(leftVelocity, rightVelocity)" /> +<TGConnectingPoint num="0" id="1569" /> +<TGConnectingPoint num="1" id="1570" /> +<TGConnectingPoint num="2" id="1571" /> +<TGConnectingPoint num="3" id="1572" /> +<TGConnectingPoint num="4" id="1573" /> +<TGConnectingPoint num="5" id="1574" /> +<TGConnectingPoint num="6" id="1575" /> +<TGConnectingPoint num="7" id="1576" /> +<TGConnectingPoint num="8" id="1577" /> +<TGConnectingPoint num="9" id="1578" /> +</COMPONENT> + +<COMPONENT type="5106" id="1620" > +<cdparam x="279" y="1209" /> +<sizeparam width="176" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="setVelocity" /> +<TGConnectingPoint num="0" id="1580" /> +<TGConnectingPoint num="1" id="1581" /> +<TGConnectingPoint num="2" id="1582" /> +<TGConnectingPoint num="3" id="1583" /> +<TGConnectingPoint num="4" id="1584" /> +<TGConnectingPoint num="5" id="1585" /> +<TGConnectingPoint num="6" id="1586" /> +<TGConnectingPoint num="7" id="1587" /> +<TGConnectingPoint num="8" id="1588" /> +<TGConnectingPoint num="9" id="1589" /> +<TGConnectingPoint num="10" id="1590" /> +<TGConnectingPoint num="11" id="1591" /> +<TGConnectingPoint num="12" id="1592" /> +<TGConnectingPoint num="13" id="1593" /> +<TGConnectingPoint num="14" id="1594" /> +<TGConnectingPoint num="15" id="1595" /> +<TGConnectingPoint num="16" id="1596" /> +<TGConnectingPoint num="17" id="1597" /> +<TGConnectingPoint num="18" id="1598" /> +<TGConnectingPoint num="19" id="1599" /> +<TGConnectingPoint num="20" id="1600" /> +<TGConnectingPoint num="21" id="1601" /> +<TGConnectingPoint num="22" id="1602" /> +<TGConnectingPoint num="23" id="1603" /> +<TGConnectingPoint num="24" id="1604" /> +<TGConnectingPoint num="25" id="1605" /> +<TGConnectingPoint num="26" id="1606" /> +<TGConnectingPoint num="27" id="1607" /> +<TGConnectingPoint num="28" id="1608" /> +<TGConnectingPoint num="29" id="1609" /> +<TGConnectingPoint num="30" id="1610" /> +<TGConnectingPoint num="31" id="1611" /> +<TGConnectingPoint num="32" id="1612" /> +<TGConnectingPoint num="33" id="1613" /> +<TGConnectingPoint num="34" id="1614" /> +<TGConnectingPoint num="35" id="1615" /> +<TGConnectingPoint num="36" id="1616" /> +<TGConnectingPoint num="37" id="1617" /> +<TGConnectingPoint num="38" id="1618" /> +<TGConnectingPoint num="39" id="1619" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5107" id="1636" > +<cdparam x="352" y="1060" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1621" /> +<TGConnectingPoint num="1" id="1622" /> +<TGConnectingPoint num="2" id="1623" /> +<TGConnectingPoint num="3" id="1624" /> +<TGConnectingPoint num="4" id="1625" /> +<TGConnectingPoint num="5" id="1626" /> +<TGConnectingPoint num="6" id="1627" /> +<TGConnectingPoint num="7" id="1628" /> +<TGConnectingPoint num="8" id="1629" /> +<TGConnectingPoint num="9" id="1630" /> +<TGConnectingPoint num="10" id="1631" /> +<TGConnectingPoint num="11" id="1632" /> +<TGConnectingPoint num="12" id="1633" /> +<TGConnectingPoint num="13" id="1634" /> +<TGConnectingPoint num="14" id="1635" /> +</COMPONENT> + +<COMPONENT type="5106" id="1677" > +<cdparam x="274" y="968" /> +<sizeparam width="187" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="controlTempSensor" /> +<TGConnectingPoint num="0" id="1637" /> +<TGConnectingPoint num="1" id="1638" /> +<TGConnectingPoint num="2" id="1639" /> +<TGConnectingPoint num="3" id="1640" /> +<TGConnectingPoint num="4" id="1641" /> +<TGConnectingPoint num="5" id="1642" /> +<TGConnectingPoint num="6" id="1643" /> +<TGConnectingPoint num="7" id="1644" /> +<TGConnectingPoint num="8" id="1645" /> +<TGConnectingPoint num="9" id="1646" /> +<TGConnectingPoint num="10" id="1647" /> +<TGConnectingPoint num="11" id="1648" /> +<TGConnectingPoint num="12" id="1649" /> +<TGConnectingPoint num="13" id="1650" /> +<TGConnectingPoint num="14" id="1651" /> +<TGConnectingPoint num="15" id="1652" /> +<TGConnectingPoint num="16" id="1653" /> +<TGConnectingPoint num="17" id="1654" /> +<TGConnectingPoint num="18" id="1655" /> +<TGConnectingPoint num="19" id="1656" /> +<TGConnectingPoint num="20" id="1657" /> +<TGConnectingPoint num="21" id="1658" /> +<TGConnectingPoint num="22" id="1659" /> +<TGConnectingPoint num="23" id="1660" /> +<TGConnectingPoint num="24" id="1661" /> +<TGConnectingPoint num="25" id="1662" /> +<TGConnectingPoint num="26" id="1663" /> +<TGConnectingPoint num="27" id="1664" /> +<TGConnectingPoint num="28" id="1665" /> +<TGConnectingPoint num="29" id="1666" /> +<TGConnectingPoint num="30" id="1667" /> +<TGConnectingPoint num="31" id="1668" /> +<TGConnectingPoint num="32" id="1669" /> +<TGConnectingPoint num="33" id="1670" /> +<TGConnectingPoint num="34" id="1671" /> +<TGConnectingPoint num="35" id="1672" /> +<TGConnectingPoint num="36" id="1673" /> +<TGConnectingPoint num="37" id="1674" /> +<TGConnectingPoint num="38" id="1675" /> +<TGConnectingPoint num="39" id="1676" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="1688" > +<cdparam x="374" y="925" /> +<sizeparam width="181" 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="2500" /> +<infoparam name="Send signal" value="changeRate(samplingRate)" /> +<TGConnectingPoint num="0" id="1678" /> +<TGConnectingPoint num="1" id="1679" /> +<TGConnectingPoint num="2" id="1680" /> +<TGConnectingPoint num="3" id="1681" /> +<TGConnectingPoint num="4" id="1682" /> +<TGConnectingPoint num="5" id="1683" /> +<TGConnectingPoint num="6" id="1684" /> +<TGConnectingPoint num="7" id="1685" /> +<TGConnectingPoint num="8" id="1686" /> +<TGConnectingPoint num="9" id="1687" /> +</COMPONENT> + +<COMPONENT type="5107" id="1704" > +<cdparam x="356" y="841" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1689" /> +<TGConnectingPoint num="1" id="1690" /> +<TGConnectingPoint num="2" id="1691" /> +<TGConnectingPoint num="3" id="1692" /> +<TGConnectingPoint num="4" id="1693" /> +<TGConnectingPoint num="5" id="1694" /> +<TGConnectingPoint num="6" id="1695" /> +<TGConnectingPoint num="7" id="1696" /> +<TGConnectingPoint num="8" id="1697" /> +<TGConnectingPoint num="9" id="1698" /> +<TGConnectingPoint num="10" id="1699" /> +<TGConnectingPoint num="11" id="1700" /> +<TGConnectingPoint num="12" id="1701" /> +<TGConnectingPoint num="13" id="1702" /> +<TGConnectingPoint num="14" id="1703" /> +</COMPONENT> + +<COMPONENT type="5106" id="1745" > +<cdparam x="316" y="747" /> +<sizeparam width="110" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="changeRate" /> +<TGConnectingPoint num="0" id="1705" /> +<TGConnectingPoint num="1" id="1706" /> +<TGConnectingPoint num="2" id="1707" /> +<TGConnectingPoint num="3" id="1708" /> +<TGConnectingPoint num="4" id="1709" /> +<TGConnectingPoint num="5" id="1710" /> +<TGConnectingPoint num="6" id="1711" /> +<TGConnectingPoint num="7" id="1712" /> +<TGConnectingPoint num="8" id="1713" /> +<TGConnectingPoint num="9" id="1714" /> +<TGConnectingPoint num="10" id="1715" /> +<TGConnectingPoint num="11" id="1716" /> +<TGConnectingPoint num="12" id="1717" /> +<TGConnectingPoint num="13" id="1718" /> +<TGConnectingPoint num="14" id="1719" /> +<TGConnectingPoint num="15" id="1720" /> +<TGConnectingPoint num="16" id="1721" /> +<TGConnectingPoint num="17" id="1722" /> +<TGConnectingPoint num="18" id="1723" /> +<TGConnectingPoint num="19" id="1724" /> +<TGConnectingPoint num="20" id="1725" /> +<TGConnectingPoint num="21" id="1726" /> +<TGConnectingPoint num="22" id="1727" /> +<TGConnectingPoint num="23" id="1728" /> +<TGConnectingPoint num="24" id="1729" /> +<TGConnectingPoint num="25" id="1730" /> +<TGConnectingPoint num="26" id="1731" /> +<TGConnectingPoint num="27" id="1732" /> +<TGConnectingPoint num="28" id="1733" /> +<TGConnectingPoint num="29" id="1734" /> +<TGConnectingPoint num="30" id="1735" /> +<TGConnectingPoint num="31" id="1736" /> +<TGConnectingPoint num="32" id="1737" /> +<TGConnectingPoint num="33" id="1738" /> +<TGConnectingPoint num="34" id="1739" /> +<TGConnectingPoint num="35" id="1740" /> +<TGConnectingPoint num="36" id="1741" /> +<TGConnectingPoint num="37" id="1742" /> +<TGConnectingPoint num="38" id="1743" /> +<TGConnectingPoint num="39" id="1744" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="1786" > +<cdparam x="289" y="423" /> +<sizeparam width="164" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="calculateDistance" /> +<TGConnectingPoint num="0" id="1746" /> +<TGConnectingPoint num="1" id="1747" /> +<TGConnectingPoint num="2" id="1748" /> +<TGConnectingPoint num="3" id="1749" /> +<TGConnectingPoint num="4" id="1750" /> +<TGConnectingPoint num="5" id="1751" /> +<TGConnectingPoint num="6" id="1752" /> +<TGConnectingPoint num="7" id="1753" /> +<TGConnectingPoint num="8" id="1754" /> +<TGConnectingPoint num="9" id="1755" /> +<TGConnectingPoint num="10" id="1756" /> +<TGConnectingPoint num="11" id="1757" /> +<TGConnectingPoint num="12" id="1758" /> +<TGConnectingPoint num="13" id="1759" /> +<TGConnectingPoint num="14" id="1760" /> +<TGConnectingPoint num="15" id="1761" /> +<TGConnectingPoint num="16" id="1762" /> +<TGConnectingPoint num="17" id="1763" /> +<TGConnectingPoint num="18" id="1764" /> +<TGConnectingPoint num="19" id="1765" /> +<TGConnectingPoint num="20" id="1766" /> +<TGConnectingPoint num="21" id="1767" /> +<TGConnectingPoint num="22" id="1768" /> +<TGConnectingPoint num="23" id="1769" /> +<TGConnectingPoint num="24" id="1770" /> +<TGConnectingPoint num="25" id="1771" /> +<TGConnectingPoint num="26" id="1772" /> +<TGConnectingPoint num="27" id="1773" /> +<TGConnectingPoint num="28" id="1774" /> +<TGConnectingPoint num="29" id="1775" /> +<TGConnectingPoint num="30" id="1776" /> +<TGConnectingPoint num="31" id="1777" /> +<TGConnectingPoint num="32" id="1778" /> +<TGConnectingPoint num="33" id="1779" /> +<TGConnectingPoint num="34" id="1780" /> +<TGConnectingPoint num="35" id="1781" /> +<TGConnectingPoint num="36" id="1782" /> +<TGConnectingPoint num="37" id="1783" /> +<TGConnectingPoint num="38" id="1784" /> +<TGConnectingPoint num="39" id="1785" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5107" id="1802" > +<cdparam x="381" y="260" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1787" /> +<TGConnectingPoint num="1" id="1788" /> +<TGConnectingPoint num="2" id="1789" /> +<TGConnectingPoint num="3" id="1790" /> +<TGConnectingPoint num="4" id="1791" /> +<TGConnectingPoint num="5" id="1792" /> +<TGConnectingPoint num="6" id="1793" /> +<TGConnectingPoint num="7" id="1794" /> +<TGConnectingPoint num="8" id="1795" /> +<TGConnectingPoint num="9" id="1796" /> +<TGConnectingPoint num="10" id="1797" /> +<TGConnectingPoint num="11" id="1798" /> +<TGConnectingPoint num="12" id="1799" /> +<TGConnectingPoint num="13" id="1800" /> +<TGConnectingPoint num="14" id="1801" /> +</COMPONENT> + +<COMPONENT type="5106" id="1843" > +<cdparam x="424" y="291" /> +<sizeparam width="121" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="measureTemp" /> +<TGConnectingPoint num="0" id="1803" /> +<TGConnectingPoint num="1" id="1804" /> +<TGConnectingPoint num="2" id="1805" /> +<TGConnectingPoint num="3" id="1806" /> +<TGConnectingPoint num="4" id="1807" /> +<TGConnectingPoint num="5" id="1808" /> +<TGConnectingPoint num="6" id="1809" /> +<TGConnectingPoint num="7" id="1810" /> +<TGConnectingPoint num="8" id="1811" /> +<TGConnectingPoint num="9" id="1812" /> +<TGConnectingPoint num="10" id="1813" /> +<TGConnectingPoint num="11" id="1814" /> +<TGConnectingPoint num="12" id="1815" /> +<TGConnectingPoint num="13" id="1816" /> +<TGConnectingPoint num="14" id="1817" /> +<TGConnectingPoint num="15" id="1818" /> +<TGConnectingPoint num="16" id="1819" /> +<TGConnectingPoint num="17" id="1820" /> +<TGConnectingPoint num="18" id="1821" /> +<TGConnectingPoint num="19" id="1822" /> +<TGConnectingPoint num="20" id="1823" /> +<TGConnectingPoint num="21" id="1824" /> +<TGConnectingPoint num="22" id="1825" /> +<TGConnectingPoint num="23" id="1826" /> +<TGConnectingPoint num="24" id="1827" /> +<TGConnectingPoint num="25" id="1828" /> +<TGConnectingPoint num="26" id="1829" /> +<TGConnectingPoint num="27" id="1830" /> +<TGConnectingPoint num="28" id="1831" /> +<TGConnectingPoint num="29" id="1832" /> +<TGConnectingPoint num="30" id="1833" /> +<TGConnectingPoint num="31" id="1834" /> +<TGConnectingPoint num="32" id="1835" /> +<TGConnectingPoint num="33" id="1836" /> +<TGConnectingPoint num="34" id="1837" /> +<TGConnectingPoint num="35" id="1838" /> +<TGConnectingPoint num="36" id="1839" /> +<TGConnectingPoint num="37" id="1840" /> +<TGConnectingPoint num="38" id="1841" /> +<TGConnectingPoint num="39" id="1842" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5104" id="1854" > +<cdparam x="423" y="374" /> +<sizeparam width="122" 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="2500" /> +<infoparam name="Receive signal" value="tempData(temp)" /> +<TGConnectingPoint num="0" id="1844" /> +<TGConnectingPoint num="1" id="1845" /> +<TGConnectingPoint num="2" id="1846" /> +<TGConnectingPoint num="3" id="1847" /> +<TGConnectingPoint num="4" id="1848" /> +<TGConnectingPoint num="5" id="1849" /> +<TGConnectingPoint num="6" id="1850" /> +<TGConnectingPoint num="7" id="1851" /> +<TGConnectingPoint num="8" id="1852" /> +<TGConnectingPoint num="9" id="1853" /> +</COMPONENT> + +<COMPONENT type="5106" id="1895" > +<cdparam x="480" y="553" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="state1" /> +<TGConnectingPoint num="0" id="1855" /> +<TGConnectingPoint num="1" id="1856" /> +<TGConnectingPoint num="2" id="1857" /> +<TGConnectingPoint num="3" id="1858" /> +<TGConnectingPoint num="4" id="1859" /> +<TGConnectingPoint num="5" id="1860" /> +<TGConnectingPoint num="6" id="1861" /> +<TGConnectingPoint num="7" id="1862" /> +<TGConnectingPoint num="8" id="1863" /> +<TGConnectingPoint num="9" id="1864" /> +<TGConnectingPoint num="10" id="1865" /> +<TGConnectingPoint num="11" id="1866" /> +<TGConnectingPoint num="12" id="1867" /> +<TGConnectingPoint num="13" id="1868" /> +<TGConnectingPoint num="14" id="1869" /> +<TGConnectingPoint num="15" id="1870" /> +<TGConnectingPoint num="16" id="1871" /> +<TGConnectingPoint num="17" id="1872" /> +<TGConnectingPoint num="18" id="1873" /> +<TGConnectingPoint num="19" id="1874" /> +<TGConnectingPoint num="20" id="1875" /> +<TGConnectingPoint num="21" id="1876" /> +<TGConnectingPoint num="22" id="1877" /> +<TGConnectingPoint num="23" id="1878" /> +<TGConnectingPoint num="24" id="1879" /> +<TGConnectingPoint num="25" id="1880" /> +<TGConnectingPoint num="26" id="1881" /> +<TGConnectingPoint num="27" id="1882" /> +<TGConnectingPoint num="28" id="1883" /> +<TGConnectingPoint num="29" id="1884" /> +<TGConnectingPoint num="30" id="1885" /> +<TGConnectingPoint num="31" id="1886" /> +<TGConnectingPoint num="32" id="1887" /> +<TGConnectingPoint num="33" id="1888" /> +<TGConnectingPoint num="34" id="1889" /> +<TGConnectingPoint num="35" id="1890" /> +<TGConnectingPoint num="36" id="1891" /> +<TGConnectingPoint num="37" id="1892" /> +<TGConnectingPoint num="38" id="1893" /> +<TGConnectingPoint num="39" id="1894" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="1936" > +<cdparam x="321" y="587" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="state2" /> +<TGConnectingPoint num="0" id="1896" /> +<TGConnectingPoint num="1" id="1897" /> +<TGConnectingPoint num="2" id="1898" /> +<TGConnectingPoint num="3" id="1899" /> +<TGConnectingPoint num="4" id="1900" /> +<TGConnectingPoint num="5" id="1901" /> +<TGConnectingPoint num="6" id="1902" /> +<TGConnectingPoint num="7" id="1903" /> +<TGConnectingPoint num="8" id="1904" /> +<TGConnectingPoint num="9" id="1905" /> +<TGConnectingPoint num="10" id="1906" /> +<TGConnectingPoint num="11" id="1907" /> +<TGConnectingPoint num="12" id="1908" /> +<TGConnectingPoint num="13" id="1909" /> +<TGConnectingPoint num="14" id="1910" /> +<TGConnectingPoint num="15" id="1911" /> +<TGConnectingPoint num="16" id="1912" /> +<TGConnectingPoint num="17" id="1913" /> +<TGConnectingPoint num="18" id="1914" /> +<TGConnectingPoint num="19" id="1915" /> +<TGConnectingPoint num="20" id="1916" /> +<TGConnectingPoint num="21" id="1917" /> +<TGConnectingPoint num="22" id="1918" /> +<TGConnectingPoint num="23" id="1919" /> +<TGConnectingPoint num="24" id="1920" /> +<TGConnectingPoint num="25" id="1921" /> +<TGConnectingPoint num="26" id="1922" /> +<TGConnectingPoint num="27" id="1923" /> +<TGConnectingPoint num="28" id="1924" /> +<TGConnectingPoint num="29" id="1925" /> +<TGConnectingPoint num="30" id="1926" /> +<TGConnectingPoint num="31" id="1927" /> +<TGConnectingPoint num="32" id="1928" /> +<TGConnectingPoint num="33" id="1929" /> +<TGConnectingPoint num="34" id="1930" /> +<TGConnectingPoint num="35" id="1931" /> +<TGConnectingPoint num="36" id="1932" /> +<TGConnectingPoint num="37" id="1933" /> +<TGConnectingPoint num="38" id="1934" /> +<TGConnectingPoint num="39" id="1935" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="1977" > +<cdparam x="183" y="558" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="state0" /> +<TGConnectingPoint num="0" id="1937" /> +<TGConnectingPoint num="1" id="1938" /> +<TGConnectingPoint num="2" id="1939" /> +<TGConnectingPoint num="3" id="1940" /> +<TGConnectingPoint num="4" id="1941" /> +<TGConnectingPoint num="5" id="1942" /> +<TGConnectingPoint num="6" id="1943" /> +<TGConnectingPoint num="7" id="1944" /> +<TGConnectingPoint num="8" id="1945" /> +<TGConnectingPoint num="9" id="1946" /> +<TGConnectingPoint num="10" id="1947" /> +<TGConnectingPoint num="11" id="1948" /> +<TGConnectingPoint num="12" id="1949" /> +<TGConnectingPoint num="13" id="1950" /> +<TGConnectingPoint num="14" id="1951" /> +<TGConnectingPoint num="15" id="1952" /> +<TGConnectingPoint num="16" id="1953" /> +<TGConnectingPoint num="17" id="1954" /> +<TGConnectingPoint num="18" id="1955" /> +<TGConnectingPoint num="19" id="1956" /> +<TGConnectingPoint num="20" id="1957" /> +<TGConnectingPoint num="21" id="1958" /> +<TGConnectingPoint num="22" id="1959" /> +<TGConnectingPoint num="23" id="1960" /> +<TGConnectingPoint num="24" id="1961" /> +<TGConnectingPoint num="25" id="1962" /> +<TGConnectingPoint num="26" id="1963" /> +<TGConnectingPoint num="27" id="1964" /> +<TGConnectingPoint num="28" id="1965" /> +<TGConnectingPoint num="29" id="1966" /> +<TGConnectingPoint num="30" id="1967" /> +<TGConnectingPoint num="31" id="1968" /> +<TGConnectingPoint num="32" id="1969" /> +<TGConnectingPoint num="33" id="1970" /> +<TGConnectingPoint num="34" id="1971" /> +<TGConnectingPoint num="35" id="1972" /> +<TGConnectingPoint num="36" id="1973" /> +<TGConnectingPoint num="37" id="1974" /> +<TGConnectingPoint num="38" id="1975" /> +<TGConnectingPoint num="39" id="1976" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5107" id="1993" > +<cdparam x="356" y="509" /> +<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="choice" value="null" /> +<TGConnectingPoint num="0" id="1978" /> +<TGConnectingPoint num="1" id="1979" /> +<TGConnectingPoint num="2" id="1980" /> +<TGConnectingPoint num="3" id="1981" /> +<TGConnectingPoint num="4" id="1982" /> +<TGConnectingPoint num="5" id="1983" /> +<TGConnectingPoint num="6" id="1984" /> +<TGConnectingPoint num="7" id="1985" /> +<TGConnectingPoint num="8" id="1986" /> +<TGConnectingPoint num="9" id="1987" /> +<TGConnectingPoint num="10" id="1988" /> +<TGConnectingPoint num="11" id="1989" /> +<TGConnectingPoint num="12" id="1990" /> +<TGConnectingPoint num="13" id="1991" /> +<TGConnectingPoint num="14" id="1992" /> +</COMPONENT> + +<COMPONENT type="5104" id="2004" > +<cdparam x="216" y="192" /> +<sizeparam width="358" 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="2500" /> +<infoparam name="Receive signal" value="sensorData(distanceLeft, distanceFront, distanceLeft)" /> +<TGConnectingPoint num="0" id="1994" /> +<TGConnectingPoint num="1" id="1995" /> +<TGConnectingPoint num="2" id="1996" /> +<TGConnectingPoint num="3" id="1997" /> +<TGConnectingPoint num="4" id="1998" /> +<TGConnectingPoint num="5" id="1999" /> +<TGConnectingPoint num="6" id="2000" /> +<TGConnectingPoint num="7" id="2001" /> +<TGConnectingPoint num="8" id="2002" /> +<TGConnectingPoint num="9" id="2003" /> +</COMPONENT> + +<COMPONENT type="5106" id="2045" > +<cdparam x="313" y="112" /> +<sizeparam width="165" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="2500" /> +<infoparam name="State" value="startController" /> +<TGConnectingPoint num="0" id="2005" /> +<TGConnectingPoint num="1" id="2006" /> +<TGConnectingPoint num="2" id="2007" /> +<TGConnectingPoint num="3" id="2008" /> +<TGConnectingPoint num="4" id="2009" /> +<TGConnectingPoint num="5" id="2010" /> +<TGConnectingPoint num="6" id="2011" /> +<TGConnectingPoint num="7" id="2012" /> +<TGConnectingPoint num="8" id="2013" /> +<TGConnectingPoint num="9" id="2014" /> +<TGConnectingPoint num="10" id="2015" /> +<TGConnectingPoint num="11" id="2016" /> +<TGConnectingPoint num="12" id="2017" /> +<TGConnectingPoint num="13" id="2018" /> +<TGConnectingPoint num="14" id="2019" /> +<TGConnectingPoint num="15" id="2020" /> +<TGConnectingPoint num="16" id="2021" /> +<TGConnectingPoint num="17" id="2022" /> +<TGConnectingPoint num="18" id="2023" /> +<TGConnectingPoint num="19" id="2024" /> +<TGConnectingPoint num="20" id="2025" /> +<TGConnectingPoint num="21" id="2026" /> +<TGConnectingPoint num="22" id="2027" /> +<TGConnectingPoint num="23" id="2028" /> +<TGConnectingPoint num="24" id="2029" /> +<TGConnectingPoint num="25" id="2030" /> +<TGConnectingPoint num="26" id="2031" /> +<TGConnectingPoint num="27" id="2032" /> +<TGConnectingPoint num="28" id="2033" /> +<TGConnectingPoint num="29" id="2034" /> +<TGConnectingPoint num="30" id="2035" /> +<TGConnectingPoint num="31" id="2036" /> +<TGConnectingPoint num="32" id="2037" /> +<TGConnectingPoint num="33" id="2038" /> +<TGConnectingPoint num="34" id="2039" /> +<TGConnectingPoint num="35" id="2040" /> +<TGConnectingPoint num="36" id="2041" /> +<TGConnectingPoint num="37" id="2042" /> +<TGConnectingPoint num="38" id="2043" /> +<TGConnectingPoint num="39" id="2044" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="2047" > +<cdparam x="388" 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="2500" minY="10" maxY="2500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="2046" /> +</COMPONENT> + +<COMPONENT type="5103" id="2058" > +<cdparam x="401" y="1143" /> +<sizeparam width="124" 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="2500" /> +<infoparam name="Send signal" value="control(sensorOn)" /> +<TGConnectingPoint num="0" id="2048" /> +<TGConnectingPoint num="1" id="2049" /> +<TGConnectingPoint num="2" id="2050" /> +<TGConnectingPoint num="3" id="2051" /> +<TGConnectingPoint num="4" id="2052" /> +<TGConnectingPoint num="5" id="2053" /> +<TGConnectingPoint num="6" id="2054" /> +<TGConnectingPoint num="7" id="2055" /> +<TGConnectingPoint num="8" id="2056" /> +<TGConnectingPoint num="9" id="2057" /> +</COMPONENT> + +<COMPONENT type="5103" id="2069" > +<cdparam x="188" y="1147" /> +<sizeparam width="124" 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="2500" /> +<infoparam name="Send signal" value="control(sensorOn)" /> +<TGConnectingPoint num="0" id="2059" /> +<TGConnectingPoint num="1" id="2060" /> +<TGConnectingPoint num="2" id="2061" /> +<TGConnectingPoint num="3" id="2062" /> +<TGConnectingPoint num="4" id="2063" /> +<TGConnectingPoint num="5" id="2064" /> +<TGConnectingPoint num="6" id="2065" /> +<TGConnectingPoint num="7" id="2066" /> +<TGConnectingPoint num="8" id="2067" /> +<TGConnectingPoint num="9" id="2068" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + +<Modeling type="ADD" nameTab="Deployment" > +<ADDDiagramPanel name="Deployment Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > +<CONNECTOR type="5350" id="2173" > +<cdparam x="793" y="217" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="797" y="212" id="2125" /> +<P2 x="710" y="212" id="2151" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="true" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5350" id="2172" > +<cdparam x="329" y="345" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="329" y="295" id="2101" /> +<P2 x="460" y="237" id="2152" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5350" id="2171" > +<cdparam x="329" y="123" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="329" y="116" id="2076" /> +<P2 x="460" y="187" id="2147" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5353" id="2146" > +<cdparam x="460" y="187" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Bus0" value="name" /> +<TGConnectingPoint num="0" id="2147" /> +<TGConnectingPoint num="1" id="2148" /> +<TGConnectingPoint num="2" id="2149" /> +<TGConnectingPoint num="3" id="2150" /> +<TGConnectingPoint num="4" id="2151" /> +<TGConnectingPoint num="5" id="2152" /> +<TGConnectingPoint num="6" id="2153" /> +<TGConnectingPoint num="7" id="2154" /> +<TGConnectingPoint num="8" id="2155" /> +<TGConnectingPoint num="9" id="2156" /> +<TGConnectingPoint num="10" id="2157" /> +<TGConnectingPoint num="11" id="2158" /> +<TGConnectingPoint num="12" id="2159" /> +<TGConnectingPoint num="13" id="2160" /> +<TGConnectingPoint num="14" id="2161" /> +<TGConnectingPoint num="15" id="2162" /> +<TGConnectingPoint num="16" id="2163" /> +<TGConnectingPoint num="17" id="2164" /> +<TGConnectingPoint num="18" id="2165" /> +<TGConnectingPoint num="19" id="2166" /> +<TGConnectingPoint num="20" id="2167" /> +<TGConnectingPoint num="21" id="2168" /> +<TGConnectingPoint num="22" id="2169" /> +<TGConnectingPoint num="23" id="2170" /> +<extraparam> +<info stereotype="VGSB" nodeName="Bus0" /> +<attributes index="0" nbOfAttachedInitiators="0" nbOfAttachedTargets="0" minLatency="0" fifoDepth="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5355" id="2121" > +<cdparam x="797" y="112" /> +<sizeparam width="323" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Memory0" value="name" /> +<TGConnectingPoint num="0" id="2122" /> +<TGConnectingPoint num="1" id="2123" /> +<TGConnectingPoint num="2" id="2124" /> +<TGConnectingPoint num="3" id="2125" /> +<TGConnectingPoint num="4" id="2126" /> +<TGConnectingPoint num="5" id="2127" /> +<TGConnectingPoint num="6" id="2128" /> +<TGConnectingPoint num="7" id="2129" /> +<TGConnectingPoint num="8" id="2130" /> +<TGConnectingPoint num="9" id="2131" /> +<TGConnectingPoint num="10" id="2132" /> +<TGConnectingPoint num="11" id="2133" /> +<TGConnectingPoint num="12" id="2134" /> +<TGConnectingPoint num="13" id="2135" /> +<TGConnectingPoint num="14" id="2136" /> +<TGConnectingPoint num="15" id="2137" /> +<TGConnectingPoint num="16" id="2138" /> +<TGConnectingPoint num="17" id="2139" /> +<TGConnectingPoint num="18" id="2140" /> +<TGConnectingPoint num="19" id="2141" /> +<TGConnectingPoint num="20" id="2142" /> +<TGConnectingPoint num="21" id="2143" /> +<TGConnectingPoint num="22" id="2144" /> +<TGConnectingPoint num="23" id="2145" /> +<extraparam> +<info stereotype="RAM" nodeName="Memory0" /> +<attributes byteDataSize="4096" index="0" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="5362" id="2228" > +<father id="2121" num="0" /> +<cdparam x="868" y="250" /> +<sizeparam width="188" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="135" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="MainControl/in tempData" /> +<TGConnectingPoint num="0" id="2229" /> +<TGConnectingPoint num="1" id="2230" /> +<TGConnectingPoint num="2" id="2231" /> +<TGConnectingPoint num="3" id="2232" /> +<TGConnectingPoint num="4" id="2233" /> +<TGConnectingPoint num="5" id="2234" /> +<TGConnectingPoint num="6" id="2235" /> +<TGConnectingPoint num="7" id="2236" /> +<extraparam> +<info value="MainControl/in tempData" channelName="MainControl/in tempData(int temp) #--# TemperatureSensor/out tempData(int temp)" fullChannelName="Design::MainControl/in tempData(int temp) #--# TemperatureSensor/out tempData(int temp)" referenceDiagram="Design" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5362" id="2219" > +<father id="2121" num="1" /> +<cdparam x="845" y="201" /> +<sizeparam width="235" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="88" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="MainControl/out motorCommand" /> +<TGConnectingPoint num="0" id="2220" /> +<TGConnectingPoint num="1" id="2221" /> +<TGConnectingPoint num="2" id="2222" /> +<TGConnectingPoint num="3" id="2223" /> +<TGConnectingPoint num="4" id="2224" /> +<TGConnectingPoint num="5" id="2225" /> +<TGConnectingPoint num="6" id="2226" /> +<TGConnectingPoint num="7" id="2227" /> +<extraparam> +<info value="MainControl/out motorCommand" channelName="MainControl/out motorCommand(int leftVelocity, int rightVelocity) #--# MotorControl/in motorCommand(int leftCommand, int rightCommand)" fullChannelName="Design::MainControl/out motorCommand(int leftVelocity, int rightVelocity) #--# MotorControl/in motorCommand(int leftCommand, int rightCommand)" referenceDiagram="Design" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5362" id="2210" > +<father id="2121" num="2" /> +<cdparam x="862" y="154" /> +<sizeparam width="198" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="125" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="MainControl/in sensorData" /> +<TGConnectingPoint num="0" id="2211" /> +<TGConnectingPoint num="1" id="2212" /> +<TGConnectingPoint num="2" id="2213" /> +<TGConnectingPoint num="3" id="2214" /> +<TGConnectingPoint num="4" id="2215" /> +<TGConnectingPoint num="5" id="2216" /> +<TGConnectingPoint num="6" id="2217" /> +<TGConnectingPoint num="7" id="2218" /> +<extraparam> +<info value="MainControl/in sensorData" channelName="MainControl/in sensorData(int distanceLeft, int distanceFront, int distanceRight) #--# DistanceSensor/out sensorData(int distanceLeft, int distanceFront, int distanceRight)" fullChannelName="Design::MainControl/in sensorData(int distanceLeft, int distanceFront, int distanceRight) #--# DistanceSensor/out sensorData(int distanceLeft, int distanceFront, int distanceRight)" referenceDiagram="Design" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5354" id="2096" > +<cdparam x="79" y="245" /> +<sizeparam width="250" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="TTY0" value="name" /> +<TGConnectingPoint num="0" id="2097" /> +<TGConnectingPoint num="1" id="2098" /> +<TGConnectingPoint num="2" id="2099" /> +<TGConnectingPoint num="3" id="2100" /> +<TGConnectingPoint num="4" id="2101" /> +<TGConnectingPoint num="5" id="2102" /> +<TGConnectingPoint num="6" id="2103" /> +<TGConnectingPoint num="7" id="2104" /> +<TGConnectingPoint num="8" id="2105" /> +<TGConnectingPoint num="9" id="2106" /> +<TGConnectingPoint num="10" id="2107" /> +<TGConnectingPoint num="11" id="2108" /> +<TGConnectingPoint num="12" id="2109" /> +<TGConnectingPoint num="13" id="2110" /> +<TGConnectingPoint num="14" id="2111" /> +<TGConnectingPoint num="15" id="2112" /> +<TGConnectingPoint num="16" id="2113" /> +<TGConnectingPoint num="17" id="2114" /> +<TGConnectingPoint num="18" id="2115" /> +<TGConnectingPoint num="19" id="2116" /> +<TGConnectingPoint num="20" id="2117" /> +<TGConnectingPoint num="21" id="2118" /> +<TGConnectingPoint num="22" id="2119" /> +<TGConnectingPoint num="23" id="2120" /> +<extraparam> +<info stereotype="TTY" nodeName="TTY0" /> +<attributes index="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5351" id="2071" > +<cdparam x="79" y="10" /> +<sizeparam width="250" height="213" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU0" value="name" /> +<TGConnectingPoint num="0" id="2072" /> +<TGConnectingPoint num="1" id="2073" /> +<TGConnectingPoint num="2" id="2074" /> +<TGConnectingPoint num="3" id="2075" /> +<TGConnectingPoint num="4" id="2076" /> +<TGConnectingPoint num="5" id="2077" /> +<TGConnectingPoint num="6" id="2078" /> +<TGConnectingPoint num="7" id="2079" /> +<TGConnectingPoint num="8" id="2080" /> +<TGConnectingPoint num="9" id="2081" /> +<TGConnectingPoint num="10" id="2082" /> +<TGConnectingPoint num="11" id="2083" /> +<TGConnectingPoint num="12" id="2084" /> +<TGConnectingPoint num="13" id="2085" /> +<TGConnectingPoint num="14" id="2086" /> +<TGConnectingPoint num="15" id="2087" /> +<TGConnectingPoint num="16" id="2088" /> +<TGConnectingPoint num="17" id="2089" /> +<TGConnectingPoint num="18" id="2090" /> +<TGConnectingPoint num="19" id="2091" /> +<TGConnectingPoint num="20" id="2092" /> +<TGConnectingPoint num="21" id="2093" /> +<TGConnectingPoint num="22" id="2094" /> +<TGConnectingPoint num="23" id="2095" /> +<extraparam> +<info stereotype="CPU" nodeName="CPU0" /> +<attributes nbOfIrq="6" iCacheWays="8" iCacheSets="4" iCacheWords="4" dCacheWays="8" dCacheSets="4" dCacheWords="4" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="5352" id="2201" > +<father id="2071" num="0" /> +<cdparam x="102" y="176" /> +<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="94" minY="0" maxY="173" /> +<infoparam name="TGComponent" value="Design::MainControl" /> +<TGConnectingPoint num="0" id="2202" /> +<TGConnectingPoint num="1" id="2203" /> +<TGConnectingPoint num="2" id="2204" /> +<TGConnectingPoint num="3" id="2205" /> +<TGConnectingPoint num="4" id="2206" /> +<TGConnectingPoint num="5" id="2207" /> +<TGConnectingPoint num="6" id="2208" /> +<TGConnectingPoint num="7" id="2209" /> +<extraparam> +<info value="Design::MainControl" taskName="MainControl" referenceTaskName="Design" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5352" id="2192" > +<father id="2071" num="1" /> +<cdparam x="101" y="133" /> +<sizeparam width="180" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="70" minY="0" maxY="173" /> +<infoparam name="TGComponent" value="Design::DistanceSensor" /> +<TGConnectingPoint num="0" id="2193" /> +<TGConnectingPoint num="1" id="2194" /> +<TGConnectingPoint num="2" id="2195" /> +<TGConnectingPoint num="3" id="2196" /> +<TGConnectingPoint num="4" id="2197" /> +<TGConnectingPoint num="5" id="2198" /> +<TGConnectingPoint num="6" id="2199" /> +<TGConnectingPoint num="7" id="2200" /> +<extraparam> +<info value="Design::DistanceSensor" taskName="DistanceSensor" referenceTaskName="Design" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5352" id="2183" > +<father id="2071" num="2" /> +<cdparam x="101" y="89" /> +<sizeparam width="206" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="44" minY="0" maxY="173" /> +<infoparam name="TGComponent" value="Design::TemperatureSensor" /> +<TGConnectingPoint num="0" id="2184" /> +<TGConnectingPoint num="1" id="2185" /> +<TGConnectingPoint num="2" id="2186" /> +<TGConnectingPoint num="3" id="2187" /> +<TGConnectingPoint num="4" id="2188" /> +<TGConnectingPoint num="5" id="2189" /> +<TGConnectingPoint num="6" id="2190" /> +<TGConnectingPoint num="7" id="2191" /> +<extraparam> +<info value="Design::TemperatureSensor" taskName="TemperatureSensor" referenceTaskName="Design" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5352" id="2174" > +<father id="2071" num="3" /> +<cdparam x="100" y="44" /> +<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="86" minY="0" maxY="173" /> +<infoparam name="TGComponent" value="Design::MotorControl" /> +<TGConnectingPoint num="0" id="2175" /> +<TGConnectingPoint num="1" id="2176" /> +<TGConnectingPoint num="2" id="2177" /> +<TGConnectingPoint num="3" id="2178" /> +<TGConnectingPoint num="4" id="2179" /> +<TGConnectingPoint num="5" id="2180" /> +<TGConnectingPoint num="6" id="2181" /> +<TGConnectingPoint num="7" id="2182" /> +<extraparam> +<info value="Design::MotorControl" taskName="MotorControl" referenceTaskName="Design" /> +</extraparam> +</SUBCOMPONENT> + + +</ADDDiagramPanel> + +</Modeling> + + + + +</TURTLEGMODELING> \ No newline at end of file diff --git a/plugins/testPluginCodeGeneration/CustomizerAvatarJavaCodeGeneration.java b/plugins/testPluginCodeGeneration/CustomizerAvatarJavaCodeGeneration.java index 5fd697433d3d5031c81c2ff9ef7a014f3a9024d9..649d25b3e0a38c892648fcd224a742722fc77cba 100644 --- a/plugins/testPluginCodeGeneration/CustomizerAvatarJavaCodeGeneration.java +++ b/plugins/testPluginCodeGeneration/CustomizerAvatarJavaCodeGeneration.java @@ -44,6 +44,11 @@ */ public class CustomizerAvatarJavaCodeGeneration { + + public static String hasAvatarCodeGenerator() { + return "CustomizerAvatarJavaCodeGeneration"; + } + public static String getMainDeclaration() { return ("/* This is the main */\nint main(int argc, char *argv[]) {\n"); } diff --git a/plugins/testPluginCodeGeneration/Makefile b/plugins/testPluginCodeGeneration/Makefile index 0f0a835cd731cd12e6be4579a00658de9cbfdde1..ddabf994b3e624f17677b295bfb4cbf97c01eb3a 100644 --- a/plugins/testPluginCodeGeneration/Makefile +++ b/plugins/testPluginCodeGeneration/Makefile @@ -1,7 +1,7 @@ JAVAC = javac JAR = jar JAR_TXT = customizer.txt -JAR_TARGET = ../CustomizerAvatarCodeGeneration.jar +JAR_TARGET = ../CustomizerAvatarJavaCodeGeneration.jar all: javac *.java diff --git a/plugins/testPluginGraphicalComponent/CustomizerGraphicalComponent.java b/plugins/testPluginGraphicalComponent/CustomizerGraphicalComponent.java index f1c840177ec399f58ade34dd3e2cbefea878008f..f21856fead30e67e9b7c31846595c31769f2a9d4 100644 --- a/plugins/testPluginGraphicalComponent/CustomizerGraphicalComponent.java +++ b/plugins/testPluginGraphicalComponent/CustomizerGraphicalComponent.java @@ -53,6 +53,11 @@ public class CustomizerGraphicalComponent { public CustomizerGraphicalComponent() { } + + public static String hasGraphicalComponent() { + return "CustomizerGraphicalComponent"; + } + public static String getPanelClassName() { return "TMLArchiDiagramPanel"; } diff --git a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java index 8b94a1fd4dc8c092aa0ec2b4e558145c5825879c..a3c99b3f09cc88809c7b26b49850f5d328106748 100755 --- a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java +++ b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java @@ -42,10 +42,7 @@ package avatartranslator.toexecutable; import avatartranslator.*; -import myutil.Conversion; -import myutil.FileException; -import myutil.FileUtils; -import myutil.TraceManager; +import myutil.*; import java.io.File; import java.util.LinkedList; @@ -83,13 +80,11 @@ public class AVATAR2CPOSIX { private boolean tracing; private boolean includeUserCode = true; - private String pluginPath = ""; - private String plugin = ""; + private Plugin plugin; - public AVATAR2CPOSIX(AvatarSpecification _avspec, String _pluginPath, String _plugin) { + public AVATAR2CPOSIX(AvatarSpecification _avspec, Plugin _plugin) { avspec = _avspec; - pluginPath = _pluginPath; plugin = _plugin; } @@ -140,8 +135,8 @@ public class AVATAR2CPOSIX { public void generateCPOSIX(boolean _debug, boolean _tracing) { debug = _debug; tracing = _tracing; - - mainFile = new MainFile("main", pluginPath + java.io.File.separator + plugin); + + mainFile = new MainFile("main", plugin); taskFiles = new Vector<TaskFile>(); avspec.removeCompositeStates(); diff --git a/src/main/java/avatartranslator/toexecutable/MainFile.java b/src/main/java/avatartranslator/toexecutable/MainFile.java index b5b9a985aea7906456dffd9c7f1fac74f4182238..878220c4cd85b8d37019117800a49e6aec54ccd7 100755 --- a/src/main/java/avatartranslator/toexecutable/MainFile.java +++ b/src/main/java/avatartranslator/toexecutable/MainFile.java @@ -41,8 +41,7 @@ package avatartranslator.toexecutable; -import myutil.PluginManager; -import myutil.TraceManager; +import myutil.*; /** * Class MainFile @@ -68,10 +67,10 @@ public class MainFile { private String beforeMainCode; private String mainCode; - private String plugin; + private Plugin plugin; - public MainFile(String _name, String _plugin) { + public MainFile(String _name, Plugin _plugin) { name = _name; plugin = _plugin; hCode = ""; @@ -107,7 +106,9 @@ public class MainFile { try { - mainDec = PluginManager.pluginManager.executeString(plugin, "CustomizerAvatarJavaCodeGeneration", "getMainDeclaration"); + if (plugin != null) { + mainDec = plugin.executeRetStringMethod(plugin.getClassAvatarCodeGenerator(), "getMainDeclaration"); + } /*File file = new File(plugin); TraceManager.addDev("Loading plugin=" + plugin); URL[] urls = new URL[] { file.toURI().toURL() }; diff --git a/src/main/java/common/ConfigurationTTool.java b/src/main/java/common/ConfigurationTTool.java index f270e90367cd55bd475d95f14aadd608168d082f..4fa1b7fa9d825a3b92394b05ac2c3c4c7d089cb6 100755 --- a/src/main/java/common/ConfigurationTTool.java +++ b/src/main/java/common/ConfigurationTTool.java @@ -151,6 +151,7 @@ public class ConfigurationTTool { // PLUGINS public static String PLUGIN_PATH = ""; + public static String[] PLUGIN = new String[0]; public static String PLUGIN_JAVA_CODE_GENERATOR = ""; public static String[] PLUGIN_GRAPHICAL_COMPONENT = new String[0]; @@ -461,6 +462,9 @@ public class ConfigurationTTool { for (int i=0; i<PLUGIN_GRAPHICAL_COMPONENT.length; i++) { sb.append("Plugin for graphical component: " + PLUGIN_GRAPHICAL_COMPONENT[i] + "\n"); } + for (int i=0; i<PLUGIN.length; i++) { + sb.append("Multi purpose plugin: " + PLUGIN[i] + "\n"); + } // URL sb.append("\nURLs:\n"); @@ -744,6 +748,10 @@ public class ConfigurationTTool { if (nl.getLength() > 0) PluginPath(nl); + nl = doc.getElementsByTagName("PLUGIN"); + if (nl.getLength() > 0) + Plugin(nl); + nl = doc.getElementsByTagName("PLUGIN_JAVA_CODE_GENERATOR"); if (nl.getLength() > 0) PluginJavaCodeGenerator(nl); @@ -1440,6 +1448,18 @@ public class ConfigurationTTool { } } + private static void Plugin(NodeList nl) throws MalformedConfigurationException { + PLUGIN = new String[nl.getLength()]; + try { + for (int i=0; i<nl.getLength(); i++) { + Element elt = (Element)(nl.item(i)); + PLUGIN[i] = elt.getAttribute("data"); + } + } catch (Exception e) { + throw new MalformedConfigurationException(e.getMessage()); + } + } + private static void PluginJavaCodeGenerator(NodeList nl) throws MalformedConfigurationException { try { Element elt = (Element)(nl.item(0)); diff --git a/src/main/java/myutil/Plugin.java b/src/main/java/myutil/Plugin.java index 93cc45c18f2135a1007c119d46d56a0d6d62b7e6..283a90bbc4971c793ecac6785061eb54c06e0d7a 100755 --- a/src/main/java/myutil/Plugin.java +++ b/src/main/java/myutil/Plugin.java @@ -60,6 +60,10 @@ public class Plugin { private String name; private File file; private HashMap<String, Class> listOfClasses; + private Class classAvatarCodeGenerator; + private Class classDiplodocusCodeGenerator; + private Class classGraphicalComponent; + public Plugin(String _path, String _name) { path = _path; @@ -75,6 +79,76 @@ public class Plugin { return path; } + public boolean hasAvatarCodeGenerator() { + String ret = executeRetStringMethod(removeJar(name), "hasAvatarCodeGenerator"); + if (ret != null) { + classAvatarCodeGenerator = getClass(ret); + return true; + } + + return false; + } + + public boolean hasDiplodocusCodeGenerator() { + String ret = executeRetStringMethod(removeJar(name), "hasDiplodocusCodeGenerator"); + if (ret != null) { + classDiplodocusCodeGenerator = getClass(ret); + return true; + } + + return false; + } + + public String getDiplodocusCodeGeneratorIdentifier() { + String desc = executeRetStringMethod(classDiplodocusCodeGenerator, "getIdentifier"); + return desc; + } + + + public boolean hasGraphicalComponent() { + String ret = executeRetStringMethod(removeJar(name), "hasGraphicalComponent"); + if (ret != null) { + classGraphicalComponent = getClass(ret); + String diagOk = executeRetStringMethod(classGraphicalComponent, "getPanelClassName"); + if (diagOk != null) { + return true; + } + } + classGraphicalComponent = null; + return false; + } + + public boolean hasGraphicalComponent(String _diagID) { + TraceManager.addDev("Test GC with diag=" + _diagID); + String ret = executeRetStringMethod(removeJar(name), "hasGraphicalComponent"); + if (ret != null) { + classGraphicalComponent = getClass(ret); + String diagOk = executeRetStringMethod(classGraphicalComponent, "getPanelClassName"); + if (diagOk != null) { + if (diagOk.compareTo(_diagID) == 0) { + TraceManager.addDev("Found graphical component in plugin:" + name); + return true; + } + } + } + classGraphicalComponent = null; + + return false; + } + + public Class getClassAvatarCodeGenerator() { + return classAvatarCodeGenerator; + } + + public Class getClassGraphicalComponent() { + return classGraphicalComponent; + } + + public Class getClassDiplodocusCodeGenerator() { + return classDiplodocusCodeGenerator; + } + + public Class getClass(String _className) { Class<?> c = listOfClasses.get(_className); if (c != null) { @@ -87,7 +161,7 @@ public class Plugin { TraceManager.addDev("Loading plugin=" + path + java.io.File.separator + name); URL[] urls = new URL[] { file.toURI().toURL() }; ClassLoader loader = new URLClassLoader(urls); - TraceManager.addDev("Loader created"); + //TraceManager.addDev("Loader created"); c = loader.loadClass(_className); if (c == null) { return null; @@ -133,12 +207,30 @@ public class Plugin { // We have a valid plugin. We now need to get the Method Method m = getMethod(_className, _methodName); if (m == null) { - TraceManager.addDev("Null method"); + TraceManager.addDev("Null method with class as a string class=" + _className + " _method=" + _methodName); return null; } try { return (String)(m.invoke(null)); + } catch (Exception e) { + TraceManager.addDev("Exception occured when executing method " + _methodName + " in class=" + _className); + return null; + } + } + + public String executeRetStringMethod(Class<?> c, String _methodName) { + // We have a valid plugin. We now need to get the Method + + try { + TraceManager.addDev("Getting " + _methodName + " in class " + c.getName()); + Method m = c.getMethod(_methodName); + + if (m == null) { + TraceManager.addDev("Null method in executeRetStringMethod with Class parameter"); + return null; + } + return (String)(m.invoke(null)); } catch (Exception e) { TraceManager.addDev("Exception occured when executing method " + _methodName); return null; @@ -156,21 +248,39 @@ public class Plugin { Method method = instance.getClass().getMethod(_methodName, cArg); return (boolean)(method.invoke(instance)); } + + public static boolean executeBoolStringMethod(Object instance, String value, String _methodName) throws Exception { + Class[] cArg = new Class[1]; + cArg[0] = String.class; + TraceManager.addDev("Looking for method=" + _methodName + " in instance " + instance); + Method method = instance.getClass().getMethod(_methodName, cArg); + return (boolean)(method.invoke(instance, value)); + } + - public ImageIcon executeRetImageIconMethod(String _className, String _methodName) { + public ImageIcon executeRetImageIconMethod(Class<?> c, String _methodName) { // We have a valid plugin. We now need to get the Method - Method m = getMethod(_className, _methodName); + try { + Method m = c.getMethod(_methodName); if (m == null) { return null; } - try { - return (ImageIcon)(m.invoke(null)); + return (ImageIcon)(m.invoke(null)); } catch (Exception e) { TraceManager.addDev("Exception occured when executing method " + _methodName); return null; } } + public String removeJar(String withjar) { + int index = withjar.indexOf(".jar"); + if (index == -1) { + return withjar; + } + return withjar.substring(0, index); + + } + } diff --git a/src/main/java/myutil/PluginManager.java b/src/main/java/myutil/PluginManager.java index 71f4a2f254c19d9eff4000e3c5f2e90ee312efd0..e126ea5efd7fde5616713b591014789aec17a835 100755 --- a/src/main/java/myutil/PluginManager.java +++ b/src/main/java/myutil/PluginManager.java @@ -43,6 +43,7 @@ package myutil; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.LinkedList; import java.awt.*; @@ -53,14 +54,55 @@ import java.awt.*; * @author Ludovic APVRILLE */ public class PluginManager { - public ArrayList<Plugin> plugins; public static PluginManager pluginManager; public static String PLUGIN_PATH = ""; + + public ArrayList<Plugin> plugins; public PluginManager() { plugins = new ArrayList<Plugin>(); } + public void preparePlugins(String path, String[] plugins) { + PLUGIN_PATH = path; + for(String s: plugins) { + createPlugin(s); + } + } + + public Plugin getPluginAvatarCodeGenerator() { + for(Plugin plugin: plugins) { + if (plugin.hasAvatarCodeGenerator()) { + TraceManager.addDev(" Found avatar code generation plugin"); + return plugin; + } + } + TraceManager.addDev(" NOT Found avatar code generation plugin"); + return null; + } + + public LinkedList<Plugin> getPluginDiplodocusCodeGenerator() { + LinkedList<Plugin> lplugins = new LinkedList<Plugin>(); + for(Plugin plugin: plugins) { + if (plugin.hasDiplodocusCodeGenerator()) { + lplugins.add(plugin); + TraceManager.addDev(" Found diplodocus code generator plugin"); + } + } + return lplugins; + } + + public LinkedList<Plugin> getPluginGraphicalComponent(String diag) { + LinkedList<Plugin> lplugins = new LinkedList<Plugin>(); + for(Plugin plugin: plugins) { + if (plugin.hasGraphicalComponent(diag)) { + lplugins.add(plugin); + TraceManager.addDev(" Found graphical plugin"); + } + } + return lplugins; + } + public void addPlugin(Plugin _plugin) { plugins.add(_plugin); } @@ -121,4 +163,5 @@ public class PluginManager { } + } diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 9ece3a6d66fa879eddafa148a9a95351c3d6147b..3863688bb873cf90b9f12d8f91647db32b8cd7c4 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -343,7 +343,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe pbt = new PeriodicBehaviorThread(this, 120000); // save every two minutes - PluginManager.pluginManager = new PluginManager(); + //PluginManager.pluginManager = new PluginManager(); } @@ -4233,11 +4233,9 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe // path = file.getAbsolutePath(); // } JDialogCCodeGeneration jgen = new JDialogCCodeGeneration( frame, this, "Application code generation and compilation", - ConfigurationTTool.SystemCHost, ConfigurationTTool.CCodeDirectory, + ConfigurationTTool.CCodeDirectory, "make -C " + ConfigurationTTool.CCodeDirectory, - ConfigurationTTool.SystemCCodeExecuteCommand, - ConfigurationTTool.SystemCCodeInteractiveExecuteCommand, - ConfigurationTTool.GGraphPath, gtm ); + gtm ); // jgen.setSize(500, 750); GraphicLib.centerOnParent(jgen, 500, 750); jgen.setVisible(true); diff --git a/src/main/java/ui/TGComponentPlugin.java b/src/main/java/ui/TGComponentPlugin.java index 90df7a03ae0df9465f497cb95b3493cb8ecae24a..8535edf7d88e82b8ab07049f8ecd941b2542fde1 100755 --- a/src/main/java/ui/TGComponentPlugin.java +++ b/src/main/java/ui/TGComponentPlugin.java @@ -112,10 +112,11 @@ public class TGComponentPlugin extends TGComponent implements ComponentPluginInt } if (instance == null) { //TraceManager.addDev("[create instance] Name of the plugin:" + componentPlugin.getName()); - String className = componentPlugin.executeRetStringMethod("CustomizerGraphicalComponent", "getGraphicalComponentClassName"); - classRef = componentPlugin.getClass(className); + //String className = componentPlugin.executeRetStringMethod(componentPlugin.getClassGraphicalComponent(), "getGraphicalComponentClassName"); + //classRef = componentPlugin.getClass(className); //TraceManager.addDev("[create instance] classRef:" + classRef); - instance = classRef.newInstance(); + classRef = componentPlugin.getClassGraphicalComponent(); + instance = componentPlugin.getClassGraphicalComponent().newInstance(); if (width == 0) { width = Plugin.executeIntMethod(instance, "getWidth"); } @@ -228,9 +229,11 @@ public class TGComponentPlugin extends TGComponent implements ComponentPluginInt elt = (Element) n2; if (elt.getTagName().equals("PluginName")) { pName = elt.getAttribute("value"); - componentPlugin = PluginManager.pluginManager.getPluginOrCreate(pName); + componentPlugin = PluginManager.pluginManager.getPlugin(pName); if (componentPlugin != null) { - createInstance(); + if (componentPlugin.hasGraphicalComponent()) { + createInstance(); + } } else { TraceManager.addDev("No corresponding plugin"); } diff --git a/src/main/java/ui/TToolBar.java b/src/main/java/ui/TToolBar.java index add31cb3dcd21d8d3ca73324c02e6363a438768b..6ded5e3eca015b16c498a940e0c916716f246da1 100755 --- a/src/main/java/ui/TToolBar.java +++ b/src/main/java/ui/TToolBar.java @@ -84,35 +84,30 @@ public abstract class TToolBar extends JToolBar implements ActionListener { pluginActions = new ArrayList<TGUIAction>(); plugins = new ArrayList<Plugin>(); this.addSeparator(); - for(int i=0; i<ConfigurationTTool.PLUGIN_GRAPHICAL_COMPONENT.length; i++) { - Plugin p = PluginManager.pluginManager.getPluginOrCreate(ConfigurationTTool.PLUGIN_GRAPHICAL_COMPONENT[i]); - if (p != null) { - String panelName = p.executeRetStringMethod("CustomizerGraphicalComponent", "getPanelClassName"); - if (panelName != null) { - if (panelName.compareTo(diag) == 0){ - String shortText = p.executeRetStringMethod("CustomizerGraphicalComponent", "getShortText"); - String longText = p.executeRetStringMethod("CustomizerGraphicalComponent", "getLongText"); - String veryShortText = p.executeRetStringMethod("CustomizerGraphicalComponent", "getVeryShortText"); - ImageIcon img = p.executeRetImageIconMethod("CustomizerGraphicalComponent", "getImageIcon"); - if ((img != null) && (shortText != null)) { - TraceManager.addDev("Plugin: " + p.getName() + " short name:" + shortText); - TAction t = new TAction("command-" + p.getName(), shortText, img, img, veryShortText, longText, 0); - TGUIAction tguia = new TGUIAction(t); - pluginActions.add(tguia); - plugins.add(p); - JButton button = add(tguia); - button.addMouseListener(mgui.mouseHandler); - tguia.addActionListener(this); - //button.addActionListener(this); - - /*JButton toto = new JButton("Test"); - toto.addActionListener(this); - add(toto);*/ - //TraceManager.addDev("Action listener..."); - } - } - } - } + LinkedList<Plugin> list = PluginManager.pluginManager.getPluginGraphicalComponent(diag); + TraceManager.addDev("List of " + list.size() + " graphical components"); + for(Plugin p: list) { + //Plugin p = PluginManager.pluginManager.getPluginOrCreate(ConfigurationTTool.PLUGIN_GRAPHICAL_COMPONENT[i]); + String shortText = p.executeRetStringMethod(p.getClassGraphicalComponent(), "getShortText"); + String longText = p.executeRetStringMethod(p.getClassGraphicalComponent(), "getLongText"); + String veryShortText = p.executeRetStringMethod(p.getClassGraphicalComponent(), "getVeryShortText"); + ImageIcon img = p.executeRetImageIconMethod(p.getClassGraphicalComponent(), "getImageIcon"); + if ((img != null) && (shortText != null)) { + TraceManager.addDev("Plugin: " + p.getName() + " short name:" + shortText); + TAction t = new TAction("command-" + p.getName(), shortText, img, img, veryShortText, longText, 0); + TGUIAction tguia = new TGUIAction(t); + pluginActions.add(tguia); + plugins.add(p); + JButton button = add(tguia); + button.addMouseListener(mgui.mouseHandler); + tguia.addActionListener(this); + //button.addActionListener(this); + + /*JButton toto = new JButton("Test"); + toto.addActionListener(this); + add(toto);*/ + //TraceManager.addDev("Action listener..."); + } } } diff --git a/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java b/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java index 570ec87d414d366a3c372be6ad3a6f330bd50e33..37e24b2c2d239c9b7427989e6328896e4ba51280 100755 --- a/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java +++ b/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java @@ -140,12 +140,14 @@ public class TMLArchiDiagramToolBar extends TToolBar implements ActionListener button.addMouseListener(mgui.mouseHandler); button = this.add(mgui.actions[TGUIAction.TMLARCHI_MEMORYNODE]); button.addMouseListener(mgui.mouseHandler); + this.addSeparator(); if (MainGUI.experimentalOn) { button = this.add(mgui.actions[TGUIAction.TMLARCHI_CPNODE]); button.addMouseListener(mgui.mouseHandler); button = this.add(mgui.actions[TGUIAction.TMLARCHI_EVENT_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); + this.addSeparator(); } button = this.add(mgui.actions[TGUIAction.TMLARCHI_COMMUNICATION_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); @@ -155,7 +157,6 @@ public class TMLArchiDiagramToolBar extends TToolBar implements ActionListener button.addMouseListener(mgui.mouseHandler); this.addSeparator(); - button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]); button = this.add(mgui.actions[TGUIAction.TMLARCHI_COMMUNICATION_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); button = this.add(mgui.actions[TGUIAction.TMLARCHI_PORT_ARTIFACT]); @@ -169,9 +170,6 @@ public class TMLArchiDiagramToolBar extends TToolBar implements ActionListener button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]); button.addMouseListener(mgui.mouseHandler); - button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); - button.addMouseListener(mgui.mouseHandler); - this.addSeparator(); button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); diff --git a/src/main/java/ui/window/JDialogAvatarExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogAvatarExecutableCodeGeneration.java index 6bab6e30d8efb9f685d4c2ca4263697ce2232243..4700b0ebd3a0fb9eb844c6e4f875c78f48d6e5a3 100644 --- a/src/main/java/ui/window/JDialogAvatarExecutableCodeGeneration.java +++ b/src/main/java/ui/window/JDialogAvatarExecutableCodeGeneration.java @@ -603,7 +603,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im if (avspec == null) { jta.append("Error: No AVATAR specification\n"); } else { - AVATAR2CPOSIX avatartocposix = new AVATAR2CPOSIX(avspec, ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN_JAVA_CODE_GENERATOR ); + AVATAR2CPOSIX avatartocposix = new AVATAR2CPOSIX(avspec, PluginManager.pluginManager.getPluginAvatarCodeGenerator()); avatartocposix.includeUserCode(putUserCode.isSelected()); avatartocposix.setTimeUnit(selectedUnit); avatartocposix.generateCPOSIX(debugmode.isSelected(), tracemode.isSelected()); diff --git a/src/main/java/ui/window/JDialogCCodeGeneration.java b/src/main/java/ui/window/JDialogCCodeGeneration.java index 0d84b20abbbe2657354c24c32164062a8055db48..26d4ec10e44a8b944c5c2b2b190b00ab8c8b2b9a 100755 --- a/src/main/java/ui/window/JDialogCCodeGeneration.java +++ b/src/main/java/ui/window/JDialogCCodeGeneration.java @@ -1,27 +1,27 @@ /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille, Andrea Enrici - * + * * ludovic.apvrille AT telecom-paristech.fr * andrea.enrici AT telecom-paristech.f - * + * * 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, @@ -32,7 +32,7 @@ * 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. */ @@ -44,13 +44,10 @@ package ui.window; import launcher.LauncherException; import launcher.RshClient; -import myutil.FileUtils; -import myutil.GraphicLib; -import myutil.MasterProcessInterface; -import myutil.ScrolledJTextArea; -import ui.GTURTLEModeling; +import myutil.*; import ui.util.IconManager; -import ui.MainGUI; +import ui.*; +import tmltranslator.*; import javax.swing.*; import javax.swing.event.ListSelectionEvent; @@ -62,6 +59,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; +import java.util.*; /** @@ -71,27 +69,30 @@ import java.io.InputStreamReader; * @version 1.2 27/04/2015 * @author Andrea ENRICI, Ludovic APVRILLE */ -public class JDialogCCodeGeneration extends javax.swing.JDialog implements ActionListener, Runnable, MasterProcessInterface, ListSelectionListener { +public class JDialogCCodeGeneration extends javax.swing.JDialog implements ActionListener, Runnable { protected MainGUI mgui; private static String textSysC1 = "Generate C code in"; private static String textSysC2 = "Compile C code in"; - private static String textSysC4 = "Run simulation to completion:"; - private static String textSysC5 = "Run interactive simulation:"; - private static String textSysC6 = "Run formal verification:"; + //private static String textSysC4 = "Run simulation to completion:"; + //private static String textSysC5 = "Run interactive simulation:"; + //private static String textSysC6 = "Run formal verification:"; - private static String unitCycle = "1"; + //private static String unitCycle = "1"; - private static String[] simus = { "SystemC Simulator - LabSoC version", - "C++ Simulator - LabSoc version" }; + //private static String[] simus = { "SystemC Simulator - LabSoC version", + //"C++ Simulator - LabSoc version" }; + + private static String DEFAULT_GENERATOR = "TTool integrated C generator"; + private static int selectedItem = 1; protected static String pathCode; protected static String pathCompiler; - protected static String pathExecute; - protected static String pathInteractiveExecute; - protected static String pathFormalExecute; + //protected static String pathExecute; + //protected static String pathInteractiveExecute; + // protected static String pathFormalExecute; protected static boolean interactiveSimulationSelected = true; //protected static boolean optimizeModeSelected = true; @@ -108,15 +109,17 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio protected JButton stop; protected JButton close; - protected JRadioButton exe, exeint, exeformal; - protected ButtonGroup exegroup; - protected JLabel gen, comp; - protected JTextField code1, code2, compiler1, exe1, exe2, exe3, exe2int, exe2formal; + protected JLabel gen, comp; + protected JTextField code1, code2, compiler1; + //exe1, exe2, exe3, exe2int, exe2formal; protected JTabbedPane jp1; protected JScrollPane jsp; protected JCheckBox removeCppFiles, removeXFiles;//, debugmode, optimizemode; protected JComboBox versionSimulator; + protected Vector<String> generators; + protected JComboBox<String> generatorsBox; + private Thread t; private boolean go = false; private boolean hasError = false; @@ -129,16 +132,16 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio private int automatic; private boolean wasClosed = false; - private GTURTLEModeling gtm; + private GTURTLEModeling gtm; /** Creates new form */ - public JDialogCCodeGeneration(Frame f, MainGUI _mgui, String title, String _hostSystemC, String _pathCode, String _pathCompiler, String _pathExecute, String _pathInteractiveExecute, String _graphPath, GTURTLEModeling _gtm ) { + public JDialogCCodeGeneration(Frame f, MainGUI _mgui, String title, String _pathCode, String _pathCompiler, GTURTLEModeling _gtm ) { super(f, title, true); mgui = _mgui; - gtm = _gtm; + gtm = _gtm; if (pathCode == null) { pathCode = _pathCode; @@ -147,26 +150,6 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio if (pathCompiler == null) pathCompiler = _pathCompiler; - if (pathExecute == null) - pathExecute = _pathExecute; - - if (pathInteractiveExecute == null) { - if (_graphPath != null) { - _pathInteractiveExecute += " -gpath " + _graphPath; - } - pathInteractiveExecute = _pathInteractiveExecute; - } - - if (pathFormalExecute == null) { - pathFormalExecute = pathInteractiveExecute; - - int index = pathFormalExecute.indexOf("-server"); - if (index != -1) { - pathFormalExecute = pathFormalExecute.substring(0, index) + pathFormalExecute.substring(index+7, pathFormalExecute.length()); - pathFormalExecute += " -explo"; - } - } - hostSystemC = _hostSystemC; initComponents(); myInitComponents(); pack(); @@ -180,8 +163,6 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio protected void myInitComponents() { mode = NOT_STARTED; setButtons(); - setList(); - updateInteractiveSimulation(); } protected void initComponents() { @@ -190,7 +171,7 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio setFont(new Font("Helvetica", Font.PLAIN, 14)); c.setLayout(new BorderLayout()); - // Issue #41 Ordering of tabbed panes + // Issue #41 Ordering of tabbed panes jp1 = GraphicLib.createTabbedPane();//new JTabbedPane(); JPanel jp01 = new JPanel(); @@ -229,9 +210,24 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio code1.setEnabled(false); jp01.add(code1, c01); + jp01.add(new JLabel(" "), c01); c01.gridwidth = GridBagConstraints.REMAINDER; //end row + generators = new Vector<String>(); + generators.add(DEFAULT_GENERATOR); + fillGeneratorsWithPlugins(generators); + + generatorsBox = new JComboBox<>(generators); + if (generators.size() > 1) { + generatorsBox.setSelectedIndex(1); + } + jp01.add(generatorsBox, c01); + c01.gridwidth = GridBagConstraints.REMAINDER; //end row + + jp01.add(new JLabel(" "), c01); + c01.gridwidth = GridBagConstraints.REMAINDER; //end row + removeCppFiles = new JCheckBox("Remove old .h, .c, .o files"); removeCppFiles.setSelected(true); jp01.add(removeCppFiles, c01); @@ -241,12 +237,12 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio jp01.add(removeXFiles, c01); /*debugmode = new JCheckBox("Put debug information in code"); - debugmode.setSelected(false); - jp01.add(debugmode, c01);*/ + debugmode.setSelected(false); + jp01.add(debugmode, c01);*/ /*optimizemode = new JCheckBox("Optimize code"); - optimizemode.setSelected(optimizeModeSelected); - jp01.add(optimizemode, c01);*/ + optimizemode.setSelected(optimizeModeSelected); + jp01.add(optimizemode, c01);*/ jp01.add(new JLabel(" "), c01); @@ -277,50 +273,7 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio jp1.add("Compile", jp02); - // Panel 03 - c03.gridheight = 1; - c03.weighty = 1.0; - c03.weightx = 1.0; - c03.gridwidth = GridBagConstraints.REMAINDER; //end row - c03.fill = GridBagConstraints.BOTH; - c03.gridheight = 1; - exegroup = new ButtonGroup(); - - jp03.add(new JLabel(" "), c03); - c02.gridwidth = GridBagConstraints.REMAINDER; //end row - - exe = new JRadioButton(textSysC4, false); - exe.addActionListener(this); - exegroup.add(exe); - jp03.add(exe, c03); - - exe2 = new JTextField(pathExecute, 100); - jp03.add(exe2, c02); - - jp03.add(new JLabel(" "), c02); - c02.gridwidth = GridBagConstraints.REMAINDER; //end row - - exeint = new JRadioButton(textSysC5, true); - exeint.addActionListener(this); - exegroup.add(exeint); - jp03.add(exeint, c03); - exe2int = new JTextField(pathInteractiveExecute, 100); - jp03.add(exe2int, c02); - - jp03.add(new JLabel(" "), c03); - c02.gridwidth = GridBagConstraints.REMAINDER; //end row - - exeformal = new JRadioButton(textSysC6, true); - exeformal.addActionListener(this); - exegroup.add(exeformal); - jp03.add(exeformal, c03); - exe2formal = new JTextField(pathFormalExecute, 100); - jp03.add(exe2formal, c02); - - jp03.add(new JLabel(" "), c03); - - //jp1.add("Execute", jp03); c.add(jp1, BorderLayout.NORTH); if (automatic > 0) { @@ -332,7 +285,7 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio jta.setMargin(new Insets(10, 10, 10, 10)); jta.setTabSize(3); if (automatic == 0) { - jta.append("Select options and then, click on 'start' to launch C code compilation\n\n"); + jta.append("Select options and then,\n click on 'start' to launch C code generation and compilation\n\n"); } Font f = new Font("Courrier", Font.BOLD, 12); jta.setFont(f); @@ -369,18 +322,11 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio } - public void updateInteractiveSimulation() { - if (automatic == 0) { - exe2.setEnabled(exe.isSelected()); - exe2int.setEnabled(exeint.isSelected()); - exe2formal.setEnabled(exeformal.isSelected()); - } - } public void actionPerformed(ActionEvent evt) { String command = evt.getActionCommand(); // Compare the action command to the known actions. - updateInteractiveSimulation(); + if (command.equals("Start")) { startProcess(); } else if (command.equals("Stop")) { @@ -445,32 +391,32 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio hasError = false; try { - if (automatic > 0) { - hasError = generateCode(); - testGo(); - compileCode(); - testGo(); - } - else { - if( jp1.getSelectedIndex() == 0 ) { //Code generation - hasError = generateCode(); - } - testGo(); - // Compilation - if( jp1.getSelectedIndex() == 1 ) { - compileCode(); - } - if( ( hasError == false ) && ( jp1.getSelectedIndex() < 1 ) ) { - jp1.setSelectedIndex( jp1.getSelectedIndex() + 1 ); + if (automatic > 0) { + hasError = generateCode(); + testGo(); + compileCode(); + testGo(); + } + else { + if( jp1.getSelectedIndex() == 0 ) { //Code generation + hasError = generateCode(); + } + testGo(); + // Compilation + if( jp1.getSelectedIndex() == 1 ) { + compileCode(); + } + if( ( hasError == false ) && ( jp1.getSelectedIndex() < 1 ) ) { + jp1.setSelectedIndex( jp1.getSelectedIndex() + 1 ); + } } - } - } - catch( InterruptedException ie ) { - jta.append("Process interrupted!\n"); - } - jta.append("\n\nReady to process next command...\n"); - - checkMode(); + } + catch( InterruptedException ie ) { + jta.append("Process interrupted!\n"); + } + jta.append("\n\nReady to process next command...\n"); + + checkMode(); setButtons(); } @@ -478,67 +424,110 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio String list; int cycle = 0; - boolean error = false; + boolean error = false; jta.append( "Generating C code...\n\n" ); - if( removeCppFiles.isSelected() ) { - jta.append( "Removing all .h files...\n" ); - list = FileUtils.deleteFiles( code1.getText(), ".h" ); - if( list.length() == 0 ) { - jta.append("No files were deleted\n"); - } - else { - jta.append("Files deleted:\n" + list + "\n"); - } - jta.append("\nRemoving all .c files...\n"); - list = FileUtils.deleteFiles( code1.getText(), ".c" ); - if( list.length() == 0 ) { - jta.append( "No files were deleted\n" ); - } - else { - jta.append("Files deleted:\n" + list + "\n"); - } - jta.append("\nRemoving all .o files...\n"); - list = FileUtils.deleteFiles( code1.getText(), ".o" ); - if( list.length() == 0 ) { - jta.append( "No files were deleted\n" ); - } - else { - jta.append( "Files deleted:\n" + list + "\n" ); - } + if( removeCppFiles.isSelected() ) { + jta.append( "Removing all .h files...\n" ); + list = FileUtils.deleteFiles( code1.getText(), ".h" ); + if( list.length() == 0 ) { + jta.append("No files were deleted\n"); + } + else { + jta.append("Files deleted:\n" + list + "\n"); + } + jta.append("\nRemoving all .c files...\n"); + list = FileUtils.deleteFiles( code1.getText(), ".c" ); + if( list.length() == 0 ) { + jta.append( "No files were deleted\n" ); + } + else { + jta.append("Files deleted:\n" + list + "\n"); + } + jta.append("\nRemoving all .o files...\n"); + list = FileUtils.deleteFiles( code1.getText(), ".o" ); + if( list.length() == 0 ) { + jta.append( "No files were deleted\n" ); + } + else { + jta.append( "Files deleted:\n" + list + "\n" ); + } } if (removeXFiles.isSelected()) { - jta.append( "\nRemoving all .x files...\n" ); - list = FileUtils.deleteFiles( code1.getText(), ".x" ); - if( list.length() == 0 ) { - jta.append("No files were deleted\n"); - } - else { - jta.append("Files deleted:\n" + list + "\n"); - } + jta.append( "\nRemoving all .x files...\n" ); + list = FileUtils.deleteFiles( code1.getText(), ".x" ); + if( list.length() == 0 ) { + jta.append("No files were deleted\n"); + } + else { + jta.append("Files deleted:\n" + list + "\n"); + } } testGo(); - error = gtm.generateCCode( code1.getText() ); - if( !error ) { - File dir = new File( code1.getText() ); - StringBuffer s = new StringBuffer(); - jta.append( "\nSource files successfully generated:\n" ); - for( File f: dir.listFiles() ) { - try { - if( f.getCanonicalPath().contains(".c") || f.getCanonicalPath().contains(".h") ) { - s.append( f.getCanonicalPath() + "\n" ); - } - } - catch( IOException ioe ) { - jta.append("Error: " + ioe.getMessage() + "\n"); - mode = STOPPED; - setButtons(); - return true; - } - } - jta.append( s.toString() ); - } - return error; + if (generatorsBox.getSelectedIndex() == 0) { + error = gtm.generateCCode( code1.getText() ); + if( !error ) { + File dir = new File( code1.getText() ); + StringBuffer s = new StringBuffer(); + jta.append( "\nSource files successfully generated:\n" ); + for( File f: dir.listFiles() ) { + try { + if( f.getCanonicalPath().contains(".c") || f.getCanonicalPath().contains(".h") ) { + s.append( f.getCanonicalPath() + "\n" ); + } + } + catch( IOException ioe ) { + jta.append("Error: " + ioe.getMessage() + "\n"); + mode = STOPPED; + setButtons(); + return true; + } + } + jta.append( s.toString() ); + } + } else { + // code generation by plugin! + int index = generatorsBox.getSelectedIndex() - 1; + int cpt = 0; + Plugin foundPlugin = null; + LinkedList<Plugin> listP = PluginManager.pluginManager.getPluginDiplodocusCodeGenerator(); + for(Plugin p: listP) { + String desc = p.getDiplodocusCodeGeneratorIdentifier(); + if (desc != null) { + if (index == cpt) { + foundPlugin = p; + break; + } + } + } + + if (foundPlugin == null) { + jta.append("Invalid plugin\n"); + + } else { + // We have a valid plugin + // We first need to get an XML representation of the current mapping + TMLMapping tmap = gtm.getTMLMapping(); + + if (tmap == null) { + jta.append("Invalid mapping\n"); + } else { + String XML = tmap.toXML(); + try { + Object instance = foundPlugin.getClassDiplodocusCodeGenerator().newInstance(); + if (instance == null) { + jta.append("Invalid plugin: could not create an instance\n"); + } else { + boolean ret = foundPlugin.executeBoolStringMethod(instance, XML, "generateCode"); + } + } catch (Exception e) { + jta.append("Exception when calling plugin:" + e.getMessage()); + } + } + } + + } + return error; } //End of method generateCode() public void compileCode() throws InterruptedException { @@ -559,20 +548,20 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio } } - protected void processCmd( String cmd, JTextArea _jta ) throws Exception { + protected void processCmd( String cmd, JTextArea _jta ) throws Exception { - String s; - Process p; - p = Runtime.getRuntime().exec( cmd ); - BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) ); - while( ( s = br.readLine() ) != null ) { - _jta.append( s + "\n" ); - } - p.waitFor(); - p.destroy(); - if( p.exitValue() != 0 ) { - throw new Exception( "Make exit status: " + p.exitValue() ); - } + String s; + Process p; + p = Runtime.getRuntime().exec( cmd ); + BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) ); + while( ( s = br.readLine() ) != null ) { + _jta.append( s + "\n" ); + } + p.waitFor(); + p.destroy(); + if( p.exitValue() != 0 ) { + throw new Exception( "Make exit status: " + p.exitValue() ); + } } protected void checkMode() { @@ -607,28 +596,22 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio } } - public boolean hasToContinue() { - return (go == true); + public void fillGeneratorsWithPlugins(Vector<String> v) { + LinkedList<Plugin> list = PluginManager.pluginManager.getPluginDiplodocusCodeGenerator(); + for(Plugin p: list) { + String desc = p.getDiplodocusCodeGeneratorIdentifier(); + if (desc != null) { + v.add(desc); + } + } } - public void appendOut(String s) { - jta.append(s); - } + + + - public void setError() { - hasError = true; - } - - public String getPathInteractiveExecute() { - return pathInteractiveExecute; - } + - // List selection listener - public void valueChanged(ListSelectionEvent e) { - setList(); - } - - private void setList() { - } + -} //End of class +} //End of class diff --git a/ttool/runtime/config.xml b/ttool/runtime/config.xml index be45f75df3fd8b3f2f8af26c5ac3a4e396e1267b..85236d6decb06f5b3fcc2c335929c13cfde85ceb 100755 --- a/ttool/runtime/config.xml +++ b/ttool/runtime/config.xml @@ -63,9 +63,8 @@ <ExternalCommand2Host data="localhost"/> <ExternalCommand2 data="/packages/uppaal(4.0.11/uppaal ../uppaal/spec.xml"/> -<PLUGIN_JAVA_CODE_GENERATOR data="../plugins/CustomizerAvatarCodeGeneration.jar" /> -<LastOpenFile data="/home/dblouin/Projets/TTool/git/TTool/modeling/DIPLODOCUS/ZigBeeDEMO.xml"/> +<LastOpenFile data=""/> diff --git a/ttool/src/main/java/Main.java b/ttool/src/main/java/Main.java index 8b5ea74067914e1aa244f67949e6352b159426fc..f7cd002d139cf88506f004fdcfbbf253b882fe63 100755 --- a/ttool/src/main/java/Main.java +++ b/ttool/src/main/java/Main.java @@ -44,8 +44,7 @@ * @see */ -import myutil.BoolExpressionEvaluator; -import myutil.TraceManager; +import myutil.*; import common.ConfigurationTTool; import ui.*; import ui.util.DefaultText; @@ -303,6 +302,13 @@ public class Main implements ActionListener { TraceManager.addDev(ConfigurationTTool.getConfiguration(systemc)); TraceManager.addDev("\nDebugging trace:\n----------------"); + TraceManager.addDev("\nPreparing plugins\n"); + if (splashFrame != null) { + splashFrame.setMessage("Preparing plugins"); + } + PluginManager.pluginManager = new PluginManager(); + PluginManager.pluginManager.preparePlugins(ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN); + if (ConfigurationTTool.LauncherPort.length() > 0) { try { int port = Integer.decode(ConfigurationTTool.LauncherPort).intValue();