Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The art of compiler design: theory and practice
The art of compiler design: theory and practice
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Software architecture in practice
Software architecture in practice
Linux as a case study: its extracted software architecture
Proceedings of the 21st international conference on Software engineering
Applied software architecture
Programming Perl
The 4+1 View Model of Architecture
IEEE Software
Architectural Repair of Open Source Software
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Growth, evolution, and structural change in open source software
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
IEEE Transactions on Software Engineering
Correlating Social Interactions to Release History during Software Evolution
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Post-development software architecture
ACM SIGSOFT Software Engineering Notes
Identifying and Improving Reusability Based on Coupling Patterns
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Software Engineering
Journal of Systems and Software
CScout: A refactoring browser for C
Science of Computer Programming
An empirical study of build maintenance effort
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 33rd International Conference on Software Engineering
Refining code ownership with synchronous changes
Empirical Software Engineering
The evolution of Java build systems
Empirical Software Engineering
Hi-index | 0.00 |
Research and practice in the application of software architecture has reaffirmed the need to consider software systems from several distinct points of view. Previous work suggests that four or five points of view may be sufficient: the logical view, the static code view, the process or concurrency view, the deployment or execution view, plus scenarios and use-cases. We have found that some classes of software systems exhibit interesting and complex build-time properties that are not explicitly addressed by previous models.In this paper, we present the idea of build-time architectural views. We explain what they are, how to represent them, and how they fit into traditional models of software architecture. We present three case studies of software systems with interesting build-time architectural views, and show how modeling their build-time architectures can improve developer understanding of what the system is and how it is created. Finally, we introduce a new architectural style, the "code robot" that is often present in systems with interesting build-time views.