Open software systems made up of independently developed components interacting using agreed-upon protocols represent one of the most promising approaches for supporting applications where organizations of all kinds, which often have not previously worked together, must be assembled and reconfigured within small time frames on the infrastructures at hand (e.g., coalition military forces, disaster recovery operations, supply chains, collaborative engineering projects, and electronic marketplaces). Ensuring that such systems are reliable is a challenge; the very openness that makes open systems attractive places them in a realm where the potential failure modes ('exceptions') and associated exception handling techniques are numerous and often far from obvious. Components may not operate correctly; they may lie to get an advantage, even act maliciously. We cannot view or manipulate their code or internal state. And since there is no one component 'in charge', we must be prepared to deal with emergent problems with non-local causes and effects. The problems are exacerbated by the wide range of possible open system interaction protocols, ranging from constraint satisfaction to markets to swarms, each with their own unique set of potential exceptions and relevant handlers. Unfortunately, existing techniques do little to help us design more reliable open systems; designers must rely on their experience and intuition to determine what exceptions apply to their particular system, and how those exceptions can best be addressed. In this project, the PI will tackle this gap by helping groups of collaborating software designers rapidly search through the vast space of possible open system designs for ones that they agree will be reliable and effective for their particular application. To do this, he will integrate and extend two powerful innovations that have not been applied in software engineering contexts heretofore. The first is a taxonomically organized knowledge base of open system coordination mechanisms, with each mechanism linked to its characteristic exceptions and each exception linked to its possible handlers. This knowledge base defines, by delineating a set of orthogonal design dimensions, a very large space of possible open system designs. The second innovation is a family of negotiation algorithms that help designers with diverse interests rapidly converge on pareto-optimal (win-win) design agreements in such large nonlinear design spaces. Very little work has been done to date on nonlinear negotiation (i.e., negotiation with interdependent issues), and this work has focused exclusively on "flat" design spaces (with a static set of predefined design dimensions). This project will push forward our understanding of how to find pareto-optimal solutions with taxonomically structured design spaces, a formalization that is potentially applicable to a wide range of important real-life product and process design challenges.

Broader Impacts: This work will help us design robust open systems more quickly and effectively, and will in particular help students and educators by providing a comprehensive and well-organized knowledge base of open system coordination and exception handling expertise. It will develop negotiation algorithms for complex contracts, a challenge relevant to domains ranging from defining electronic commerce to airplane design. The results will be broadly disseminated, via web-accessible software as well as traditional media.

Agency
National Science Foundation (NSF)
Institute
Division of Information and Intelligent Systems (IIS)
Type
Standard Grant (Standard)
Application #
0613819
Program Officer
Ephraim P. Glinert
Project Start
Project End
Budget Start
2006-07-15
Budget End
2008-06-30
Support Year
Fiscal Year
2006
Total Cost
$140,000
Indirect Cost
Name
Massachusetts Institute of Technology
Department
Type
DUNS #
City
Cambridge
State
MA
Country
United States
Zip Code
02139