kirancodes.me
To Proof Maintenance & Beyond!

ArchJava: connecting software architecture to implementation

Jonathan Aldrich, Craig Chambers, David Notkin

Abstract

Software architecture describes the structure of a system, enabling more effective design, program understanding, and formal analysis. However, existing approaches decouple implementation code from architecture, allowing inconsistencies, causing confusion, violating architectural properties, and inhibiting software evolution. ArchJava is an extension to Java that seamlessly unifies software architecture with implementation, ensuring that the implementation conforms to architectural constraints. A case study applying ArchJava to a circuit-design application suggests that ArchJava can express architectural structure effectively within an implementation, and that it can aid in program understanding and software evolution.

BibTeX
@inproceedings{Aldrich-al:ICSE02,
  author    = {Jonathan Aldrich and
               Craig Chambers and
               David Notkin},
  title     = {{ArchJava:} connecting software architecture to implementation},
  booktitle = {ICSE},
  pages     = {187--197},
  publisher = {{ACM}},
  year      = {2002},
}

Related papers