Information Technology Reference
In-Depth Information
Traditionally, interoperability among services has been captured in terms of whether
agents can send and receive messages in a compatible manner—for example, in
terms of (the absence of) deadlocks. Such formalizations of interoperability are
useful, but work at a lower level than commitments. Two agents may be aligned
commitment-wise, but deadlocked because they are both waiting for the other to
act. Conversely, agents may be live , but misaligned.
Alignment motivates a middleware that maintains and monitors commitments,
and transparently takes necessary actions to maintain alignment [ 8] . For example,
the middleware would transparently notify the debtors when an event occurs that
detaches a commitment; otherwise, in a distributed system where different agents
have likely observed different events, agents could get easily misaligned. Compare
this to what traditional middleware, for example, reliable message queues, do. They
send acknowledgments, store messages until they are consumed, maintain message
order, and so on, in other words, do the bookkeeping to maintain interoperabil-
ity. A commitment-oriented middleware would do the bookkeeping at a high level,
relegating messages queues to a lower level.
The middleware would ideally be able to monitor goals and commitments, rea-
son about compliance and interoperability, and support adaptations. In essence, the
middleware would encode a business semantics and form a common substrate for
all kinds of business applications. The middleware would offer a new programming
model: it will support writing services directly in terms of goals and commitments,
and will alleviate greatly the burden of writing agents.
3 From Goals to Commitments
Let us begin by summarizing the above discussion about commitments.
Commitments abstract over data and control flow.
Commitments are a social abstraction—being grounded in interaction, they
encode publicly verifiable relationships among agents.
Commitments support a notion of compliance that enables an agent to act flexibly.
Protocols, and thus systems, may be specified as the commitments that may arise
among the agents participating in the system.
Commitments may be supported in middleware: this includes monitoring and
reasoning for the purposes of compliance and interoperability.
The parallel with the notion of goals as studied in RE may already be obvious.
Goals abstract over data and control flow specifications.
Goals represent the particular states of the world an agent wants to achieve.
Goals are also used in reasoning about flexibility and adaptability, especially in
terms of the variants supported by a goal model.
 
Search WWH ::




Custom Search