Using types to enforce architectural structure

ResearchWorks/Manakin Repository

Search ResearchWorks

Advanced Search


My Account


Related Information

Using types to enforce architectural structure

Show full item record

Title: Using types to enforce architectural structure
Author: Aldrich, Jonathan
Abstract: Software architecture describes the high-level structure of a software system, and can be used for design, analysis, and software evolution tasks. However, existing tools decouple architecture from implementation, allowing inconsistencies to accumulate as a software system evolves. Because of the potential for inconsistency, engineers evolving a program cannot fully trust the architecture to accurately describe the properties or structure of the implementation.This dissertation explores a new approach: integrating architectural descriptions into an implementation language, and using a type system to ensure that the architectural structure is consistent with the code. The approach is embodied in the ArchJava language, which extends Java with features that document the software architecture and data sharing within a system. ArchJava's type system enforces communication integrity, the property that implementation components communicate only along connections declared in the architecture. ArchJava is flexible enough to describe architectures that may change at run time, and it supports many of the same coding styles and idioms that programmers use in Java. Several case studies applying ArchJava to existing programs of significant size provide preliminary evidence that ArchJava is practical and can aid software evolution tasks.
Description: Thesis (Ph. D.)--University of Washington, 2003

Files in this item

Files Size Format View
3102618.pdf 5.379Mb PDF View/Open

This item appears in the following Collection(s)

Show full item record