Example models

An online auctioneer

Members register, list items and bid. Each auction closes at the closing time its seller chose. The highest bidder pays, the seller is paid less the platform’s service fee, the item is shipped and the buyer rates the sale.

The model shows how far delegation carries a specification. Its use cases state their requirements in prose, as a client would, and each requirement is met by the lower-level service the process requests. Thus the formal URDAD-OCL is written once, on the services which keep the members, the listings and the sales, and the method’s progress report confirms that every use-case condition is met by delegation.

The model verifies with no errors even at the executable level, and its leaf services state their answers precisely enough for an execution environment to give them without any code. It keeps six warnings, each with a written reason.

Scope View

URDAD Scope View of Auctioneer, showing Listings; Membership; Platform; Sales.
Scope View: AuctioneerFull size: Scope View: Auctioneer

Functional Requirements Views

URDAD Functional Requirements View of List item, showing Member; Closes in the future; May sell; Amounts in euro; Shipping cost is not negative; Starting bid is positive; Auctioneer; Auction closed at its closing time; Item listed.
Functional Requirements View: List itemFull size: Functional Requirements View: List item
URDAD Functional Requirements View of Complete sale, showing Highest bidder can buy; Listing ready to close; Auctioneer; Listings; Member; List item; Auction closed; Buyer kept informed; Paid and paid out; Sale completed; Sold to the highest bidder.
Functional Requirements View: Complete saleFull size: Functional Requirements View: Complete sale
URDAD Functional Requirements View of Record sale, showing Buyer is a member; Listing closed; Listing not yet sold; Auctioneer; Sales; Complete sale; Buyer still a member; Sale number is new; Sale recorded.
Functional Requirements View: Record saleFull size: Functional Requirements View: Record sale

Responsibility Allocation Views

URDAD Responsibility Allocation View of List item, showing Closes in the future; May sell; Check: Closes in the future; Complete sale; Record listing; Auction closed at its closing time; Item listed.
Responsibility Allocation View: List itemFull size: Responsibility Allocation View: List item
URDAD Responsibility Allocation View of Complete sale, showing Highest bidder can buy; Listing ready to close; Record sale; Was it paid; Close listing; Pay seller; Feedback window; Sold to the highest bidder; Buyer kept informed; Auction closed; Paid and paid out; Sale completed.
Responsibility Allocation View: Complete saleFull size: Responsibility Allocation View: Complete sale

Process Views

URDAD Process View of List item, showing Start; Check: Closes in the future; Record listing; raise May sell not met exception and abort; Resp: Report the listing number; on; merge; Complete sale; End.
Process View: List itemFull size: Process View: List item
URDAD Process View of Complete sale, showing Start; Close listing; raise Listing ready to close not met exception and abort; if; merge; Resp: Report no sale; Get service fee; Compute settlement; Record sale; raise Highest bidder can buy not met exception and abort; Get member; Collect payment; Pay seller; Update sale; Send receipt; Provide shipping details; Send tracking details; Feedback window; Confirm receipt and rate; Resp: Report the sale; End.
Process View: Complete saleFull size: Process View: Complete sale
URDAD Process View of Collect payment, showing Start; Check: Sale on record; Payment deadline; Pay for item; Charge payment; Update sale; Resp: Report the payment; Resp: Report no payment; Resp: Report overdue; End.
Process View: Collect paymentFull size: Process View: Collect payment

Entity View