The ideas underneath the work
Essential reading
Not a comprehensive bibliography—just papers worth returning to, with a short note on why each one matters.
Software architecture · 1992
Dewayne E. Perry and Alexander L. Wolf
A foundational articulation of software architecture as a discipline and a useful starting point for understanding architectural elements, form, and rationale.
ACM SIGSOFT Software Engineering Notes, vol. 17, no. 4, pp. 40–52. DOI: 10.1145/141874.141884.
Self-adaptive systems · 2003
Jeffrey O. Kephart and David M. Chess
A seminal vision for computing systems that manage themselves in response to complexity, uncertainty, and changing operating conditions.
Computer, vol. 36, no. 1, pp. 41–50. DOI: 10.1109/MC.2003.1160055.
Architecture for AI · 2021
Henry Muccini and Karthik Vaidhyanathan
A map of architectural practices for ML-based systems and the open questions that connect software architecture with AI engineering.
2021 IEEE/ACM 1st Workshop on AI Engineering – Software Engineering for AI, pp. 121–128. DOI: 10.1109/WAIN52551.2021.00026.
Sustainable software · 2015
Christoph Becker and colleagues
A concise set of principles for treating sustainability as a systemic software-design concern across technical, environmental, economic, individual, and social dimensions.
Proceedings of the 37th International Conference on Software Engineering.