Re: Updated design document: decoupling

Peter Soetens <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Organization KU Leuven
Message-ID <[email protected]>
On Sunday 29 June 2003 12:25, Herman Bruyninckx wrote:
> I've put a short document that explains my view on what "decoupling"
> means for the design of complex software systems:
>
>  <http://www.orocos.org/decoupling.html>
>
> As ever, feedback is very welcome!

As I agree with most of the statements in this document, I have to add from 
personal experience the following drawbacks :

Semantic decoupling (a drawing might be handy) : 
What I understand is that you want the programmer work with purely symbolic 
representations at one place and let him decide at another place what is 
underneath these representations. This sounds very much like generic 
programming, which involves template based design. There is no way to do this 
cleanly with polymorphic base classes, although some interfaces might handy. 
Maybe we might seek inspiration in boost.org based libraries. I only know 
very little people who are able to pull this.

Small Interfaces :
 - means also many interfaces. The more interfaces exist, the more difficult 
it is to : 1) grasp their existence and working (they are often too abstract) 
2) maintain them (need to edit many files if one changes) 3)  design or 
refactor them  (ditto)

Library structure :
More, fine grained libraries mean : 1) gigantic load on maintenance (double 
work, documentation, makefiles, scripts, installation etc) 2) gigantic load 
on development : Imagine that a 'root' library has changed an interface or 
so, then all depending libraries need to be recompiled and reinstalled _in 
the correct order_ ! Orocos@KUL has only 4 packages and we already experience 
time loss due to separate recompilation and installation when developping.

As the proposal is correct in theory, I believe the practical constraints were 
not taken into account.

Peter
-- 
------------------------------------------------------------------------
Peter Soetens                                      http://www.orocos.org
Katholieke Universiteit Leuven
Division Production Engineering,                      tel. +32 16 322773
Machine Design and Automation                         fax. +32 16 322987
Celestijnenlaan 300B                   [email protected]
B-3001 Leuven Belgium                 http://www.mech.kuleuven.ac.be/pma
------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.