DocumentCode
3086469
Title
Using Types to Enforce Architectural Structure
Author
Aldrich, Jonathan
Author_Institution
Carnegie Mellon Univ., Pittsburgh
fYear
2008
fDate
18-21 Feb. 2008
Firstpage
211
Lastpage
220
Abstract
The right software architecture is critical to achieving essential quality attributes, but these qualities are only realized if the program as implemented conforms to its intended architecture. Previous techniques for enforcing architecture are either unsound or place significant limitations on either architectural design or on implementation techniques. This paper presents the first system to statically enforce complete structural conformance between a rich, dynamic architectural description and object-oriented implementation code. We extend previous work to (1) explain what full structural conformance means in an object-oriented setting, and (2) enforce architectural structure in the presence of shared data. We show that the resulting system can express and enforce important structural constraints of an architecture, while still supporting key object-oriented implementation techniques. As a result of our conformance property, developers can be assured that their intended architecture is realized in code, so the system will exhibit the desired quality attributes.
Keywords
object-oriented programming; software architecture; object-oriented implementation code; rich dynamic architectural description; shared data; software architecture; structural conformance; Buildings; Companies; Computer architecture; Computer languages; Connectors; Investments; Runtime; Security; Software architecture; Software design; communication integrity; conformance; ownership; programming language; software architecture; static analysis; type system; verification;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Architecture, 2008. WICSA 2008. Seventh Working IEEE/IFIP Conference on
Conference_Location
Vancouver, BC
Print_ISBN
978-0-7695-3092-5
Type
conf
DOI
10.1109/WICSA.2008.48
Filename
4459159
Link To Document