Модуль core предоставляет поддержку бэкендов. Модуль core предоставляет классы, необходимые для взаимодействия с бэкендом и выполнения прикладных задач.
Таблица ниже содержит описание компонентов модуля.
Компоненты модуля core
Компонент |
Описание |
|---|---|
Базовый класс для конкретных реализаций бэкендов. |
|
Структура, реализующая обертку для базового класса Backend. |
|
Структура, определяющая набор базовых данных. |
|
Класс, реализующий генератор уникальных идентификаторов. |
|
Класс, реализующий интерфейс к шине сообщений. |
|
Класс, реализующий интерфейс к точке подключения к шине сообщений. |
|
Набор классов, реализующих контейнеры нейронов одной модели. |
|
Набор классов, реализующих контейнеры синапсов одного типа. |
|
Набор классов, реализующих подписку на сообщения. |
|
Класс, реализующий интерфейс к словарю тегов. |
|
Класс, определяющий уникальные идентификаторы. |
|
Класс, реализующий хеширования UID. |
|
Класс, реализующий интерфейс к уникальному идентификатору библиотеки Boost:Uuid. |
|
Пространство имен, содержащее интерфейсы к сообщениям. |
На рисунке ниже представлена схема взаимодействия компонентов модуля.
В Kaspersky Neuromorphic Platform структура BaseData содержит базовую информацию об объекте и включает в себя UID и TagMap. Структура BaseData используется в классах Projection, Population и Backend, соответственно каждый из них обладает идентификатором UID и набором тегов и их значениями TagMap.
Классы Population и Projection принимают и отправляют сообщения, реализованные в классах пространства имен messaging. Сообщения содержат в своем заголовке UID отправителя. Обмен сообщений осуществляется с помощью функций класса Backend, в котором хранятся классы MessageBus и MessageEndpoint. Шина сообщений MessageBus создает точки подключения MessageEndpoint и взаимодействует с ними в процессе обмена сообщениями. Каждая точка подключения MessageEndpoint содержит контейнер подписок класса Subscription.

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