This page provides a quick overview of pSeven's functions and features.
Integration and automation¶
pSeven represents a design process as a workflow — a dataflow chart, which captures the process logic as a set of data-dependent subtasks. Each subtask becomes a block in the workflow. Blocks have named inputs and outputs called ports. To pass data between blocks, you connect ports with links, at the same time specifying the data dependencies.
There is no need to set up the block execution order — pSeven automatically resolves the data dependencies between blocks and, when you run a workflow, launches its blocks in the order defined by links. Each block starts as soon as it receives inputs, processes the input data, and sends outputs. Different blocks may work in parallel — for example, if they receive input data at the same time.
Parameters and results¶
Design process parameters and results are selected from workflow ports.
Any input port of any block can be selected as a parameter:
- Select a block in the workflow.
- In the Block properties pane, find the input and mark it as a parameter.
Any input or output port of a Composite block can be added to results:
- Select a Composite block in the workflow.
- In the Composite properties pane, find the port and add it to results.
To view all workflow parameters and results, deselect all blocks (click an empty area in the workflow) to show the Run setup pane.
pSeven supports various ways of collaboration, including:
- Sharing workflows and creating shared workspaces.
- Collaborative editing of shared workflows.
- Publishing workflows as web apps (see Workflow publishing).
In pSeven, you can give other users access to workflows or folders located at the root of your home folder. Sharing a folder also shares all its contents, so you can use folders to create multiple shared workspaces for different projects.
To create a share, hover a folder or a workflow with your mouse and click the share icon. You can also select a single item in the Explorer pane and use the Share a folder... command from the pane's menu.
Clicking the share icon or using the command opens the sharing settings dialog, where you can add users and set their access rights. Users with read-only permission will be able to view share's contents and run shared workflows but cannot make changes. Users with read-write permission may participate in editing.
Once you set up a share, pSeven will show a persistent share icon near its name. Clicking this icon opens the same sharing settings dialog, so you can add or remove users for an existing share or change access rights.
pSeven supports multi-user workflow editing. Users who have access to a shared workflow can work on it simultaneously — for example, adding and configuring different blocks. Changes done to the workflow by different users are synchronized in real time.
Design space exploration¶
pSeven enables effective design space exploration by providing access to pSeven Core — a Python library containing tools for optimization, design of experiments (DoE), and data analysis.
Design space exploration methods supported by pSeven Core include:
- classic space-filling DoE methods,
- DoE methods optimized for response surface methodology (RSM),
- optimized DoE for Gaussian processes modeling,
- adaptive DoE methods for tasks with linear and generic constraints,
- single- and multi-objective optimization,
- robust optimization,
- sensitivity analysis, and more.
The pSeven Core library is embedded into pSeven Enterprise by default. To use its methods, add a Python script block to your workflow, then import any pSeven Core module in the block's script.
pSeven can train and evaluate predictive models using the training algorithms from pSeven Core. Training techniques supported by pSeven Core include:
- Gaussian processes,
- mixture of approximators, which enables incremental model training, useful to update an existing model with new data,
- tensor products of approximations for full-factored datasets,
- data fusion methods for training on multiple datasets of different fidelity,
- gradient boosted regression trees, response surface modeling, spline approximation, and other.
pSeven also enables deploying predictive models as web services. You can load a pSeven Core model into a Python script block in a workflow, then connect to it using pSeven's REST API — see section Workflow as a service for details.
Any pSeven workflow can be published as a web app to AppsHub — pSeven's built-in repository of workflow-powered applications. Apps have simplified UI, which by default shows only workflow parameters and run results. It is also possible to add a custom task-specific interface to an app, including results visualization, usage guidelines, and so on. Any pSeven user who has access to AppsHub can run apps without configuring or editing their workflows — so using apps does not require any working experience with pSeven.
To publish a workflow, select it in the Explorer pane, then select Publish to AppsHub... from the pane's menu to open the publish dialog.
In the publish dialog, name your app, add a description and a thumbnail to show on the main AppsHub page.
Optionally, you can give other users the permission to obtain a copy of the published workflow. If you select "Allow other users to get the workflow from the app" in the dialog, AppsHub users will be able to download a copy of your workflow to their private workspace. A user who downloads a copy becomes its owner and can edit, configure, and run the obtained workflow. These changes are safe to the app because they apply only to the user's copy.
Custom app UI¶
You can replace the app UI, provided by pSeven by default, with a custom web UI to make app's interface more specific to its task.
App UI files are located in the special UI folder in the workflow folder. When you create a new workflow, pSeven creates its UI folder and copies the default UI there. You can download this UI folder and use pSeven's default UI as a starting point in developing a custom app UI for your workflow.
pSeven features various ways of extending its capabilities and integrating with external services. This section lists the extension methods and provides links to detailed guides.
pSeven provides a block development template, which you can use to add custom user blocks to the pSeven block library. This template is available from the block library and from examples in AppsHub.
To get the template from the block library:
- Create a new workflow.
- Add Example user block from the Common library section (double-click it or drag to the workflow).
- Double-click the new Example user block created in the workflow to open it. See the block's Help for the development guide.
To get the template from AppsHub:
- Switch to AppsHub using the link from your user profile menu.
- Open the User Block Example app and see the example's description for the development guide.
Workflow as a service¶
pSeven workflows can be integrated with external web services and applications using the REST API — the protocol to run existing pSeven workflows. A REST client can connect to a workflow, set its parameters, launch a workflow run, get its results, exchange data with the workflow at the run-time, and so on.
Using the REST API requires a token, which you can get either by authorizing through the API or from your user profile menu.
To run a workflow, you are going to need its API URL. To get it, select the workflow in the Explorer pane and use the Copy API URL to clipboard command from the pane's menu. If you work with many workflows, you can also get a list of your workflow URLs using API requests.
For further details on using the API, see the pSeven Enterprise REST API Guide.
A REST client that runs a workflow can exchange data with its blocks while a run is in progress, using the messaging mechanism. For example, you can set up a block to wait for a message from the client, then process this data to produce output.
For details on using the messaging mechanism, see section Messaging in the pSeven Enterprise REST API Guide.
App as a service¶
Similarly to workflows, you can use the REST API to run apps from AppsHub. The app API is generally the same as the workflow API described in pSeven Enterprise REST API Guide. The key difference is that you will need the app's URL to work with. To get the URL, open AppsHub and hover the app thumbnail with your mouse, then click the copy icon.
Windows extension nodes¶
pSeven can be extended with additional Windows nodes, which you can use to run node-locked or Windows-only software. For example, if a block in your workflow integrates a tool that runs on Windows only, you can configure this block to run on a specific Windows node where the tool is installed:
- Select the block in a workflow.
- In the Block properties pane, select one of the nodes from the drop-down list under the block's name.
Extension nodes are set up after the main pSeven deployment and can be added at any time on demand. For more details, refer to the Extension node deployment guide.