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.
Описание
The authors describe an extension to the Java language in which the property of communication integrity is enforced within the language. The others explain the main ideas of components and ports and how the components can be composed. Some limitations are discussed after which a case study is presented. The authors conclude that using ArchJava in every stage of the software life cycle ensures that the implementation conforms to the specified architecture.
%0 Conference Paper
%1 Aldrich2002
%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 architecture caseStudy implementation
%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{Aldrich2002,
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 = {2009-01-14T21:45:27.000+0100},
address = {New York, NY, USA},
author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David},
biburl = {https://www.bibsonomy.org/bibtex/2489c3f7bedb254a41cdee28bff3fec30/ericbouwers},
booktitle = {ICSE '02: Proceedings of the 24th International Conference on Software Engineering},
description = {The authors describe an extension to the Java language in which the property of communication integrity is enforced within the language. The others explain the main ideas of components and ports and how the components can be composed. Some limitations are discussed after which a case study is presented. The authors conclude that using ArchJava in every stage of the software life cycle ensures that the implementation conforms to the specified architecture.},
doi = {http://doi.acm.org/10.1145/581339.581365},
interhash = {db87518ebf6130d4d093166ddbc140f9},
intrahash = {489c3f7bedb254a41cdee28bff3fec30},
isbn = {1-58113-472-X},
keywords = {ArchitectureLanguage architecture caseStudy implementation},
location = {Orlando, Florida},
pages = {187--197},
publisher = {ACM},
timestamp = {2009-04-21T13:13:59.000+0200},
title = {ArchJava: connecting software architecture to implementation},
url = {http://archjava.fluid.cs.cmu.edu/papers/icse02.pdf},
year = 2002
}