Firing up rules engines to drive digital twin development

Rules engines and the rules-based formulation of analytics logic can prove useful for IoT digital twin application development, especially in scenarios where data analysts lack object-oriented programming experience. Given the wider trend to short-cut via low-code & no-code, what accelerators should we think about using next?

software development / application testing / planning / flow chart / diagram
SPainter VFX / Getty Images

Technology is being augmented with a lot of shortcuts. You might argue that it's about time too i.e. surely we have built enough applications and data services by now to be able to circumvent some of the core building blocks needed for any new piece of technology.

It's true, nobody building a sophisticated financial markets analysis application should have to hard-code the basic calculator or currency exchange function. There are elements of functionality that should be able to be brought forwards from the breadth of a platform, as a plug-in, through an Application Programming Interface (API) or via some other form of web service and so on.

Although the above truism holds water, there are other factors at play here.

The current renaissance in Artificial Intelligence (AI) and Machine Learning (ML) has enabled a huge amount of autonomous computing to happen, where bots and extended types of Robotic Process Automation (RPA) shoulder the repeatable drudgery of tasks that we know computers get a kick out of. So, yet more short-cuts there.

Then there's the popularization of low-code and no-code tools. With low-code tools for programmers to use, there's clearly a shortcut process happening. With no-code drag-and-drop 'application programming' tools for businesspeople to use, the shortcut is the chance to bypass the requirements gathering process (and all the software lifecycle stages that follow) and allow users themselves to dip their toes in the water.

But as widely as RPA, AI, ML and low/no-code has been discussed, the (arguably quite closely associated) role of rules engines for programmers and business rules engines for businesspeople has failed to garner quite as much interest.

Technology is being augmented with a lot of shortcuts. You might argue that it's about time too i.e. surely we have built enough applications and data services by now to be able to circumvent some of the core building blocks needed for any new piece of technology.

It's true, nobody building a sophisticated financial markets analysis application should have to hard-code the basic calculator or currency exchange function. There are elements of functionality that should be able to be brought forwards from the breadth of a platform, as a plug-in, through an Application Programming Interface (API) or via some other form of web service and so on.

Although the above truism holds water, there are other factors at play here.

The current renaissance in Artificial Intelligence (AI) and Machine Learning (ML) has enabled a huge amount of autonomous computing to happen, where bots and extended types of Robotic Process Automation (RPA) shoulder the repeatable drudgery of tasks that we know computers get a kick out of. So, yet more short-cuts there.

Then there's the popularization of low-code and no-code tools. With low-code tools for programmers to use, there's clearly a shortcut process happening. With no-code drag-and-drop 'application programming' tools for businesspeople to use, the shortcut is the chance to bypass the requirements gathering process (and all the software lifecycle stages that follow) and allow users themselves to dip their toes in the water.

But as widely as RPA, AI, ML and low/no-code has been discussed, the (arguably quite closely associated) role of rules engines for programmers and business rules engines for businesspeople has failed to garner quite as much interest.

What is a rules engine?

At the non-technical end of the spectrum, a business rules engine is used by a businessperson to change the order of functions in a Business Process Management (BPM) system. Offering flexibility within the confines of the logic laid down by the BPM itself, changes to business rules can be made without programmer involvement, unless the businessperson's change requests create a conflict, at which point a flag is raised before any further action can occur.

A business rules engine can be used inside a higher-level workflow engine, but that's another task-based automation story in and of itself.

At the software development end of the spectrum, a rules engine (sometimes known as a semantic reasoner) allows developers to describe an application function, data analytics call or other operation as a list of logical rules, instead of requiring code to be written in a more complex programming language. Because of their simplicity, rules engines are widely used in applications where specialized programming techniques are not required.

To clarify the above descriptor, Charlie Anderson comments in his capacity as lead architect at Bristol-UK based Unai, a technology consultancy providing software engineering and data science to organisations driving positive change.

"In our experience, a rules engine can allow developers to quickly implement business logic without having to worry about all the 'plumbing code' or wider software engineering and architecture concerns, rather than completely removing the need for code to be written in a more complex programming language. Rules engines used by engineers normally use the same programming languages as normal software development, it's a question of where you come to them in your workflow," said Anderson.

Short-cut to scaled-out software

So we're accumulating a lot of short-cut tools, templates and taxonomies to allow us to engineer software more rapidly and more flexibly, both of which are core accelerating factors if we are going to take things web-scale and be able to scale-out systems that prove to enjoy massive user uptake.

Aiming to be seen as a company with an appreciation for nominative determinism, ScaleOut Software's latest tool aims to help scale-out software projects serving digital twins in the Internet of Things (IoT).

The very sensibly named ScaleOut Rules Engine Development Tool, provides features for building and testing rules engine-based models. Used with its ScaleOut Digital Twin Streaming Service, developers can build real-time digital twin models with an ability to immediately analyze data in motion from individual data sources in milliseconds and make immediate use of dynamic context for each data source.

According to the company's own take on rules-based formulation of analytics logic, this technique can prove useful for digital twin application development in scenarios where data analysts lack object-oriented programming experience.

"Rules-based algorithms have been widely adopted over the years and proven to provide a straightforward technique for expressing business logic in numerous applications and expert systems. In their simplest form, rules are expressed as 'IF condition THEN action' statements which are executed sequentially by a rules engine," notes the company, in a January 2021 technical blog post.

IF, THEN… and DO

ScaleOut further notes that other rules, which just perform actions, such as calculations or message sending, can be expressed with 'DO action' statements. These rules replace programming code with simple, highly readable statements that can be used in many applications where more complex logic is not required.

"We are excited to further simplify the development of real-time streaming analytics applications with support for rules-based digital twin models," said Dr. William Bain, ScaleOut Software CEO and founder. "With the introduction of the ScaleOut Digital Twin Streaming Service, we created a breakthrough for applications that need to simultaneously track thousands of data sources. Now, the integration of an easy-to-use rules engine adds new features that make application development easier than ever."

Using this tool in particular, application developers can build rules-based digital twin models using the ScaleOut Rules Engine Development Tool, which runs on a Windows workstation. This tool provides a Graphical User Interface (GUI) and complete capabilities for defining rules and then validating them by testing their step-by-step execution within the tool.

Because the ScaleOut Digital Twin Streaming Service integrates a rules engine into its execution environment, users need only develop rules-based digital twin models and then deploy them to the service. The rules engine automatically activates the models to process incoming messages.

Everybody, start your (rules) engines

As we stand in 2021 then, it is thankfully no longer a case of 'Gentlemen, start your engines!' - that rallying call for a motorcar race to begin, thought to have been started in 1953 at the Indianapolis 500.

Beyond any outdated notions of gender bias, we're now able to call upon programmers, data analysts, data scientists, operations engineers and even businesspeople to start their rules engines and help drive the onward development of software innovation and usage.

Still… don't forget to check your oil and keep your eyes on the road ahead.