samuels@chance.uucp (Michael Samuels) (12/20/89)
After reviewing several documents on "software architectures," I have decided I no longer know what the term means. Documents written in support of the Software Development Life Cycle stress the computer side of the coin. They talk about layering, "good software engineering practices" (e.g., information hiding, abstraction), and services provided to other layers in the architecture. The communications side of the coin - interfaces between layers and protocols between "peer" processes - get ignored for the most part. References along the lines of Tanenbaum talk about layering, as well. However, the focus here is on communications issues - especially of the lower layers (1-4 of the OSI model). The discussions here tend to be abstract and ignore problems with fitting together user applications, utilities, and COTS products on top of system services, other COTS products, and existing systems. Does anyone have good references treating "architecture" as an interdisciplinary topic that crosscuts hardware, software, and communications - and that provides "practical" guidelines instead of discussions of "ideal layered models"? Thanks for your suggestions. I will post a summary of replies. Michael Samuels The MITRE Corporation samuels@community-chest.mitre.org Mailstop Z676 (703) 883-7828 7525 Colshire Drive McLean, VA 22102