[Rock-dev] Dynamic Ports in Task Model

Raul Dominguez Raul.Dominguez at dfki.de
Fri Oct 14 10:46:17 CEST 2016


Hi,

On 13.10.2016 13:50, Jakob Schwendner wrote:
> Hey,
>
> One thing, which was on the back of my mind for a while was that at the
> moment, the task model that is given by orogen is not completely explicit.
> This is because of the dynamic ports. Effectively, because of the ability to
> generate dynamic ports at any time, a task has an implicit model, which in
> my opinion breaks with the general design principle of Rock for having
> explicit models. The dynamic_output_port statement tries to put some order
> in it, but is not really sufficient.
> Currently, the shape (e.g. the input/output ports) of a task depends on the
> configuration (and I guess even sometimes on operations that are called),
> but in a way that is only known to the component. To use the model in e.g.
> syskit or orocos.cpp, this behavior has to be mirrored on the model level.
> I was employing the idea of model templates for a while, but this would be
> fairly involved to implement.
>
> Thomas had a good idea, which would be very simple, and would make
> everything explicit.
> - You are not allowed to generate dynamic ports on your own in a task
> -  If either dynamic_output_port or dynamic_input_port exist, a property
> called dynamic_ports is created
> - This property includes a list of name/type pairs
This list would be given in the configuration file, right?

What if the number of ports is dynamic? I don't know of an existing 
case. A potential one would be to communicate with an unpredefined 
number of tasks instances, each through its own port. Short of a server 
with unpredefined number of clients that can connect to it and assigning 
a port to each client.

Raúl
> - The orogen generated code would generate the ports from the dynamic_ports
> property in the configure phase.
>
> In this way, the complete model would be known already at modelling time, in
> a generic way that needs no specific handling of certain tasks.
>
> Please let me know of some negative examples, where this would not work.
>
> Cheers,
>
> Jakob
>
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev

-- 
  Raúl Domínguez (M.Sc.)
  Space Robotics

  Besuchsadresse der Nebengeschäftsstelle:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 5
  28359 Bremen, Germany
  
  Postadresse der Hauptgeschäftsstelle Standort Bremen:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 1
  28359 Bremen, Germany
  
  Tel.:     +49 421 178 45-6617
  Zentrale: +49 421 178 45-0
  Fax:      +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
  E-Mail:   raul.dominguez at dfki.de
  
  Weitere Informationen: http://www.dfki.de/robotik
  -----------------------------------------------------------------------
  Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
  Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
  Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
  (Vorsitzender) Dr. Walter Olthoff
  Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
  Amtsgericht Kaiserslautern, HRB 2313
  Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
  USt-Id.Nr.:    DE 148646973
  Steuernummer:  19/673/0060/3



More information about the Rock-dev mailing list