Font Size: a A A

Open architecture software: A flexible approach to decentralized software evolution

Posted on:2001-07-23Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Oreizy, PeymanFull Text:PDF
GTID:1468390014454768Subject:Computer Science
Abstract/Summary:
Customizing an existing off-the-shelf software package is an effective alternative to building one anew. Unfortunately, most software packages either lack provisions for customization by independent third-parties or support a predetermined class of customizations.;This dissertation advances the state-of-the-art in two areas. First, it presents a framework for understanding, evaluating, and comparing software customization techniques. Second, it proposes a new software customization technique, called open architecture software, that offers greater degrees of adaptability and consistency than previous techniques.;The comparison framework provides a practical and general-purpose technique for measuring the adaptability of decentralized software evolution techniques and is based on the concept of software open points, which, intuitively, represent the design decisions within a software package's implementation that third-parties can change. The framework is used to compare six popular techniques: application programming interfaces (APIs), software plugins, scripting languages, component architectures, event-architectures, and open-source software development.;Open-architecture software permits independent third-parties to change a software system by changing its architecture, i.e., the assemblage of its functional parts and their interrelationships. The essence of this technique lies in exposing this internal architecture, either in part or in full, as an explicit and malleable part of the package deployed to users. The architectural model doubles as a storehouse of semantic information that analysis tools can use to verify application invariants, and thereby offer certain assurances over third-party changes.;The claims of this dissertation are validated in two ways. First, a conceptual evaluation demonstrates that open architectures permit unprecedented changes in comparison to previous software customization techniques. Second, three case studies describe our experience using the open architecture approach. One case study uses the Mozilla Web browser, a large open-source software system comprising over 1.2 million source lines of code. Our experience demonstrates that a large, monolithic legacy system can be retrofitted with an open architecture, permitting third-parties to evolve the system in interesting and practical ways.
Keywords/Search Tags:Software, Open architecture, Third-parties, System
Related items