Risk, opportunity, analysis and monitoring (ROAM) tool

Overview

The risk, opportunity, analysis and monitoring (ROAM) Tool (formerly known as the “risk tool”) is a solution for data processing, analysis and monitoring. The ROAM tool processes incoming streamed or historic data into metrics and figures that give insight into efficiency, costs, risks, and opportunities. It uses so-called risk recipes that transform the incoming data, and workflows that receive incoming streamed data, transform the data using multiple recipes, and publish the output in a stream.

The ROAM tool has been designed with a high degree of customizability in mind, allowing users to tailor their recipes to any specific situation. The tool is capable of just about any data transformation. However, the recipes developed along with the tool are tailored to risks, associated costs and metrics, and opportunities in mind. The ROAM tool can also alert users whenever risk values grow or reach a threshold.

ROAM tool features

  • an easy to use recipe creation user interface
  • a simple monitoring user interface
  • highly customizable recipe templates
  • a library of ready-to-use recipes

Design

Recipes

The ROAM tool makes use of risk recipes. These are data transformation modules which process the data into a new format. In some cases data specific to the configured workflow may be required in order to compute a risk. For example, a recipe might require information about the deadline for a process, and this data may not be produced by the relevant data stream. In this case, the deadline would be configured in the tool ahead of time.

The tool comes with pre-made risk recipes, but has a highly customizable risk creation functionality.

Workflows

Recipes can be chained into a risk workflow, which outputs the risks, and its visualisations, to the user. This allows for users to create workflows with multiple smaller recipes that can be reused in other workflows as well. Additionally, this allows users to receive multiple metrics at once, contained in the same output, instead of having to invoke outputs of multiple recipes independently. These workflows are defined by a chain of recipes, a data source, and a data sink. For testing purposes, a workflow can be run once, with test data. In practice, the source is defined as an input MQTT topic, and the sink is defined as an output topic.

Architecture

As illustrated in Figure 1, the ROAM tool includes a REST-API, which exposes endpoints which are used to

  1. add, edit, and remove both recipes and workflows; and
  2. to run workflows both a single time, and continuously via MQTT subscriptions

After the workflow has been created, and the input topics have been subscribed to, the workflow will automatically run with the received input data, whenever an input is then received on a certain topic through the EFPF message bus. This data is then processed into statistics, risks and visualisations. Except for the visualisations, these are all streamed through the message bus, to notify the users about their risks, and for the users to use directly.

ROAM tool architecture Figure 1: High-level architecture of the ROAM tool

Frontend

The Risk tool also includes a frontend web-app, which has the full functionality of the REST-API, without requiring the user to make API calls. Instead, they allow the user to fill in more visually intuitive forms. In addition to this configuration UI, the frontend will also have a monitoring UI, focussing more on a managing role, rather than an engineering role. It will contain the visualisations of the risks, along with their outputs.