Font Size: a A A

Architecture-based specification-time software evolution

Posted on:2000-10-24Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Medvidovic, NenadFull Text:PDF
GTID:1468390014462112Subject:Computer Science
Abstract/Summary:
Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architectures have the potential to substantially improve the development and evolution of large, complex, multi-lingual, multi-platform, long-running systems. In order to achieve this potential, specific architecture-based modeling, analysis, and evolution techniques must be provided. To date, software architecture research has produced an abundance of techniques for architecture modeling and analysis, while largely neglecting architecture-based evolution.; This dissertation motivates, presents, and validates a methodology for software evolution at architecture specification-time. The methodology consists of a collection of techniques that, individually and in concert, support flexible, systematic evolution of software architectures in a manner that preserves the desired architectural relationships and properties. The methodology is comprehensive in its scope: it addresses the evolution of individual architectural building blocks—components and connectors—as well as entire architectures; it also supports the transfer of (evolved) architecture-level decisions into implemented systems. The unique aspects of the methodology are: component evolution via heterogeneous subtyping, well suited to a wide range of design and reuse circumstances; connector evolution , facilitated by evolvable interfaces and heterogeneous communication protocols; architecture evolution, facilitated by minimal component interdependencies and heterogeneous, flexible connectors; analysis of architectures for consistency, where the architect possesses the authority to override the analysis tool; off-the-shelf component and connector reuse, necessary for economic viability in large-scale software development; and implementation generation, aided by a well-bounded implementation space and accomplished via a component-based, evolvable environment.; The dissertation is validated empirically, by constructing a series of demonstration applications, and analytically, by evaluating the manner and degree to which the applications validate the claims of the dissertation. The dissertation is concluded by examining its impact on the tension between flexibility and formality, which characterizes current software architecture research.
Keywords/Search Tags:Software, Architecture, Evolution, Dissertation
Related items