Software Architecture bibliography

Divider

Definitions

David Garlan and Mary Shaw suggest that software architecture is a level of design concerned with issues "...beyond the algorithms and data structures of the computation; designing and specifying the overall system structure emerges as a new kind of problem. Structural issues include gross organization and global control structure; protocols for communication, synchronization, and data access; assignment of functionality to design elements; physical distribution; composition of design elements; scaling and performance; and selection among design alternatives." [Garlan & Shaw 93]

Other definitions [Software Engineering Institute]

Architecture vs. design

How is software architecture distinguished from detailed design? What is the difference between design patterns and architectural styles? Amnon Eden and Rick Kazman [Eden & Kazman 03] formalized the distinction using the Locality criterion. Essentially, we postulate that architectural statements describe properties of the entire system (non-local) whereas design specifications pertain only to a limited part thereof.

Read more:

Primary bibliography

Vision F. DeRemer, H. H. Kron. "Programming-in-the-Large Versus Programming-in-the- Small." IEEE Transactions in Software Engineering Vol. SE-2, No. 2, June 1976, pp. 80–86.
Foundation Dewayne E. Perry, Alexander L. Wolf. "Foundation for the Study of Software Architecture". ACM SIGSOFT Software Engineering Notes, Vol. 17, No. 4 (1992), pp. 40–52.
Introduction David Garlan, Mary Shaw. An Introduction to Software Architecture. In V. Ambriola and G. Tortora (ed.), Advances in Software Engineering and Knowledge Engineering, Series on Software Engineering and Knowledge Engineering, Vol. 2, World Scientific Publishing Company, Singapore, pp. 1–39, 1993.
Distinction Amnon H. Eden, Rick Kazman. "Architecture, Design, Implementation." Proc. 25th Int'l Conf. Software EngineeringICSE (May 3–10, 2003), Portland, OR, pp. 149–159.
Textbook Mary Shaw, David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
Abstraction Amnon H. Eden, Yoram Hirshfeld, Rick Kazman. “Abstraction Classes in Software Design.” IEE Software, Vol. 153, No. 4 (Aug. 2006), pp. 163–182. London, UK: The Institution of Engineering and Technology.

Formal Specification

  • M. Shaw, D. Garlan. "Formulations and Formalisms in Software Architecture." Ch. in: Computer Science Today, Lecture Notes in Computer Science Vol. 1000, 1995. Berlin: Springer-Verlag.
  • A.H. Eden. “Strategic Versus Tactical Design”. Proc. 38th Hawaii Int'l Conf. System SciencesHICSS (Jan. 3–6, 2005), Honolulu, HI.
  • R. Allen, D. Garlan. "A Formal Basis for Architectural Connection". ACM Trans. Software Engineering and Methodology (Jul. 1997).
  • T.R. Dean, J.R. Cordy. "A Syntactic Theory of Software Architecture". IEEE Trans. Software Engineering, Vol. 21, No. 4 (Apr. 1995).
  • R. Prieto-Diaz, J. Neighbors. "Module Interconnection Languages." J. of Systems and Software Vol. 6, No. 4 (1986), pp. 307–334.

Selected Contributions

Architecture Description Languages (ADLs)

  • P. C. Clements. "A Survey of Architecture Description Languages." 8th Int. Workshop Software Specification and Design (March 1996), Germany.
  • D. Garlan, R. Monroe, D. Wile. "ACME: An Architectural Description Interchange Language." Proc. CASCON'97 (Nov. 1997), Toronto, Ontario.
  • D. C. Luckham. “Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Orderings of Events.” DIMACS Partial Order Methods Workshop IV, Princeton University (Jul. 1996).