Initializing help system before first use

# Authoring a Model for Xpress Executor

You can develop and compile your Mosel model in Xpress Workbench or through other Xpress development tools.

Input and Result

When your model is executed, it should read input data (as supplied by the REST API execution request) from a file named `input` in the current work directory. There are no restrictions on the format of the input data; your model will be responsible for parsing it in whatever way is appropriate.

Any result data from your model should be written to a file named result in the current work directory. This file is returned in the response object returned from the REST API execution request.

The work directory

Normally, each execution is assigned a private work directory which will initially contain:

- The compiled model (in a file named `model.bim`).
- The content of the model zip file (if the model was uploaded as a zip file).
- The execution input file (in a file named `input`).

The model is free to read/write other files to this directory, and should write its result data to a file named `result`.

Because Xpress Executor reuses Mosel instances, the work directory is not cleared when the execution completes and can be reused for subsequent executions. You can use the work directory to locally cache files or data that are expensive to acquire, such as files downloaded from Internet websites. However, your model must take care to leave the work directory in a state that is usable by the next execution.

Model Exit Codes

The following model exit codes by convention have special meaning in Xpress Executor:

Code | Description
--- | ---
-97111 | indicates that Executor should rerun this execution from the beginning
-97112 | indicates that Executor should terminate the current Mosel instance, and rerun this execution from the beginning. This is typically used when the Re-use Mosel instances for multiple executions feature is activated, to force an instance to be discarded and the execution to be re-run in a fresh Mosel instance and work directory.

All other exit codes are treated normally; they are recorded in the repository and can be read from the web service API. There is no assumption in Executor that 0 represents success or that a non-zero exit code represents an error.

Note: It is the client's responsibility to retry an execution if an execution request is rejected or fails, or if the connection is interrupted. If the client drops the connection after submitting an execution request, and then submits another request after reconnecting, it is possible that Xpress Executor might have more than one execution running at the same time. Your model should be written with this possibility in mind and should guard against any side effects that might result.
Covered Topics

- Using the Shared Database
  All Xpress components (Insight, Workbench, and Executor) deployed in the same solution at the same lifecycle stage share the same solution database.
- Working with FICO Drive
  Your apps can interact with files located in the cloud using FICO Drive, subject to some provisions in the underlying Mosel model.
- Model Restrictions
  Xpress Executor operates in a secure configuration on the FICO Analytic Cloud. This secure configuration enforces a number of restrictions:

Parent Topic Executor 4 FICO Platform Component Guide

© 2001-2026 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.