Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Getting Started

Flo-Lang is a DSL built with Jetbrains MPS that was designed to model orchestration workflows and generate various software components that can be used in a Java application. Currently, these are:

  • Akka Event-Sourced Domain model + Finite State Machine

  • Graphiz graphs for visualising the flow

  • Test-FW complaint BDD Test scenarios for the possible permutations through the flow

  • Embeddable documentation from the model, in the form of Asciidoc

MPS itself is traditionally IDE driven, so we have built a set of modules and configurations that allow transparent integration into downstream projects uses, providing that the downstream project is Maven based, and adheres to a set of conventions.

Note that whilst the MPS IDE (Or Intellij with MPS Plugins) is needed to create and modify solutions, it is not needed to compile existing solutions via the Maven build. The Maven build process actually downloads an MPS binary and compiles the solution in a headless mode.

Users have several options on workflow with regard to obtaining MPS.

1. Installing MPS

Current working MPS version for command line builds and IDE is 2021.3.1.

The most common way to install MPS is via Jetbrains ToolBox as this manages installation of different versions.

getting started 1

An alternative is to use the MPS binary that gets downloaded and compiled against as part of the build process.

There is a shell script to start the IDE in the following equivalent folder:

<your_project_root>/<your_domain_root>/mps/target/mps/bin/mps.sh

Project Setup

It is always advised that to create a new project setup you use the IPF archetype. This provides a simple mechanism to bootstrap a new project and gives you the ideal launch pad to create your payment flows.

Once your new project has been set up using the archetype, we can simply open the project in MPS by selecting File/Open and then navigating to <generated_archetype_root>/domain-root/mps.