core library

The core library provides support for backends. The core library provides the classes required for interacting with backends and performing application tasks.

The table below contains descriptions of the library components.

The core library components

Component

Description

Backend

Base class for specific backend implementations.

BaseData

Structure defining a set of base data.

continuously_uid_generator

Class implementing a generator of unique IDs.

Device

Base class of devices.

MessageBus

Class implementing an interface for the message bus.

MessageEndpoint

Class implementing an interface for the message bus endpoint.

Population

Template class that implements the container of neurons of the same model.

Projection

Template class that implements the container of synapses of the same type.

Subscription

Class implementing the message subscription.

TagMap

Class implementing an interface for the tag dictionary.

UID

Class defining unique identifiers.

uid_hash

Function implementing hashing of UIDs.

messaging

Namespace that contains message interfaces.

tags

A namespace that contains the names and value types of known tags.

The figure below shows how the library components interact.

In the Kaspersky Neuromorphic Platform, the BaseData structure contains basic information about an object and includes UID and TagMap. The BaseData structure is used in the following classes: Projection, Population, and Backend. Therefore, each of them has a UID and a set of tags with the TagMap values.

The Population and Projection classes receive and send messages that are implemented in the classes of the messaging namespace. Messages contain the sender's UID in the header.

The Backend class contains the Device and MessageBus classes. The MessageBus creates MessageEndpoint and interacts with them by exchanging messages. Each MessageEndpoint has a container of the Subscription class.

Diagram of interactions between components in the core library

In this section

UID class

uid_hash function

continuously_uid_generator class

TagMap class

BaseData structure

Population class

Projection class

Backend class

Device class

MessageBus class

MessageEndpoint class

Subscription class

tags namespace

messaging namespace

Page top