Engine

The VisionAppster Engine is a cross-platform runtime for running vision apps. It provides platform-independent apps a consistent, high-performance execution environment. The Engine and all running apps can be controlled using an HTTP-based RPC mechanism through a built-in web server.

Main elements

The main elements of VisionAppster Engine are:

Graph Executor
A parallel executor for image analysis applications represented as data flow graphs.
Component Database
Manages components installed from component packages (.vapkg files). Provides facilities for installing, uninstalling and querying the database. The API of the component database is published at /componentdb/ in the built-in web server. Uploaded .vapkg files are stored under /packages/.
License Database
Safely stores and updates licenses. Interacts with the platform's security mechanisms to prevent unauthorized use of installed components. The API of the license database is published at /licensedb/.
App Manager
Starts and stops installed apps and manages running processes. Its API is available at /manager/.
API Manager
Lets apps publish objects as remote or local services. Provides facilities for locating local and remote services. The APIs published by running apps are listed at /apis/.
Driver Manager
Detects attached devices such as cameras and I/O devices. Provides an interface for querying and accessing the devices. The Driver Manager itself has no public API, but found cameras are published at /cameras/.

Supported platforms

The VisionAppster Engine can be run on a wide variety of hardware platforms and operating systems. The following table lists the officially supported hardware and operating system combinations.

x86 x86-64 ARM ARM-64
Linux yes¹ yes yes yes²
Windows yes¹ yes no no
Docker no yes yes yes²
Mac OS no no³ no no
  1. Supported, but we are currently not building packages routinely.
  2. Supported, but no stable official builds available yet.
  3. Our software compiles and runs fine on Mac. Apple's SDK licensing terms however prevent compiling Mac software on other platforms. This makes it impossible for Linux and Windows developers to build native extensions for Mac. Mac support would therefore be fundamentally crippled and break our cross-platform promise.