Robert T. Monroe

Rapid Development of Custom Software Architecture Design Environments Degree Type: Ph.D. in Computer Science
Advisor(s): David Garlan
Graduated: August 1999

Abstract:

Software architecture provides a powerful way to manage the complexity of large software systems. It has emerged as a distinct form of abstraction for software systems with its own set of design issues, vocabulary, and goals. Like designers in other disciplines, software architects can gain significant leverage by using powerful and appropriate design environments and tools. The cost and difficulty of creating these powerful design tools, however, prohibit their use for many software development projects. One of the primary reasons for the difficulty and cost of building these tools is that tool developers generally need to build a significant amount of supporting infrastructure before they can make use of the important architectural design expertise that the tools encapsulate. This infrastructure includes both the concepts underlying the tools' functionality and the implementation of the tools themselves.

This dissertation describes a new approach to capturing and using architectural design expertise in software architecture design environments. A language and tools are presented for capturing and encapsulating software architecture design expertise within a conceptual framework of architectural styles and design rules. The design expertise thus captured is supported with an incrementally configurable software architecture design environment that specialized design environment builders and end-users can easily and quickly customize by specifying the architectural styles and design rules that the environment needs to support.

Thesis Committee:
David Garlan (Chair)
Mary Shaw
Steve Cross
David Notkin (University of Washington)

James Morris, Head, Computer Science Department
Raj Reddy Dean, School of Computer Science

Keywords:
Software architecture, software design, software design tools, software architecture design environments, architecture description languages, configurable software, rapid software development

CMU-CS-99-161.pdf (1.13 MB) ( 217 pages)
Copyright Notice