QuickState Process Flow Engine
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.