Seed is java software distributed as a jar file, which generates uniformly at random
tree structures specified by the user using a grammar described in an XML file.
Seed was designed by Pierre-Cyrille Heam, from the University of
Franche-Comté, and by Cyril Nicaud from the University of Paris-Est
Marne-la-Vallée. It has been written by Cyril Nicaud.
II. Trying seed
III. Using seed
- To use seed on a description file named 'filename.xml' to generate
k random objects of size n, use the following command:
java -jar seed.jar filename.xml n k
The output is an XML file whose root tag is "trees". Children of the
root are k tags labelled by "tree" corresponding to the k random generations.
The XML description of each tree is quite explicit as the XML structure
encodes directly the tree structures.
If there are quantified variables in the specification
they appear at the beginning in the form
The standard output is used, so you can easily redirect the result in a file
or in a program using. For instance, to write the output in random.xml use:
java -jar seed.jar filename.xml n k > random.xml
- Changing k into -count gives the exact number of distinct objects of
size n statisfying the specification. For instance:
java -jar seed.jar LTL1.xml 20 -count
Indicates that there are 30,330,559,552,144 such LTL formulas.
- Changing k into -text generates one object that is written as a one line
text. It is mainly used to verify if the given specification behave as intended.
java -jar seed.jar LTL1.xml 20 -text
next(neg((a or (neg(b) until (neg((b until a)) or next(next((c or (a or next(a))))))))))
IV. Writting a specification
The specification must follow this DTD.
A complete set of examples is available here.
A complete tutorial is available to learn
how to use it.