Why Time Dimension Is Vital in IoT and How a Rules Engine Can Reduce Complexity

The time dimension increases the complexity of application development for software developers that are building logic with conditional statements (rules) that need to change over time.

“Time is an observed phenomenon, by means of which human beings sense and record changes in the environment and in the universe. Time has been called an illusion, a dimension, a smooth-flowing continuum, and an expression of separation among events that occur in the same physical location.” — whatis.techtarget.com

AI and IoT, Part 3: How to Apply AI Techniques to IoT Solutions — A Smart Care Example

This is the third part of a three-part blog series. You can read the first part here and the second part here.

Introduction

In this final part of the series, I will be using the real-life example of an elderly care field trial in order to explain how we combine different AI techniques, in our case, using the Waylay platform. The DIoTTO project was developed by three partner companies (Studio Dott, Sensolus, and Waylay) and was funded through the Flanders Care Living Labs and supported by the VOKA Health Community. Studio Dott prototyped the app and was leading the overall concept; Sensolus provided sensors for the project, and Waylay worked on data mining and rules implementations.

AI and IoT, Part 2: Deep Learning and Bayesian Modeling, Building the Automation of the Future

This is the second part of a three-part blog series. You can read the first part here and the third part here.

Most toddlers can say about 20 words by the time they are 18 months old. By age two, they start combining two words to make simple sentences, such as "baby crying." As all parents are painfully aware, by the time they are three or four years old, they become extremely curious and can't stop asking questions. In Russian, they have a special word for kids of that age: Pochemuchka, from the word pochemu, which means why.

A Guide to Rules Engines for IoT: CEP Engines

What Are CEP Engines?

Although part (and predecessors) of stream processing engines, Complex Event Processing engines deal with events in a slightly different (and better) way than their bigger and younger siblings.

We see CEP engines being deployed in edge computing nowadays, where locality, low latency, and low hardware footprint are important. CEPs are a good fit whenever a low footprint is required but don’t scale well since all event processing happens in-memory.

A Guide to Rules Engines for IoT: Forward-Chaining Engines

What Is a Forward-Chaining Rules Engine?

An inference engine using forward chaining applies a set of rules and facts to deduce conclusions, searching the rules until it finds one where the IF clause is known to be true. The process of matching new or existing facts against rules is called pattern matching, which forward chaining inference engines perform through various algorithms, such as Linear, Rete, Treat, Leaps, etc.

When a condition is found to be TRUE, the engine executes the THEN clause, which results in new information being added to its dataset. In other words, the engine starts with a number of facts and applies rules to derive all possible conclusions from those facts. This is where the name "forward chaining" comes from — the fact that the inference engine starts with the data and reasons its way forward to the answer, as opposed to backward chaining, which works the other way around.

AI and IoT, Part 1: Challenges of Applying Artificial Intelligence in IoT Using Deep Learning

This is the first part of a three-part blog series. You can read the second part here and the third part here.

The Internet of Things provides us with lots of sensor data. However, the data by itself does not provide value unless we can turn it into actionable, contextualized information. Big data and data visualization techniques allow us to gain new insights through batch-processing and off-line analysis. Real-time sensor data analysis and decision-making is often done manually, but to make it scalable, it is preferable that it is automated.

Should You Use a Rules Engine to Manage Business Logic in IoT Applications?

It's not obvious to non-developers just how different computer-expressed logic is from human-expressed logic. It's one of the reasons why developers have a difficult time translating user requirements into conditional statements (rules) when designing software.

Knowing a language means being able to produce an infinite number of sentences never spoken before and to understand sentences never heard before. For us humans, it's natural to say things like Tom likes football and pancakes. For non-developers, the mental effort required to translate such statements into a computer language might not be that obvious. If we were to literally write the same statement into a computer program, it would mean (for the machine) that Tom is happy only when watching football while eating pancakes.