Software Architecture
This course introduces students to the concepts, principles, and state-of-the-art methods in software architectures, including domain-specific software architectures, architectural styles, architecture description languages, their properties and the types of problems for which they are most appropriate, and architecture-based testing and analysis. The course will also examine the practical applicability of architecture research, specifically its relationship to work in architectural frameworks and component interoperability platforms.