Skip to main content

PANDArch: A Pluggable Automated Non-intrusive Dynamic Architecture Conformance Checker

  • Conference paper

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

Abstract

The software architecture of a system is often used to guide and constrain its implementation. While the code structure of an initial implementation is likely to conform to its intended architecture, its dynamic properties cannot be fully checked until deployment. Routine maintenance and changing requirements can also lead to a deployed system deviating from this architecture over time. Both static and dynamic checks are thus required to ensure that an implementation conforms to its prescriptive architecture throughout its lifespan. However, runtime conformance checking strategies typically alter the implementation of an application, increasing its size and affecting its performance and maintainability. In this paper, we describe the design of a novel dynamic conformance-checking framework that is pluggable and non-intrusive, thereby limiting any overheads to those periods when checking is activated. An implementation of this framework with Java as the target language and its early evaluation are also presented.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering, pp. 187–197. ACM (2002)

    Google Scholar 

  2. Apache Software Foundation: Apache Jackrabbit (2010), http://jackrabbit.apache.org/ (accessed April 2013)

  3. Apache Software Foundation: Jackrabbit Architecture (2010), http://jackrabbit.apache.org/jackrabbit-architecture.html (accessed April 2013)

  4. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley (2003)

    Google Scholar 

  5. Duszynski, S., Knodel, J., Lindvall, M.: SAVE: Software architecture visualization and evaluation. In: Proceedings of the 13th European Conference on Software Maintenance and Reengineering, pp. 323–324. IEEE (2009)

    Google Scholar 

  6. Ganesan, D., Keuler, T., Nishimura, Y.: Architecture compliance checking at run-time. Information and Software Technology 51(11), 1586–1600 (2009)

    Article  Google Scholar 

  7. Morrison, R., Kirby, G., Balasubramaniam, D., Mickan, K., Oquendo, F., Cimpan, S., Warboys, B., Snowdon, B., Greenwood, R.M.: Support for evolving software architectures in the ArchWare ADL. In: Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture, pp. 69–78. IEEE (2004)

    Google Scholar 

  8. Oracle: Package java.lang.instrument (2013), http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html (accessed April 2013)

  9. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  10. Popescu, D., Medvidovic, N.: Ensuring architectural conformance in message–based systems. In: Proceedings of the Workshop on Architecting Dependable Systems (2008)

    Google Scholar 

  11. Schmerl, B., Garlan, D., Yan, H.: Dynamically discovering architectures with DiscoTect. In: Proceedings of the 13th ACM International Symposium on Foundations Software Engineering, pp. 103–106. ACM (2005)

    Google Scholar 

  12. de Silva, L., Balasubramaniam, D.: A model for specifying rationale using an architecture description language. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 319–327. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  13. de Silva, L., Balasubramaniam, D.: Controlling software architecture erosion: A survey. Journal of Systems and Software 85(1), 132–151 (2012)

    Article  Google Scholar 

  14. van Gurp, J., Bosch, J.: Design erosion: problems and causes. Journal of Systems and Software 61(2), 105–119 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

de Silva, L., Balasubramaniam, D. (2013). PANDArch: A Pluggable Automated Non-intrusive Dynamic Architecture Conformance Checker. In: Drira, K. (eds) Software Architecture. ECSA 2013. Lecture Notes in Computer Science, vol 7957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39031-9_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39031-9_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39030-2

  • Online ISBN: 978-3-642-39031-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics