Use Cases --------- Karl Aberer & Michael Kifer The first involves very little process modeling, but heavier on advertising/contracting type of stuff. The second is much more involved on the process modeling side, and can be considered as a complex kind of a contract. 1. This simple service performs money transfers from Buyer's Bank to Seller's Bank through Broker. It involves two transfers: cost of good to Seller, then transaction fee to Broker. a. The process modeling part of this service is trivial in Transaction Logic: transfer(Amount,Account1,Account2) :- withdraw(Amount,Account1), deposit(Amount,Account2). withdraw(Amount,Account):- balance(Account,Balance), Balance >= Amount, % Precondition change_balance(Account,Balance,Balance-Amount). deposit(Amount,Account) :- balance(Account,Balance), Amount >= 0, % Precondition change_balance(Account,Balance,Balance+Amount). change_balance(Account,Balance1,Balance2) :- delete(balance(Account,Balance1)), insert(balance(Account,Balance2)). 2. The following are some questions that is reasonable to ask of such a service in the context of SWS. They are not related to the process model per se, but rather to the overall scenario. In a sense, these are more basic issues than the process description, and any process description language must integrate with the formalisms for representing this type of info. a. General querying Should be able to answer queries: o Who are the players (Buyer, BuyerBank, etc.) o All kinds of ontological queries: - This service is a financial operation - Intl. money transfer is a special transaction - Special transactions take longer, etc. b. Advertising & discovery Assertions: - Money transfers at BankX are free - BankY doesn't do intl. transfers - BankX is not reliable with respect to intl. transfers c. Matchmaking Queries: - Find all banks that both are reliable and low cost in international money transfers d. Negotiation & contracting Assertions: - Buyer is entitled to invoke this service - Buyer & Seller can trade in currency C - Buyer wants to pay the Seller before paying the Broker. - If Brocker's fee is paid within X days, Buyer gets Y% discount. - Bank is legally responsible for transfers - The bank statement corresponding to the money transfer will be within a week in EDIFACT format - All messages exchanged as part of the transfer will be logged by the bank for later inspection - The message logs will only be made available to governmental organizations e. Composition f. Process modeling - If both transfers are executed the trade is complete - A a money transfer at BankB takes from Buyer's account amount X+5% and within a max. of 5 days credits amount X to account Y. Otherwise Buyer is notified that the transfer has failed - Two transfers of X and Y are equivalent to one transfer of X+Y (between same accounts). But the fee is double. - Unless Buyers address is known to the bank the transfer will not be executed - After the transfer is done the bank knows the Sellers address - Multiple international money transfers on the same account are not executed in parallel by bank b unless the costumer has a long-lasting relationship with the bank - After the transfer is initiated the bank sends an acknowledgement message, which is a legally binding document g. Execution