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.
%0 Conference Paper
%1 ArchJava
%A Aldrich, Jonathan
%A Chambers, Craig
%A Notkin, David
%B ICSE '02: Proceedings of the 24th International Conference on Software Engineering
%C New York, NY, USA
%D 2002
%I ACM
%K ArchitectureLanguage Me:MastersThesis Me:Printed Me:ToRead
%P 187--197
%R http://doi.acm.org/10.1145/581339.581365
%T ArchJava: connecting software architecture to implementation
%U http://archjava.fluid.cs.cmu.edu/papers/icse02.pdf
%X 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.
%@ 1-58113-472-X
@inproceedings{ArchJava,
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.},
added-at = {2008-08-18T21:57:59.000+0200},
address = {New York, NY, USA},
author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David},
biburl = {https://www.bibsonomy.org/bibtex/2489c3f7bedb254a41cdee28bff3fec30/gron},
booktitle = {ICSE '02: Proceedings of the 24th International Conference on Software Engineering},
description = {ArchJava},
doi = {http://doi.acm.org/10.1145/581339.581365},
interhash = {db87518ebf6130d4d093166ddbc140f9},
intrahash = {489c3f7bedb254a41cdee28bff3fec30},
isbn = {1-58113-472-X},
keywords = {ArchitectureLanguage Me:MastersThesis Me:Printed Me:ToRead},
location = {Orlando, Florida},
pages = {187--197},
publisher = {ACM},
timestamp = {2008-09-22T20:18:00.000+0200},
title = {ArchJava: connecting software architecture to implementation},
url = {http://archjava.fluid.cs.cmu.edu/papers/icse02.pdf},
year = 2002
}