PILOTS (ProgrammIng Language for spatiO-Temporal data Streaming applications) is a highly declarative programming language for spatio-temporal streaming applications. It is capable of detecting and correcting data errors through user-defined error signatures.
PILOTS has been successfully applied to avionics applications. Most notably, we have shown that PILOTS can fix data errors caused by pitot tube sensor failures which occurred in Air France Flight 447 accident. For more information, visit the PILOTS web site and look at related papers.
Note: The following commands shown for the command line are assumed to be implemented in the bash shell
Basics of using a terminal Installing programs for use on the terminal
- Java JDK 1.8 or newer.
- Bash shell to run example PILOTS programs.
- (Optional) JavaCC if you want to modify the PILOTS grammar. For machine learning component of PILOTS:
- Python 3
- Python libraries: numpy, scipy, scikit-learn, pickle, and flask Using pip they can be installed using the following line:
pip3 install numpy scipy scikit-learn pickle flask
-
Download a PILOTS release either from the PILOTS web site or the PILOTS github page.
-
Dependencies of the PILOTS library are included in
lib
directory.
-
Setting environment variables / aliases
- In
.bashrc
, set thePILOTS_HOME
environment variable to store the directory containing this README (i.e., root directory of the PILOTS installation). For example, if this README is installed in /home/user/software/pilots, an export command to setPILOTS_HOME
looks as follows:
export PILOTS_HOME=/home/user/software/pilots
Note that the directory containing this README is referred to as
$PILOTS_HOME
hereafter.- Followed by the above export command for
PILOTS_HOME
, set the followingCLASSPATH
environment variable and compiler command aliases in.bashrc
:
export CLASSPATH=.:$PILOTS_HOME/lib/* alias plc='java pilots.compiler.PilotsCompiler' alias plcsim='java pilots.compiler.PilotsCompiler --sim' alias pltserver='$PILOTS_HOME/pilots/util/model/server.sh'
- In
-
Building a PILOTS jar file
In
$PILOTS_HOME
, run$ ./build.sh
pilots.jar will be created under the
$PILOTS_HOME/lib
directory.
- First read about PILOTS in the wiki
- Follow along the README in a simple program: Twice, Twice Sim
- Try some other programs Aoacheck
In PILOTS, the model function is a function which uses a machine learning model to generate an output based on a given input.
- First try the Prediction Twice program
- Try the N4207P Sim program
- Experiment with the Takeoff Weight Estimation program
- Try making your own machine learning algorithm, please see pilots/util/model/ for instruction