PSquared is an application to manage Production Processing. Its two main responsibilities are:
It achieves this by binding a submitted item for processing with a pre-defined software configuration into an entity called a Pairing. This Pairing then follows the state machine diagrammed below.
In this state machine a Pairing only is assigned a state once the has been a request to process the item with the particular software configuration, and that first state is PROCESSING. The PROCESSING state has two sub-states in order to accomodate queued execution of the process. The states starts in the QUEUED sub-state until the execution system is ready to actually start the processing, at which point it moves to the EXECUTING sub-state. When processing is complete it is either successful, in which case the Pairing enters the PROCESSED state, or fails, in which case the Pairing enters the FAILED state.
(The full state machine is detailed elsewhere)
The PSquared system is organized into a number of distinct parts as shown below.
The main application, which runs in a JEE 7 Java Enterprise Edition application server - Wildfly 10 is the currently recommended one and all discussion in this documentation will be based on that.
The client, which uses a RESTful API to place requests to and receive reports from the main application.
A runner, which is dependent on a selected scheduler component of the main application, and acts as a container in which the process is actually executed in whichever processing system has been requested.
Most interactions with the PSquared system take place using client that use the RESTful API. (Some actions are not currently available through the API so must be done directly in the main application, and these should only be done by experts.) Currently there is only one PSquared client, pp-cli, the PSquared command line interface.
The PSquared command line interface command, pp-cli, can be used to for the following tasks for one or more Pairings.
The full details of how the use pp-cli are documented elsewhere