Examples
Log-in
|
Register
|
Usages
:
Examples
Top Menu
Show
:
Comments
Attachments
History
Information
Print
:
Print
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Wiki code for
Examples
Hide Line numbers
1: $xwiki.ssx.use("XWiki.Lightbox") 2: $xwiki.jsx.use("XWiki.Lightbox") 3: 4: 1 Examples 5: 6: The Jadex software includes several small to medium size examples 7: demonstating different aspects of BDI agent programming. In the 8: following the most interesting of them are described shorty. 9: If you have [Java Webstart>http://java.sun.com/products/javawebstart/] 10: installed, you even can launch the examples directly from your browser. 11: 12: 1.1 Hunter Prey 13: <table border="0" cellspacing="0" cellpadding="0"> 14: <tbody> 15: <tr> 16: <td valign="center"> 17: <p> 18: The hunter prey scenario consists of two kinds of creatures living in a grid world. 19: The basic task of hunters is to chase, while preys move around looking for food. 20: Both kinds of creatures have to act autonomously in the environment on basis of 21: their current local view, experiences made in the past and communications with 22: others. Besides hunter and preys the environment accomodates other passive world objects. 23: On the one hand there are trees on many squares that prohibit creatures running on 24: such fields and on the other hand little plants grow at random squares at the map. 25: These plants can be eaten by the preys if they are on the same field. The scenario 26: is round-based with a fixed time slot for each round. This means that all creatures 27: in the world have to issue their next action (moving to some adjacent square or 28: eating something on the current square) with that round time. If no action is 29: announced no action will be executed. The environment will decide in each round 30: if an action succeeds or fails. 31: </p> 32: </td> 33: <td valign="center" align="center" style="padding-left=10pt"> 34: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/hunterprey.jnlp"> 35: <a href="$xwiki.getAttachmentURL($doc.fullName, "hunterprey.png")" rel="lightbox" title="Hunter Prey"><img src="$xwiki.getAttachmentURL($doc.fullName, "hunterpreysmall.png")" 36: alt="Hunter/Prey" border="0" width="161"/></a> 37: <input value="Launch (2.33 MB)" type="submit"/> 38: </form> 39: </td> 40: </tr> 41: </tbody> 42: </table> 43: 44: 45: 1.1 BlackJack 46: <table border="0" cellspacing="0" cellpadding="0"> 47: <tbody> 48: <tr> 49: <td valign="center"> 50: <p> 51: This example allows for playing BlackJack with one or more computer opponents. 52: Basically, it consists of three different agent types: the manager, the dealer 53: and the player. 54: The Blackjack-Manager can be used to start the game. 55: It shows up with a user interface that can be used to start and stop the 56: local dealer as well as local players. The user may also customize the 57: players, i.e. give them a name and an initial account, choose a strategy 58: and assign a different color. When a player agent is started it will search 59: a dealer to play a game. After at least one player has registered at the 60: Dealer the dealer starts playing games. The player may stay at the table as 61: long as it owns money for playing. 62: </p> 63: </td> 64: <td valign="center" align="center" style="padding-left=10pt"> 65: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/blackjack.jnlp"> 66: <a href="$xwiki.getAttachmentURL($doc.fullName, "blackjack.png")" rel="lightbox" title="BlackJack"><img src="$xwiki.getAttachmentURL($doc.fullName, "blackjacksmall.png")" 67: alt="BlackJack" border="0" width="161"/></a> 68: <input value="Launch (5.67 MB)" type="submit"/> 69: </form> 70: </td> 71: </tr> 72: </tbody> 73: </table> 74: 75: 76: 77: 1.1 Blocksworld 78: <table border="0" cellspacing="0" cellpadding="0"> 79: <tbody> 80: <tr> 81: <td valign="center"> 82: <p> 83: In the blocksworld coloured blocks are placed on a table as 84: towers of single blocks. 85: This example only consists of a single agent, which has an 86: internal representation of the blocksworld. When the agent is started, a 87: window is opened that shows the current state of the blocksworld, 88: and another panel where you can construct a desired target configuration. 89: When the "create goal" button is clicked, the agent tries to achieve the 90: target configuration by restacking blocks on the table. For this purpose 91: a simple solution strategy is applied. Basically, all bad blocks are put 92: onto the table and are stacked on towers that fit the target configuration. 93: </p> 94: </td> 95: <td valign="center" align="center" style="padding-left=10pt"> 96: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/blocksworld.jnlp"> 97: <a href="$xwiki.getAttachmentURL($doc.fullName, "blocksworld.png")" rel="lightbox" title="Blocksworld"><img src="$xwiki.getAttachmentURL($doc.fullName, "blocksworldsmall.png")" 98: alt="Blocksworld" border="0" width="161"/></a> 99: <input value="Launch (2.33 MB)" type="submit"/> 100: </form> 101: </td> 102: </tr> 103: </tbody> 104: </table> 105: 106: 107: 108: 109: 1.1 Cleanerworld 110: <table border="0" cellspacing="0" cellpadding="0"> 111: <tbody> 112: <tr> 113: <td valign="center"> 114: <p> 115: The cleanerworld is based on the idea that an autonomous cleaning robot has 116: the task to clean up dirt in some environment. In our scenario of the cleaner 117: world the main system objectives are to keep clean a building at day, e.g. a museum, 118: and to guard the building at night. To be more concise we think of a group of 119: cleaning robots that are located in the building and try to accomplish the overall 120: system goals by pursuing their own goals in coordination with other individuals. 121: Therefore, three key goals for an individual cleaning robot were identified. 122: First, it should clean its environment at day by removing dirt whenever possible. 123: The cleaning robot therefore has to pick-up any garbage and carry it to a near waste bin. 124: Secondly, it has to guard the building at night by performing patrols that should be 125: based on varying routes. Any suspicious occurrences that it recognises during its 126: patrols should be reported to some superordinated authority. Thirdly, it should keep 127: operational by monitoring its internal states such as the charge state of its battery or 128: recognised malfunctions. Whenever its battery state is low it has to move to the charging 129: station. 130: </p> 131: </td> 132: <td valign="center" align="center" style="padding-left=10pt"> 133: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/cleanerworld.jnlp"> 134: <a href="$xwiki.getAttachmentURL($doc.fullName, "cleanerworld.png")" rel="lightbox" title="Cleanerworld"><img src="$xwiki.getAttachmentURL($doc.fullName, "cleanerworldsmall.png")" 135: alt="Cleanerworld" border="0" width="161"/></a> 136: <input value="Launch (2.33 MB)" type="submit"/> 137: </form> 138: </td> 139: </tr> 140: </tbody> 141: </table> 142: 143: 144: 145: 1.1 Garbage Collector 146: <table border="0" cellspacing="0" cellpadding="0"> 147: <tbody> 148: <tr> 149: <td valign="center"> 150: <p> 151: The garbage collector example is a modified and simplified version of the 152: cleaner world scenario. It consists of two kinds of agents in an environment 153: covered with garbage. Collector agents search for dirt and if found bring it 154: to one of the burner agents. The burner agents do not move. They pickup garbage 155: at their position and burn it. The environment in this example is represented 156: as simple grid world. All agents can only see things that are situated in their 157: currently taken position. For this reason the collectors simply run in a 158: predefined pattern through the environment and try to pickup garbage as soon 159: as they reach a dirty square. If a collector managed to pickup a piece 160: of garbage it heads directly to one of the garbage burners and lays down the 161: garbage. Thereafter it returns to the point it has found the waste and continues 162: its search for garbage from there. 163: </p> 164: </td> 165: <td valign="center" align="center" style="padding-left=10pt"> 166: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/garbagecollector.jnlp"> 167: <a href="$xwiki.getAttachmentURL($doc.fullName, "garbagecollector.png")" rel="lightbox" title="Garbage Collector"><img src="$xwiki.getAttachmentURL($doc.fullName, "garbagecollectorsmall.png")" 168: alt="Garbage Collector" border="0" width="161"/></a> 169: <input value="Launch (2.33 MB)" type="submit"/> 170: </form> 171: </td> 172: </tr> 173: </tbody> 174: </table> 175: 176: 177: 178: 1.1 Marsworld 179: <table border="0" cellspacing="0" cellpadding="0"> 180: <tbody> 181: <tr> 182: <td valign="center"> 183: <p> 184: Several interacting agents have the task to explore the environment for ore 185: resources and bring as much ore as possible to the agents homebase. When the 186: mission time has expired the agents have to abort their current actions 187: and return to the homebase. The different agent types include sentry agents, 188: production agents and carry agents. 189: The sentry agent has the task to find ore resources inspect them if they can 190: be exploited. Therefore the sentry agent has the greatest vision of all agent 191: types. To find the ore resources more quickly all other agents report to the 192: sentry about resources they explored. 193: The production agent is called to a target from a sentry to produce as much 194: ore as the capacity of the resource permits. When finished the agents calls 195: for carry agents to bring the ore to the homebase. 196: The carry agent has the task to bring ore from targets to the homebase. 197: It is called by the production agent. 198: </p> 199: </td> 200: <td valign="center" align="center" style="padding-left=10pt"> 201: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/marsworld.jnlp"> 202: <a href="$xwiki.getAttachmentURL($doc.fullName, "marsworld.png")" rel="lightbox" title="Marsworld"><img src="$xwiki.getAttachmentURL($doc.fullName, "marsworldsmall.png")" 203: alt="Marsworld" border="0" width="161"/></a> 204: <input value="Launch (2.33 MB)" type="submit"/> 205: </form> 206: </td> 207: </tr> 208: </tbody> 209: </table> 210: 211: 212: 213: 1.1 Puzzle 214: <table border="0" cellspacing="0" cellpadding="0"> 215: <tbody> 216: <tr> 217: <td valign="center"> 218: <p> 219: This example is adapted from the commercial agent 220: platform JACK(TM) from Agent Oriented Software. 221: The Jadex implementation is very similar to 222: allow performance measurements between both 223: platforms. 224: The example shows a puzzle game played by one agent. 225: It consists of a board with white and red 226: pieces. The objective is to switch the positions 227: of both kinds of pieces whereby the following rules 228: for making a move exist: 229: 230: * white pieces move right or down to an adjacent free field. 231: * white pieces jump right or down over a red piece to a free field. 232: * red pieces can only move up or left with the same restrictions as white pieces. 233: * the color of a piece to move is not specified. 234: 235: The agent uses meta-level reasoning to solve the 236: puzzle. It creates a goal to make a move and find 237: the solution. For this goal a plan for each 238: possible move is created. To decide which move 239: plan to test first a meta-level goal is created. 240: The choose move plan handles the meta goal and 241: decides according to a specified strategy. 242: </p> 243: </td> 244: <td valign="center" align="center" style="padding-left=10pt"> 245: <form method="GET" action="http://jadex.informatik.uni-hamburg.de/docs/webstart/puzzle.jnlp"> 246: <a href="$xwiki.getAttachmentURL($doc.fullName, "puzzle.png")" rel="lightbox" title="Puzzle"><img src="$xwiki.getAttachmentURL($doc.fullName, "puzzlesmall.png")" 247: alt="Puzzle" border="0" width="161"/></a> 248: <input value="Launch (2.33 MB)" type="submit"/> 249: </form> 250: </td> 251: 252: </tr> 253: </tbody> 254: </table> 255:
Search
Navigation
About
Contact
Features
News
Overview
People
Download
Add Ons
Available Packages
License
Internal
Meetings
Thesis Abstracts
Thesis Topics
Usages
Examples
Projects
Resources
Agent Companies
Build Process
FAQ
Get Involved
Online Documentation
Publications
Teaching
Links
Agent Companies
Agent Platforms
Agent Simulation Toolkits
Quick Links
Download Jadex
Browse Documentation
Read Latest News
Get Involved
SourceForge.net Page
Users Currently Online
Guests online: 44
View Registered Users