GENIUS, is a software layer based on Swing, fully written in Java (no need of code generation) but allowing to create more easily GUI for scientific tools for any kind of platforms.
Indeed, in Java world, calling basic tools, as Swing, may become relatively complex to use and maintain because it stays at a certain low level (on the opposite, it allows to do many things). Moreover, GUI for flight dynamics tools (or, more generally, scientific tools) need most of the time:
- To enter input (numerical) data from the screen or the keyboard
- To read / write these data into files
- To execute computation thanks to these data,
- To visualize results
So, the main advantages of this tool are:
- Simplified approach, in particular about events management (BEFORE, AFTER)
- Performing conditional display
- Read/write for XML files directly integrated
- Units management
- Process management compatible of all OS (thanks to Java).
GENIUS has also the support of CNES tools utilization for tens of years in particular in the operational domain. Thus, it includes very interesting functionalities as:
- Validity intervals management for number parameters as a global error management on a set of data.
- By default, reference or modified values management.
- « copy/paste » for widgets
GENIUS is now internally used by CNES for most of expertise tools development as PSIMU as well as for other tools with an operational role as ELECTRA.
GENIUS is provided as Open Source under license Apache 2.0. Java doc is accessible via its Wiki.
Versions available on this site only start at V1.9.1. To get older ones, do not hesitate to contact us.
To be used, we must get the following tools:
- Miglayout 4.2 (http://www.miglayout.com/)
- Jdom 1.1.2 (http://www.jdom.org/)
- Gettext-commons 0.9.8 (http://xnap-commons.sourceforge.net/gettext-commons/)
- JFreeChart 1.0.19 (http://www.jfree.org/jfreechart/)
- commons-io 2.4 (https://commons.apache.org/proper/commons-io/)
- sqlite-jdbc-3.15.1 (https://www.sqlite.org/)
- exp4j 0.4.8 (https://www.objecthunter.net/exp4j/)