In version 0.6, we added the following new features to the PILOTS grammar:
- Support for supervised machine learning with
trainergrammar. - Support for adding new machine learning algorithms.
- Introduction of a new compiler flag to compile
trainer(.trn) files. - Take-off weight estimation examples.
In version 0.5, we added the following new features to the PILOTS grammar:
- Support for multiple models of analytical redundancy (for details, see our DASC2019 paper). Example programs to support this feature are available under examples/multi_redundancy directory.
- Support for multiple error values under the
errorssection. - Support for multiple
estimateclauses under thesignaturesandmodessections (as a side effect of this new feature, thewhenclause is now deprecated). - Enhancement of the
modessection to support general boolean expressions. - Scoped naming for output variables using the
namespacecommand line option (e.g., output variablexfrom a child program with--namespace Aoption can be referred to asA.xin the parent program). Example is available here.
- Support for multiple error values under the
- Reserved
modevariable to store the estimated mode. - Introduction of
constantssection to declare constant values. - Support for
x^nexpression to denote the n-th power of x.
In version 0.5, there are some new features to the PILOTS runtime system and its utilities:
- Arguments to PILOTS programs are now handled by argparse4j.
- Log messaging with Java Logging APIs. Logging levels are configurable through
logging.properties. MultiChartsServerto show multiple plots in one window. Settings for multiple plots can be configured through a single yaml file (example yaml file). Due to this functionality, JFreeChart and JCommon must be updated to v1.0.19 and v1.0.23 respectively.
-
Language only supports error signatures that are a constant, or a linear function. Examples are:
- S: e = 100;
- S(K): e = K, abs(K) > 25;
- S(K): e = 2*t + K, K < 0, k > -100;
-
The
whenclause introduced in our Cluster Computing journal article is deprecated due to the support for multipleestimateclauses under thesignaturesandmodessections in v0.5. The previous implementation of thewhenclause assumed that there is only oneestimateclause per signature, but we decided to give priority to the support for multipleestimateclauses in v0.5.
-
Examples of potential additions for federated learning and methods to create ensemble models can be seen in the future work example
-
Types of error signatures we would like to support eventually:
- S(K): e = K
- S(K): e = K*t^2
- S: e = t
- S(K1,K2): e = K1*t + K2, K1 != 0, K2 > threshold
-
Better syntax support for intervals (in signature constraints)
- i.e., K in (0,10) or K not in (-10,10)
-
Simulation mode with support for dynamic simulation inputs
- Multiple files, each corresponding to a particular input
- Different directories for the different times
- Forecast data
-
Enhanced error analysis accuracy
- Different interpolation methods
- More types of error signatures
-
Resolve the limitation for the
whenclause described above