View
223
Download
1
Tags:
Embed Size (px)
Citation preview
Chapter 4 - 1
States and Transitions
Reservation Clerk
later than 6:00 pmand Guest not registeredand someone else wants room
cancel reservation
Ready
@ form filled
make reservation
Waitingfor Form
@ new reservation
request filled-in form
Reservation Clerk
later than 6:00 pmand Guest not registeredand someone else wants room
cancel reservation
Ready
@ form filled
make reservation
Waitingfor Form
@ new reservation
request filled-in form
Chapter 4 - 2
Concurrency
Reservation Clerk
update reservation
Ready
HaveReservationInformation
Have NewInformation
@ change reservation
NeedCurrentReservation
Need NewInformation get information
get reservation
@ cancel reservation
cancel reservation
Reservation Clerk
update reservation
Ready
HaveReservationInformation
Have NewInformation
@ change reservation
NeedCurrentReservation
Need NewInformation get information
get reservation
@ cancel reservation
cancel reservation
Chapter 4 - 3
Exceptions
Reservation Clerk
@ cancel
Ready
Waitingfor Form
report errorprovide partially filled-in form
ErrorDetected
@ form filled
make reservation
later than 6:00 pmand Guest not registeredand someone else wants room
cancel reservation
@ new reservation
request filled-in form
form not OK
Reservation Clerk
@ cancel
Ready
Waitingfor Form
report errorprovide partially filled-in form
ErrorDetected
@ form filled
make reservation
later than 6:00 pmand Guest not registeredand someone else wants room
cancel reservation
@ new reservation
request filled-in form
form not OK
Chapter 4 - 4
Priority Constraints
Proprietor
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
office work to do
do office work
At Work
tired of doing repairs
repairs needed[ x(70%), y(30%) ]
x y
c
b
a[ c > a > b ]
Proprietor
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
office work to do
do office work
At Work
tired of doing repairs
repairs needed[ x(70%), y(30%) ]
x y
c
b
a[ c > a > b ]
(template)
Chapter 4 - 5
Real-Time Constraints
Reservation Clerk
Waitingfor Form
>= 5 minutes
give waiting message
@ cancel
Ready
report errorprovide partially filled-in form
ErrorDetected
@ form filled
make reservation
@ new reservation
request filled-in form
form not OK
[ < 5 minutes ]
[ < 2 seconds ]
a
b [ a TO b < 2 seconds ]
Reservation Clerk
Waitingfor Form
>= 5 minutes
give waiting message
@ cancel
Ready
report errorprovide partially filled-in form
ErrorDetected
@ form filled
make reservation
@ new reservation
request filled-in form
form not OK
[ < 5 minutes ]
[ < 2 seconds ]
a
b [ a TO b < 2 seconds ]
Chapter 4 - 6
High-Level State View – Exploded
Reservation Clerk
Obtaining Information
update reservation
Ready
HaveReservationInformation
Have NewInformation
@ change reservation
NeedCurrentReservation
Need NewInformation get information
get reservation
@ cancel reservation
cancel reservation
Reservation Clerk
Obtaining Information
update reservation
Ready
HaveReservationInformation
Have NewInformation
@ change reservation
NeedCurrentReservation
Need NewInformation get information
get reservation
@ cancel reservation
cancel reservation
Chapter 4 - 7
Reservation Clerk
Obtaining Information
update reservation
@ change reservation
Ready
@ cancel reservation
cancel reservation
Reservation Clerk
Obtaining Information
update reservation
@ change reservation
Ready
@ cancel reservation
cancel reservation
High-Level State View – Imploded
Chapter 4 - 8
High-Level Transition View – Exploded
Proprietor
repairs needed
work on repairs
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
At Work
tired of doing repairs
repairs needed
c
b
a[ c > a > b ]
Proprietor
repairs needed
work on repairs
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
At Work
tired of doing repairs
repairs needed
c
b
a[ c > a > b ]
Chapter 4 - 9
High-Level Transition View – Imploded
Proprietor
repairs needed
work on repairs
At Work
Proprietor
repairs needed
work on repairs
At Work
Chapter 4 - 10
High-Level Transition Exit
Proprietor
@ done
At Work
HandlingEmergency
repairs needed
work on repairs
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
tired of doing repairs
repairs needed
c
b
a[ c > a > b ]
@ emergency
Proprietor
@ done
At Work
HandlingEmergency
repairs needed
work on repairs
repair on to-do list
do repair
Ready to Workon Repairs
repair requested by Guest
do repair
tired of doing repairs
repairs needed
c
b
a[ c > a > b ]
@ emergency
Chapter 4 - 11
High-Level Transitionwith Entry and Exit States
Proprietor
At Work
repairs needed
work on repairs
Done
tired of doing repairs
Ready to Workon Repairs
repair on to-do list
do repair
repair requested by Guest
do repair
c
b
a[ c > a > b ]
Proprietor
At Work
repairs needed
work on repairs
Done
tired of doing repairs
Ready to Workon Repairs
repair on to-do list
do repair
repair requested by Guest
do repair
c
b
a[ c > a > b ]
Chapter 4 - 12
Behavior Generalization/Specialization
Reservation Clerk
@ new reservation
request filled-in formWaitingfor Form
Alerter Reservation Clerk
CheckingSpecialGuest List
is a special Guest
notify Proprietor
is not a special Guest
Ready
@ form filled
make reservation
@ cancel reservation
cancel reservation1
Reservation Clerk.1
Reservation Clerk
@ new reservation
request filled-in formWaitingfor Form
Alerter Reservation Clerk
CheckingSpecialGuest List
is a special Guest
notify Proprietor
is not a special Guest
Ready
@ form filled
make reservation
@ cancel reservation
cancel reservation1
Reservation Clerk.1
Chapter 4 - 13
Basic Interaction
Alerter Reservation Clerk Proprietor
notification (Guest Name)
Alerter Reservation Clerk Proprietor
notification (Guest Name)
Chapter 4 - 14
Input/Output Interactions
Reservation Clerk
("Please fill in the form.", Form)
form filled (Form)
Reservation Clerk
("Please fill in the form.", Form)
form filled (Form)
Chapter 4 - 15
Two-Way Interaction
Reservation Clerk Person
report error (Error, Form) -> (Form)
Reservation Clerk Person
report error (Error, Form) -> (Form)
Chapter 4 - 16
Continuous Interaction
Reservation Clerk
Clock
(Time)
Reservation Clerk
Clock
(Time)
Chapter 4 - 17
Broadcast Interaction
ProprietorList ofRepeatGuests
(Special Deal)
ProprietorList ofRepeatGuests
(Special Deal)
Chapter 4 - 18
TO Clause
Proprietor Guest
("Your requested repair has been completed")
TO: Guest in Room 1
Proprietor Guest
("Your requested repair has been completed")
TO: Guest in Room 1
Chapter 4 - 19
Interaction Sequence
Reservation Clerk Personnew reservation
("Fill in Form", Form)
form filled (Form)
("Your reservation has been made.")
Reservation Clerk Personnew reservation
("Fill in Form", Form)
form filled (Form)
("Your reservation has been made.")
Chapter 4 - 20
Active Object Interaction
Reservation Clerk
@ form filled
make reservation
Person
@ new reservation
request filled-in form
Waitingfor Form
>= 5 minutes
give waiting message
@ cancel
Ready
report errorprovide partially filled-in form
ErrorDetected
form not OK
[ < 5 minutes ]
[ < 2 seconds ]
a
b [ a TO b < 2 seconds ]
("Fill in Form", Form)
Reservation Clerk
@ form filled
make reservation
Person
@ new reservation
request filled-in form
Waitingfor Form
>= 5 minutes
give waiting message
@ cancel
Ready
report errorprovide partially filled-in form
ErrorDetected
form not OK
[ < 5 minutes ]
[ < 2 seconds ]
a
b [ a TO b < 2 seconds ]
("Fill in Form", Form)
Chapter 4 - 21
Database Update Interactions
Guest
AddressName
GuestNr
1
has
1
1
has
1:*
1
has
1:*
get Name and Address(GuestNr) -> (Name, Address)
change Address(GuestNr, Address)
add(GuestNr, Name, Address)
remove (GuestNr)
Guest
AddressName
GuestNr
1
has
1
1
has
1:*
1
has
1:*
get Name and Address(GuestNr) -> (Name, Address)
change Address(GuestNr, Address)
add(GuestNr, Name, Address)
remove (GuestNr)
Chapter 4 - 22
High-Level Interactions
Reservation Clerk GuestProprietor
Proprietor Guest
("Your requested repair has been completed.")
TO: Guest in Room 1
tell Guest ("Repair done", Room#) ("The repair you requested is done.")
("Your requested repari has been completed.")
TO: Guest in Room 1
TO: Guest in Room 1
Reservation Clerk GuestProprietor
Proprietor Guest
("Your requested repair has been completed.")
TO: Guest in Room 1
tell Guest ("Repair done", Room#) ("The repair you requested is done.")
("Your requested repari has been completed.")
TO: Guest in Room 1
TO: Guest in Room 1
Chapter 4 - 23
Real-Time Interactions
Proprietor Guest
("Your requested repair has been completed")
TO: Guest in Room 1
[ < 30 minutes ]
Proprietor Guest
("Your requested repair has been completed")
TO: Guest in Room 1
[ < 30 minutes ]