Top Banner
Chapter 4 - 1 States and Transitions Reservation Clerk and Guest not registered and someone else wants room Ready make reservation Waiting for Form @ new reservation request filled-in form Reservation Clerk later than 6:00 pm and Guest not registered and someone else wants room cancel reservation Ready @ form filled make reservation Waiting for Form @ new reservation request filled-in form
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 2: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 3: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 4: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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)

Page 5: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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 ]

Page 6: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 7: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 8: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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 ]

Page 9: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

Chapter 4 - 9

High-Level Transition View – Imploded

Proprietor

repairs needed

work on repairs

At Work

Proprietor

repairs needed

work on repairs

At Work

Page 10: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 11: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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 ]

Page 12: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 13: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

Chapter 4 - 13

Basic Interaction

Alerter Reservation Clerk Proprietor

notification (Guest Name)

Alerter Reservation Clerk Proprietor

notification (Guest Name)

Page 14: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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)

Page 15: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

Chapter 4 - 15

Two-Way Interaction

Reservation Clerk Person

report error (Error, Form) -> (Form)

Reservation Clerk Person

report error (Error, Form) -> (Form)

Page 16: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

Chapter 4 - 16

Continuous Interaction

Reservation Clerk

Clock

(Time)

Reservation Clerk

Clock

(Time)

Page 17: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

Chapter 4 - 17

Broadcast Interaction

ProprietorList ofRepeatGuests

(Special Deal)

ProprietorList ofRepeatGuests

(Special Deal)

Page 18: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 19: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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.")

Page 20: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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)

Page 21: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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)

Page 22: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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

Page 23: Chapter 4 - 1 States and Transitions. Chapter 4 - 2 Concurrency.

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 ]