A Negotiation Architecture for Cooperating Components Endeavor A Negotiation Architecture for Cooperating Components R. Wilensky
Problem Individual computing components currently require lots of manual configuration: OS, software installation Local data (solved by oceanic storage!) Configuration to access services Even now, with each of us having a small number of machines, (manual) configuration is a problem. State (software/data) is inconsistent across machines. Manual updating is time-consuming. Degrades poorly in the presence of failure/change. With several orders of magnitude more machines per individual, manual configuration will be completely infeasible.
Solution: Negotiation Architecture for Auto-Configuration Allow components to dynamically configure themselves by having components. specify the potential services they provide, the terms and conditions, and to whom disseminate the availability of these services specify the services they require, and their terms and conditions discover other objects that provide required services allow objects to enter into multi-phase negotiations of contracts, committing to provide services under terms and conditions provide compliance monitoring services of contracts provide means for dealing with non-performing confederates
What’s Out There Now Various pieces of object-oriented middleware systems CORBA Java and JavaBeans Lots of agent-negotiation work JINI NINJA service discovery service
What We Will Do Develop a language for specifying services, and their terms and conditions a protocol for negotiating contracts between objects infrastructural services, including discovery, service availability dissemination, and compliance monitoring services means to adapt to a non-performing service Emphasis on system architecture, and easy of use. E.g., standard, parameterized “boilerplate” contracts between components, with standard “compliance officers” Some related issues: Can we assure interesting adaptive properties?
How this relates to other work I am doing DLIB project has potential connections to other aspects of Endeavor. CONTROL, GiST MVD configurable client