Conflicts of Interest: Approaches to Extensible System Design
Abstract
An extensible system permits multiple third-parties to add to, revise, or fundamentally alter the functionality provided by the base system. System extensibility is a spectrum: on one extreme is a completely hard-coded system with no extensions permitted; at the far extreme is a system that provides the barest minimum of hard-coded support and expects all functionality to be provided as extensions. As the capabilities of extensions grow, so too does the likelihood and severity of conflicts among extensions. Working with these systems thus requires a solid understanding of the extensibility model they provide: what exactly are extensions capable of doing, both to the underlying system and to each other, and what can go wrong when extensions interact?
Recently, a new extensible system has grown in importance: the web browser. Browser vendors have experimented with various extensibility mechanisms, but little systematic work has been done to understand the design space. In this report we examine several types of systems that prominently deal with extensibilityaspect-oriented programming, operating systems, feature specification, and security monitorsand explore the extensibility model taken by several illustrative papers in these areas. We develop a classification scheme for the extension design space and show that in each area the scope of extensibility can vary widely. Finally, we position the web browser in this design space, and show techniques from these systems may be adapted to the browser.
Links
- Full text:
- Presentation:
- Project page:
- available here
Contact
- Email (essential):
- (first initial + last name) {at} ccs.neu.edu
- Location (likely):
- West Village H, Office 326
- Post (possible):
-
Northeastern University
Khoury College of Computer Sciences
360 Huntington Ave, 2nd floor
Boston, MA 02115