A long time ago I came across a company called Erudine and blogged about the Erudine Behaviour Engine. At that time, Erudine came out of the defence, aerospace and nuclear power industries where the slightest mistake can lead to disaster. Today, Erudine’s more recent focus has been in the banking, financial services and investment sectors. And after a repurchase and being taken over by a group of angel investors, the company is now offering technology expertise and solutions to clients like Barclays, Deutsche Bank, Credit Suisse, Multrees, Platform Securities Limited and others.
Working in areas such as regulatory compliance and operational augmentation, Erudine aims to give customers certainty and transparency about their business operations, behaviour patterns and decision making to ensure that they can accurately assess the health of their business and make evidence-based changes as and when required.
The basic solution architecture is one in which data sources as well as policies and procedures are modeled in support of a managed set of business decisions. These can be connected to active operational systems to support a discover, iterate, resolve, expose and trace lifecycle. The environment supports users in visually designing a goal/constraint driven model that creates a documented or an executable specification of the decision-made or to be made. What they call “evidence-driven prototyping” can be used to evolve these specifications and deliver a functioning data and requirement-driven system.
The core authoring environment is a java based desktop application connected to a repository, that allows sharing, re-use and collaboration with sets of specifications. Each specification itself can be used as documentation or to specify an executable model deployed using standard Java technology stack either standalone or as a service.
The environment lets users begin by importing or writing requirements documents to which the rest of the specification can be linked and against which progress can be managed – checking off requirements as they are implemented in the model. Users can define links to pull in data from data sources in any format including but not limited to spreadsheets, SQL queries, XML files, etc.
They can then lay out models that link various decisions together with enrichment and data access activities. The model can have steps, each with different elements. Models are built using drag and drop elements such as parallel paths, subgraphs, decision trees, links to other models etc. At the leaf level these models contain the decision logic specified for execution.
Users can iterate through the knowledge model gradually adding more detail. At each stage the model can be validated by running data through the model and inspecting a detailed and machine-readable trace of the logic. This is a powerful approach that only a couple of vendors have shown me (Erudine, Sparkling Logic). Users can drill into the model’s structure and see how it was executed against a specific record. If the result is incorrect the user can correct it and the engine will then ask for clarification to make the author explain the exception. These exceptions get added to the decision tree that visualizes the rules behind the scenes. As different records are highlighted the user can see how the logic flowed for that particular record, allowing them to work through a set of data gradually enhancing the logic until it handles every case giving assurance of completeness in the decision making process. The final result can then be validated with a larger dataset. This supports a highly iterative, evidence-based approach that is very transparent and gradually develops a solution that handles even the most extreme exceptions.
For more information on Erudine check out these videos – Video 1 focuses on the Basics of Erudine and video 2 shows how their supervised learning and pattern-matching algorithm links requirements to the proof supporting each requirement and that each requirement has been met.