sequenceDiagram
autonumber
participant Core as 🧠 Core Orchestrator
participant Config as 🎛️ Dynamic Config (RAM)
Core->>Config: initialize_base_matrices(registry_id)
activate Config
Note over Config: Чтение статических YAML/JSON констант
Config->>Config: Аллокация базовой матрицы D_matrix в RAM
Config->>Config: Фиксация дефолтных delta_h и negative_event_rate
Note over Config: Конфигурационный слой эталона сформирован
Config-->>Core: Сессия готова к запуску циклов
deactivate Config
Метод initialize_base_matrices()
Dynamic Config Microservice: Первичная загрузка конфигурационных матриц и базовых весов сессии
1. Функциональное назначение
Метод initialize_base_matrices относится к административно-инициализационному контуру симулятора (Фаза 0: Однократная инициализация сессии). Он выполняется строго один раз до запуска высокочастотного внутрисуточного цикла. Метод предназначен для загрузки исходных конфигурационных матриц, дефолтных порогов рисков и базовых весов (Seeds) для всех микросервисов симулятора. Это гарантирует, что система стартует из эталонного, контролируемого состояния Master Data.
2. Логика инициализации и предотвращения коллизий
Метод вычитывает глобальные параметры симуляционной сессии из статического конфигурационного файла (или переменных окружения) и осуществляет их аллокацию в оперативной памяти. На данном этапе фиксируются базовые константы, которые в рантайме будут подвергаться рекурсивным изменениям:
- Стартовое значение шага эскалации стресс-факторов \(\Delta h\).
- Исходный глобальный коэффициент рисков
negative_event_rate. - Эталонная матрица деградации приверженности \(\mathbf{D}_{\text{matrix}}\).
Благодаря атомарной загрузке на Фазе 0, симулятор полностью защищен от рассинхронизации конфигурационных параметров между изолированными RAM-слоями во время параллельного выполнения тактов времени.
3. Спецификация метода (ИТ-контракт)
- Тип вызова: Синхронный, блокирующий (вызывается оркестратором на Фазе 0).
- Исполнитель:
Dynamic Config Microservice.
3.1. Входные параметры (Аргументы вызова)
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
registry_id |
UUIDv4 | Да | Уникальный идентификатор текущей симуляционной сессии. |
base_config |
Dict/JSON | Нет | Переопределение базовых констант симуляции (если требуется кастомный профиль стресс-теста). |
3.2. Выходные данные (Возвращаемое значение)
void— метод сохраняет начальное состояние матриц во внутренние защищенные свойства сервиса в оперативной памяти хост-машины.
4. Схема инициализации конфигурационного слоя (Mermaid)
5. Программная реализация метода на Python
from uuid import UUID
class DynamicConfigInitializer:
def __init__(self):
# Внутренние защищенные свойства рантайм-конфигурации
self.registry_id = None
self.delta_h = 0.5
self.negative_event_rate = 0.05
self.is_initialized = False
def initialize_base_matrices(self, registry_id: UUID, base_config: dict = None) -> None:
"""
Выполняет первичную аллокацию базовых конфигурационных
матриц и системных параметров мутации в памяти хост-машины.
"""
if self.is_initialized:
return # Защита от повторной инициализации внутри активной сессии
self.registry_id = registry_id
# Если передан кастомный профиль — переопределяем базовые константы
if base_config:
self.delta_h = base_config.get("delta_h", 0.5)
self.negative_event_rate = base_config.get("negative_event_rate", 0.05)
self.is_initialized = True
print(f"[Dynamic Config] Базовые матрицы сессии {self.registry_id} успешно аллоцированы в RAM.")