Work by Tracz [Trac 89] and Edwards [Edwa 89] greatly influenced the Reuse in Practice Working group report [SEI 89] upon which this work is based. In turn, Tracz's work on MIL (Module Interconnect Language) support for reuse engineering is greatly influenced by the MIL (Module Interconnection Language) work of Goguen [Gogu 86]. See [Prie 86] for an overview of current work on MILs.
Similar experiments in constructing interconnecting "architectures" of Ada generic components have been done by Musser and Stepanov [Muss 88]. Their library of generic algorithms and data structures serves as a nice collection of "well-engineered" examples. In addition, their work in [Muss 88] complements the aformentioned work on MILs by explicitly addressing Ada language extensions.
The idea of interconnecting components that only "make sense" when combined was explored in depth in the McDonnell-Douglas CAMP project [CAMP 85]. The concepts of high coupling and low cohesion presented in section 5 came out of the CAMP work and ideas presented at the Reuse in Practice workshop [SEI 89]. These concepts form a nice justification for semantic support for parameterization suggested by [Gogu 86,Trac 89,Edwa 89].
The notion of the 3Cs complements the ideas of this author in connection with his SEER (Software Engineering Environment for Reuse) system [Lato 88], and the work in this paper serves as the basis for extensions to that system. In the SEER work, the notion of a component information web was proposed, containing specification, implementation, and usage information necessary for a user to determine proper component selection.
Similar work on generic architectures appears in [Shaw 89,Whee 88]. [Shaw 89] includes a discussion of generic architecture abstractions, and [Whee 88] includes an in-depth presentation of a generic editor "family".