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.