Skip to main content

Modelling and Verifying Smell-Free Architectures with the Archery Language

  • Conference paper
  • First Online:
Software Engineering and Formal Methods (SEFM 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8938))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Aberdour, M.: Achieving quality in open-source software. Softw. IEEE 24(1), 58–64 (2007)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Sanchez, A., Oliveira, N., Barbosa, L.S., Henriques, P.: A perspective on architectural re-engineering. Sci. Comput. Program. 98, 764–784 (2014)

    Article  Google Scholar 

  13. 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)

    Google Scholar 

  14. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Chichester (2009)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Alexandre Madeira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics