Модуль core

Модуль core предоставляет поддержку бэкендов. Модуль core предоставляет классы, необходимые для взаимодействия с бэкендом и выполнения прикладных задач.

Таблица ниже содержит описание компонентов модуля.

Компоненты модуля core

Компонент

Описание

Backend

Базовый класс для конкретных реализаций бэкендов.

BackendWrapper

Структура, реализующая обертку для базового класса Backend.

BaseData

Структура, определяющая набор базовых данных.

continuously_uid_generator

Класс, реализующий генератор уникальных идентификаторов.

MessageBus

Класс, реализующий интерфейс к шине сообщений.

MessageEndpoint

Класс, реализующий интерфейс к точке подключения к шине сообщений.

Population

Набор классов, реализующих контейнеры нейронов одной модели.

Projection

Набор классов, реализующих контейнеры синапсов одного типа.

Subscription

Набор классов, реализующих подписку на сообщения.

TagMap

Класс, реализующий интерфейс к словарю тегов.

UID

Класс, определяющий уникальные идентификаторы.

uid_hash

Класс, реализующий хеширования UID.

UUID

Класс, реализующий интерфейс к уникальному идентификатору библиотеки Boost:Uuid.

messaging

Пространство имен, содержащее интерфейсы к сообщениям.

На рисунке ниже представлена схема взаимодействия компонентов модуля.

В Kaspersky Neuromorphic Platform структура BaseData содержит базовую информацию об объекте и включает в себя UID и TagMap. Структура BaseData используется в классах Projection, Population и Backend, соответственно каждый из них обладает идентификатором UID и набором тегов и их значениями TagMap.

Классы Population и Projection принимают и отправляют сообщения, реализованные в классах пространства имен messaging. Сообщения содержат в своем заголовке UID отправителя. Обмен сообщений осуществляется с помощью функций класса Backend, в котором хранятся классы MessageBus и MessageEndpoint. Шина сообщений MessageBus создает точки подключения MessageEndpoint и взаимодействует с ними в процессе обмена сообщениями. Каждая точка подключения MessageEndpoint содержит контейнер подписок класса Subscription.

Схема взаимодействия компонентов модуля core

В этом разделе

Класс UID

Класс uid_hash

Класс UUID

Класс continuously_uid_generator

Класс TagMap

Структура BaseData

Набор классов Population

Набор классов Projection

Класс Backend

Структура BackendWrapper

Класс MessageBus

Класс MessageEndpoint

Набор классов Subscription

Пространство имен messaging

В начало