Project Phase #5 - COMP 303
- Due at the beginning of class, Thursday, April 7.
The purpose of this milestone is to design and implement an ant, and
optionally software to create ants.
In this milestone you have a wide choice of options. The options listed
below are in order of difficulty and solutions to the more difficult
problems will be given more credit than simple solutions. You may find
the web site for the ICFP winners very useful for this milestone.
- Option 1: significantly modify an existing ant
If you do this you must say where you found the ant, and exactly how you
modified it. Explain the justification for your modifications.
For this option you should hand in a hard copy stating that you did
option 1, where you found your ant and explaining your ant.
Submit the ant electronically to the TA. Call your ant YourLastName.ant.
- Option 2:
Write a new ant by hand. In this case you invent a new ant and just
write the ant directly in the ant language. For this option you should
hand in a hard copy stating that you did option 2 and explaining the
design of your ant. Submit the ant electronically to the TA.
Call your ant YourLastName.ant.
- Option 3:
Several winning teams from ICFP developed new languages and tools for
building ants. In this option you can use one of their tools to
produce your ant. If you do this option you should hand in a hard copy
stating that you did option 3, explain the tools available and at a high-level
how they work, give the source code for the high-level description of
your ant and describe the design of your ant. Submit the
generated ant electronically to the TA. Call your generated ant
- Option 4: the killer option
In this option you design and implement your own high-level ant language, and
a translator from your high-level ant language to the low-level ant language
understood by the simulator. You will then program your ant in your
own high-level language and use your translator to produce your low-level
ant. In this case you should hand-in a
hardcopy stating that you did option 4, a description of
your high-level language, the design of your
translator and a description of your high-level ant and its design.
You should submit two files to the TA. First, your generated ant, called
YourLastName.ant, and secondly a jar file containing your tools. Call
your jar YourLastName-anttools.jar. The
jar file should be structured with appropriate directories, build.xml and
javadoc. It should also include a README file to say how to install and
use your tools, and should contain your high-level ant as a example.