“…Firstly, the use of a declarative explicit architecture characterises our work on configuration programming. The prototype distributed system Conic [2,3,4] included the ability to specify, construct and dynamically evolve a distributed software system [2,5], using a configuration language to explicitly compose software components [6,7]. Work on the general purpose ADL, Darwin [8,9,10], and its industrial instantiation, Koala [11], followed, providing a sound structural language and facilities for variations respectively.…”