Extensibility API

Overview

The extensibility API allows third-party developers to extend the capabilities of the Selene. The framework has support for a C-based Foreign Function Interface (FFI) to call functions from a third-party package with rust. The choice of rust provides an efficient and safe language that can be used for emulation of Guppy programs.

To enable development of third-party plugins, multiple headers files are provided. Developers can build plugins for the Runtime, the Error Model and also the Simulator. Each *.h file details abstract functions required by each type of plugin:

Example Plugins

Demonstrations of the Selene Extensibility API are available at: