server interaction in internet distributed scenarios requires
the definition of middleware infrastructure that provides some level of intel-
ligence in service mediation. This document describes an approach that
builds on client and service profiles and that enables automated negotiation
of service execution contracts.
Focus: this case study exemplifies the development of a reusable nego-
tiation framework and its integration with a distributed framework.
OO techniques: no new technique.
Java features: no new feature.
Used knowledge: the negotiation framework builds on the MMI framework
developed in the previous chapter.
The internet is, simply stated, the technical infrastructure that supports the
matching process between problems and solutions: the assignment of avail-
able business solutions to problems can be viewed as a many-to-many
mapping of services to requests that changes over time. Typical internet
services are hotel reservations, book purchasing, etc. Service customization
is a key factor for this matching process: users express preferences for
service characteristics (e.g. room position) that must comply with provider's
constraints (e.g. availability, cost).
This case study describes a service negotiation framework that provides
some level of intelligence in service configuration. It enables automated
negotiation of service execution contracts between service providers and
service customers (Huhns and Malhotra 1999). The framework is built
around the concept of agent (Brugali and Sycara 1999), which operates
either on behalf of the customer, taking into account its preferences, or on
behalf of the provider, taking into account its constraints. Agents employ
multi-criteria decision mechanisms (Triantaphyllou and Shu 2001) for
constraint specification and evaluation. The framework
extends the multi-modal interaction framework presented in Chapter 19.
The framework is service independent and must be customized for each
specific service provisioning system. In this case study it is used to develop
a reservation system for workstations in a computer laboratory.