Wollo University
Wollo University
Name ID
1.Yossef kassay……………………….……………WOUR/0636/10
2.misganaw Getahun…….…………………………WOUR/0636/10
3.Wondwosen Tedla…..…………………..………..WOUR/0636/10
Acknowledgment
This project has passed through enormous traps, obstacles, challenges and difficulties to reach at
this point. Somehow with the complete dedication and commitment of the group members to do
the task and with non-stop help and aid of many people the project has been done. At this point
we want to express our deepest gratitude to the people who have helped us. First of all, we want
to thank Almighty God for letting and motivating us to start and finish the project. Secondly we
would like to express our deepest gratitude and big respect to our Instructor Aden(Msc.) who
taught us the course and give us the project as well has showed his perpetual help and
contribution to the achievement of the project. Then we want to thank all the shareholders for
believing in us and investing in the system. Besides we want to thank all the partners who will
work with us. Lastly , we also want to describe our million thanks to all the people who have
helped us in many ways.
1. Introduction
As the internet almost covers every place in the world, online bookstore becomes a
smart and efficient way to sell books for bookstore owners. Customers also get
benefits to find and purchase the most suitable book they want from home. But
nowadays online bookstores are not smart enough, and we want to add more
intelligence into it which can optimize the book search quality. Multi-agent
technology may be a good option of solutions to handle this issue. So we propose this
agent-based online bookstore system.
In this project, we will try to adopt PASSI methodology in the analysis and design of
this system. PASSI covers the whole software development life cycle and supports
Rational Rose.
2. System Overview
2.4 Assumption
All the books info, delivery and bank info are saved in Bookstore database.
Online-banking services are offered through different bank web service,
and security is not a problem.
Bank Web Services are agent-based web services which also conform to
the system domain ontology.
Only support credit card payment with pre-defined banks so far.
In this part, we are going to follow the PASSI methodology to do the analysis and
design for this system. PASSI is a requirement-to-code methodology.
WebUI Agent
Act as Web interface between system and customers. Handle all the requests
from the customers, validate the inputs and show results from system such as
search result, profile edit, etc.
AccountManager Agent
Deal with all the account issues including authentication, profile management,
purchase history management. In addition, after login this agent will
calculate and infer the customer preference rules based on the customer’s
profile and purchase history. This is the only agent who talks with the online
bookstore database.
SearchManager Agent
Deal with all the search issues including grabbing preference rules from
AccountManager, search the bookstore database based on the search query
and preference rules, send search result to WebUI agent.
PurchaseManager Agent
Deal with all the purchase issues including inquiring delivery method,
grabbing payment information from customer and sending to BankBroker
agent, sending request to AccountManager to update the customer’s Purchase
history.
BankBroker
Act as a broker between PurchaseManager and the outside Bank Web
services.
Through this phase, we got the following roles for the agents.
WebUI Agent roles
AccountUIHandler – take all the customer’s inputs regarding login,
registration and transfer to AccountManager Agent
SearchUIHandler – take all the customer’s inputs regarding search query
and transfer to SearchManager Agent
PurchaseUIHandler – take all the customer’s inputs regarding chosen books,
delivery method and personal financial information and transfer to
PurchaseManager Agent
The second one is communication ontology description which describes the local
knowledge for each agent and communications between agents in terms of ontology,
language and protocol. Here Agents are represented as classes with local knowledge
in its attribute fields. (Note: access control signs have no meanings here) The blue
boxes represent the communications between agents which are association classes in
implementation to relate the instances of the two participating agents.
In PASSI, the add-in tool can translate ontology diagrams into RDF formats used in
communication. The protocol is standard FIPA interaction protocol using ACL.
Figure 13: Communication Ontology Diagram
3.2.2 Role Description Phase
At this step, we emphasize on the role changes within each agent and
communications and dependencies between agents. In the following diagram,
roles are represented as classes in the agent package. Tasks are assigned to
each role in order to help refine the task list. Arrow lines indicate the
dependencies between agent roles and also define the communication data or
services.
Figure 14: Role Description Diagram
3.2.3 Protocol Description Phase
Since our system is implemented on FIPA-OS platform which adopt standard FIPA
interaction protocols, so we don’t need to draw protocol description diagram here
which defines the user-defined interaction protocol using AUML.
The purposes of this project are first to apply multi-agent technology into this online
bookstore application, second to adopt PASSI methodology into the analysis and
design process. Whether multi-agent technology is a good choice to apply to this
application is not a consideration here. Actually considering the nature of this
application which doesn’t need much parallelism and is a relatively close system, the
traditional web technology like J2EE may be a better solution. In terms of PASSI,
it’s very easy to use, and very helpful to guide the designers through the whole
development process from requirement analysis to system deployment.
5 References