Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
Pattern languages of program design
Pattern languages of program design
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
A framework for classifying and comparing architecture description languages
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Principles in formal specification of object oriented design and architecture
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
A Methodology for the Automated Introduction of Design Patterns
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Hi-index | 0.00 |
Progress in the science of programming is reflected by the evolution of programming languages. We propose that the next step in this evolution is a more comprehensive kind of programs: To redefine the way programs are perceived and, consequently, to redefine what constitutes the activity of programming. Rather than treating architectural specifications as separate, we argue that they need be treated as part of the program. Thus, a program is specified through two tightly integrated representations: 1. Intentional tier: A generic ("abstract") representation of design and architectural properties (constraints) of the program which, in conformance with the principle of least constraint [15], is phrased in generic terms. 2. Extensional tier: The second specification layer which consists of the traditional source code.As software evolves continuously, our approach stresses the relevance of the design and architectural specifications throughout the evolution of a program.