CSD Home | Faculty By Interest | Faculty by Projects | Research Home

 

 

Adamchik
Ailamaki
Aldrich
Andersen
Bar
Blelloch
Blum, A.
Blum, L.
Blum, M.
Brookes
Bryant
Cagan
Carbonell
Christel
Clarke
Corbett
Cranor
Crary
Datta
Dannenberg
Durand
Efros
Erdmann
Fahlman
Faloutsos
Falsafi
Fink
Ganger
Garlan
Gao
Goldstein
Guestrin
Gunawardena
Gupta
Harchol-Balter
Harper
Hauptmann
Hodgins

Hoe
Hudson
James
John
Kanade
Lafferty
Lee, P.
Lee, T.
Lewicki
Maggs

Mason
Maxion
Miller
Mitchell
Moore
Morris
Mowry
Myers
Ng
O'Donnell
O'Hallaron
Olston
Pausch
Perrig
Pfenning
Pollard
Reddy
Reiter
Reynolds
Rosenfeld
Rudich
Rudnicky
Sandholm
Satyanarayanan
Scherlis
Schmerl
Seshan
Sharygina
Shaw
Siewiorek
Simmons
Sleator
Smith
Song
Statman
Steenkiste
Stern
Touretzky
Veloso
Von Ahn
Wactlar
Waibel
Wing
Xing
Yang
Zhang
 

MARY SHAW
Alan J. Perlis Professor, Institute for Software Research International and Computer Science
www

 

Software now accounts for the lion's share of the cost of developing andusing computer systems. My long-term goal is to establish a genuineengineering discipline to support the design and development of softwaresystems. Currently I'm working on design methods and analytic techniques forbuilding complete software systems out of subsystems and their constituentmodules. This is the software architecture level of design.  I amparticularly interested in value-based techniques for making good designchoices early in the design processMy current research investigates two aspects of architectural design forsoftware.

Value-Driven Software Design. Current software design concepts largelyoverlook a simple but fundamental idea: the goal of software design decisionmaking is to create the maximum value added for any given investment ofvaluable resources. Businesses value profit, but also opportunities, as seenin valuations of profitless Internet companies. Philanthropic foundationsvalue solutions to social problems. Universities value creation anddissemination of knowledge. End users value hassle-free access toinformation and a sense of control over their applications.

Software design decisions today are made in an economics-independentFlatland, where concerns for technical properties dominate. Past work onsoftware economics is relevant but it focuses on cost minimization, ratherthan value maximization. This research pursues scientific foundations forsoftware design decision-making approaches that are explicitly tied tovalue-maximization objectives. It explicitly balances costs and benefits asseen by particular stakeholders, and it emphasizes models, methods and toolsthat can be applied early in the design process, before code is availablefor analysis.

Open Resource Coalitions. Widespread use of the Internet is enabling afundamentally new approach to software development: computing throughdynamically formed, task-specific, coalitions of distributed autonomousresources. The resources may be information, calculation, communication,control, or services. Unlike traditional software systems, which are atleast nominally under control of the designer, these coalitions are formedfrom autonomous network-based resources, and the developer lacks directcontrol over the incorporated resources. These autonomous resources areindependently created and managed. The resources may be transient, eitherbecause of the resource proprietors actions or because of serviceinterruptions; indeed, the proprietor of a resource may be unaware of theways the resource is used. Development tools for resource coalitions willrequire new degrees of autonomy and automation in order to identify,compose, and track the resources. Computing through resource coalitions willthus create novel architectural challenges and opportunities.

Achieving useful results from such resources requires a new level ofopenness in the sense that responsibility for individual resources isdistributed much more widely than responsibility for the results. Theaggregations of resources are better treated as coalitions than as systems,because individual resources are operated under their own policies, and itmay be necessary to reconstitute the coalition when the selection ofavailable resources changes.

This style of software creation is of particular significance for everydayusers who roll their own individually tailored applications from availableresources.


 

      CSD Home   Webteam  ^ Top   SCS Home