What is FDDA?
FDDA is a framework to demonstrate distributed algorithms. It is
intended for teaching and learning those algorithms. After you've
programmed the algorithm, you can model a small network and run
it. FDDA will show the sent messages and present statistics.
What is FDDA not?
FDDA is not a simulation software. Algorithms are
demonstrated, not simulated. What that means is, most importantly,
that there are no time guarantees, measurements, or constraints and
that there even isn't real concurrency. If you're looking for a
simulation software, try the network simulator ns-2 and its animation tool nam.
How does FDDA relate to ns-2 and nam?
FDDA does not simulate, it only demonstrates. It is also explicitly meant
for distributed algorithms, not for network protocols. FDDA is
smaller and easier to use. And it's in Java.
How does FDDA look like?
There's a screenshot.
What are the system requirements for FDDA?
Java 1.4. For large networks or many messages, you'll also need a fast
computer.
How does FDDA work?
When starting, FDDA dynamically loads all algorithms it can find. An
algorithm is demonstrated by one thread that goes
through the active nodes sequentially and moves the messages
sequentially. There is not an extra thread for each
node. So there even isn't real concurrency, though it will look like
there was... During the demonstration, the framework will call several
methods you implemented in your algorithm classes, so that nodes can
react to incoming messages, send their own messages, etc.
How do I use FDDA?
Generally speaking, you have to go through three steps: program the algorithm you'd like to
demonstrate. Then, you start the application and model a network for that algorithm. Finally,
you let FDDA demonstrate it.
How do I program an algorithm to demonstrate?
There's a guide.
Are there example algorithms?
Yes. They are provided with the FDDA installation, together with
networks that demonstrate them. The source code can also be found
here: EchoFlooding.java for the echo
algorithm; TokenRingNode.java and its
subclass RingElection.java for the
token ring election algorithm with message extinction.
I have a suggestion / found a bug / would like to ask a
question.
Write a mail.
Why are these pages in English?
Because I think that everyone who knows enough about distributed
algorithms to use FDDA should speak English well enough to understand
these pages. FDDA itself, though, comes in English
and German.
Is FDDA free software?
Yes. It is published under the terms of the GNU General Public License.
URL dieser Seite: http://www.joerg-ruedenauer.de/Software/fdda/faq.html
Autor dieser Seite: Jörg Rüdenauer
Letzte Änderung am: 11.02.2004