Zenodys Platform (Zenodys Technology pt.2)

A development tool and an environment that enables digital assets to be created with a simple visual approach

Zenodys
7 min readAug 6, 2018

This is the second in series of articles about Zenodys platform. Please refer to Zenodys System for basic architecture overview.

Zenodys Platform contains

  1. Zenodys Framework that offers tools for collecting and building digital assets and
  2. Zenodys Runtime that provides a secure environment for executing digital assets on target machines. These target machines can be any Windows or Linux distribution based computer depending on the project requirements.

For example, in a Big Data project, a PC or virtual machine with higher amount of memory is needed. On the other hand, communication with sensors or devices consumers less memory but requires an embedded board with digital or analog IO’s.

Target machines can be easily paired in a network. For example, gathering data can be done on the field and sent to servers for processing.

The central mission of the Zenodys Platform is to bring various complex technologies and services together and level them to a simple, unified user interface that is not only simple to understand, but empowers people without IT knowledge to build useful solutions.

It is a development environment where developers or others deliver building blocks in terms of microservices or UIs and anyone can wire these building blocks together via drag and drop.

Imagine if you are able to gather data from various devices, structure the data into usable form, apply deep learning algorithms and then visualise that data. This is a fragment of what Zenodys Platform can do, all without programming, with a simple drag and drop interface.

Platform is easy to use and understand where everyone (or a group) can use to build and customise the unique software solutions way faster than they are used with classic principles or tools. It uses so called “stand on the shoulder of the giants” principle, where users can find what it was already developed, find quality pieces that fit their needs use them for their own needs.

The next step is to use smart contracts to track all these pieces that are wired into new value chains, so everyone can get proper reward or recognition for being part of the end solution.

Framework

Elements

In simple terms, the elements are building blocks (imagine Lego bricks) of the platform. They come in the form of microservices that follow some standard platform rules and can are imported and visualised in the framework. Elements are in most cases are pre-prepared by developers.

In Zenodys framework these elements can be wired together in any form and are run by the orchestrator (Zenodys Computing Engine).

In broad definitions there are four basic element types:

Connectors: elements, that provide asset digitalization resources, software connectivity and data collection for practically anything: IoT and legacy devices, applications, services and APIs, algorithms, databases…

Processing elements: provide real time processing or operations of practically anything: data processing, AI, deep learning, big data analytics, smart contracts…

Coding elements: enable developers to write code directly into the system, so they can extend any functionality on the fly. Currently we support C#, JS, Python and R to be executed directly in the system.

Business workflow elements: enable describing the business logic that can be then simply turned into functional elements.

It’s important to understand that these elements are highly flexible. These can be pre-prepared elements, imported by users or can be simply dynamic elements that users purchase (or gets for free) on the digital assets marketplace. Each element is then automatically shown, under the terms, in the Workflow or UI builder.

Examples of Elements

Elements

Development Tools

Development Tools are parts of browser based IDE (Integrated Development Environment) that allows users to create applications by simply dragging and dropping visual blocks.

IDE consist of:

● Workflow Builder: visual editor where application backend is built.

● UI Builder: visual editor where frontend is built (optional, for projects where UI is required)

Workflow Builder

Workflow Builder is a powerful tool, that enables wiring elements together in order to build any kind of application backends or dApps. The powerful browser based drag-and-drop interface makes it simple to create data management scenarios and to apply complex operations like AI, machine learning, demand response,predictive maintenance…

In practice this means that the user simply drags an element that does a certain task to a canvas, sets the properties if needed and wires it with other elements.

The workflow is executed in the computing engine developed by Zenodys and stored locally, remotely or in decentralised system. The possibilities are limitless: communicate with hardware, analyse Big Data, train artificially intelligent bots and so much more.

Templates

Elements connected into application logic are in the Workflow Builder represented as a project or Template.

A Template is elementary unit that can be deployed to computer or device. It contains visual scripts where application logic is defined (wired Elements) and all needed dependencies to successfully execute the application.

Templates are Turing complete and single standalone packages that greatly simplify distribution and execution on nodes in Zenodys network.

Views

Workflow Builder can contain many independent pages with wired Elements that are parts of same Template. In Zenodys platform these pages are called Views and there are three main reasons for breaking down Template into Views:

● Template development is more manageable and modular

● Many users can work on the same Template and share views with one another with read or write permissions

● When deploying a Template to an edge device, users can select which Views are going to be deployed. Unfinished or testing Views can be omitted.

UI Builder

UI Builder is a powerful tool that enables users to build custom user interfaces directly inside ecosystem. The widget based system allows the user to takes any data source and drag and drop it to a widget that enables visualisation, reporting, action triggerings or other business and application functionalities.

Our application platform makes it easy to build business intelligence dashboards, without the need for programming. The powerful drag-and-drop interface makes it super simple to quickly build business intelligence apps and dApps, and distribute them amongst your team on a wide decentralized application network.

UI Builder enables users to build their own widgets or components that are then deployable and reusable for different cases.

Other features:

Visual debugger: it makes it simple to visualise where problems are occurring within the workflow so users can perform in depth debugging exercises — all visually. It’s capable of running a complex step by step evaluations. For example, if connected sensor or device is producing large amounts of data, then data is buffered and values can be step by step examined. Along with values also workflow proceedings are shown.

Cooperation tool: users can cooperate on projects. Such an approach gives a great base for shared monetization projects, where automated monetization consensus can be simply reached.

Computing engine management: every project runs on sole or distributed node engine. Users can always track which nodes are included in the projects and their status.

Template deployer: one-click Template deployment on remote devices.

Runtime

The runtime system of the Zenodys executes a set of visual and system

instructions.

Among other things, system instructions handle:

● Safe parallel (multi-threaded) executions

● Standardized interprocess communication between microservices

● Remote operations on device (reboots, debugging, deployments…)

● Debugging tasks (prepares stack of current values, reports errors and crash reasons..)

Visual instructions contains application logic and metadata about needed application dependencies.

Computing Engine

Zenodys computing engine powers the microservices and workflows developed in the Workflow and UI builder. The computing engine is written in low-level C code. Processing millions of data points per seconds (MIPS) it provides unmatched performance and portability.

It can run on Windows, Linux, microchips, devices, mobile phones, appliances, clouds and distributed networks. We are also porting it to OS-less systems — e.g. tiny chips, things, devices, sensors, etc.

Our computing engine offers unlimited opportunities to run and embed workflows directly into hardware, services and applications. This ensures a completely distributed P2P application and network that does not need any central instance.

Computing engine is also a backbone for Zenodys node system, decentralized network and Zenodys protocol.

Currently there are two Computing Engine implementations:

● .NET Framework that supports elements written in .NET Framework and it’s Mono compatible.

● High performant unmanaged C that supports elements written in C/C++ and .Net Core Framework elements

The following series of articles will give an overview about Zenodys Network.

--

--