There is an urgent need to provide a sound generic framework for method and tool integration, where many differing notations are used, software development is distributed and management support for the software development process is provided. This paper argues that there is much to be learnt from proven practical techniques for software construction, particularly those that support distributed software integration, heterogeneity and software management. Configuration Programming is one such approach which advocates the use of a separate, declarative configuration language for the description of system structure. It has been used in the Conic Environment for the development of distributable software, and is being extended for the configuration of heterogeneous components programmed in different programming languages. A number of software tools exist for the development, construction and management of Conic systems. This paper shows how an analogous set of the principles, practice and ...