Run a Bot

This page explains how to launch a Bot when the user has one available on his platform. The tutorial is based on a knapsack problem application in order to provide more specific examples for the user.

1. Identify your workflow and its options

Once a workflow has been loaded or created (trough the workflow builder) by a user or a platform provider, it’s available on the main page of the Bot Store.

In the following picture, the Workflow Knapsack Problem has been shared by a team member in the specific Workspace Base_de_donnees_Formateurs. Thus, the workflow is available both in this section and in the Overview of all my bots section. This last section shows all the workflows available to the user on every Workspace to which he have access, including those created by him and not shared with a specific Workspace.

Global information is also visible on the workflow identification card, such as its name, a brief description of its purpose (when provided by the user or the developer), and the last calculation (or Job) that was launched with this workflow.

Overview

Several options are available when the workflow has been identified on the Bot Store page. According to the following picture, four main options provide access to several functionalities:

Options

1 - Click on the workflow's name: This opens a page to run, start, edit, share, report an issue, delete, export the workflow, or change its description, name, or documentation. A summary of the last calculations (Jobs) launched by the user with this workflow is also provided.

Controls

2 - Click on the three dots: This opens a small modal page to open, edit, share, delete the workflow, or copy its link for sharing outside the platform.

Three points

3 - Click on the play button: This opens the workflow form page used to provide input values and launch a workflow calculation.

Play

4 - Click on the result name (only if the state icon is green): This opens the corresponding result page.

Result

2. Provide input values to your workflow

In order to launch the workflow, several input values are required for calculation and are requested from the user on the form page (see the picture of the third item of 2. Identify your workflow and its options).

For this specific Knapsack Problem application, input values are separated into four main categories. As a reminder, the Knapsack problem consists of a knapsack that can contain up to a certain mass of items. Several items are available in a store, and each one has both a mass and a price. The challenge is to find the best solution that consists of the highest summed price of items that can fit into the knapsack for the maximum mass.

Thus, the necessary input values are defined as:

  • A list of items with a mass and a price defined for each one of them
  • A knapsack with its specific maximum mass capacity

In the form, these input values are presented in the first two main categories, “Items” and “Knapsack”.

a. Create a new item

A new item can be created by clicking on “+ Create” in the “Items” category.

New item

Specific values can then be provided by the user for the mass and price. A name may also be added to identify this item in the database more easily. When both attributes are provided by the user, data can be saved using the ”Save as New” icon on the field's right-hand side.

Save item

The new item is created, added to the problem items, and will be used in the calculations.

b. Load pre-created items

If several items have already been created by the user or shared through a workspace by other team members, they are also available for form filling. A created or provided item can be added to the problem items by clicking on “+ Load” in the “Items” category.

Add item

A new page opens for the user to select the desired items.

Load item

By clicking on several items and validating on the “Select” button, items are directly added to the problem items with their own mass, price, and name attributes. One is also able to select all the items by clicking on the “Select All” button.

Result item

c. Enter the last required input values

The other required input values are filled in the same way:

  • Create a knapsack with its own allowed_mass and name characteristics.
  • Specify a minimum mass that filters out all solutions generated that don't meet this minimum mass in the final knapsack.
  • Assign a name to the entire simulation to easily identify and find it later.

Other required fields

d. Optional fields

In some cases, the workflow creator may choose to impose default values for specific inputs. In such cases, those values are considered optional and stored in a separate section of the form.

For the knapsack example, the two optional parameters are:

  • The maximum number of gold items in a solution.
  • The maximum number of iterations.

Optional fields

e. Fill in the form with values from last runs

In specific cases, if a previous calculation has produced results or not, it can be useful to load the previous input values that generated those outcomes. An option is available on the top right-hand side of the window to load these inputs. The user can then relaunch the calculation, modify the data before doing so, or even reset the entire form with the subsequent button if a mistake has been made.

Fill from old

f. Check documentation for each parameter

If required, documentation is available for each parameter when the workflow developer has filled in the specific class or method docstrings. These can help the user select the correct value, type, or unit or even understand the meaning of a parameter notation before filling in the input value.

Docstrings

g. Adapt your attributes names

All the form field names may be adapted in order to help the user in the form filling. Refer to the following manipulations to modify them:

  • Go to the Bot Store
  • Edit the Workflow by click on the three points option on the workflow’s card
  • Identify the corresponding block and input
  • Right click on its port and click on “Rename”
  • Enter the required name and Save
  • Save the whole Workflow
  • Go back to the workflow’s form

3. Launch and track your workflow

a. Launch your workflow

When your form is complete, launch your workflow by clicking the Submit button on the bottom right-hand side of the window.

If the page doesn't change immediately, wait a few seconds before investigating. Do not click the Submit button again, as it may launch a second instance of the calculation. If you have forgotten a required input value, the workflow will not run and you need to specify the field before trying to launch the calculation again.

Submit

b. Tack your workflow

Once the workflow has successfully submitted the input values and is running, you can track its progress on the tracking page that opens automatically.

Computing

Several phases may appear during the calculation:

  • Pending: The current computation is in queue and waiting for another calculation to finish.
  • Computing: The current computation is currently running.
  • Inserting_in_db: Objects are being serialized and inserted into the database to be stored so that the user can explore the results and work with them later.
  • Success: The current calculation has finished without any errors.
  • Failure: The current calculation has been blocked by an error during the computing or inserting_in_db phases. The error may be a result of incorrect input values or development errors that have been identified in the Admin - Systems Logs panel.
  • Aborted: The current calculation has been stopped by the user.
  • Lost: The current calculation has been stopped due to a platform restart and data have been lost.

Computing labels

Different pieces of information are also available to the user on the interface:

  1. The workflow current state among those presented above.
  2. Date and time at which the workflow was launched and finished.
  3. Workflow duration, which includes the pending, computing, and inserting_in_db phases and the details of specific workflow phases (insertion in database and computing only).
  4. The workflow owner which corresponds to the person who launched the calculation.
  5. The origin object of the workflow, which redirects to the workflow object presentation page when clicked.
  6. The result object of the workflow, which redirects to the workflow run object presentation page (i.e., the page displaying the results) when clicked.
  7. When clicked, the support button redirects to a page on the platform that uses the current workflow as a reference to request a bug fix or a new feature.
  8. The form button redirects to the form page, where the user can rerun the workflow with the same or different data.
  9. Information on the logs produced by the workflow. These logs correspond to messages intentionally developed to provide the user with information.
  10. If the option is expanded, provides a summary in developing mode of the input data given by the user (object inputs only have their reference in database identifier).
  11. Two pieces of information are provided on the time spent since the current workflow was launched: the total duration of calculations and insertion in the database, and the calculation process accomplishment percentage.

c. Explore your results

When a workflow has reached its Success state, the user can access its results page by clicking on the Results button.

WorkflowRun