Computing Attributes of Software Architectures - A Static Method and Its Validation

Imen Derbel, Lamia Labed Jilani, Ali Mili

Abstract

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.

References

  1. (December 2005). Wr2fdr. http://www.cs.cmu.edu/~able/ wright/wr2fdr bin.tar.gz.
  2. Allen, R. and Garlan, D. (1996). A case study in architectural modeling: The aegis system. In In Proceedings of the 8th International Workshop on Software Specification and Design, pages 6-15.
  3. Aquilani, F., Balsamo, S., and Inverardi, P. (2001). Performance analysis at the software architectural design level. Perform. Eval., 45(2-3):147-178.
  4. Balsamo, S., Bernardo, M., and Simeoni, M. (2002). Combining stochastic process algebras and queueing networks for software architecture analysis. In Workshop on Software and Performance, pages 190-202.
  5. Bass, L., Clements, P., and Kazman, R. (1998). Software Architecture in Practice. Addison Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  6. Bosch, J. (1999). Design and use of industrial software architectures. In Proceedings of Technology of ObjectOriented Languages and Systems.
  7. Cheung, R. (1980). A user-oriented software reliability model. IEEE Trans. on Software Engineering, 6:118- 125.
  8. Denning, P. and Buzen, J. (1978). The operational analysis of queueing network models. ACM Computing Surveys, 10:225-261.
  9. Dobrica, L. and Niemelae, E. (2002). A survey on software architecture analysis methods. IEEE Transactions on Software Engineering, 28:638-653.
  10. Franco, J., Barbosa, R., and Rela, M. (2012). Automated reliability prediction from formal architectural descriptions. In WICSA/ECSA, pages 302-309.
  11. Giannakopoulou, D., Kramer, J., and Cheung, S. (1999). Behaviour analysis of distributed systems using the tracta approach. Journal of Automated Software Engineering, 6(1):7-35.
  12. Gokhale, S. S. (2007). Architecture-based software reliability analysis: Overview and limitations. IEEE Trans. Dependable Sec. Comput., 4(1):32-40.
  13. Goseva-Popstojanova, K. and Trivedi, K. (2001). Architecture-based approach to reliability assessment of software systems. Journal of Performance Evaluation, 45(2-3):179-204.
  14. Kompanek, A. (1998). Acmestudio user's manual.
  15. Krishnamurthy, S. and Mathur, A. P. (1997). On the estimation of reliability of a software system using reliabilities of its components. In Proceedings of the Eighth International Symposium on Software Reliability Engineering, ISSRE 7897, pages 146-155.
  16. Kwiatkowska, M., Norman, G., and Parker, D. (2009). Prism: Probabilistic model checking for performance and reliability analysis. ACM SIGMETRICS Performance Evaluation Review, 36(4):40-45.
  17. Medvidovic, N. and Taylor, R. (2000). A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 11(1):70-93.
  18. Shooman, M. (1976). Structural models for software reliability prediction. In Proceedings of the 2Nd International Conference on Software Engineering, ICSE 7876, pages 268-280.
  19. Spitznagel, B. and Garlan, D. (1998). Architecture-based performance analysis. In Proceedings of the 1998 Conference on Software Engineering and Knowledge Engineering, pages 146-151.
Download


Paper Citation


in Harvard Style

Derbel I., Labed Jilani L. and Mili A. (2015). Computing Attributes of Software Architectures - A Static Method and Its Validation . In Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-100-7, pages 55-66. DOI: 10.5220/0005347300550066


in Bibtex Style

@conference{enase15,
author={Imen Derbel and Lamia Labed Jilani and Ali Mili},
title={Computing Attributes of Software Architectures - A Static Method and Its Validation},
booktitle={Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2015},
pages={55-66},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005347300550066},
isbn={978-989-758-100-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Computing Attributes of Software Architectures - A Static Method and Its Validation
SN - 978-989-758-100-7
AU - Derbel I.
AU - Labed Jilani L.
AU - Mili A.
PY - 2015
SP - 55
EP - 66
DO - 10.5220/0005347300550066