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.
Software Architectures and Documentation
Part I. Software Architecture Viewtypes and Styles
The Module Viewtype
Styles of the Module Viewtype
The Component-and-Connector Viewtype
Styles of the Component-and-Connector Viewtype
The Allocation Viewtype and Styles
Part II. Software Architecture Documentation in Practice
Advanced Concepts
Documenting Software Interfaces
Documenting Behavior
Choosing the Views
Building the Documentation Package
Other Views and Beyond
Rationale, Background, and Design Constraints
References