Модуль core
Модуль 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
