<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Are you using master?<br>
      If you are using next the next commit after the merge phase should
      fix this problem.<br>
      We had this a while ago.<br>
      <br>
      Best,<br>
      Matthias<br>
      <br>
      On 14.03.2014 18:25, Christian Rauch wrote:<br>
    </div>
    <blockquote cite="mid:53233BA0.7070100@dfki.de" type="cite">Hello,
      <br>
      <br>
      we have a simulation composition (AriaSim) using some simulated
      devices.
      <br>
      <br>
      If we start this and an additional composition connected to
      simulated devices we get sometimes (not reproducible) this error
      message:
      <br>
      <br>
      {{{
      <br>
      Syskit[FATAL]:
      /home/christian/rock_virgo_next/tools/syskit/lib/syskit/network_generation/engine.rb:526:in
      `block (2 levels) in validate_generated_network': device
      locomotion is assigned to both
      Simulation::MarsActuator{1}:0x69a7f58{driver_dev =&gt;
      device(Dev::Simulation::Mars::Actuator, :as =&gt; locomotion),
      conf =&gt; [locomotion], locomotion_actuators_mappings =&gt; [1,
      2, 3, 4]}[] and Simulation::MarsActuator{1}:0x73ca0a8{driver_dev
      =&gt; device(Dev::Simulation::Mars::Actuator, :as =&gt;
      locomotion), conf =&gt; [locomotion],
      locomotion_actuators_mappings =&gt; [1, 2, 3, 4]}[], but the tasks
      have mismatching inputs (Syskit::SpecError)
      <br>
      }}}
      <br>
      <br>
      Where locomotion is a simulated devices defined by:
      <br>
      {{{
      <br>
      define_simulated_device("locomotion",
      Dev::Simulation::Mars::Actuator) do |dev|
      <br>
      &nbsp;&nbsp;&nbsp; ::Simulation::MarsActuator.dispatch('locomotion_actuators',
      (1..4).to_a ).
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use_deployments(/mars_locomotion/).
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with_arguments(dev.arguments).
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with_conf('locomotion')
      <br>
      end
      <br>
      locomotion_dev.period 0.01
      <br>
      }}}
      <br>
      <br>
      and used in:
      <br>
      {{{
      <br>
      &nbsp; define 'aria', Virgo::AriaSim.use(
      <br>
      &nbsp;&nbsp;&nbsp; 'actuators' =&gt; locomotion_def,
      <br>
      &nbsp;&nbsp;&nbsp; [...]
      <br>
      &nbsp; )
      <br>
      }}}
      <br>
      <br>
      In the network graph (see attached *.dot file) one can see that
      the simulation composition (Virgo::AriaSim) is started twice, and
      therefore also the Simulation::MarsActuator::Cmp.
      <br>
      I guess that is not correct.
      <br>
      <br>
      It might be, that this problem does not occur when a second
      composition is started accessing a simulated device, but then it
      happens later when a third, ... composition is started.
      <br>
      <br>
      =&gt; Any ideas why this happens and only happens randomly?
      <br>
      <br>
      <br>
      Our guess was to prevent the creation of multiple AriaSim
      instances by setting it as a driver by:
      <br>
      {{{
      <br>
      class AriaSim &lt; Syskit::Composition
      <br>
      &nbsp;&nbsp;&nbsp; [...]
      <br>
      &nbsp;&nbsp;&nbsp; driver_for Dev::Platforms::MobileRoboticsSim,
      :as=&gt;'ariasimdev'
      <br>
      end
      <br>
      }}}
      <br>
      <br>
      Which results in the error:
      <br>
      {{{
      <br>
      Syskit[FATAL]: cannot find a device to tie to 1 task(s)
      <br>
      Syskit[FATAL]: for Virgo::AriaSim:0x64e5380{}[]
      <br>
      Syskit[FATAL]:&nbsp;&nbsp; no candidates for Virgo::AriaSim:ariasimdev
      <br>
      Syskit[FATAL]: Engine#resolve failed
      <br>
      }}}
      <br>
      <br>
      =&gt; So the second question is if a composition could be set as a
      driver and if so, how?
      <br>
      <br>
      Regards,
      <br>
      Christian
      <br>
      <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Rock-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a>
<a class="moz-txt-link-freetext" href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a></pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
 Dipl.-Inf. Matthias Goldhoorn 
 Space and Underwater Robotic

 Universit&auml;t Bremen
 FB 3 - Mathematik und Informatik
 AG Robotik
 Robert-Hooke-Stra&szlig;e 1
 28359 Bremen, Germany
 
 Zentrale: +49 421 178 45-6611
 
 Besuchsadresse der Nebengesch&auml;ftstelle: 
 Robert-Hooke-Stra&szlig;e 5
 28359 Bremen, Germany
 
 Tel.:    +49 421 178 45-4193
 Empfang: +49 421 178 45-6600
 Fax:     +49 421 178 45-4150
 E-Mail:  <a class="moz-txt-link-abbreviated" href="mailto:matthias.goldhoorn@informatik.uni-bremen.de">matthias.goldhoorn@informatik.uni-bremen.de</a>

 Weitere Informationen: <a class="moz-txt-link-freetext" href="http://www.informatik.uni-bremen.de/robotik">http://www.informatik.uni-bremen.de/robotik</a></pre>
  </body>
</html>