Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 646

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>9 Transportation</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="lift.html#chapter.lift">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="board.html#chapter.board">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="chapter.transportation"><H1><A name="chapter.transportation">9 Transportation</A></H1><H3 class="authors"><A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A></H3><P> </P><P class="linkmenu">[ <A href="applets/Transport.oza">Start Applet</A>  | <A href="../install/node14.html#appendix.applets">How to enable Applets</A>  ]</P><P> </P><P> This demo is an implementation of a multi agent scenario that was developed in the AKA-MOD project at DFKI <A href="bib.html#fischerkuhn.93">[FK93]</A>. </P><H2><A name="label4">9.1 The Idea</A></H2><P> The scenario features a set of concurrently acting agents of three different kinds: a <EM>broker</EM>, <EM>transportation companies</EM> and <EM>drivers</EM>. </P><P> The broker accepts a transportation order and announces it to some transportation companies. Each of them passes the same order to all of its drivers. </P><P> Subsequently, each driver computes its minimal cost for executing this order, which is returned to the transportation company. As cost the detour a driver has to make is chosen. The cheapest driver is chosen, the minimal cost is passed to the broker, and the remaining drivers are informed about rejection of their offers. </P><P> The broker selects the minimum priced transportation company, informs the selected company on acceptance, and sends rejections to the others, which accordingly inform their drivers about the rejection. </P><P> Finally, the minimum priced transport company passes acceptance to the remaining and cheapest driver. Last but not least this order is fulfilled by the chosen driver. </P><H2><A name="label5">9.2 Usage</A></H2><P> After starting the demo a windows that contains the map of Germany, and some menus, and buttons for controlling the scenario. </P><DIV class="unnumbered"><H3><A name="label6">The Transportation Menu</A></H3><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">About...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Displays a window containing short information on the Demo. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Quit</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Ends the demo. </P></DD></DL><P> </P></DIV><DIV class="unnumbered"><H3><A name="label7">The Configure Menu</A></H3><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Add Company...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Displays a dialog to add new companies. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Remove Company...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Displays a dialog to remove one of the current companies. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Add Driver...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Displays a dialog to add a new driver for an already existing company. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Remove Driver...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Displays a dialog to remove a driver. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Add Defaults...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Adds a set of two default companies with two driver each. </P></DD></DL><P> </P></DIV><DIV class="unnumbered"><H3><A name="label8">The Random Menu</A></H3><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Go</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Allows to toggle whether transportation tasks are generated randomly. </P></DD></DL><P> The remaining items allow to control the speed of task generation. </P></DIV><DIV class="unnumbered"><H3><A name="label9">The Windows Menu</A></H3><P> </P><TABLE border="0" cellpadding="2" cellspacing="0" class="margin"><TR><TD>Log window</TD><TD><IMG align="top" alt="Left mouse click" src="note-gui-l1.gif"></TD></TR></TABLE><P> By selecting an item, a log window for that agent is displayed. For trucks the log window can also be displayed by clicking them with the left mouse button. </P></DIV><DIV class="unnumbered"><H3><A name="label10">Entering Tasks Manually</A></H3><P> Besides of the automatic random generation of transportation tasks, these can also be entered manually. This can be done by entering the <EM>From</EM>-city, the <EM>To</EM>-city, the <EM>Good</EM>, and the <EM>Weight</EM> manually in the respective entries at the bottom of the window. </P><P> </P><TABLE border="0" cellpadding="2" cellspacing="0" class="margin"><TR><TD>City selection</TD><TD><IMG align="top" alt="Left or middle mouse click" src="note-gui-lm1.gif"></TD></TR></TABLE><P> By clicking a city in the window with the left mouse button, this city will be written to the <EM>From</EM> entry. Clicking the middle button will do the same for <EM>To</EM>. By clicking the <EM>Send</EM> button the transportation task is sent to the broker. </P></DIV><DIV class="unnumbered" id="section.transportation.implementation"><H2><A name="section.transportation.implementation">Implementation</A></H2><HR><UL class="toc"><LI><A href="node26.html#code.transportation.main">Root functor: <CODE>Main.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node27.html#code.transportation.agentabstractions">Programming abstractions for agents: <CODE>AgentAbstractions.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node28.html#code.transportation.agents">Agent definitions: <CODE>Agents.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node29.html#code.transportation.country">Distance and route computation: <CODE>Country.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node30.html#code.transportation.configure">Predefined default values: <CODE>Configure.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node31.html#code.transportation.dialogs">User dialog widgets: <CODE>Dialogs.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node32.html#code.transportation.germany">Small map of Germany: <CODE>Germany.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node33.html#code.transportation.plan">Problem solver for computing plans: <CODE>Plan.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node34.html#code.transportation.randomizer">Random generation of transportation tasks: <CODE>Randomizer.oz</CODE></A></LI></UL><UL class="toc"><LI><A href="node35.html#code.transportation.widgets">Support widgets: <CODE>Widgets.oz</CODE></A></LI></UL></DIV></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="lift.html#chapter.lift">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="board.html#chapter.board">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>