Projects


Assignment Marks

The purpose of the exercises is to get know to analyze and design applications according to multi-agent systems methodologies, to implement them by the languages/platforms 2APL, JADE, Jason and 2OPL, and to compare them. All exercises concern the following application.

Application: Electronic Market

We want to implement an electronic market in which items can be offered and requested. Each item can be identified in terms of a set of attributes including the price attribute. In the market we have a matchmaking service that registers the offered and requested items and provides this information on request. The items are bought and sold through direct negotiation between the buyers and sellers. The negotiation mechanism should guarantee the lowest price for the buyers.
  1. Exercise 1: Gaia & Prometheus Methodologies: Analysis and Design (deadline 14-02-2013)
    Analyse and design this application as a multi-agent system (1 page) according to the Gaia development methodology and (1 page) according to the Prometheus development methodology.

  2. Exercise 2: JADE: Multi-Agent Implementation (deadline 28-02-2013)
    Map the above design into the JADE platform and implement the above application using JADE. Describe briefly and in general how you have translated your design into your implementation, addressing at least the following questions. Which parts of the design were translated into which data structures of JADE? Was the translation more or less straightforward, i.e., did the concepts you used in your design map well into the JADE data structures, and why (not)? Would you change anything to your design now that you have implemented the application, and if so, what?

    Preparing for Jade:

    If you are working on a university computer, then you can use Eclipse which is already present. Download from http://jade.tilab.com the jade library and follow the instructions from http://wrjih.wordpress.com/2008/11/29/running-jade-under-eclipse/.

    For other computers set up your java jdk first (you must be able to run javac and java from your terminal/cmd, see http://java.sun.com/new2java/programming/learn/). It helps if you add the path to your folder that contains the javac and java executables to your PATH environment variable. Get the jade files from http://jade.tilab.com/. On the left you can download the latest version. Create your project folder and extract jade.jar in this folder. Now you can start programming agents by adding files and folders. With javac *.java you can compile your agents. Running jade works as follows: "java jade/Boot -agents AgentName:YourAgentClass". Use "java jade/Boot -help" to see how to run multiple agents and giving them arguments. If you want to use a non-Eclipse editor: check out your favorite search engine.

    If you downloaded the documentation, then it is adviced to read JADEProgramming-Tutorial-for-beginners.pdf. You can also download the source and see how stuff works.

  3. Exercise 3: Jason: Multi-Agent Implementation (deadline 25-03-2013; 12:00 o'clock)
    Map the above design into the Jason platform and implement the above application using various components of Jason. Describe briefly and in general how you have translated your design into your implementation, addressing at least the following questions. Which parts of the design were translated into which data structures of Jason? Was the translation more or less straightforward, i.e., did the concepts you used in your design map well into the Jason data structures, and why (not)? Would you change anything to your design now that you have implemented the application, and if so, what?

  4. Exercise 4: Programming a Multi-Agent System with 2APL (deadline 11-04-2013).
    Map the above design into the 2APL platform and implement the above application using the various components of 2APL such as belief base, plan base, goal base, etc. Describe briefly and in general how you have translated your design into your implementation, addressing at least the following questions. Which parts of the design were translated into which data structures of 2APL? Was the translation more or less straightforward, i.e., did the concepts you used in your design map well into the 2APL data structures, and why (not)? Would you change anything to your design now that you have implemented the application, and if so, what?

  5. Exercise 5: Organisation Oriented Programming Language (2OPL) [Software package] (deadline 21-04-2013; extended to 28-04-2013).
    The 2OPL exercise states that the agent should deliver the gold within three move actions after it found the gold. However, the video in the archive shows in the last scenario that the agent should deliver the gold within three moves after it picks up the gold. For your solution you may choose between either the "found" condition or the "pickup" condition.