Software design analysis is framed within a broad historical and intertextual study of the themes, approaches, and systems of computer-aided algorithmic composition (CAAC). A detailed history of the earliest experiments, as well as analysis of the foundational CAAC systems, is provided. Common problems and interpretations of CAAC are then presented in a historical and intertextual context, drawn from the writings and systems of numerous composers and developers. Toward the goal of developing techniques of comparative software analysis, a survey of system design archetypes, based on seven descriptors of CAAC systems, is presented. With this foundation, athenaCL system components are analyzed in detail. System components are divided into abstractions of musical materials, abstractions of musical procedures, and system architecture. For each component, object models, Python examples, and diagrams are provided. Further, each component is given context in terms of its compositional implications and relation to alternative and related models from the history of CAAC.