Title: Sin t
11
Mark I Vending Machine (MIVM) System
1
1..
customer
supplier
1
1..
servicer
vending machine
2(No Transcript)
3(No Transcript)
44
55
CLIENT INTERFACE
10
8
66
COORDINATION
contains
7(No Transcript)
88
DISPENSER
contains
3
80
contains
contains
99
SERVER INTERFACE
10(No Transcript)
1111
MIVM Software
Insert a Valid Bill
Insert a Valid Coin
12Custom- OperatingSystem Interrupts
12
Custom- Operating- SystemCalls
Bill- Validator
Current- ModeProxy
Dispense- Item- Mode
Customer
Customer- Credit
Customer- Selection
Main- Display
inserted (aBill)
valid (aBill)
valid (aBill)
valid (aBill)
add (aBill)
creditIncremented ()
itemSelected
Attempt to Dispense
no itemSelected display ()
display (amount)
displayMain (amount)
13Coin- Dispenser- Assembly
Coin- Dispensing- Policy
13
Customer- Credit
dispense (credit)
dispense (credit)
credit gt Money.none ()
Dispense Quarters
credit gt Money.none ()
Dispense Dimes
credit gt Money.none ()
Dispense Nickels
Display Greeting
14Coin- Dispensers
Coin- Dispensing- Policy
CustomOperating- SystemCalls
aCoin- Dispenser
Coin- Solenoid
14
amountToDispense gt quarter next ()
coinType ()
amountToDispense gt quarter and coinType
() Coin.quarter () dispense ()
push ()
dispenseCoinFrom (aPort)
quarter not dispensed FailedException
NoCoinException
CouldNotDispenseException
15(No Transcript)
1616
Software- MEA
1a
Insertar un Billete Válido
1b
Insertar una Moneda Válido
1717
Custom- OperatingSystem- Interrupts
Bill- Validator
Current- ModeProxy
1 inserted (aBill)
1.1 valid (aBill)
1.1.1 valid (aBill)
1.1.1.1.2 credit- Incremented ()
Dispense- Item- Mode
Customer
Customer- Selection
1.1.1.1 valid (aBill)
1.1.1.1.1 add (aBill)
1.1.1.1.2.2.1 display (amount)
1.1.1.1.2.2 no itemSelected display ()
Customer- Credit
Main- Display
1.1.1.1.2.1 itemSelected
1.1.1.1.2.2.1.1 displayMain (amount)
Attempt to Dispense
Custom- Operating- SystemCalls
1818
Coin- Dispenser- Assembly
Customer- Credit
1 dispense (credit)
1.1 dispense (credit)
Coin- Dispensing- Policy
1.1.1 credit gt Money.none ()
Dispense Quarters
1.1.2 credit gt Money.none ()
Dispense Dimes
1.1.3 credit gt Money.none ()
Dispense Nickels
1.1.4
Display Greeting
1919
2 coinType () 3 amountToDispense gt quarter
and coinType () Money.quarter () dispense ()
Coin- Dispensing- Policy
aCoin- Dispenser
3.1.1.1.1.1 CouldNot-DispenseException
3.1.1.1.1 NoCoin-Exception
3.1 push ()
1 amountToDispense gt quarter next ()
CustomOperating- SystemCalls
3.1.1 dispenseCoinFrom (aPort)
Coin- Solenoid
Coin- Dispensers
3.1.1.1 quarter not dispensed FailedException