Re: A working document
Herman Bruyninckx <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Message-ID | <Pine.LNX.4.33.0112221453060.8599-100000@pc25-213.mech.kuleuven.ac.be> |
On Fri, 21 Dec 2001, Anthony Mallet wrote: [...] > | 3) Are codels pure code? (no data structures). That would imply = > | disjunction between code and data which is contrary to object oriented = > | paradigm, which has its benefits. > > Yes, definitely. Codels are made of code, and perform tasks on data that > come from elsewhere. > > The purpose of modules is to give a specification of their interface in > terms of functionality, so that the decision procedures can do symbolic > reasonning. Besides this, you are free to put what you need into the > codels. For instance, I see no problem in sharing the same class between > several modules, and thus use a pure object oriented approach _within_ > codels, to manipulate the structure that are exchanged between the > modules. Mmmm, I really don't like this too much: you have no encapsulation of the data in this way, and that will lead to uncontrolled/undeterministic behaviour sooner or later. I mean: a codel can not rely on having a consistent view on the data, if this data is ``somewhere else''... [...] > | 5) The question wether communication should be handled within codels or = > | outside I would answer in favour of - inside. After all we want to hide = > | from the user all the unnecessary details - he/she should concentrate on = > | the task not on the communication details. Maybe special communication = > | codels would do the trick (an intermediate solution). > > I completely agree with you on the fact that communication should not be > left to the user (user = module programmer). This is exactly why I think > that communication should _not_ be defined within codels: codels are the > only part the programmer will write. The communication should be handled > by the module internal engine (which is roughly the same for all modules, > and thus it is generic and written only once). > Are you ok with this? This seems to correspond to what I had in mind: the ``dummy user'' doesn't have to take care about communication, but the ``advanced user/application builder'' does. Both use different codels, I guess. Herman