LSPS documentation logo
LSPS Documentation
Quickstart

This guide is the place to start if you are new to Living Systems Process Suite (LSPS). You will get familiar with the product's architecture, its environments, and related documentation, and create your first business model.

What is LSPS

LSPS is a suite of tools that allow you to develop a flexible company application that will distribute work to your employees, communicate with external systems and users and that in a very short time-frame.

You will be able to manage processes and any related data, monitor key performance indicators of processes and activities, integrate with social media platforms and much more.

Tools

First, you need to install Process Design Suite (PDS) as instructed in the Modeling Guide: PDS provides an environment for development of your application.

It allows you to run the models and application locally. In this local setup, PDS installs a locally running application server called PDS Embedded Server with the LSPS Application deployed. LSPS Application is a JEE application that allows you to deploy, run, and manage GO-BPMN models. The heart of the application is the LSPS Server, which stores and runs models, manages their execution, their update, etc.

Important: If you are running the cloud edition, note that the PDS Embedded Server is not available: your PDS connects only to the LSPS Cloud Server.

From PDS, you can manage the LSPS Server from of a dedicated perspective, called the Management perspective.

In this guide, we will deal only with models (we will not modify the LSPS Application).

Summary:

  • Process Design Suite is an environment (IDE) where you design your business models and manage all resources.
  • LSPS Application is a JEE application that works with your business models: it manages the uploaded models, runs the models and manages related resources, such as, user rights and roles.
  • PDS Embedded Server is an out-of-the application server with the LSPS Application deployed.
simpleArchitecture.png
PDS Embedded Server that you start and control from PDS

Hello World Model

First, set up the Process Design Suite:

  1. Install Process Design Suite (PDS) as instructed in the Modeling Guide.
  2. Go to $LSPS_HOME.
  3. Run the lsps-design binary for your platform.
  4. In the Workspace Launcher dialog box, choose a folder where everything you will create will be stored and click OK.

If the selected workspace folder does not exist, it will be created.

The Welcome page appears. Click the Modeling Perspective icon or close the Welcome page.

Before you can create a Hello World model, get acquainted with some basics:

  • First you will create a GO-BPMN project: projects is a basically a directory or folder. It does not influence how your model behaves and is not uploaded to the LSPS Server: it is used only to organize your modules. Generally, one project should be enough.
  • Each project contains modules, which allow you to organize the resources in reusable chunks. You might have one module that will handle invoicing, another for claim-resolution, etc.
  • Modules contain files, called definition files. There are multiple types of definition files depending on their content, such as, variable definition files with variables, organization definition files with hierarchy of involved people, localization definition files with localization units, etc.

Modules are what you upload and execute; it is what your processes follow, when they run. To allow a module to run or to execute, it must be marked as executable. If a module is not executable, you can still upload it; when you upload a non-executable module nothing much happens. The resources are simply uploaded to a module repository. However, the module might be used by other modules.

Designing Hello World Model

Let's create our first model:

  1. In PDS, create a project:

    1. On the main menu, go to File > New > GO-BPMN Project.
    2. In the New GO-BPMN Project dialog box, enter the HelloWorld project name.
      newProject.png
      New GO-BPMN Project dialog
    3. Click Finish.

    GO-BPMN Project is by default created with the Standard Library. Modules import most of the library modules by default as well.

  2. In the project, create the HelloWorld module:
    1. In the GO-BPMN Explorer view, right-click the HelloWorld project and go to New > GO-BPMN Module.
    2. In the New GO-BPMN Module dialog box, enter the HelloWorld module name.

      Note: Leave the executable module check box selected: an executable module is by itself considered a model and can become a model instance instance (the flag somewhat resembles the logic of the main method in Java).

      newModule.png
      New GO-BPMN Module dialog
      You have created a HelloWorld project with a HelloWorld module. Note that the module contains the Standard Library imports.
    3. Create a process definition in the HelloWorld module:
      1. In the GO-BPMN Explorer, right-click the HelloWorld module and go to New > Process Definition.
      2. In the New Process Definition dialog box, enter the helloWorldProcess as the process name and click Finish. Make sure the Type is set to BPMN-based process.
        newProcess.png
        Creating a process definition file
  3. Now you can design the process content:
    1. In GO-BPMN Explorer, double-click the process definition.
    2. In the Modeler editor on the right, create a process with a None Start Event and a Simple End Event connected with the Flow:
      1. In the palette on the right, click the None Start Event.
      2. On the canvas, click where you want to position the None Start Event.
      3. Select the None Start Event and click-and-drag the quick linker icon next to it to the position where you want to place the Simple End Event. In the context menu, select Simple End Event.
        quicklinkerpull.png
        Using quick linker
    3. Select the Normal Flow element between the None Start Event and Simple End Event: in its Properties view, click the Assignment tab.
      helloworldassignment.png
      Hello World with the assignment expression
    4. On the Assignment tab, enter the following expression:
      log("Hello World!", INFO_LEVEL)
      log is a call to the log() function of the Standard Library that logs the specified message with its level to the database log of the application: the Logs can be viewed in the Management perspective.

If you have followed the steps as described above, the module should be valid: in case there is something wrong, check the Problems view. If the view contains a problem entry, you will need to solve it. Check the respective instructions above again and remedy any mistakes.

If there are no problems in the view, you can upload the model to the PDS Embedded Server and run it.

Running Hello World

To run an instance of the HelloWorld model on the PDS Embedded Server, do the following:

  1. In the Enterprise Edition, click to run the PDS Embedded Server. In the Cloud Edition, you are uploading to your cloud server instance; just skip this step.

    On the Enterprise Edition, PDS creates the .LSPSEmbedded folder in your workspace and generates the resources for the server with the LSPS Server, and runs the server with the LSPS Server deployed.

  2. Upload and instantiate the model: right-click the HelloWorld module and go to Run As > Model.

    This uploads the module and its module imports to the LSPS Server and creates its Model instance.

  3. You can check that the model instance was created in the Management perspective:
    1. Switch to the Management perspective (on the main menu, go to Window > Perspective > Open Perspective > Management).
    2. In the Module Management view, click the Refresh ( ) button: The view will display the HelloWorld module and the Standard Library modules.
    3. In the Model Instances view, click the Refresh ( ) button: The view will contain the instance of the HelloWorld model.
    4. In the Logs view, click the Refresh ( ) button: The view will contain the log message of the HelloWorld model.
      monitoringModel.png
      Hello World model instance entry in the Management perspective
  4. Optionally, you check the system data in the underlying H2 database. Set the database URL to jdbc:h2:tcp://localhost/./h2/h2;MVCC=TRUE;LOCK_TIMEOUT=60000 and connect with the user lsps and password lsps.

What Just Happened

When clicked Run As > Model on your executable module, the following happened:

  1. The module with all its module imports, in this case only modules of the Standard Library, was uploaded to the Module repository of the LSPS Server.
  2. The LSPS Server created a model instance based on your model.
  3. The model instance checked for Start Events in processes it could trigger: it found the None Start Event in your helloWorldProcess and therefore created an instance of the process.
  4. The None Start Event of the process was triggered: it produced a token, which indicates what is currently executed.
  5. The token left the None Start Event via the flow to the End Event.
  6. The End Event consumed the token.
  7. Since no more tokens were present, the process instance finished.
  8. Since no other processes were running, the model instance finished.