SENG 697: Agent-Based Software Engineering
SENG 697: Agent-Based Software Engineering
Agent-based
Software Engineering
Sample Project :
Travel Agency System (TAS)
Behrouz Far
Schulich School of Engineering, University of Calgary
[email protected]
http://www.enel.ucalgary.ca/People/far/
INTERNET
Interpreter
Listener
Web Discovery
Web Processor
Web
Services
Services Agent
Services
Rendering
Agent
Agent boundary
Flight
Agent
Travel Web
SOAP
Agent SOAP Services
Hotel
Agent
Car
Rental
Agent
Actor makes a request for travelling by providing date for departure, departure location, arrival location,
1
one way or two way, date of return, business class or economy class through a browser interface.
2 Travel Agent collects the user preferences for Hotel and Car Rental from user profile.
Travel Agent requests from Scheduler Agent to check schedule availability and manage conflicts if any
3
(described in U002)
4 Travel Agent requests from Flight Agent to get a list of proposed flights from Flight Web Services.
5 Travel Agent requests from Hotel Agent to get a list of proposed hotels Hotel Web Services.
Travel Agent request from Car Rental Agent to get a list of proposed car rentals from Car Rental Web
6
Services.
7 Travel Agent displays list of proposed flights, hotels, and car rentals on user’s browser.
8 Actor selects a flight, hotel, and a car rental from the proposed list on his/her browser.
Travel Agent requests from Flight, Hotel, and Car Rental Agents to respectively book flight, hotel and
9
car rental.
Travel Agent generates a Memo composed of travel package information and confirmation numbers
10
and sends it to Scheduler Agent.
Relationships:
Initiating Actor
Collaborating Scheduler Agent, Flight Agent, Hotel Agent, Car Rental Agent
Other Diagrams:
Data Requirements
Data Required: Data required for Travel Agent:
Flight information
Hotel and Car rental preferences
Memo that contains information and confirmation number of flight, hotel and car
rental booked
Flight_No
FK2 Departure_Calendar_ID
FK1 Arrival_Calendar_ID
Departure_Location
Arrival_Location
Trip_Type
Class_Type
Memo Airline
Rate
PK Memo_ID
Billing
FK2 Car_Rental_ID
FK1 Hotel_ID Hotel PK Billing_ID
Calendar
FK3 Flight_ID
PK Hotel_ID Credit_Card_Type
PK Calendar_ID
Credit_Card_Number
Address Credit_Card_Holder
Name Date
Hours Address
FK1 Check_IN_Calendar_ID Credit_Card_Expiry_Month
FK2 Check_OUT_Calendar_ID Min
Credit_Card_Expiry_Year
Rating FK1 Billing_Calendar_ID
Rate Billing_Amount
Car_Rental
PK Car_Rental_ID
Confirmation
<flight>
<flightID>n</flightID>
<flightNo>String<FlightNo>
<departureLocation> String </departureLocation>
<departureDate> Calendar </departureDate>
<arrivalLocation>String</arrivalLocation>
<arrivalDate>Calendar</arrivalDate>
<tripType>String</tripType>
<classType>String</classType>
<airline>String</airline>
<rate>Float</rate>
</flight>
.
n
.
</flights>