Bitreactive is offering IoT developers a framework to implement Edge Analytics solutions with unprecedented productivity and flexibility.
Optimising Asset Use
The Internet of Things (IoT) is growing at a fast pace and where we have all seen a wearable device (thing) or wall thermostat connected to the internet, there is a whole other world of high value IoT applications spanning many industries.
Especially in the Industrial IoT (IIoT), there is a huge potential value in optimising use of machines or other assets. Improved monitoring and preventive measures can reduce machine downtime. The simplest of examples is the coca cola vending machine that phones home to call for a service engineer to come stock it up on sodas.
When we think about high capital assets like wind turbines, advanced welding robots or even jet engines, it’s easy to understand how the owner can benefit greatly from an increase in productive time of his assets.
Let us take a step back now. What I have described above is all great once it is put into place. With it, analytics experts can build models, IT staff can deploy models to the edge of the network and maintenance engineers or other technical staff can get notified to act quickly and prevent problems before they even arise.
But how do you go about actually implementing the software that feeds data into the analytic model and knows how to act on an anomaly? Something still needs to know how to get data off a machine, how to read data from a sensor using some unfamiliar communication protocol. When the network connection is lost, data needs to be buffered and resent after the connection is reestablished. And perhaps even most important, the software running at the edge needs to have an understanding of the asset’s potential states and control functions. Without an understanding of the asset’s state (e.g. starting up, normal operating mode, in maintenance mode) you would not know when to analyse or discard incoming sensor data.
And in case a potential serious problem is detected by the analytic model, the system needs to understand how to control the asset, e.g. cleanly bring it to a halt. You would not want to just switch off the elevator if there are still 10 people inside and it is still half-way in between the 3rd and 4th floor. Similarly, stopping a wind turbine or assembly line is not something you do by flipping a single digital switch at a random point in time.
Inter Disciplinary Collaboration Required
If you are an IoT developer, it is likely you are developing IoT solutions that run in the cloud or on a backend server. You are probably not an embedded expert nor have the ambition to become one.
Still, you would be tasked with implementing low level communications protocols for a multitude of sensors, data buffering, network reconnections, that sort of thing. You probably need to work with the data scientists working on analytic models for your solution. In addition, you probably need to work with domain experts from the operation technology (OT) who understand what may indicate an upcoming failure and how to control or shut down the asset.
And then common sense says you want to start your IoT solution by predicting the most common, most expensive problems. And only once that is fully operational you’ll build out from there, sitting down again with the same team to add more sensors, new models or new asset control functionality.
Building Edge Analytics solutions is an inter-disciplinary project needing experts from different fields working together and understanding each other. They need a way of building IoT solutions in a modular and flexible way and have the ability to discuss application functionality and asset behaviour.
The Reactive Blocks software development tool and IoT libraries from Bitreactive have been built with improving developer productivity and ease of collaboration in mind. Applications are designed visually, leveraging libraries of ready-to-use components that implement low level functionality (e.g. communication protocols, cloud handlers etc). Patented technology checks applications for correctness to ensure reliability of software and minimise the risk of bugs. This reduces chances of human errors being introduced in applications which can affect or even halt assets unintentionally.
With Reactive Blocks, applications are designed around visual ‘blocks’ performing tasks based on events that happen in the outside world. Because blocks are associated with their own ‘state machines’, they are a very efficient way of modelling the stateful behaviour of physical assets like a turbine, an assembly line or an elevator. The block based programming also provides a simple way of managing multiple assets yet requiring them to only be modelled once.
Due to the visual nature of the application it becomes possible for the OT engineer to understand how the application will react to events in the physical world. And because of the modular nature of blocks, these can be reused in future projects.
Embedded or Edge Analytics Solutions
A handful of vendors offer analytics engines that can run on IoT gateways. They generally allow you to stream and filter data from sensors and legacy systems, mine the raw data for interesting events, aggregate data into time series for trend analysis, or store for further analysis by Big Data analytics solutions.
Analytics engines are programmed to perform near real-time data analyses using sophisticated but easy to build rules. Rules may often be changed, added or deleted dynamically without interrupting system operations.
Putting It All Together
Bitreactive has developed a proposal for an Edge Analytics platform capable of importing and running analytic models that were created based on machine learning from historical data. It can run on inexpensive IoT gateways or embedded controllers that can host a Java VM. It’s designed in a way to be compatible with leading commercial edge analytics solutions.
Bitreactive’s Reactive Blocks is leveraged in the solution development phase to make it fast and easy to build the necessary connections from the gateway to the sensors, machine controller, backend servers and cloud services. It is also used to model the behaviour and interdependency of the connected assets to be able to control them in a reliable way. By integrating an analytics engine into the purpose built application, the application can adapt to newly obtained analytic models on the fly.
Leveraging the Java based OSGi modularity framework, it becomes easy to update parts of the application. E.g., when a sensor needs replacement with a version of a different make, the corresponding software module in the gateway application can be swapped without having to update the whole application.
The analytics platform comes into action really after the solution specific application is deployed onto the gateway. It will import machine learning analytic models or receive custom hand-written Complex Event Processing (CEP) rules that are applied against the data streams it is receiving. Once an anomaly in the data or any other situation of interest is detected, it will fire off messages to the Reactive Blocks application. In turn, the application will decide to send out notifications to humans, forward data into a backend or cloud service, or send control commands to the asset.
In figure 1 a typical functional architecture is shown for a predictive maintenance application to collect and analyse the health of an industrial system. Based on machine learning, analytic models are built and imported to run against the streaming sensor data. Actions can be taken in (soft) real-time and completely independent from network availability to connect to a cloud or backend system.
This solution becomes very flexible in its ability to adapt to changes in the physical world, adapt to evolving requirements and expanding functionality accordingly.