Synthia
Generic and flexible data structure generator
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234567]
 Nca
 Nuqac
 Nlif
 Nsynthia
 NcollectionPickers generating and manipulating collections, such as lists and sets
 NenumerativePickers that systematically enumerate all values from a set of other pickers
 NexplanationObjects related to the explanation of results produced by pickers
 NgrammarPickers generating sequences based on a context-free grammar
 Nmap
 NrandomPickers that produce pseudo-random objects such as numbers
 NrelativePickers that produce a value in relation to another value
 NsequencePickers related to the generation of a sequence of values
 NsignalPickers producing values representing a form of (periodic) signal
 NstringPickers producing and manipulating character strings
 NtestClasses that enable Synthia to operate as a fuzz testing tool
 NtreePickers for the generation of trees made of nodes with labels
 NutilMiscellaneous pickers performing various functions
 NvectorPickers generating multi-dimensional numerical vectors
 Nwidget
 CBoundedInterface used to signal that a picker enumerates all values from a set
 CCannotShrinkExceptionAn exception to throw when a picker can't pick an other element
 CGiveUpExceptionAn exception to throw to prevent the pick method of a PickIf picker from falling into an infinite loop
 CIndexPickerPicker for an integer from 0 to a fixed bound
 CMainDummy main file
 CNoMoreElementExceptionAn exception to throw when a picker can't pick an other element
 CPickerPicks an object
 CPickerExceptionGeneric runtime exception thrown by the Picker interface
 CReactiveInterface implemented by pickers whose picking of objects can be altered by external information
 CResettableSignals that an object can be put back into its initial state
 CSeedableInterface implemented by objects that can be seeded
 CSequenceShrinkableSignals that a picker can shrink the sequence of values it has produced since its last reset
 CShrinkableInterface signaling that a picker can be shrunk
 Nexamples
 NapacheGenerates a fake web server log simulating the trajectory of multiple visitors through a randomly-generated site map
 CGenerateLogMain program that generates the simulated log file interleaving multiple visitor instances
 CLogLineRepresentation of a line of Apache's access log
 CStatusCodeThe possible status codes associated to each request
 CVisitorPickerA picker producing instances of visitors
 NbasicSimple examples involving only basic pickers
 CBiasedCoinUses RandomBoolean to simulate a series of biased coin tosses
 NgrammarGenerates values based on derivations of a formal grammar in Backus-Naur form
 CGrammarDemoGenerates character strings corresponding to sentences formed according to a BNF grammar
 NgraphsIllustrates pickers generating various trees and general graphs
 CBarabasiAlbertGenerates a graph following the Barabási–Albert model
 CPickTrees1
 NguiExamples showing pickers interacting with elements of a graphical user interface
 CCalculatorA simple calculator
 CCalculatorPanelThe actual panel containing the interface of the calculator
 CCalculatorMonkeyPerforms monkey testing over a simple calculator, using Synthia's Monkey
 CWidgetActionA Action that performs a concrete action on a widget
 NhypersphereA series of simple examples showing how the same HyperspherePicker can produce points following different patterns depending on the composition of pickers given as its input arguments
 CVariation1Generates two-dimensional points lying along two concentric circles
 CVariation2Generates two-dimensional points lying at right angles along a randomly selected circle
 CVariation3Generates two-dimensional points producing a spiral pattern
 CVariation4Generates two-dimensional points lying along an oblique line
 NmutationExamples showing the object mutation functionality of some pickers
 CMutatedListsIllustration of mutation operations on lists and list elements
 NoscilloscopeExamples combining the SineWave picker with a two-dimensional PrismPicker
 CAMRadioIllustrates the principle of amplitude modulation using sine wave and prism pickers
 CFMRadioIllustrates the principle of frequency modulation using sine wave and prism pickers
 CLissajousUses the SineWave picker with the PrismPicker to generate Lissajous figures on an oscilloscope screen
 COscilloscopeA simple JFrame that simulates the operation of an oscilloscope
 NprovenanceExamples illustrating the explainability functionalities of Synthia
 CExplanationList1Demonstration of Synthia's explainability features on a wiring of pickers producing a list of points
 CExplanationList2A variation of ExplanationList1 where a different explanation is requested, showing that fine-grained parts of the output can be tracked
 NquickcheckExamples illustrating the shrinking functionalities of Synthia
 CPrimeSimple illustration of the shrinking process on randomly generated integers
 CSortIllustrates the shrinking process when testing a procedure that sorts lists of numbers
 NsequencesExamples of pickers generating sequences of objects
 CBehaviorTreeExampleGenerates a random sequence of strings whose content is defined by a behavior tree
 CMarkovSimpleGenerates a sequence of values according to a Markov chain
 Nutil
 CUtilitiesObject providing a few utility methods to simplify the examples in this project