Information hiding is thought to be a good thing. The Amoeba method applies information hiding to systems that cross business boundaries, so that developers can ignore the internal processes of the businesses as they develop and evolve requirements.
Software engineers describe sequences of messages between objects and add preconditions and postconditions to define their meaning. In Amoeba, these conditions become business commitments that are created and manipulated as the result of sending and receiving messages. For example, a commitment “CC(Vendor, Buyer, pay(price), give(goods))” is created by a “quote(price, goods)” message sent from “Vendor” to “Buyer.” Other messages manipulate commitments. Commitments provide the semantics of the messages. They are used to avoid business process modeling.
The method is not just choreography or orchestration--Amoeba is more general than the language/action perspective. It allows a wider variety of conversations, has commitments, and has an iterative process. It is more specific than Jackson’s problem frames. It has minimal notation--extended unified modeling language (UML) sequence diagrams--and formalism. While this is good, commitments may need a logic that can handle timing. Amoeba needs to show evidence that it can be used in practice. This lengthy paper reports on two detailed case studies that show that Amoeba can handle realistic systems. Is Amoeba ready for use? What we need next is evidence of experience with real developers and stakeholders, plus the development of tools.