During the last two past decades, software architecture has been a rising subject of software engineering. Since, researchers and practitioners have recognized that analyzing the architecture of a software system is an important part of the software development process. Architectural evaluation not only reduces software development efforts and costs but it also enhances the quality of the software by verifying the addressability of quality requirements and identifying potential risks. To this aim, several approaches have been recently proposed to analyze system non-functional attributes from its software architecture specification. In this paper, we propose an ADL based formal method for representing and reasoning about system nonfunctional attributes at the architectural level. We are especially interested in analyzing performance and reliability quality attributes. We also propose to analyze the sensitivity of the system by identifying components that have the greatest impact on the system quality. The automation of our model was followed by a series of experiments that allowed us to validate our inductive reasoning to prove the capabilities of our model to represent and analyze software architectures.