Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation -- as well as a host of other topics -- putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.
Cited By
- Hannou F, Lefrançois M, Jouvelot P, Charpenay V and Zimmermann A (2024). A Survey on IoT Programming Platforms: A Business-Domain Experts Perspective, ACM Computing Surveys, 57:4, (1-37), Online publication date: 30-Apr-2025.
- Alnaim A (2024). Securing 5G virtual networks: a critical analysis of SDN, NFV, and network slicing security, International Journal of Information Security, 23:6, (3569-3589), Online publication date: 1-Dec-2024.
- De Luca M, Di Meglio S, Fasolino A, Starace L and Tramontana P Automatic Assessment of Architectural Anti-patterns and Code Smells in Student Software Projects Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering, (565-569)
- Ghorbani N, Singh T, Garcia J and Malek S (2024). Darcy: Automatic Architectural Inconsistency Resolution in Java, IEEE Transactions on Software Engineering, 50:6, (1639-1657), Online publication date: 1-Jun-2024.
- Boltz N, Getir Yaman S, Inverardi P, De Lemos R, Van Landuyt D and Zisman A Human empowerment in self-adaptive socio-technical systems Proceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (200-206)
- Rukmono S, Ochoa L and Chaudron M Deductive Software Architecture Recovery via Chain-of-thought Prompting Proceedings of the 2024 ACM/IEEE 44th International Conference on Software Engineering: New Ideas and Emerging Results, (92-96)
- Santana de Almeida E, Ahmed I and van der Hoek A (2023). Let's Go to the Whiteboard (Again): Perceptions From Software Architects on Whiteboard Architecture Meetings, IEEE Transactions on Software Engineering, 49:10, (4773-4795), Online publication date: 1-Oct-2023.
- Guamán D, Pérez J and Valdiviezo-Diaz P (2023). Estimating the energy consumption of model-view-controller applications, The Journal of Supercomputing, 79:12, (13766-13793), Online publication date: 1-Aug-2023.
- Garcia J, Mirakhorli M, Xiao L, Malek S, Kazman R, Cai Y and Medvidović N SAIN: A Community-Wide Software Architecture Infrastructure Proceedings of the 45th International Conference on Software Engineering: Companion Proceedings, (336-337)
- Barros D, Peldszus S, Assunção W and Berger T Editing support for software languages Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, (232-243)
- Sobhy D, Minku L, Bahsoon R and Kazman R (2022). Continuous and Proactive Software Architecture Evaluation: An IoT Case, ACM Transactions on Software Engineering and Methodology, 31:3, (1-54), Online publication date: 31-Jul-2022.
- Striewe M Design Patterns for Submission Evaluation within E-Assessment Systems Proceedings of the 26th European Conference on Pattern Languages of Programs, (1-10)
- Torres W, van den Brand M and Serebrenik A (2021). A systematic literature review of cross-domain model consistency checking by model management tools, Software and Systems Modeling (SoSyM), 20:3, (897-916), Online publication date: 1-Jun-2021.
- Mann Z (2020). Notions of architecture in fog computing, Computing, 103:1, (51-73), Online publication date: 1-Jan-2021.
- Valdivia J, Lora-González A, Limón X, Cortes-Verdin K and Ocharán-Hernández J (2020). Patterns Related to Microservice Architecture: a Multivocal Literature Review, Programming and Computing Software, 46:8, (594-608), Online publication date: 1-Dec-2020.
- Schmitt Laser M, Medvidovic N, Le D and Garcia J ARCADE: an extensible workbench for architecture recovery, change, and decay evaluation Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1546-1550)
- Marinkovic G, Lukic N and Medvidovic N Online sports betting through the prism of software engineering Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1455-1465)
- Shahbazian A, Karthik S, Brun Y and Medvidovic N eQual: informing early design decisions Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (1039-1051)
- Hili N, Bagherzadeh M, Jahed K and Dingel J (2020). A model-based architecture for interactive run-time monitoring, Software and Systems Modeling (SoSyM), 19:4, (959-981), Online publication date: 1-Jul-2020.
- Marmsoler D and Gidey H (2019). Interactive verification of architectural design patterns in FACTum, Formal Aspects of Computing, 31:5, (541-610), Online publication date: 1-Nov-2019.
- Weiher M and Hirschfeld R Standard object out: streaming objects with polymorphic write streams Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages, (104-116)
- Correia R and Adachi E Detecting Design Violations in Django-based Web Applications Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse, (33-42)
- Castellanos C, Varela C and Correal D Measuring performance quality scenarios in big data analytics applications Proceedings of the 13th European Conference on Software Architecture - Volume 2, (165-172)
- Brandner K and Weinreich R A recommender system for software architecture decision making Proceedings of the 13th European Conference on Software Architecture - Volume 2, (22-25)
- Schröder S and Buchgeher G Discovering architectural rules in practice Proceedings of the 13th European Conference on Software Architecture - Volume 2, (10-13)
- Lupafya C A framework for managing uncertainty in software architecture Proceedings of the 13th European Conference on Software Architecture - Volume 2, (71-74)
- Alwakeel A, Alnaim A and Fernandez E A Pattern for a Virtual Network Function (VNF) Proceedings of the 14th International Conference on Availability, Reliability and Security, (1-7)
- Amalfitano D, De Simone V, Maietta R, Scala S and Fasolino A (2019). Using tool integration for improving traceability management testing processes, Journal of Software: Evolution and Process, 31:6, Online publication date: 24-Jun-2019.
- Azadi U, Fontana F and Taibi D Architectural smells detected by tools Proceedings of the Second International Conference on Technical Debt, (88-97)
- Link D, Behnamghader P, Moazeni R and Boehm B Recover and RELAX Proceedings of the International Conference on Software and System Processes, (64-73)
- Ghorbani N, Garcia J and Malek S Detection and repair of architectural inconsistencies in Java Proceedings of the 41st International Conference on Software Engineering, (560-571)
- Neto V, Paes C, Rohling A, Manzano W and Nakagawa E Modeling & simulation of software architectures of systems-of-systems Proceedings of the Theory of Modeling and Simulation Symposium, (1-12)
- Durisic D, Staron M, Tichy M and Hansson J (2019). Assessing the impact of meta-model evolution, Software and Systems Modeling (SoSyM), 18:2, (1419-1445), Online publication date: 1-Apr-2019.
- Lenhard J, Blom M and Herold S (2019). Exploring the suitability of source code metrics for indicating architectural inconsistencies, Software Quality Journal, 27:1, (241-274), Online publication date: 1-Mar-2019.
- Link D, Behnamghader P, Moazeni R and Boehm B The Value of Software Architecture Recovery for Maintenance Proceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference), (1-10)
- Noia T, Mongiello M, Nocera F and Straccia U (2019). A fuzzy ontology-based approach for tool-supported decision making in architectural design, Knowledge and Information Systems, 58:1, (83-112), Online publication date: 1-Jan-2019.
- Bijo S, Johnsen E, Pun K, Seidl C and Tarifa S Deployment by Construction for Multicore Architectures Leveraging Applications of Formal Methods, Verification and Validation. Modeling, (448-465)
- Frohn C, Ilov P, Kriebel S, Kusmenko E, Rumpe B and Ryndin A Distributed Simulation of Cooperatively Interacting Vehicles 2018 21st International Conference on Intelligent Transportation Systems (ITSC), (596-601)
- Brun Y and Meliou A Software fairness Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (754-759)
- Yoshioka N, Washizaki H and Fernandez E (2018). Using Security Patterns to Develop Secure Systems, International Journal of Systems and Software Security and Protection, 9:4, (46-57), Online publication date: 1-Oct-2018.
- Lima C, Assunção W, Martinez J, do Carmo Machado I, von Flach G. Chavez C and Mendonça W Towards an Automated Product Line Architecture Recovery Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse, (33-42)
- Rivas D, Das P, Saiz-Alcaine J and Ribas-Xirgo L Synthesis of Controllers from Finite State Stack Machine Diagrams 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), (1179-1182)
- Fernandez E, Yoshioka N and Washizaki H Evaluating the degree of security of a system built using security patterns Proceedings of the 13th International Conference on Availability, Reliability and Security, (1-8)
- Zheng Y, Cu C and Taylor R (2018). Maintaining Architecture-Implementation Conformance to Support Architecture Centrality, ACM Transactions on Software Engineering and Methodology, 27:2, (1-52), Online publication date: 19-Jul-2018.
- Ivanchikj A, Pautasso C and Schreier S (2018). Visual modeling of RESTful conversations with RESTalk, Software and Systems Modeling (SoSyM), 17:3, (1031-1051), Online publication date: 1-Jul-2018.
- Maoz S and Ringert J On the software engineering challenges of applying reactive synthesis to robotics Proceedings of the 1st International Workshop on Robotics Software Engineering, (17-22)
- Shahbazian A, Nam D and Medvidovic N Toward predicting architectural significance of implementation issues Proceedings of the 15th International Conference on Mining Software Repositories, (215-219)
- Shahbazian A, Lee Y, Brun Y and Medvidovic N Making well-informed software design decisions Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, (262-263)
- Nam D, Lee Y and Medvidovic N EVA Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, (53-56)
- Consel C Assistive computing Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Society, (23-32)
- Ahn H, Kang S and Lee S Reconstruction of execution architecture view using dependency relationships and execution traces Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (1417-1424)
- Kalra S and Prabhakar T (2018). Ontology-based framework for internal-external quality trade-offs and tenant management in multi-tenant applications, ACM SIGAPP Applied Computing Review, 17:4, (46-58), Online publication date: 29-Jan-2018.
- Kalra S and Prabhakar T Internal Quality to External Quality Proceedings of the International Conference on Research in Adaptive and Convergent Systems, (241-248)
- Bertram V, Maoz S, Ringert J, Rumpe B and von Wenckstern M Component and connector views in practice Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, (167-177)
- Maoz S, Pomerantz N, Ringert J and Shalom R Why is my component and connector views specification unsatisfiable? Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, (134-144)
- Altoyan N and Perry D Towards a well-formed software architecture analysis Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, (173-179)
- Lenhard J, Hassan M, Blom M and Herold S Are code smell detection tools suitable for detecting architecture degradation? Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, (138-144)
- Fielding R, Taylor R, Erenkrantz J, Gorlick M, Whitehead J, Khare R and Oreizy P Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award) Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, (4-14)
- Lum A, Chiew T, Ng C, Lee Y, Lee P and Teo C (2017). Development of a web-based insulin decision aid for the elderly, Universal Access in the Information Society, 16:3, (775-791), Online publication date: 1-Aug-2017.
- Amalfitano D, De Simone V, Fasolino A and Scala S Improving traceability management through tool integration: an experience in the automotive domain Proceedings of the 2017 International Conference on Software and System Process, (5-14)
- (2017). A systematic literature review on the architecture of business process management systems, Information Systems, 66:C, (43-58), Online publication date: 1-Jun-2017.
- Kabáăź M, Consel C and Volanschi N (2017). Designing parallel data processing for enabling large-scale sensor applications, Personal and Ubiquitous Computing, 21:3, (457-473), Online publication date: 1-Jun-2017.
- Ko A A three-year participant observation of software startup software evolution Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (3-12)
- Gambi A, Mayr-Dorn C and Zeller A Model-based testing of end-user collaboration intensive systems Proceedings of the Symposium on Applied Computing, (1213-1218)
- Van Deursen A, Aniche M, Aué J, Slag R, De Jong M, Nederlof A and Bouwers E A Collaborative Approach to Teaching Software Architecture Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, (591-596)
- (2017). Harmony search based remodularization for object-oriented software systems, Computer Languages, Systems and Structures, 47:P2, (153-169), Online publication date: 1-Jan-2017.
- Herold S, Blom M and Buckley J Evidence in architecture degradation and consistency checking research Proccedings of the 10th European Conference on Software Architecture Workshops, (1-7)
- Peters J and van der Werf J A genetic approach to architectural pattern discovery Proccedings of the 10th European Conference on Software Architecture Workshops, (1-7)
- Robillard M Sustainable software design Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (920-923)
- Mokni A, Urtado C, Vauttier S, Huchard M and Zhang H (2016). A formal approach for managing component-based architecture evolution, Science of Computer Programming, 127:C, (24-49), Online publication date: 1-Oct-2016.
- Bagheri H, Garcia J, Sadeghi A, Malek S and Medvidovic N (2016). Software architectural principles in contemporary mobile software, Journal of Systems and Software, 119:C, (31-44), Online publication date: 1-Sep-2016.
- (2016). Supply chain knowledge management supported by a simple knowledge organization system, Electronic Commerce Research and Applications, 19:C, (1-18), Online publication date: 1-Sep-2016.
- Shin M, Gomaa H and Pathirage D Reusable Secure Connectors for Secure Software Architecture Proceedings of the 15th International Conference on Software Reuse: Bridging with Social-Awareness - Volume 9679, (181-196)
- Fernandez E, Monge R and Hashizume K (2016). Building a security reference architecture for cloud systems, Requirements Engineering, 21:2, (225-249), Online publication date: 1-Jun-2016.
- Amalfitano D, De Simone V, Fasolino A and Tramontana P (2016). EXACT, Journal of Software: Evolution and Process, 28:6, (483-505), Online publication date: 1-Jun-2016.
- Chauhan S, Patel P, Delicato F and Chaudhary S A development framework for programming cyber-physical systems Proceedings of the 2nd International Workshop on Software Engineering for Smart Cyber-Physical Systems, (47-53)
- Shahbazian A, Edwards G and Medvidovic N An end-to-end domain specific modeling and analysis platform Proceedings of the 8th International Workshop on Modeling in Software Engineering, (8-12)
- Cu C and Zheng Y Architecture-centric derivation of products in a software product line Proceedings of the 8th International Workshop on Modeling in Software Engineering, (27-33)
- Zheng Y and Cu C Towards implementing product line architecture Proceedings of the 1st International Workshop on Bringing Architectural Design Thinking into Developers' Daily Activities, (5-10)
- Le D and Medvidovic N Architectural-based speculative analysis to predict bugs in a software system Proceedings of the 38th International Conference on Software Engineering Companion, (807-810)
- Robillard M and Medvidović N Disseminating architectural knowledge on open-source projects Proceedings of the 38th International Conference on Software Engineering, (476-487)
- Kabáč M and Consel C (2015). Orchestrating masses of sensors: a design-driven development Approach, ACM SIGPLAN Notices, 51:3, (117-120), Online publication date: 11-May-2016.
- Altιnιşιk M and Sözer H Automated procedure clustering for reverse engineering PL/SQL programs Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1440-1445)
- Gharibi G and Zheng Y ArchFeature Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1302-1308)
- Weiher M and Hirschfeld R Constraints as polymorphic connectors Proceedings of the 15th International Conference on Modularity, (134-145)
- Kazman R, Goldenson D, Monarch I, Nichols W and Valetto G (2016). Evaluating the Effects of Architectural Documentation: A Case Study of a Large Scale Open Source Project, IEEE Transactions on Software Engineering, 42:3, (220-260), Online publication date: 1-Mar-2016.
- Gesvindr D and Buhnova B (2016). Performance Challenges, Current Bad Practices, and Hints in PaaS Cloud Application Design, ACM SIGMETRICS Performance Evaluation Review, 43:4, (3-12), Online publication date: 25-Feb-2016.
- Esfahani N, Yuan E, Canavera K and Malek S (2016). Inferring Software Component Interaction Dependencies for Adaptation Support, ACM Transactions on Autonomous and Adaptive Systems, 10:4, (1-32), Online publication date: 3-Feb-2016.
- Marques Neto M and Jesus Jr E LibsensorPy Proceedings of the 21st Brazilian Symposium on Multimedia and the Web, (225-228)
- Kabáč M, Volanschi N and Consel C An evaluation of the DiaSuite toolset by professional developers: learning cost and usability Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools, (9-16)
- Kabáč M and Consel C Orchestrating masses of sensors: a design-driven development Approach Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (117-120)
- Hassine J and Hamou-Lhadj A Describing Early Security Requirements Using Use Case Maps Proceedings of the 17th International SDL Forum on SDL 2015: Model-Driven Engineering for Smart Cities - Volume 9369, (202-217)
- Cabezuelo A, Conde M and Rodríguez J 6th International Workshop on Software Engineering for E-Learning (ISELEAR15) Proceedings of the 3rd International Conference on Technological Ecosystems for Enhancing Multiculturality, (661-665)
- Nicolaescu A, Lichter H, Göringer A, Alexander P and Le D The ARAMIS Workbench for Monitoring, Analysis and Visualization of Architectures based on Run-time Interactions Proceedings of the 2015 European Conference on Software Architecture Workshops, (1-7)
- Dorn C and Taylor R (2015). Analyzing runtime adaptability of collaboration patterns, Concurrency and Computation: Practice & Experience, 27:11, (2725-2750), Online publication date: 10-Aug-2015.
- Alebrahim A, Fassbender S, Filipczyk M, Goedicke M and Heisel M Towards a reliable mapping between performance and security tactics, and architectural patterns Proceedings of the 20th European Conference on Pattern Languages of Programs, (1-43)
- Lytra I, Tran H and Zdun U (2015). Harmonizing architectural decisions with component view models using reusable architectural knowledge transformations and constraints, Future Generation Computer Systems, 47:C, (80-96), Online publication date: 1-Jun-2015.
- Lucassen G, Dalpiaz F, van der Werf J and Brinkkemper S Bridging the Twin Peaks Proceedings of the Fifth International Workshop on Twin Peaks of Requirements and Architecture, (24-28)
- Van Landuyt D and Joosen W On the role of early architectural assumptions in quality attribute scenarios Proceedings of the Fifth International Workshop on Twin Peaks of Requirements and Architecture, (9-15)
- Anish P, Balasubramaniam B, Cleland-Huang J, Wieringa R, Daneva M and Ghaisas S Identifying architecturally significant functional requirements Proceedings of the Fifth International Workshop on Twin Peaks of Requirements and Architecture, (3-8)
- Le D, Behnamghader P, Garcia J, Link D, Shahbazian A and Medvidovic N An empirical study of architectural change in open-source software systems Proceedings of the 12th Working Conference on Mining Software Repositories, (235-245)
- Romanelli M, Mocci A and Lanza M Towards visual reflexion models Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, (277-280)
- Caracciolo A A unified approach to automatic testing of architectural constraints Proceedings of the 37th International Conference on Software Engineering - Volume 2, (871-874)
- Oliveira E and Allian A Do Reference Architectures can Contribute to Standardizing Variability Management Tools? Proceedings of the 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures, (9-12)
- Esen H, Adachi M, Bernardini D, Bemporad A, Rost D and Knodel J Control as a service (CaaS) Proceedings of the Second International Workshop on the Swarm at the Edge of the Cloud, (13-18)
- Guimarães E, Garcia A and Cai Y Architecture-sensitive heuristics for prioritizing critical code anomalies Proceedings of the 14th International Conference on Modularity, (68-80)
- Pinto F, Kulesza U, Silva L and Guerra E A Metadata-based Framework for Quality Attribute Degradation Analysis in Web Systems Proceedings of the 20th Brazilian Symposium on Multimedia and the Web, (171-178)
- Marmsoler D Towards a theory of architectural styles Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (823-825)
- Krka I, Brun Y and Medvidovic N Automatic mining of specifications from invocation traces and method invariants Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (178-189)
- Cenci K Distributed architecture for e-government Proceedings of the 8th International Conference on Theory and Practice of Electronic Governance, (532-535)
- Mistrik I, Bahsoon R, Eeles P, Roshandel R and Stal M (2014). Relating System Quality and Software Architecture, 10.5555/2692450, Online publication date: 8-Aug-2014.
- Ozkaya M and Kloukinas C Design-by-contract for reusable components and realizable architectures Proceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering, (129-138)
- Yuan E, Esfahani N and Malek S Automated mining of software component interactions for self-adaptation Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (27-36)
- Anish P and Balasubramaniam B A knowledge-assisted framework to bridge functional and architecturally significant requirements Proceedings of the 4th International Workshop on Twin Peaks of Requirements and Architecture, (14-17)
- Garlan D Software architecture: a travelogue Future of Software Engineering Proceedings, (29-39)
- Patel P, Morin B and Chaudhary S A model-driven development framework for developing sense-compute-control applications Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation, (52-61)
- Cleland-Huang J, Babar M and Mirakhorli M An inverted classroom experience: engaging students in architectural thinking for agile projects Companion Proceedings of the 36th International Conference on Software Engineering, (364-371)
- Lee Y, Bang J, Garcia J and Medvidovic N ViVA: a visualization and analysis tool for distributed event-based systems Companion Proceedings of the 36th International Conference on Software Engineering, (580-583)
- Letier E, Stefan D and Barr E Uncertainty, risk, and information value in software requirements and architecture Proceedings of the 36th International Conference on Software Engineering, (883-894)
- Gurgel A, Macia I, Garcia A, von Staa A, Mezini M, Eichberg M and Mitschke R Blending and reusing rules for architectural degradation prevention Proceedings of the 13th international conference on Modularity, (61-72)
- Lehrig S Applying Architectural Templates for Design-Time Scalability and Elasticity Analyses of SaaS Applications Proceedings of the 2nd International Workshop on Hot Topics in Cloud service Scalability, (1-8)
- Sajnani H and Lopes C Probabilistic component identification Proceedings of the 7th India Software Engineering Conference, (1-10)
- Bellido J, Alarcón R and Pautasso C (2013). Control-Flow Patterns for Decentralized RESTful Service Composition, ACM Transactions on the Web, 8:1, (1-30), Online publication date: 1-Dec-2013.
- Sarasa-Cabezuelo A and Sierra-Rodríguez J Software engineering for eLearning Proceedings of the First International Conference on Technological Ecosystem for Enhancing Multiculturality, (81-86)
- Mary S, Rodrigues P and Naganathan E (2013). Patterns of software architecture in vastu, ACM SIGSOFT Software Engineering Notes, 38:6, (1-6), Online publication date: 11-Nov-2013.
- Mirakhorli M Preventing erosion of architectural tactics through their strategic implementation, preservation and visualization Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (762-765)
- Garcia J, Ivkovic I and Medvidovic N A comparative analysis of software architecture recovery techniques Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (486-496)
- Rossel P and Herskovic V Building a Domain Model for Mobile Collaborative Systems Proceedings of the 19th International Conference on Collaboration and Technology - Volume 8224, (290-305)
- Li Y, Runde R and Stølen K Towards a pattern language for security risk analysis of web applications Proceedings of the 20th Conference on Pattern Languages of Programs, (1-17)
- Taylor R The role of architectural styles in successful software ecosystems Proceedings of the 17th International Software Product Line Conference, (2-4)
- Amorim S, De Almeida E and McGregor J Extensibility in ecosystem architectures: an initial study Proceedings of the 2013 International Workshop on Ecosystem Architectures, (11-15)
- Inverardi P, Autili M, Di Ruscio D, Pelliccione P and Tivoli M Producing software by integration: challenges and research directions (keynote) Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, (2-12)
- Vogel B Towards open architecture system Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, (731-734)
- Garcia J, Popescu D, Safi G, Halfond W and Medvidovic N Identifying message flow in distributed event-based systems Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, (367-377)
- Maoz S, Ringert J and Rumpe B Synthesis of component and connector models from crosscutting structural views Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, (444-454)
- Morandi B, West S, Nanz S and Gomaa H Concurrent object-oriented development with behavioral design patterns Proceedings of the 7th European conference on Software Architecture, (25-32)
- Angelov S, Trienekens J and Kusters R Software reference architectures - exploring their usage and design in practice Proceedings of the 7th European conference on Software Architecture, (17-24)
- Dimech C and Balasubramaniam D Maintaining architectural conformance during software development Proceedings of the 7th European conference on Software Architecture, (208-223)
- Alexandrov T and Dimov A Software availability in the cloud Proceedings of the 14th International Conference on Computer Systems and Technologies, (193-200)
- Pohlmann U Safe deployment for reconfigurable cyber-physical systems Proceedings of the 18th international doctoral symposium on Components and architecture, (31-36)
- Enard Q, Stoicescu M, Balland E, Consel C, Duchien L, Fabre J and Roy M Design-driven development methodology for resilient computing Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering, (59-64)
- Hu C (2013). The nature of software design and its teaching, ACM Inroads, 4:2, (62-72), Online publication date: 1-Jun-2013.
- Mo R, Garcia J, Cai Y and Medvidovic N Mapping architectural decay instances to dependency models Proceedings of the 4th International Workshop on Managing Technical Debt, (39-46)
- Che M An approach to documenting and evolving architectural design decisions Proceedings of the 2013 International Conference on Software Engineering, (1373-1376)
- Balland E, Consel C, N'Kaoua B and Sauzéon H A case for human-driven software development Proceedings of the 2013 International Conference on Software Engineering, (1229-1232)
- Bagheri H and Sullivan K Bottom-up model-driven development Proceedings of the 2013 International Conference on Software Engineering, (1221-1224)
- Garcia J, Krka I, Mattmann C and Medvidovic N Obtaining ground-truth software architectures Proceedings of the 2013 International Conference on Software Engineering, (901-910)
- Wang H and Wang S (2013). Data summarization ontology-based query processing, Expert Systems with Applications: An International Journal, 40:6, (2109-2116), Online publication date: 1-May-2013.
- Dorn C and Taylor R Architecture-Driven modeling of adaptive collaboration structures in large-scale social web applications Proceedings of the 13th international conference on Web Information Systems Engineering, (143-156)
- Cai Y and Sullivan K (2013). A formal model for automated software modularity and evolvability analysis, ACM Transactions on Software Engineering and Methodology, 21:4, (1-29), Online publication date: 1-Nov-2012.
- Issarny V and Bennaceur A Composing Distributed Systems Revised Lectures of the 11th International Symposium on Formal Methods for Components and Objects - Volume 7866, (168-196)
- Keuler T "Just-in-time" architectural knowledge for developers Proceedings of the WICSA/ECSA 2012 Companion Volume, (92-95)
- Popescu D, Garcia J, Bierhoff K and Medvidovic N Impact analysis for distributed event-based systems Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, (241-251)
- Esfahani N and Malek S (2012). Utilizing architectural styles to enhance the adaptation support of middleware platforms, Information and Software Technology, 54:7, (786-801), Online publication date: 1-Jul-2012.
- Barbi E, Cantone G, D'Angiò A, Falessi D and Sabbatino V Interoperability among UML tools Proceedings of the 2012 ACM SIGSOFT symposium on Industry Day, (5-8)
- Rost D Generation of task-specific architecture documentation for developers Proceedings of the 17th international doctoral symposium on Components and Architecture, (1-6)
- Enard Q, Louberry C, Consel C and Blanc X An experimental study of a design-driven, tool-based development approach Proceedings of the First International Workshop on User Evaluation for Software Engineering Researchers, (39-42)
- Krka I and Medvidovic N Revisiting modal interface automata Proceedings of the First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches, (30-36)
- Zheng Y and Taylor R Enhancing architecture-implementation conformance with change management and support for behavioral mapping Proceedings of the 34th International Conference on Software Engineering, (628-638)
- Cheung L, Krka I, Golubchik L and Medvidovic N Architecture-level reliability prediction of concurrent systems Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, (121-132)
- Di Ruscio D, Malavolta I, Muccini H, Pelliccione P and Pierantonio A Model-Driven techniques to enhance architectural languages interoperability Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering, (26-42)
- Che M and Perry D Evolution-centered architectural design decisions management Proceedings of the 11th WSEAS international conference on Software Engineering, Parallel and Distributed Systems, and proceedings of the 9th WSEAS international conference on Engineering Education, (131-136)
- Krüger I, Demchak B and Menarini M Dynamic service composition and deployment with openrichservices Software Service and Application Engineering, (120-146)
- Konersmann M and Goedicke M A conceptual framework and experimental workbench for architectures Software Service and Application Engineering, (36-52)
- Patel P, Pathak A, Teixeira T and Issarny V Towards application development for the internet of things Proceedings of the 8th Middleware Doctoral Symposium, (1-6)
- Garcia J, Popescu D, Mattmann C, Medvidovic N and Yuanfang Cai Enhancing architectural recovery using concerns Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, (552-555)
- Yongjie Zheng and Taylor R Taming changes With 1.x-Way architecture-implementation mapping Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, (396-399)
- Gorlick M, Strasser K, Baquero A and Taylor R CREST Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (193-194)
- Cardei M, Fernandez E, Sahu A and Cardei I A pattern for sensor network architectures Proceedings of the 2nd Asian Conference on Pattern Languages of Programs, (1-8)
- Falessi D, Cantone G, Kazman R and Kruchten P (2011). Decision-making techniques for software architecture design, ACM Computing Surveys, 43:4, (1-28), Online publication date: 1-Oct-2011.
- De Silva L and Balasubramaniam D A model for specifying rationale using an architecture description language Proceedings of the 5th European conference on Software architecture, (319-327)
- Müller M, Kersten B and Goedicke M A question-based method for deriving software architectures Proceedings of the 5th European conference on Software architecture, (35-42)
- Hansen K, Jonasson K and Neukirchen H (2011). Controversy Corner, Journal of Systems and Software, 84:7, (1233-1243), Online publication date: 1-Jul-2011.
- Koziolek A, Koziolek H and Reussner R PerOpteryx Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS, (33-42)
- von Detten M and Becker S Combining clustering and pattern detection for the reengineering of component-based software systems Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS, (23-32)
- Koziolek H Sustainability evaluation of software architectures Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS, (3-12)
- Bagheri H A formal approach to software synthesis for architectural platforms Proceedings of the 33rd International Conference on Software Engineering, (1143-1145)
- Zheng Y 1.x-Way architecture-implementation mapping Proceedings of the 33rd International Conference on Software Engineering, (1118-1121)
- Cassou D, Balland E, Consel C and Lawall J Leveraging software architectures to guide and verify the development of sense/compute/control applications Proceedings of the 33rd International Conference on Software Engineering, (431-440)
- Silva Filho R, Bronsard F and Hasling W Experiences documenting and preserving software constraints using aspects Proceedings of the tenth international conference on Aspect-oriented software development companion, (7-18)
- van der Hoek A and Lopez N A design perspective on modularity Proceedings of the tenth international conference on Aspect-oriented software development, (265-280)
- Consel C DiaSuite Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation, (77-78)
- Bryant B, Gray J and Mernik M Domain-specific software engineering Proceedings of the FSE/SDP workshop on Future of software engineering research, (65-68)
- Mercadal J, Enard Q, Consel C and Loriant N (2010). A domain-specific approach to architecturing error handling in pervasive computing, ACM SIGPLAN Notices, 45:10, (47-61), Online publication date: 17-Oct-2010.
- Mercadal J, Enard Q, Consel C and Loriant N A domain-specific approach to architecturing error handling in pervasive computing Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (47-61)
- Bagheri H and Sullivan K Monarch Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (376-390)
- Shakhimardanov A, Hochgeschwender N and Kraetzschmar G Component models in robotics software Proceedings of the 10th Performance Metrics for Intelligent Systems Workshop, (82-87)
- Tajalli H, Garcia J, Edwards G and Medvidovic N PLASMA Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, (467-476)
- Woollard D, Mattmann C, Popescu D and Medvidovic N Kadre Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, (325-328)
- Bagheri H, Song Y and Sullivan K Architectural style as an independent variable Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, (159-162)
- Di Ruscio D, Malavolta I, Muccini H, Pelliccione P and Pierantonio A ByADL Proceedings of the 4th European conference on Software architecture, (527-531)
- Lopez-Herrejon R On the need of safe software product line architectures Proceedings of the 4th European conference on Software architecture, (493-496)
- Zhang H, Urtado C and Vauttier S Architecture-centric component-based development needs a three-level ADL Proceedings of the 4th European conference on Software architecture, (295-310)
- Cataldo M and Herbsleb J Architecting in software ecosystems Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, (65-72)
- Malavolta I A model-driven approach for managing software architectures with multiple evolving concerns Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, (4-8)
- Romero D, Hermosillo G, Taherkordi A, Nzekwa R, Rouvoy R and Eliassen F RESTful integration of heterogeneous devices in pervasive environments Proceedings of the 10th IFIP WG 6.1 international conference on Distributed Applications and Interoperable Systems, (1-14)
- Nowak M, Pautasso C and Zimmermann O Architectural decision modeling with reuse Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge, (13-20)
- Popescu D Helios Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (531-532)
- Malavolta I Providing support for creating next generation software architecture languages Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (517-518)
- Medvidovic N and Taylor R Software architecture Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (471-472)
- Popescu D Impact analysis for event-based components and systems Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (401-404)
- Bortis G Informal software design knowledge reuse Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (385-388)
- Bang J, Popescu D, Edwards G, Medvidovic N, Kulkarni N, Rama G and Padmanabhuni S CoDesign Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (243-246)
- Asuncion H, Asuncion A and Taylor R Software traceability with topic modeling Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, (95-104)
- Di Ruscio D, Malavolta I, Muccini H, Pelliccione P and Pierantonio A Developing next generation ADLs through MDE techniques Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, (85-94)
- Weinreich R and Buchgeher G Paving the road for formally defined architecture description in software development Proceedings of the 2010 ACM Symposium on Applied Computing, (2337-2343)
- Costa-Soria C and Heckel R Modelling the asynchronous dynamic evolution of architectural types Proceedings of the First international conference on Self-organizing architectures, (198-229)
- Oreizy P, Medvidovic N and Taylor R Runtime software adaptation Companion of the 30th international conference on Software engineering, (899-910)
- Taylor R and van der Hoek A Software Design and Architecture The once and future focus of software engineering 2007 Future of Software Engineering, (226-243)
Index Terms
- Software Architecture: Foundations, Theory, and Practice
Recommendations
Software architecture: foundations, theory, and practice
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2Software architecture has become a centerpiece subject for software engineers, both researchers and practitioners alike. At the heart of every software system is its software architecture, i.e., "the set of principal design decisions about the system". ...