KBMax Blog

KBMax Snap Rule Engine - The Fibonacci Sequence

Posted by Thomas Plocher on 12/20/16 7:26 PM
Find me on:
In an earlier post, when I introduced our Snap rule engine, I mentioned that Snap is Turing* complete, which means it can build any advanced algorithm. Here is a depiction of how powerful our technology is. It was designed with customers in mind, the need for configuring even the most complex products with ease and to help drive adoption for new technologies.
Below, we are showing a function that calculates the Fibonacci sequence to a given number of places. Our web and touch enabled visual rule language is intuitive, which people of all skill levels can manage. In contrast, the code sequence on the right is written in the C programming language, which requires a deep understanding of computer programming. Many of our competitors provide similar (to C) rather cryptic programming forcing customers to make large investments in either learning how to program or hiring the required skill set.
Some of the included features of Snap are the visual cues to reduce errors, and the real-time validations that show exactly what is wrong when writing the rules. Clicking on the validation error takes the user straight to the problem area and presents a way to resolve it. Debugging and validating rules has become much easier and faster.
The language consists of individual blocks which you can drag out of a toolbox and connect to other blocks to create complex expressions and operations. Each place where Snap is used includes blocks that are contextual to the purpose of the rule. For instance, a configurator workspace will include blocks specific to the configurator you are modifying, while a workflow workspace includes blocks to specify states the quote can be in, as well as permissions and other workflow-related operations and settings.
*A computer is Turing complete if it can solve any problem that a Turing machine (a system of rules, states and transitions) can, given an appropriate algorithm the necessary time and memory. When applied to a programming language this phrase means that it can fully exploit the capabilities of a Turing complete computer.

Topics: CPQ