QuickState Process Flow Engine

Overview

 

Quickstate is a lightweight framework for business process flow control, or automation. It is aimed at applications, primarily in the financial domain, which often involve the processing of a high volume stream of events or messages that relate to a small number of entities.

 

A typical scenario is in capital markets order driven markets, where one counterparty sends a buy or sell order to an electronic market. If this is matched with an opposite sell or buy order then a trade execution occurs.

 

The buy order request, sell order request and execution are all events that relate to a trade. There is a well-known process that involves moving the trade object through a flow of states, each state change being triggered by a financial event or message.

 

This flow can be quite complex but requires only a simple framework to capture it in software. The emphasis is always on performance – throughput and latency are always of concern in these financial scenarios.

 

Quickstate aims to provide such a simple framework. It can be ‘generated’ easily from some standard UML models that can be agreed with business users (although it does not include code generators – these are often fairly unnecessary once the true nature of the business problem is understood.

 

Quickstate is based on the idea of Harel state charts – it provides a software execution of states, state changes, events and guards.

 

It is driven by a very simple configuration file, requires in itself no generated code, and relies on Java coded classes for simple events.

 

The idea is that if the analogy between analysis model – the UML model – and the code is close enough then the creation of the code is trivial. It only remains to test and validate it.

 

Dickon Field