Summary for WebTaxi
EventHelix.com/EventStudio 2.0
Generated on 05-Jul-03 16:41
Taxi available within 5 min.
Leg Taken:
Customer Interfaces
- Send taxi_request to session_mgr
- Receive bill_and_map_info from taxi_session
- Send accept to taxi_session
- Receive taxi_response from taxi_session
- Receive taxi_arrived from taxi_session
Session_mgr Interfaces
- Receive taxi_request from customer
- Create object taxi_session
- Receive end_service from taxi_session
- Delete object taxi_session
Taxi_session Interfaces
- Object taxi_session is created by session_mgr
- Change state to "Mapping Coordinates"
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Change state to "Computing Bill"
- Take action "compute bill based on distance reported by mapping service"
- Send bill_and_map_info to customer
- Receive accept from customer
- Change state to "Searching for Taxi"
- Send find_taxi (time_to_resp = FIVE_MIN, type = BROADCAST) to mobile_msg_service
- Start timer await_trip_ack
- Receive trip_ack (phone_num, resp_time = TWO_MIN) from taxi_mgr1
- Receive trip_ack (phone_num, resp_time = FOUR_MIN) from taxi_mgr2
- Timer await_trip_ack times out
- Take action "Choose the taxi that can respond in minimum time"
- Change state to "Querying Taxi Driver"
- Send trip_query to taxi_mgr1
- Start timer await_trip_accept
- Receive trip_accepted from taxi_mgr1
- Stop timer await_trip_accept
- Send taxi_response to customer
- Change state to "Awaiting Journey Start"
- Receive ready from taxi_mgr1
- Send taxi_arrived to customer
- Send ready_ack to taxi_mgr1
- Receive start_service from taxi_mgr1
- Change state to "Awaiting Journey End"
- Send start_service_ack to taxi_mgr1
- Receive end_service from taxi_mgr1
- Change state to "Billing Customer"
- Send end_service_ack to taxi_mgr1
- Send charge_request (credit_card_no, expiration_date, amount) to billing_service
- Receive charge_response (transaction_status = SUCCESS) from billing_service
- Change state to "Paying Taxi Driver"
- Send pay_request (account_number, amount) to bank_ac_service
- Receive pay_response (account_number, transaction_status = SUCCESS) from bank_ac_service
- Send end_service to session_mgr
- Object taxi_session is deleted by session_mgr
Mapping_service Interfaces
- Receive map_request (start, end) from taxi_session
- Send map_response (map, distance, time) to taxi_session
- Receive map_request (start, end) from taxi_mgr1
- Send map_response (map, distance, time) to taxi_mgr1
- Receive map_request (start, end) from taxi_mgr2
- Send map_response (map, distance, time) to taxi_mgr2
Billing_service Interfaces
- Receive charge_request (credit_card_no, expiration_date, amount) from taxi_session
- Send charge_response (transaction_status = SUCCESS) to taxi_session
Bank_ac_service Interfaces
- Receive pay_request (account_number, amount) from taxi_session
- Send pay_response (account_number, transaction_status = SUCCESS) to taxi_session
Mobile_msg_service Interfaces
- Receive find_taxi (time_to_resp = FIVE_MIN, type = BROADCAST) from taxi_session
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr1
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr2
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr3
Taxi_mgr1 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Send trip_ack (phone_num, resp_time = TWO_MIN) to taxi_session
- Receive trip_query from taxi_session
- Take action "Taxi Mgr displays the details about the next trip and waits for taxi driver's response"
- Send trip_accepted to taxi_session
- Send ready to taxi_session
- Receive ready_ack from taxi_session
- Send start_service to taxi_session
- Receive start_service_ack from taxi_session
- Send end_service to taxi_session
- Receive end_service_ack from taxi_session
Taxi_mgr2 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Send trip_ack (phone_num, resp_time = FOUR_MIN) to taxi_session
Taxi_mgr3 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
Taxi available within 10 min.
Leg Taken:
Customer Interfaces
- Send taxi_request to session_mgr
- Receive bill_and_map_info from taxi_session
- Send accept to taxi_session
- Receive taxi_response from taxi_session
- Receive taxi_arrived from taxi_session
Session_mgr Interfaces
- Receive taxi_request from customer
- Create object taxi_session
- Receive end_service from taxi_session
- Delete object taxi_session
Taxi_session Interfaces
- Object taxi_session is created by session_mgr
- Change state to "Mapping Coordinates"
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Change state to "Computing Bill"
- Take action "compute bill based on distance reported by mapping service"
- Send bill_and_map_info to customer
- Receive accept from customer
- Change state to "Searching for Taxi"
- Send find_taxi (time_to_resp = FIVE_MIN, type = BROADCAST) to mobile_msg_service
- Start timer await_trip_ack
- Timer await_trip_ack times out
- Send find_taxi (max_time_to_resp = TEN_MIN, type = BROADCAST) to mobile_msg_service
- Start timer await_trip_ack
- Receive trip_ack (phone_num, time_to_resp = SIX_MIN) from taxi_mgr1
- Receive trip_ack (phone_num, time_to_resp = NINE_MIN) from taxi_mgr2
- Timer await_trip_ack times out
- Take action "Choose the taxi that can respond in minimum time"
- Change state to "Querying Taxi Driver"
- Send trip_query to taxi_mgr1
- Start timer await_trip_accept
- Receive trip_rejected from taxi_mgr1
- Take action "Choose another taxi from the responses"
- Stop timer await_trip_accept
- Send trip_query to taxi_mgr2
- Start timer await_trip_accept
- Receive trip_accepted from taxi_mgr2
- Stop timer await_trip_accept
- Send taxi_response to customer
- Change state to "Awaiting Journey Start"
- Receive ready from taxi_mgr2
- Send taxi_arrived to customer
- Send ready_ack to taxi_mgr2
- Receive start_service from taxi_mgr2
- Change state to "Awaiting Journey End"
- Send start_service_ack to taxi_mgr2
- Receive end_service from taxi_mgr2
- Change state to "Billing Customer"
- Send end_service_ack to taxi_mgr2
- Send charge_request (credit_card_no, expiration_date, amount) to billing_service
- Receive charge_response (transaction_status = SUCCESS) from billing_service
- Change state to "Paying Taxi Driver"
- Send pay_request (account_number, amount) to bank_ac_service
- Receive pay_response (account_number, transaction_status = SUCCESS) from bank_ac_service
- Send end_service to session_mgr
- Object taxi_session is deleted by session_mgr
Mapping_service Interfaces
- Receive map_request (start, end) from taxi_session
- Send map_response (map, distance, time) to taxi_session
- Receive map_request (start, end) from taxi_mgr1
- Send map_response (map, distance, time) to taxi_mgr1
- Receive map_request (start, end) from taxi_mgr2
- Send map_response (map, distance, time) to taxi_mgr2
Billing_service Interfaces
- Receive charge_request (credit_card_no, expiration_date, amount) from taxi_session
- Send charge_response (transaction_status = SUCCESS) to taxi_session
Bank_ac_service Interfaces
- Receive pay_request (account_number, amount) from taxi_session
- Send pay_response (account_number, transaction_status = SUCCESS) to taxi_session
Mobile_msg_service Interfaces
- Receive find_taxi (time_to_resp = FIVE_MIN, type = BROADCAST) from taxi_session
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr1
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr2
- Send trip_request (max_time_to_resp = FIVE_MIN) to taxi_mgr3
- Receive find_taxi (max_time_to_resp = TEN_MIN, type = BROADCAST) from taxi_session
- Send trip_request (max_time_to_resp = TEN_MIN) to taxi_mgr1
- Send trip_request (max_time_to_resp = TEN_MIN) to taxi_mgr2
- Send trip_request (max_time_to_resp = TEN_MIN) to taxi_mgr3
Taxi_mgr1 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Receive trip_request (max_time_to_resp = TEN_MIN) from mobile_msg_service
- Send trip_ack (phone_num, time_to_resp = SIX_MIN) to taxi_session
- Receive trip_query from taxi_session
- Take action "Taxi Mgr displays the details about the next trip and waits for taxi driver's response"
- Send trip_rejected to taxi_session
Taxi_mgr2 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
- Send map_request (start, end) to mapping_service
- Receive map_response (map, distance, time) from mapping_service
- Receive trip_request (max_time_to_resp = TEN_MIN) from mobile_msg_service
- Send trip_ack (phone_num, time_to_resp = NINE_MIN) to taxi_session
- Receive trip_query from taxi_session
- Take action "Taxi Mgr displays the details about the next trip and waits for taxi driver's response"
- Send trip_accepted to taxi_session
- Send ready to taxi_session
- Receive ready_ack from taxi_session
- Send start_service to taxi_session
- Receive start_service_ack from taxi_session
- Send end_service to taxi_session
- Receive end_service_ack from taxi_session
Taxi_mgr3 Interfaces
- Receive trip_request (max_time_to_resp = FIVE_MIN) from mobile_msg_service
- Receive trip_request (max_time_to_resp = TEN_MIN) from mobile_msg_service