Initializing help system before first use

Procedures and functions

Mosel instance management

The type Mosel is used to reference a Mosel instance. Before an instance can execute commands (like loading or running a model), it must be connected. Connecting an instance consists in starting an additional operating system process running Mosel: this is done by the connect function. To improve readability of the model source, one can use host aliases (defined by means of the sethostalias routine) to designate connection targets. Once work with a particular instance has been finished, the instance can be disconnected (disconnect): this terminates the process running Mosel (and releases all associated resources).

Delete all defined aliases.
Connect a Mosel instance.
Disconnect a Mosel instance.
Search xprmsrv servers on the local network.
Retrieve the list of all defined aliases.
Get the banner displayed by an instance on startup.
Get the value of a host alias.
Define a host alias.

Model management

The type Model is used to reference a Mosel model. This section describes the procedures and functions available for model management: compilation of source model files, loading of bim files, execution and retrieval of model information. Note that before it can be used, a model has to be initialized by loading a bim file (load).

Compile a source model.
Detach the current model from its parent node.
Get model identitifiers for which annotations are available.
Get model annotations associated to a given symbol.
Get module information.
Get the exit code of a model.
Get the group ID of a model.
Get the ID of a model or Mosel instance.
Get model information.
Get the ID (node number) of the Mosel instance of a model.
Get the ID of a model on a remote instance.
Get the status of a model or of an instance.
Get the user ID of a model.
Load a Binary Model file.
Reset a model.
Remove a parameter from a model parameter string.
run
Run a model.
Set an instance control parameter on a remote instance.
Set default input/output streams of a model.
Add or change the value of a parameter in a model parameter string.
Set the initial working directory of a model.
Stop a running model.
Unload a model.

Synchronization

Synchronization between running models can be implemented using events. Events are characterized by a class and a value and may be exchanged between a model and its parent model. The model from which an event has been sent is identified by its unique ID, its user ID and its group ID. An event queue is attached to each model to collect all events sent to this model and is managed with a FIFO policy (First In – First Out). Depending on the needs, a model may check whether its queue is empty or simply suspend its execution until it has been sent an event.

The type Event represents an event in the Mosel language. Objects of type Event may be compared with = or <> and assigned with :=. The function nullevent returns an event without class and value: this is the initial value of a newly created event and no model can send an event of this kind (i.e. the class is necessarily not null).

Cancel an active timer.
Drop the next event in the event queue of the model.
Get the class of an event.
Get the group ID of the sender of an event.
Get the ID of the sender of an event.
Get the user ID of the sender of an event.
Get the next event in the event queue of the model.
Get the amount of time remaining before a timer expires.
Get the value associated with an event.
Check whether there are events waiting in the event queue.
Return a `null' event.
Peek the next event in the event queue of the model.
Clears the internal buffer of a memory pipe.
Register for a notification associated to a memory pipe.
Send an event to a running model.
Set the group ID of a model.
Create or update a timer.
Set the user ID of a model.
Wait for an event.
Indicate whether the previous 'wait' or 'waitfor' expired.
Wait for specific events.
Wait for the end of execution of a model.

© 2001-2025 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.