Multi-agent system for web services John Akinyele
Overview Introduction Background MWS Implementation Discussion Future Work Related Work Conclusion
Introduction Web services a new breed of web application that are self-contained, self-describing, modular applications that can be published, located, and invoked across the web Web services are a result of the evolving internet/web technologies Progression of internet technologies HTML – Semantic Web
Introduction HTML The initial language used for developing web pages It is describes the presentation of the document It limits the development of automated applications that access them. XML Extension of HTML Allow developers to create their own tag definitions Lacks global consistency
Introduction RDF specifications provide a lightweight ontology system to support the exchange of knowledge on the Web An ontology - an explicit formal specification of how to represent the objects, concepts and other entities that are assumed to exist in some area of interest and the relationships that hold among them provides a means through which web sites with meaningful and globally consistent contents can be defined.
Introduction RDF A basis for semantic web technologies semantic web is the idea of having data on the web defined and linked in a way that it can be used by machines for various applications
Introduction MWS “Shopping mall” for personal agents Contains a directory of services providing various web services Web services are define with a semantic web ontology based on DAML The directory is categorized by the type of product being offered
Background DAML DARPA Agent Markup Language An extension to XML and RDF by using ontologies to provide a powerful way to describe objects and their relationships to other objects It has been tested in various applications: ITTALKS Webscripter
Background DAML Services Enable the creation of services that have particular properties which software agents can discover, invoke, compose, and monitor Service object is the upper ontology for web services.
Background DAML Service Object It seeks to answer 3 questions What does the service require? How does the service work? How is the service used? It has 3 properties presents – Service Profile describedBy – Service Model support – Service Grounding
Background DAML Service Profile Describes what service requires Parameters, contact information etc 2 important subclasses Advertisement Used to “advertise” the services provided within a service Request Used to “declare” what the agent seeks
Background DAML Service Model Defines how the service works Describes the necessary parameters – input and output, and the produced effect the “stub” or “skeleton” of the methods/objects of the service. Can represent methods/objects implemented in a wide variety of application domains
Background DAML Service Model The process ontology includes Process CompositeProcess Sequence Condition If-Then-Else Iterate Repeat-Until
Background DAML Service Grounding Defines how the service is used Specifies communication protocol details HTML Java RMI, Jini Specifies data exchange details Data marshalling Data format
MWS Shopping Mall for agents Agents access web services that are services are defined with DAML-S Mall provides categorized list of services Categorizes by products Categorization guarantees the type of product in the service. Implemented with the JADE platform
MWS Services Ontology Parser Mall Manager Personal Agents Service Agents
Sample service <mservice:MallService rdf:ID="Schmitt_Bookstore"> <service:presents> <mservice:MallAdvertisement rdf:ID="Schmitt_Bookstore_Advertisement"> <profile:serviceName>Schmitt Bookstore</profile:serviceName> <profile:textDescription>Schmitt Bookstore advertisement. Shop and Save</profile:textDescription> <profile:providedBy> <profile:ServiceProvider rdf:ID="Schmitt_Service_Provider"> <profile:name>Schmitt Services</profile:name> <profile:phone>999-999-9999</profile:phone> <profile:fax>123-456-789</profile:fax> <profile:email>service@schmitt.com</profile:email> <profile:physicalAddress>1000 Hilltop Circle, Baltimore, MD. 21250, USA</profile:physicalAddress> <profile:webURL>http://www.schmittbooks.com</profile:webURL> </profile:ServiceProvider> </profile:providedBy>
Sample Service cont’d <mservice:MallserviceCategory> <mservice:MallProductList rdf:ID="Schmitt_Product_List"> <products:BookProducts rdf:ID="Schmitt_Books">Schmitt Books</products:BookProducts> <products:OfficeEquipments rdf:ID="Schmitt_Office">Schmitt Office </products:OfficeEquipments> </mservice:MallProductList> </mservice:MallserviceCategory> <profile:serviceType> B2C </profile:serviceType> <profile:communicationThru>DAML</profile:communicationThru> </mservice:MallAdvertisement> </service:presents> <service:describedBy> <process:ProcessModel rdf:ID="Schmitt_BuyProcess"> <service:topLevelEvent rdf:about="Schmitt_ProcessModel"/> </process:ProcessModel> </service:describedBy> </mservice:MallService>
Implementation Implemented with Java 2 programming language JADE – Java Agent Development Framework DAMLJessKB – DAML Jess knowledge base package DAMLJessKB reads DAML files as a collection of triples via an RDF parser Reads them into JESS – Java Expert Shell System
Implementation Architecture Inter-agent communication DAMLQuery object Exchange of data via DAML Invoke services by composing DAML strings DAMLQuery object Implementation of the ontology parser Run queries on DAML Services Interrogates the model and grounding of services
Implementation Architecture AgentMall object Implements the mall manager Subclass of jade.core.Agent Contains a categorized directory of services Represents the mall manager
Implementation Architecture ServiceAgent object Subclass of jade.core.Agent Registers itself by accessing the mall manager’s register method Awaits customers that wish to access its services
Implementation Architecture PersonalAgents object Implements the customer agents Subclass of the jade.core.Agent Process user’s request and determine which services it should access.
Discussion The composition of DAML services inherently include some intelligence Using expert system libraries, agents can access a service with little communication Errors can be made when creating DAML service objects
Future Work Agent Collaboration Joint purchases Service “advertises” discounts or specials for bulk purchases Buy 1 get one free, free shipping etc. Create mall ontologies for discounts and specials
Related Work Trading agents Phillip Turner and Nicholas Jennings Focuses on scalability of the “market” Dynamic choice of collaboration methodologies
Related Work Agent Cities Initiative to build a network of agent based services Built on agent technology, semantic web technologies etc Various types of applications
Related Work Semantic web technologies Other efforts at creating ontologies for web services WSDL DAML web queries
Conclusion issues with global accessibility Various implementations of web services A few web services might become de-facto standards because of benefits