Skip to main content
eScholarship
Open Access Publications from the University of California

UC San Diego

UC San Diego Electronic Theses and Dissertations bannerUC San Diego

Policy driven development : SOA evolvability through late binding

Abstract

Software maintenance is a significant cost driver in the value proposition of large scale software systems such as cyberinfrastructures (CIs) - it is often the longest and most expensive phase of software production. Because software maintenance and delivery cycles are often long and risky, stakeholder requirements are often not realized in timeframes meaningful to stakeholders. Such delays impair software system value due to lost opportunities, costs exceeding benefits, and stakeholder disenfranchisement. As a solution, my dissertation proposes a new methodology called Policy Driven Design (PDD), which enables the composition of stakeholder requirements onto an unprepared application at runtime. PDD models an application as a collection of base workflows that implement stakeholder requirements. It defines a policy as a decision that chooses amongst alternative workflows - stakeholder requirements can be expressed and realized as policies injected into a base workflow. An important source of delays under existing methodologies is early binding, which occurs when requirements (as policies) are integrated into applications during design and coding phases, often causing entanglement and scattering at both abstract and coding levels, and resulting in delays and mis- implementations. PDD introduces late binding as the injection of requirements (as policies) into running systems without incurring traditional development risks and delays. PDD policies are expressed using Domain Specific Languages tailored to requirement domains, thereby enabling stakeholders to participate directly in defining, vetting, and evolving policies. To demonstrate and evaluate PDD, I designed and implemented a successful real world cyberinfrastructure (PALMS-CI) using PDD principles. PALMS' late binding demonstrated policy injection with acceptable overhead in common cases. Its workflow support proved effective in significantly reducing entanglement and scattering, and its DSL support demonstrated stakeholder enfranchisement resulting in quick and accurate requirement realization. PDD leverages Aspect Oriented Software Design (AOSD) and Service Oriented Architecture (SOA) principles, and contributes : * a SOA foundation for policy definition and injection, * a family of policy languages that enable programmer/ stakeholder collaboration, * a working cyberinfrastructure that realizes PDD and serves as a platform for future development. Given the intensifying contradiction between greater system complexity, increasing stakeholder demands, and shorter delivery timeframes, PDD uncovers a low cost route to high value

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View