1 / 22

Intelligent Architectures for Electronic Commerce

Intelligent Architectures for Electronic Commerce. Prolog/JADE Tutorial. Overview. JADE CIAO Prolog Prolog and JADE. 1. JADE. Standard platform for agent communication Provides useful services: Visualisation of messages; Sending/receiving messages manually; GUI, etc.

honora
Download Presentation

Intelligent Architectures for Electronic Commerce

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intelligent Architectures for Electronic Commerce Prolog/JADE Tutorial

  2. Overview • JADE • CIAO Prolog • Prolog and JADE Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  3. 1. JADE • Standard platform for agent communication • Provides useful services: • Visualisation of messages; • Sending/receiving messages manually; • GUI, etc. • We need to use some such platform to run our agents, otherwise how would we test them? Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  4. 1. JADE Container Agent Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  5. 2. CIAO Prolog • Efficient, free implementation of Prolog • Higher-level than Java, C++, Delphi: • Allows symbolic reasoning • Terse syntax • Common complaints: • Non-intuitive and outlandish • Difficult to understand • Inefficient • Odd choice for a programming language (if it is not Java it is simply not cool…) Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  6. 3. Prolog and JADE • Means to “agentify” Prolog programs • Prolog programs may then: • Send messages to other agents • Receive messages from other agents • Prolog can then “talk” to any other languages • Current examples are all Prolog agents • Our Prolog agents were isolated from the rest of the world! Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  7. 3.1 Connecting Prolog/Jade • JADE is for Java, not Prolog…. • One solution: • Prolog process has a “proxy” Java agent in JADE • Prolog process sends and receives messages via proxy agent • Diagrammatically Ag1 Ag2 Ag3 Ag4 Prolog JADE Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  8. 3.2 Proxy Agent • Proxy agent is a simple Java program • Reads from/writes to a socket open on a port • Prolog program sends a message via proxy: • Writes term onto socket • Term must be in a specific format (more later…) • Proxy agent reads in Prolog term (message to be sent) and translates it onto FIPA-ACL • Creation and registration of proxy agents is performed via StarterAgent Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  9. 3.3 StarterAgent (1) • Each Prolog process needs a proxy agent • Prolog cannot start an agent in JADE • Solution: an agent inside JADE who is responsible for starting up proxy agents! • This is what StarterAgent is Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  10. 3.3 StarterAgent (2) • Started up manually using JADE’s service: Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  11. 3.3 StarterAgent (3) • Then you should type on the pop-up window: Name of the Starter Agent JAVA Class Parameters: Port Number and “verbose” option Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  12. 3.3 StarterAgent (4) Look!! Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  13. 3.3 StarterAgent (5) • How to get hold of StarterAgent: • Copy folder JADE-InterAgent into your jade folder • Add c:\jade\JADE-InterAgent to your CLASSPATH • You can now start up your StarterAgent as before • Choose a port which is not being used to use as a parameter when starting the agent Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  14. 3.4 The Prolog Part (1) • Download file agent.pl • Load it in CIAO Prolog • Type in ?- connect_to_jade(1450,ag1,starterAgentCool). Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  15. 3.4 The Prolog Part (3) • Prolog connects to port 1450 • Sends a request to the StarterAgent in the form request(Me,[StarterAg],register(Me))) • Receives a message with the port of the Proxy agent inform(StarterAg,[Me],registered(Me,NewPort))) • Connects to the NewPort port • And that’s all! Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  16. 3.4 The Prolog Part (5) Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  17. 3.4 The Prolog Part (6) Look!! Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  18. 3.4 The Prolog Part (7) • After process connects to the port, it can send and receive messages via its proxy agent in JADE. • You can, for instance, send a message using the JADE service, in order to test your Prolog agent. Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  19. Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  20. 3.4 The Prolog Part (10) Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  21. 3.4 The Prolog Part (11) • There are predicates defined to send and receive messages. • Messages must be in the format perf-name(id-sender,ListOfRecs, contents) where ListOfRecs is a list of recipients’s id • Please read the documentation in the file agent.pl Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

  22. 4. Final Words • No standard connection: • We’re free to create and propose solutions • How would you connect Prolog to JADE? • This is state-of-the-practice stuff • There might be problems… • Let me know and I will try to help! • Enjoy it! Intelligent Architectures for Electronic Commerce Timothy J Norman and Wamberto Vasconcelos

More Related