Abstract
Architectural (bad) smells are design decisions found in software architectures that degrade the ability of systems to evolve. This paper presents an approach to verify that a software architecture is smell-free using the Archery architectural description language. The language provides a core for modelling software architectures and an extension for specifying constraints. The approach consists in precisely specifying architectural smells as constraints, and then verifying that software architectures do not satisfy any of them. The constraint language is based on a propositional modal logic with recursion that includes: a converse operator for relations among architectural concepts, graded modalities for describing the cardinality in such relations, and nominals referencing architectural elements. Four architectural smells illustrate the approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aberdour, M.: Achieving quality in open-source software. Softw. IEEE 24(1), 58–64 (2007)
Barbosa, L.S., Henriquez, P.R., Sanchez, A.: Towards rigorous analysis of open source software. In: Proceedings of the 5th International Workshop on Harnessing Theories for Tool Support in Software, TTSS 2011, University of Oslo (2011)
Bonatti, P.A., Lutz, C., Murano, A., Vardi, M.Y.: The complexity of enriched \(\mu \)-calculi. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4052, pp. 540–551. Springer, Heidelberg (2006)
Bowman, I.T., Holt, R.C., Brewster, N.V.: Linux as a case study: its extracted software architecture. In: Proceedings of the 21st International Conference on Software Engineering, ICSE 1999, pp. 555–563. ACM, New York (1999)
Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Identifying architectural bad smells. In: Proceedings of the 2009 European Conference on Software Maintenance and Reengineering, CSMR 2009, pp. 255–258. IEEE Computer Society, Washington, DC (2009)
Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Toward a catalogue of architectural bad smells. In: Mirandola, R., Gorton, I., Hofmeister, C. (eds.) QoSA 2009. LNCS, vol. 5581, pp. 146–162. Springer, Heidelberg (2009)
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proceedings of the 22Nd International Conference on Software Engineering, ICSE 2000, pp. 178–187. ACM, New York (2000)
Sanchez, A., Barbosa, L.S., Riesco, D.: A language for behavioural modelling of architectural patterns. In: Proceedings of the Third Workshop on Behavioural Modelling, BM-FA 2011, pp. 17–24. ACM, New York (2011)
Sanchez, A., Barbosa, L.S., Riesco, D.: Bigraphical modelling of architectural patterns. In: Arbab, F., Ölveczky, P.C. (eds.) FACS 2011. LNCS, vol. 7253, pp. 313–330. Springer, Heidelberg (2012)
Sanchez, A., Barbosa, L.S., Riesco, D.: Verifying bigraphical models of architectural reconfigurations (short paper). In: Proceedings of the 7th International Symposium on Theoretical Aspects of Software Engineering, TASE 2013, Birmingham, UK. IEEE (2013)
Sanchez, A., Barbosa, L.S., Riesco, D.: Specifying structural constraints of architectural patterns in the ARCHERY language. In: Proceedings of the International Conference of Numerical Analysis and Applied Mathematics 2014 (ICNAAM 2014): Symposium on Computer Languages, Implementations and Tools (SCLIT). AIP Proceedings (2014, to appear)
Sanchez, A., Oliveira, N., Barbosa, L.S., Henriques, P.: A perspective on architectural re-engineering. Sci. Comput. Program. 98, 764–784 (2014)
Tatebe, O., Morita, Y., Matsuoka, S., Soda, N., Sekiguchi, S.: Grid datafarm architecture for petascale data intensive computing. In: 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid, May 2002, pp. 102–102 (2002)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Chichester (2009)
Acknowledgment
This work was funded by ERDF - European Regional Development Fund, through the COMPETE Programme, and by National Funds through FCT within project FCOMP-01-0124-FEDER-028923.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Sanchez, A., Barbosa, L.S., Madeira, A. (2015). Modelling and Verifying Smell-Free Architectures with the Archery Language. In: Canal, C., Idani, A. (eds) Software Engineering and Formal Methods. SEFM 2014. Lecture Notes in Computer Science(), vol 8938. Springer, Cham. https://doi.org/10.1007/978-3-319-15201-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-15201-1_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15200-4
Online ISBN: 978-3-319-15201-1
eBook Packages: Computer ScienceComputer Science (R0)