On Thu, 9 Sep 2010, Blaise Gassend wrote:
>> - The previous remarks are all about the separation of the "4Cs" (which is
>> my pet software design guideline): to try to separate the Computation, the
>> Communication, the Configuration and the Coordination that take place in
>> components. (BTW, this is something that ROS is rather bad at... I can
>> show you dozens of "horror stories" in (core) ROS packages where all 4Cs
>> are coupled in horrible ways.)
>
> Is there a particular reference you would recommend for becoming more
> familiar with this design guideline?
>
The original reference is
@InCollection{ RadestockEisenbach1996,
author = {Radestock, Matthias and Eisenbach, Susan},
title = {Coordination in evolving systems},
booktitle = {Trends in Distributed Systems.\ {CORBA} and Beyond},
publisher = {Springer-Verlag},
pages = {162--176},
year = {1996}
}
A very seldom cited article, very "hidden", but worth looking for. I can
send you an electronic copy, off-line.
These authors have also a more recent article, a bit more focused on
middleware:
@Article{ RadestockEisenbach2003,
author = {Radestock, Matthias and Eisenbach, Susan},
title = {Coordinating components in middleware systems},
journal = {Concurrency and Computation: Practice and Experience},
volume = {15},
number = {13},
pages = {1205--1231},
year = {2003}
}
I am preparing an article on the topic, but I do not find enough time to
finish it. You can expect more of these guidelines coming out of the BRICS
project ("Best Practices in Robotics") in the coming year.
Herman