Package gov.nasa.jpl.aerie.merlin.protocol.driver


package gov.nasa.jpl.aerie.merlin.protocol.driver
Interfaces implemented by the external environment of a mission model.

Since a model provides methods to be invoked by a driver, typically the only way for the model to communicate back to the driver is via the values returned from its methods. However, it is often necessary for the model to communicate with the driver without returning immediately. The interfaces in this package are provided as arguments to a model at one time or another, allowing the model to call back to the driver.

The exception (which proves the rule) is the CellId type, which has no methods of its own. Instead, it acts as a typed identifier that the model can use to ask the driver for the current state of an allocated cell. (It "proves the rule" because it is used precisely when calling the driver back.)

The model can only interact with the driver during three contexts: initialization, execution, and inquisition.