Means for realizing interactions
In software engineering interactions are often considered in the sense of a simple request/reply pattern, which is able to adequately describe the common case of action execution or information retrieval. Besides this simple scheme there are also many real world scenarios in which more elaborated interactions are necessary. These interactions comprise e.g. different types of auctions and other negotiation schemes that may be multi-party and multi-stepped so that reaching agreement is a difficult task. One well-known technique for modeling and implementing interactions are interaction protocols, which exactly define the allowed message sequences in a conversation. Despite many advantages such as automatic execution using interpreter or generator approaches, protocol based interactions also have deficiencies with respect to interaction flexibility and also implementation efforts. In the area of multi-agent systems several approaches have been developed to overcome these limitations. One mechanism is based on interaction goals allowing a developer to think only in terms of the interaction domain objectives she wants to achieve so that no messages have to be handled directly. For goal achievement behind the scenes predefined protocols are executed. Another interesting approach relies on commitments, which highlight the available interaction related actions of the entities participating in a conversation. This relieves a developer from thinking in terms of messages and shifts the focus towards the underlying communication intentions and obligations of the participants. In this way the allowed message sequences is implicitly gained from specified commitments and actions so that protocols become more flexible.
Full Text: PDF