are examples. The transactions available on an ATM include deposits, withdrawals, balance verification and so on. In
our vertical slice of the ATM subsystem, we will discuss card and PIN entry verification and the section of the menu
system dealing with our set of transactions.
Bank as a subsystem is a repository for data and an agent of events from the perspective of the ATM subsystem. In this
example, we will look at the data and events centered around the three transactions being modeled, automated payment
service, automatic overflow management, and overdraft protection. The bank will play a server role in a client/server
relationship, where the ATM is the client and the bank is the server. The bank will also maintain a registry of all
account verifications involved in transactions as well as registering billing for the three services.
Automated payments service.
A customer can pay bills through an automated payment plan. The automated payment service offers a series of
submenus by which the customer can initiate a payment plan where fixed amount and variable amount bills are paid
automatically. The latter can occur by empowering a recipient to specify an amount due. The customer will be able to
set time and amount constraints on all automated payments.
When clients select the automated payment service, they are asked to key in the account number of a payment
recipient. Once this is verified, a client specifies fixed or variable payment, the timing of the payment (e.g., one time
only, biweekly, weekly, monthly, yearly, any time), and if appropriate, the payment amount or a maximum limit
amount. A series of submenus will be provided to further refine these choices if necessary. For example, if the
customer specifies variable monthly, the customer would have an opportunity to set a payment date and to set a
payment amount limit (a payment would have to be under this amount). After everything has been verified, the client
will be asked to specify a start time (now, or some future date).
The bank plays a central role in the automated payment service. It will manage payments from the checking account
on the appropriate designated dates. It will register and track all variable payment amounts, including registering the
appropriate amount from the recipient, checking it against any constraints and paying it on the designated date (an
event-driven transaction). The bank will also make regular or one-time-only payments of customer-stipulated amounts
to designated recipients on designated dates (a stipulated transaction).
Automatic overflow management.
Customers may specify an account as a recipient of a payment using an automatic overflow management menu series.
This enables a customer's savings account, another checking account, a child's trust account, a money market account,
etc., to be the recipient of overflow amounts in the checking account. The client would enter a maximum checking
account balance that, when reached, would trigger an automatic payment of the overage into the specified account.
The bank will again manage checking account balance constraints for automatic overflow management. This time a
transaction resulting in a maximum overage will result in a triggered withdrawal/deposit into the designated account
(wherever that may be).
Overdraft protection plan.
A customer's checking account may be paid from a designated savings account in order to maintain a minimum
balance. The client would enter an account number that acts as the ``protector'' account (i.e., the account that will pay
the checking account each time a transaction would bring the balance below the minimum). Provided the protector
fund continues to be well endowed with money, the balance will never fall below the minimum. This account will, of
course, be verified. Then the minimum checking balance will be entered. If a pending transaction will put the account
balance below this figure (which could be $500 or $0.05 or whatever), the designated ``protector'' account will
immediately transfer funds up to the specified minimum maintenance amount.
The bank will keep track of the account checking balance and the balance minimum (and maximum if it exists). It will
also keep track of the designated ``protector'' account balance. Additionally, it will register any transactions coming in