Software Architecture Overview


Software architecture is the principled study of software components, including their properties, relationships, and patterns of combination. In the last decade, several formal Architecture Description Languages (ADLs) have been created. These early life cycle, formal system descriptions provide a means for uncovering ambiguous and missing requirements in a system specification. Other benefits to be realized from the early formal description of systems are testing and analysis of the correctness and performance of the system. The benefits of having a high-level description of a system continue throughout its life cycle, for instance, in the areas of software understanding, configuration management, regression testing, and software deployment. For the most part, these benefits have yet to be realized and offer many challenges for software engineering researchers. We, at SERL, are currently interested in the exploring the areas of high-level testing and analysis as well as the relationship between software architecture, configuration management, and software deployment.

Projects

     Aladdin A tool for architecture-level dependence analysis of software systems
     Analysis & Testing A formal architecture-based approach to software integration testing
     Ménage Using versioned software architecture to support configuration management and software deployment


SERL Home ©1998 Software Engineering Research Laboratory (SERL)
Last updated: 09-21-98