In version 0.6, we added the following new features to the PILOTS grammar:
- Support for supervised machine learning with
trainer
grammar. - 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
errors
section. - Support for multiple
estimate
clauses under thesignatures
andmodes
sections (as a side effect of this new feature, thewhen
clause is now deprecated). - Enhancement of the
modes
section to support general boolean expressions. - Scoped naming for output variables using the
namespace
command line option (e.g., output variablex
from a child program with--namespace A
option can be referred to asA.x
in the parent program). Example is available here.
- Support for multiple error values under the
- Reserved
mode
variable to store the estimated mode. - Introduction of
constants
section to declare constant values. - Support for
x^n
expression 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
. MultiChartsServer
to 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
when
clause introduced in our Cluster Computing journal article is deprecated due to the support for multipleestimate
clauses under thesignatures
andmodes
sections in v0.5. The previous implementation of thewhen
clause assumed that there is only oneestimate
clause per signature, but we decided to give priority to the support for multipleestimate
clauses 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
when
clause described above