AggreGate 5.5 Brings Machine Learning Capabilities into the Leading IoT Platform
In the new major release of our platform we're clearly targeting deeper data analytics. AggreGate already outperforms the competition in its abilities to collect, store and visualize data. As for processing and analytics, it's now more comparable to Business Intelligence software rather than other IoT platforms, and requirements of this market are unprecedentedly high. With this release, we introduce machine learning, visual workflows and other modules designed for processing big data and getting in row with the best BI platforms.
Machine Learning
One of the most mentioned concept that stands with the IoT is machine learning. It’s an instrument allowing data scientists to drill into time series streams and extremely large datasets in order to mine valuable knowledge.
Technically speaking, it uses both supervised and unsupervised learning methods to solve three major objectives:
- Value prediction
- Anomaly detection
- Classification of values or datasets
Trainable units that perform actual learning and scoring have so-called hyper parameters used by data scientists to fine-tune algorithm behavior. Combined with workflows, machine learning module is a one-stop tool for predicting failures and optimizing operation of both physical assets and business services.
There are well known algorithms under the hood of machine learning module: linear regression, support vector regression, REP decision tree, random forest, multilayer perceptron (feedforward neural network), naive bayes classifier, and many more.
Trainable units address AggreGate unified data model and therefore interact with any module, device and data source within the platform. The units can also work in incremental learning mode, getting on-the-fly model updates once new data comes in form of device or system events.
Scripting in R and Python enhances functionality of data filtering stage and the learning process itself.
Visual Workflows
Workflows are visually designed flow-based actions that combine server-side logic with operator interactions. There can be unlimited number of concurrent event-initiated threads in any workflow.
Workflows-based data processing and decision-making algorithms may be implemented by anyone who don’t have even very basic scripting and programming language knowledge. Flow blocks are just wired to each other using drag-and-drop.
Workflows are stored in XML format but compiled into Java Virtual Machine bytecode on startup, so their performance is really high comparing to interpreted languages. Visual workflow builder leverages from integrated debugger enabling step-by-step diagnosis of interactions between workflow blocks.
Steps of workflows may interact with:
- Unified data model - via reading/writing variables and calling functions
- Human operators - via executing UI procedures
This effectively gives a workflow properly authorized access to all data flowing within the platform. Workflows are lightweight and capable to run in embedded environments or IoT gateways and low cost single-board computers.
Graph Databases
Graph Databases are currently gaining a lot of interest as a modern, robust and fast-growing Database Engine of the NoSQL family. They allow for you to represent complex interactions between your data in a much more natural form, and often allow for a closer fit to the real-world data that you are working with. Being relationship-oriented, graph databases perform exceptionally well in path and structure analysis. Only a required portion of the data is processed by a graph engine whereas relational databases have to look through all the data to determine relationships.
One of the most intuitive field of appliance is Configuration Management (and CMDBs). A large IT infrastructure can be perfectly mapped to an appropriate graph structure allowing you to easily operate with Configuration Items (CIs). Gathering data for making informed decisions is flexible with graph storage. A special graph traversal language can be used to “walk through" the CIs.
Ladder Diagrams
Ladder logic is the basis of most PLC control functions. It uses switch or relay contacts to implement Boolean expressions. We’ve reinforced Process Control module by Ladder Diagrams (LD) support to complete our SoftPLC suite. LD is a graphical programming language that mimics structure of an electric circuit. Thus ladder diagrams are suitable for constructing logical switches.
Report Editor
Another considerable step forward is a move to a new report editor. Jaspersoft® Studio, the leading report development software, is now bundled with AggreGate 5.5. Being modern and popular, having a great community, the Studio rises up report template designing to a new level of usability. Dozens of visual components, powerful data processing tools like expressions and queries along with rich export capabilities allow embedding highly interactive reports and analytics into any system.
Resource Packs
AggreGate is a full-featured platform servicing as a foundation for custom turnkey solutions. Once a solution has been developed it should be rolled out to its end users. An effective way to replicate a solution is implementing a custom server plugin that incorporates specific system resources, such as alerts or dashboards. Once server loads a plugin all its resources become available for creation in a specific AggreGate Server deployment.
Resource packs represent a new tool that automates and simplifies creation of resource plugins. You set up a resource pack by referring existing system objects, tuning their categories, descriptions, versions and dependencies. That’s it. Now you can save the plugin to a file and distribute it among your end customers!
Scaling Widgets
Along with the native scaling of grid layout containers, absolute layout gets an option to be flexible. It is now possible to specify scaling policy of the absolute layout. You can choose between horizontal, vertical or two-way scaling of any absolute container and its contents.
The feature is highly demanded in the automation area where creating HMIs is traditionally performed in terms of absolute positioning. The problem of viewing HMIs on displays with different resolutions is now gone.
Statistics NoSQL Storage
Being a handy tool to aggregate and operate historical data, statistics channels has been improved to support NoSQL storage. All architectural advantages of NoSQL storage became relevant for statistical data. For example, now you don’t have to think about synchronizing statistical channel data in failover environments. All the magic will be performed by NoSQL storage cluster.
Authentication Plugins
We constantly change our platform to be more open for any kinds of integration. Authentication plugins make possible implementing custom user authentication schemes on the server side. For example, this offers an opportunity to seamlessly authenticate AggreGate operators through a user database of your corporate website.
Variable Access Performance Improvement
AggreGate works pretty well under a high load, but we always strive for more. In this release we've optimized access to context variables by boosting read performance and decreasing memory consumption. Systems with high rate of variable access operations will leverage up to 10-20x faster variable read performance.
Expression Language Extensions
New expression language functions are available:
- decode - creates a Data Table from it’s string representation
- username, login - return current user name or a user login respectively
- tableFromCSV - creates a Data Table from CSV
- fetchDataBlock - loads contents of Data Table’s lazy data fields
HTTP Server
A new way to interact with an AggreGate server is available. By using an embedded HTTP Server it is now possible to handle incoming HTTP requests and generate user-defined HTTP responses. By the power of expression language you can now create custom HTTP APIs. You just have to configure URI mapping, user permissions and use an expression to obtain request parameters and evaluate parameters of the response.
New Protocol Drivers
A few more device drivers come with AggreGate 5.5:
- Ethernet/IP - support for the AllenBradley ControlLogix or CompactLogix PLCs
- XMPP - allows subscribing and receive messages transferred by an XMPP protocol
- IEC 60870-5-104 Server - provides an ability to expose AggreGate server’s data to be available over IEC 60870-5-104 protocol