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 LSPS Cloud Edition, PDS Embedded Server is not available: your PDS can connect to the cloud server only.

From PDS, you can manage the LSPS Server form 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

Launching Process Design Suite

To launch the Process Design Suite, do the following:

  1. Go to $LSPS_HOME.
  2. Run the lsps-design binary for your platform.
  3. 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.

Creating the Hello World Model

First you create projects: they exist only in your workspace and are intended for organization purposes. A GO-BPMN project contains modules, which allow you to organize the resources still further, but also provide the visibility and executability features, similarly to Java packages: a module contains definitions of processes as well as other resources, such as, variables, organization hierarchy of involved people, localization units, etc.

Modules are what you upload to the server. If a module is executable, it can be used to create a model instance. The server then executes the model instance, based on the definitions in the module and its module imports, which are simply imported modules.

To create the project structure with the module and process, do the following:

  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.
  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 Execution Engine; 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, were 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. Hence it created an instance of the process.
  4. The None Start Event produced a token, which indicates where the execution is currently at.
  5. The LSPS Server moved the token to the End Event, which consumed the token.
  6. Since no more tokens were present in the process instance, the process instance finished.
  7. Since no other processes were running in the model instance, the model instance finished.

What to Do Next

Now that you have a rough overview of how LSPS works, you can refer to one of the following: