On 05.06.2017 21:42, Sylvain Joyeux wrote: > In the course of the last two years, I've grown extremely frustrated > with the way Ruby code is distributed within rock-core packages. > > As an example, let's look at the transformer: > > drivers/transformer is the *implementation* of a transformer-like > functionality in C++ > drivers/orogen/transformer/rock/transformer.rb is the orogen plugin > that gives access to drivers/transformer in oroGen > drivers/transformer/ruby implements a *model* of a transformer tree > in Ruby, which has no relationship whatsoever with the C++ library > (apart from the name) > drivers/transformer/ruby/syskit is both a generic implementation of > frame annotations in a component network *and* the runtime setup of > oroGen components that use the transformer orogen plugin > > What I'd like to do first and foremost is split the ruby code out of > the C++ library. This would make the development cycle in Ruby that > much more streamlined (documentation, gemification & tests)
Would you also put language bindings into a separate library? > > Moreover, I'd like to split the ruby "framework-free" library from the > Syskit and oroGen bits. I've wanted to do the same for typelib and > oroGen at some point, and was thinking about getting all the > "modelling" bits under the modelkit- umbrella, the component-level > runtime bits under the runkit- umbrella and then orogen- and syskit-, > e.g. > > tools/modelkit-transformer: what's currently the non-syskit bits of > drivers/transformer/ruby > tools/syskit-transformer: drivers/transformer/ruby/syskit/* > tools/orogen-transformer: the transformer/orogen plugin Why using modelkit-* and not e.g. transformer_ruby as already used for other packages? I would prefer something like syskit-plugin- and orogen-plugin- for clarity Any example for what runkit is supposed to contain? > > This would give me a frame into which the Gazebo integration (which > follows the same kind of mess than the transformer) could be finally > organized: > > tools/modelkit-sdf: modelling related to SDF (orogen modelling of a > Gazebo instance, SDF loader for the transformer) > tools/runkit-sdf: loading a SDF file into a vizkit3d instance, > optionally linking to a running Gazebo instance. > tools/syskit-sdf: using SDF to auto-configure a system in Syskit, > integration of Gazebo in Syskit. > > While the namespaces would change, getting backward-compatible aliases > won't be a big deal since the code/APIs won't change (at least, not > right away) > > I'm open for better ideas. It does split the code in smaller units - > against which there was a strong feeling at the origin of Rock - but > I've seen that explaining where is everything is REALLY hard right > now, simply because loosely-related things ended up being bundled > together. I would add: because related things are sometimes not clearly or easily identifiable. So your proposal would solve that in parts e.g. by exposing the plugins a bit more. -- Thomas Röhr (M.Sc.) Space Robotics Besuchsadresse der Nebengeschäftstelle: 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-4151 Zentrale: +49 421 178 45-0 Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen) E-Mail: [email protected] 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 ----------------------------------------------------------------------- _______________________________________________ Rock-dev mailing list [email protected] http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
