For Further Reading
DeRemer and Kron describe programming-in-the-small languages for writing modules and a "module interconnection language" for knitting those modules together [DeRemerKron 76]. Prieto-Diaz and Neighbors present a survey of module interconnection languages that are specifically designed to support module interconnection and includes brief descriptions of some software development systems that support module interconnection [PrietoNeighbors 86].
The chapter on the Module Architecture View in [Hofmeister 00] describes a view of a system in terms of modules and layers and how to represent them in UML.