Maintaining architectural conformance during software development: a practical approach

  • Authors:
  • Claire Dimech;Dharini Balasubramaniam

  • Affiliations:
  • School of Computer Science, University of St Andrews, St Andrews, UK;School of Computer Science, University of St Andrews, St Andrews, UK

  • Venue:
  • ECSA'13 Proceedings of the 7th European conference on Software Architecture
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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.