ELIA Developer Documentation
This page will be used to add information specific to project developers.
Some useful topics to consider covering:
- high-level design overview
- include explanation of time synchronization
- setting up development environments in IntelliJ and Eclipse
- building ELIA, along with aim to fully automate build and deployment
- testing and testing policies
- running JUnit unit and integration tests
- writing and running Fitnesse functional tests
- pushing out a release
- updating version numbers
- links to Groovy and Java API docs
- challenging issues
- user doc - pushing to web, automating .docx to PDF, considering DITA
- migrating persistence format
- preserving support for reading old experiment files
Experiment File Format
Experiment files are saved with the extension .elia. They are written using Java serialization as a sequence of two objects, a version string(e.g. "0.07.01") followed by an instance of Experiment. Future versions of ELIA must be able to read experiment files written by prior versions, which will likely eventually require that the serializable classes implement serialPersistentFields as described in Advanced Serialization to accomodate structural changes to the classes.
The classes that participate in serialization include the following:
- Experiment - custom serialization
- Trial - default serialization
- TemporalStatus - custom serialization
Details about their serialization formats can be derived from the JavaDoc within each source file, based on the use of @serial and @serialData tags.