Skip to main content

Maintaining Architectural Conformance during Software Development: A Practical Approach

  • Conference paper
Software Architecture (ECSA 2013)

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

Included in the following conference series:

Abstract

Software architecture provides a high-level design that serves as the basis for system implementation and communication among stakeholders. However, changes in requirements and lack of conformance checks during development can cause the implemented architecture to deviate from the intended one. Such architecture degradation can cause rapid software aging and high maintenance costs. Conformance checking to detect inconsistencies between a model and its corresponding implementation is one of the strategies used to minimise architecture degradation. Existing conformance checking tools often require formal architecture specifications, which are not usually available outwith academic settings, or manual intervention in the process, which affects their viability. This paper describes an automated approach that uses mappings between architecture models in UML and corresponding implementations in Java to check conformance. These notations have been chosen for their adoption in industry. A customisable tool called Card, which implements this approach, is also introduced and evaluated.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes 17, 40–52 (1992)

    Article  Google Scholar 

  2. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice, 1st edn. Wiley (2009)

    Google Scholar 

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

    Article  Google Scholar 

  4. Parnas, D.L.: Software aging. In: Proceedings of the 16th International Conference on Software Engineering, ICSE 1994, pp. 279–287. IEEE Computer Society Press, Los Alamitos (1994)

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  6. Tsiolakis, A.: Consistency Analysis of UML Class and Sequence Diagrams based on Attributed Typed Graphs and their Transformation. In: ETAPS 2000 Workshop on Graph Transformation Systems, pp. 77–86 (2000)

    Google Scholar 

  7. Dimech, C.: CARD: Controlling Architectural Degradation in Real-life Applications. Master’s thesis, University of St Andrews, Scotland, UK (2012)

    Google Scholar 

  8. Eclipse: Eclipse Java Development Tools (JDT) Overview, www.eclipse.org/jdt

  9. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2009)

    Google Scholar 

  10. OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2. Technical report (2007)

    Google Scholar 

  11. Bell, D.: UML basics: The Sequence Diagram (2004), http://www.ibm.com/developerworks/rational/library/3101.html

  12. Friesen, J., Friesen, G.: Java 2 by Example. By Example Series. Que (2002)

    Google Scholar 

  13. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting Software Architecture to Implementation, pp. 187–197. ACM Press (2002)

    Google Scholar 

  14. Yan, H., Garlan, D., Schmerl, B., Aldrich, J., Kazman, R.: DiscoTect: A System for Discovering Architectures from Running Systems. In: Proc. Int’l Conf. Software Engineering (ICSE), Edinburgh, Scotland (2006)

    Google Scholar 

  15. Cheng, S.W., Huang, A.C., Garlan, D., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37, 46–54 (2004)

    Article  Google Scholar 

  16. Magicdraw open api user guide, http://www.nomagic.com/files/manuals/MagicDraw%20OpenAPI%20UserGuide.pdf

  17. IBM: Rational rose, http://www-01.ibm.com/software/awdtools/developer/rose

  18. Knodel, J., Popescu, D.: A Comparison of Static Architecture Compliance Checking Approaches. In: Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture, WICSA 2007, pp. 12–21. IEEE Computer Society, Washington, DC (2007)

    Chapter  Google Scholar 

  19. Bunyakiati, P., Finkelstein, A.: The Compliance Testing of Software Tools with Respect to the UML Standards Specification - The ArgoUML Case Study. In: Dranidis, D., Masticola, S.P., Strooper, P.A. (eds.) AST, pp. 138–143. IEEE (2009)

    Google Scholar 

  20. Boerman, R.: On Software Architecture Conformance in the Context of Evolving Systems. Master’s thesis, Department of Software Engineering, The Faculty of Electrical Engineering, Mathematics and Computer Science Delft University of Technology (2004)

    Google Scholar 

  21. Nentwich, C., Capra, L., Emmerich, W., Finkelstein, A.: xlinkit: A Consistency Checking and Smart Link Generation Service. ACM Trans. Internet Technol. 2, 151–185 (2002)

    Article  Google Scholar 

  22. Abi-Antoun, M., Aldrich, J.: Checking and Measuring the Architectural Structural Conformance of Object-Oriented Systems. Technical Report CMU-ISRI-07-119, Carnegie Mellon University, Pittsburgh, PA 15213 (2007)

    Google Scholar 

  23. Herold, S.: Checking architectural compliance in component-based systems. In: Proceedings of the 2010 ACM Symposium on Applied Computing, SAC 2010, pp. 2244–2251. ACM, New York (2010)

    Google Scholar 

  24. Cleland-Huang, J., Chang, C.K., Christensen, M.: Event-Based Traceability for Managing Evolutionary Change. IEEE Trans. Softw. Eng. 29, 796–810 (2003)

    Article  Google Scholar 

  25. Chedgey, C., Hickey, P., O’Reilly, P.: Structure 101, http://www.headwaysoftware.com/index.php

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

Dimech, C., Balasubramaniam, D. (2013). Maintaining Architectural Conformance during Software Development: A Practical Approach. 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_19

Download citation

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

  • 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